- 10 Nov, 2025 1 commit
-
-
Simon authored
-
- 09 Nov, 2025 4 commits
-
-
Johnny authored
Removed 3 markdown files that provided no useful documentation: - web/README.md: Single line "The frontend of Memos" (redundant) - web/src/components/kit/README.md: Single line "Base components" (minimal) - web/MARKDOWN_STYLE_GUIDE.md: Outdated styling guide (no longer applicable) Kept comprehensive documentation files: - web/src/components/MasonryView/README.md (implementation details) - web/src/themes/COLOR_GUIDE.md (design system guide) - web/src/components/ConfirmDialog/README.md (component API docs) - web/src/store/README.md (architecture patterns)
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
Johnny authored
- Add system theme listener to detect OS theme changes in real-time - Refactor to eliminate duplicate theme preference extraction - Simplify getMermaidTheme function from switch statement to ternary - Move render guard outside async function for better readability - Update comments to be more concise and focused The component now properly re-renders Mermaid diagrams when the OS theme changes while using "system" theme preference.
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Johnny authored
Streamlines the command suggestion interface and fixes list auto-completion behavior: - Remove command descriptions for cleaner suggestion popup UI - Replace PaperclipIcon with FileIcon for semantic accuracy - Fix list auto-completion to avoid extra newline when exiting list mode - Add explanatory comments for cursor offset positions - Improve dependency array in useListAutoCompletion hook
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
- 08 Nov, 2025 9 commits
-
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Steven authored
Improve bug report and feature request templates to reduce duplicate submissions and gather better information: Bug Report Template: - Add pre-submission checklist requiring users to search existing issues and test on latest version/demo - Add dropdown for issue location (stable, dev, demo site, older version) - Restructure fields with clearer labels and better placeholders - Add "Expected Behavior" section for clarity - Combine screenshots and context with helpful prompts Feature Request Template: - Add pre-submission checklist to confirm issue search - Expand feature type categories (API/Backend, Integrations/Plugins, Security/Privacy, Performance) - Add "Problem or Use Case" field to understand the underlying need - Add "Alternatives Considered" section - Improve placeholders with specific examples
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
boojack authored
Co-authored-by:Claude <noreply@anthropic.com>
-
boojack authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Steven authored
Backend changes: - Fix ListAllUserStats to calculate and return tag statistics - Previously only returned name and timestamps, missing TagCount - Now properly aggregates tags, pinned memos, and memo type stats Frontend changes: - Initialize user stats on app startup to populate tag data - Show all tags when typing just '#' (fix empty Fuse.js search) - Auto-refresh stats after creating/updating/deleting memos - Fix Checkbox component ref warning with forwardRef
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
- 07 Nov, 2025 3 commits
-
-
boojack authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Steven authored
Address high memory usage when opening resource tab (fixes #5183) by implementing: 1. Concurrency control: Limit thumbnail generation to 3 concurrent operations using semaphore to prevent memory exhaustion when many images are requested simultaneously 2. S3 optimization: Skip server-side thumbnail generation for S3-stored images by default. S3 images now use presigned URLs directly, avoiding: - Downloading large images from S3 into server memory - Decoding and resizing images on the server - High memory consumption during batch requests 3. Memory management improvements: - Explicitly clear blob and decoded image from memory after use - Restructure thumbnail cache check to avoid unnecessary semaphore acquisition - Double-check pattern to prevent duplicate generation while waiting This restores the original S3 behavior before commit e4f63453 while maintaining thumbnail support for local/database storage.
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
Steven authored
- Replace native input with Radix UI Checkbox in TaskListItem for better accessibility and consistent styling - Remove memoTypeStats tracking and display (link count, todo count, code count) - Remove StatCard component and related type definitions - Simplify statistics to only track activity calendar data and tags
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
- 06 Nov, 2025 8 commits
-
-
Steven authored
- Changed first-user detection to check for any users instead of only HOST users - Moved registration setting check before role assignment to properly block unauthorized registrations - Fixed role assignment logic to ensure unauthenticated users always get USER role - Updated test cases to create host user first when not testing first-user scenario This ensures the first user is always created as HOST and registration settings are properly enforced for subsequent user creation.
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
boojack authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Elliott authored
-
Steven authored
Replace non-existent GetWorkspaceGeneralSetting with GetInstanceGeneralSetting to properly check if user registration is allowed. This fixes a compilation error that was preventing tests from running.
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
Florian Dewald authored
-
boojack authored
-
boojack authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Steven authored
- Polish inbox notification items with improved visual hierarchy - Add original memo snippet with left border indicator - Redesign comment preview with gradient background and primary accent - Increase spacing and improve typography with consistent sizing - Add ring borders to avatars and refined icon badges - Enhance loading and error states with better skeleton designs - Improve hover states and transitions throughout - Redesign user profile header layout - Create full-width centered header with avatar and user info - Add horizontal layout for profile actions - Improve responsive design with proper flex wrapping - Allow memo list to use full width for masonry layout
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
- 05 Nov, 2025 6 commits
-
-
Steven authored
-
Steven authored
Nominatim's usage policy requires a User-Agent header to identify the application. Added User-Agent and Accept headers to the reverse geocoding fetch request, and improved error handling to check HTTP response status. Fixes #5222
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
Steven authored
Remove work-related terminology by renaming "workspace" to "instance" across the entire application. This change better reflects that Memos is a self-hosted tool suitable for personal and non-work use cases. Breaking Changes: - API endpoints: /api/v1/workspace/* → /api/v1/instance/* - gRPC service: WorkspaceService → InstanceService - Proto types: WorkspaceSetting → InstanceSetting - Frontend translation keys: workspace-section → instance-section Backend Changes: - Renamed proto definitions and regenerated code - Updated all store layer methods and database drivers - Renamed service implementations and API handlers - Updated cache from workspaceSettingCache to instanceSettingCache Frontend Changes: - Renamed service client: workspaceServiceClient → instanceServiceClient - Updated all React components and state management - Refactored stores: workspace.ts → instance.ts - Updated all 32 locale translation files All tests pass and both backend and frontend build successfully.
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
boojack authored
Co-authored-by:Claude <noreply@anthropic.com>
-
Florian Dewald authored
-
Steven authored
Create unified architecture for memo statistics, filters, and sorting across all pages (Home, Explore, Archived, Profile) with proper visibility filtering and consistent data flow. Key changes: - Rename HomeLayout → MainLayout to reflect broader usage - Create useFilteredMemoStats hook for unified stats computation - Create useMemoFilters/useMemoSorting hooks to eliminate duplication - Refactor all pages to use unified hooks (~147 lines removed) - Move Explore route under MainLayout (was sibling before) - Fix masonry column calculation threshold (1024px → 688px+) Architecture improvements: - MainLayout computes filter/stats per route context - Stats/tags based on same filter as memo list (consistency) - Proper visibility filtering (PUBLIC/PROTECTED) on Explore - MemoExplorer/StatisticsView accept stats as required props - Eliminated optional fallbacks and redundant data fetching Benefits: - Single source of truth for stats computation - Stats remain static (don't change with user filters) - Reduced code duplication across 4 pages - Better maintainability and type safety - Proper security (no private memo leakage on Explore)
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
- 04 Nov, 2025 1 commit
-
-
Steven authored
Fixed a bug where clicking checkboxes in task lists would toggle the wrong checkbox when a memo contained multiple sections with separate task lists. The issue was that TaskListItem was counting tasks only within the immediate parent list (ul/ol), but the toggleTaskAtIndex function counts all tasks globally across the entire memo. This caused index misalignment. Changes: - Add containerRef to MemoContentContext for proper task scoping - Pass memoContentContainerRef through context in MemoContent component - Update TaskListItem to count all tasks within the container scope This ensures task indices are calculated consistently with the markdown manipulation logic, fixing checkbox toggling in complex multi-section memos.
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
- 02 Nov, 2025 4 commits
- 31 Oct, 2025 3 commits
-
-
Steven authored
- Replace multiple action buttons with unified InsertMenu dropdown - Consolidate upload, link memo, and location into single + button - Redesign VisibilitySelector with text-based dropdown UI - Unify badge styling for location, attachments, and links - Consistent height (h-7), padding, gaps, and border styles - Secondary foreground text color with hover states - Max width with truncation for long content - Add image thumbnails in attachment badges - Simplify button hierarchy with ghost variant for save/cancel - Remove obsolete components (TagSelector, MarkdownMenu, etc.) - Extract LocationView to separate component for better organization Fixes #5196
-
Steven authored
-
Steven authored
- Remove standalone InboxService and move functionality to UserService - Rename inbox to user notifications for better API consistency - Add ListUserNotifications, UpdateUserNotification, DeleteUserNotification methods - Update frontend components to use new notification endpoints - Update store layer to support new notification model
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By:Claude <noreply@anthropic.com>
-
- 30 Oct, 2025 1 commit
-
-
Steven authored
- Refactored MemoFilters.tsx for better maintainability: * Centralized filter configuration with FILTER_CONFIGS object * Added TypeScript interfaces for type safety * Removed separate FactorIcon component * Extracted handleRemoveFilter function * Improved imports organization - Polished MemoFilters UI styles: * Changed to modern pill/badge design with rounded-full * Enhanced spacing and color schemes * Added smooth transitions and hover effects * Improved interactive remove button with destructive color hints * Better text readability with font-medium - Added comprehensive filter support to all pages: * Explore page: Added full filter support (was missing) * Archived page: Enhanced from basic to full filter support * UserProfile page: Enhanced from basic to full filter support * All pages now support: content search, tag search, pinned, hasLink, hasTaskList, hasCode, and displayTime filters - Consistency improvements: * All pages using PagedMemoList now have identical filter logic * Respects workspace settings for display time (created/updated) * Unified filter behavior across Home, Explore, Archived, and UserProfile pages
-