Commit Graph

427 Commits

Author SHA1 Message Date
Antigravity
af3a263a54 fix(chart): transaction mapping fix + add cache for suggestions
- Fix transaction.mapping.map usage - it returns a position, not mapping
- Add 5-minute in-memory cache for chart suggestions (max 50 entries)
- Cache key based on content hash + selection
- Significantly improves UX when re-analyzing same content

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 10:12:11 +00:00
Antigravity
468a2bffc8 fix(chart): use direct TipTap node creation via transaction
Instead of relying on HTML parsing which can be inconsistent,
create the chartBlock node directly using TipTap's schema and transaction API.
This ensures the custom node is properly created and rendered as a visual chart.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 10:05:07 +00:00
Antigravity
d1395d9b81 fix(chart): show correct chart type in previews
- Use NoteChart directly with props instead of NoteChartFromCode
- Remove markdown ticks from chartSuggestionToMarkdown output
- Export NoteChart component for direct use in previews

Now the 3 suggestions correctly show different chart types.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 10:00:44 +00:00
Antigravity
835e1872bb fix(chart): convert markdown to HTML for TipTap insertion
- Convert chart markdown to <pre><code class="language-chart"> HTML format
- Fix parseHTML to store code content in node attrs
- Fix renderHTML to output actual code content instead of placeholder

This fixes charts rendering as raw markdown text instead of visual charts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 09:51:30 +00:00
Antigravity
10e529deff fix(chart): use correct AI provider pattern
Use getChatProvider() + provider.getModel() instead of
resolveAiRouteWithTiming which doesn't return a provider function.
Follow the pattern used in chat/insights/route.ts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 09:45:06 +00:00
Antigravity
675e4c9957 fix(chart): use 'chat' lane instead of invalid 'suggest-charts'
The AI router only supports lanes: 'chat', 'tags', 'embedding'.
'suggest-charts' was not a valid lane causing 500 errors.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 09:40:01 +00:00
Antigravity
76cbdd338b fix(chart): add detailed error logging to debug 500 error
- Add step-by-step console logging in API route
- Show actual error message in dialog
- Add debug info section
- Wrap each section in try-catch to isolate failure point
2026-05-23 09:39:16 +00:00
Antigravity
54385e9f10 fix(chart): rewrite suggestion logic with better error handling
- Remove conflicting tool approach, use direct JSON
- Add fallback: extract numbers from regex if AI fails
- Add debug section to show what content was analyzed
- Be more lenient: any 2+ numbers = valid chart
- Better error messages
- Add console logging for debugging

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 09:36:26 +00:00
Antigravity
625a79a1f9 fix: multiple issues
1. Script warning in layout.tsx
   - Use Next.js Script component instead of plain <script>

2. QUOTA_EXCEEDED bug for chart suggestions
   - Add 'suggest_charts' to VALID_FEATURES
   - Add 'suggest_charts' to TIER_LIMITS for all tiers
   - Fix route to use 'suggest_charts' instead of invalid 'ai' feature

This fixes the issue where users with valid credit were getting
QUOTA_EXCEEDED errors because 'ai' was not a valid feature name.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 09:31:38 +00:00
Antigravity
77f69fc1d1 fix(i18n): wrap CookieConsentRoot with LanguageProvider
The CookieConsentBanner uses useLanguage() hook but was rendered
outside of LanguageProvider in RootLayout. Added LanguageProvider
wrapper to fix the runtime error.
2026-05-23 09:27:29 +00:00
Antigravity
a20cee0f63 fix(chart): replace non-existent Upgrade icon with Sparkles 2026-05-23 09:23:39 +00:00
Antigravity
18ffd76c1e fix(chart): improve error handling and color variety
- Add quotaExceeded flag to response for better error UX
- Show dedicated quota exceeded state with upgrade button
- Improve AI prompt to better detect data patterns
- Add chart type-specific colors (blue, indigo, emerald, violet, etc.)
- Replace generic primary/10 colors with varied accent colors

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 09:19:52 +00:00
Antigravity
a122a0eade feat(ai): add AI chart suggestions in TipTap editor
Implement slash command "/suggest-charts" that analyzes note content
and suggests 3 appropriate chart types with visual previews.

Created:
- chart-suggestion.tool.ts: AI tool for data extraction and chart recommendations
- suggest-charts/route.ts: API endpoint for chart suggestions
- chart-suggestion.service.ts: Frontend service layer
- chart-suggestions-dialog.tsx: Modal with 3 chart proposals and thumbnails
- tiptap-chart-extension.tsx: TipTap Node extension for rendering chart blocks

Modified:
- rich-text-editor.tsx: Added slash command, toolbar button, and dialog integration

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 08:58:46 +00:00
Antigravity
4e8f45deae feat(graph): add interactive notebook filters and detail panel tags to graph view 2026-05-23 08:34:39 +00:00
Antigravity
d589b8aa7e feat(graph): improve note graph relationships by integrating wikilinks and semantic AI echo insights 2026-05-23 08:26:13 +00:00
Antigravity
ca0637cc6e fix(chart): prevent infinite loops and remove hardcoded text
Some checks failed
CI / Lint, Test & Build (push) Failing after 9s
CI / Deploy production (on server) (push) Has been skipped
- Memoize ChartWrapper to prevent infinite re-renders in MarkdownContent
- Remove hardcoded French text (multilingual app)
- Return null for invalid charts instead of error messages
2026-05-22 18:33:55 +00:00
Antigravity
bfaacc557f fix(chart): simplify to single insert_chart tool that does everything
Some checks failed
CI / Lint, Test & Build (push) Failing after 15s
CI / Deploy production (on server) (push) Has been skipped
2026-05-22 18:30:11 +00:00
Antigravity
a00b39728b feat(ai): add generate_chart and insert_chart_in_note to system prompt
Some checks failed
CI / Lint, Test & Build (push) Failing after 12s
CI / Deploy production (on server) (push) Has been skipped
2026-05-22 18:26:33 +00:00
Antigravity
5bd3f7f5ec fix(chart): prevent infinite re-render loop by using useState/useEffect for dark mode detection
Some checks failed
CI / Lint, Test & Build (push) Failing after 16s
CI / Deploy production (on server) (push) Has been skipped
2026-05-22 18:20:42 +00:00
Antigravity
beca2c52c3 feat: add inline chart support for notes
Some checks failed
CI / Lint, Test & Build (push) Failing after 15s
CI / Deploy production (on server) (push) Has been skipped
- Add NoteChart component using Recharts (bar, line, area, pie, radar, funnel, gauge)
- Add generate_chart and insert_chart_in_note AI tools
- Add chart code block support in MarkdownContent (```chart ... ```)
- Support JSON and simple data formats (label: value)
- Add i18n translations for chart features

Chart syntax examples:
- JSON: ```chart {"type":"bar","data":[{"label":"A","value":10}]} ```
- Simple: ```chart\nbar\nSales Data\nJan: 120\nFeb: 150\n```

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 17:29:10 +00:00
Antigravity
5728452b4a feat: add slides generation tool with multiple slide types
Some checks failed
CI / Lint, Test & Build (push) Failing after 17s
CI / Deploy production (on server) (push) Has been skipped
- Add slides.tool.ts with support for title, bullets, chart, stats, table, cards, timeline, quote, comparison, equation, image, summary slide types
- Chart types: bar, horizontal-bar, line, donut, radar
- Integrate with agent executor and canvas system
- Add multilingual support (en/fr)
- Various UI improvements and bug fixes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 17:18:48 +00:00
Antigravity
0f6b9509da fix(deploy): restart monitoring exporters on every deploy to apply config
All checks were successful
CI / Lint, Test & Build (push) Successful in 2m40s
CI / Deploy production (on server) (push) Successful in 19s
2026-05-21 20:54:48 +00:00
Antigravity
e774dcee70 fix(monitoring): fix postgres-exporter credentials, cadvisor docker labels, node-exporter pid host
All checks were successful
CI / Lint, Test & Build (push) Successful in 1m42s
CI / Deploy production (on server) (push) Successful in 21s
2026-05-21 20:50:13 +00:00
Antigravity
b02f19b1a0 fix(deploy): preserve Prometheus TSDB history — only recreate if config changed
All checks were successful
CI / Lint, Test & Build (push) Successful in 1m50s
CI / Deploy production (on server) (push) Successful in 20s
2026-05-21 20:40:56 +00:00
Antigravity
a8f3ce0ae6 feat(monitoring): add /api/metrics endpoint for Prometheus scraping
All checks were successful
CI / Lint, Test & Build (push) Successful in 2m37s
CI / Deploy production (on server) (push) Successful in 20s
2026-05-21 20:32:12 +00:00
Antigravity
fde4689ac0 fix(deploy): dockerignore exceptions for prebuilt artifact files
All checks were successful
CI / Lint, Test & Build (push) Successful in 3m51s
CI / Deploy production (on server) (push) Successful in 1m6s
2026-05-21 20:24:06 +00:00
Antigravity
0e61055bc0 fix(ci): disable node npm caching and remove invalid next webpack flag to prevent hangs
Some checks failed
CI / Lint, Test & Build (push) Successful in 1m42s
CI / Deploy production (on server) (push) Failing after 8s
2026-05-21 20:20:10 +00:00
Antigravity
87ec01fdd5 fix(ci): add needs clause to deploy job and force recreate prometheus on deploy
Some checks failed
CI / Deploy production (on server) (push) Has been cancelled
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 20:11:04 +00:00
Antigravity
d7e72008ec fix(ci): install node in runner for download-artifact and connect prometheus to memento-net
Some checks failed
CI / Deploy production (on server) (push) Successful in 3m28s
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 20:07:06 +00:00
Antigravity
7cf921a802 feat(monitoring): auto-provision Prometheus datasource and dashboards in Grafana
All checks were successful
CI / Lint, Test & Build (push) Successful in 12m6s
CI / Deploy production (on server) (push) Successful in 1m58s
2026-05-21 19:46:04 +00:00
Antigravity
a801d18b12 fix(deploy): robust health check via node inside container
Some checks failed
CI / Deploy production (on server) (push) Successful in 1m55s
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 19:39:17 +00:00
Antigravity
2ae08538f0 fix(deploy): use correct container name memento-web in docker inspect
Some checks failed
CI / Lint, Test & Build (push) Successful in 12m2s
CI / Deploy production (on server) (push) Failing after 5m11s
2026-05-21 19:11:43 +00:00
Antigravity
55fb081e94 fix(deploy): use container IP dynamically for build-info health check in CI runner
Some checks failed
CI / Lint, Test & Build (push) Successful in 12m4s
CI / Deploy production (on server) (push) Failing after 3m58s
2026-05-21 18:54:09 +00:00
Antigravity
f38e08e289 fix(ci): make sudo invocation conditional in postgresql-client installation
Some checks failed
CI / Deploy production (on server) (push) Failing after 4m0s
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 18:48:25 +00:00
Antigravity
d31ab190eb fix(ci): remove postgres service port mapping to prevent docker-host port conflicts
Some checks failed
CI / Deploy production (on server) (push) Has been cancelled
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 18:42:10 +00:00
Antigravity
3dadf1e8b3 fix(ci): install docker-cli and dependencies inside runner for deploy step
Some checks failed
CI / Lint, Test & Build (push) Failing after 12s
CI / Deploy production (on server) (push) Failing after 4m1s
2026-05-20 19:38:44 +00:00
Antigravity
b4aedbcc38 fix(ci): add safe.directory for runner to avoid dubious ownership
Some checks failed
CI / Deploy production (on server) (push) Failing after 1s
CI / Lint, Test & Build (push) Has been cancelled
2026-05-20 19:38:25 +00:00
Antigravity
fe231add99 chore(ci): upsert telegram secrets into .env.docker on deploy
Some checks failed
CI / Lint, Test & Build (push) Successful in 12m45s
CI / Deploy production (on server) (push) Failing after 11s
2026-05-20 19:22:36 +00:00
Antigravity
2db12adffc chore(prod): support .env.docker in crons, fix WAL mapping and add canvas copy in Dockerfile
Some checks failed
CI / Deploy production (on server) (push) Has been cancelled
CI / Lint, Test & Build (push) Has been cancelled
2026-05-20 19:21:49 +00:00
Antigravity
495f9a631b fix: force deployment, support REDIS_URL/REDIS_HOST, and fix vector deserialization
Some checks failed
CI / Lint, Test & Build (push) Successful in 12m40s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 22:00:19 +00:00
Antigravity
3423c5462f fix(prisma): correct schema syntax (binaryTargets vs previewFeatures)
Some checks failed
CI / Lint, Test & Build (push) Successful in 12m36s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 21:41:51 +00:00
Antigravity
b935466480 fix: resolve Prisma 'vector' deserialization error and missing PDF canvas dependency
Some checks failed
CI / Lint, Test & Build (push) Failing after 5m29s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 21:34:50 +00:00
Antigravity
37d9bea7bb fix: change socket port to 3005 (conflict with grafana) and make CI artifacts non-blocking
Some checks failed
CI / Lint, Test & Build (push) Successful in 12m43s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 21:06:34 +00:00
Antigravity
450bcc763a fix(ci): downgrade upload/download-artifact to v3 for compatibility and add check
Some checks failed
CI / Lint, Test & Build (push) Successful in 12m51s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 20:24:19 +00:00
Antigravity
fdb148144e fix: restore brainstorming feature with missing socket server and real-time events
Some checks failed
CI / Lint, Test & Build (push) Failing after 7m48s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 20:07:56 +00:00
Antigravity
66c6f7ee8f fix: add brainstorm tables migration + calm ghost cursor
Some checks failed
CI / Lint, Test & Build (push) Failing after 7m59s
CI / Deploy production (on server) (push) Has been cancelled
- Create migration for BrainstormSession, BrainstormIdea, BrainstormNoteRef,
  BrainstormParticipant, BrainstormActivity, BrainstormShare, BrainstormSnapshot
- Ghost cursor: only moves toward a target element, no random wandering,
  120ms interval instead of 60fps, hidden when no target
- Remove animate-ping that caused visual noise
2026-05-19 19:10:48 +00:00
Antigravity
6a8d0eb0a5 feat: embedding dimension validation + migration system
Some checks failed
CI / Lint, Test & Build (push) Failing after 8m1s
CI / Deploy production (on server) (push) Has been cancelled
- Add /api/admin/embeddings/dimension (GET column dim, POST test model dim)
- Add /api/admin/embeddings/migrate (alter column, clear, re-index)
- Admin form warns on dimension mismatch after save, offers migrate button
- Remove hardcoded 1536 from validate endpoint and embedding service
- Add validateDimension() utility to EmbeddingService
- Fix health route: import prisma correctly, use router instead of missing registry
- i18n keys for dimension warning (EN/FR)
2026-05-19 18:45:50 +00:00
Antigravity
28f46860c1 fix: add Redis service and REDIS_URL to web container
Some checks failed
CI / Lint, Test & Build (push) Failing after 7m48s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-17 18:04:17 +00:00
Antigravity
db175ebff6 fix(auth): revoke JWT on logout and harden Google sign-in
Some checks failed
CI / Lint, Test & Build (push) Failing after 7m49s
CI / Deploy production (on server) (push) Has been cancelled
Logout now increments sessionVersion so existing JWTs are rejected
server-side, deletes orphaned DB sessions, and uses redirectTo for signOut.
Google OAuth requests account selection each time; optional AUTH_GOOGLE_PROMPT=login
forces Google re-authentication on shared devices.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-17 17:29:51 +00:00
Antigravity
5b794d6449 feat(auth): restore Google sign-in and AI admin test routes
Some checks failed
CI / Lint, Test & Build (push) Failing after 7m46s
CI / Deploy production (on server) (push) Has been cancelled
Google OAuth was implemented locally but never deployed; the login button
only renders when AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET are set. Also
restores /api/ai/test-* endpoints removed by mistake and wires Google
credentials into deploy workflows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-17 17:17:42 +00:00