From edde9e441fb6b84e9d56215d6e2a8d9338b8f962 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Tue, 11 Aug 2026 12:40:13 +0200 Subject: feat(hub): Phase 10.5–10.8, 10.10 — notifications, settings, search, version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 10.5: Notification model + CRUD API (list, mark read, mark all read) Triggered on: group invite, role change, suspend/unsuspend - 10.6: SettingsPage shows role, per-group notification mute (localStorage) - 10.7: GET /v1/groups?q= search filter (ilike on name) - 10.8: NotificationFeed on home page + bell with unread badge in navbar - 10.10: GET /v1/hub/version endpoint for client update checks - 8 new tests (test_notifications.py), 155 total Co-Authored-By: Claude Opus 4.6 --- docs/meshbay-draft-v4.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/meshbay-draft-v4.md b/docs/meshbay-draft-v4.md index 45b6381..fe6a521 100644 --- a/docs/meshbay-draft-v4.md +++ b/docs/meshbay-draft-v4.md @@ -1,7 +1,7 @@ # MeshBay — Architecture Draft v4 -> Status: active development — Phases 1–10.4 complete, 147 tests. -> Changes from v3: web client transport (WebRTC DataChannel), web UI architecture, hub roles (admin/moderator), hub mirror design, browser-specific NAT traversal, chat storage clarified, Phase 8 security items resolved, Phase 10 site overlay + admin/moderation UI. +> Status: active development — Phases 1–10 complete (except 10.9 → Phase 13), 155 tests. +> Changes from v3: web client transport (WebRTC DataChannel), web UI architecture, hub roles (admin/moderator), hub mirror design, browser-specific NAT traversal, chat storage clarified, Phase 8 security items resolved, Phase 10 site overlay + admin/moderation UI + notifications + group search + version endpoint. --- @@ -251,6 +251,11 @@ Complete table of validated and planned hub REST API endpoints. Endpoints marked | GET | `/v1/admin/blocklist` | Admin | List blocked content hashes | ✓ Phase 8 | | POST | `/v1/admin/blocklist` | Admin | Manually block a content hash | ✓ Phase 8 | | DELETE | `/v1/admin/blocklist/{hash}` | Admin | Unblock a content hash | ✓ Phase 8 | +| GET | `/v1/notifications` | Access token | List notifications (unread_only, paginated) | ✓ Phase 10 | +| POST | `/v1/notifications/{id}/read` | Access token | Mark notification as read | ✓ Phase 10 | +| POST | `/v1/notifications/read-all` | Access token | Mark all notifications as read | ✓ Phase 10 | +| GET | `/v1/groups?q=` | None | Search public groups by name (ilike) | ✓ Phase 10 | +| GET | `/v1/hub/version` | None | Client version check (hub, MNP, MHP) | ✓ Phase 10 | ### 4.2 Mesh Node -- cgit v1.2.3