Skip to content

feat(frontend): remove bundled packages, add theme search bar#89

Merged
KrisPowers merged 1 commit into
masterfrom
fix/lint-appstore-floating-promises
Jul 2, 2026
Merged

feat(frontend): remove bundled packages, add theme search bar#89
KrisPowers merged 1 commit into
masterfrom
fix/lint-appstore-floating-promises

Conversation

@KrisPowers

Copy link
Copy Markdown
Member

Summary

  • Remove import.meta.glob from loader.ts so apps in packages/*/ are no longer compiled as Vite chunks and embedded in the exe. App bundles are now truly opt-in downloads.
  • Apps are fetched from the remote registry on install, cached in localStorage (code + URL), and reloaded from cache on subsequent launches. If the cache is evicted, the URL is used to re-download automatically.
  • AppStore AppsTab simplified: drops the bundled state and catalog load; shows only remote catalog entries. handleToggle always downloads the bundle before installing.
  • ThemesTab gains a search bar with the same design as the apps search, plus an empty-state message when no themes match.

Test plan

  • Open App Store apps tab, verify catalog loads from remote (shows loading spinner then apps)
  • Install an app, verify bundle is downloaded and app appears in sidebar
  • Uninstall, verify sidebar entry removed and localStorage keys cleaned up
  • Open themes tab, verify search bar filters by name and description
  • Type a query that matches nothing, verify "No themes match your search." empty state appears

Drop the import.meta.glob from loader.ts so packages/*/index.tsx are no
longer compiled into Vite chunks and embedded in the exe. Apps are now
purely opt-in downloads: installing an app fetches its IIFE bundle from
the remote registry, caches it in localStorage, and records the bundle URL
so it can be re-downloaded automatically if the cache is evicted.

- loader.ts delegates loadAppManifest to loadInstalledBundle (localStorage)
- remoteRegistry.ts caches bundleUrl on download, exposes loadInstalledBundle,
  cleans up the url key on invalidate
- AppStore: AppsTab simplified to show only the remote catalog; bundled state
  and loadBundled promise removed; handleToggle always downloads before install
- ThemesTab: add search bar (matches AppsTab UX) with empty-state message
@KrisPowers KrisPowers changed the title feat(app-store): remove bundled packages, add theme search bar feat(frontend): remove bundled packages, add theme search bar Jul 2, 2026
@KrisPowers KrisPowers merged commit 521816b into master Jul 2, 2026
28 of 29 checks passed
@KrisPowers KrisPowers deleted the fix/lint-appstore-floating-promises branch July 2, 2026 21:25
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