Commit graph

1751 commits

Author SHA1 Message Date
MaheshtheDev
97888ce859 feat(web): Company Brain proactiveness (automations) settings (#1207)
Adds the **Proactiveness** settings tab for Company Brain channel/DM automations.

- Accordion list of automations — collapsed rows with an instant enable toggle + **Run now**, expand to edit.
- Two-column editor: prompt (left) / deliver-to channel or DM, frequency, day, time (right), with local-timezone-aware cron.
- Preset gallery (connection-first, category-diverse) for empty state + a New-automation menu.
- DM delivery option with a tooltip explaining channel visibility + personal-connection fallback.
- Profile-menu entry (gated on Company Brain).

Pairs with the API automations work: **supermemoryai/mono#2480**.
2026-07-07 21:20:50 +00:00
MaheshtheDev
af61880da1 feat(web): add staff custom MCP connection cards (#1199)
---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/cd042b68-db46-431f-982c-3070096a37bd)
- Requested by: Unknown
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-07-06 06:11:09 +00:00
MaheshtheDev
d7050ed332 feat(web): company brain onboarding research UI (#1197)
- Confirm-domain step, then live research transcript + action rail
- Poll research status; client-side force-start fallback

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/4f4c1321-9b65-4dac-9906-8b78c4c32926)
- Requested by: Unknown
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-07-05 00:06:02 +00:00
sohamd22
8c35c1ecad review suggestions option for inferred memories (#1138)
### TL;DR

Adds a swipeable "Review suggestions" card to the dashboard that lets users approve or decline inferred memories surfaced by Nova.

### What changed?

- Added a `ReviewMemoriesCard` component that appears in the "Suggested for you" section of the dashboard (both desktop and mobile layouts). The card is hidden when there are no pending inferred memories, so it never renders empty chrome. While the modal is open, the displayed count is frozen so the trigger button doesn't tick down or disappear mid-session. Switching spaces closes the modal automatically.
- Added a `ReviewMemoriesModal` component that presents inferred memories as a swipeable card deck. Users can approve (swipe right / ✓), decline (swipe left / ✗), or skip each memory. The modal includes:
  - Drag-to-swipe with a full-card color wash (green for keep, red for decline) and verdict pills that intensify as the swipe threshold approaches
  - Keyboard support: `→` to approve, `←` to decline, `↓` or `Space` to skip, and `Cmd/Ctrl+Z` to undo
  - An undo button that steps back one card and reverts the server-side decision, using refs to avoid stale-state bugs during rapid interactions
  - A progress dot indicator showing position in the queue alongside a numeric counter
  - A "All caught up" completion state summarising how many memories were kept
  - Reduced-motion support via `useReducedMotion`
  - The card queue is snapshotted when the modal opens so cache updates from review mutations don't reshuffle the stack mid-session
- Added a `useInferredMemories` hook to fetch the pending review queue for a given container tag, and a `useReviewInferredMemory` mutation hook that calls the review endpoint. On success it removes the reviewed entry from the cached queue directly; on undo it invalidates the query to refetch the restored memory from the server.
- Registered two new API schema entries: `GET /container-tags/:containerTag/inferred` to fetch the pending queue and `POST /container-tags/:containerTag/inferred/:memoryId/review` to submit an approve, decline, or undo action.

### How to test?

1. Ensure there are inferred memories pending review for a container tag.
2. Open the dashboard — a "Review suggestions" card should appear in the "Suggested for you" section showing the count of pending memories.
3. Click the card to open the modal and swipe or use the buttons/keyboard to approve, decline, or skip memories.
4. Verify that approved and declined memories are removed from the queue after each decision and that the completion state appears once all cards are reviewed.
5. Use the undo button or `Cmd/Ctrl+Z` to step back through decisions and confirm the server-side state is reverted correctly.
6. Confirm the card does not render when there are zero pending inferred memories.
7. Switch spaces while the modal is open and confirm it closes without carrying state into the new space.

### Why make this change?

Nova infers memories on behalf of users but may not always be fully confident in them. This feature gives users a lightweight, low-friction way to review and curate those suggestions directly from the dashboard, improving the quality and trustworthiness of their memory store.
2026-07-04 20:57:33 +00:00
MaheshtheDev
acd2fea9a9 feat(web): hide getting-started once setup done, swap setup tile (#1190)
Hide the Getting Started checklist when all 3 onboarding steps complete, letting Recent memories go full-width. Swap the Setup 3/3 stat tile to a live Last updated timestamp once setup is done.

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/afbb6d10-e42e-4b40-aac9-90aba9532ec7)
- Requested by: Unknown
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-07-03 04:12:38 +00:00
MaheshtheDev
d4c451c3ce feat(web): brain connections board + MCP connect from web (#1181)
Connections board on brain home: featured app tiles with OAuth/static connect against brain/mcp-connections, agent preview prompts, connector icon set, and reworked company-brain connections in settings.

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/e37671c7-3893-48d6-ad66-73200826c04d)
- Requested by: Unknown
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-07-02 16:24:50 +00:00
MaheshtheDev
42f3aec885 feat(web): company brain onboarding redesign + connector entitlement (#1178)
- onboarding: unified About step, mode-aware Sources, Slack-focused Flows step, connect feedback (toast + connected state), auto-draft company description from domain
- brain-home: Active members stat + invite, real OneDrive icon
- useConnectorAccess hook so company_brain unlocks pro-tier connectors across onboarding + integrations
- fix company-brain-connections crash on empty connections

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/64a15b29-0848-42d1-af4c-138c5a27136f)
- Requested by: Unknown
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-06-30 22:01:20 +00:00
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
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
sreedharsreeram
313a8df6a6 feat(web): show import status on X bookmarks integration card (#1130)
## What

The X bookmarks ("Import X bookmarks") card on the integrations page never reflected any state, even after importing tweets — unlike connectors and plugins, which show "Connected"/"Active".

After this change, once you've imported at least one tweet the card shows an **"Imported · {last import time}"** pill (mirroring the plugin "Active · {time}" style) and is included in the **Connected** filter.

Since importing X bookmarks is a one-time/occasional action rather than a live connection, it intentionally says **"Imported"** with the last-import timestamp, not "Connected".

## Why

The page's status logic (`isItemConnected` + `renderStatus`) only handled the `plugin` and `connector` item kinds. The X bookmarks card is an `import` kind, so it always rendered just "Connect". This was a regression from #979 (the integrations overhaul), which rebuilt the page around item kinds and dropped the previous "{N} tweets imported" indicator.

## How

- Add a single documents query (`@post/documents/documents`, `categories: ["tweet"]`, `limit: 1`, newest first) that yields both the org-wide tweet count (`pagination.totalItems`) and the latest tweet's `createdAt`.
- `isItemConnected` returns `true` for `import` when the count is `> 0`.
- `renderStatus` renders a new `ImportedPill` ("Imported · {relative time}") for `import` when there's ≥1 tweet.

## Testing

- `tsc` and Biome pass; no new errors introduced by this change.
- Verified the status source of truth against a local backend by seeding `type='tweet'` documents — the count/latest-timestamp the pill renders reflect them.

> Note: `tsc` reports two **pre-existing**, unrelated `granola` errors in this file (`CONNECTOR_META` + an icon record missing the `granola` provider). They exist on `main` and are not touched by this PR.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-06-18 04:43:06 +00:00
sohamd22
9017a1b5d4 add weekly digests, log, and opt out options (#1107)
### TL;DR

Adds a Weekly Digests view to the web app, allowing users to browse and read their personalized weekly memory recaps directly in the UI, along with a notification preference toggle to opt out of digest emails.

### What changed?

- Added a new `digests` view mode that renders a `DigestsView` component, accessible from the dashboard via a new weekly digest preview card that appears when a digest exists.
- `DigestsView` displays a master-detail layout: a scrollable list of past weekly digests on the left, and a full digest content pane on the right. The detail pane renders the intro (with a floating brain illustration), numbered highlights, and feature recommendations styled to mirror the email layout.
- Added thumbs-up/thumbs-down feedback controls and an optional free-text input on each digest, wired to analytics events.
- Added `useDigests` and `useDigest` hooks that fetch digest list and detail data from the API, with 5- and 10-minute stale times respectively.
- Registered four new API schema endpoints: `GET /digests`, `GET /digests/:id`, `GET /digests/preferences`, and `POST /digests/preferences`.
- Added a `DigestPreferences` section to the account settings page with a toggle that lets users opt in or out of the weekly digest email.
- Extended the `viewModeChanged` analytics event and the `viewLiterals` search param list to include `"digests"`, and added `digestViewed`, `digestFeedback`, and `digestFeedbackDetail` analytics events.
- Added documentation for the `SUPERMEMORY_EMBEDDING_RAM_LIMIT` and `SUPERMEMORY_INGEST_CONCURRENCY` environment variables, explaining the memory-bounded ingestion queue and its live terminal status output.

### How to test?

1. Navigate to the dashboard and confirm the weekly digest preview card appears when a digest exists, and clicking it transitions to the `digests` view.
2. In the digests view, verify the list renders past digests with the most recent highlighted by a gradient border, and selecting a row loads the correct detail content.
3. Confirm the empty state renders correctly when no digests exist.
4. Use the thumbs-up/thumbs-down buttons and the detailed feedback textarea on a digest, verifying the toast confirmation appears on submission.
5. Open account settings, locate the "Notifications" section, and toggle the weekly digest switch on and off, verifying the preference persists without errors.
6. Confirm the `digests` view mode is reflected in the URL search params when active.

### Why make this change?

Users currently receive weekly digest emails but have no way to revisit past digests within the app. This change surfaces digest history directly in the UI, adds in-product feedback collection on digest quality, and gives users control over whether they receive the emails — improving discoverability, engagement, and preference management.
2026-06-18 01:06:40 +00:00
sreedharsreeram
d4a3a57a42 fix(web): remove duplicate "Connected" text on connector cards (#1131)
## Problem
On the integrations page → **Knowledge bases** section, a connected connector card (e.g. Google Drive) rendered the green **"Connected"** pill **twice** — once on the bottom-left, and again on the bottom-right next to the `+` button.

## Cause
The `ConnectionsCountPill` was rendered in two slots of the card:
- `renderStatus()` → left `statusSlot`
- `renderRight()` → right `actionSlot` (alongside the `+` add-source button)

The `renderStatus` connector case was added recently (#1065) and duplicated the pill that `renderRight` already shows.

## Fix
Removed the `connector` case from `renderStatus()` so the pill renders **only on the right**, in place of the Connect button. The logic is keyed on `kind === "connector"`, so this fixes every Knowledge-bases card uniformly — **Google Drive, Notion, OneDrive, Granola**.

- Non-connected cards still show the **Connect** button (unchanged).
- The info modal is unaffected — it renders `infoActionSlot ?? actionSlot` and never `statusSlot`.

```diff
-			case "connector": {
-				const count = connectionsByProvider[item.provider].length
-				if (count <= 0) return null
-				return <ConnectionsCountPill count={count} />
-			}
 			default:
 				return null
```

## Testing
Minimal, self-contained deletion (no new code, no unused symbols). Local `tsc` not run in this worktree because `node_modules` isn't installed here; the change leaves valid syntax and `ConnectionsCountPill`/`connectionsByProvider` remain used by `renderRight`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-06-17 18:07:25 +00:00
sreedharsreeram
00d481e8c0 Move Granola connector to Pro plan (#1132)
## Summary
- move Granola from Max-gated to Pro-gated in Nova integrations and add-connection flows
- add Granola to Pro plan card connector copy in billing
- update Granola connector docs to say Pro Plan or higher

## Testing
- bunx biome check apps/web/components/settings/billing.tsx apps/web/components/integrations-view.tsx apps/web/components/add-document/connections.tsx apps/docs/connectors/granola.mdx
- git diff --check

Note: onboarding-brain was intentionally left unchanged.
2026-06-17 17:48:04 +00:00
MaheshtheDev
def847af5f Revert "fix(mcp): clarify memory graph pagination (#1032)" (#1133)
This reverts commit feca81f69e.
2026-06-17 17:16:22 +00:00
icyzh
f833843760
fix(openai-sdk): use AsyncSupermemory and correct client API calls (#1063)
Some checks failed
Publish OpenAI SDK Python / publish (push) Has been cancelled
2026-06-17 09:05:11 -07:00
Rin
f7e97e0233
fix(web): strengthen URL validation and redirect handling in OG scraper (#1059) 2026-06-17 20:28:24 +05:30
Rāna(Bass Ver.)
feca81f69e
fix(mcp): clarify memory graph pagination (#1032)
Co-authored-by: Vedant Mahajan <vedant.04.mahajan@gmail.com>
2026-06-17 18:38:19 +05:30
nyxst4ck
6a4e0b2514
docs: quote pip extras install examples (#1039)
Co-authored-by: nyxst4ck <289980115+nyxst4ck@users.noreply.github.com>
2026-06-16 23:30:41 -07:00
ishaanxgupta
24eb5a4367 Fix Granola Max upgrade gating (#1095)
## Summary

- Keep the Granola integration card in Upgrade state unless the active plan includes Max or above.
- Prevent the Granola API-key modal from opening unless the active plan is Max or above in both the integrations grid and add-document connections UI.
2026-06-17 06:22:41 +00:00
vorflux
0d2c6c8623 docs: rename Claude Code plugin to supermemory (#1100)
## Summary
- Rename the Claude Code plugin docs references from `claude-supermemory` / `Claude-Supermemory` to `supermemory`
- Update install and command examples to use `/plugin install supermemory` and `/supermemory:logout`

## Testing
- Ran `git diff --check`

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/cc17c7ae-0fb2-4e2c-bb4c-20a66900d720)
- Requested by: Sreeram Sreedhar (sreeram@supermemory.com)
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-06-17 06:14:29 +00:00
@aaronjmars
377bc979d5
fix(deps): bump next to 16.0.7 in memory-graph-playground (critical CVE) (#1082)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-16 21:10:32 -07:00
ved015
da70ccc5f1 feat: add chat memory imports to extension (#1115)
demo shared on work-done
2026-06-17 04:08:44 +00:00
ishaanxgupta
9c5a5d4991 Improve mobile integrations layout (#1097)
## Summary
- Add a mobile-only Activity panel with Active and Recent tabs near the top of the integrations page.
- Switch mobile integration cards from horizontal carousel cards to compact vertical list rows.
- Keep the existing desktop right-column layout unchanged.

<img width="366" height="800" alt="image" src="https://github.com/user-attachments/assets/04dc04a0-ae7b-4fe5-b54f-5d730220a90c" />
2026-06-17 04:06:59 +00:00
Mahesh Sanikommu
3f5af42565
Add console logs for debugging consent page (#1129) 2026-06-16 14:46:07 -07:00
Prasanna721
949413d98e fix mcp consent org restore (#1126)
Stops Nova's saved active org from overriding the org picked on the MCP OAuth consent page.

- skips localStorage org restoration on `/oauth/consent`
- keeps normal Nova org restore behavior everywhere else

Testing:
- `bunx biome check --write packages/lib/auth-context.tsx`
- `bun run --filter @repo/web lint` passes with existing warnings
- `bunx tsc --noEmit --project apps/web/tsconfig.json` fails on existing unrelated type errors outside this change
2026-06-16 21:19:06 +00:00
Prasanna721
e75349d82c fail closed on mcp approve (#1123)
The consent screen now fails the approve action if the MCP scope bind fails, if the OAuth consent response omits a redirect URL, or if approve tries to send the user back into a signed Better Auth interaction URL.

That prevents the UI from showing Access authorized while Claude never receives the callback.

Testing:
- bunx biome check --write apps/web/app/oauth/consent/page.tsx
- bun run --filter @repo/web lint (passes with existing warnings outside this file)
- bunx tsc --noEmit --project apps/web/tsconfig.json (fails on existing unrelated app errors)
2026-06-16 19:42:59 +00:00
Prasanna721
8de01a49d3 fix oauth resume redirect (#1122)
Fix the Claude Desktop MCP OAuth resume path after login/org selection.

- drop stale signed Better Auth params before resuming \`/oauth2/authorize\`
- consume \`prompt=login\` so approve can continue to consent/code redirect instead of looping back to login

Tested with \`bunx biome check apps/web/app/'(auth)'/login/page.tsx\`.
2026-06-16 18:31:35 +00:00
Prasanna721
651e304735 feat(web): MCP OAuth consent page (#1118)
Consent + connect UI for the new OAuth 2.1 provider. The API side lives in mono#1812 (stacked on the Enterprise MCP PR). When an MCP client starts OAuth, this is the page where you pick the org and approve access.

What's here:

- `/oauth/consent`: the consent screen. Pick an organization (cards), then set access: permission (read / read+write) and scope (full, or scoped to specific container-tag spaces with a searchable picker). Approving hands the code back to the client.
- `/connect`: plugin-aware entry for known clients (Claude Code, etc.).
- `ConsentCard.tsx`: shared card component (org list with fade, dual-icon connecting header, scoped-spaces picker), built to reuse across plugins.
- plus a fix to the mcp resource metadata.

Pairs with mono#1812 (the API OAuth provider) and the Enterprise MCP PR. Draft until the end-to-end flow is verified.
2026-06-16 17:33:09 +00:00
Ishaan Gupta
925be7c6c5
Add Antigravity MCP setup (#1119) 2026-06-16 12:10:36 +05:30
Mahesh Sanikommu
5eed4bcbf3
Add bulk multi-URL paste to create separate memories (#1109) 2026-06-15 11:37:09 +05:30