Commit graph

869 commits

Author SHA1 Message Date
Vorflux AI
556fade101 fix: add aria-label to SVG in graph-card to fix biome a11y lint 2026-03-28 06:06:00 +00:00
Vorflux AI
f4ab06ee15 Merge remote-tracking branch 'origin/main' into vorflux/graph-perf-consolidation 2026-03-28 06:04:17 +00:00
Vorflux AI
429c7e97ad refactor: simplify graph API - remove backend computation, use client-side layout
- Remove x/y from GraphApiDocument (client computes via force simulation)
- Remove similarity from GraphApiEdge, add edgeType enum
- Replace viewport/bounds/stats API calls with single paginated documents endpoint
- Derive edges client-side from document structure (doc-memory, version, same-space)
- Update MCP client/server to use documents endpoint
- Update MCP UI app for new type shapes
- Update all tests for new API contract
- Progressive loading via useInfiniteQuery (100 docs/page)
2026-03-28 06:04:11 +00:00
MaheshtheDev
38282a37d6 feat: warning when model is unavailable in the region (#814) 2026-03-28 05:52:41 +00:00
Vorflux AI
5ccb2e65bb Merge remote-tracking branch 'origin/main' into vorflux/graph-perf-consolidation 2026-03-27 06:46:27 +00:00
MaheshtheDev
1111f05c47 feat: improve chat interface ux (#812) 2026-03-27 06:08:30 +00:00
Vorflux AI
4e0bf5bb40 Merge remote-tracking branch 'origin/main' into vorflux/graph-perf-consolidation 2026-03-27 05:32:39 +00:00
vorflux[bot]
5a63ebc996
chore: rename ClawdBot to OpenClaw across web and docs (#811)
Co-authored-by: Vorflux AI <noreply@vorflux.com>
2026-03-26 22:10:57 -07:00
Vorflux AI
335c85007d Merge remote-tracking branch 'origin/main' into vorflux/graph-perf-consolidation 2026-03-27 02:12:15 +00:00
MaheshtheDev
57748ead4d feat: web search and improve chat with tools (#810) 2026-03-27 01:57:13 +00:00
Vorflux AI
96b7f16175 Fix Cloudflare Workers build: use source exports for workspace, dist for npm publish
- Package exports now point to source files (./src/index.tsx) for workspace
  consumers, allowing Next.js/Turbopack to resolve without pre-building
- Added publishConfig swap script that switches exports to dist/ during
  npm publish (prepublishOnly) and back to source after (postpublish)
- Added @supermemory/memory-graph to transpilePackages in web app next.config.ts
  so Next.js transpiles the source files correctly
2026-03-27 00:30:47 +00:00
Vorflux AI
1c5ef7e5ed Rewrite @supermemory/memory-graph with perf optimizations and consolidate consumers
Package changes (packages/memory-graph):
- Spatial grid nearest-neighbor: O(n^2) -> O(n*k) for doc-doc edge rendering
- Zoom-based edge culling: skip low-similarity edges at low zoom levels
- Modular canvas engine from mono repo (renderer, simulation, viewport, hit-test)
- Remove vanilla-extract CSS, use inline styles only
- Add motion/react for slide-in animations
- Export mock data generator for stress testing
- Add performance and integration tests (15/15 pass)

Web app changes (apps/web):
- Remove local graph implementation (~4400 lines deleted)
- Add thin wrapper (memory-graph-wrapper.tsx) using useGraphApi hook
- Keep app-specific graph-card.tsx and use-graph-api.ts

Playground changes (apps/memory-graph-playground):
- Add stress test buttons (50/100/200/500 docs)
- Add mock data generation via package
- Convert DocumentWithMemories to GraphApiDocument format
- Show FPS counter during stress tests

All TypeScript compiles clean. Performance tests: 15/15 pass.
2026-03-26 17:58:28 +00:00
Prasanna721
694ad8123a fix: remove useQuery wrapper around synchronous billing checks (#805)
#### fix: billing subscription status race condition

 - **Bug fix**: Replaced `fetchSubscriptionStatus` (useQuery wrapper) with `getSubscriptionStatus` (pure function) — fixes intermittent "Upgrade to Pro"
  failures caused by stale cached billing state
  - **Anti-pattern**: Removed `fetchConnectionsFeature` useQuery wrapper, replaced with direct `autumn.customer?.features?.connections` read
  - **Dead code**: Removed unused `useMemoriesUsage` hook and `fetchMemoriesFeature`
2026-03-26 05:29:53 +00:00
MaheshtheDev
fe5d16509a feat: ensure workspace created on nova new account (#798)
Added workspace management to the onboarding flow with automatic organization creation and workspace validation throughout the app.

### What changed?

- Wrapped the app layout with an `EnsureWorkspace` component that redirects users without organizations to onboarding
- Enhanced the welcome page to automatically create an organization with a generated slug when users complete their name input
- Expanded the auth context to track organizations list, restoration state, and provide organization refetching capabilities
- Added utility functions for generating unique organization slugs and usernames from display names
- Implemented proper organization restoration logic that handles saved preferences and multiple organization scenarios
2026-03-24 18:17:21 +00:00
Prasanna721
55ef8ab899 fix: billing gate broke for scale/enterprise and downgraded users (#794)
The subscription check on plugins, connections, and usage pages was hardcoded to only look at `api_pro`. Users on scale or enterprise plans saw "Upgrade to Pro" and couldn't create plugin keys or manage connections.

Also, the check only looked at product `status` but not the `allowed` flag from autumn — so users who downgraded but were still in their billing period got locked out early.
2026-03-22 16:05:08 +00:00
Ishaan Gupta
2ce55c43bc
todo: Implement MCP connection status polling (#788) 2026-03-20 16:37:13 -07:00
MaheshtheDev
bc9120f751 feat: multi-file upload queue for Add Document (#789)
Adds multi-select and multi-file drag-and-drop on the Add Document Upload files tab, a per-file queue with status, retry for failed rows, and batched uploads to the existing `POST /v3/documents/file` endpoint with a client-side concurrency limit of 3.

Optional title/description apply only when a single file is queued. .md / .mdx (and text/markdown) are accepted.

Upload progress is shown as a bottom strip with a slow width animation
2026-03-19 21:14:17 +00:00
MaheshtheDev
c534008001 feat: delete connection without removing the documents (#778)
- Deleting Connection without removing documents
- Updating the Docs with new param
2026-03-17 23:21:36 +00:00
MaheshtheDev
6ce7357ffb docs: clarify metadata-only PATCH does not reindex (#784)
Updates docs to match the new behavior where metadata-only PATCH updates do not trigger reindexing:

- **update-delete-memories/overview.mdx** — Distinguishes content changes (reindex) vs metadata-only (no reindex), adds a note about `accepted`-style updates
- **document-operations.mdx** — Clarifies that only content changes trigger reprocessing
- **add-memories.mdx** and **add-memories/overview.mdx** — Add notes on metadata-only behavior
- **memory-api/ingesting.mdx** — Splits update behavior into content vs metadata-only
- **memory-api/creation/adding-memories.mdx** — Adds note for the “Adding Additional Metadata to Files” flow
2026-03-17 20:48:52 +00:00
MaheshtheDev
93bc74883a chore: modal fixes and space selectors issue (#782)
This PR fixes

- modal popup trigger fixes
- space selector ux weird behaviour when selected
2026-03-16 14:05:58 +00:00
Mahesh Sanikommu
962fb85cd3
feat: empty state action for new spaces (#780)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-15 11:02:14 -07:00
Dhravya Shah
ba56b3699b
Fix Google Docs/Sheets/Slides source URL generation in document modal (#781)
Co-authored-by: Claude <noreply@anthropic.com>
2026-03-14 15:21:03 -07:00
MaheshtheDev
84d0fb802a feat: bulk delete documents in nova app (#777)
![image.png](https://app.graphite.com/user-attachments/assets/aacbb007-cb5e-400c-a21e-f08a54320154.png)
2026-03-10 15:29:25 +00:00
Vedant Mahajan
9f7f415dd5
perf: Optimize array traversal for empty memory-graph documents (#770) 2026-03-07 19:34:25 -08:00
sreedharsreeram
d0d90e9359 fix: use correct space context when sending messages (#772) 2026-03-07 21:11:10 +00:00
MaheshtheDev
3d916d038f chore: chrome extension url fixes (#759) 2026-03-07 04:59:37 +00:00
Hardik Vora
5d12a59bc1
fix: added chat history button on mobile view (#736) 2026-03-06 08:56:59 -08:00
Dhravya Shah
1afb90145d
😭 fixing builds (#767) 2026-03-05 19:26:05 -08:00
Dhravya Shah
bdd1f36f1d one more try 2026-03-05 14:30:57 -08:00
Dhravya Shah
b1d545c4ba fix: 2026-03-05 14:24:50 -08:00
Prasanna721
6883a68c06 feat: add plugin auth connect page (#764)
feat: add plugin auth connect page

Add /auth/connect page for plugin OAuth flow with callback origin validation, user consent step, and upgrade gate.
2026-03-05 21:34:27 +00:00
Prasanna721
2bbc7fc7a5 feat(mcp): add interactive memory graph MCP App visualization (#763)
### feat(mcp): add memory graph visualization MCP App

#### Summary
  - Add interactive force-directed graph visualization as an MCP App using `force-graph` + `d3-force-3d`
  - Register `memory-graph` and `fetch-graph-data` tools with MCP Apps SDK UI resources
  - Add graph API client methods (`getGraphBounds`, `getGraphViewport`) to `SupermemoryClient`
  - Set up Vite + `vite-plugin-singlefile` build pipeline to produce a self-contained HTML bundle
  - Support light/dark theme, zoom controls, node popups, and legend

  #### Files changed
  - `apps/mcp/src/server.ts` — register app tools + HTML resource
  - `apps/mcp/src/client.ts` — add graph API types and methods
  - `apps/mcp/src/ui/mcp-app.ts` — force-graph visualization app
  - `apps/mcp/src/ui/global.css`, `mcp-app.css` — styling
  - `apps/mcp/mcp-app.html` — entry HTML for Vite
  - `apps/mcp/vite.config.ts` — Vite single-file build config
  - `apps/mcp/package.json` — add UI deps and build scripts
  - `apps/mcp/wrangler.jsonc` — add HTML text import rule
2026-03-05 16:28:34 +00:00
Soumya Snigdha Kundu
5e5d446659
fix: remove dead IS_DEV constant and no-op ternary in memories-grid (#760) 2026-03-03 19:02:58 -08:00
Dhravya Shah
0c46362505 fix: properly attribute revenue with posthog 2026-02-25 18:28:13 -08:00
Prasanna721
7339822997 fix: space deletion state cleanup and single-select for add document (#748)
fix: space deletion + new space not reflecting in selector

Deleting a space wasn't switching back to Nova Spaces because we were reading stale cache data

  New spaces created from the add-document modal weren't showing up in the dropdown

  Added single-select mode to the space selector in the add-document flow since you're picking one space, not multiple.
2026-02-19 07:09:47 +00:00
Prasanna721
cc2dcaa306 fix: space deletion not switching to Nova Spaces and new space not appearing in dropdown (#747)
### fix: space selector state bugs on create and delete

Two related bugs in the space selector caused by query cache key mismatches in `use-project-mutations.ts`:

1. New spaces not appearing in dropdown until refresh — wrong query cache was being invalidated after creation.
 2. App stuck on deleted space instead of switching to Nova Spaces — delete handler was reading from an empty cache, so the selection never updated.
2026-02-19 06:54:32 +00:00
Mahesh Sanikommu
1b1b34fb66
chore: remove the new folder and fix imports (#740) 2026-02-16 14:30:29 -07:00
Prasanna721
15613c2421 feat: change "All Spaces" to "Nova Spaces" with multi-select support (#731)
### Implemented nova spaces multi-select

  ##### Summary
  - Renamed "All Spaces" to "Nova Spaces" - now filters to only nova content (sm_project_*)
  - Added multi-select spaces support via "Select Spaces" modal
  - Projects API now returns `{ nova, developer }` instead of `{ projects }`

  ##### Changes
  - `selectedProject` → `selectedProjects[]` (array-based selection)
  - New `SelectSpacesModal` component for picking multiple spaces
  - Selected spaces appear at top in modal
  - Search works by containerTag
  - Graphs filter by selected spaces
2026-02-13 21:34:58 +00:00
Dhravya Shah
d7a1ef7240 error boundaries 2026-02-12 16:41:12 -08:00
Dhravya Shah
405bff4d9f merge 2026-02-12 16:20:03 -08:00
Dhravya Shah
971f203bf0 fix: chat id 2026-02-12 16:18:01 -08:00
Prasanna721
b439e7ea01 fix: chat messages saving broken (#730)
1. New chat messages saving to old thread (race condition)
2. Feedback modal null handling issue (boolean | null not coerced to boolean)
3. Wrong icon on Integrations tab (was Cable, now Sun)
4. Wrong icon on Graph tab (was LayoutGridIcon, now GraphIcon)
  5. Missing cursor pointer on header tabs
  6. Default view was "graph" instead of "list"
2026-02-11 00:25:35 +00:00
Dhravya Shah
727f177953 fix: build 2026-02-10 14:03:23 -08:00
Dhravya Shah
f50e6234fe fix: integrations page 2026-02-10 09:44:42 -08:00
Dhravya Shah
a9e26bb8f9 add redirect routes 2026-02-10 08:47:55 -08:00
Dhravya Shah
a843edde5e minor fixes 2026-02-10 08:36:48 -08:00
Dhravya Shah
e1af1d0b59 fix build 2026-02-09 22:11:34 -08:00
Dhravya Shah
0f7130deae fix 2026-02-09 22:07:09 -08:00
Prasanna721
11a0abd5c0 feat: migrate to api_pro billing and add credits-based usage display (#729)
Summary

  - Migrate from consumer_pro to api_pro billing product across the app
  - Enable Nova app for all users (remove feature flag)
  - Add credits-based usage tracking with tokens abstraction
2026-02-10 05:53:47 +00:00
MaheshtheDev
bee8b12e66 feat: allow api orgs to nova app (#728) 2026-02-09 23:36:52 +00:00