All notable changes to HyperMemo will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Design Style Guide: Created a comprehensive frontend design style guide documenting design tokens, typography, and component standards (
docs/design-style-guide.md) - App Settings: Implementation of
app_settingstable in Supabase for centralized, project-independent configuration - Theme Toggle: Manual theme switching between Light, Dark, and System modes
- Persists preference to Chrome storage
- Shows Sun/Moon/Monitor icons based on current mode
- Language Switcher: In-app language selection dropdown in the header
- Supports English, 简体中文 (Simplified Chinese), 繁體中文 (Traditional Chinese)
- Shows checkmark for current language selection
- Mobile Experience: Comprehensive mobile responsive improvements
- Responsive dashboard layout with collapsible left sidebar (hamburger menu on mobile)
- Mobile header with app branding and navigation
- Touch-friendly 44px minimum touch targets for all interactive elements
- Bottom-sheet style Drawer and Modal on mobile (slides up from bottom)
- Responsive typography and spacing throughout the app
- iOS zoom prevention for input fields (16px minimum font size)
- Responsive prose/markdown content styling for mobile reading
- Slide-in animations for mobile drawers and sidebars
- Content Validation: Added utilities to detect and clean malformed markdown from web scraping
- Supabase Webhooks: Refactored database triggers to fetch function URLs dynamically from settings, removing hardcoded environment dependencies
- RAG Performance: Optimized AI chat latency by implementing a similarity-based threshold that skips expensive LLM re-ranking for high-confidence matches (>0.85)
- Background Processing Security: Hardened
process-bookmarksecret verification and added structured character-count logging for extraction debugging - Type Safety: Resolved
no-explicit-anylint errors and improved type definitions in Edge Functions - Header Component: Extracted dashboard header into reusable
Header.tsxcomponent - i18n: Completed Simplified Chinese translations and added missing keys
- Font: Switched to Noto Sans for better readability across languages
- Typography: Increased font sizes throughout the app for improved readability
- Bookmark titles in sidebar: 14px → 15px
- Chat messages: Now use base font size (16px)
- Summary and notes sections: Upgraded from
prose-smto fullprosestyling
- Markdown Rendering: Bookmark content now renders full markdown with code blocks instead of plain text
- Code Blocks: Enhanced styling with monospace font, borders, and proper background colors
- Content Fallback: When content extraction fails, now shows "View Original Page" button instead of broken content
- Notes Feature: Save AI chat conversations as organized, LLM-processed notes
- Notes Tab: New "Notes" tab in sidebar and center panel with "Beta" badge
- Clickable "From Chat" Badge: Navigate back to the original chat session from a saved note
- Default View: Chat tab is now the default landing view instead of bookmarks
- Sidebar Width: Increased to 400px for better readability
- Chat History Panel: Increased width to 360px
- Notes Sidebar Display: Simplified to show only note titles
- Subscription Panel: Redesigned with cleaner, flatter style matching site aesthetics
- Removed AI Badge: Removed decorative AI badge from Chat tab
- Ask AI Button: Added "Ask AI" button to bookmark detail view - quickly start an AI chat about the current bookmark with full content as context
- Bookmark Context in Chat: When using "Ask AI" on a bookmark, the chat input now shows the bookmark with a distinct green bookmark icon (vs blue @ for tags)
- Streaming Responses: AI responses now stream in real-time using Server-Sent Events (SSE), providing a much better user experience with text appearing progressively
- Conversation Context: AI chat now maintains conversation history within a session, enabling natural follow-up questions and multi-turn conversations
- Citation Style: Redesigned inline citations to Wikipedia-style bracketed links
[1],[2]with hover tooltips showing source titles - Citation Container: Enhanced the sources section below AI responses with blue gradient background and improved visual contrast
- RAG Prompt: Updated AI to generate numbered citations instead of inline markdown links for cleaner formatting
- Bookmark-Specific AI Context: When asking AI about a specific bookmark, the full bookmark content is now used (not just the summary), providing much more detailed and accurate responses
- Citation Rendering: Fixed issue where
[1],[2]citation markers were not clickable - now properly linked to source bookmarks
- Chat UI Overhaul: Modernized the AI chat interface with a clean, flat design ("twink" style) consistent with the app's aesthetic.
- User Avatars: Chat now displays the user's Google profile picture instead of a generic initial.
- Image Processing Script: Added
scripts/resize_images.pyto automate screenshot resizing and formatting for the store.
- AI Avatar: Updated the AI assistant avatar to a modern sparkle icon with a subtle, clean design.
- Dark Mode: Refined chat bubbles and avatars to look perfect in dark mode, using specific border and background overrides.
- Screenshots: Updated store screenshots to 1280x800 JPEG format.
- Accessibility: Added missing titles to SVGs in the dashboard to pass accessibility checks.
- Smart Content Extraction: Implemented backend-side content fetching using
@mozilla/readabilityto strip ads and navigation, ensuring high-quality content capture. - Enhanced Markdown Rendering: Added
remark-gfmsupport for tables and task lists, plus comprehensive styling for all markdown elements. - Smart Refetch: The "Refetch" button now triggers the robust backend extraction pipeline instead of a simple client-side fetch.
- UI Polish: Enhanced "Pro" and "AI" badges with vibrant gradients and depth.
- Dashboard Consistency: Unified styling for Tags, Summary, and Content sections with consistent card designs.
- Icons: Updated the "Refetch" icon to a download symbol for better semantic meaning.
- Loading States: Improved content loading experience with a centered spinner in the content area.
- LLM-based Reranking: RAG query now uses AI to rerank search results for better relevance
- Embedded Citation Links: AI responses now include clickable links to source bookmarks
- HTML-to-Markdown Conversion: Original content is now parsed from HTML and converted to clean markdown format using Turndown
- Profile Dropdown Menu: Sign-out moved to a polished dropdown menu accessible from profile avatar
- Enhanced Delete Confirmation: Bookmark deletion now shows the bookmark title in confirmation dialog
- Subscription Model: AI summaries and smart tags are now available to all users (free feature)
- Subscription UI: Updated feature list - renamed "RAG Chat" to "AI Chat", "Smart Tags" to "AI Tags", removed "Export to Docs", added "AI Notes"
- Modal Design: Completely redesigned confirmation modals with better spacing, animations, and visual hierarchy
- Delete Button: Enhanced hover effects with red tint, border, and scale animation
- Google Sign-in: Polished auth page design with logo and official Google button styling
- Citation Rendering: Fixed issue where AI response citations were not clickable
- Dark Mode: Improved button hover effects to work consistently in both light and dark themes
- Layout Shift: Added transparent borders to prevent layout shift on hover states
- UI Redesign: Complete overhaul of the dashboard with a modern, "Notion-like" aesthetic.
- Responsive Design: Dashboard now adapts seamlessly to mobile and tablet screens.
- Collapsible Chat History: New toggle in the header to show/hide chat history.
- Cron Job: Added daily cleanup for unused tags in Supabase.
- DevOps: Added
make bump-versioncommand.
- Contrast: Improved global color contrast and dark mode support for better accessibility.
- Layout: Widened the main content area and sidebars for better readability.
- Notes Tab: Disabled "Notes" tab and added a "Coming Soon" badge.
- Background AI Processing: Implemented Supabase Database Webhooks to handle AI summarization and tagging asynchronously.
- New Edge Function:
process-bookmarkfor handling webhook events.
- Performance: Moved AI tasks out of the main request loop to improve UI responsiveness.
- Database: Updated schema to support
pg_netand webhook triggers. - Auto-generation: AI generation now triggers automatically for all users upon bookmark creation.
- Admin CLI tools for subscription management and user statistics
- Documentation for Admin CLI (
docs/admin-cli.md) - Table format output for admin stats script
- Updated CLI scripts to use
pnpm - Refactored
manage-subscription.tsfor better code quality - Updated
SUBSCRIPTION_SYSTEM.mdto reference new Admin CLI docs
- Pre-commit linting issues in
dashboard.tsx,SubscriptionManager.tsx, andsubscriptionService.ts - SVG accessibility issues (added titles)
- Type safety improvements in subscription service
- Initial release
- AI-powered bookmark management
- Smart tag generation
- RAG-based chat with saved pages
- Multi-language support (English, Chinese Simplified, Chinese Traditional)
- Dashboard with overview and chat tabs
- Bookmark organization with tag filtering
- Auto-summarization of saved pages
- Chrome extension popup for quick bookmarking
- React + TypeScript frontend
- Supabase backend with Edge Functions
- Firebase integration for AI features
- Chrome Extension Manifest V3
- Optimistic updates for better UX
- Error boundaries for resilience