Promote develop -> stage (Android editor fixes + Pixel 3a note)#46
Merged
Conversation
OnRawMarkdownChanged parsed the buffer on every keystroke and let YamlDotNet's exception escape the RawMarkdown setter when the front matter was transiently invalid mid-edit (an unterminated quote, a half-typed list). On desktop that escaped the async-void WebView change handler (crash); on Android it re-threw out of the ~750ms dirty-poll every tick (PXBRIDGE spam + frozen WordCount/FrontMatter). Wrap the parse in try/catch: on failure keep the last-good FrontMatter and count words over the raw buffer so WordCount/ReadingTime stay live. IsDirty behavior is unchanged. The broad catch is deliberate -- PostXING.ViewModels doesn't reference YamlDotNet and IFrontMatterParser makes no promise about what Parse throws, matching the file's existing resilience catches. Adds 4 EditorViewModel tests (real parser + stub): no-throw on malformed front matter, live word count over the raw buffer, valid-after-invalid recovery + last-good retention, and the any-parser contract. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…kin-4bbd36 fix(editor): guard front-matter parse on every keystroke
…et (#45) Verified 2026-06-06: PX 4.4.606.1 deploys and runs on a Pixel 3a (codename sargo) via the existing 'bun android' path with zero code or build changes - same arm64-v8a ABI as the Pixel 7, and the API-21 SupportedOSPlatformVersion floor clears any OS a Pixel 3a can boot. The full Android editor-bridge loop (host->JS seed, JS->host getText, ~750ms dirty poll) smoke-tested green on the device. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotes accumulated
developwork up to stage via a merge commit (no squash, no back-merge — per the branch model).Commits (3):
d8af46fdocs(claude): note Pixel 3a (sargo) verified as a second Android target (docs(claude): note Pixel 3a (sargo) verified as a second Android target #45)61194baMerge fix(editor): guard front-matter parse on every keystroke #43 — Android editor fixes287e712fix(editor): guard front-matter parse on every keystrokeHeadlines:
CLAUDE.md: Pixel 3a (sargo) verified as a second Android target (2026-06-06), deployed with zero code/build changes🤖 Generated with Claude Code