Skip to content

Split Shimmer Capture into its own repository, leaving a redirect - #90

Merged
marknolan merged 1 commit into
mainfrom
split-shimmer-capture
Sep 25, 2026
Merged

marknolan merged 1 commit into
mainfrom
split-shimmer-capture

Conversation

@marknolan

Copy link
Copy Markdown
Member

Shimmer Capture now lives in its own repository:
ShimmerResearch/shimmer-capture-web
→ https://shimmerresearch.github.io/shimmer-capture-web/

It was extracted with git filter-repo, so its history went with it — 259 of
this repository's 546 commits, everything that ever touched the page. Blame
still works on a 5,600-line file whose comments are most of its value.

This PR is the other half: the redirect, and the tidy-up here.

The redirect

ShimmerCapture/index.html is now a stub. Pages serves static files and cannot
issue a 301, so it redirects three ways, each covering a case the others do not:

covers
<meta http-equiv="refresh"> JavaScript disabled
location.replace() fires sooner, and replaces the history entry so Back returns where the visitor came from instead of bouncing them forward again
a visible link both of the above blocked

?mock=1 and any fragment are carried across, because those links are in
circulation. rel="canonical" is the part that matters beyond today — it is
what moves the search result, rather than leaving two competing.

Please don't delete the stub to tidy up. Every link published while the page
lived at /webBLEDemos/ShimmerCapture/ points at it.

What else moved, and why

  • common/ — the twenty-module UI library. It reads as shared code and is
    named like it, but nothing else here imported it; no other demo loads so much
    as common/theme.css. I checked all nine demos and the extension. Kept here
    it would have been maintained for one consumer in another repository; copied,
    it would have drifted.
  • .github/workflows/verify.yml — titled Verify ShimmerCapture and ran
    nothing else. html-format.yml stays and still covers every page here.

What stayed

vendor/ — eighteen pages and the Chrome extension still import it, and the
extension still needs its own copy for the store.

The thing most likely to be forgotten

C:\dev\web\sync-all-vendors.ps1 now has a third consumer. The new
repository vendors the same SDK build from the same source, and nothing links
the copies. It is written down in vendor/README.md and AGENTS.md so it is
findable from either side.

Verification

The pass was run against the new layout before the split was committed:
293/293 checks, zero console errors, under VERIFY_STRICT_BASELINE=1 — the
same strictness CI uses, where a check that starts passing fails the build too.

One thing needing a decision

#46 (DEV-711, upload
file functionality) touches only ShimmerCapture/index.html. It was already
CONFLICTING and last updated 2026-08-19, so this PR does not break something
that was working — but it needs re-targeting. The branch has been pushed to the
new repository with its four commits intact, ready to open a PR there.
integration/DEV-948-DEV-949 was carried across for the same reason.

🤖 Generated with Claude Code

Shimmer Capture is now ShimmerResearch/shimmer-capture-web, live at
shimmerresearch.github.io/shimmer-capture-web/. It was extracted with
git filter-repo, so its history went with it rather than being restarted.

What is left here is a redirect stub at ShimmerCapture/index.html. Pages
serves static files and cannot issue a 301, so it redirects three ways --
meta refresh for no-JavaScript, location.replace() so Back does not bounce
the visitor forward again, and a visible link if both are blocked -- and
carries the query string across, because ?mock=1 links are in circulation.
rel="canonical" is the part that matters beyond today: it is what moves the
search result rather than leaving two competing.

Keep the stub. Every link published while the page lived at
/webBLEDemos/ShimmerCapture/ points at it.

common/ went with the page. It reads as shared code and is named like it,
but nothing else here imported it -- no other demo loads so much as
common/theme.css. Kept here it would have been twenty modules maintained
for one consumer in another repository; copied, it would have drifted.

verify.yml went too. It was titled "Verify ShimmerCapture" and ran nothing
else. html-format.yml stays and still covers every page here.

vendor/ stays -- eighteen pages and the Chrome extension still import it,
and the extension still needs its own copy. The new repository vendors the
same build from the same source, so sync-all-vendors.ps1 now has a third
consumer to keep in step; that is the thing most likely to be forgotten,
and it is written down in vendor/README.md and AGENTS.md.

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

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@marknolan
marknolan merged commit 970f8d0 into main Sep 25, 2026
1 check passed
@marknolan
marknolan deleted the split-shimmer-capture branch September 25, 2026 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant