Commit Graph
3496 Commits
Author SHA1 Message Date
aiongg 8241145ba7 Merge PR #3332: LR-BEHAV-TITLEBAR: a dialog leaves the macOS title bar undimmed
Conflicts: docs unioned
2026-10-31 02:09:20 +00:00
aiongg f597811c3b Merge PR #3273: LR-BEHAV-ACCESS: panels and bars are named as landmarks and toolbars
Conflicts: docs unioned, locales/ru.json and sv.json keys unioned
2026-10-31 02:09:13 +00:00
aiongg 538a77e841 Merge PR #3260: LR-BEHAV-ACCESS: a dialog is exposed to screen readers as a dialog, not a group
Conflicts: docs unioned
2026-10-31 02:09:02 +00:00
aiongg 24b817fc26 Merge PR #3253: LR-BEHAV-ACCESS: an icon button's accessible name is its label, with the shortcut as its description
Conflicts: ui-egui/tests/it/accessibility.rs (both tests kept), docs unioned
2026-10-31 02:08:57 +00:00
aiongg 2933f667fd Merge PR #3214: LR-BEHAV-ACCESS: a slider's value field is named "<slider> value" and describes how to use it
Conflicts: docs/whats-new.md and docs/parity-checklist.md (both sides unioned)
2026-10-31 02:08:26 +00:00
aiongg ef3dff08bc Merge PR #3200: MENU-BAR: shortcuts list their modifiers in one order everywhere on macOS
Conflicts: docs/whats-new.md and docs/parity-checklist.md (both sides unioned), locales/ru.json (both keys kept)
2026-10-31 02:08:10 +00:00
aiongg 7c0ec706c4 Merge PR #3167: LR-BEHAV-DIALOGS: a one-line prompt that's refused stays open and says why
Conflicts: docs/whats-new.md (both entries kept), docs/parity-checklist.md (header change list and revision rows unioned; LR-BEHAV-DIALOGS row keeps main's dialog_copy text plus this PR's addition)
2026-10-31 02:07:26 +00:00
aiongg 08fa7ca279 Merge PR #2691: LR-PREF-GENERAL: Esc in a Settings text box gives the text back instead of closing Settings 2026-10-31 02:06:58 +00:00
aiongg 8fb464f8f8 Merge PR #2075: LR-BEHAV-DIALOGS: dialog confirm buttons name their action 2026-10-31 02:06:57 +00:00
Brandon Thomas c7d7d3c0fd Merge PR #2540 (maintainer follow-up) 2026-10-30 15:26:31 -04:00
Brandon ThomasandClaude Opus 5.5 831d724b87 Reject .cube data lines that start with nan or inf
A data line such as `nan 0 0` starts with a letter and was skipped as an
unknown keyword, so a file with enough other entries still parsed.
(CodeRabbit review on #2540.)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:26:29 -04:00
Brandon Thomas b854bbb94e Merge PR #2835 2026-10-30 15:24:59 -04:00
Brandon Thomas ac4a98bc2d Merge PR #3147 2026-10-30 15:24:59 -04:00
Brandon Thomas cfdf63c6e4 Merge PR #2917
# Conflicts:
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-30 15:24:59 -04:00
Brandon Thomas 13711ace2b Merge PR #2155 2026-10-30 15:24:41 -04:00
Brandon Thomas c1fb95dfc0 Merge PR #3225 2026-10-30 15:24:30 -04:00
Brandon Thomas 273e9078de Merge PR #2969 2026-10-30 15:24:30 -04:00
Brandon Thomas 5693a3aeaa Merge PR #2540 2026-10-30 15:24:30 -04:00
Brandon Thomas bdb146be43 Merge PR #2833 2026-10-30 15:24:30 -04:00
Brandon Thomas ef83f30327 Merge PR #2834 2026-10-30 15:24:30 -04:00
Brandon Thomas 19eb08dc25 Merge PR #2909 2026-10-30 15:24:30 -04:00
Brandon Thomas b7c52c5032 Merge PR #2918 2026-10-30 15:24:30 -04:00
Brandon Thomas 181a580579 Merge PR #3366 2026-10-30 15:24:30 -04:00
Brandon Thomas 9140e8cd38 Merge PR #3267 2026-10-30 15:24:30 -04:00
Max MittelstädtandGPT-6-Luna b25808686d Reject mismatched XML closing tags
Found while testing crates/lensdb/src/xml.rs:77

Co-Authored-By: GPT-6-Luna <noreply@openai.com>
2026-10-30 06:10:13 +00:00
Dylan M. Taylor 445dd3106e Update prompt shows the app icon and accent color instead of a letter (#3362)
UPDATE_APP (native builds; craft-update is a native-only dependency) carries our 128 px icon and accent (#f2a516, its colour in ArtCraft Launcher). The updater, the self-update
helper and craft-update's startup prompt all get them through crate::UPDATE_APP; the
prompt draws the icon, the accent and "by ArtCraft" (craft-update's default developer).

craft-update is pinned to storytold/craft-libs main at 1065653e7 (#434).
Clippy fixes for Rust 1.99 in untouched code (same logic):
- crates/engine/src/cmd/export.rs
- crates/ui-egui/src/dialogs/rules_editor/rules_move.rs
- crates/ui-egui/src/panels/detail.rs
2026-10-30 01:27:49 -04:00
Nathaniel Ledford e2ec77b76a LR-BEHAV-TITLEBAR: a press below the title bar released on it is not a click outside the dialog 2026-10-29 18:47:48 -04:00
Nathaniel Ledford dc98169da8 LR-BEHAV-TITLEBAR: no title bar band under a dialog in the full-screen photo view 2026-10-29 17:56:16 -04:00
Nathaniel Ledford 9a9762b4ca LR-BEHAV-TITLEBAR: the title-bar handle is not drawn while a dropdown is open in the dialog 2026-10-29 15:11:49 -04:00
Nathaniel Ledford 62c3344d3c LR-BEHAV-TITLEBAR: a dialog leaves the integrated title bar undimmed
On macOS the window buttons are drawn by the OS above our content, so a backdrop over the
top bar left them bright on a dimmed bar. As under a sheet, the backdrop now stops below the
bar, the bar keeps its color with its controls inactive, a click on it is not a click outside
the dialog, and its empty space still moves the window.
2026-10-29 13:47:52 -04:00
Nathaniel Ledford a0c61edb6e LR-BEHAV-ACCESS: an empty filmstrip is still a landmark and its reason is read 2026-10-29 13:38:03 -04:00
Nathaniel Ledford 4860892332 LR-BEHAV-ACCESS: panels and bars are named as landmarks and toolbars for screen readers 2026-10-29 13:38:03 -04:00
Nathaniel Ledford 83aef8d48b LR-BEHAV-ACCESS: an alert dialog carries what it says as its accessible description 2026-10-29 13:36:43 -04:00
Nathaniel Ledford c9aa1d3b81 LR-BEHAV-ACCESS: the dialog-role comments and docs say what is exposed, not what VoiceOver does 2026-10-29 13:36:43 -04:00
Nathaniel Ledford 443bc5ae03 LR-BEHAV-ACCESS: every dialog is announced as a modal dialog (an alert dialog for the prompts) instead of a group with the title 2026-10-29 13:36:43 -04:00
Nathaniel Ledford c2529503fd LR-BEHAV-DIALOGS: the Move confirm counts restored photos apart from moved ones 2026-10-29 12:22:43 -04:00
Nathaniel Ledford b1d3aa8d6b Merge branch 'main' into mac-glyph-order 2026-10-29 09:08:35 -04:00
Nathaniel Ledford 59f83f5c7c MENU-BAR: with Import Photos… unbound, the no-photos line says so without a shortcut 2026-10-29 08:47:39 -04:00
Nathaniel Ledford f1a53e29b2 MENU-BAR: the no-photos line in the grid shows the Import shortcut as bound, in the menu bar's modifier order
The line under "No photos" spelled Cmd+Shift+I on every platform and followed no rebinding. It now goes through shortcut_text like every other place the app shows a shortcut.
2026-10-29 08:43:39 -04:00
Nathaniel Ledford 16b984831b LR-BEHAV-DIALOGS: ui.dialog.confirm says where a new folder was made, as the dialog's button does 2026-10-28 19:16:21 -04:00
radialmonsterandClaude Opus 5.5 20c1f3c057 raw: test the grey JPEG XL restore through decode
The existing synthetic lossy RGB fixture tiles are re-declared grey by a
header edit (colour space RGB to Grey, dropping the 6-bit primaries field
a grey encoding does not carry, per the ColourEncoding bundle). Their XYB
frame data is unchanged, so they decode as one grey plane whose rendered
channels differ. The test checks decode against the gradient's BT.2100
luminance in the linear and sRGB curves.

Refs #275

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ti8KemZbjE2ZgHgV1q1BM
2026-10-28 13:44:42 -04:00
radialmonsterandClaude Opus 5.5 953c4ee5fc raw: decode lossy single-plane (grey) JPEG XL tiles in LinearRaw DNGs
Lightroom Classic's HDR and panorama merges of monochrome raws store a
one-plane LinearRaw image as lossy (XYB) JPEG XL tiles whose codestream
declares a grey colour encoding (16-bit float with a linear curve, or
16-bit integer with the sRGB curve). Those were refused as "lossy JPEG XL
tile with a single colour plane", so the files opened preview-only.

A lossy grey tile is still coded as three XYB channels. It is now
restored like the RGB case: jxl-oxide renders linear sRGB (never the
declared encoding, which would clip), the single plane is the luminance
(CIE Y, D65) of that, then the declared transfer curve is applied.
One plane must be declared grey and three RGB; HDR curves, other white
points and intensity targets above 255 stay unsupported.

RENDER_CACHE_VERSION 70 -> 71: files that showed their embedded preview
before render from raw data now, under the same content key.

Refs #275

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ti8KemZbjE2ZgHgV1q1BM
2026-10-28 13:44:42 -04:00
Nathaniel Ledford d59726393f LR-BEHAV-DIALOGS: a Rename Folder prompt confirmed unchanged keeps a name with spaces at its ends, and ui.dialog.confirm shows why a prompt was refused 2026-10-28 13:05:53 -04:00
Max MittelstädtandGPT-6-Luna 7ab2575505 Reject ZIP entries with inconsistent decoded sizes
Found while testing crates/geocode/src/unzip.rs:64

Co-Authored-By: GPT-6-Luna <noreply@openai.com>
2026-10-28 16:41:59 +00:00
Nathaniel Ledford 17a9e97a38 LR-BEHAV-DIALOGS: a one-line prompt that's refused stays open and says why
A refused Rename Folder, New Folder on Disk or other name prompt closed without a word.
It now stays open with the typed text and toasts the engine's message. A New Folder on
Disk that works says where the folder is.
2026-10-28 11:42:23 -04:00
Nathaniel Ledford 3613a85dcb LR-BEHAV-ACCESS: icon buttons are named by their label, the shortcut is their description 2026-10-28 10:14:39 -04:00
Nathaniel Ledford 4c1e996a64 LR-BEHAV-DIALOGS: the confirm label, the slideshow export body and the contact sheet body stay under the complexity limit
main denies cognitive complexity above 30: ok_label (now with the Export count), slideshow_export_body and contact_sheet_body each split out one part (the fixed labels, the summary line and the size rows). No behavior change.
2026-10-28 09:52:17 -04:00
Nathaniel Ledford 2bacaaa717 i18n: Swedish stacks line names its photos the count-neutral way 2026-10-28 08:53:55 -04:00
Nathaniel LedfordandClaude Opus 5.5 039a44ea8c LR-BEHAV-DIALOGS: an unusable denoise model closes, export guide names the real button
The unsupported AI Denoise model dialog only closes, but its button said Install or Accept & Download; it now says Close, like the face model dialog. The export guide no longer bolds Export, which is not the label: the button names the photo count (Export 3 Photos).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 08:53:55 -04:00
Nathaniel LedfordandClaude e4f16fa90c LR-BEHAV-DIALOGS: own verbs for Auto-Stack and Capture Time, test the button itself
Auto-Stack and Capture Time confirms reused the translation keys of a
noun ("Stack") and a field label ("Change"), so other languages showed
"Stapel" or "変更方法" on the button. They now have their own keys,
"Create Stacks" and "Change Time", in all 13 catalogs. Rename Keyword
says "Merge Keywords" when the new name already exists, as Rename
Person does. The Polish rename help says the file name changes.

The confirm label match is exhaustive now (no unreachable "OK" arm).
User guides, the Apple Photos note and the parity rows no longer tell
people to press OK in Export.

Tests read the text painted inside button:dialogOk, reach the plural
Export label, cover Auto-Stack and Slideshow Export plurals, Rename
Person, smart album Save, and check the German translation of the
verbs.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-28 08:53:55 -04:00