diff options
Diffstat (limited to 'devel-phases-next.md')
| -rw-r--r-- | devel-phases-next.md | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/devel-phases-next.md b/devel-phases-next.md index aa6608d..cccce44 100644 --- a/devel-phases-next.md +++ b/devel-phases-next.md @@ -1,6 +1,6 @@ # MeshBay — Next Implementation Phases -> Base: Phases 1–10.4 complete. 147 tests. Web SPA + admin panel live on meshbay.org. +> Base: Phases 1–10 complete (except 10.9 → Phase 13). 155 tests. Web SPA + admin panel live on meshbay.org. > Architecture reference: docs/meshbay-draft-v4.md > First security review: first-review.md (2026-08-10) @@ -202,7 +202,7 @@ ICE/STUN handles all tested NAT types automatically. ## Phase 10 — meshbay.org site + admin/moderation UI -Commit: 8fa298e — 15 files, +1646/−34 lines, 147 tests. +Commit: 8fa298e (10.1–10.4), pending (10.5–10.8, 10.10) — 155 tests. **Objective:** meshbay.org becomes both a production hub and the project's public website, with admin/moderation interfaces and user-facing features. @@ -246,14 +246,14 @@ Config-listed admin usernames are synced to `role = "admin"` in DB at startup. | 10.2 | Moderator role + `require_moderator` dependency + admin API | ✅ | | 10.3 | Moderation UI (user/group suspend, blocklist management) | ✅ | | 10.4 | Admin UI (stats, user list, group list, audit logs viewer, blocklist) | ✅ | -| 10.5 | Notification system (invitations, new content, maintenance) | Deferred | -| 10.6 | User settings (profile, per-group options, privacy, mute) | Deferred | -| 10.7 | Public group search (name + keyword in description) | Deferred | -| 10.8 | Front page (notifications feed, prioritized) | Deferred | +| 10.5 | Notification system (invitations, role changes, account status) | ✅ | +| 10.6 | User settings (profile, role display, per-group notification mute) | ✅ | +| 10.7 | Public group search (name keyword filtering) | ✅ | +| 10.8 | Front page (notification feed with unread badge) | ✅ | | 10.9 | Package repositories (APT/DNF) | Deferred to Phase 13 | -| 10.10 | Auto-update check endpoint for clients | Deferred | +| 10.10 | Auto-update check endpoint (`GET /v1/hub/version`) | ✅ | -### Admin API endpoints (10.2) +### API endpoints (10.2, 10.5, 10.7, 10.10) | Method | Path | Auth | Description | |---|---|---|---| @@ -261,10 +261,15 @@ Config-listed admin usernames are synced to `role = "admin"` in DB at startup. | GET | `/v1/admin/stats` | Moderator+ | Hub stats (user/group/node counts, online nodes) | | GET | `/v1/admin/users` | Moderator+ | List users (paginated, searchable) | | GET | `/v1/admin/users/{id}` | Moderator+ | User detail (email decrypted, group count) | -| PATCH | `/v1/admin/users/{id}` | Moderator+ | Update role or status | +| PATCH | `/v1/admin/users/{id}` | Moderator+ | Update role or status (triggers notification) | | GET | `/v1/admin/groups` | Moderator+ | List groups (with member count) | | PATCH | `/v1/admin/groups/{id}` | Moderator+ | Update group status | | GET | `/v1/admin/logs` | Moderator+ | IP audit logs (filterable by event, user) | +| GET | `/v1/notifications` | Access token | List notifications (unread_only, paginated) | +| POST | `/v1/notifications/{id}/read` | Access token | Mark single notification read | +| POST | `/v1/notifications/read-all` | Access token | Mark all notifications read | +| GET | `/v1/groups?q=` | None | Search public groups by name | +| GET | `/v1/hub/version` | None | Version check (hub, MNP, MHP versions) | ### Admin UI (10.3–10.4) |