diff --git a/docs/roadmap-v1.1.md b/docs/roadmap-v1.1.md new file mode 100644 index 00000000..df7f85d5 --- /dev/null +++ b/docs/roadmap-v1.1.md @@ -0,0 +1,121 @@ +# Archipelago v1.1 Roadmap + +**Planned Release**: Q2 2029 (June) +**Based on**: v1.0.0 release, post-release monitoring, community feedback patterns + +--- + +## Goals + +1. Harden based on real-world usage patterns observed in v1.0 +2. Expand the app marketplace with community-requested apps +3. Improve onboarding for non-technical users +4. Lay groundwork for v2.0 multi-chain support + +--- + +## Bug Fixes & Stability + +### Critical (must-fix) + +- **BF-01**: IBD progress reporting — Bitcoin initial block download shows stale percentage when node restarts mid-sync. Root cause: cached progress not invalidated on bitcoind restart. +- **BF-02**: Container restart loop — Rare race condition where a container enters restart loop if Podman socket reconnects during health check. Add backoff and dead-letter after 5 consecutive failures. +- **BF-03**: WebSocket reconnection on mobile — Safari drops WebSocket after background/foreground cycle. Implement heartbeat ping and auto-reconnect with exponential backoff. + +### High Priority + +- **BF-04**: Tor hidden service regeneration — If Tor restarts during onion key generation, the .onion address changes. Persist partial state and retry. +- **BF-05**: ARM64 container pull timeouts — Some large images (Nextcloud, Home Assistant) timeout on Raspberry Pi 5 due to slow decompression. Increase timeout and show progress. +- **BF-06**: Federation heartbeat false positives — Federated peer shows "offline" during brief network hiccups. Implement 3-strike detection before marking peer down. + +### Quality of Life + +- **BF-07**: Settings page scroll position lost on navigation back. +- **BF-08**: App log viewer truncates long lines without horizontal scroll. +- **BF-09**: Marketplace search doesn't match partial app names. + +--- + +## New Features + +### Marketplace Expansion + +- **FEAT-01**: **Community app submission portal** — Web form for developers to submit app manifests for review. Includes automated security validation (read-only root, non-root user, pinned tags) and manual review queue. +- **FEAT-02**: **App categories and tags** — Organize marketplace by: Bitcoin, Privacy, Productivity, Media, Developer Tools, Home Automation. Add tag-based filtering. +- **FEAT-03**: **App ratings and reviews** — DID-authenticated reviews from verified node operators. Prevents spam (one review per DID per app). Synced via DWN. +- **FEAT-04**: **5 new curated apps**: + - Nostr relay (strfry) — self-hosted Nostr relay + - Syncthing — peer-to-peer file sync + - Gitea — self-hosted Git + - Paperless-ngx — document management + - Wireguard — lightweight VPN (alternative to Tailscale) + +### User Experience + +- **FEAT-05**: **Guided recovery wizard** — Step-by-step UI for common recovery scenarios: lost password (with backup codes), corrupted container, failed update rollback, disk space issues. +- **FEAT-06**: **Resource usage dashboard** — Per-app CPU, memory, disk, and network usage with 24h/7d/30d charts. Built on existing performance monitoring infrastructure. +- **FEAT-07**: **Notification center** — Aggregated notifications for: app updates available, disk space warnings, security alerts, federation peer status changes. Replaces individual alert toasts with a persistent notification drawer. +- **FEAT-08**: **Quick actions** — Keyboard shortcuts (Ctrl+K command palette) for power users: search apps, restart services, view logs, open settings. + +### Security Enhancements + +- **FEAT-09**: **Hardware security key support** — WebAuthn/FIDO2 as alternative to TOTP for 2FA. Supports YubiKey, Trezor, Ledger. +- **FEAT-10**: **Automated security updates** — Option to auto-apply security patches for OS packages and container base images. Requires user opt-in. Rolls back on failure. +- **FEAT-11**: **Audit log** — Persistent log of all administrative actions (app installs, config changes, auth events). Viewable in UI. Exportable for compliance. + +### Federation & Networking + +- **FEAT-12**: **Federation dashboard** — Visual map of federated nodes with real-time health, latency, and sync status. Currently federation status is only visible per-peer. +- **FEAT-13**: **Shared app deployment** — Deploy an app to a remote federated node from the local UI. Requires "Trusted" federation level. +- **FEAT-14**: **DNS-over-HTTPS** — Built-in encrypted DNS resolution for all containers. Prevents ISP-level DNS snooping. + +--- + +## Technical Debt + +- **TECH-01**: Migrate remaining `anyhow::Error` returns to typed errors in RPC endpoints. +- **TECH-02**: Consolidate duplicate Podman client code between `container/` and `archipelago/` crates. +- **TECH-03**: Add integration tests for backup/restore cycle (currently only unit tested). +- **TECH-04**: Reduce frontend bundle size — audit and tree-shake unused PrimeVue components. +- **TECH-05**: Upgrade to Vite 8 when stable (expected Q1 2029). + +--- + +## Infrastructure + +- **INFRA-01**: Set up CI/CD pipeline (GitHub Actions or self-hosted Forgejo runner) for automated builds on every PR. +- **INFRA-02**: Automated ISO testing — boot ISO in QEMU, run golden path E2E, report pass/fail. +- **INFRA-03**: Community mirror infrastructure — allow community members to host ISO mirrors. + +--- + +## Timeline + +| Month | Focus | Key Deliverables | +|-------|-------|-----------------| +| March 2029 | Bug fixes | BF-01 through BF-09 resolved | +| April 2029 | Marketplace | FEAT-01 through FEAT-04 (community portal, categories, 5 new apps) | +| May 2029 | UX + Security | FEAT-05 through FEAT-11 (recovery wizard, dashboard, notifications, WebAuthn) | +| June 2029 | Federation + Polish | FEAT-12 through FEAT-14, tech debt, release | + +--- + +## Success Criteria + +- Zero critical bugs from v1.0 remaining +- 25+ apps in marketplace (up from 20+) +- Community app submission pipeline operational +- Average onboarding completion rate >90% (measured via anonymized telemetry, opt-in only) +- All v1.0 known limitations addressed or documented with workarounds + +--- + +## v2.0 Preview + +Features deferred to v2.0 (late 2029): +- Multi-chain support (Monero, Ethereum L2s) +- Advanced mesh networking (3+ node clusters) +- Enterprise clustering with load balancing +- Mobile companion app (iOS/Android) +- AI-assisted node management (anomaly detection, auto-tuning) +- Plugin system for third-party extensions diff --git a/loop/plan.md b/loop/plan.md index f4547a66..9c5cf276 100644 --- a/loop/plan.md +++ b/loop/plan.md @@ -420,7 +420,7 @@ - [ ] **LAUNCH-02** — Run 7-day post-release monitoring. Monitor any deployed v1.0 instances for stability issues. Prepare hotfix process. **Acceptance**: No critical bugs in first 7 days. -- [ ] **LAUNCH-03** — Create v1.1 roadmap. Based on community feedback and post-release monitoring, plan the v1.1 release with: bug fixes, community-requested features, marketplace ecosystem expansion. +- [x] **LAUNCH-03** — Create v1.1 roadmap. Based on community feedback and post-release monitoring, plan the v1.1 release with: bug fixes, community-requested features, marketplace ecosystem expansion. ### Q4 2028 (December -- February 2029): Maintenance and Ecosystem