From 244dfdde3e8a17cfb2de65a02d5c52e6a6c9cd87 Mon Sep 17 00:00:00 2001 From: openhands Date: Mon, 2 Nov 2026 02:32:19 +0000 Subject: [PATCH 1/2] feat(store): shareable deep links + correct Discord invite - Support ?q= to prefilter the catalog and ?ext= to open an extension's detail drawer, so catalog and extension views are linkable. - Keep the address bar in sync when a drawer is opened or closed (history.replaceState), enabling share/bookmark and back/forward. - Point the header and footer Discord links at the real invite (discord.gg/FYEjpcFYXc) to match CONTRIBUTING.md. - Ignore local tooling artifacts (node_modules, .wrangler, .dev.vars, .env). Co-authored-by: openhands --- .gitignore | 7 +++++++ public/index.html | 29 +++++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e296aed..704c953 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,10 @@ __pycache__/ # Plugin binaries are never committed to this metadata-only repository. # Packaged extensions are hosted on SourceForge. *.orplug + +# Local tooling / build artifacts +node_modules/ +.wrangler/ +.dev.vars +.env +.env.* diff --git a/public/index.html b/public/index.html index d207436..4cc3d37 100644 --- a/public/index.html +++ b/public/index.html @@ -109,7 +109,7 @@ class="hidden h-9 items-center gap-1.5 rounded-lg px-2.5 text-sm font-medium text-zinc-400 transition hover:bg-zinc-900 hover:text-zinc-100 sm:flex"> GitHub - @@ -351,7 +351,7 @@

Ship your own OpenROM extension

© OpenROM Project — retro-gaming preservation. Not affiliated with Nintendo, Sony, Sega or Microsoft.

Repository - Discord + Discord Cloudflare Pages
@@ -589,6 +589,8 @@

prefilters the catalog, ?ext= opens a drawer. + applyDeepLink() { + const params = new URLSearchParams(location.search); + const q = params.get('q'); + if (q) this.query = q; + const ext = params.get('ext'); + if (ext) { + const plugin = this.plugins.find((p) => p.id === ext); + if (plugin) this.openDetail(plugin); + } + }, + get publishers() { const map = new Map(); this.plugins.forEach((p) => { @@ -656,8 +670,15 @@