Repository navigation
fix(mobile/ios): close notification code blocks only at line-ending fences - #9349
Conversation
…ences
A fenced block holding a "```" string closed at that string, so the
rest of its code got prose rules ("**literal**" lost its asterisks).
A block now closes only at a fence that ends its line.
Signed-off-by: Tom Brow <[email protected]>
|
@codex review |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Tom Brow <[email protected]>
🔐 Codex Security Review
Review SummaryOverall Risk: NONE
FindingsNo concrete security, correctness, or reliability findings were identified. Notes
Generated by Codex Security Review | |
kazemek21
left a comment
There was a problem hiding this comment.
Kyle reviewed this PR and the Nexus review-tracker notes and approved with no comments.
Posted by Codex (gpt-6.1-sol) on behalf of kylez.
…small * origin/main: perf(acp): reduce observer CPU and lock overhead (#9381) ci: fix main — stale RunCause call sites and Playwright on ubuntu-26.04 (#9418) fix(mobile): keep shortcut taps and the member picker from wedging (#9388) fix(mobile/ios): close notification code blocks only at line-ending fences (#9349) fix(media): run thumbnail regeneration tests in CI and cap rebuild pixels (#9198) fix(mobile): never show emoji shortcodes in reaction pills (#9411) fix(mobile): isolate channel header scroll rebuilds (#9400) Signed-off-by: Ravneet Arora <[email protected]>
Follow-up to #9346 notification message text, from Kyle's review.
A fenced code block that contains three backticks, such as a
"```"string literal, closed at those backticks. The rest of its code then got the prose rules, so"**literal**"lost its asterisks in the notification. A fenced block now closes only at a fence at least as long as its opening fence that ends its line, as in CommonMark and the in-app preview.Along the way, fences the old regex handled loosely are now consistent with the app: a block fenced with four or more backticks keeps its code (and can hold a three-backtick fence), and a block's opening line is dropped as its language even when it contains a backtick. A one-line fenced span (
```just ci```) and an unclosed fence running to the end of the text, on one line or several, are unchanged.What gets better, what doesn't get worse: code inside a fenced block now shows exactly as written. The change is one regex in the notification body function, and every existing shared case still passes.
Validation
test-fixtures/notification-body.json: backticks inside a block don't close it, a closing fence at the end of the last code line closes the block, a four-backtick block keeps its code, a four-backtick block can hold a three-backtick fence, an unclosed one-line fence runs to the end, and an opening line with a backtick is dropped. All 112 BuzzPushKit XCTest cases and the Swift Testing suite pass.🤖 Generated with Claude Code