Skip to content

fix: prod release hardening - fixed extension ID, scroll fix, minor polish#26

Merged
BODMAT merged 5 commits into
developmentfrom
fix/prod-release-and-polish
Jun 2, 2026
Merged

fix: prod release hardening - fixed extension ID, scroll fix, minor polish#26
BODMAT merged 5 commits into
developmentfrom
fix/prod-release-and-polish

Conversation

@BODMAT

@BODMAT BODMAT commented Jun 2, 2026

Copy link
Copy Markdown
Owner

What

Makes the extension publicly distributable (fixed Chrome extension ID via manifest key + hardcoded prod defaults) and fixes a handful of issues found during production testing.

Changes

Code

  • extension/src/manifest.ts — added key field for fixed extension ID (bhippldfiooghjmgcdhlibeejkljeajf); every user who loads the zip gets the same ID, enabling shared Google OAuth client
  • extension/src/background/index.ts — hardcoded fallback for VITE_DASHBOARD_URL and VITE_GOOGLE_CLIENT_ID so CI-built release zip works without .env; fixed NOTE_ADD handler to call sendResponse (was causing "message port closed" console error)
  • extension/.env.example — all values now commented-out optional overrides; production defaults live in code
  • dashboard/components/smooth-scroll.tsxLenisResizer component calls lenis.resize() + scroll-to-top on route change, fixing broken scroll when navigating directly to /dashboard/music
  • dashboard/app/dashboard/layout.tsx — footer link updated to /releases page

Docs / plan

  • README.md — updated extension install section: points to GitHub Releases, notes that no .env is needed

Design decisions

  • Manifest key over Chrome Web Store — gives a fixed public extension ID for free; Web Store requires $5 fee and review process
  • Hardcoded fallback in code, not CI env vars — simpler, no secrets to manage in GitHub Actions; dev can still override via .env
  • LenisResizer as a child componentuseLenis must be called inside ReactLenis tree; a small dedicated component is the cleanest way to access the instance without prop drilling

Verification

  • npx tsc --noEmit (extension) — clean
  • npm run lint (dashboard) — clean
  • Manual: loaded zip with fixed ID, signed in, session started, notes logged, music captured, scroll on /dashboard/music works on direct load

Out of scope (future PRs)

  • Chrome Web Store publication

Closes

  • n/a

@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
worktrace Ready Ready Preview, Comment Jun 2, 2026 8:41pm

@BODMAT BODMAT merged commit f1c06a5 into development Jun 2, 2026
4 checks passed
@BODMAT BODMAT deleted the fix/prod-release-and-polish branch June 2, 2026 20:43
BODMAT added a commit that referenced this pull request Jun 2, 2026
fix: prod release hardening - fixed extension ID, scroll fix, NOTE_ADD fix (#26)
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