SurfSense/surfsense_browser_extension
API Test Bot e89824db0f feat(detection): implement multi-page token detection system
- Add extractTwitterTokens() to detect $TOKEN mentions (e.g., $BONK, $SOL)
- Add extractContractAddresses() for Solana (base58) and Ethereum (0x) addresses
- Add extractTradingPairs() to detect TOKEN/SOL, TOKEN/USDT patterns
- Update extractPageContext() to use new detection functions
- Add detectedTokens field to PageContext interface
- Create DetectedTokensList component to display detected tokens
- Integrate DetectedTokensList into ChatInterface
- Add handleDetectedTokenClick to analyze selected tokens
- Support auto-detection on Twitter, generic pages, and DexScreener

Implements Task 2: Multi-Page Token Detection
Part of hybrid token detection system (manual search + auto-detect)
2026-02-04 10:55:49 +07:00
..
assets feat: monorepo 2025-04-07 23:47:06 -07:00
background docs: update PRD with comprehensive extension features and UX integration strategy 2026-02-01 21:32:06 +07:00
lib Biome: Fixes for extenstion repo 2025-07-27 12:01:11 -07:00
routes chore: update links in documentation and metadata to use the correct domain 2025-12-09 01:27:13 -08:00
scripts fix(build): add post-build script to fix HTML paths for Chrome extension 2026-02-04 10:18:20 +07:00
sidepanel feat(detection): implement multi-page token detection system 2026-02-04 10:55:49 +07:00
utils Biome: Fixes for extenstion repo 2025-07-27 12:01:11 -07:00
.env.example feat: monorepo 2025-04-07 23:47:06 -07:00
.gitignore chore: updated .gitignore files and added forgotten .env.example to frontend. 2025-04-10 23:43:47 -07:00
biome.json Biome: Fixes for extenstion repo 2025-07-27 12:01:11 -07:00
content.ts feat(detection): implement multi-page token detection system 2026-02-04 10:55:49 +07:00
font.css Biome: Fixes for extenstion repo 2025-07-27 12:01:11 -07:00
package.json fix(build): add post-build script to fix HTML paths for Chrome extension 2026-02-04 10:18:20 +07:00
pnpm-lock.yaml fix(extension): resolve build error - fix file encoding and JSX config 2026-02-04 10:13:52 +07:00
popup.tsx docs: update PRD with comprehensive extension features and UX integration strategy 2026-02-01 21:32:06 +07:00
postcss.config.js Biome: Fixes for extenstion repo 2025-07-27 12:01:11 -07:00
README.md feat: monorepo 2025-04-07 23:47:06 -07:00
sidepanel.tsx docs: update PRD with comprehensive extension features and UX integration strategy 2026-02-01 21:32:06 +07:00
tailwind.config.js fix(extension): resolve UI layout issues in sidepanel 2026-02-04 09:17:07 +07:00
tailwind.css Biome: Fixes for extenstion repo 2025-07-27 12:01:11 -07:00
tsconfig.json fix(extension): resolve build error - fix file encoding and JSX config 2026-02-04 10:13:52 +07:00

SurfSense Cross Browser Extension

Use this guide to build for your browser https://docs.plasmo.com/framework/workflows/build

This is a Plasmo extension project bootstrapped with plasmo init.

Getting Started

First, run the development server:

pnpm dev
# or
npm run dev

Open your browser and load the appropriate development build. For example, if you are developing for the chrome browser, using manifest v3, use: build/chrome-mv3-dev.

You can start editing the popup by modifying popup.tsx. It should auto-update as you make changes. To add an options page, simply add a options.tsx file to the root of the project, with a react component default exported. Likewise to add a content page, add a content.ts file to the root of the project, importing some module and do some logic, then reload the extension on your browser.

For further guidance, visit our Documentation

Making production build

Run the following:

pnpm build
# or
npm run build

This should create a production bundle for your extension, ready to be zipped and published to the stores.

Submit to the webstores

The easiest way to deploy your Plasmo extension is to use the built-in bpp GitHub action. Prior to using this action however, make sure to build your extension and upload the first version to the store to establish the basic credentials. Then, simply follow this setup instruction and you should be on your way for automated submission!