Repository navigation
fix(photos): three shell call sites still name the .mjs files #526 renamed - #529
Merged
Merged
Conversation
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
aadhar-sh | e386ffe | Aug 24 2026, 01:14 AM |
…named #526 moved the photo pipeline to TypeScript and says it rewrote "the shell scripts that invoke them". It got add-photos.sh (check-photo-pipeline.ts) and missed three: extract-photo-metadata.sh build-exif-index.mjs -> .ts extract-photo-metadata.sh build-histogram-index.mjs -> .ts hash-thumbnails.sh build-image-fingerprints.mjs -> .ts All three throw MODULE_NOT_FOUND, because no file answers to those names any more. Two of them are the steps that roll the per-photo files into the two committed indexes, so the failure lands after the expensive work rather than before it. This is the same family as the rest of this branch and it is why the branch exists: a rename that a grep for the old string cannot find, in a pipeline nobody has run since the moves, so the break sits there looking fine. Worth noting that the extension is the visible half. The reason a sweep misses these is that the specifier is assembled from a variable and a literal, which is gotcha 29's blind spot again. node 26 runs a .ts file directly (type stripping), verified here, so `node` is still correct in front of these and only the name was wrong. Controls, all three run after the change. build-image-fingerprints.ts exits 0 on a clean checkout. The other two exit 1 on a MISSING public/images/meta, which is the gitignored build output that extract-photo-metadata.sh writes earlier in the same script, so standalone in a clean tree that is the honest answer; with the directory present both exit 0 and regenerate exif.json and histograms.json byte-identically, no drift against the committed copies.
oddharsh
force-pushed
the
claude/photos-ts-callsites
branch
from
August 24, 2026 01:12
9292d20 to
e386ffe
Compare
Contributor
Wire-size diff vs merge base
Brotli q11, the quality the edge serves. Every number here is deterministic: Client assetsNo change. 22 files, 77.74 KiB Brotli total. PagesNo change. 50 files, 531.29 KiB Brotli total. Worker bundleNo change. 237.91 KiB gzip. Dictionary deltas (
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #526, which moved the photo pipeline to TypeScript and says in its own message that it rewrote "the shell scripts that invoke them". It got one of the four and missed three.
add-photos.shcheck-photo-pipeline.tsextract-photo-metadata.shbuild-exif-index.mjsbuild-exif-index.tsextract-photo-metadata.shbuild-histogram-index.mjsbuild-histogram-index.tshash-thumbnails.shbuild-image-fingerprints.mjsbuild-image-fingerprints.tsAll three throw
MODULE_NOT_FOUNDonmainright now, because nothing answers to those names any more. Two of them are the steps that roll the per-photo files into the two committed indexes, so the failure lands after the expensive work rather than before it.Same family as #525, and the reason a sweep misses these is the same: the specifier is assembled from a variable and a literal, so no grep for the assembled form can see it. That is gotcha 29's blind spot, third instance.
nodeis still correct in front of these. Node 26 runs a.tsfile directly via type stripping, verified here, so only the name was wrong.Controls
All three resolve and run after the change.
build-image-fingerprints.tsexits 0 on a clean checkout.public/images/meta/, which is the gitignored build outputextract-photo-metadata.shwrites earlier in the same script. Standalone in a clean tree that is the honest answer, and it is a different failure from the one being fixed: before, they died at module resolution; now they die inside their own function on absent input.exif.jsonandhistograms.jsonbyte-identically against the committed copies, so no artifact drift.