Conversation
A release flagged critical forces a non-dismissible 'Security update required' notice on both surfaces (red, shield icon, advisory link), so a vulnerable build can be patched without the user ignoring it. - update_check reads custom manifest fields via Update.raw_json: critical, severity, advisory (unsigned — the binary is still signature-verified at install, so this can only force-with-update, never run a bad binary). - Store: updateMandatory/updateSeverity/advisoryUrl, applyUpdateInfo helper, openAdvisory. When mandatory, the notice can't be dismissed on either surface. - Release workflow: mark_critical dispatch input or a 'security-critical' PR label injects critical/severity/advisory into latest.json. - Demo: the demo update is critical end-to-end (banner -> download -> restart -> greeting). Spec: REQUIREMENTS.md (App Updates / mandatory). 289 tests (+3). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…urfaces Review follow-ups: - installUpdate/checkRecentlyUpdated now go through the storage util (like the rest of the store) instead of raw localStorage — it already handles the Node 26+ localStorage-throws case the ad-hoc try/catch was guarding. - Drop the redundant titlebar update icon (the editor banner + sidebar widget cover all states) and suppress the dismissible legacy nudge when the update is mandatory, so a forced security update shows one consistent message. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a "Today's date" item to the root slash menu that inserts the current date as YYYY-MM-DD. Placed in the root (not the Insert submenu) so typing /today filters to it directly, since the menu filter only matches the current submenu. formatToday() builds the string from local calendar components rather than toISOString() so it never drifts a day near midnight. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Derive updateMandatory/advisoryUrl as computed off updateInfo instead of parallel refs hand-synced in applyUpdateInfo — also fixes stale flags after the demo install nulls updateInfo (added a test). - Drop updateSeverity end-to-end: plumbed Rust->store->export but read by nothing (UI styles off the mandatory flag, not severity). - UpdateNotice: split the overloaded 'critical' variant into orthogonal phase + critical, collapsing the duplicated text fork and over-built showDownload into one phase switch. - onAvailable?.(applyUpdateInfo) directly. 307 tests pass; clippy + vite build clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The curl installer used stale electron-builder asset names (canonic-arm64.zip, canonic-x86_64.AppImage) that 404 against current Tauri releases. Use the real Tauri bundle names (canonic_<v>_universal.dmg, _amd64/_aarch64.AppImage, _x86_64/_aarch64.flatpak), mount the DMG on macOS, and install via Flatpak on Arch/Alpine (musl can't run the AppImage; Arch ships no FUSE by default). README install section corrected to what CI ships; new PKG-INS spec section added. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
build-flatpak was x86_64-only because the gnome-47 flatpak-builder container image has no arm64 variant (docker pull fails on arm64 runners). Drop the container; apt-install flatpak-builder and pull the GNOME 47 runtime from Flathub, building natively per-arch (x86_64 on ubuntu-latest, aarch64 on ubuntu-24.04-arm). Brings CI in line with the PKG-FPK spec, which already required both arches. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Linux deb/AppImage/Flatpak now use a transparent floating-glyph icon instead of the black-plate square. Derived 1:1 from the existing icon.png (black background knocked out via un-premultiply over black), so gradients and block layout are unchanged. icon.icns/icon.ico left untouched, so macOS/Windows keep the plated square icon. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Comments anchor to the doc via stored quotedText. When that text is edited away, the editor (source of truth for highlight matching) reports the unmatched comment ids via store.setStaleCommentIds; the panel shows a "Text has changed" badge + strikethrough instead of a highlight that silently goes missing. Adds the comment-anchors util + unit tests, a demo stale comment, and BCM spec scenarios. Co-Authored-By: Claude Opus 4.8 <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.
Promotes the current
devwork tomain. Merging this PR triggers a release build (release.yml runs on PR close→main: version bump + full multi-platform build + publish). Add theno-releaselabel before merging if you want to land these without cutting a release.This session
canonic_<v>_universal.dmg,_amd64/_aarch64.AppImage,_x86_64/_aarch64.flatpak), mounts the DMG on macOS, and installs via Flatpak on Arch/Alpine (musl can't run the AppImage; Arch ships no FUSE). README + newPKG-INSspec aligned.gnome-47flatpak-builder container has no arm64 image; dropped the container, apt-installflatpak-builder+ pull the GNOME 47 runtime from Flathub, build per-arch (ubuntu-latest/ubuntu-24.04-arm). Matches the existingPKG-FPKspec.icon.png(black plate knocked out via un-premultiply).icon.icns/icon.icountouched, so macOS/Windows keep the plated icon.comment-anchorsutil + tests, demo entry,BCMspec scenarios.Also on dev (prior)
/todayslash command inserts the current date (ISO 8601).Tests
All 307 tests pass locally (
npm test).Validation note
The aarch64 Flatpak CI change can only be fully validated by an actual release run; @johnjazzi is also testing the Flatpak on an Alpine arm64 machine.
🤖 Generated with Claude Code