- Send batch documents as {content} objects (matches the endpoint's existing callers) instead of a raw string array.
- Treat bulkUrls as the source of truth: 1 remaining selection saves via single-add instead of erroring.
- Detect multiple URLs pasted into the Link tab (and Note tab via a dismissible banner) and create one memory per link instead of a single document.
- Markdown-aware URL extraction with within-paste dedup and a deselectable preview.
- Send all links in one POST /v3/documents/batch request (chunked at 500 for the 600 cap); register the route in the client.
feat: major iteration on the app
add: dashboard improvements
few more improvements
add few more improvements
add few more changes
home improvmeents
few more improvements
add lot of modifications
fix few things
### 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