Commit graph

1849 commits

Author SHA1 Message Date
Dhravya Shah
39ef7e1e5e fix: thread issue 2026-06-12 17:41:36 -07:00
sohamd22
dfff4f0fe2 add images for weekly digest email (#1106)
### TL;DR

Added new digest feature images and wordmark asset to the web app's public directory.

### What changed?

Five new images were added under `apps/web/public/images/digest/`:
- `feat-memory.png`
- `feat-profiles.png`
- `feat-retrieval.png`
- `feat-router.png`
- `wordmark.png`

### How to test?

Verify the images are accessible via their public URLs (e.g., `/images/digest/feat-memory.png`) and render correctly wherever they are referenced in the application.

### Why make this change?

These assets are needed to support the digest feature showcase, providing visual representations of the memory, profiles, retrieval, and router features, along with a wordmark for branding purposes.
2026-06-12 21:58:01 +00:00
sreedharsreeram
0ae552037a feat(mcp): playground-style rich recall (formatMemories + profile) (#1101)
## What

Makes the MCP `recall` tool render memories the same way the console **playground** does — rich, scored, relation-aware output — instead of the old flat `### Memory N (NN% match)` list.

The playground pattern is: **profile + rich search → one shared `formatMemories` formatter → feed to the model.** This ports that into the standalone MCP server.

## Changes

- **`format.ts`** (new) — `formatMemories`, lifted verbatim from the playground. Pure, dependency-free. Renders similarity scores, `agg`/`chunk` markers, related-memory arrows (`←` parent, `→` child, `~` related), attached document summaries, and temporal context.
- **`client.ts`** — `SupermemoryClient.search()` now accepts the playground's retrieval knobs (`searchMode` / `rerank` / `rewriteQuery` / `include`) and **stops discarding** the rich response fields (`context`, `documents`, `metadata`, `isAggregated`) during normalization, so the formatter has data to render.
- **`server.ts` (`handleRecall`)** — retrieves memories via `client.search()` with `include: { documents, relatedMemories }`, prepends the user's profile (stable + recent facts) when `includeProfile` is set, and renders memories through `formatMemories`. Output capped at `MAX_RECALL_CHARS`.

## How it maps to the playground

| | Playground | MCP (this PR) |
|---|---|---|
| Profile | injected into its own system prompt (`<user_profile>`) | prepended to `recall` output / exposed via `context` prompt |
| Search | hook pre-fetch **or** tool | `recall` tool (model-triggered) |
| Formatting | `formatMemories` → system prompt | `formatMemories` → `recall` tool result |

## Testing

Verified end-to-end against a local API + local MCP, driven through a real MCP client (and Claude Desktop). `recall` now returns scored memory blocks with `Source:`/`Document:` lines and the legend header. Existing e2e assertions remain compatible (they match `## User Profile` / `## Relevant Memories`, both still emitted).

## Notes

- One deliberate gap vs the playground: `aggregate` — the public SDK's `search.memories` doesn't expose it, so no `agg` synthesis blocks. Relation arrows render only when memories actually have linked parent/child versions.
- Possible follow-up: expose the `include` / `rerank` knobs as `recall` tool params so callers can toggle relations/documents per call.
- Pre-existing `tsc` errors in `server.ts` (dual `@modelcontextprotocol/sdk` install) and `mcp-app.ts` (DOM `lib`) are unrelated to this change — confirmed by an unchanged baseline.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/c616fc88-a725-4961-9011-712bce740601)
- Requested by: Sreeram Sreedhar (sreeram@supermemory.com)
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-06-12 21:53:58 +00:00
MaheshtheDev
81ae72224f feat(spaces): per-space entity context + edit-space modal (#1078)
- "What to remember" per-space context — set on create, on edit, and in the space profile; steers what gets extracted into memory
- Edit-space modal (name + context) from the space pill's hover edit, mirroring the create modal
- Manual saves respect a space's configured context instead of overwriting it with the generic default
2026-06-12 20:51:37 +00:00
MaheshtheDev
40d025e178 Fix onboarding source integrations and connector gating (#1105)
Fixes the onboarding source-integrations step: corrects connector behavior, applies plan-based gating to connectors, and polishes the integrations layout.
2026-06-12 18:05:48 +00:00
Mahesh Sanikommu
94a1e30742
docs: add Container Tags concept page (#1098) 2026-06-11 16:11:09 -07:00
MaheshtheDev
f1c98c161c feat(shortcuts): merge use-case modal with shortcut actions (#1091)
Remove intermediate use-case screen; Apple Shortcuts card now opens a single modal with use cases + Add/Search memory shortcut buttons inline. Fixes res.data.key bug (was reading res.key which is always undefined). Buttons stack on mobile, no 'I'm good' dismiss.
2026-06-11 00:33:21 +00:00
ishaanxgupta
a2a1b065a2 expand chat file drop zone (#1085)
## What changed

- Added a chat-shell-level file drag/drop target so the whole chat area, including the conversation area, shows the drop overlay and accepts files.
- Disabled the nested composer drop handler for the sidebar chat path to avoid duplicate drops or stuck overlay state.
- Kept the existing local input drop behavior available for other ChatInput usages like the home composer.
2026-06-10 18:55:57 +00:00
Ishaan Gupta
6efb4ec3c2
fix(web): harden integrations upgrade plan id (#1088) 2026-06-10 11:11:03 -07:00
Dhravya Shah
0ca48baa0c
docs(readme): add Supermemory local — self-hosted binary (#1089)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-10 09:48:26 -07:00
Dhravya Shah
72bcf88728
docs: self-hosting section for supermemory-server (#1083)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Supermemory code review <41898282+Supermemory code review@users.noreply.github.com>
Co-authored-by: Dhravya Shah <undefined@users.noreply.github.com>
2026-06-10 09:41:52 -07:00
Vedant Mahajan
23c43bd27d
fix(web): prevent upgrade click event as plan id (#1086) 2026-06-10 21:02:42 +05:30
Ishaan Gupta
464a2b16b1
Add Cursor & granola plugin card in Integrations page (#1070) 2026-06-10 20:23:24 +05:30
Vedant Mahajan
fec9334782
Fix integrations info modal dismissal and CTA label (#1084) 2026-06-10 20:12:03 +05:30
Mahesh Sanikommu
9a1bab7182
feat(billing): cancel flow with reason capture + book-a-call (#1077)
Co-authored-by: ved015 <vedant.04.mahajan@gmail.com>
2026-06-10 13:34:33 +05:30
Vedant Mahajan
9ab2e7e64f
fix(web): load space profile from profile API (#1079) 2026-06-10 13:22:44 +05:30
MaheshtheDev
a068a794dd Support HTML file uploads in Nova (#1076)
Adds .html/.htm extensions and text/html MIME to the upload accept list and validation. The API already ingests HTML files; the uploader was rejecting them client-side.
2026-06-10 06:09:20 +00:00
MaheshtheDev
8a9e3ff3b0 feat(integrations): active connections rail + recently added (#1075)
> **_Demo Video_**: https://www.tella.tv/video/integrations-page-layout-with-active-connections-1-g9p4

- Right rail listing active plugins/connectors with status, counts, and expandable detail
- Recently added card: latest docs tagged by source, opens in the doc viewer
- Loading skeletons, empty states, header fetch spinner; fix guest-view flash on reload

ENG-784
2026-06-10 05:00:59 +00:00
MaheshtheDev
b134716f0e chore(integrations): update Poke recipe URL to supermemory.link/poke (#1074) 2026-06-09 18:16:36 +00:00
ishaanxgupta
7418abbe8d memory graph loader (#1072)
## Summary
- Replace the memory graph page's top-left package loading indicator with a centered Supermemory loader overlay.
- Reuse the same SuperLoader animation in the graph preview card loading state.
2026-06-09 17:39:35 +00:00
ved015
c71acbe8ae Make integrations page public for guests (#1073)
## Summary
- Allow logged-out users to load `/?view=integrations` without being redirected to login
- Add a public integrations header with Supermemory branding and a login CTA
- Run IntegrationsView in guest mode with static catalog data only, no auth-backed queries
- Route all guest Connect actions to login with a redirect back to the integrations page

<img width="1680" height="1009" alt="Screenshot 2026-06-09 at 9 32 33 PM" src="https://github.com/user-attachments/assets/111f2b1a-5224-47ae-8152-e1349c05842d" />
2026-06-09 17:32:00 +00:00
MaheshtheDev
170133cf83 feat(web): make brain onboarding the default flow (#1067)
feat(web): make brain onboarding the default flow

- Replace legacy /onboarding with the brain onboarding flow (about -> sources -> ingest -> team -> done)
- Add brain-home dashboard page and widgets
- Old /onboarding/brain deep links fall through to the existing catch-all redirect

feat(onboarding): create org on About step + remove skip

- Create the organization on About -> Continue (authClient.organization.create + setActiveOrg), persisting brain context to org metadata; fixes the no-org redirect loop
- Show a Creating… state on Continue while the org is created
- Remove Skip on the required About step (name + workspace)
- Add generateOrgSlug/generateUsername helpers to onboarding-brain/types
2026-06-09 17:13:32 +00:00
ved015
7c2bd19cd8 Update integrations info modal (#1065)
## Summary
- Replace percard Docs links with hover only info buttons and card click info modals
- Add doc backed use cases inside setupstyle info modals, with Docs access and the same card action in the footer
- Track all info modal close behavior through one analytics event with a close reason
- Keep Active/Connected status in the card footer, align the info icon to the card action margin, and fix the Settings modal Integrations linkout

<h3>Normal no hovering</h3>
<img width="1029" height="529" alt="Screenshot 2026-06-09 at 1 21 38 PM" src="https://github.com/user-attachments/assets/ea817984-34a2-437e-9590-addea0f8d4a1" />

<h3>On hovering</h3>
<img width="466" height="340" alt="Screenshot 2026-06-09 at 1 21 23 PM" src="https://github.com/user-attachments/assets/765c6132-9f91-4a9a-8141-6d61e24b688e" />

<img width="846" height="549" alt="Screenshot 2026-06-09 at 1 34 43 PM" src="https://github.com/user-attachments/assets/aaa10604-98e0-4139-b32f-b19e230210a2" />

<h3>Info modal</h3>
<img width="1303" height="788" alt="Screenshot 2026-06-09 at 1 22 29 PM" src="https://github.com/user-attachments/assets/18b6228f-3a3b-481b-8459-392a39eccb1a" />

<img width="724" height="415" alt="Screenshot 2026-06-09 at 1 22 46 PM" src="https://github.com/user-attachments/assets/5e25e68b-53a9-4fa1-a5cf-1980ede7661a" />
2026-06-09 15:29:38 +00:00
Mahesh Sanikommu
3a3324cee3
feat(settings): settings modal overhaul (#1069) 2026-06-09 12:07:47 +05:30
MaheshtheDev
819090ae9d feat(integrations): add Poke integration (#1066)
- New Poke card in Apps & extensions linking to the Poke recipe (OAuth, no manual MCP URL)
- Featured hero slot for Poke with palm-tree emoji
- Reusable NEW badge, applied to Poke
- Poke logo asset, full-cover icon styling
- POKE_RECIPE_URL constant; guard Chrome-only analytics on external cards
2026-06-08 18:00:07 +00:00
Mahesh Sanikommu
7ec3e57fe1
Grok 4.3, web sources UX, and mobile polish (#1064) 2026-06-08 12:34:15 +05:30
ishaanxgupta
70955480fd implement Nova chat attachments on the web side (#1004)
- Added attachment draft/shared types and validation in components/chat/attachments.ts.
- Added paperclip upload UI to Nova composer with file chips, size/status, remove, retry, and per-file Save / Chat only toggle.
- Wired uploads before send to /chat/attachments, then sends returned attachment references in chat message metadata.
- Preserved attachment metadata when loading threads and rendered attachment chips on user messages.
- Added attachment support from the home composer into the full chat view.
- Extended chat analytics with attachment counts.

<img width="1905" height="900" alt="image" src="https://github.com/user-attachments/assets/631001b8-7c68-4015-b36b-06c69cdad271" />
<img width="1323" height="1600" alt="image" src="https://github.com/user-attachments/assets/77eee08a-b235-41eb-b03a-f406b81b46e7" />

- ensured responsiveness
2026-06-08 06:18:28 +00:00
vorflux[bot]
428d3ccefa
fix: render newlines in Nova chat user messages (#1061)
Co-authored-by: Vorflux AI <noreply@vorflux.com>
2026-06-06 22:10:04 -07:00
MaheshtheDev
9808441f6b test(mcp): add deployed-server e2e suite (#1057)
End-to-end tests that drive the deployed Supermemory MCP over streamable HTTP (no mocks):

- discovery: handshake + tool/resource/prompt listing
- identity: whoAmI, listProjects
- memory: save -> recall round-trip, profile variants, forget, container scoping
- graph/resources/prompts: memory-graph, fetch-graph-data, profile/projects, context
- oauth: protected-resource discovery chain, dynamic client registration,
token-endpoint negatives, and a real refresh -> access token round-trip
- auth: GET / info, 401 on missing/invalid token
- root-scope: x-sm-project scoping behavior

Tests skip without SUPERMEMORY_API_KEY (OAuth tier-D skips without its token env vars) so CI is safe without secrets. Adds vitest + a test:e2e script and documents running + the OAuth flow in apps/mcp/README.md.
2026-06-07 04:30:17 +00:00
MaheshtheDev
5b129d7d32 fix(nova): keep user message when stopping generation early (#1055)
Clicking stop before the first assistant token streamed in deleted the triggering user message: handleStop unconditionally sliced off a trailing user message, which during the submitted/thinking window is the user's own
message. Drop the slice so the message is preserved on stop.

ENG-732
2026-06-06 15:53:23 +00:00
Mahesh Sanikommu
2b60568a21
fix(web): render full document content in viewer (#1056)
Co-authored-by: ved015 <vedant.04.mahajan@gmail.com>
2026-06-06 14:15:21 +05:30
Vedant Mahajan
1b1bd4d221
Fix plugin logos and recent rows for saved OpenClaw/Hermes memories (#1054) 2026-06-06 00:17:57 -07:00
MaheshtheDev
6c6b5297b6 Add web app OG image metadata (#1058) 2026-06-06 02:11:36 +00:00
Dhravya Shah
053baa5029
Improve memory graph (#973)
Co-authored-by: Ishaan Gupta <ishaankone@gmail.com>
2026-06-05 15:48:41 -07:00
MaheshtheDev
ad5734cdfc feat(web): Current/All space filter + redesigned chat history sheet (#1050)
Add a Current/All scope toggle (default Current) to Nova chat history; All fetches threads across every space via the new scope=all API, with each row showing its space.

Redesign the sheet to fit the design system: cap width at 380px (was ~92vw), add search, date-grouped rows (Today/Yesterday/Previous 7/30 days/Older), hover-reveal delete, header space chip, solid primary New Conversation button.

Part of ENG-728: https://linear.app/supermemory/issue/ENG-728
2026-06-05 15:00:18 +00:00
Mubashir R
9ad351feb0
fix: view_range [start, -1] drops the last line in the Claude memory tool (#1043)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 17:28:36 +05:30
Siddhesh Gawade
361064f231
fix(pipecat-sdk): handle null profile object safely (#1041) 2026-06-05 17:26:28 +05:30
Vedant Mahajan
c5bf8ff1f7
Fix plugin memory parser attribution (#1049) 2026-06-04 21:29:28 -07:00
Ishaan Gupta
c606f76f6d
Refine Codex and OpenCode OAuth integration status (#1048)
Co-authored-by: Mahesh Sanikommu <maheshthedev@gmail.com>
2026-06-04 15:15:20 -07:00
Mahesh Sanikommu
fdd966f20e
ENG-712: Accept JSON uploads in Nova + fix file-size display (#1047) 2026-06-04 13:58:18 +05:30
Vedant Mahajan
f5383b6671
fix auth connect link (#1045) 2026-06-04 12:56:39 +05:30
sreedharsreeram
14b33401e1 granola docs (#1042) 2026-06-03 20:36:06 +00:00
sreedharsreeram
63a90d1f68 feat/granola connector (#1007) 2026-06-03 15:19:49 +00:00
HaiTao Wu
f65551fdff
docs: add Simplified Chinese README (#1026) 2026-06-03 14:34:59 +05:30
Vedant Mahajan
73c320c83b
add edit feature , reasoning mode, message queue in nova chat (#1018)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Ishaan Gupta <ishaankone@gmail.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-06-02 11:58:58 -07:00
vimzh
0e29de0af2
fix(tweet-preview): guard JSON.parse to avoid crashing the modal (#996) 2026-06-02 20:25:02 +05:30
ThakerKush
46e7ee1eb4 docs: update with dreaming info (#1020) 2026-06-01 18:10:42 +00:00
vimzh
2684990688
fix(onboarding): parse X URLs with www. and bare-domain prefixes (#994) 2026-06-01 12:39:52 +05:30
vorflux[bot]
253a82bdb7
fix: add show more/less toggle for truncated highlights in Nova (#1029)
Co-authored-by: Vorflux AI <noreply@vorflux.com>
2026-05-31 19:10:43 -07:00
MaheshtheDev
53c971ac85 feat(billing): add Max plan to nova with cancel/resume flow (#1024)
Integrate the new api_max plan ($100/mo, $130 credits) from mono into the
nova web app, mirroring mono's tier semantics.

- Tiers: insert api_max between pro and scale; resolves to Pro-tier for feature gates while displaying as "Max" (queries.ts, use-token-usage)
- Billing page: Max plan card ("Most Popular"), checkout/cancel/invoice wiring; advanced carousel page now 3-up (Max/Scale/Enterprise); Scale builds on Max
- Carousel auto-opens to the page holding the current plan (Max/Scale/ Enterprise users land on their own card instead of Free+Pro)
- Cancel: retention dialog listing what you lose + type-to-confirm "CANCEL"
- Cancel/resume state mirroring console: detect canceledAt-scheduled cancellation, show "Cancelling" pill + "Cancels on {date} · N days left", and a "Resume plan" (uncancel) action
2026-05-31 19:10:17 +00:00