The project navbar rendered a single Resources tab that was only ever active
on project.resource.index, a page that never rendered the bar, and rendered
nothing at all without an environment, leaving project and environment
settings with no title.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Target selection now renders as a full-width layer card instead of a narrow
dialog floating in an empty full-height console canvas. The themed console
shell, its viewport height lock, and the console theme selector stay with an
open session, where they belong.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Swap the static world-map partial for a cobe-based 3D globe
(traffic-globe.js) driven by per-country marker data. Extract shared
sparkline/device/geo derivations into BuildsTrafficChartPayload and
reuse it across global, dashboard, and per-application analytics
components. Add device-donut, hosts-list, and sparkline partials, and
extend breakdown dimensions with protocol/cache/status. Default live
refresh to off until manually armed.
Replace the server-scoped Analytics Livewire component with an
app-wide one that filters by server/application and supports live
refresh. Add a per-bucket status-class time series endpoint/data
class for a stacked-area chart, falling back to the donut when the
Sentinel build doesn't support it. Decorate top-path rows with their
owning domain, expand breakdown dimensions to agent/ip/useragent, and
raise path/breakdown result limits. Capture X-Forwarded-For,
User-Agent, and Referer headers in traefik access logs (now enabled
in dev too) so IP, browser, and referrer breakdowns work. Add
flag-image and referer-host helpers for geo/referrer rendering.
Add manual fix-release validation and stable image rebuilds, inject traceable development versions into SHA builds, and suppress invalid release links for development versions.
- Add live 24h polling toggle to server/application analytics views
- Add geo visualization (world map, country flags/names) for traffic
- Add dashboard nudge for servers eligible but not yet analytics-enabled
- Add lazy-loaded TrafficOverview widget to application General page
- Default-enable traffic analytics on new eligible server settings
- Rotate Caddy access logs via lumberjack roll options
- Add Traefik logrotate sidecar for copytruncate access-log rotation
Preserve optimistic listbox selections during Livewire saves, refresh service domains after updates, and align application, service, and server navigation layouts.
Add keyboard-aware terminal controls, refine terminal layouts and navigation, surface proxy and Sentinel health warnings, and make avatar uploads update only after successful persistence.
instant_remote_process() applied its timeout only to Process::timeout(), while the shell-level timeout wrapper around ssh always used the global 3600s default, killing long backups and scheduled tasks at 1h with ssh exit code 255. Also applies the backup timeout to the S3 upload step and makes the default configurable via SSH_COMMAND_TIMEOUT.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add reusable domain URL parsing and input components, expose per-domain
redirect and indexing controls, and improve application and service domain
layouts across responsive breakpoints.
Adds toggleTrafficAnalytics() to the Sentinel settings component (restarts
proxy + recreates Sentinel via ConfigureTrafficAnalytics), plus an optional
MaxMind GeoIP license key field, with a wire:confirm warning about the
brief connectivity blip.
Implements pure service to sum traffic overviews across multiple servers
for team dashboard. Additive fields (requests, bytes, statuses) are summed;
latency percentiles take the max and are flagged approximate when
aggregating multiple servers.
Adds ConfigureTrafficAnalytics::run(Server, bool) which sets the
is_traffic_analytics_enabled flag, force-regenerates the proxy config,
dispatches RestartProxyJob, and recreates Sentinel with restart: true.
Refresh visible dashboard metrics every minute and after backgrounding. Replace server status badges with accessible color-coded icon borders and status text.
List service database schedules with volume backups, add a database
picker when creating scheduled DB backups from the service page, and
cover the unified table and create flow in tests.
Replace min-h-screen with min-height: 100dvh on body for correct
mobile viewport height, and point the auth shell radial glow at
--color-coollabs instead of --color-accent. Add branding CSS tests.