forked from usememos/memos
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] main from usememos:main #10
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
Open
pull
wants to merge
3,060
commits into
ChasLui:main
Choose a base branch
from
usememos:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added LambdaTest to sponsorship section Signed-off-by: boojack <[email protected]>
Tag filters now support hierarchical matching where searching for a tag (e.g., "book") will match both the exact tag and any tags with that prefix (e.g., "book/fiction", "book/non-fiction"). This applies across all database backends (SQLite, MySQL, PostgreSQL) with corresponding test updates. π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
β¦ilter support - 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
- 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 <[email protected]>
- 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
β¦up functionality
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 <[email protected]>
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 <[email protected]>
Co-authored-by: Claude <[email protected]>
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 <[email protected]>
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 <[email protected]>
- 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 <[email protected]>
Co-authored-by: Claude <[email protected]>
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 <[email protected]>
Co-authored-by: Claude <[email protected]>
- 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 <[email protected]>
- 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 <[email protected]>
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 e4f6345 while maintaining thumbnail support for local/database storage. π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? π Please sponsor : )