Commit graph

1628 commits

Author SHA1 Message Date
Andras Bacsai
981b670eb4 feat(services): show template update timestamps 2026-06-04 09:34:11 +02:00
Andras Bacsai
acc929a7b0
feat(ui): add search functionality for environment variables (#10421) 2026-06-03 13:48:03 +02:00
Andras Bacsai
1802522c60 fix(env-vars): treat search wildcards literally
Escape SQL LIKE wildcard characters in environment variable searches and hide production or preview sections when the filtered results are empty.
2026-06-03 13:43:26 +02:00
Andras Bacsai
d7524a743d fix(env-vars): show single empty state for searches
Move the environment variable search field above the production section
and hide production and preview headings when a search has no results.
2026-06-03 12:54:50 +02:00
Andras Bacsai
d300ddf902 Merge remote-tracking branch 'origin/next' into feat/search-to-envs 2026-06-03 12:47:37 +02:00
Andras Bacsai
cb6a2de529 chore(logs): simplify log viewer XSS tests 2026-06-03 12:28:56 +02:00
Andras Bacsai
74130cbc61 Merge remote-tracking branch 'origin/next' into fix/escape-html-log 2026-06-03 12:28:17 +02:00
Andras Bacsai
88b04bb920 Merge remote-tracking branch 'origin/next' into fix/escape-html-log 2026-06-03 11:43:18 +02:00
Andras Bacsai
d525c12457 fix(env): keep dev view env saves independent of search
Search environment variables case-insensitively by key, add accessible search
labeling, and ensure switching to developer view after searching loads the full
variable set so non-matching entries are not removed on save.
2026-06-03 11:40:54 +02:00
Andras Bacsai
ad4a21d15f Merge remote-tracking branch 'origin/next' into feat/search-to-envs 2026-06-03 11:40:38 +02:00
Andras Bacsai
d742b4a678 Merge remote-tracking branch 'origin/next' into fix/clipboard-https-secure-context
# Conflicts:
#	resources/views/livewire/project/application/deployment/show.blade.php
2026-06-03 11:38:47 +02:00
Andras Bacsai
c0c8fd7f11 Merge remote-tracking branch 'origin/next' into jean/sentinel-ux 2026-06-03 11:10:19 +02:00
Andras Bacsai
aaa540421f feat(application): preserve crash restart limit status
Stop applications after they hit the crash restart limit without clearing
restart tracking, surface the stopped-limit warning in status UI, and use
the application link in restart limit notifications.
2026-06-03 11:01:28 +02:00
Andras Bacsai
2d2634f87b Merge remote-tracking branch 'origin/next' into jean/sentinel-ux 2026-06-03 10:57:36 +02:00
Andras Bacsai
d581abb284 Merge remote-tracking branch 'origin/next' into jean/add-restart-loop-limit 2026-06-03 10:43:57 +02:00
Andras Bacsai
07f381b88c Merge remote-tracking branch 'origin/next' into jean/port-exposes-improvement 2026-06-03 10:32:57 +02:00
Andras Bacsai
be6ed4377d
feat(ui): add resource details view (#9756) 2026-06-03 10:21:15 +02:00
Andras Bacsai
15a79d3847
fix(logs): use server timezone in deployment and container logs (#10165) 2026-06-03 10:20:14 +02:00
Andras Bacsai
63be45b21b
fix(ui): configuration changes modal doesn't go away after redeployment for git based compose apps (#10461) 2026-06-03 10:19:03 +02:00
Andras Bacsai
a8db2864f3 Merge remote-tracking branch 'origin/next' into mobile-terminal-toolbar-controls 2026-06-01 10:15:23 +02:00
Andras Bacsai
ec367549b4 feat(terminal): add mobile shell controls
Add a compact mobile toolbar for fullscreen terminal control keys and adjust terminal sizing so the toolbar does not cover rows.
2026-06-01 10:13:56 +02:00
Andras Bacsai
3db41a83a8 Merge remote-tracking branch 'origin/next' into terminal-long-session-disconnects 2026-06-01 09:52:34 +02:00
Andras Bacsai
53f24df0a0 fix(terminal): enforce eight hour session expiry
Add a visible countdown in the terminal UI and terminate realtime PTY
sessions after the fixed maximum lifetime.
2026-06-01 09:45:56 +02:00
Andras Bacsai
51062e73a6 fix(database): honor disabled standalone health checks
Skip Docker healthcheck configuration when standalone database health checks are disabled, and document default health check settings in the database API schema.
2026-06-01 08:55:03 +02:00
Andras Bacsai
5b0be9798e chore(database): rename health checks route to healthcheck 2026-06-01 06:55:30 +02:00
Andras Bacsai
b46d8e2601 fix(terminal): keep sessions alive without hard timeouts 2026-05-31 21:52:46 +02:00
Andras Bacsai
d423223d38 feat(database): configure standalone health checks
Add configurable health check settings for standalone databases and apply them to generated Docker Compose services. Allow disabling health checks and cover the behavior with feature tests.
2026-05-31 21:50:10 +02:00
ShadowArcanist
84eb9d31bb
feat(ui): improve configuration changes modal 2026-05-30 13:16:37 +05:30
Andras Bacsai
38e855b20e
fix(webhook): skip preview deployments for fork PRs (#10457) 2026-05-29 20:43:29 +02:00
ShadowArcanist
ab4b2045d4
fix(webhook): skip preview deployments for fork PRs when public previews are off 2026-05-29 23:53:51 +05:30
Andras Bacsai
5abc01882e Merge remote-tracking branch 'origin/next' into fix/form-state 2026-05-29 12:22:37 +02:00
Andras Bacsai
6cd05fb559 fix(webhooks): point auth-required docs to authorization 2026-05-29 11:18:53 +02:00
Andras Bacsai
37a99e5f94 fix(application): only show server warning for false status
Treat unknown server status separately from false so the unreachable badge is not shown until a server is confirmed unreachable. Add feature coverage for the badge rendering.
2026-05-28 20:50:14 +02:00
Andras Bacsai
eb7da5c082 fix(database): gate import form controls by update access
Require database import form controls to declare update authorization against the resource and add coverage to prevent unguarded controls.
2026-05-28 20:48:18 +02:00
Andras Bacsai
902a60239d fix(database): use named backup upload route 2026-05-28 20:46:38 +02:00
Andras Bacsai
322bf7c1b2 refactor(database): split import form into Livewire child
Extract the database import form into its own component and add realtime
status refresh components for application server badges and service resource
cards.
2026-05-28 19:30:12 +02:00
Andras Bacsai
4401bee941 Merge remote-tracking branch 'origin/next' into fix/form-state 2026-05-28 17:34:52 +02:00
Andras Bacsai
0c6a233b27 fix(deployment): unregister Livewire morph hook on teardown
Store the morph.updated cleanup callback and invoke it during Alpine destroy so deployment log search hooks do not survive component teardown.
2026-05-26 14:57:20 +02:00
Andras Bacsai
7f35a2d98e fix(deployment): clear scroll debounce on teardown 2026-05-26 14:55:13 +02:00
Rohit Tiwari
07337d9df6
feat: add search functionality for environment variables 2026-05-26 15:19:32 +05:30
Andras Bacsai
27b76a4e97 Merge remote-tracking branch 'origin/next' into fix/form-state 2026-05-25 16:08:19 +02:00
Andras Bacsai
182df1cb07 fix(logs): keep stream polling active without collapsible panel
Move log stream polling off the loading indicator so non-collapsible log panels continue polling while streaming, and cover the behavior with a Livewire feature test.
2026-05-22 17:00:08 +02:00
Andras Bacsai
5e0e6772d5 fix(deployments): load realtime assets without Vite
Remove unused Vue, Echo, Pusher, and ioredis npm dependencies from the frontend build. Update realtime scripts and deployment log markup to work without bundling those assets through Vite.
2026-05-22 12:48:48 +02:00
Alexzvn
a64e1b579b fix: html tags removed in log viewer 2026-05-22 08:38:51 +00:00
Aditya Tripathi
e7e65831a7 fix(livewire): preserve wire:dirty across DB status broadcasts
The earlier refreshStatus fix kept user-typed values intact but Livewire still
absorbed deferred wire:model values into the snapshot on every broadcast-
triggered roundtrip, clearing the unsaved-changes indicator and making the form
look auto-saved. Move all status-derived display (DB URLs, SSL toggle/mode,
cert expiry) out of each DB General form into a sibling StatusInfo Livewire
component, so the form never roundtrips on broadcasts.

Shared scaffolding lives in App\Traits\HasDatabaseStatusInfo plus an x-database-
status-info Blade component, leaving each per-DB StatusInfo class as a ~20-50
line declaration of label, SSL mode options, and SSL save hooks. Parents
dispatch databaseUpdated from save methods so the sibling refreshes after writes.

Tests cover the architecture (no DB form subscribes to status broadcasts) and
the sibling's refresh-on-status-change behavior.
2026-05-21 08:31:08 +00:00
Aditya Tripathi
b9f773c1d9 fix(livewire): stop broadcast handlers from wiping in-progress form input 2026-05-20 19:04:43 +00:00
Andras Bacsai
0ecd488d6a fix(applications): refresh pending configuration changes
Dispatch configuration change events after saving application source and advanced settings, and refresh the configuration checker before showing redeploy diffs.
2026-05-13 10:04:17 +02:00
Andras Bacsai
f8849aba73 feat(deployments): track application configuration diffs
Store deployment configuration snapshots on application deployment queues and compare them against the current application state. Surface grouped pending changes in the configuration checker and use build-impact diffs to decide when an existing image can skip the build step.
2026-05-13 09:58:58 +02:00
ShadowArcanist
bf10b45bbc
fix(logs): convert timestamps to server timezone in deployment and container logs 2026-05-13 01:48:14 +05:30
Andras Bacsai
f098895abf style(navbar): refine collapsed sidebar spacing
Adjust sidebar icon sizing, collapsed menu dimensions, and main layout padding for improved alignment. Also tidy related view spacing and formatting.
2026-05-12 11:07:19 +02:00