Skip to content

Fix WidgetKit font archive compatibility on macOS 27 - #100

Merged
Duoasa merged 1 commit into
mainfrom
codex/0.7.7-build1-development
Oct 14, 2026
Merged

Duoasa merged 1 commit into
mainfrom
codex/0.7.7-build1-development

Conversation

@Duoasa

@Duoasa Duoasa commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Change

On a macOS 27 installation, the released widget produces timelines but NotificationCenter rejects both timeline and placeholder views with CodablePlatformFont.invalidFont, leaving an empty frame. Its custom fonts were created from in-memory CGFont data without a source URL.

Use validated file-backed Core Text font descriptors in the widget extension so the archived font retains its bundled URL. Preserve the exact Asta Sans face, sizes and weights; invalid assets fall back to system fonts. The main app keeps its existing direct-data fonts and same-name font protection. Development identity: 0.8.2 Build 10 (internal 74).

Specification

  • WidgetKit contract, QV-DESIGN-WIDGET-001, WIDGET-05: Accepted / Verifying for the compatibility fix.
  • No snapshot schema, App Group, network, account or layout changes.

Verification

  • Two focused tests passed: three bundled faces retain URL, size and glyphs after descriptor reconstruction; missing, corrupt and mismatched faces reject safely.
  • Confirmed the previous in-memory fonts have no source URL; the new descriptors do.
  • Debug arm64 app/widget build passed; development app restarted and 234 inputs, 13 assets, bundle/backup and loaded paths verified.
  • After explicit owner authorization, a locally signed Release arm64 Build 10 was installed at /Applications/QuotaView.app, preserving the stable identity and App Group and fully backing up the old app. The new extension loaded the bundled fonts, the system loaded a new timeline successfully, and the owner confirmed the desktop widget is visible. This validates the current Medium instance on this Mac; other devices, Small and other appearance/data states remain unverified.

Source integration and explicitly authorized local signed installation only. No notarization, public Release or appcast update.

@Duoasa
Duoasa merged commit f632288 into main Oct 14, 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