docs: define provider notification identity#1831
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 1, 2026, 4:40 PM ET / 20:40 UTC. Summary Reproducibility: not applicable. this is a documentation proposal, not a runtime bug reproduction. Source inspection confirms the current notification runtime is only background context for the documented decision. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Keep the decision spec draft open, remove the accidental closing reference from the PR body, then let a maintainer decide whether the provider-icon issue stays open for supplementary attachment exploration. Do we have a high-confidence way to reproduce the issue? Not applicable; this is a documentation proposal, not a runtime bug reproduction. Source inspection confirms the current notification runtime is only background context for the documented decision. Is this the best way to solve the issue? Mostly yes for the source diff: documenting the platform boundary before changing notification behavior is a narrow maintainable path. The PR body should first be fixed so the linked provider-icon issue is not auto-closed accidentally. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against c3d33308ac06. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Owner decision: do not pursue provider-specific notification sender icons. macOS does not expose a supported per-notification sender-icon replacement for this class of notification. Attachment or communication-avatar workarounds would add the wrong semantics and a second media surface. Closing this non-shipping decision draft without merging. |
Summary
UNMutableNotificationContenthas no per-notification sender-icon overrideDecision and scope
Decision-only draft. This does not ship notification behavior, change the app icon, add attachments, or close #1828. Keep #1828 open for maintainer choice on whether supplementary media is an acceptable interpretation.
Recommendation: retain provider-first titles and the CodexBar sender icon. If the requested result specifically requires replacing the sender icon, close the issue as unsupported by the public macOS API. Do not model quota alerts as direct communication to obtain avatar-style presentation.
Evidence
mainatc3d33308ac0624424bd8c089d9eff59f3701aefa: session depleted/restored, quota warning, login success, and permission notifications put the provider display name in the title../Scripts/package_app.shbuilt successfully fromc3d33308(runtime-identical to this docs-only head) on macOS 26.5.2 (25F84). An isolated synthetic bundle was launched and inspected with Peekaboo CLI 3.5.2 / GUI bridge 3.5.3. The macOS notification permission card displayed the CodexBar app icon, confirming the system sender identity.enqueuing (prefix=session-codex-depleted)twice, but macOS left the authorization session unresolved. No live synthetic alert appeared, so this draft does not claim banner or Notification Center rendering proof. The isolated process was stopped; another running CodexBar was not touched.xmllint --noout docs/screenshots/provider-notification-identity-options.svgmake docs-listmake check— 0 SwiftFormat files changed; 0 SwiftLint violationsmake test— all 44 shards passed./Scripts/package_app.shNo screenshot is uploaded: captures were local-only and the conceptual SVG is the sole visual artifact in this branch.
Overlap
#1299 and #1818 propose predictive notifications through the same delivery path. This decision should apply centrally before that feature is implemented; this draft does not alter #1818.
Refs #1828.