Skip to content

trilogy-group/tabsync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TabSync

Sync browser tabs across devices and open them from a web dashboard.

  • Dashboard — React app deployed on AWS Amplify (dashboard/)
  • Extension — Chrome (MV3) and Firefox (MV2) via WXT (extension/)

Live dashboard: https://tabsync.rebase.ti.trilogy.com/

Repository layout

Path Purpose
dashboard/ Web UI + /get landing page (public/landing.html)
extension/ Browser extension source
amplify.yaml Amplify build spec (appRoot: dashboard)

Dashboard (Amplify)

Amplify only builds dashboard/. Pushes that touch only extension/ do not change the hosted site unless Amplify is configured to build on every push (default).

Required Amplify environment variables

Set in the Amplify console (same Supabase project as the extension):

Variable Required
VITE_SUPABASE_URL Yes
VITE_SUPABASE_ANON_KEY Yes
VITE_ADMIN_PASSWORD For /admin
VITE_SUPABASE_SERVICE_KEY For /admin

Local dev: copy dashboard/.env.exampledashboard/.env.local.

Redirects (keep these in Amplify console)

If /get or client routes break after a fresh app setup, ensure Rewrites and redirects include:

  1. /get/landing.html (200 rewrite)
  2. SPA fallback → /index.html (200 rewrite), excluding static assets

These were previously defined in dashboard/vercel.json for Vercel; Amplify uses console rules (not amplify.yaml).

Build locally

cd dashboard
npm ci
npm run build

Extension

Do not commit extension/.env (contains secrets). Use extension/.env.example as a template.

cd extension
cp .env.example .env   # then fill in Supabase values
npm ci
npm run package:release

Release zips are written to extension/release/ (gitignored):

  • chrome-mv3.zip — GitHub Releases / Chromium
  • tabsync-firefox-<version>.zip — Mozilla AMO upload (signed .xpi returned after review)

GitHub Releases

After building, upload assets from extension/release/:

  • chrome-mv3.zip
  • Signed Firefox .xpi (e.g. TabSync-1.0.1.xpi) once AMO approves

What not to commit

  • **/.env, **/.env.local (except *.env.example)
  • extension/.output/, extension/release/
  • dashboard/dist/, node_modules/

About

browser extension for cross browser tabs access

Resources

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors