# Portal — Open Items Only keep unfinished Portal work here. ## Active - SSH config snippet for power users. - Portal-owned email notification preferences/status UX once the API contract exists. - checkpoint-specific backup metadata presentation once the API sends the final fields. ## Cleanup / consolidation priorities - fold repeated API-client/status-polling patterns and shared state-mapping logic where behavior is already the same - fold repeated table/detail/action rendering helpers only where it reduces duplication without hiding page intent - split oversized page/component/state files by responsibility without changing user-visible behavior - keep restore/status wording explicit, but remove duplicate operation-label and status-reason mapping where possible - centralize shared server-management action handling so files/backups/restore/restart flows do not re-implement the same request/toast/poll logic - standardize repo-local Node version declaration with the current pinned platform version ## Cleanup rule - prefer behavior-preserving folding over broad refactors - merge repeated flows, not concepts - keep helpers small and concrete - reduce page-local duplication before introducing new abstractions - treat Node/runtime/dependency upgrades as separate validation work, not part of cleanup-only changes ## Repo cleanup - remove stray root binary `testdameon` from the Portal repo. ## Verify before re-opening - restore accepted -> status polling -> completion UX - backup metadata rendering, including checkpoint-aware presentation - console reconnect/state behavior during restart/restore transitions - server management flows that share action/polling/toast logic ## Not Portal-owned - agent-local backup implementation details. - API transport semantics. - PBS / infra backup strategy.