fix: restore CI builds and preserve unlisted Vimeo links - #302
Merged
Merged
Conversation
Keep a watch URL's path hash when building its iframe URL. Existing h query parameters retain precedence through insertion and HTML round-trips. The original report and contribution are HMarzban/extension-hypermultimedia#4: HMarzban/extension-hypermultimedia#4 Port the behavior to the current parser without importing the legacy toolchain changes. Four rendered-iframe regressions cover path hashes, query hashes, player URLs, and precedence.
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.
The webapp verification build fails because it does not provide
NEXT_PUBLIC_RESTAPI_URL. Unlisted Vimeo watch URLs also lose their path hash, making the rendered player unable to load those videos.hquery parameters keep precedence.The Vimeo change addresses the behavior reported in the original standalone contribution. It does not import the old toolchain changes.
Validation: the normal pre-push
bun run check:cipasses. This includes lint, styles, formatting, audit, workspace typechecks, email/webapp/backend tests, all five extension Cypress suites, extension preflight, and both Next builds. The backend suite passes 769 tests. The hypermultimedia suite passes 175 tests, including four new rendered-iframe regressions.Backend tests need DNS access for URL guards; their network fetches remain mocked. Backend real-service E2E and webapp Cypress are separate checks and are not claimed green here. Work on webapp chatroom CI remains separate from this PR.
Note
Low Risk
CI and embed URL parsing changes are localized; no auth, payments, or deploy logic changes beyond when backend jobs run on PRs.
Overview
Fixes CI compilation checks that failed without
NEXT_PUBLIC_RESTAPI_URL(required at webapp build time innext.config.js) by stubbinghttp://localhost:4000in prod/stage build verification and inscripts/check-ci.ts. Deployment builds are unchanged.Backend validation on pull requests: production workflow now runs
backend-cifor PRs as well as backend/deploy triggers, with a newrun_e2einput so PRs get mock-based backend tests only and skip Postgres/Redis E2E.Unlisted Vimeo embeds:
parseVimeoVideoRefnow keeps the path-segment hash (e.g./123456789/deadbeef) on watch URLs, maps it to player?h=, and prefers an explicit?h=over the path hash. Cypress covers HTML round-trip; docs and changelog updated.Reviewed by Cursor Bugbot for commit 903b9a3. Configure here.