-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: url cards as content preview with rich details #452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: url cards as content preview with rich details #452
Conversation
How to use the Graphite Merge QueueAdd the label Main to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Deploying with
|
Status | Name | Latest Commit | Updated (UTC) |
---|---|---|---|
✅ Deployment successful! View logs |
supermemory-app | 583c265 | Oct 04 2025, 09:46 PM |
Code Review - PR #452: URL Cards with Rich DetailsThank you for this contribution! Overall this PR improves the user experience with dark mode support and enhanced UI elements. Strengths
Issues and Suggestions1. Security Concern - External Image Loading (apps/web/lib/document-icon.tsx:46-56)The FaviconIcon component loads favicons from Google service which could have privacy implications. Consider implementing a server-side proxy cache favicons or use a self-hosted service. 2. Missing Error Handling (apps/web/lib/document-icon.tsx:19-26)The getFaviconUrl function silently returns empty string on error. Consider logging errors using Sentry and add error tracking to monitor malformed URLs. 3. Performance Consideration (apps/web/lib/document-icon.tsx:28-57)The FaviconIcon uses useState which could cause unnecessary re-renders in list views. Consider memoizing with React.memo() and use useCallback for the onError handler. 4. Accessibility Issue (apps/web/lib/document-icon.tsx:44-56)The favicon img has generic alt text. Use more descriptive alt text including the domain name. 5. Inconsistent Spacing (apps/web/components/memories-utils/memory-detail.tsx:286)Line 286 adds both padding AND margin which is unusual. Please verify this is intentional. 6. Type Safety (apps/web/lib/document-icon.tsx:59-64)Consider using union types for type and source parameters instead of generic strings. 7. Button Capitalization (apps/web/components/memories-utils/memory-detail.tsx:174)The button text visit source is lowercase. Consider changing to Visit Source for consistency. Critical IssuesMissing Test CoverageNo tests were found for any modified components. Please add:
ConclusionThis PR delivers valuable UI improvements but needs:
Recommendation: Request changes for test coverage and favicon security review before merging. Review generated by Claude Code |
Merge activity
|
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)
a063f1e
to
583c265
Compare
Pull Request ReviewThis PR improves the memory detail UI with better document icons, layout improvements, and dark mode support for the Chrome extension button. Overall, the changes are well-structured and improve the user experience. Here are my findings: ✅ Strengths
🐛 Potential Issues
⚡ Performance Considerations
🔒 Security Concerns
📝 Code Quality
🧪 Test Coverage
📋 Suggested Improvements
SummaryThe PR improves UX significantly with favicon support and better dark mode. The main concern is the React hooks usage pattern in Recommendation: Request changes for the React hooks issue, otherwise looks good to merge after addressing the hook concern. |
Improved memory detail UI with better document icons and layout and Added dark mode support to the Chrome extension button
What changed?
onOpenDetails
propScreen Recording 2025-10-03 at 11.34.01 PM.mov (uploaded via Graphite)