Repository navigation
Improve App Viewer catalogue browsing and app details - #800
Draft
saltedlolly wants to merge 22 commits into
Draft
saltedlolly wants to merge 22 commits into
saltedlolly wants to merge 22 commits into
Conversation
Contributor
Author
|
@tavdog I appreciate this PR is a lot of changes. If it makes reviewing easier, I can split it up into smaller ones. |
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.
Important
This is a Draft for visual and local testing.
It is based on the Viewer hardening completed in #797.
#799 must merge before this Viewer can be deployed. That PR updates the Pages build to publish the catalogue provenance and new Viewer assets used here, including
readme-images.js,dots@64x64.svg, andgithub-logo.svg.This PR deliberately contains no Tronbyt Server connection, “Add Tronbyt Server”, or “Add to Tronbyt” functionality. Server integration remains separate.
Why open this as a Draft now?
This Draft gives maintainers something concrete to inspect and test while #799 is under review. It also demonstrates why the Pages changes in #799 are required before these Viewer improvements can be deployed safely.
The scope is limited to catalogue browsing, app details, author pages, README presentation, feedback links, performance, and navigation.
Catalogue discovery
Catalogue presentation
2Xbadge in Standard view when a Wide/2x version is supported.Loading and performance
IntersectionObserverwith an advance loading margin.IntersectionObserveris unavailable.Navigation and state restoration
App details
64×32128×6464×64README handling
README.MDandReadMe.mdwhile preserving the real filename. (This fixed displaying missing README content for six affected apps includingjsondisplay.)blobimage links to their corresponding raw asset URLs.referrerpolicy="no-referrer"to external README images.Author pages
Reporting and source links
rel="noopener".Catalogue freshness and provenance
apps.json, broken-app data, andcatalogue-meta.jsonwithcache: "no-cache"so a new page load revalidates the deployed snapshot.github.com/<owner>/<repo>identity, and a full hexadecimal commit.tronbyt/apps.The Viewer remains a static snapshot. Its contents update after a successful Pages deployment, not on a timer. A fork with failed or disabled Pages deployments may therefore remain stale.
Generated metadata
The generator now exposes the information required by the revised interface, including:
64×64preview paths.A clean generation produced 1,095 app detail pages and 597 author pages.
Preview locally
Node.js 20 or newer is required.
After checking out this Draft, run:
Then open:
Useful pages and checks include:
details/americanmapbook.htmlto inspect all three preview layouts and README screenshot sizing.details/jsondisplay.htmlto verify its mixed-case README is displayed.npm run buildgenerates local catalogue, detail-page, and author-page output for the preview. These generated files are development output and should not be committed as part of this PR.Stop the local server with
Ctrl+Cwhen finished.Deliberately excluded
This PR does not include:
apps.json.app-viewer/appssymlink..devcontainer/devcontainer-lock.json.This UI-only Draft can be reviewed and tested independently of the later Viewer/server integration.
Validation
npm test— 12/12 tests pass.node --check main.jspasses.git diff --checkpasses.Automated coverage includes:
blobimage URL normalization.