- 14 Nov, 2025 2 commits
-
-
Steven authored
- Install @biomejs/biome@2.3.5 as unified linter and formatter - Remove ESLint, Prettier and all related plugins (221 packages removed) - Migrate linting rules from ESLint to Biome configuration - Migrate formatting rules from Prettier to Biome configuration - Exclude auto-generated proto files from linting (src/types/proto/**) - Exclude CSS files from Biome (Tailwind syntax not yet supported) - Update package.json scripts: - lint: tsc + biome check - lint:fix: biome check --write - format: biome format --write - Auto-fix import organization across 60+ files - Fix duplicate key in Russian locale (ru.json) - Update CLAUDE.md documentation to reflect Biome usage Benefits: - 10-100x faster linting performance - Simplified toolchain with single configuration file - 221 fewer npm dependencies - Unified linting, formatting, and import organization
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
- 11 Nov, 2025 1 commit
-
-
Steven authored
-
- 10 Nov, 2025 4 commits
-
-
Steven authored
- Remove MetadataBadge component and inline styles consistently - Add pointer/mouse event handlers to prevent drag interference - Fix LocationDisplay mode handling and popover interaction - Clean up RelationList empty state logic
-
boojack authored
Added Vercel OSS Program badge to README. Signed-off-by:boojack <stevenlgtm@gmail.com>
-
Johnny authored
Co-authored-by:Claude <noreply@anthropic.com>
-
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 2 commits