Commit Graph
96 Commits
Author SHA1 Message Date
Raven Scott b79c3bc97b Keep flattener header visible and auto-copy pull ref after push
Release rolling / release (push) Successful in 7m47s
Cap scrollable centered modals so only the body scrolls when push
options expand, and copy the image pull ref to the clipboard on success.
2026-07-18 08:20:17 -04:00
Raven Scott 7b5da2da86 Add ttl.sh as ephemeral anonymous push target
Release rolling / release (push) Successful in 7m32s
Expose ttl.sh in Flatten and Push Image target lists with TTL presets,
auto-retag to ttl.sh/name:duration, and skip vault auth for public temp pushes.
2026-07-18 07:49:33 -04:00
Raven Scott 8235a8a6c8 Fix flatten push auth by retargeting short names to vault registry
Release rolling / release (push) Has been cancelled
Private registry credentials were applied while pushing Docker Hub short
names. Auto-retag under the credential host and prefix the flattener repo.
2026-07-18 07:46:07 -04:00
Raven Scott e9fb26153a Add Container Flattener (export|import squash with job tray push)
Release rolling / release (push) Successful in 7m49s
Squash a container into a single-layer image from Manage → Flatten, with
repo/tag, pause, config re-apply, vault credentials, and optional registry push.
2026-07-18 07:31:58 -04:00
Raven Scott a6fea51eaf Expand Appearance settings with accents, scale, radius, and chrome
Release rolling / release (push) Successful in 7m33s
Add twelve accent colors with swatch picker, UI scale, corner radius,
and titlebar/sidebar chrome styles. Preferences live-apply and persist
in the settings cache for both dark and light themes.
2026-07-17 23:47:07 -04:00
Raven Scott e2fa2ff85a Apply all settings and alerts live without Save buttons
Release rolling / release (push) Has been cancelled
Auto-persist client preferences on change with footer feedback, and
apply server alert engine settings/channels/rules immediately.
2026-07-17 19:48:28 -04:00
Raven Scott 267e8d6fc2 Restore last registry browser context on Registry load
Release rolling / release (push) Has been cancelled
Remember credential, host, and last repo in settings; auto-apply
session auth and refresh catalog when opening the Registry view.
2026-07-17 19:29:11 -04:00
Raven Scott 5b8fb142bb Add experimental server alerts and webhook notifications
Release rolling / release (push) Successful in 7m30s
Server-side alerting for Docker/container/stack health with Discord,
Slack, Teams, ntfy, Gotify, Telegram, and generic webhooks. Settings
tab, client cache, and backup/restore coverage; marked experimental.
2026-07-17 18:10:43 -04:00
Raven Scott 366333e6bd Complete client backup and restore coverage
Release rolling / release (push) Successful in 7m33s
Include identity, backup policy, and notifications by default; deep-merge
nested settings; rehydrate UI/peers/filters after restore.
2026-07-17 17:48:08 -04:00
Raven Scott ec96356855 Persist remaining client state in disk cache files
Release rolling / release (push) Has been cancelled
Move templates, notifications, backups, table columns, peer envs, and
sidebar/first-connect prefs onto ~/.config/peardock/cache (settings.json
or dedicated JSON files) with legacy localStorage migration.
2026-07-17 17:41:11 -04:00
Raven Scott 9da9345e32 Persist container filters in settings cache file
Release rolling / release (push) Successful in 7m26s
Store search/status/sort under settings.containerFilters in
~/.config/peardock/cache/settings.json so preferences survive restarts,
and migrate the old localStorage key once.
2026-07-17 17:28:50 -04:00
Raven Scott abc34b39d8 Restore and restart origin container when swap deploy fails
Release rolling / release (push) Successful in 8m45s
On duplicate/swap failure after parking, rename the origin back and start
it if it was running so a bad deploy does not leave the source offline.
2026-07-16 22:26:22 -04:00
Raven Scott bd512df950 Park source container on duplicate so host ports can be reused
Release rolling / release (push) Has been cancelled
When duplicating with the same host ports, stop+rename the origin, deploy
and verify the new container, then remove the parked source. Client
precheck ignores ports owned only by the origin to avoid false blocks.
2026-07-16 22:24:49 -04:00
Raven Scott 01a62f292d Match Pear titlebar chrome in Electron client builds
Release rolling / release (push) Successful in 8m10s
Hide the native window frame (hiddenInset on macOS, frameless elsewhere) and polyfill pear-ctrl so the integrated titlebar matches the Pear dev shell.
2026-07-16 19:30:43 -04:00
Raven Scott 461a5498f9 Fix boot active-server selection and titlebar peer chip
Release rolling / release (push) Successful in 8m49s
Stop overwriting the header on every parallel restore connect; wait for
the last-used peer before falling back; avoid persisting temporary
active selection so the remembered server stays correct across restarts.
2026-07-16 19:20:02 -04:00
Raven Scott 3a2534c11c Fix light-mode terminal init blanking until theme toggle
Release rolling / release (push) Has been cancelled
Fill the details terminal host for FitAddon, wait for a measurable box
before starting the PTY, re-apply xterm palettes after open, and re-fit
on UI color-mode changes so light sessions paint without a dark/light flip.
2026-07-16 19:16:21 -04:00
Raven Scott f8ad7d5b6e Persist client settings to ~/.config/peardock/cache/settings.json
Release rolling / release (push) Successful in 7m50s
Store theme, density, and other prefs in a versioned JSON cache file
(matching peers.json) instead of localStorage-only, with migration and
a localStorage mirror for FOUC and legacy readers.
2026-07-16 18:52:57 -04:00
Raven Scott 4a652da0c5 Persist UI color theme across client restarts
Release rolling / release (push) Successful in 12m48s
The Electron GUI bundle was stale and never wrote theme from Settings.
Rebuild path already includes applyColorTheme on load/save; also write
theme to localStorage immediately when Color mode changes so boot FOUC
and applySettings restore light/dark correctly.
2026-07-16 18:23:07 -04:00
Raven Scott 0f59f01cf8 Polish light theme surfaces and add Jobs tray settings
Release rolling / release (push) Successful in 8m23s
Expand light-mode CSS for dashboard, details, terminals, job/pull progress, restoring boot card, and settings chrome. Add a Jobs tray settings tab for dismiss timing and reconnect feedback volume; auto terminal themes follow UI color mode when saved.
2026-07-16 17:33:23 -04:00
Raven Scott 18897bdcc3 Don't block boot on failed peer dials; add Fleet reconnect after max retries
Release rolling / release (push) Successful in 8m7s
Launch finishes as soon as any peer comes online; offline dials notify the tray and keep retrying in the background. Fleet cards that hit max reconnect tries show a clear Reconnect button that resets the retry budget.
2026-07-16 17:06:52 -04:00
Raven Scott 3a3df4ec10 Add light mode theme setting and remove offline banner
Release rolling / release (push) Has been cancelled
Dark remains default; users can pick light or match system under Settings → Appearance. Drop the full-height connection-lost banner that stretched across the window.
2026-07-16 17:03:08 -04:00
Raven Scott f72a1d0a41 Keep offline peers on Fleet and add max reconnect tries setting
Release rolling / release (push) Successful in 8m50s
Fleet builds a roster from configured peers so hosts stay visible when
they drop (online / reconnecting / failed / offline). Settings → Behavior
adds max reconnect tries (1–8 or unlimited, default 8) wired into
ConnectionManager, with Retry connect to redial after the budget is spent.
2026-07-16 16:37:19 -04:00
Raven Scott 4460f61f85 Add backups
Release rolling / release (push) Has been cancelled
2026-07-16 16:24:38 -04:00
Raven Scott 301902c470 Redesign restoring-connections boot screen with app spinner
Release rolling / release (push) Successful in 8m30s
Replace Bootstrap spinner with the tray job-spinner, a modern card layout,
live status pill, and peer restore progress bar.
2026-07-16 15:41:07 -04:00
Raven Scott fbe1751468 Polish modals and add settings save button feedback
Release rolling / release (push) Has been cancelled
Replace stock Bootstrap modal chrome with a dark teal panel system, and
give Settings Save all a Saving… / Saved state with motion-aware styles.
2026-07-16 15:38:29 -04:00
Raven Scott 2b1b40e967 Harmonize filter and toolbar button colors with dark teal UI
Release rolling / release (push) Has been cancelled
Replace solid green/yellow image filter fills with a segmented control,
move Prune to secondary outline, and soften warning/secondary button styles.
2026-07-16 15:31:42 -04:00
Raven Scott 218e924c67 Disable Swarm nav when Docker is not swarming
Release rolling / release (push) Successful in 11m22s
Grey out the Swarm sidebar item with a help popover explaining how to
enable swarm mode. Recheck the peer on each hover and re-enable the
nav when LocalNodeState becomes active.
2026-07-16 15:13:22 -04:00
Raven Scott 83353602df Fix Images actions column clipping remove button
Release rolling / release (push) Has been cancelled
Widen the actions column and keep button groups visible so the
remove control is not cut off under fixed table layout.
2026-07-16 15:08:02 -04:00
Raven Scott 60315d53f0 Add show/hide columns picker and hide table horizontal scroll
Release rolling / release (push) Successful in 7m47s
Reusable column visibility control after Clear on containers and on
other resource tables, with preferences persisted. Suppress horizontal
scrollbars so columns ellipsize instead of overflowing.
2026-07-16 14:53:54 -04:00
Raven Scott 5b1acdf324 Use tray spinner for pending UI loading states
Release rolling / release (push) Has been cancelled
Replace em-dash and ad-hoc loaders with the shared job-tray spinner
for deploy templates, host/swarm/tunnels/events, health latency,
container stats/logs/processes, and registry/volume browsers.
2026-07-16 14:30:59 -04:00
Raven Scott 06de0b5c81 Fix Details Header Deformation
Release rolling / release (push) Has been cancelled
2026-07-16 14:21:23 -04:00
Raven Scott 2663464fcb Ensure design responsiveness
Release rolling / release (push) Successful in 8m34s
2026-07-16 13:49:40 -04:00
Raven Scott 658bc1ee59 Fix Settings Save All Button Placement
Release rolling / release (push) Successful in 7m58s
2026-07-16 05:06:49 -04:00
Raven Scott 2c35f5cb82 Job Tray Updates
Release rolling / release (push) Successful in 9m12s
2026-07-16 04:20:26 -04:00
Raven Scott 6866e83439 Stack Deploy UI
Release rolling / release (push) Has been cancelled
2026-07-16 04:15:43 -04:00
Raven Scott 223c7118c9 Tray Polish
Release rolling / release (push) Has been cancelled
2026-07-16 03:58:28 -04:00
Raven Scott bc6bd8eda3 Tray Updates Image Pulls
Release rolling / release (push) Has been cancelled
2026-07-16 03:55:43 -04:00
Raven Scott ac10747bad Add global hidden-container filters by label in Settings.
Release rolling / release (push) Successful in 9m7s
2026-07-16 01:57:43 -04:00
Raven Scott 882072b30b Truncate long deploy template descriptions so Deploy stays on-screen.
Release rolling / release (push) Successful in 9m13s
2026-07-16 01:10:00 -04:00
Raven Scott 2153cdbbde Fix table checkbox ellipsis and style selection checkboxes.
Release rolling / release (push) Successful in 8m43s
2026-07-15 23:05:47 -04:00
Raven Scott 9775fe5305 Move Peers into Settings and add a full Registry browser tab.
Release rolling / release (push) Successful in 9m39s
Peers live under Settings; Images is local-only. Registry is a top-level view with vault credentials, Hub search, and Registry API V2 catalog/tags/manifest/delete over the wire.
2026-07-15 16:04:27 -04:00
Raven Scott 53e6dd8853 Update
Release rolling / release (push) Has been cancelled
2026-07-15 15:08:55 -04:00
Raven Scott a6925d337e Add container image update indicators.
Release rolling / release (push) Has been cancelled
Compare local RepoDigests to remote registry manifest digests, show status in the containers table Updates column, and support force recheck with vault credentials for private registries.
2026-07-15 15:05:04 -04:00
Raven Scott b185ea7a55 Add container create page from the containers list with always-pull.
Release rolling / release (push) Successful in 8m24s
Adds a dedicated blank create form (name, image, always pull, ports,
auto-remove, advanced settings) separate from template Deploy, reuses
deployContainer with pull-if-missing and publish-all-ports support.
2026-07-15 14:27:05 -04:00
Raven Scott 1cb85e2cee changes to jobs trey
Release rolling / release (push) Successful in 8m23s
2026-07-15 00:08:43 -04:00
Raven Scott 2ae6f074cb fixes
Release rolling / release (push) Successful in 9m2s
2026-07-14 23:52:46 -04:00
Raven Scott f4a97aad2a Move away from Autopass for AlmaLInux Compatibility
Release rolling / release (push) Successful in 8m18s
2026-07-14 22:19:33 -04:00
Raven Scott ecafa4f22a updates
Release rolling / release (push) Has been cancelled
2026-07-14 20:04:49 -04:00
Raven Scott f9aa8d3c7e Add container details action bar for lifecycle operations.
Release rolling / release (push) Successful in 8m10s
Show start, stop, kill, restart, pause, resume, recreate, duplicate/edit,
and remove in the container details header, enabled by runtime state, using
typed RPC for lifecycle operations.
2026-07-13 18:37:49 -04:00
Raven Scott 5c16254ff4 Add Portainer-style container bulk actions and network manager.
Release rolling / release (push) Successful in 8m41s
Always show a containers action bar (start/stop/restart/pause/resume/kill/
recreate/remove/prune) driven by row selection via typed bulk RPC. Rebuild
the container Networking tab into a join/leave network manager with aliases
and optional static IPs, plus a clearer ports table.
2026-07-13 18:22:19 -04:00