Nigel Ihza Firdausy
fdccb413cd
fix(import): avoid scanning symlink aliases into the library
2026-10-12 01:15:34 +07:00
Claude
9e41805a12
M-edit-in: the many-photos test uses distinct files and edits before the second copy
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 14:31:29 +00:00
Claude
4ebb934c56
Merge PR #677
...
On merge: the HDR histogram is applied in develop_reporting (#712 split develop), is skipped for
draft renders (a second render per drag tick), and HdrBins::bin clamps a hand-built split so it
can't underflow (test hdr_bins_with_any_split_stay_in_range).
2026-10-11 13:09:34 +00:00
Claude
9cf47c86fe
Merge batch 30 fixes
2026-10-11 13:08:50 +00:00
Claude
7fe8f8dbd1
LR-BEHAV-UNDO: each rename-provenance fixture gets its own folder ( #874 's tests shared one and failed when run in parallel)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 13:08:37 +00:00
Claude
9978dc739d
Merge PR #643
...
# Conflicts:
# crates/engine/src/export.rs
# crates/engine/src/tests_export.rs
# crates/mcp/src/headless.rs
# crates/mcp/src/tools.rs
# 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
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-11 12:43:20 +00:00
Claude
6bc25940b8
Merge PR #780 (via claude/integrate-780)
2026-10-11 12:41:50 +00:00
Claude
bd3b058a8f
M-export: bump RENDER_CACHE_VERSION for the XYB JPEG XL decode fix
...
PR #780 changes how lossy (XYB) wide-gamut JPEG XL files decode (crates/codecs/src/jxl.rs), so cached renders of those photos are stale.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:41:12 +00:00
Claude
255b23816d
LR-EXP-PSD: Edit In makes a copy of every selected photo and opens them all ( #920 )
...
photo.editExternal takes the selection (or ids, at most 50): each photo gets its own -Edit copy
stacked on its original, the copies are selected and returned in copies (path / id / original
still name the first). Photo ▸ Edit In opens each copy in the editor.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:40:58 +00:00
Claude
4a0d04b994
Merge PR #780
...
JPEG XL export via the pure-Rust jixel crate (robmdunn; fixes #247 ).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:40:55 +00:00
Claude
4ec3494733
Merge PR #434
...
On merge: Lightroom's default profiles (Adobe Standard, Adobe Color), named by nearly every sidecar,
give no camera-profile warning; other profiles still do (test default_lightroom_profiles_are_not_reported).
The import help string keeps main's onDeleted wording and gains warnings.
2026-10-11 12:38:16 +00:00
Claude
e4a248c91f
Merge PR #755
...
On merge: the quick preview path orients like the whole-file path (preview_orientation with the
raw's header prefix, so a portrait raw whose embedded JPEG carries no orientation is not sideways),
and its doc links point at preview_window.
2026-10-11 12:37:14 +00:00
Claude
44f86dc855
LRC-LIB-FOLDERS: drop an unused import ( #947 follow-up)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:33:07 +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
b89fb8bbab
Merge branch 'claude/fix-942-cube-import-messages'
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:04:31 +00:00
Claude
d1e20f0292
LR-BEHAV-LOCALIZE: the Latin-only test face has a neutral name (follow-up to #750 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:04:23 +00:00
Claude
b04c2c831c
LR-CLOUD-SMARTPREVIEW: the shard folder name is taken with get(), not a slice (follow-up to #834 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:04:23 +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
8c4898ec04
Merge PR #645
...
# Conflicts:
# crates/engine/src/media.rs
# crates/pipeline/src/finish.rs
# crates/pipeline/src/local.rs
2026-10-11 12:03:53 +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
33686e6951
Merge PR #734
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/media.rs
# crates/raw/tests/corpus.rs
# docs/parity-checklist.md
2026-10-11 12:03:15 +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
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
8339028a80
Merge PR #794
...
# Conflicts:
# crates/engine/src/media.rs
# crates/pipeline/src/optics.rs
# docs/parity-checklist.md
2026-10-11 12:00:57 +00:00
Claude
11f41cbe97
Merge PR #813
2026-10-11 12:00:21 +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
5ba413baf2
Merge PR #625
...
# Conflicts:
# crates/engine/src/media.rs
# docs/parity-checklist.md
2026-10-11 12:00:20 +00:00
Claude
421000916e
Merge PR #667
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:00:19 +00:00
Claude
111bb42aa3
Merge PR #825
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:00:17 +00:00
Claude
8380415222
Merge PR #874
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 12:00:17 +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
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
b8d39063db
Merge PR #930
2026-10-11 11:53:12 +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
6c18c0a7c6
LR-PREF-PERFORMANCE: preview builds render the larger of view and thumbnail first (a view under 512 px no longer feeds an upscaled thumbnail, follow-up to #927 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:52:24 +00:00
Claude
95007492cc
Merge PR #927
2026-10-11 11:52:07 +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
44acde3a41
Merge PR #666
...
# Conflicts:
# apps/lightcraft/src/main.rs
# crates/engine/src/config.rs
2026-10-11 11:50:35 +00:00
Claude
b6ad706aa6
Merge PR #712
...
# Conflicts:
# crates/engine/src/export.rs
2026-10-11 11:50:06 +00:00
Claude
31734dea86
Merge PR #689
...
# Conflicts:
# crates/engine/src/media.rs
# crates/raw/src/vendor/arw.rs
2026-10-11 11:50:05 +00:00
Claude
4e6cd5d7b9
Merge PR #704
...
# Conflicts:
# docs/parity-checklist.md
2026-10-11 11:49:37 +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
edb95894b4
Merge PR #695
...
# Conflicts:
# crates/engine/src/media.rs
2026-10-11 11:47:51 +00:00
Claude
16bbaff14c
Merge PR #700
...
# Conflicts:
# crates/engine/src/media.rs
# docs/parity-checklist.md
2026-10-11 11:47:50 +00:00