Repository navigation
Conversation
Imported attachments already store the email subject on the document. Source still renders Unknown thread when getThread returns no_access. This test locks the label we want before the fallback lands. Co-authored-by: teo <synoet@users.noreply.github.com>
When getThread returns no_access, the Source pill used Unknown thread. Imported attachments already store Subject on the same write. Use that sibling string as the display name and keep Unknown thread when it is missing. Co-authored-by: teo <synoet@users.noreply.github.com>
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review. 📝 WalkthroughSummary by CodeRabbit
WalkthroughThe change adds shared utilities for preview display names and THREAD subject fallbacks. The utilities handle loading previews, accessible preview names, fallback names, and unknown entity names. The property entity display hook reads optional properties context and uses the THREAD subject as a fallback. Tests cover accessible previews, subject fallbacks, unknown threads, and non-THREAD entities. Merge Risk: 🔵 Low · up to The property panel now shows a stored thread Subject when the live thread preview is inaccessible, improving labels for imported email sources but potentially exposing copied thread metadata to users who cannot access the source thread. The change is mergeable with explicit owner confirmation that this disclosure matches the intended authorization policy. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
A fallback makes a failed getThread render as a healthy pill, so the underlying failure (expired token cached as no_access, missing access grant, or a stale thread id) stays invisible. Unknown thread returns until the failure itself is classified and fixed. Co-authored-by: teo <synoet@users.noreply.github.com>
Why
Withdrawn at review. The fallback made a failed
getThreadrender as a healthy Source pill, which hides the failure it papers over (expired token cached asno_access, a missing access grant, or a stale thread id). The branch now reverts the fallback, so its net diff is zero. Close without merging.The investigation notes stay useful:
Unknown threadisusePropertyEntityDisplay's label for a THREAD preview whosegetThreadfailed. Sender, Recipients, and Subject never need the live thread, which is why only Source degraded.fetchEmailPreviewscollapses everygetThreaderror (401 auth, 401 no-access, 404 gone, network) intono_access, and the preview query caches that result.from_request_partserrors on email-service arejwt expired; 327 are real access denials. A transient token expiry during preview is cached and renders asUnknown threaduntil the cache drops.Follow-up direction, tracked outside this PR: classify the failure (transient auth vs no access vs gone) instead of relabeling it, and stop caching transient failures as permanent
no_access.Verification
The revert restores main's behavior exactly: the three repro PDFs render as on main (owned thread resolves the subject, missing-thread and message-id docs show
Unknown thread).