Merge development into main — v0.8.5 #229

Merged
gronod merged 13 commits from development into main 2026-09-07 18:34:53 +01:00
13 Commits
Author SHA1 Message Date
gronod 95a19132fb Merge pull request 'feat(stage5): install generated ICC/ICM profiles into the OS (#223)' (#228) from feat/223-systemic-profile-installation into development
Reviewed-on: #228
2026-09-07 18:31:24 +01:00
gronod 520d0a2ab5 Merge pull request 'feat(cal): printer linearization via printcal / applycal (#224)' (#227) from feat/224-printer-calibration-curves into development
Reviewed-on: #227
2026-09-07 18:31:09 +01:00
gronod 9cc87ca295 Merge pull request 'feat(ci): build styled macOS DMG headlessly via dmgbuild (#189)' (#222) from feat/headless-dmg-dmgbuild into development
Reviewed-on: #222
2026-09-07 18:06:38 +01:00
gronod 980b44bccb feat(stage5): install generated ICC/ICM profiles into the OS (#223)
Build Windows Packages / Build Windows (push) Successful in 7m45s
Build Linux Packages / Build Linux (push) Successful in 9m59s
Build macOS Packages / Build macOS (Intel) (push) Successful in 11m12s
Build macOS Packages / Build macOS (Apple Silicon) (push) Successful in 11m18s
Add Install Profile to System after a successful profcheck run. Copies the
working-directory artefact into the platform colour store (Windows ICM,
macOS ColorSync, Linux colord) without moving it. Collisions require
Overwrite / Rename / Cancel; permission errors mention elevation. When
printcal curves were applied (#224) the success toast records that.
2026-09-07 17:03:10 +00:00
gronod 24318bca58 feat(cal): printer linearization via printcal / applycal (#224)
Add an optional Stage 0 calibration dashboard so CMYK / RIP workflows can
linearize and set ink limits before a full profile. CAL_ artefacts keep
the 5-stage wizard unchanged when calibration is skipped.

printtarg receives -K only for profiling layouts; colprof embeds curves
with applycal. Existing .cal files require Overwrite / Rename / Cancel.
Bump version to v0.8.5.
2026-09-07 16:59:35 +00:00
gronod a147064722 Merge pull request 'fix(macos): stop Monterey WKWebView flash-loop (#225)' (#226) from fix/225-monterey-webview into development
Fixes #225.

Hide the window until first paint, force dark WKWebView backing, defer Stage 5 WebGL,
log unexpected window/Web Content death, and document macOS 12+ / Monterey support.
Five commits kept for Monterey bisection.
2026-09-07 17:40:40 +01:00
gbolton2008 87e8e65771 docs(macos): support matrix, log path, and Monterey troubleshooting (#225)
Build Windows Packages / Build Windows (push) Canceled after 25s
Build Linux Packages / Build Linux (push) Canceled after 27s
Build macOS Packages / Build macOS (Apple Silicon) (push) Successful in 10m39s
Build macOS Packages / Build macOS (Intel) (push) Successful in 10m50s
Document the 12.0+ policy, WebGL best-effort on Monterey Intel,
iccery.log location, and DiagnosticReports WebKit helpers.
2026-09-07 15:55:04 +00:00
gbolton2008 3cf2a0f441 fix(macos): hide window, dark backgroundColor, require 12.0 (#225)
visible:false avoids the first white WKWebView frame. backgroundColor
matches the dark theme. LSMinimumSystemVersion 12.0 stops Catalina
and Big Sur installing a binary that flash-loops.
2026-09-07 15:55:04 +00:00
gbolton2008 fb766c15d6 fix(window): show_main_window, dark WKWebView backing, os info (#225)
Keep the window hidden until the frontend signals first paint,
re-apply #1A1A22 NSWindow/WKWebView backing (drawsBackground=NO),
and expose os/arch/macos version for the Intel Monterey notice.
2026-09-07 15:55:04 +00:00
gbolton2008 26b2337a16 fix(host): log unexpected window destroy and Web Content death (#225)
Helper-process crashes do not produce an ICCery Crash Reporter
dialog. Record CloseRequested vs unexpected Destroyed, and detect
wry 'web content process terminated' strings for iccery.log.
2026-09-07 15:55:04 +00:00
gbolton2008 3e7ece746b fix(webgl): defer Stage 5 renderer and survive context loss (#225)
Eager THREE.WebGLRenderer + rAF during DOMContentLoaded respawns
WKWebView on Monterey Intel. Create the context only when Stage 5
is shown, feature-detect WebGL, pause the loop when hidden, and
leave a fallback UI if the GPU context is missing or lost.
2026-09-07 15:55:04 +00:00
gronod 6976ced610 feat(ci): build styled macOS DMG headlessly via dmgbuild (#189)
Build Windows Packages / Build Windows (push) Canceled after 10s
Build Linux Packages / Build Linux (push) Canceled after 14s
Build macOS Packages / Build macOS (Intel) (push) Successful in 10m34s
Build macOS Packages / Build macOS (Apple Silicon) (push) Successful in 10m43s
- Add scripts/build-dmg.py using dmgbuild to generate DMGs with custom background art and icon locations without Finder AppleScript.
- Update .gitea/workflows/build-macos.yml and .github/workflows/build-macos.yml to package the .app bundle using dmgbuild in a headless virtual environment.
- Resolves missing DMG background in CI while preventing AppleScript GUI automation timeouts.
2026-09-06 22:04:36 +01:00
gronod f47e65ee1f Merge pull request 'Main' (#221) from main into development
Reviewed-on: #221
2026-09-06 21:11:22 +01:00