Commit Graph
25 Commits
Author SHA1 Message Date
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