The issue is whenever a user is trying to log in with an email and a one-time code, the Chrome extension is not able to authenticate. The fix is to add a callback URL with a query parameter of `extension-auth-success` equal to `true`, which will allow the Chrome extension to identify and verify the auth whenever a user is trying to log in into the Chrome extension.
### TL;DR
Added support for automatically saving user messages to Supermemory.
### What changed?
- Added a new `addMemory` option to `wrapVercelLanguageModel` that accepts either "always" or "never" (defaults to "never")
- Implemented the `addMemoryTool` function to save user messages to Supermemory
- Modified the middleware to check the `addMemory` setting and save the last user message when appropriate
- Initialized the Supermemory client in the middleware to enable memory storage
### How to test?
1. Set the `SUPERMEMORY_API_KEY` environment variable
2. Use the `wrapVercelLanguageModel` function with the new `addMemory: "always"` option
3. Send a user message through the model
4. Verify that the message is saved to Supermemory with the specified container tag
### Why make this change?
This change enables automatic memory creation from user messages, which improves the system's ability to build a knowledge base without requiring explicit memory creation calls. This is particularly useful for applications that want to automatically capture and store user interactions for future reference.
- Add markdown rendering support to memory content display
- Auto-detect and format JSON responses in code blocks
- Convert terminal commands to bash code blocks
- Improve code block styling with monospace font and compact spacing
### Enhanced the Connect AI Modal with manual configuration options and improved MCP integration.
### What changed?
- Added a new "Manual Config" tab in the MCP URL section that generates and displays API keys for authentication
- Implemented automatic API key generation for manual MCP configuration
- Added URL parameter support (`?mcp=manual`) to directly open the MCP modal with manual configuration
- Improved the UI with better tab labels and more descriptive instructions
- Added copy functionality for configuration JSON with visual feedback
- Refactored the ConnectAIModal component to accept new props: `openInitialClient` and `openInitialTab`
- Added state management for API keys and copied status
Improved memory detail UI with better document icons and layout and Added dark mode support to the Chrome extension button
### What changed?
- Enhanced the WebsiteCard component with an `onOpenDetails` prop
- Improved the MemoryDetail component with:
- Better layout for document headers and source links
- Enhanced content scrolling with proper height constraints
- Improved spacing and padding in various sections
- Added favicon support to document icons, showing website favicons for webpage documents
- Fixed document type detection for webpages and URLs
- Added dark mode support to the Chrome extension button component with appropriate color classes
[Screen Recording 2025-10-03 at 11.34.01 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/user-attachments/thumbnails/2f6ceef2-43a2-4e11-bafa-0f3ce614696b.mov" />](https://app.graphite.dev/user-attachments/video/2f6ceef2-43a2-4e11-bafa-0f3ce614696b.mov)
# Add document deletion functionality and fix UI theme issues
This PR adds the ability to delete documents and their associated memories across all content card types (Google Docs, Notes, Tweets, and Websites). Each card now includes:
- A delete button that appears on hover
- A confirmation dialog to prevent accidental deletions
- Proper event handling to avoid triggering card clicks when using delete controls
Additionally, this PR fixes various UI theme issues:
- Updates button styling in the ActionButtons component
- Improves theme consistency by replacing hardcoded colors with theme variables
- Fixes text color issues in login page components
- Ensures proper color contrast in various UI elements
The masonry layout was also improved to properly re-render when documents are removed.