Repository navigation
Release 1.14.3 - #52
Merged
Merged
Conversation
App Store build only. A document window that has been on screen, key and unobstructed for 60 s in one go asks StoreKit for a rating when the reader has settled in: at least 10 opened documents on 3 distinct days, the first one at least 7 days ago, no request yet for this version and none in the last 120 days. At most one request per app run. ReviewPrompt is the pure policy (UserDefaults keys under reviewPrompt.*, garbage reads as nothing recorded); ReviewPromptTrigger is compiled only with -DAPPSTORE, so the GitHub/Homebrew build contains none of it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The 60 s run is measured on systemUptime (no progress in sleep) and restarts when two ticks are more than 3 s apart (sleep, App Nap, a stalled main thread). A window that is not key does not tick at all: it waits for didBecomeKeyNotification and starts a fresh run; every tick stops once any window has asked. At the moment of asking the user must have produced input within the last 60 s, otherwise the prompt keeps waiting. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A text run kept the blank source lines at its ends, and the renderer turns every blank line into empty paragraphs: `## H\n\ntext` drew a whole empty line above "text" that `## H\ntext` did not, and a list followed by a blank line and a heading an extra one below it. flushTextBuffer now trims blank (and whitespace-only) lines from both ends of every chunk; blank lines between content lines are untouched. sourceLine was already the chunk's first non-blank line and is unchanged; the measurer lays out the trimmed string, so view and row height still agree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A display formula SwiftMath refuses (e.g. `\not\le`: "Unsupported \not\le combination") drew an empty row. Once per parse, on the main actor and before layout, such a `.mathBlock` becomes a ```latex code block with the same id and sourceLine, so the view, the exact-height measurer, search, selection, Source Edit landing and print/PDF all use the existing code-block path. The decision goes through the MathRendering seam (`typesets`, a parse-only check that matches MTMathUILabel's own error test); measureMathRows measures a substituted pending row as an exact code row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
When 60 s of display completes while the user has been idle, the run is reset instead of staying complete, so a reader coming back is never asked on their first touch: it takes a fresh 60 s of display that ends with input in the last 60 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blank lines around blocks no longer render as empty lines, a formula that cannot be typeset shows its LaTeX source, and the Mac App Store version may ask for a rating after real use. Co-Authored-By: Claude Opus 5.5 <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.
Two rendering fixes and a rating prompt for the Mac App Store version.
\not\le) shows as alatexcode block instead of empty space, on screen and in PDF/print, with exact row heights.842 tests pass; Debug, Release and Release with -DAPPSTORE build.