Commit Graph
1988 Commits
Author SHA1 Message Date
aiongg e619c977b9 Merge PR #3276: LRC-LIB-FOLDERS: the home folder and Local's built-in places can't be renamed or moved
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; the PR's edit to the LRC-LIB-FOLDERS row applied to main's row; revision rows union, newest first.
docs/whats-new.md: the PR's 2026-10-28 section added above 2026-10-27.
2026-10-31 02:11:01 +00:00
aiongg a1ef1bf5fd Merge PR #3176: LR-IMP-ADD-DIALOG: an import's probe opens each file once
docs/whats-new.md: the PR's entry added under the 2026-10-27 heading after main's entry.
2026-10-31 02:10:38 +00:00
aiongg b3ddfefa5d Merge PR #3141: Issue #2589: a reference app import never creates a photo already in Recently Deleted
crates/engine/src/import/job.rs: union of the imports (main's Seen, reusable_probes, sidecars_of plus the PR's FileFacts); the sidecar read uses main's batched found_sidecar and the PR's skip for duplicates with a known capture time.
2026-10-31 02:10:23 +00:00
aiongg 9d4de0518a Merge PR #2979: LRC-LIB-CATALOG-SWITCH: a library's catalog.snap or folder given at launch opens that library
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; revision rows union.
2026-10-31 02:10:05 +00:00
aiongg 5a7a1b2ad9 Merge PR #2964: LR-IMP-ADD-DIALOG: handle rename sequence exhaustion
crates/engine/src/import.rs, cmd/library.rs: main split these files; kept main's side here and ported the PR's hunks to import/job.rs, cmd/library/import.rs and cmd/library/specs.rs (module doc stays in import.rs).
docs: headers keep main's newer date plus the PR's item; the PR's row additions applied to main's rows; revision rows and What's New entries kept, one heading per date.
2026-10-31 02:09:36 +00:00
aiongg 2b30e3d6e6 Merge PR #2954: LR-IMP-ADD-DIALOG: an import checks its probes and looks up sidecars several at a time
docs/parity-checklist.md: header keeps main's date plus the PR's item; the LR-IMP-ADD-DIALOG row keeps main's text and gets the PR's sentence; revision rows union.
docs/whats-new.md: both entries kept.
2026-10-31 02:08:40 +00:00
aiongg fc5278641b Merge PR #2858: LRC-LIB-LIBFOLDERS: Don't ask again when moving photos is kept only when the move started
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; revision rows are the union.
2026-10-31 02:08:19 +00:00
aiongg 42fbec83dc Merge PR #2725: LRC-LIB-CATALOG-LOCK: quitting on macOS removes the lock's owner note 2026-10-31 02:08:09 +00:00
aiongg cc4855b3a2 Merge PR #2607: LR-IMP-FORMATS: GIF and BMP sizes from the header; a canvas the file can't fill is refused (#2553) 2026-10-31 02:08:06 +00:00
aiongg 36dd2a7d6b Merge PR #2237: LR-IMP-ADD-DIALOG: remembered import thumbnail-size slider
docs/gaps.md, docs/parity-checklist.md: header keeps the newer date plus both sides' items; revision row added newest first.
locales/ru.json: union of keys.
2026-10-31 02:07:51 +00:00
aiongg 3f5dd5a92d Merge PR #2021: Fix reference app catalog video classification and filtering
docs/gaps.md, docs/parity-checklist.md: kept main's header and rows, added the PR's video text and revision row.
crates/engine/src/lightroom_catalog.rs: the PR's two tests moved to lightroom_catalog/tests.rs (main split the module).
Dropped the PR's unrelated hunks (slide_overlay.rs, tests_export.rs, raw corpus tests) per the review.
2026-10-31 02:07:23 +00: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 7e8bf5cd9e Merge PR #2831 2026-10-30 15:24:41 -04:00
Brandon Thomas ddbc218ad1 Merge PR #3213
# Conflicts:
#	docs/parity-checklist.md
2026-10-30 15:24:40 -04:00
Chad ElliottandClaude Opus 5.5 a31a43670b fix(lightroom): content duplicates start from import defaults; Show in Library skips Recently Deleted (#2589)
A catalog photo whose bytes match another library photo got the generic develop defaults, so a raw
with no white balance or lens setting in the catalog lost its as-shot white balance and embedded
lens corrections and rendered unlike a file import. It now gets the import defaults (camera
defaults plus the default preset), as a file import does, before the catalog's settings go on top.

Show in Library selected the lowest mapped photo id, which can be a master left in Recently Deleted
whose new virtual copy the import added; All Photos doesn't show it. It now selects the lowest
mapped photo not in Recently Deleted, and the button is left out when there is none.

Tests: a content-duplicate raw with no catalog settings equals its camera defaults (as-shot WB,
lens profile on); Show in Library skips a trashed mapped photo and offers nothing when only
trashed or vanished ids are mapped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:56:50 -05:00
tylerphotosandCodex 6b1fc20053 LR-IMP-ADD-DIALOG: render import previews when the camera JPEG is too small
Require a covering embedded image only for renderable import candidates. Keep the available camera JPEG for preview-only raws and failed or unavailable render fallbacks; ordinary quick views and grid thumbnails retain their immediate stand-in behavior. Also release import preview state when canceled through the control channel.

Co-Authored-By: Codex <noreply@openai.com>
2026-10-29 11:59:23 -05:00
tylerphotosandCodex 8ab4641011 LR-IMP-ADD-DIALOG: finish import thumbnail sizing review (#2056)
Reconcile with current modules, preserve all locale catalogs, reuse small-source preview jobs, release dismissed review state, and keep exact-entry Escape inside the slider.

Co-Authored-By: Codex <noreply@openai.com>
2026-10-29 07:56:08 -05:00
Nathaniel Ledford 0311abdff6 LRC-LIB-FOLDERS: the relative-path test pins the absolute spelling; docs name the engine refusal 2026-10-28 17:07:51 -04:00
Nathaniel Ledford d39550486e LRC-LIB-FOLDERS: folder.rename and folder.move refuse the home folder and its standard places
The engine now refuses these two commands for the home folder and its Pictures, Desktop and
Downloads, whoever asks (the app, a script, an agent). The check is a pure function of the path
and the home folder; the commands read the real home once.
2026-10-28 17:07:51 -04:00
Nathaniel Ledford 8fca8eb4f5 LRC-LIB-FOLDERS: Local's built-in places offer no Rename or Move
The Home, Pictures, Desktop and Downloads rows carry a translated label. Rename Folder…
started its prompt with that label, so confirming it in German renamed ~/Pictures to
~/Bilder on disk, and Home was offered for rename at all. Local now lists no Rename Folder…
or Move Folder To… on a built-in place; a folder kept with Browse Folder… still renames
from its real name.
2026-10-28 17:07:51 -04:00
radialmonsterandClaude Opus 5.5 6188590675 Docs: link gap 8 and roadmap priority 7 to lens profile issue #329
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ti8KemZbjE2ZgHgV1q1BM
2026-10-28 13:58:49 -04:00
Nathaniel LedfordandClaude 67fca06483 LR-IMP-ADD-DIALOG: the parity row says up to 16 files at a time, as the header and revision row do
A batch asks at most 8 at once on a machine with 4 cores or fewer (batch_size clamps to 8..=16).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-28 07:59:03 -04:00
Nathaniel LedfordandClaude Sonnet 5.5 d402fcc4b6 LR-IMP-ADD-DIALOG: an import looks up the sidecars of a batch's photos several at a time
Where the folder listing can't vouch for a name (non-ASCII names, a listing that is gone), each photo's sidecar names are asked of the disk, nine per photo, one photo after another. The batch's lookups now run 16 at a time; the loop that plans the photos takes each one's answer in order.

They use the same `at_once` as the probe checks, so the latency stand-in measured with the previous commit applies to them as well (16 at a time against one at a time); the lookups themselves were not timed on a share for this version.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 07:59:03 -04:00
Nathaniel LedfordandClaude Sonnet 5.5 6c19862876 LR-IMP-ADD-DIALOG: an import checks the probes a scan left several files at a time
Reusing a scan's probes costs one stat per file to see that it is as it was. They ran one after another, so on a network share every file waited for a round trip. They now run 16 at a time, in the import's batches and in the scan's check of an earlier scan's probes.

Measured on this version with each stat made to take 2 ms (a stand-in for a share's round trip): 5,990 stats took 15.1 s one at a time and 0.95 s through `stat_all`, with the answers in the same order. An earlier version of this change, tried on a real network share, spent most of the import's time in these stats; that figure is not repeated here because it was not taken on this code.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 07:59:03 -04:00
Nathaniel Ledford e60b7d1787 MENU-EDIT-SELECTNONE: Edit lists Select Only Active Photo and Paste Settings from Previous with their kin, and the native Edit menu keeps single separators 2026-10-27 22:50:05 -04:00
Nathaniel Ledford 4f6f4c4ee8 MENU-FILE-CLOSE: the page says saving at quit can fail 2026-10-27 19:53:43 -04:00
Nathaniel Ledford e472ffd6a4 MENU-FILE-CLOSE: document that closing the window quits the app 2026-10-27 18:29:56 -04:00
Jeremy 5dea67e348 docs(installer): say that an upgrade reuses the recorded folder even if it was deleted
The restore actions use the recorded folder without checking that it still
exists, so an upgrade creates it again rather than using the default folder.
2026-10-27 21:13:30 +00:00
Nathaniel Ledford abb3f03154 LR-IMP-ADD-DIALOG: an import's probe opens each file once
The probe asked for a file's size, read it (an open and its own size question), and then asked for its modification time again by path: three round trips to a network share's server for what one open can answer. It now opens the file once and takes the size and the modification time from the open file. What is read, the work-gate weight, and the text of the error for a file that can't be read are unchanged.
2026-10-27 14:04:50 -04:00
OneSlipsandClaude Opus 5.5 77829547d2 LRC-LIB-CATALOG-SWITCH: merge main (upstream file split)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 03:58:16 +10:00
Jeremy 51ecbfece8 docs(installer): note that the 32-bit all-users folder is Program Files (x86); tidy wording 2026-10-27 12:25:19 +00:00
Jeremy 3d40cf08e7 docs(installer): describe the per-user default install location and scope 2026-10-27 12:09:03 +00:00
Nathaniel Ledford 2d6126396b LRC-LIB-CATALOG-LOCK: quitting on macOS releases the library lock, so catalog.lock.owner is removed 2026-10-27 07:26:30 -04:00
Nathaniel Ledford 0320e8774c LRC-LIB-LIBFOLDERS: Don't ask again in the Move Photos question is kept only when the move started 2026-10-27 06:45:09 -04:00
aiongg 69048937d0 docs: update source paths after the layout moves 2026-10-26 21:39:56 +00:00
softwaregames1andClaude Opus 5.5 22b963f262 Merge storytold/lightcraft main into LR-FILT-SEARCH-META
Conflict only in the docs/parity-checklist.md "Last updated" line: upstream's
line kept, with the LR-FILT-SEARCH-META entry added in front.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SqKgSkHi5MfTQFrZvDKBjm
Co-authored-by: softwaregames1 <167585946+softwaregames1@users.noreply.github.com>
2026-10-26 12:25:52 +00:00
OneSlips 69ac0d23ce Merge remote-tracking branch 'origin/main' into pr/launch-opens-library
# Conflicts:
#	docs/parity-checklist.md
2026-10-26 13:37:19 +10:00
aiongg 21a53cf61f Merge title-bar-movable (lightcraft#2930) into docking-adoption; every craft-libs crate at craft-libs main 1e6f127 2026-10-26 02:20:20 +00:00
aiongg 1952d4fd3c Merge upstream main into docking-adoption 2026-10-26 02:18:38 +00:00
aiongg 003779ce51 Merge upstream main into title-bar-movable; craft-window at craft-libs main 1e6f127 2026-10-26 02:18:22 +00:00
OneSlips cc4c6cc2c1 Merge remote-tracking branch 'origin/main' into pr/launch-opens-library 2026-10-26 12:16:27 +10:00
Dylan M. Taylor 8020cd081c showcase: check the file is readable without an empty with-block (#3001) 2026-10-25 21:13:45 -04:00
Michael Anderson ab3f6af82a Merge remote-tracking branch 'origin/main' into fix/2119-erf-mef-strip-length
# Conflicts:
#	crates/raw/src/vendor/mef.rs
2026-10-25 19:20:01 -05:00
aiongg 672baaea46 Merge lightcraft#2913 (egui 0.37) into docking-adoption; craft-ui and craft-docpath at craft-libs main a091680 2026-10-25 17:36:59 +00:00
ronibalthazar cff89260f9 LR-IMP-ADD-DIALOG: check rename sequence exhaustion 2026-10-25 17:28:56 +00:00
aiongg c01d4c7074 Merge lightcraft#2913 (egui 0.37) into title-bar-movable; craft-window at craft-libs main a091680 2026-10-25 17:19:47 +00:00
aiongg d4cfd2e6d5 LR-BEHAV-TITLEBAR: the checklist row follows craft-window's title_bar 2026-10-25 17:07:16 +00:00
OneSlipsandClaude Opus 5.5 e47fc37267 LRC-LIB-CATALOG-SWITCH: a library's catalog.snap or folder given at launch opens that library
Double-clicking a library's catalog.snap in Explorer (or giving it, or the
library folder, as an argument) opened the last library used and treated the
argument as photos to import. It now opens that library, through the usual
launch path (the lock check for
one open in another LightCraft), and makes it the library in use. A second
library argument gets a notice. Never imported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

(cherry picked from commit 64a86cf3098ae4d33cef8c4f4a2ec486cdb148a4)
2026-10-26 01:59:34 +10:00
skylar taylor-barrick c627ce7210 egui-037: preserve modal input ownership and packaged font notices 2026-10-25 13:14:34 +01:00