Claude
4ff1d9761d
Batch 30: a selected slider keeps only its arrow keys, so shortcuts work after a slider click ( #884 ); tests follow the merged dialog and panel state
...
#884 focuses a develop slider on click so the wheel and arrows adjust it, but a focused widget
owned the whole keyboard, so after touching a slider no shortcut fired (O for the mask overlay,
caught by mask_adjustments_hide_overlay_without_disabling_the_mask). Now a selected slider owns
the arrow keys only. The wheel test opens the Edit panel explicitly (the demo may start on it, and
panel.edit then toggles it shut), and the Export dialog snapshot is 546 px wide since #833 's
nine watermark positions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:59:15 +00:00
Claude
870eaa74e6
KEY-SLIDER-WHEEL: the wheel-nudge test reads exposure as a number (follow-up to #884 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:34:32 +00:00
Claude
47b5e0ae1b
Batch 30: cargo fmt over the merged PRs
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:32:03 +00:00
Claude
37b26c56a3
Merge batch 29b ( #946 , #947 , #953 , #950 )
...
# Conflicts:
# Cargo.toml
# crates/engine/src/rename.rs
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# crates/ui-egui/src/icons.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/menubar.rs
# crates/ui-egui/src/menus.rs
# crates/ui-egui/src/panels/left.rs
# docs/whats-new.md
2026-10-11 12:08:44 +00:00
Claude
d761e1b231
LR-PREF-INTERFACE: sort the test module list after merging #950 (rustfmt)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:07:17 +00:00
Claude
155ad70c6e
LR-PREF-INTERFACE: French and Ukrainian appearance strings (modes, themes)
...
PR #950 gave fr and uk only the three favourites strings; add the thirteen
Appearance Mode / theme strings the other locales got, translated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:06:54 +00:00
Claude
10ebeccdc8
Merge PR #950
...
# Conflicts:
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/panels/dialogs.rs
# crates/ui-egui/src/state.rs
# docs/parity-checklist.md
2026-10-11 12:06:31 +00:00
Claude
2e5a9f92ca
LR-EXP-PSD: settings path fields use TextField; Windows default editor via Explorer; PackBits encoder without indexing
...
- Settings ▸ General ▸ External Editing: the PhotoCraft location and Other editor
fields move from egui::TextEdit to TextField (edit menu, Esc restores).
- Edit In with the system default on Windows starts explorer.exe with the file
as one argument instead of cmd /C start, which read & ^ % | in file names as
shell syntax.
- psd::packbits walks the row with first()/get()/split_at_checked instead of
direct indexing and slicing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:05:13 +00:00
Claude
acdfa08f00
Merge branch 'claude/fix-922-denoise-toggle'
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:04:31 +00:00
Claude
b89fb8bbab
Merge branch 'claude/fix-942-cube-import-messages'
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:04:31 +00:00
Claude
e1016acc0f
Merge PR #953
...
# Conflicts:
# crates/codecs/src/lib.rs
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-11 12:03:58 +00:00
Claude
59011d114f
Merge PR #617
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:03:31 +00:00
Claude
f7ffa1433c
Issue #947 : compare a cross-volume move's copy in 1 MiB chunks; Move to Folder… uses the shared folder picker
...
move_across_volumes read both whole files into memory to compare them; it now
compares lengths first, then streams 1 MiB chunks. The grid's Move to Folder…
asks through pick::ask (background dialog where the host has one) like the
other folder pickers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:03:29 +00:00
Claude
45a6a42ebf
Merge PR #947
...
# Conflicts:
# crates/ui-egui/locales/de-formats.json
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es-formats.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr-formats.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja-formats.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br-formats.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru-formats.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk-formats.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans-formats.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant-formats.json
# crates/ui-egui/locales/zh-hant.json
2026-10-11 12:02:51 +00:00
Claude
a0e422ce4a
Merge PR #752
...
# Conflicts:
# crates/engine/src/cmd/develop.rs
# crates/engine/src/files.rs
# docs/mcp.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-11 12:02:46 +00:00
Claude
56a62f6d8b
LRC-LIB-CATALOG-SWITCH: a failed library switch keeps the current library open; library names valid on Windows
...
Check the target (Lightroom catalog, file, unreadable folder, locked by another
program) with Session::check_library before closing the open library, and if
opening still fails, reopen the previous one (both errors reported if that fails
too). New Library names reject Windows-reserved characters and trailing dots.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:02:43 +00:00
Claude
6b22c5ca25
Merge PR #789
...
# Conflicts:
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/panels/left.rs
# docs/parity-checklist.md
2026-10-11 12:02:10 +00:00
Claude
76fc27a7bc
Merge PR #791
...
# Conflicts:
# Cargo.lock
# apps/lightcraft/src/main.rs
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-11 12:01:19 +00:00
Claude
c9d131bfbc
Merge PR #946
...
# Conflicts:
# crates/engine/src/library.rs
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# crates/ui-egui/src/menus.rs
# crates/ui-egui/src/panels/settings.rs
# crates/ui-egui/src/state.rs
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-11 12:01:18 +00:00
Claude
6308ca1088
Merge PR #547
...
# Conflicts:
# crates/ui-egui/src/panels/detail.rs
2026-10-11 12:00:46 +00:00
Claude
7ff683f037
Merge PR #750
2026-10-11 12:00:20 +00:00
Claude
477c078b35
Merge PR #834
2026-10-11 12:00:20 +00:00
Claude
111bb42aa3
Merge PR #825
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:00:17 +00:00
Claude
d7f868fc6d
LR-EDIT-DETAIL-DENOISE: dismissing the model setup turns AI Denoise back off ( #922 )
...
Turning on AI Denoise without a model opens Settings > AI Denoise and
keeps a pending request, so the switch showed checked and Settings
offered "Cancel pending action". Closing the setup with no model
download or installation running now drops that request: the switch
goes back off and nothing claims to be pending. A download started
before closing still turns AI Denoise on when it finishes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:00:15 +00:00
Claude
da008ce53c
LR-IMP-PROFILES: .cube-only imports report their profiles and failures ( #942 )
...
File > Import Profiles & Presets... now builds one toast for both halves
(a second toast replaced the first, so a .cube-only import said "No new
presets"). The preset half is skipped when no preset files were picked,
and profile.import's failures are shown with their reason. profile.import
also reports .cube files and zips it couldn't read instead of dropping
them silently. The command's result carries the profile half under
"profiles".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:00:08 +00:00
Claude
7ecb0b0191
Merge PR #915
...
# Conflicts:
# crates/engine/src/media.rs
# crates/raw/src/vendor/crx.rs
# crates/ui-egui/locales/de.json
# docs/gaps.md
# docs/parity-checklist.md
# docs/raw-parity.md
# docs/whats-new.md
2026-10-11 11:58:15 +00:00
Claude
17dfa9709e
Merge PR #926
...
# Conflicts:
# Cargo.lock
# Cargo.toml
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# xtask/src/layers.rs
2026-10-11 11:57:45 +00:00
Claude
3b0131aaea
Merge batch 28 fix
2026-10-11 11:57:35 +00:00
Claude
2efa01767f
Batch 28: resolve the leftover #685 test conflict in tests_panels.rs (both album tests kept)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:57:29 +00:00
Claude
05939cbc54
Merge PR #928
...
# Conflicts:
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
2026-10-11 11:53:13 +00:00
Claude
5861591307
Merge PR #948
...
On merge: metadata.downloadPlaceNames accepts plain http only for the loopback address itself
(http://127.0.0.1.example.com/ and http://127.0.0.1@host/ are refused; test
download_base_is_https_or_loopback_only).
2026-10-11 11:52:57 +00:00
Claude
62ece65ac9
Merge PR #664
...
# Conflicts:
# crates/engine/src/tests_export.rs
# crates/mcp/src/headless.rs
# crates/mcp/src/tools.rs
2026-10-11 11:50:59 +00:00
Claude
9dc0d0b62b
Merge PR #685
...
# Conflicts:
# crates/ui-egui/src/panels/grid.rs
# crates/ui-egui/src/tests_panels.rs
# docs/parity-checklist.md
2026-10-11 11:49:25 +00:00
Claude
efd29ef21a
Merge branch 'claude/integrate-batch-27' into claude/integrate-batch-28
2026-10-11 11:48:59 +00:00
Claude
72d77d7b41
Batch 27: close two tests in tests_masking.rs (the merges of #884 and #766 dropped their braces)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:48:59 +00:00
Claude
2fedd92077
Batch 28: close the faces-toggle test (the merge of #690 dropped its brace)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:48:32 +00:00
Claude
40492d238e
Merge PR #690
...
# Conflicts:
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# crates/ui-egui/src/tests_panels.rs
# docs/parity-checklist.md
2026-10-11 11:48:06 +00:00
Claude
0f9415b320
Merge PR #688
2026-10-11 11:47:28 +00:00
Claude
d098ffac42
Merge PR #665
2026-10-11 11:47:27 +00:00
Claude
96988afe6d
Merge PR #696
2026-10-11 11:47:26 +00:00
Claude
1f3bfbdb25
Merge PR #698
2026-10-11 11:47:26 +00:00
Claude
b46adf0640
Merge PR #720
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 11:47:25 +00:00
Claude
c97b2790d3
Merge PR #843
...
# Conflicts:
# crates/engine/src/export.rs
# docs/parity-checklist.md
2026-10-11 11:46:15 +00:00
Claude
1d11e5bd89
Merge PR #739
...
# Conflicts:
# crates/ui-egui/src/panels/detail.rs
# docs/parity-checklist.md
2026-10-11 11:45:30 +00:00
Claude
06ef27bb37
Merge PR #751
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 11:44:45 +00:00
Claude
f7730b5877
View: end_frame keeps its doc comment ( #945 put lights_out under it)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:44:33 +00:00
Claude
34b55101fe
Merge PR #786
...
# Conflicts:
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/panels/dialogs.rs
2026-10-11 11:44:25 +00:00
Claude
3ac2b21d9e
Merge PR #900
...
# Conflicts:
# docs/gaps.md
# docs/parity-checklist.md
2026-10-11 11:44:12 +00:00
Claude
38f16ff1b4
Merge PR #945
2026-10-11 11:43:08 +00:00
Claude
33a29dcdc3
Merge PR #907
2026-10-11 11:43:08 +00:00