Skip to content

Release 0.0.32: TikTok & Instagram scrapers, resumable chat streaming, and CI platform polish#1602

Merged
MODSetter merged 176 commits into
mainfrom
dev
Jul 14, 2026
Merged

Release 0.0.32: TikTok & Instagram scrapers, resumable chat streaming, and CI platform polish#1602
MODSetter merged 176 commits into
mainfrom
dev

Conversation

@MODSetter

Copy link
Copy Markdown
Owner

Summary

  • Adds native TikTok and Instagram scrapers end-to-end (capabilities, billing, MCP tools, chat subagents, playground, docs/marketing), including comments, user search, trending (TikTok), richer media fields (Instagram), and headful/Xvfb listing resilience for TikTok.
  • Makes chat streams resumable across navigation via a module-level stream store + engine, and adds optional message timestamps behind a new Appearance settings preference.
  • Broadens model/provider support (Requesty, raw OpenAI-compatible without /v1 normalization), adds Korean (ko) i18n, improves playground/API UX and API key management, and bumps the version to 0.0.32.
  • Also includes: separate embedding base URL, BookStack scheduler task-map fix, video-presentation fan-in barrier fix, MCP streamable-HTTP/auth hardening, contributor Docker docs, and NotebookLM-for-competitive-intelligence messaging updates.

Merged PRs (highlights)

Test plan

  • TikTok scrape / comments / user_search / trending via playground + MCP; confirm listing retries + Xvfb path when enabled
  • Instagram scrape / comments / details via playground + MCP; verify carousel/tags/location and login-wall handling
  • Chat: start a stream, navigate away and back — stream continues; toggle Appearance → show timestamps
  • Add Requesty and raw OpenAI-compatible providers; confirm models resolve
  • Switch UI to Korean (ko) and spot-check nav/settings
  • Playground + API keys: create/use a key, run a capability, check docs links
  • Confirm BookStack periodic indexing still dispatches; video presentation generates slide scenes once
  • Smoke MCP HTTP health/auth and workspace isolation

mvanhorn and others added 30 commits June 24, 2026 02:09
…nin-barrier

fix: wire video_presentation fan-in as a barrier so generate_slide_scene_codes fires once
BOOKSTACK_CONNECTOR was missing from check_periodic_schedules' task_map,
so connectors with periodic indexing enabled fell through to the
"No task found" warning branch every minute and never synced.

Fixes #891

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ng-base-url

# Conflicts:
#	surfsense_web/content/docs/docker-installation/docker-compose.mdx
#	surfsense_web/content/docs/manual-installation.mdx
# Conflicts:
#	surfsense_mcp/mcp_server/core/auth/__init__.py
#	surfsense_mcp/mcp_server/core/auth/headers.py
#	surfsense_mcp/mcp_server/core/auth/identity.py
#	surfsense_mcp/mcp_server/core/auth/middleware.py
#	surfsense_mcp/mcp_server/core/transport/__init__.py
#	surfsense_mcp/mcp_server/core/transport/http.py
#	surfsense_mcp/mcp_server/core/workspace_matching.py
#	surfsense_mcp/mcp_server/features/knowledge_base/annotations.py
#	surfsense_mcp/mcp_server/features/knowledge_base/document_tools.py
#	surfsense_mcp/mcp_server/features/knowledge_base/search_tools.py
#	surfsense_mcp/mcp_server/features/scrapers/annotations.py
#	surfsense_mcp/mcp_server/features/scrapers/platforms/__init__.py
#	surfsense_mcp/mcp_server/features/scrapers/platforms/google_maps.py
#	surfsense_mcp/mcp_server/features/scrapers/platforms/google_search.py
#	surfsense_mcp/mcp_server/features/scrapers/platforms/reddit.py
#	surfsense_mcp/mcp_server/features/scrapers/platforms/web.py
#	surfsense_mcp/mcp_server/features/scrapers/platforms/youtube.py
#	surfsense_mcp/mcp_server/features/scrapers/run_history.py
#	surfsense_mcp/src/surfsense_mcp/__main__.py
#	surfsense_mcp/src/surfsense_mcp/features/knowledge_base/__init__.py
#	surfsense_mcp/src/surfsense_mcp/features/scrapers/__init__.py
#	surfsense_mcp/tests/test_auth_headers.py
#	surfsense_mcp/tests/test_request_auth.py
#	surfsense_mcp/tests/test_workspace_context.py
#	surfsense_web/content/docs/how-to/mcp-server.mdx
#	surfsense_web/lib/mcp/clients.ts
MODSetter and others added 27 commits July 13, 2026 13:02
Add raw OpenAI-compatible provider without /v1 normalization
…nse as NotebookLM for competitive intelligence. Adjusted titles and descriptions for improved clarity and alignment with new positioning.
…f SurfSense as NotebookLM for competitive intelligence research, emphasizing live scraping capabilities and clarifying the platform's features.
…mestamps

[Feat] Chat : Resumable streaming across in-app navigation + optional message timestamps
…kTok as new data sources for live scraping, enhancing the platform's competitive intelligence capabilities.
…search_queries and enhancing documentation for clarity
@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
surf-sense-frontend Ready Ready Preview, Comment Jul 14, 2026 12:16am

Request Review

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 323 files, which is 173 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a2ede057-91e5-47c7-a458-5c10be57faa8

📥 Commits

Reviewing files that changed from the base of the PR and between 1ae927a and 2b018c4.

⛔ Files ignored due to path filters (4)
  • surfsense_backend/uv.lock is excluded by !**/*.lock
  • surfsense_web/components/icons/providers/requesty.svg is excluded by !**/*.svg
  • surfsense_web/public/connectors/instagram.svg is excluded by !**/*.svg
  • surfsense_web/public/connectors/tiktok.svg is excluded by !**/*.svg
📒 Files selected for processing (323)
  • .github/workflows/desktop-release.yml
  • CONTRIBUTING.md
  • README.es.md
  • README.hi.md
  • README.md
  • README.pt-BR.md
  • README.zh-CN.md
  • VERSION
  • docker/.env.example
  • surfsense_backend/.env.example
  • surfsense_backend/.gitignore
  • surfsense_backend/Dockerfile
  • surfsense_backend/app/agents/chat/multi_agent_chat/constants.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/main_agent/system_prompt/prompts/identity/private.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/main_agent/system_prompt/prompts/identity/team.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/main_agent/system_prompt/prompts/kb_first.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/main_agent/system_prompt/prompts/routing.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/instagram/__init__.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/instagram/agent.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/instagram/description.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/instagram/system_prompt.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/instagram/tools/__init__.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/instagram/tools/index.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/tiktok/__init__.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/tiktok/agent.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/tiktok/description.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/tiktok/system_prompt.md
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/tiktok/tools/__init__.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/builtins/tiktok/tools/index.py
  • surfsense_backend/app/agents/chat/multi_agent_chat/subagents/registry.py
  • surfsense_backend/app/agents/video_presentation/graph.py
  • surfsense_backend/app/capabilities/core/billing.py
  • surfsense_backend/app/capabilities/core/types.py
  • surfsense_backend/app/capabilities/instagram/__init__.py
  • surfsense_backend/app/capabilities/instagram/details/__init__.py
  • surfsense_backend/app/capabilities/instagram/details/definition.py
  • surfsense_backend/app/capabilities/instagram/details/executor.py
  • surfsense_backend/app/capabilities/instagram/details/schemas.py
  • surfsense_backend/app/capabilities/instagram/scrape/__init__.py
  • surfsense_backend/app/capabilities/instagram/scrape/definition.py
  • surfsense_backend/app/capabilities/instagram/scrape/executor.py
  • surfsense_backend/app/capabilities/instagram/scrape/schemas.py
  • surfsense_backend/app/capabilities/tiktok/__init__.py
  • surfsense_backend/app/capabilities/tiktok/comments/__init__.py
  • surfsense_backend/app/capabilities/tiktok/comments/definition.py
  • surfsense_backend/app/capabilities/tiktok/comments/executor.py
  • surfsense_backend/app/capabilities/tiktok/comments/schemas.py
  • surfsense_backend/app/capabilities/tiktok/scrape/__init__.py
  • surfsense_backend/app/capabilities/tiktok/scrape/definition.py
  • surfsense_backend/app/capabilities/tiktok/scrape/executor.py
  • surfsense_backend/app/capabilities/tiktok/scrape/schemas.py
  • surfsense_backend/app/capabilities/tiktok/trending/__init__.py
  • surfsense_backend/app/capabilities/tiktok/trending/definition.py
  • surfsense_backend/app/capabilities/tiktok/trending/executor.py
  • surfsense_backend/app/capabilities/tiktok/trending/schemas.py
  • surfsense_backend/app/capabilities/tiktok/user_search/__init__.py
  • surfsense_backend/app/capabilities/tiktok/user_search/definition.py
  • surfsense_backend/app/capabilities/tiktok/user_search/executor.py
  • surfsense_backend/app/capabilities/tiktok/user_search/schemas.py
  • surfsense_backend/app/config/__init__.py
  • surfsense_backend/app/config/embedding_settings.py
  • surfsense_backend/app/proprietary/platforms/instagram/README.md
  • surfsense_backend/app/proprietary/platforms/instagram/__init__.py
  • surfsense_backend/app/proprietary/platforms/instagram/fetch.py
  • surfsense_backend/app/proprietary/platforms/instagram/parsers.py
  • surfsense_backend/app/proprietary/platforms/instagram/schemas.py
  • surfsense_backend/app/proprietary/platforms/instagram/scraper.py
  • surfsense_backend/app/proprietary/platforms/instagram/url_resolver.py
  • surfsense_backend/app/proprietary/platforms/tiktok/__init__.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/__init__.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/author.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/comments.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/hydration.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/item_list.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/scopes.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/timestamps.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/user_search.py
  • surfsense_backend/app/proprietary/platforms/tiktok/extraction/video.py
  • surfsense_backend/app/proprietary/platforms/tiktok/flows/__init__.py
  • surfsense_backend/app/proprietary/platforms/tiktok/flows/comments.py
  • surfsense_backend/app/proprietary/platforms/tiktok/flows/listing.py
  • surfsense_backend/app/proprietary/platforms/tiktok/flows/profile.py
  • surfsense_backend/app/proprietary/platforms/tiktok/flows/user_search.py
  • surfsense_backend/app/proprietary/platforms/tiktok/flows/video.py
  • surfsense_backend/app/proprietary/platforms/tiktok/orchestrator.py
  • surfsense_backend/app/proprietary/platforms/tiktok/schemas/__init__.py
  • surfsense_backend/app/proprietary/platforms/tiktok/schemas/input.py
  • surfsense_backend/app/proprietary/platforms/tiktok/schemas/items.py
  • surfsense_backend/app/proprietary/platforms/tiktok/session/__init__.py
  • surfsense_backend/app/proprietary/platforms/tiktok/session/client.py
  • surfsense_backend/app/proprietary/platforms/tiktok/session/errors.py
  • surfsense_backend/app/proprietary/platforms/tiktok/session/listing.py
  • surfsense_backend/app/proprietary/platforms/tiktok/session/proxy.py
  • surfsense_backend/app/proprietary/platforms/tiktok/targets/__init__.py
  • surfsense_backend/app/proprietary/platforms/tiktok/targets/resolver.py
  • surfsense_backend/app/proprietary/platforms/tiktok/targets/types.py
  • surfsense_backend/app/routes/__init__.py
  • surfsense_backend/app/services/model_connection_service.py
  • surfsense_backend/app/services/provider_registry.py
  • surfsense_backend/app/services/quality_score.py
  • surfsense_backend/app/services/requesty_model_normalizer.py
  • surfsense_backend/app/tasks/celery_tasks/schedule_checker_task.py
  • surfsense_backend/pyproject.toml
  • surfsense_backend/scripts/docker/entrypoint.sh
  • surfsense_backend/scripts/e2e_instagram_scraper.py
  • surfsense_backend/scripts/e2e_tiktok_scrape.py
  • surfsense_backend/tests/fixtures/tiktok/listing_item.json
  • surfsense_backend/tests/fixtures/tiktok/video_item_struct.json
  • surfsense_backend/tests/unit/agents/multi_agent_chat/test_subagent_composition.py
  • surfsense_backend/tests/unit/agents/test_video_presentation_graph.py
  • surfsense_backend/tests/unit/capabilities/access/test_agent_tools.py
  • surfsense_backend/tests/unit/capabilities/instagram/__init__.py
  • surfsense_backend/tests/unit/capabilities/instagram/test_executor.py
  • surfsense_backend/tests/unit/capabilities/instagram/test_registry.py
  • surfsense_backend/tests/unit/capabilities/instagram/test_schemas.py
  • surfsense_backend/tests/unit/capabilities/test_billing.py
  • surfsense_backend/tests/unit/capabilities/tiktok/__init__.py
  • surfsense_backend/tests/unit/capabilities/tiktok/comments/__init__.py
  • surfsense_backend/tests/unit/capabilities/tiktok/comments/test_executor.py
  • surfsense_backend/tests/unit/capabilities/tiktok/comments/test_schemas.py
  • surfsense_backend/tests/unit/capabilities/tiktok/scrape/__init__.py
  • surfsense_backend/tests/unit/capabilities/tiktok/scrape/test_executor.py
  • surfsense_backend/tests/unit/capabilities/tiktok/scrape/test_schemas.py
  • surfsense_backend/tests/unit/capabilities/tiktok/test_registry.py
  • surfsense_backend/tests/unit/capabilities/tiktok/trending/__init__.py
  • surfsense_backend/tests/unit/capabilities/tiktok/trending/test_executor.py
  • surfsense_backend/tests/unit/capabilities/tiktok/trending/test_schemas.py
  • surfsense_backend/tests/unit/capabilities/tiktok/user_search/__init__.py
  • surfsense_backend/tests/unit/capabilities/tiktok/user_search/test_executor.py
  • surfsense_backend/tests/unit/capabilities/tiktok/user_search/test_schemas.py
  • surfsense_backend/tests/unit/config/test_embedding_settings.py
  • surfsense_backend/tests/unit/platforms/instagram/__init__.py
  • surfsense_backend/tests/unit/platforms/instagram/test_budget.py
  • surfsense_backend/tests/unit/platforms/instagram/test_discovery.py
  • surfsense_backend/tests/unit/platforms/instagram/test_fetch_resilience.py
  • surfsense_backend/tests/unit/platforms/instagram/test_parsers.py
  • surfsense_backend/tests/unit/platforms/instagram/test_skeleton.py
  • surfsense_backend/tests/unit/platforms/tiktok/__init__.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_comments.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_fetch_resilience.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_hydration.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_input.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_item_list.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_listing_retry.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_orchestrator.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_parsers.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_scopes.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_target_resolver.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_trending.py
  • surfsense_backend/tests/unit/platforms/tiktok/test_user_search.py
  • surfsense_backend/tests/unit/services/test_model_connections.py
  • surfsense_backend/tests/unit/services/test_requesty_model_normalizer.py
  • surfsense_backend/tests/unit/tasks/celery_tasks/__init__.py
  • surfsense_backend/tests/unit/tasks/celery_tasks/test_schedule_checker_task.py
  • surfsense_browser_extension/package.json
  • surfsense_desktop/package.json
  • surfsense_evals/scripts/analyze_failure_timing.py
  • surfsense_evals/scripts/analyze_failures.py
  • surfsense_evals/scripts/check_extraction_sizes.py
  • surfsense_evals/scripts/check_uploaded_status.py
  • surfsense_evals/scripts/compute_adjusted_accuracy.py
  • surfsense_evals/scripts/compute_blog_extras.py
  • surfsense_evals/scripts/compute_post_retry_accuracy.py
  • surfsense_evals/scripts/inspect_first30.py
  • surfsense_evals/scripts/patch_manifest_for_parallel_ingest.py
  • surfsense_evals/scripts/peek_crag_run.py
  • surfsense_evals/scripts/peek_disagreements.py
  • surfsense_evals/scripts/retry_failed_questions.py
  • surfsense_evals/scripts/summarise_crag_run.py
  • surfsense_evals/scripts/summarise_parser_compare_run.py
  • surfsense_evals/scripts/test_context_overflow_hypothesis.py
  • surfsense_evals/src/surfsense_evals/core/arms/surfsense.py
  • surfsense_evals/src/surfsense_evals/core/auth.py
  • surfsense_evals/src/surfsense_evals/core/cli.py
  • surfsense_evals/src/surfsense_evals/core/clients/documents.py
  • surfsense_evals/src/surfsense_evals/core/clients/new_chat.py
  • surfsense_evals/src/surfsense_evals/core/clients/search_space.py
  • surfsense_evals/src/surfsense_evals/core/config.py
  • surfsense_evals/src/surfsense_evals/core/ingest_settings.py
  • surfsense_evals/src/surfsense_evals/core/metrics/comparison.py
  • surfsense_evals/src/surfsense_evals/core/metrics/mc_accuracy.py
  • surfsense_evals/src/surfsense_evals/core/metrics/retrieval.py
  • surfsense_evals/src/surfsense_evals/core/parse/__init__.py
  • surfsense_evals/src/surfsense_evals/core/parse/citations.py
  • surfsense_evals/src/surfsense_evals/core/parse/freeform_answer.py
  • surfsense_evals/src/surfsense_evals/core/parsers/azure_di.py
  • surfsense_evals/src/surfsense_evals/core/parsers/llamacloud.py
  • surfsense_evals/src/surfsense_evals/core/pdf/render.py
  • surfsense_evals/src/surfsense_evals/core/providers/openrouter_chat.py
  • surfsense_evals/src/surfsense_evals/core/providers/openrouter_pdf.py
  • surfsense_evals/src/surfsense_evals/core/registry.py
  • surfsense_evals/src/surfsense_evals/core/scenarios.py
  • surfsense_evals/src/surfsense_evals/suites/__init__.py
  • surfsense_evals/src/surfsense_evals/suites/_demo/hello/__init__.py
  • surfsense_evals/src/surfsense_evals/suites/medical/cure/__init__.py
  • surfsense_evals/src/surfsense_evals/suites/medical/cure/ingest.py
  • surfsense_evals/src/surfsense_evals/suites/medical/cure/runner.py
  • surfsense_evals/src/surfsense_evals/suites/medical/medxpertqa/ingest.py
  • surfsense_evals/src/surfsense_evals/suites/medical/medxpertqa/runner.py
  • surfsense_evals/src/surfsense_evals/suites/medical/mirage/__init__.py
  • surfsense_evals/src/surfsense_evals/suites/medical/mirage/ingest.py
  • surfsense_evals/src/surfsense_evals/suites/medical/mirage/prompt.py
  • surfsense_evals/src/surfsense_evals/suites/medical/mirage/runner.py
  • surfsense_evals/src/surfsense_evals/suites/multimodal_doc/mmlongbench/grader.py
  • surfsense_evals/src/surfsense_evals/suites/multimodal_doc/mmlongbench/ingest.py
  • surfsense_evals/src/surfsense_evals/suites/multimodal_doc/mmlongbench/prompt.py
  • surfsense_evals/src/surfsense_evals/suites/multimodal_doc/mmlongbench/runner.py
  • surfsense_evals/src/surfsense_evals/suites/multimodal_doc/parser_compare/ingest.py
  • surfsense_evals/src/surfsense_evals/suites/multimodal_doc/parser_compare/prompt.py
  • surfsense_evals/src/surfsense_evals/suites/multimodal_doc/parser_compare/runner.py
  • surfsense_evals/src/surfsense_evals/suites/research/crag/dataset.py
  • surfsense_evals/src/surfsense_evals/suites/research/crag/grader.py
  • surfsense_evals/src/surfsense_evals/suites/research/crag/html_extract.py
  • surfsense_evals/src/surfsense_evals/suites/research/crag/ingest.py
  • surfsense_evals/src/surfsense_evals/suites/research/crag/prompt.py
  • surfsense_evals/src/surfsense_evals/suites/research/crag/runner.py
  • surfsense_evals/src/surfsense_evals/suites/research/frames/dataset.py
  • surfsense_evals/src/surfsense_evals/suites/research/frames/grader.py
  • surfsense_evals/src/surfsense_evals/suites/research/frames/ingest.py
  • surfsense_evals/src/surfsense_evals/suites/research/frames/prompt.py
  • surfsense_evals/src/surfsense_evals/suites/research/frames/runner.py
  • surfsense_evals/src/surfsense_evals/suites/research/frames/wiki_fetch.py
  • surfsense_evals/tests/core/test_auth.py
  • surfsense_evals/tests/core/test_clients.py
  • surfsense_evals/tests/core/test_ingest_settings.py
  • surfsense_evals/tests/core/test_metrics.py
  • surfsense_evals/tests/core/test_parse_answer_letter.py
  • surfsense_evals/tests/core/test_parse_citations.py
  • surfsense_evals/tests/core/test_parse_freeform_answer.py
  • surfsense_evals/tests/core/test_parse_sse.py
  • surfsense_evals/tests/core/test_provider_openrouter.py
  • surfsense_evals/tests/suites/test_crag_dataset.py
  • surfsense_evals/tests/suites/test_crag_grader.py
  • surfsense_evals/tests/suites/test_crag_html_extract.py
  • surfsense_evals/tests/suites/test_frames_dataset.py
  • surfsense_evals/tests/suites/test_frames_grader.py
  • surfsense_evals/tests/suites/test_frames_wiki_fetch.py
  • surfsense_evals/tests/suites/test_mmlongbench_grader.py
  • surfsense_mcp/README.md
  • surfsense_mcp/mcp_server/features/knowledge_base/__init__.py
  • surfsense_mcp/mcp_server/features/knowledge_base/document_tools.py
  • surfsense_mcp/mcp_server/features/knowledge_base/search_tools.py
  • surfsense_mcp/mcp_server/features/scrapers/__init__.py
  • surfsense_mcp/mcp_server/features/scrapers/capability.py
  • surfsense_mcp/mcp_server/features/scrapers/platforms/google_maps.py
  • surfsense_mcp/mcp_server/features/scrapers/platforms/google_search.py
  • surfsense_mcp/mcp_server/features/scrapers/platforms/instagram.py
  • surfsense_mcp/mcp_server/features/scrapers/platforms/reddit.py
  • surfsense_mcp/mcp_server/features/scrapers/platforms/tiktok.py
  • surfsense_mcp/mcp_server/features/scrapers/platforms/web.py
  • surfsense_mcp/mcp_server/features/scrapers/platforms/youtube.py
  • surfsense_mcp/mcp_server/features/scrapers/run_history.py
  • surfsense_mcp/mcp_server/selfcheck.py
  • surfsense_mcp/mcp_server/server.py
  • surfsense_web/app/(home)/mcp-server/page.tsx
  • surfsense_web/app/dashboard/[workspace_id]/new-chat/[[...chat_id]]/page.tsx
  • surfsense_web/app/dashboard/[workspace_id]/playground/components/output-viewer.tsx
  • surfsense_web/app/dashboard/[workspace_id]/playground/components/playground-index.tsx
  • surfsense_web/app/dashboard/[workspace_id]/playground/components/run-detail.tsx
  • surfsense_web/app/dashboard/[workspace_id]/playground/components/run-progress-panel.tsx
  • surfsense_web/app/dashboard/[workspace_id]/playground/components/run-status-badge.tsx
  • surfsense_web/app/dashboard/[workspace_id]/playground/components/runs-table.tsx
  • surfsense_web/app/dashboard/[workspace_id]/playground/components/schema-form.tsx
  • surfsense_web/app/dashboard/[workspace_id]/user-settings/appearance/page.tsx
  • surfsense_web/app/dashboard/[workspace_id]/user-settings/components/AppearanceContent.tsx
  • surfsense_web/app/dashboard/[workspace_id]/user-settings/layout-shell.tsx
  • surfsense_web/app/layout.tsx
  • surfsense_web/atoms/chat/show-timestamps.atom.ts
  • surfsense_web/components/LanguageSwitcher.tsx
  • surfsense_web/components/assistant-ui/assistant-message.tsx
  • surfsense_web/components/assistant-ui/message-timestamp.tsx
  • surfsense_web/components/assistant-ui/thread.tsx
  • surfsense_web/components/assistant-ui/user-message.tsx
  • surfsense_web/components/chat/active-chat-stream-runner.tsx
  • surfsense_web/components/homepage/hero-chat-demo.tsx
  • surfsense_web/components/homepage/hero-section.tsx
  • surfsense_web/components/homepage/persona-paths.tsx
  • surfsense_web/components/homepage/use-cases.tsx
  • surfsense_web/components/icons/providers/index.ts
  • surfsense_web/components/layout/providers/LayoutDataProvider.tsx
  • surfsense_web/components/layout/ui/sidebar/NotificationsDropdown.tsx
  • surfsense_web/components/layout/ui/sidebar/SidebarUserProfile.tsx
  • surfsense_web/components/pricing/pricing-section.tsx
  • surfsense_web/components/seo/json-ld.tsx
  • surfsense_web/components/settings/auto-reload-settings.tsx
  • surfsense_web/components/settings/model-connections/default-connect-form.tsx
  • surfsense_web/components/settings/model-connections/provider-metadata.tsx
  • surfsense_web/components/settings/workspace-api-access-control.tsx
  • surfsense_web/content/docs/connectors/index.mdx
  • surfsense_web/content/docs/connectors/native/index.mdx
  • surfsense_web/content/docs/connectors/native/instagram.mdx
  • surfsense_web/content/docs/connectors/native/meta.json
  • surfsense_web/content/docs/connectors/native/tiktok.mdx
  • surfsense_web/content/docs/docker-installation/index.mdx
  • surfsense_web/content/docs/how-to/mcp-server.mdx
  • surfsense_web/content/docs/local-models/ollama.mdx
  • surfsense_web/content/docs/manual-installation.mdx
  • surfsense_web/contexts/LocaleContext.tsx
  • surfsense_web/hooks/use-run-stream.ts
  • surfsense_web/i18n/routing.ts
  • surfsense_web/lib/apis/scrapers-api.service.ts
  • surfsense_web/lib/auth-utils.ts
  • surfsense_web/lib/chat/stream-engine/engine.ts
  • surfsense_web/lib/chat/stream-engine/helpers.ts
  • surfsense_web/lib/chat/stream-engine/store.ts
  • surfsense_web/lib/chat/stream-engine/use-chat-stream.ts
  • surfsense_web/lib/connectors-marketing/google-maps.tsx
  • surfsense_web/lib/connectors-marketing/google-search.tsx
  • surfsense_web/lib/connectors-marketing/index.ts
  • surfsense_web/lib/connectors-marketing/instagram.tsx
  • surfsense_web/lib/connectors-marketing/reddit.tsx
  • surfsense_web/lib/connectors-marketing/tiktok.tsx
  • surfsense_web/lib/connectors-marketing/web-crawl.tsx
  • surfsense_web/lib/connectors-marketing/youtube.tsx
  • surfsense_web/lib/format-date.ts
  • surfsense_web/lib/playground/catalog.ts
  • surfsense_web/lib/playground/code-snippets.selfcheck.ts
  • surfsense_web/lib/playground/format.ts
  • surfsense_web/lib/playground/json-schema.ts
  • surfsense_web/lib/playground/platform-icons.tsx
  • surfsense_web/lib/provider-icons.tsx
  • surfsense_web/messages/ko.json
  • surfsense_web/package.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MODSetter
MODSetter merged commit 3bb5c5e into main Jul 14, 2026
15 of 20 checks passed
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.

9 participants