summaryrefslogtreecommitdiffstats
path: root/devel-phases-next.md
diff options
context:
space:
mode:
Diffstat (limited to 'devel-phases-next.md')
-rw-r--r--devel-phases-next.md23
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)