Gitea #9. Patch 0049 moves inline pictures and OLE objects with
their run's w:position. Patches 0050 and 0051 turn EQ fields into
Math objects; unreadable fields show their code. Round 3 findings
(lowercase \s\do tail, split subscripts, \ai/\di, italics through
OMML) fixed and covered by word.rs; no fourth review.
Co-Authored-By: Claude <noreply@anthropic.com>
Pages, cells, slides and PDF pages paint as the file says in any
appearance; only the chrome around them follows dark mode. The
kernel keeps Ely's one light scheme, sent once a view, and MuPDF
no longer inverts. Reviews now run gpt-6.1-sol at xhigh.
Co-Authored-By: Claude <noreply@anthropic.com>
Each app installs a blank file and points ShellNew at it. Explorer
lists a type only through its default class, so a type no program
handles (no default, or one naming no class) gets the app's class;
an installed handler is never replaced. Uninstall removes only what
this install wrote.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Windows checks out symlinks as files, so only Linux (CI) and macOS
(release.sh) write source archives. ci.sh skips names already on
the release; the first platform's copy stays.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Windows prints through the system dialog at the document's paper;
Linux through the desktop portal, the dialog's choices laid out by Ely.
Round 3 findings fixed without a further review, as the rules say.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The warning watch skips MuPDF's non-embedded font notice and its
repeat counts. Text and search reads are watched too: damage they meet
is kept on the document, told by the next draw or picture check, and
fails image and text exports until then.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The worker set the accessory policy after AppKit had already registered it
as a Dock app, so 11 of 15 launches showed Foreground for about 30 ms.
Now it sets LSUIElement in its main bundle's info before the kernel starts
AppKit, and fails to start unless the policy came up as accessory.
tests/scripts/dock-macos.sh samples each worker's type from its start until
the first tile; on the Mac mini 30 launches were all UIElement, and the
shipped worker fails it.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
R6.12: on macOS the worker sets LibreOffice's own NSApplication to the
accessory policy before the kit starts, so it never shows in the Dock.
R6.13: when the whole slide fits, the wheel and Up/Down (nothing
selected, no text editing) turn slides in the ElyShow editor.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Backups under .ely-old are numbered in list order, so paths near the
Windows limit still upgrade and uninstall. Uninstall checks the list
file first and puts everything back if it cannot delete it. Five
comments shortened. Round 3 was the last; ticked without review.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reinstalling deleted files Ely never installed, and a busy file left a
half-removed install. The installer now writes the top-level names it
installs (.ely-files, from packaging/windows/files.sh); upgrades and
uninstall remove only those, and releases before the list only in the
folder the registry names. It checks that every listed file can be
written, moves them all into .ely-old, and on any refusal puts them
back and exits 2. A file that cannot be written fails the install,
which removes what it created and restores the old release.
tests/scripts/windows-installer.sh covers each case.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upgrades kept ElyMark's old git folder and CEF files. The installer
now runs the uninstaller's file list before copying, only when the
folder already holds this app's exe.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The lookup is split from the developer fallback, so the tests
need no built Git and check NoGit explicitly. Shorter stage.sh comment.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
git::own returns git::NoGit when neither the app nor ElyTree has Git;
ElyMark's Git item then reads 'needs ElyTree'. Linux AppImages stand
alone, so ElyMark keeps its Git there (packages share the AppDir).
The bundle fixture now has ElyTree's executable folder.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Windows and Linux no longer stage Git or its licenses for ElyMark.
git::own looks beside the app, then beside ElyTree (sibling install
or macOS registration). R6.5 review round 1 passed; R6.6-R6.10 listed.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
0.1.5's Developer ID signing turned on the hardened runtime. UNO's
bridge maps its vtables with MAP_JIT, which needs allow-jit; without
it the worker aborts on its first request, so ElyDoc, ElyTable and
ElyShow could not start on macOS.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Real footage of the installed 0.1.5 apps, composited in Remotion with
shape morphs between sections; synthesized score and UI sounds. Logs
P3-17 (ElyTable keyboard zoom leaves the grid half-scrolled).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
An explicit open checks the session registry by file identity, so a
hard link to a shown file joins the list. Ticked after round 3.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Opening a file a tab already shows only focuses it; the recent list
now learns it too. The restart regression reopens the restored file.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A tab reopened from the session counts as already remembered, so
clearing the list survives a restart; explicit opens still join it.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Open cells keep presses inside their field, finds open the matching
cell, a closing backslash keeps the next pipe, and right presses map
through typed pipes.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Visual mode opened a pressed table whole, as Markdown source. The
component now opens only the pressed cell, in place, as its source;
Tab, Shift-Tab and the arrows walk the cells, Enter and Escape write
back in one undo step, a typed bare pipe is escaped. Adds the R6
checklist for the 0.1.5 re-release.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
All three findings were in the ignored acceptance driver's backup and
restore, not in product code; each is fixed with a regression.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>