docs(email): record message detail evidence
This commit is contained in:
@@ -28,16 +28,25 @@ Status: `IN PROGRESS`. Canonical hub routing and provider-neutral read capabilit
|
||||
- The hub now identifies connected and disconnected providers and advertises their actual capability. Gmail, Outlook and IMAP are currently shown as read-only because their installed scopes/contracts do not implement provider send.
|
||||
- The controller does not change OAuth scopes, connect accounts, invoke providers in tests or claim that the legacy SMTP follow-up sender is provider-native.
|
||||
|
||||
## Implemented safe message-detail increment
|
||||
|
||||
- Provider-backed rows now open plain-text detail through `/api/email/message`; the UI never renders provider HTML.
|
||||
- If a provider is disconnected or unavailable, the hub clearly warns and shows the owner-scoped saved JobTracker copy instead of losing access to imported correspondence.
|
||||
- Manual/internal rows use the same detail shape through `/api/correspondence/message/{id}`.
|
||||
- Direct saved-message IDs remain tenant-filtered. Malformed legacy label/attachment JSON degrades to empty metadata instead of breaking the message view.
|
||||
- Rapid selection changes invalidate older requests so late provider responses cannot appear under the wrong message.
|
||||
- Inbox label and attachment counts now reflect parsed metadata arrays rather than treating every non-null JSON field as one item.
|
||||
|
||||
## Verification
|
||||
|
||||
- Focused provider controller: 3/3 tests; focused hub/review: 2 suites, 5/5 tests.
|
||||
- Full backend: 604/604; full frontend: 49/49 suites, 186/186 tests.
|
||||
- Focused provider/correspondence controllers: 5/5 tests; focused hub detail: 5/5 tests.
|
||||
- Full backend: 605/605; full frontend: 49/49 suites, 188/188 tests.
|
||||
- Production build/TypeScript and `git diff --check`: pass.
|
||||
- Implementation commits: `6008b4a`, `536d403`.
|
||||
- Implementation commits: `6008b4a`, `536d403`, `a20775c`.
|
||||
|
||||
## Remaining MAIL-001 work
|
||||
|
||||
- Use the provider-neutral thread/list/detail API in a shared hub/application message view while preserving provider capability differences.
|
||||
- Extend shared provider-neutral thread navigation and application embedding while preserving provider capability differences.
|
||||
- Surface provider identity, reauthorization, read/unread, pin/read-later/archive/spam/trash only where the provider supports it.
|
||||
- Share thread detail and link/unlink actions between hub and job workspace.
|
||||
- Design editable provider drafts with recipient/subject/thread/provider review and explicit confirmed, idempotent send; uncertain failures must not be retried blindly.
|
||||
@@ -50,4 +59,4 @@ The first focused Jest invocation exhibited the repository's open-handle delay.
|
||||
|
||||
## Rollback
|
||||
|
||||
Revert `536d403` to remove the provider-neutral API/status chips, then `6008b4a` to restore the separate route presentation. Persisted email/correspondence data and provider scopes remain unchanged.
|
||||
Revert `a20775c` for message detail, `536d403` for the neutral API/status, then `6008b4a` for canonical routing. Persisted email/correspondence data and provider scopes remain unchanged.
|
||||
|
||||
Reference in New Issue
Block a user