zlh-grind/Codex/Portal/OPEN_ITEMS.md

74 lines
4.6 KiB
Markdown

# Portal — Open Items
Only keep unfinished Portal work here.
## Active
- Mobile responsiveness pass for public marketing, auth, pricing, server list, create flow, and basic console/file/backup usability.
- Public marketing visual/content QA after the hybrid SaaS/SEO refresh:
- desktop/mobile layout check
- CTA route check
- register/login route check
- SEO landing page internal-link check
- confirm no stale Minecraft-only wording remains on general platform pages
- Portal-owned email notification preferences/status UX once the API contract exists.
- checkpoint-specific backup metadata presentation once the API sends the final fields.
- verify Portal compatibility against API-side JWT/auth hardening, especially login refresh and hosted IDE entry flow after token tightening.
## 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
- continue API client surface cleanup where overlapping wrappers or legacy paths still exist
- optional later: factor repeated SEO landing-page layout once copy stabilizes
## Completed and moved out of active cleanup
- Node/runtime pin alignment is no longer an open cleanup-only item; Portal is now treated as being on the Node 24 baseline
- Next 16 lint-script migration is no longer an open item
- initial dead HUD wrapper cleanup is no longer an open item
- stale legacy CSS cleanup is no longer an open item
- baseline dependency pruning and audit cleanup are no longer open items
- current TypeScript / build breakage reported during the cleanup pass is no longer an open item
- the old Portal-side `/api/agent/{serverId}/{action}` bridge is no longer an open item; it has been removed
- dashboard spotlight placeholder data / broken manage-link cleanup is no longer an open item
- hub-nav and onboarding-tour billing mismatch is no longer an open item
- authenticated shell alignment for billing/profile/support is no longer an open item
- server card and console status labels no longer treat all non-connectable states as `Needs attention`
- host/container lifecycle states and async host action polling are represented in the server list
- DEV server status is separated from GAME connectability status in the server list
- DEV console now shows host, agent, and IDE indicators
- server-list and console IDE controls are compact and colocated with IDE readiness indicators
- server creation progress is tracked on the Servers page after create response
- dashboard spotlight now recognizes DEV containers and mirrors server-list IDE/readiness/host badges
- public marketing site now has hybrid conversion + SEO structure
- pricing tiers have been repositioned as Starter / Pro / Performance workload tiers
- root metadata and homepage hero copy have been corrected to match browser dev + managed hosting positioning
- fake `zlh` CLI command was removed from the homepage visual
- SEO landing pages have been added for Minecraft hosting, modded Minecraft hosting, and browser dev environments
- SSH config snippet for power users has been moved to Phase 2 / platform future rather than active launch Portal work
## 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 runtime/tooling cleanup as contract-sensitive once it touches auth, API integration, or user-visible route behavior
## Repo cleanup
- confirm whether stray root binary `testdameon` still exists in the Portal repo; remove only if still present.
## 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
- login/refresh/hosted-IDE flows after API token tightening
- marketing CTA routing and SEO page internal links after public-site refresh
- mobile behavior at 375px, 390px, 768px, and desktop widths
## Not Portal-owned
- agent-local backup implementation details.
- API transport semantics.
- PBS / infra backup strategy.