Brandon Thomas
e78e165594
Merge PR #929
2026-10-14 21:54:54 -04:00
Brandon Thomas
d837ab1455
Merge PR #912
...
# Conflicts:
# crates/ui-egui/locales/de-formats.json
# crates/ui-egui/locales/es-formats.json
# crates/ui-egui/locales/fr-formats.json
# crates/ui-egui/locales/ja-formats.json
# crates/ui-egui/locales/pt-br-formats.json
# crates/ui-egui/locales/ru-formats.json
# crates/ui-egui/locales/uk-formats.json
# crates/ui-egui/locales/zh-hans-formats.json
# crates/ui-egui/locales/zh-hant-formats.json
2026-10-14 21:54:53 -04:00
Brandon Thomas
6ce8d5a571
Merge PR #904
...
# Conflicts:
# crates/ui-egui/locales/ru.json
2026-10-14 21:54:51 -04:00
Brandon Thomas
618b4c723a
Merge PR #821
...
# 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-14 21:54:47 -04:00
skylar taylor-barrick
af4c5e102c
fix(import): report and optimize Lightroom catalogs ( #1406 )
...
Task: LRC-LIB-CATALOG-IMPORT
Count offline records, Local promotions and virtual copies correctly. Keep destination, warnings and errors in a persistent import result, with Show in Library clearing filters. Preserve library-switch ownership, reimport identities, existing edits and one-step undo.
Avoid repeated missing-original probes and unnecessary staged-photo, catalog-operation and develop-patch copies. Preserve upstream phased progress and typed cancellation. Address Astra review findings with regression coverage.
Validated the combined main tree with all eight cargo xtask ci gates (3,462 passing test executions; zero failures), fresh 30k import/persistence/metadata checks, duplicate-free same-session and reopened reimports, and visually inspected headless screenshots. Historical performance comparisons apply to the f730805d production changes before main integration; native Windows import/GUI acceptance remains unqualified.
Generated with Codex.
2026-10-15 03:44:15 +02:00
Jason Baldwin
3aa6b3ba31
Merge slideshow-templates into slideshow-export (origin/main: batch 35)
...
# Conflicts:
# docs/parity-checklist.md
2026-10-14 14:42:03 +02:00
Jason Baldwin
5f3bdbcb73
Merge slideshow-titles into slideshow-templates (origin/main: batch 35)
...
# Conflicts:
# docs/parity-checklist.md
2026-10-14 14:39:47 +02:00
Jason Baldwin
7919c1471d
Merge slideshow-overlays into slideshow-titles (origin/main: batch 35)
...
# Conflicts:
# docs/parity-checklist.md
2026-10-14 14:37:20 +02:00
Jason Baldwin
f776d98167
Merge slideshow-composer into slideshow-overlays (origin/main: batch 35)
...
# Conflicts:
# docs/parity-checklist.md
2026-10-14 14:35:02 +02:00
Jason Baldwin
b60c74a6d7
Merge slideshow-playback into slideshow-composer (origin/main: batch 35)
...
# Conflicts:
# crates/engine/src/import.rs
# crates/engine/src/media.rs
# docs/parity-checklist.md
2026-10-14 14:31:53 +02:00
Jason Baldwin
3aaadd1456
Merge origin/main into slideshow-playback (batch 35: tracker summary refreshed, slideshow rows kept)
2026-10-14 14:29:54 +02:00
Brandon Thomas and Claude Opus 5.5
180d400cdd
Batch 35: one header line per tracker doc, one 2026-10-13 section in What's New, parity summary refreshed, rustfmt after merges
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 01:59:55 -04:00
Brandon Thomas
48b9a5e21f
Merge PR #1132
...
# Conflicts:
# crates/engine/src/lightroom_job.rs
2026-10-14 01:40:32 -04:00
Brandon Thomas
418f6255be
Merge PR #1543
...
# Conflicts:
# crates/engine/src/export.rs
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-14 01:40:03 -04:00
Brandon Thomas
aa0f9a5666
Merge PR #1536
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-14 01:39:49 -04:00
Brandon Thomas
e783f705dc
Merge PR #1483
2026-10-14 01:39:00 -04:00
Brandon Thomas
1dd41b1872
Merge PR #1550
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:38:56 -04:00
Brandon Thomas
4d0e11651a
Merge PR #1546
...
# Conflicts:
# crates/engine/src/tests.rs
2026-10-14 01:38:55 -04:00
Brandon Thomas
deb7831083
Merge PR #1542
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:38:53 -04:00
Brandon Thomas
1c65549d10
Merge PR #1533
...
# Conflicts:
# crates/engine/src/tests.rs
2026-10-14 01:38:48 -04:00
Brandon Thomas and Claude Opus 5.5
9b7d2e6ae2
Batch 35: #1443 's face-tile test passes the preview edge #1410 added
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 01:34:10 -04:00
Brandon Thomas
07f73c44da
Merge PR #1443
...
# Conflicts:
# crates/engine/src/files.rs
# docs/raw-preview-reads.md
# docs/whats-new.md
2026-10-14 01:29:30 -04:00
Brandon Thomas
ce3fad5a77
Merge PR #1567
...
# Conflicts:
# crates/engine/src/tests.rs
2026-10-13 11:52:01 -04:00
Brandon Thomas
cd59698798
Merge PR #1583
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:24 -04:00
Brandon Thomas
e067581ff3
Merge PR #1581
2026-10-13 11:49:23 -04:00
Brandon Thomas
2294329b0c
Merge PR #1565
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-13 11:49:15 -04:00
Brandon Thomas
5ece09aa6c
Merge PR #1562
2026-10-13 11:49:13 -04:00
Brandon Thomas
6b00656df8
Merge PR #1559
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:11 -04:00
Brandon Thomas
c6b2686ba0
Merge PR #1410
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:05 -04:00
Brandon Thomas
02bdad38d2
Merge PR #1439
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:48:58 -04:00
Brandon Thomas
6d124d701b
Merge PR #1451
2026-10-13 11:48:38 -04:00
Brandon Thomas
d823d155b2
Merge PR #1421
2026-10-13 11:48:37 -04:00
Brandon Thomas
03b6c8a95d
Merge PR #1423
2026-10-13 11:48:34 -04:00
Michael Anderson
271bc41842
Never crash: Repair damaged catalog snapshots on open
...
Fix ids, stacks, album folders and counters that don't agree, and stop album trees at 64 deep.
2026-10-13 10:46:47 -05:00
Michael Anderson
4a07254e06
Never crash: Read the edge pixel for bilinear samples outside the picture
...
Infinite coordinates from a zero-size crop overflowed the sampler.
2026-10-13 10:46:42 -05:00
Michael Anderson
b43b7169aa
Never crash: Limit how much a preset zip can unpack
...
Cap entries at 256 MB and the archive at 1 GB, and check the offsets.
2026-10-13 10:46:28 -05:00
Michael Anderson
911d7df321
Never crash: Fix panic dragging a tone curve point between close neighbours
...
Keep the point midway when there's no room, and keep curve points sorted.
2026-10-13 10:46:13 -05:00
Michael Anderson
57487875b5
Never crash: Cap the spot radius so huge spot sizes render ( #1519 )
...
Sidecar spot sizes aren't limited to the slider range. Count at most two long edges.
2026-10-13 10:45:50 -05:00
Michael Anderson
27d1e9b04d
Never crash: Cap enlarged exports at 512 MP and check memory first
...
A huge enlargement failed to allocate and took the app down.
2026-10-13 10:45:39 -05:00
Michael Anderson
337f02b4dc
Never crash: Fix export size panic for very long strips
...
Apply the 1 px and 65535 px bounds in turn instead of clamping between bounds that can cross.
2026-10-13 10:45:34 -05:00
Michael Anderson
65dbba9ecd
LRC-LIB-CATALOG-IMPORT: Open catalogs whose tables are all still in the WAL
...
Accept schema format 0 in the main header and check page 1 again after the WAL overlay.
2026-10-13 10:45:06 -05:00
Michael Anderson
e9d36451e6
Never crash: Fix overflow in mask.move with a huge delta
...
Saturate index + delta so any delta just moves the mask to the top or bottom.
2026-10-13 10:44:46 -05:00
Jason Baldwin
bc9d8a21b5
Merge slideshow-templates into slideshow-export (origin/main: batches 32–33)
2026-10-13 17:03:26 +02:00
Jason Baldwin
d747c9e0f6
Merge slideshow-titles into slideshow-templates (origin/main: batches 32–33)
2026-10-13 17:01:24 +02:00
Jason Baldwin
f30e4af838
Merge slideshow-overlays into slideshow-titles (origin/main: batches 32–33)
2026-10-13 16:59:34 +02:00
Jason Baldwin
ba9262a4a0
Merge slideshow-composer into slideshow-overlays (origin/main: batches 32–33)
2026-10-13 16:57:38 +02:00
Jason Baldwin
a021ad2c56
Merge slideshow-playback into slideshow-composer (origin/main: batches 32–33)
2026-10-13 16:55:11 +02:00
Nathaniel Ledford and Claude Opus 5.5
2783e5de9b
PERF-IMPORT: a scan, an import and a sidecar write no longer make a table of the whole library first
...
Setting up Synchronize Folder, an import review or an import made a table
of every photo in the library on the session's thread before the first
file was looked at, and naming one photo's sidecar worked out who owns
every shared sidecar name in the library. In a library of 3.5 million
photos (`scan_setup_bench`, release, a folder of 500): 5.8 s before a
Synchronize scan, 2.6 s before an import review, 1.7 s before an import,
2.4 s for each sidecar written.
- A scan keeps the library as it is (photos are shared, not copied) and
looks up the files it finds (`library_files`) and the contents it probes
(`library_hashes`) on its own thread.
- An import looks the library up with its first files
(`ImportJob::look_up_library`), from the library and the options as they
were when it was set up.
- The owners of shared sidecar names are worked out for the photos asked
about (`StemOwners::among`): all five callers name only those photos.
- Synchronize Folder names its photos' sidecars in the scan, after it has
seen that the folder is there.
Now 0.9 s, 0.05 s, 0.05 s and under 1 s. What is found, and how sidecars
are named, is unchanged: the tests hold the owners against the table of
the whole library as it was made before, and the key made without
allocating against the key, for every string of up to six of the
characters that decide it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 10:52:56 -04:00
Jason Baldwin
09ea6a3f77
Merge origin/main into slideshow-playback (painted toast from batch 33, kept at the top during a slideshow; both Slot variants; tracker rows)
2026-10-13 16:52:50 +02:00
MarekSpodBiedry
7d29dfac58
Recheck file contents before deleting a moved original ( #1500 )
2026-10-13 16:35:21 +02:00