Skip to content

Render LaTeX formulas again; opaque study tool lists; 0.16.5 - #20

Merged
belugaming merged 2 commits into
mainfrom
claude/sweet-dijkstra-lbh7a4
Oct 9, 2026
Merged

belugaming merged 2 commits into
mainfrom
claude/sweet-dijkstra-lbh7a4

Conversation

@belugaming

Copy link
Copy Markdown
Owner

Formulas showed as raw $$…$$ source

Every formula, in notes, study tools and Ask AI alike, came out as its LaTeX source. Math detection itself is fine: running MarkdownView 3.0.0's preprocessing and parser on the exact text from the bug (in full and streamed token by token) finds and replaces every formula. The problem was that the math code was never compiled in.

MarkdownView defines ENABLE_MATH_RENDERING and links SwiftMath only when its LaTeX package trait is on. The trait is on by default, but Xcode projects don't pass package traits before Xcode 26.4, and CI and release builds use Xcode 26.2 (the macos-15 runner has nothing newer than 26.3). So every build so far had LaTeX compiled out. The CI log confirms it: 0 mentions of ENABLE_MATH_RENDERING, and no SwiftMath_SwiftMath.bundle in ClassNote.app, even though MarkdownView's other dependency, Highlightr, was there.

Fix: MarkdownView now comes in through a local package, Packages/MarkdownRendering. Its manifest asks for the trait (traits: ["LaTeX"]) and re-exports MarkdownView. SwiftPM honours a trait requested in a package manifest whatever the Xcode version. With this change, CI on Xcode 26.2 builds with the flag and bundles SwiftMath.

Guard: a new CI step, "Check LaTeX rendering is compiled in", fails the build if either the flag or SwiftMath's resources are missing. It failed on the current main code and passes with this change. The release workflow runs CI first, so a release can't ship without math again.

Opaque study tool lists

The study tool list, the highlight list and the note version list used .listStyle(.sidebar). That style brings the window sidebar's translucent material into the page, so the desktop showed through. They now use paneListStyle() (the opaque inset style). The main window's real sidebar keeps its normal translucent macOS look.

Version

0.16.5 (build 23), ready for the v0.16.5 tag.

🤖 Generated with Claude Code

https://claude.ai/code/session_015ihz5z81AZ27T33PMCKkaL


Generated by Claude Code

claude added 2 commits October 9, 2026 04:47
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015ihz5z81AZ27T33PMCKkaL
Formulas showed as raw `$$…$$` source everywhere (notes, study tools, Ask
AI). MarkdownView compiles its LaTeX support and links SwiftMath only
when its `LaTeX` trait is on, and an Xcode project does not pass package
traits before Xcode 26.4, so CI (Xcode 26.2) built every release without
it. MarkdownView now comes in through a local package,
Packages/MarkdownRendering, whose manifest asks for the trait. A CI step
fails the build if the flag or SwiftMath's resources are missing.

The study tool, highlight and note version lists used the sidebar list
style, which brings the window sidebar's translucent material into the
page. They use the opaque inset style now.

Version 0.16.5 (build 23).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015ihz5z81AZ27T33PMCKkaL
@belugaming
belugaming merged commit cc59472 into main Oct 9, 2026
4 checks 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.

2 participants