Skip to content

Promote develop -> stage (Android editor fixes + Pixel 3a note)#46

Merged
ChrisPelatari merged 3 commits into
stagefrom
develop
Jun 6, 2026
Merged

Promote develop -> stage (Android editor fixes + Pixel 3a note)#46
ChrisPelatari merged 3 commits into
stagefrom
develop

Conversation

@ChrisPelatari

Copy link
Copy Markdown
Member

Promotes accumulated develop work up to stage via a merge commit (no squash, no back-merge — per the branch model).

Commits (3):

Headlines:

🤖 Generated with Claude Code

ChrisPelatari and others added 3 commits June 5, 2026 14:25
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>
@ChrisPelatari ChrisPelatari merged commit d892c0e into stage Jun 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant