Repository navigation
Prepare App Viewer Pages builds for catalogue and server integration - #799
Open
saltedlolly wants to merge 3 commits into
Open
saltedlolly wants to merge 3 commits into
saltedlolly wants to merge 3 commits into
Conversation
This branch has not been deployed
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.
Purpose
This is one part of a larger, staged change that will eventually let people browse the hosted App Viewer, verify their own Tronbyt Server, and choose a compatible device on that server to install an app.
The later Viewer and server changes depend on the published catalogue being built reproducibly and identifying the app repository it came from. This PR prepares that deployment foundation first; it does not add the installation UI or allow a remote Viewer to install anything.
What this changes
npm cifor reproducible App Viewer buildsgithub-logo.svgfor per-app source linksapp-viewer-sourcecatalogue-meta.jsonalongsideapps.jsonCatalogue provenance
The build publishes
catalogue-meta.jsoncontaining the app repository and exact commit used to generate the catalogue. This will let the upcoming installation flow confirm that the App Viewer and Tronbyt Server use the same app repository before allowing installation.The value is generated automatically from the checked-out
mainrevision during each Pages build, so forks identify their own repository and catalogue revision without manual configuration.Why the workflow spans two branches
The deploy workflow is stored on
main, where app catalogue changes occur, while the Viewer implementation is checked out fromapp-viewer-source. App data and assets therefore come from the exactmainrevision recorded incatalogue-meta.json, while the static Viewer files come from the dedicated Viewer branch.After a Viewer-only change merges, the workflow can be run manually to publish it even when no app files changed on
main.Generated-site checking
Before deployment, the new checker verifies required top-level files and follows local script, module, and stylesheet references from the Viewer entry points. It rejects missing files and references that escape the site root, while deliberately ignoring unrelated JavaScript shipped inside individual app asset directories.
Not included
Those changes remain in separately reviewable follow-up PRs. The installation flow will require an explicit user confirmation on the server and will not trust app source supplied by the browser.
Related staged work
Validation
node --test .github/scripts/app-viewer-build.test.mjsnpm cigithub-logo.svg, presentThe full builds generated 1,095 app detail pages and 597 author pages with complete local references.