Commit Graph
49 Commits
Author SHA1 Message Date
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 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 55421cdecd Fix Terminal State!
Release rolling / release (push) Has been cancelled
2026-07-16 14:06:57 -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 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 bc6bd8eda3 Tray Updates Image Pulls
Release rolling / release (push) Has been cancelled
2026-07-16 03:55:43 -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 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 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 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 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 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 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 42a69c6dc7 Ship Track G UX, multi-shell terminals, Swarm default-on, install.peardock.boats
Release rolling / release (push) Successful in 8m22s
Probe bash/sh/ash and related shells until a container terminal works, enable Swarm APIs by default, add keyboard go-chords and appearance prefs, and point install docs at https://install.peardock.boats.
2026-07-11 18:06:46 -04:00
Raven Scott 54c09b5eab Retry peer reconnect every 5s until back online
Release rolling / release (push) Has been cancelled
Replace exponential backoff and the 12-attempt cap with a fixed 5s
retry loop that keeps dialing after unexpected disconnects. Throttle
toasts so the UI is not spammed while the offline banner stays up.
2026-07-11 17:19:09 -04:00
Raven Scott c49d7301d0 Stabilize multi-peer UI and fix container start API body
Release rolling / release (push) Successful in 8m25s
Keep the containers table scoped to the active peer with a merge store,
restore the last active server on boot with a restoring screen, start
containers without a Docker API body (v1.24+), and stop ⋮ menus from
sticking to the viewport bottom after refreshes.
2026-07-11 16:52:57 -04:00
Raven Scott 2526ebb99b CI 2026-07-11 11:39:59 -04:00
snxraven 2b6cfc644f Complete Track F optional Docker/Portainer ops items
CI / test (push) Successful in 10m2s
Implement volume browse, stack env file, service scale, create
secret/config, disconnect network, registry Hub search, server
schedules, resource editor, and fleet environment tags. Mark roadmap
Tracks A–F complete.
2026-07-10 23:52:26 -04:00
snxraven b62bcd697e Track E: recreate, system prune, Hub search, swarm secrets/configs
CI / test (push) Successful in 10m3s
Investigate Docker/Portainer gaps and ship high-value ops: recreate
container, system prune + builder prune UI, Docker Hub search in
pull modal, Swarm secrets/configs tables. Update roadmap Track E/F.
2026-07-10 23:48:30 -04:00
snxraven f732cab26c Require only bare-* modules under Bare for Holesail control
CI / test (push) Successful in 10m3s
Stop falling back to Node builtin names (process/crypto/…) which
bare-module cannot resolve. Detect Bare via globalThis.Bare and drop
bare-process (use global pid instead).
2026-07-10 23:22:10 -04:00
snxraven aa48876d75 Use Bare modules for Holesail control under Pear
CI / test (push) Successful in 10m0s
Map Node builtins to bare-* via package.json imports and dual-load
with which-runtime so holesailBareControl runs on Bare without
MODULE_NOT_FOUND for crypto/fs/http/net.
2026-07-10 23:20:50 -04:00
snxraven 5fbece2bd9 Fix Holesail client connect via Bare main HTTP control
CI / test (push) Successful in 9m58s
pear-run worker RPC timed out from the Electron UI. Run real holesail
in Bare index.js (holesailBareControl) and have the UI call localhost
HTTP instead of loading bare-tcp in the renderer.
2026-07-10 23:19:31 -04:00
snxraven cc6df798e1 Run real holesail in a Bare worker for Pear UI
CI / test (push) Successful in 9m59s
pear-electron cannot load bare-tcp (require.addon) in the renderer.
Use pear-run + workers/holesail-local.cjs so the actual holesail package
runs under Bare; Node still loads holesail in-process. Add connect
fallback modal with copy URL.
2026-07-10 23:13:30 -04:00
snxraven 9e39c27b88 Fix Pear Holesail client createRequire crash; polish confirm modals
CI / test (push) Successful in 9m59s
Load holesail via dynamic ESM import (no createRequire) so Pear can connect local tunnels. Route confirmations through a designed modal with icons and animations instead of native dialogs.
2026-07-10 23:03:21 -04:00
snxraven 244ff569f5 Enable Holesail tunnels by default; keep holesail as required dep
CI / test (push) Successful in 9m59s
Holesail is on unless ENABLE_HOLESAIL=0/false/off. The holesail package remains a required dependency; docs and UI copy match the new default.
2026-07-10 22:56:17 -04:00
snxraven 02f25e0981 Complete roadmap optionals: Holesail, Swarm UI, GitOps, virtualization.
CI / test (push) Successful in 9m58s
Add tunnel persistence and container one-click tunnels with local
Holesail client bind, Swarm services/nodes/tasks view, GitOps stack
sync from git, deploy wizard step chrome, virtualized container lists,
and structure regression tests. Mark Tracks A–D and optional future done.
2026-07-10 22:53:30 -04:00
snxraven 573298b836 Fix peer cache wipe on quit and polish collapsed sidebar rail.
CI / test (push) Successful in 9m54s
Close sockets on unload without forgetting saved peers, merge roster
writes so empty in-memory state cannot erase peers.json, and restyle the
minimized sidebar as a clean icon-only rail with compact peer dots.
2026-07-10 22:43:33 -04:00
snxraven 1b99224f16 Improve deploy errors and use bottom job tray as sole feedback.
CI / test (push) Successful in 9m56s
Map Docker deploy failures to actionable how-to-fix messages, keep full
detail through RPC sanitization, and stop top-center toasts from doubling
the live job tray so operators only see one notification per action.
2026-07-10 22:40:13 -04:00
snxraven a42f5e4dcf Complete Track C roadmap: dashboard, job follow, actions, activity, roles
CI / test (push) Successful in 9m55s
Ship the modern dashboard, job tray log follow, container overflow actions, stacks search, activity history, role-gated controls, invite form with copy token, first-connect checklist, and mark Track C done on the roadmap.
2026-07-10 22:31:16 -04:00
snxraven 2d8b24ec0e Support multiple deploy template list URLs with cross-list dedupe
CI / test (push) Successful in 9m55s
Add Settings UI to configure many Portainer-format template catalogs (not just one), merge them on fetch, drop duplicates by image/stack/title, and show source counts on the Deploy view.
2026-07-10 22:19:46 -04:00
snxraven 60816ed78b Persist peers to disk cache and stop Request failed spam
CI / test (push) Successful in 9m57s
Save configured connections to ~/.config/peardock/cache/peers.json (with localStorage migration), unwrap protomux REQUEST_ERROR causes for real messages, and quiet/dedupe background RPC failures so the notification tray is not flooded.
2026-07-10 22:16:28 -04:00
snxraven 4063c83597 Ship Track C UX polish: toasts, settings, lists, navigation
CI / test (push) Successful in 9m55s
Add a visible toast stack, fix presentError double-notify, wire density and auto-refresh settings, gate destructive confirms, improve empty/skeleton/search on resource lists, and enable browser history plus keyboard palette navigation.
2026-07-10 22:10:40 -04:00
snxraven 5d3342fe4f Persist peers across restarts; move connect form to modal
CI / test (push) Successful in 9m55s
Always store configured connections in localStorage (with invite/alias), restore and re-dial on boot, and free the sidebar so every nav item stays reachable via a scrollable nav plus an Add peer modal.
2026-07-10 21:53:28 -04:00
snxraven 2cccb8a04e Fix titlebar pear-ctrl overlap; route status into job tray
CI / test (push) Successful in 9m53s
Reserve space for window controls and split the titlebar clusters so brand and chrome no longer collide. Replace the full-screen status spinner with lightweight activity jobs in the event tray.
2026-07-10 21:48:11 -04:00
snxraven 77f49beda3 Harden terminals and logs; polish deploy job drawer
CI / test (push) Successful in 9m56s
Production-grade xterm FitAddon resize, binary-safe I/O, TTY-safe
server streams, demuxed log viewer with line buffering, and auto-dismiss
deploy job panel without the full-screen spinner.
2026-07-10 21:34:51 -04:00
snxraven 53c8040020 Ship Track B UI: smart defaults, ops shell, deploy stepper
CI / test (push) Successful in 9m53s
Add host snapshot and network IPAM suggestions, image-driven form
hydration, command palette, Host/Events/Settings views, offline banner,
job drawer for deploy steps, and typed RPC errors. Mark roadmap complete.
2026-07-10 21:17:04 -04:00
snxraven 0ee9b67834 Complete production roadmap: vault, peers, swarm, streams, ops
CI / test (push) Successful in 9m54s
Ship remaining roadmap items: encrypted registry vault, peer invite/revoke,
Swarm/plugins behind flags, binary streams, engine create validation, deploy
rollback, schema validation, fleet/access UI, metrics, fuzz/load/soak tests,
systemd packaging, and release tooling. Mark ROADMAP fully complete.
2026-07-10 20:50:55 -04:00
Raven Scott 0bb6ba1692 breaking
CI / test (push) Successful in 9m56s
2026-07-10 20:36:11 -04:00
Raven Scott d6ce72af66 Updates 2026-07-10 20:04:47 -04:00