Skip to content

feat: add Perplexity support - #17

Open
chanyut12 wants to merge 1 commit into
asker-kurtelli:mainfrom
chanyut12:feat-perplexity-support
Open

feat: add Perplexity support#17
chanyut12 wants to merge 1 commit into
asker-kurtelli:mainfrom
chanyut12:feat-perplexity-support

Conversation

@chanyut12

Copy link
Copy Markdown

Summary

This PR adds Perplexity support to Scroll.

It introduces a new perplexity provider and wires it into the existing extension flow while keeping
the current architecture and behavior for the existing providers intact.

What Changed

  • added a new Perplexity provider
  • added Perplexity host matching in the extension manifest
  • added Perplexity support in the existing app/provider integration points
  • added Perplexity export filename normalization
  • updated docs to include Perplexity in setup and testing guidance

Implementation Notes

This change was kept intentionally minimal.

  • the existing provider structure was preserved
  • no broad refactor was introduced
  • showSidebar and the existing provider flow were kept aligned with the current codebase
  • the main Perplexity-specific logic lives in its own provider file

The Perplexity parser now:

  • extracts prompts from Perplexity query nodes
  • extracts responses from Perplexity response containers
  • pairs prompts and responses using container-aware matching and DOM-order fallbacks
  • filters obvious history/sidebar noise

Validation

Ran locally:

  • npm run typecheck
  • npm run build
  • npm run build:firefox

Manual testing completed:

  • ChatGPT basic regression check passed
  • Claude basic regression check passed
  • Gemini basic regression check passed
  • Perplexity sidebar, navigation, search, copy, and export flow passed
  • Chrome and Firefox basic checks passed
  • no console errors observed during core flows

Risks / Limitations

Perplexity parsing depends on the current DOM structure. If Perplexity changes its layout, the
provider may need follow-up selector updates.

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