| 1 |
# Multithreaded — Todo |
| 2 |
|
| 3 |
Done: All pre-beta phases. Active: None. Next: Platform integration. |
| 4 |
|
| 5 |
v0.3.2. Audit grade A. 225 tests. |
| 6 |
|
| 7 |
--- |
| 8 |
|
| 9 |
## Code Review Remediation — Remaining |
| 10 |
- [ ] Transitive dep advisories: rand 0.8/0.9 (RUSTSEC-2026-0097), rsa (RUSTSEC-2023-0071), lru (RUSTSEC-2026-0002) — no direct fix available, monitor upstream |
| 11 |
- [ ] Add partial index on `posts.removed_at` (`WHERE removed_at IS NOT NULL`) when data volume warrants it |
| 12 |
- [ ] Add `tracing::warn!` to `MaybeUser` extractor on session read errors (currently silently returns None) |
| 13 |
|
| 14 |
--- |
| 15 |
|
| 16 |
## Platform Integration (Post-Beta) |
| 17 |
|
| 18 |
### Default Categories — Remaining |
| 19 |
- [ ] Issues (git issue tracker replacement — see MNW G8-issues) |
| 20 |
- [ ] Patches (inbound email patches — see MNW G7B-patches) |
| 21 |
- [ ] Crashes (crash reports from DS2) |
| 22 |
- [ ] Feedback (user feedback from DS3) |
| 23 |
|
| 24 |
### Private Communities (Fan+) |
| 25 |
- [ ] Community visibility flag (public/private) |
| 26 |
- [ ] Membership gating: restrict join to Fan+ subscribers or item buyers |
| 27 |
- [ ] Hidden from public listing, accessible only via direct link or MNW project page |
| 28 |
|
| 29 |
### Notification Integration |
| 30 |
- [ ] Push mentions, replies, endorsements, flags to MNW notifications API |
| 31 |
- [ ] Read state synced with MNW notification center |
| 32 |
|
| 33 |
--- |
| 34 |
|
| 35 |
## Deferred (Post-Beta) |
| 36 |
|
| 37 |
- [ ] E2E encrypted live chat (OpenMLS integration, WebSocket gateway) |
| 38 |
- [ ] Real-time thread updates via shared WebSocket gateway (shared with SyncKit realtime sync — single service) |
| 39 |
- [ ] Community creation by users (currently admin-seeded only; MNW auto-provisioning handles project communities) |
| 40 |
- [ ] Federation (ActivityPub or custom protocol) |
| 41 |
- [ ] Subcategories / nested categories |
| 42 |
- [ ] Similar thread detection on new thread creation |
| 43 |
- [ ] Suggested/related threads at bottom of thread view |
| 44 |
- [ ] Keyboard shortcuts beyond `/` for search |
| 45 |
|
| 46 |
--- |
| 47 |
|
| 48 |
## Key Paths |
| 49 |
|
| 50 |
|
| 51 |
|
| 52 |
| Time formatting | `crates/mt-core/src/time_format.rs` | |
| 53 |
| DB queries | `crates/mt-db/src/queries.rs` | |
| 54 |
| DB mutations | `crates/mt-db/src/mutations.rs` | |
| 55 |
| Templates (Rust) | `src/templates/` | |
| 56 |
| Templates (HTML) | `templates/` | |
| 57 |
| Link previews | `src/link_preview.rs` | |
| 58 |
| S3 storage | `src/storage.rs` | |
| 59 |
| Route helpers | `src/routes/helpers.rs` | |
| 60 |
| Routes | `src/routes/` (mod.rs, helpers.rs, forum/{mod,views,thread,posts,actions}.rs, moderation.rs, settings.rs, admin.rs, flagging.rs, tracking.rs, search.rs, uploads.rs) | |
| 61 |
| Auth (OAuth) | `src/auth.rs` | |
| 62 |
| CSRF | `src/csrf.rs` | |
| 63 |
| Markdown | `docengine` crate (`Shared/docengine/`) — features: mentions, quotes | |
| 64 |
| Config | `src/config.rs` | |
| 65 |
| Seed data | `src/seed.rs` | |
| 66 |
| Entry point | `src/main.rs` | |
| 67 |
| Library root | `src/lib.rs` | |
| 68 |
| Migrations | `migrations/` (001-021) | |
| 69 |
| CSS | `static/style.css` | |
| 70 |
| Deploy config | `deploy/` | |
| 71 |
| Integration tests | `tests/` | |
| 72 |
| Workspace config | `Cargo.toml` | |
| 73 |
|