Commit Graph
100 Commits
Author SHA1 Message Date
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 7fd6df79ad Improve containers table defaults and persist filters
Release rolling / release (push) Successful in 7m26s
Default to Running sorted by CPU, hide CPU/memory spinners for stopped
containers, and keep search/status/sort until Clear (localStorage).
2026-07-17 17:07:15 -04:00
Raven Scott e2f4568396 Install macOS client only to ~/Applications/peardock.app
Release rolling / release (push) Successful in 8m7s
Stop unpacking into ~/Applications/peardock and copying the app a second
time; install the single .app bundle and clean up the legacy nested path.
2026-07-17 16:41:59 -04:00
Raven Scott 49794febf8 Fix image push failing with tag:undefined under Bare
Release rolling / release (push) Successful in 9m42s
bare-querystring stringifies JS undefined as the literal "undefined", so
dockerode push options with tag: undefined made Docker look up
repo:undefined. Only pass defined push options, and fail the job when
Docker streams an error in the progress body.
2026-07-16 23:09:36 -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 ca3770da59 Update SS
Release rolling / release (push) Successful in 8m29s
2026-07-16 19:46:01 -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 40d80ad894 Update dark mode product screenshots
Release rolling / release (push) Successful in 8m31s
Refresh marketing screenshots for the current dark UI chrome.
2026-07-16 18:08:12 -04:00
Raven Scott d3d622da69 add light mode ss
Release rolling / release (push) Has been cancelled
2026-07-16 18:01:56 -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 758b8b13f7 Fix client auto-reconnect when peer connections drop
Release rolling / release (push) Successful in 8m33s
Dead links now force disconnect after failed pings, failed dials keep
retrying every 5s, and the UI rebinds peers after a successful redial
instead of leaving the workspace stuck offline.
2026-07-16 16:28:29 -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 254310b495 Precheck deploy networking before container create
Release rolling / release (push) Successful in 7m47s
Validate port mappings for empty host ports, in-form duplicates,
privileged low ports, and peer-side host port conflicts. Runs on
template deploy, deploy view, and add-container before create RPC.
2026-07-16 14:39:19 -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 0a758a1051 Update about
Release rolling / release (push) Has been cancelled
2026-07-16 14:24:48 -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 f2729a9ad9 Remove debug message from terminal init
Release rolling / release (push) Successful in 7m46s
2026-07-16 14:09:53 -04:00
Raven Scott 55421cdecd Fix Terminal State!
Release rolling / release (push) Has been cancelled
2026-07-16 14:06:57 -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 cb93897d5d Codesign peardock-server for macOS in CI
Release rolling / release (push) Successful in 8m29s
Gatekeeper reported the Bare server binary as damaged because it only
had a linker ad-hoc stamp after embed. Seal darwin server binaries with
the same sign-macos path used for Electron apps (codesign / rcodesign).
2026-07-16 06:30:43 -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 984a5e1e95 Update docs
Release rolling / release (push) Successful in 7m40s
2026-07-16 04:47:12 -04:00
Raven Scott 67dffcadb8 Remove networks on compose down
Release rolling / release (push) Has been cancelled
2026-07-16 04:40:50 -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 4bbbd45f42 Proper Template Support for Stacks
Release rolling / release (push) Has been cancelled
2026-07-16 04:09:50 -04:00
Raven Scott fb8f1c4fa4 Fix Template Parsing
Release rolling / release (push) Has been cancelled
2026-07-16 04:04:32 -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 d697f6f90d Fix logs tab stuck on Loading after switching away and back.
Release rolling / release (push) Successful in 9m0s
2026-07-16 00:45:30 -04:00
Raven Scott 8f0599eeae Fully map Portainer template fields into the deploy form.
Release rolling / release (push) Has been cancelled
2026-07-16 00:40:19 -04:00
Raven Scott dfa0b3dcd6 Move Check updates into action bar and report results in the tray.
Release rolling / release (push) Successful in 11m35s
2026-07-16 00:17:26 -04:00
Raven Scott 645f025042 Fix Duplicate/Edit cloning (volumes/settings) and initial image update check.
Release rolling / release (push) Successful in 9m49s
2026-07-16 00:01:07 -04:00
Raven Scott b53f4a58b1 Fix stuck container remove with timed raw Docker stop/kill/delete.
Release rolling / release (push) Successful in 9m2s
2026-07-15 23:22:27 -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 afc10d1dbc Stop containers gracefully before remove instead of immediate SIGKILL.
Release rolling / release (push) Successful in 8m31s
2026-07-15 22:56:15 -04:00
Raven Scott bca951aa10 Update SS
Release rolling / release (push) Successful in 16m55s
2026-07-15 16:27:42 -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 ab99136cb6 Fix Bare HTTP shim treating registry URL paths as Unix sockets.
Release rolling / release (push) Has been cancelled
HTTPSAgent extends the patched Agent; mistaking path for socketPath made every registry digest check fail with ENOENT and broke image update indicators.
2026-07-15 15:55:29 -04:00
Raven Scott 94e20f0838 Img Update
Release rolling / release (push) Successful in 11m57s
2026-07-15 15:36:44 -04:00
Raven Scott 10f5b8a52c Update Img
Release rolling / release (push) Has been cancelled
2026-07-15 15:36:10 -04:00
Raven Scott 6630abaf2e Fix
Release rolling / release (push) Has been cancelled
2026-07-15 15:35:49 -04:00
Raven Scott 3e0ef5819d Update Repo Icon
Release rolling / release (push) Has been cancelled
2026-07-15 15:35:18 -04:00
Raven Scott 3778f036cf Cleanup repo docs
Release rolling / release (push) Has been cancelled
2026-07-15 15:34:02 -04:00
Raven Scott 13124ace9e Remove the ROADMAP, no longer needed
Release rolling / release (push) Has been cancelled
2026-07-15 15:32:56 -04:00
Raven Scott 42f066fa47 Fix image update checks against registries on Bare.
Release rolling / release (push) Has been cancelled
Registry HTTP now sets host/hostname, disables keep-alive, and times out cleanly; resolve container image tags/digests more reliably and surface check errors in the UI.
2026-07-15 15:31:46 -04:00
Raven Scott e9e78f52c9 Fix registry vault KDF on Bare (no scryptSync).
Release rolling / release (push) Successful in 8m29s
bare-crypto lacks scrypt; derive vault keys with PBKDF2-SHA256 there, keep scrypt on Node, and record the KDF on encrypted blobs.
2026-07-15 15:22:53 -04:00
Raven Scott 8d6de91f17 Fix Template URL
Release rolling / release (push) Successful in 8m57s
2026-07-15 15:10:00 -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 e51de4ad1d Add full registry manager and image pull/push with vault credentials.
Release rolling / release (push) Has been cancelled
Wire credential-aware pull/push, session auth, and an Images Registries tab for vault management.
2026-07-15 14:54:30 -04:00
Raven Scott 1a1394a68b Move Add container button into the containers filter toolbar.
Release rolling / release (push) Has been cancelled
Place it next to Clear so the page header stays compact.
2026-07-15 14:45:53 -04:00
Raven Scott 5e13fc0919 Add always-pull option to Duplicate/Edit container modal.
Release rolling / release (push) Has been cancelled
Match Add container so users can reuse a local image when duplicating.
2026-07-15 14:40:46 -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 bbf0607aaf Fix container remove timeouts and make force-remove reliable.
Release rolling / release (push) Successful in 9m13s
Lifecycle RPCs now use a 120s operation timeout, remove cleans up
stats/terminal/log streams then SIGKILLs before force-remove, and the
UI awaits the request instead of a fragile 30s wait race.
2026-07-15 14:12:13 -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 01f03beb43 Hide bar on linux
Release rolling / release (push) Has been cancelled
2026-07-14 23:47:22 -04:00
Raven Scott 0e74019acc Close create-invite modal after success; drop redundant result panel.
Release rolling / release (push) Successful in 8m4s
Invite strings already appear under Active invites with Copy, so the post-create
panel in the modal was unnecessary and felt stuck open.
2026-07-14 23:00:52 -04:00
Raven Scott 54d3d00901 Add SECURITY_AUTH.md for admin access and invite model.
Release rolling / release (push) Successful in 9m8s
Document seed proof, roles, pd1 capabilities, redeem/reconnect, and revoke,
and link it from the README, threat model, operator, and protocol docs.
2026-07-14 22:50:52 -04:00
Raven Scott abc46c60de Document .env keys after install and pd1 invite flow.
Release rolling / release (push) Has been cancelled
Installer and operator docs now tell users to read SERVER_PUBLIC_KEY and
SERVER_SEED from /opt/peardock/.env, and how to connect as viewer, admin, or
via a pd1. invite without sharing the seed.
2026-07-14 22:43:41 -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 c6557b487f Updates
Release rolling / release (push) Successful in 8m37s
2026-07-14 21:54:53 -04:00
Raven Scott b76d5cc02c Stop AutoPass invites from silently connecting as viewer.
Release rolling / release (push) Successful in 8m40s
Force fresh capability auth after pairing, heal active grants stuck on the spent list, and fail closed when a grant is spent instead of falling back to bare viewer.
2026-07-14 21:41:26 -04:00
Raven Scott 0e07074291 Fix operator invite elevation and pair invite UI with capability grants.
Release rolling / release (push) Successful in 8m15s
Stop silently dropping failed capabilities (which forced viewer), log handshake role/auth, and show each AutoPass invite with its linked capability on one Access card.
2026-07-14 21:27:23 -04:00
Raven Scott 660d901386 Fix invite rotation after delete and add revoke list management.
Release rolling / release (push) Successful in 8m43s
Force-wipe AutoPass invite packages on create/delete so spent capabilities cannot poison new invites, clear stale grants on the client, and let admins unrevoke or clear revoked peers from Access.
2026-07-14 21:11:48 -04:00
Raven Scott f44419d5a7 Updates
Release rolling / release (push) Successful in 9m7s
2026-07-14 20:55:09 -04:00
Raven Scott 6ff528f884 Update
Release rolling / release (push) Successful in 8m30s
2026-07-14 20:41:42 -04:00
Raven Scott d822152c7e Updates
Release rolling / release (push) Successful in 9m23s
2026-07-14 20:27:41 -04:00
Raven Scott cb0b59f5c3 Updates
Release rolling / release (push) Has been cancelled
2026-07-14 20:25:17 -04:00
Raven Scott bd460913bf OTA
Release rolling / release (push) Successful in 8m19s
2026-07-14 20:05:40 -04:00
Raven Scott ecafa4f22a updates
Release rolling / release (push) Has been cancelled
2026-07-14 20:04:49 -04:00
Raven Scott c818edac9d Secure connections with AutoPass invites, HMAC capabilities, and viewer default.
Release rolling / release (push) Successful in 12m24s
Default peers are read-only; admin requires seed proof and operators redeem AutoPass packages with signed grants. ACL UI and docs match the new trust model.
2026-07-14 19:38:53 -04:00
Raven Scott b8bd4eb902 Strip ANSI sequences from container logs for clean display.
Release rolling / release (push) Successful in 8m28s
PM2 and similar tools emit VT100 color codes that browsers hide only
partially, leaving artifacts like [32m between table columns. Strip CSI/OSC
escapes when formatting log lines, and harden Docker multiplex demux on the
server so frames are not mis-parsed as text.
2026-07-13 18:53:17 -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
Raven Scott 4879b7ca18 Fix container duplication end-to-end (inspect, form, deploy).
Release rolling / release (push) Has been cancelled
Replace the broken fire-and-forget submit path with deployDockerContainer
(including replace prompts), suggest a free name-copy by default, correctly
map custom networks/mounts/ports from inspect, and load config via typed RPC.
2026-07-13 18:18:48 -04:00
Raven Scott 245d532efd Add Portainer-style container name replace on deploy.
Release rolling / release (push) Has been cancelled
When deploying a container whose name already exists, prompt to Replace
(stop and remove the old container) or Cancel. Server accepts replace:true
to perform the swap; clients pre-check names and retry on conflict races.
2026-07-13 18:16:54 -04:00
Raven Scott b2e04caabc Add advanced container stats tab with timeframes and I/O charts.
Release rolling / release (push) Has been cancelled
Expand server history samples with network/block rates and longer
retention, and rebuild the details Stats tab with live KPIs, 1m–30m
windows, auto-scale, pause, CSV export, and CPU/memory/net/disk charts.
2026-07-13 18:13:27 -04:00
Raven Scott 270b38af15 Fix terminal output on connection
Release rolling / release (push) Successful in 8m41s
2026-07-13 17:56:20 -04:00
Raven Scott 50c43ff2e9 Fix the termninal
Release rolling / release (push) Successful in 9m48s
2026-07-13 17:43:08 -04:00
Raven Scott ac754d6f5a Polish container overview layout for filled height without empty voids.
Release rolling / release (push) Has been cancelled
Split overview into a stretching Identity/Runtime/Network band and a
content-height Ports/Mounts/Timeline strip with timeline, mount rows,
and clearer empty states so vertical space is used without sparse panels.
2026-07-13 17:41:19 -04:00