Skip to content

fix(dashboard): show Obsidian context source card - #7500

Merged
diegosouzapw merged 2 commits into
cheaper-inference:release/v3.8.49from
DKotsyuba:feat/obsidian-source-card-dashboard
Jul 19, 2026
Merged

diegosouzapw merged 2 commits into
cheaper-inference:release/v3.8.49from
DKotsyuba:feat/obsidian-source-card-dashboard

Conversation

@DKotsyuba

Copy link
Copy Markdown
Contributor

Problem

Dashboard → Endpoints → Context Sources tab showed only the Notion context source card, while the Obsidian component, backend, MCP tools, REST settings routes, and DB config all already existed and were fully functional.

Root Cause

An omission in PR #3077 (commit 9db306e2f), which added the full Obsidian context source integration — ObsidianSourceCard.tsx (505 lines), REST settings route (src/app/api/settings/obsidian/route.ts), DB module (src/lib/db/obsidian.ts), Obsidian API client (src/lib/obsidian/api.ts), sync module (src/lib/obsidianSync.ts), 24 MCP tools (open-sse/mcp-server/tools/obsidianTools.ts), and 5 test files totaling ~1,500 lines — across 16 changed files, but did not modify src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx.

The page imported and rendered only NotionSourceCard; the ObsidianSourceCard import and JSX render call were never added, leaving the card inaccessible from the dashboard UI despite all supporting infrastructure being in place.

Documentation Evidence

docs/frameworks/OBSIDIAN_CONTEXT.md lines 39–40 instruct users:

Configure from the Context Sources tab of the
Endpoint dashboard (ObsidianSourceCard), or via the settings REST API.

The documentation has claimed dashboard availability since the feature landed, but the dashboard page never rendered the card.

Changelog Evidence

The v3.8.9 changelog entry states:

The changelog explicitly promises the Context Sources tab integration.

History Evidence

A full git log inspection of EndpointPageClient.tsx from after PR #3077 through present (release/v3.8.49) was performed. No commit in that window references Obsidian removal, reversion, or a deliberate feature flag/disable. The ObsidianSourceCard component had no import in the file at any point after the initial addition of the Notion card (PR #2959, commit b778ad261).

Fix

Two additions to src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx:

  1. Import the existing ObsidianSourceCard component (line 15)
  2. Render it alongside NotionSourceCard in the context-sources tab (line 1265)
// Import added:
import ObsidianSourceCard from "./components/ObsidianSourceCard";

// JSX render added inside the context-sources tab:
<ObsidianSourceCard />

No backend, API, MCP, WebDAV, or other infrastructure changes — the component and all its dependencies were already shipped and tested.

Verification

  • git diff --check — passed, no whitespace issues
  • Dashboard TypeScript typecheck — passed with no new baseline regressions
  • Manual verification — the dashboard page compiles and renders both context source cards in the Endpoint → Context Sources tab
  • Existing test suite for Obsidian integration remains intact (unchanged by this PR):
    • tests/unit/obsidian-api.test.ts
    • tests/unit/obsidian-tools.test.ts
    • tests/unit/obsidian-config.test.ts
    • tests/unit/obsidian-plugin-sync.test.ts
    • tests/unit/obsidian-webdav-route.test.ts
    • tests/integration/obsidian-plugin-e2e.test.ts
  • No real external Obsidian vault or WebDAV connectivity was tested against in this change

Scope & Risk

  • Files changed: 1 (EndpointPageClient.tsx)
  • Additions: 2 lines (import + JSX render call)
  • Deletions: 0 semantic deletions (Prettier auto-formatting compressed 3 union type declarations already in the file)
  • Risk: Low. The component, its REST endpoints, MCP tools, and DB config have been in production since v3.8.9. This change only surfaces the existing card in the UI where the documentation already said it should be.

@DKotsyuba
DKotsyuba requested a review from diegosouzapw as a code owner July 16, 2026 19:13

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request integrates the ObsidianSourceCard into the dashboard's context sources tab and refactors several tunnel phase type definitions for improved readability. The review identified a missing UI test for the new component, which is required by the repository's style guide (Rule #9) for all production code changes.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@DKotsyuba
DKotsyuba force-pushed the feat/obsidian-source-card-dashboard branch from afb33fe to 68cd35e Compare July 16, 2026 20:04
@DKotsyuba
DKotsyuba force-pushed the feat/obsidian-source-card-dashboard branch from 68cd35e to b795a95 Compare July 16, 2026 20:09
@diegosouzapw

Copy link
Copy Markdown
Collaborator

Thanks for the clean root-cause writeup and for shipping the regression test alongside the fix — verified locally: clean merge onto release/v3.8.49 tip (no base drift), dashboard-shell-tabs.test.ts passes 6/6 including the new wiring test, and both prettier --check and eslint are clean on the touched files. Confirmed the backend (REST routes, MCP tools, DB module) was already fully shipped and this really was just a missing render call — good catch. One small optional nit: could you add a changelog.d/fixes/7500-<slug>.md fragment per changelog.d/README.md so it lands in the next CHANGELOG aggregation? Not blocking — happy to merge as-is either way.

@diegosouzapw
diegosouzapw merged commit 2be8ebd into cheaper-inference:release/v3.8.49 Jul 19, 2026
15 checks passed
@diegosouzapw

Copy link
Copy Markdown
Collaborator

Merged into release/v3.8.49 — thank you for the contribution, @DKotsyuba! 🎉 Validated in today's full-suite merge-train (33 PRs, 19k+ tests green) before landing.

@diegosouzapw diegosouzapw mentioned this pull request Jul 23, 2026
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
…7500)

* fix(dashboard): show Obsidian context source card

* test(dashboard): guard Obsidian context source wiring

---------

Co-authored-by: DKotsyuba <16292493+DKotsyuba@users.noreply.github.com>
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…7500)

* fix(dashboard): show Obsidian context source card

* test(dashboard): guard Obsidian context source wiring

---------

Co-authored-by: DKotsyuba <16292493+DKotsyuba@users.noreply.github.com>
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.

2 participants