Commit graph

1774 commits

Author SHA1 Message Date
Ishaan Gupta
440e9e94bd Constrain MCP picker card width 2026-07-03 20:43:56 +05:30
Ishaan Gupta
166317b1ec Tighten MCP picker card spacing 2026-07-03 20:39:25 +05:30
Ishaan Gupta
e72f775fa6 Hide picker scrollbar chrome 2026-07-03 20:35:47 +05:30
Ishaan Gupta
af0bc630dd Avoid picker scroll for short workspace lists 2026-07-03 20:30:49 +05:30
Ishaan Gupta
2f391cf707 Match MCP widget typography to web 2026-07-03 16:55:00 +05:30
claude[bot]
1e81a3e27a Fix Biome formatting in Button.tsx
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-07-03 11:00:05 +00:00
Ishaan Gupta
649d985d48 Polish MCP widget UI 2026-07-03 16:27:37 +05:30
Ishaan Gupta
f0023bb414 Match MCP confirmation card style 2026-07-02 20:37:07 +05:30
Ishaan Gupta
ca71ed6ae6 Remove MCP status card borders 2026-07-02 20:35:06 +05:30
Ishaan Gupta
a81a7ed55d Match MCP permission pill to web card 2026-07-02 20:07:45 +05:30
Ishaan Gupta
d7e2991022 Match MCP workspace cards to web style 2026-07-02 20:03:06 +05:30
Ishaan Gupta
ef3762d328 Remove icons from MCP workspace cards 2026-07-02 19:42:31 +05:30
Ishaan Gupta
6a85341356 Use Supermemory loader in MCP widget 2026-07-02 19:40:38 +05:30
Ishaan Gupta
a09b5b6166 Use neutral hover states for MCP cards 2026-07-02 19:37:49 +05:30
Ishaan Gupta
645a44067c Preview Cursor MCP widget shell in studio 2026-07-02 19:33:30 +05:30
Ishaan Gupta
d5d0cb70bb Align MCP widget cards with web theme 2026-07-02 18:59:40 +05:30
claude[bot]
c811b40091 fix(mcp): resolve Biome lint and format errors
- Fix CSS specificity order: move .mcp-widget-glow base rule before
  override selector to satisfy noDescendingSpecificity
- Remove invalid aria-label from header element
- Add aria-hidden="true" to decorative SVG instead of role="img"
- Format multi-line shadow values on single lines per Biome

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-07-02 17:05:43 +05:30
ishaanxgupta
a8f364478a style(mcp): align graph widget surface 2026-07-02 17:05:43 +05:30
ishaanxgupta
0d7e231f2d style(mcp): solidify widget form surfaces 2026-07-02 17:05:43 +05:30
ishaanxgupta
f7d2bb7301 style(mcp): align widget UI with Nova theme 2026-07-02 17:05:43 +05:30
claude[bot]
677b9d41d9 Fix Biome CSS formatting in tokens.css
Consolidate multi-line shadow values to single lines to match Biome formatting rules.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-07-02 17:05:43 +05:30
ved015
afcc59ae49 Fix MCP widget dark mode readability
Make the widget fall back to dark tokens when the host does not provide an explicit theme, and expand workspace memory count labels from mem/mems to memory/memories.

Co-authored-by: Ishaan Gupta <ishaankone@gmail.com>
2026-07-02 17:05:43 +05:30
ved015
d36aa64556 Merge main into MCP revamp PR
Resolve MCP revamp conflicts by keeping the new server layout, deleting legacy root MCP files, and carrying forward API timeout handling into the new auth/client modules.
2026-06-30 20:08:28 +05:30
Dhravya Shah
e706a13877
Merge timeout additions for supermemory-mcp (#1144)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Polylane Automation <automation@nominal.ai>
2026-06-29 12:28:14 -07:00
sohamd22
1af9dbc448 add semantically mass-forget memories endpoint to docs (#1170)
## Docs: add Forget Matching endpoint + fix stale Forget Memory docs

### What this does

- **Adds docs for the new** **`POST /v4/memories/forget-matching`** **endpoint** — semantic/promptable mass-forget. Covers `dryRun` (preview), `threshold`/`maxForget` safety bounds, the request/response shape, and `forgetBatchId`.
- **Corrects the existing "Forget Memory" section** to match the actual implementation.

### ⚠️ No API surface changed

This PR is **docs-only**. The existing forget endpoint's behavior/contract is untouched — the previous docs were simply **wrong** and described a route that has never existed:

|  | Old docs (incorrect) | Actual implementation (unchanged) |
| --- | --- | --- |
| Method + path | `POST /v4/memories/{id}/forget` | `DELETE /v4/memories` |
| Body | — | `{ id \| content, containerTag, reason? }` |

The handler (`forgetMemory` in `apps/api/src/routes/v4/memories/handlers.ts`) was not modified — this just makes the docs reflect reality.

### Also

- Small accuracy cleanups (response field descriptions, realistic example IDs).
2026-06-29 18:46:18 +00:00
sohamd22
7d1428e797 docs update for profile buckets and inferred memory review (#1158)
### TL;DR

Adds documentation for the Memory Review endpoints and Profile Buckets feature.

### What changed?

**Memory Review (`memory-review.mdx`)**
- Added a new documentation page covering the two inferred memory review endpoints: `GET /v3/container-tags/{containerTag}/inferred` and `POST /v3/container-tags/{containerTag}/inferred/{memoryId}/review`.
- Documents the three review actions (`approve`, `decline`, `undo`) and how each affects search ranking and memory state (`isInference`, `isForgotten`, `reviewStatus`).
- Includes request/response examples in both `fetch` and cURL, a field reference table, error codes, and a collapsible React Query hooks example for building a review UI.
- Registered the new page in `docs.json` under the "Manage Content" group and linked to it from the Memory Operations next steps.

**Profile Buckets (`user-profiles.mdx`)**
- Added a "Profile Buckets" section explaining custom topical categories (`preferences`, `goals`, `work`, etc.) as a complement to `static`/`dynamic` profile sections.
- Documents the `include`, `buckets`, and `filters` query parameters on the profile endpoint.
- Covers the `GET /v4/profile/buckets` endpoint for listing configured bucket definitions, with request/response examples and a field reference.
- Explains the `[Recent]` / `[Summary]` label convention used in bucket and dynamic profile entries.
- Updated the `ProfileResponse` TypeScript interface to mark `static` and `dynamic` as optional and add the `buckets` field.

### How to test?

- Navigate to the docs site and confirm "Memory Review" appears in the sidebar under "Manage Content".
- Verify all code examples render correctly and tabs switch between `fetch` and cURL variants.
- Confirm the React Query accordion expands and displays the TypeScript snippet.
- Check that the Profile Buckets section renders inline within the User Profiles page, including the response JSON blocks and the tip/note callouts.

### Why make this change?

Inferred (derived) graph memories are down-weighted in search until reviewed, but there was no documentation explaining how to surface or act on them. Similarly, profile buckets were a shipped feature with no public-facing docs. These additions give developers the reference material needed to build review UIs and use topical bucket filtering in their integrations.
2026-06-29 17:23:21 +00:00
ishaanxgupta
603d0512fd Show MCP connection status in integrations (#1135)
## Summary
- Parse enabled MCP OAuth API keys from the integrations page key list.
- Show MCP as connected in MCP integration cards, the Active filter count, featured CTA, and active connections rail.
- Reuse the existing MCP metadata signal used elsewhere in the app (`sm_source: "mcp"` or `sm_kind: "mcp_oauth_exchange"`).

<img width="1918" height="657" alt="image" src="https://github.com/user-attachments/assets/0dc4dace-9d47-4f05-8aad-55bd947dfe1c" />
2026-06-28 19:33:51 +00:00
Anirudh Sharma
5d975eb0c9
Fix social URL host matching (#1174)
Co-authored-by: MaheshtheDev <38828053+MaheshtheDev@users.noreply.github.com>
2026-06-28 12:36:26 +05:30
Parthiv
f1e2d3b41b
Show the orbit animation on the login panel (#1168)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 10:55:37 -07:00
ved015
3a9310778a Fix settings organization flows (#1159)
## Summary
- Fix delete-organization dialog focus when switching orgs inside Settings.
- Restyle delete-organization modal to match the app modal theme and remove extra organization icons.
- Make the organization switcher list scrollable when many orgs exist.
- Send Create organization directly to onboarding instead of opening the create-org modal.
- Stop onboarding from completing when org creation fails, show an error toast, and return existing users to the dashboard.
2026-06-27 14:27:36 +00:00
Dhravya Shah
f1ff7beb0f
Draft: Add chat source annotations (#1165) 2026-06-26 20:51:40 -07:00
Mahesh Sanikommu
d169dc078e
Fix brain home overflow (#1166) 2026-06-26 16:48:35 -07:00
Dhravya Shah
886ee692f9
Add request timeouts to Supermemory MCP client calls (#1146)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-06-25 13:35:23 -07:00
ishaanxgupta
4ce13cd4cf Add plugin changelog page (#1160)
## Summary
- Add a dedicated plugin changelog page under the Changelog tab, with recent updates tagged by plugin.
2026-06-25 17:06:59 +00:00
sreedharsreeram
4675904159 Fix Claude Code plugin install command (#1161)
## Summary
- update the Claude Code plugin install step to use `/plugin install supermemory`
- keep the marketplace add command pointing at `supermemoryai/claude-supermemory`

## Testing
- Not run; copy-only change
2026-06-24 23:02:43 +00:00
MaheshtheDev
3769ffa41f feat(web): Company Brain connections disconnect and Slack reconnect (#1157)
## Summary
- Add disconnect actions for org and personal GitHub/Linear connections on the Company Brain settings page
- Show connected Slack workspace name and an admin-only **Reconnect Slack** button (pairs with API admin gate in supermemoryai/mono#1912)
- Fix infinite loading skeleton when `/brain/connections` fails by falling back to empty state with a toast

## Test plan
- [ ] Open Settings → Company Brain connections as org admin
- [ ] Confirm Slack team name shows when workspace is connected
- [ ] Confirm **Reconnect Slack** is visible for admin/owner only
- [ ] Connect and disconnect GitHub/Linear for org (admin) and personal scopes
- [ ] Simulate failed connections fetch (e.g. offline) and confirm page renders instead of infinite skeleton
2026-06-24 01:16:16 +00:00
MaheshtheDev
1e1b0b1a37 feat(web): make /integrations a real route with connect deeplinks (#1155)
- Promote integrations from ?view=integrations to real /integrations and nested /integrations/[card] routes; the page body is shared via AppExperience and useViewMode is path-aware.
- Legacy ?view= URLs (and /settings/integrations) redirect to the new routes for back-compat; middleware/ensure-workspace allow the public routes.
- Add ?connect=<plugin|provider> deeplink that opens a card's connect modal instantly with a loading state (e.g. Hermes API key).
2026-06-23 20:42:29 +00:00
Oluwabusayo Jacobs
b3017eb121
chore(web): remove unused @lobbyside/react integration (#1156)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 10:00:59 -07:00
Mahesh Sanikommu
32a6055f7c
Fix integrations page double-refresh on load (#1134)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Vedant Mahajan <vedant.04.mahajan@gmail.com>
2026-06-23 20:01:40 +05:30
MaheshtheDev
f28e974609 feat(web): add Slack connect card to home + space selector polish (#1137)
Adds the 'Add Supermemory to your Slack' card (status + install) on the home dashboard, and removes the border on the space-selector trigger.
2026-06-22 18:20:09 +00:00
MaheshtheDev
a6f7f346e2 feat(web): company brain — invite-accept page, space UX/visibility, org-scoped daily brief (#1112)
New /org/invite/[invitationId] page so consumer-org invitees can view and accept or decline invitations in the app instead of the console.

Fixes ENG-811
2026-06-22 18:12:18 +00:00
MaheshtheDev
ab3dcd7a73 feat(web): create org from settings launches onboarding (#1136)
Settings 'create organization' now routes to /onboarding?new=1&name=... (team/personal, invites) instead of a bare authClient.create. Adds the forceCreate path with name prefill, clears new=1 after a successful create to prevent duplicate orgs, and fixes the Radix popover-to-dialog pointer-events lock.
2026-06-22 18:12:18 +00:00
MaheshtheDev
504940414c feat(web): company brain entitlement helper, hook + ?org deep-link activation (#1110)
Add hasCompanyBrain helper + useHasCompanyBrain hook reading the company_brain add-on from org metadata to gate Company Brain UI.

Fixes ENG-806
2026-06-22 17:54:13 +00:00
MaheshtheDev
cf47d73126 feat(onboarding): instrument brain onboarding analytics (#1099)
Wire PostHog funnel events (started, step viewed/completed, mode, workspace, sources, ingest, team, completed) across the brain onboarding flow, and drop stale pre-brain event defs from analytics.ts.

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/5b48bbe4-422a-4577-b6bf-fd9416a6846b)
- Requested by: Sreeram Sreedhar (sreeram@supermemory.com)
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-06-20 07:48:15 +00:00
Prasanna A P
113862f4ae fix mcp root transport alias 2026-06-19 14:08:19 -07:00
Prasanna A P
db990e93ce fix mcp oauth resource metadata 2026-06-19 13:02:09 -07:00
ved015
c6b20b5b87 Fix delete organization dialog focus race (#1139)
## Summary
- Delay opening the delete organization dialog until after the Danger zone popover begins closing
- Explicitly focus the organization confirmation input when the dialog opens
- Prevent intermittent focus loss where users could not type the org name
2026-06-19 17:46:21 +00:00
Prasanna A P
f887bd66e5 mcp: rename listContainerTags tool to listSpaces (consumer-facing)
Consumers think in "spaces", not "container tags". Renames the tool to
listSpaces and updates its description + text output to say "spaces".
Internal plumbing is unchanged: the client method listContainerTags() and
the structuredContent.containerTags key (widget contract) keep their names.
2026-06-19 09:55:45 -07:00
claude[bot]
e1289e5c2f fix: format ternary expression to pass Biome CI check
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-06-19 09:55:45 -07:00
Prasanna A P
3e988d7500 mcp: rename EnterpriseMCP -> SupermemoryMCP (DO class + branding)
Functionality unchanged; just the name. The DO class is now SupermemoryMCP, which matches the existing supermemory-mcp worker's v1 migration -> the cutover is a no-op, no DO session reset. Demo/mock 'enterprise buyers' text left as-is.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 09:55:45 -07:00