Add queued email notifications for collaboration events
This commit is contained in:
@@ -1,49 +1,64 @@
|
||||
# Project Status Report
|
||||
|
||||
**Generated:** 2026-06-01
|
||||
**Branch:** main
|
||||
**Generated:** 2026-06-24
|
||||
**Branch:** main
|
||||
**Last Commit:** b6d2ded - passkey existing (2026-06-16)
|
||||
|
||||
## Quick Stats
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Files | ~120 |
|
||||
| Go Files | 44 (~6000+ lines) |
|
||||
| Swift Files | 12 (macOS app) |
|
||||
| Markdown Files | 150+ |
|
||||
| Docker Config | yes |
|
||||
| Test Coverage | 39% |
|
||||
| Total Tracked Files | 189 |
|
||||
| Go Files | 46 |
|
||||
| Swift Files | 14 (macOS app) |
|
||||
| Test Files | 10 |
|
||||
| Avg Test Coverage | ~39% (markdown 87%, store 70%, auth 55%, sync 54%) |
|
||||
| Milestones Complete | 3/6 (50%) |
|
||||
|
||||
## Recent Activity
|
||||
## Recent Activity (since 2026-06-01 report)
|
||||
|
||||
**Last Commit:** fb0673a - sync app filled in
|
||||
16 commits on `main` between `fb0673a` (2026-06-01) and `b6d2ded` (2026-06-16):
|
||||
71 files changed, +7908 / -812 lines.
|
||||
|
||||
Highlights:
|
||||
- `b6d2ded` passkey existing-user login flow
|
||||
- `4655008` text editor link autocomplete
|
||||
- `0adb980` CodeMirror editor integration
|
||||
- `c39c50b` dropdown menu + comment side panel (wires M4 comment UI)
|
||||
- `6c30fd8` sync service update
|
||||
- `04a1f2b` ops design + app scaffolding (`entrypoint.sh`)
|
||||
- `632621b`/`1e939f3` macOS menu-bar app: live search popover, drop-target icon
|
||||
- `ddc7d5c` accounts and email wiring
|
||||
- `93e96be`/`73d505a` UI CSS expansion (~1900 lines) and workspace browser polish
|
||||
- New untracked subsystems: `permissions_handlers.go` (RBAC sharing UI), `tags.js`/`tag.gohtml` (tagging), `keyboard-nav.js`, `mobile.js`, `archive.js`
|
||||
|
||||
## Milestone Progress
|
||||
|
||||
- [x] Milestone 1: Foundation
|
||||
- [x] Milestone 2: Sync Protocol
|
||||
- [x] Milestone 3: Authentication
|
||||
- [ ] Milestone 4: Collaboration (infrastructure done, features in progress)
|
||||
- [ ] Milestone 5: Search & UI (core search done, polish needed)
|
||||
- [ ] Milestone 4: Collaboration (comments UI wired; email integration in progress; digest/preferences pending)
|
||||
- [ ] Milestone 5: Search & UI (server FTS5 done; design-system CSS, keyboard nav, mobile responsive shipped; `/design` route, Flexsearch, a11y audits pending)
|
||||
- [ ] Milestone 6: Production (not started)
|
||||
|
||||
**Current Focus:** M4 Collaboration + M5 UI Polish
|
||||
**Current Focus:** M4 Email Integration (Postmark adapter, templates, queue with retry)
|
||||
|
||||
### Error Handling (10 ignored errors)
|
||||
## Untracked Subsystems (not in original plan)
|
||||
|
||||
Several errors are being silently ignored. Consider handling or logging these.
|
||||
These shipped but are not milestone-tracked. Tracked via `notes/untracked-subsystems.md`:
|
||||
|
||||
- **Permissions / RBAC sharing UI** — `permissions_handlers.go` (431 lines), `permissions.gohtml`, `permissions.js`. Per-resource read/write/admin grants.
|
||||
- **Tagging** — `tags.js`, `tag.gohtml`. Document tags.
|
||||
- **CodeMirror inline editor** — `editor.js` (+620), `codemirror.bundle.js`, link autocomplete.
|
||||
- **macOS menu-bar app** — 14 Swift files, live search popover, drag-drop target. Beyond web-first plan scope.
|
||||
- **API tokens** — `token_create.gohtml`, `auth.APIKey` types.
|
||||
- **Password reset flow** — `password_reset.gohtml`, `auth.PasswordResetToken` repository methods.
|
||||
|
||||
## Notes for Human Review
|
||||
|
||||
>> **Active development.** 22 Go files with 2304 lines of code.
|
||||
>> **9 uncommitted changes** detected. Codex may be mid-work.
|
||||
>> **Code review items found.** See Action Items above.
|
||||
|
||||
## Files Changed This Session
|
||||
|
||||
- `collaboration.Service` defines its own `EmailSender` interface duplicating `email.Sender`. Consolidate when convenient.
|
||||
- `Service.notifyWatchersOfComment` and `NotifyDocumentChanged` create in-app notifications only; never invoke `s.email`. `Notification.EmailedAt` field unused.
|
||||
- `email.SMTPSender` uses unauthenticated SMTP (fine for local Mailpit, not Postmark).
|
||||
|
||||
---
|
||||
|
||||
*This report auto-generated by Cairnquire progress monitor.*
|
||||
*Next update in ~10 minutes or when filesystem changes detected.*
|
||||
*This report updated 2026-06-24 by hand. Next refresh when M4 email work lands.*
|
||||
|
||||
Reference in New Issue
Block a user