Commit Graph

2130 Commits (a533ba02dc3f75c9bcfabf60bc5c760f241d61d0)

Author SHA1 Message Date
Steven e0b1153269 fix(web): resolve MobX observable reactivity issue in filter computation
Fixes filtering functionality that was broken due to improper use of
useMemo with MobX observables. The issue occurred because useMemo's
dependency array uses reference equality, but MobX observable arrays
are mutated in place (reference doesn't change when items are added/removed).

Changes:
- Remove useMemo from filter computation in Home, UserProfile, and Archived pages
- Calculate filters directly in render since components are already MobX observers
- Fix typo: memoFitler -> memoFilter in Archived.tsx

This ensures filters are recalculated whenever memoFilterStore.filters changes,
making tag clicks and other filter interactions work correctly.

Fixes #5189

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
1 month ago
Florian Dewald e4f6345342
feat: generate thumbnails for images stored in S3 and generate thumbnails with a maximum size (#5179) 1 month ago
Claude 16425ed650 feat(web): improve ReactionSelector UX with hover visibility
- Add hover-based visibility for reaction selector in memo cards
- Show reaction selector only on card hover or when popover is open
- Add onOpenChange callback to ReactionSelector for state management
- Reorder action buttons for better visual hierarchy
- Simplify conditional rendering of comment link
1 month ago
Claude 16e0049490 chore: improve layout and spacing in LocationSelector 1 month ago
Claude 7079790d4f feat: add copy content functionality to MemoActionMenu 1 month ago
Claude 686d31b357 feat: enhance attachment store with MobX observables and actions 1 month ago
Steven f5624fa682 refactor: standardize MobX store architecture with base classes and utilities
Refactored all stores to follow consistent patterns and best practices while keeping MobX:

New Infrastructure:
- Created base-store.ts with StandardState base class and factory functions
- Added store-utils.ts with RequestDeduplicator, StoreError, and OptimisticUpdate helpers
- Added config.ts for MobX configuration and strict mode
- Created comprehensive README.md with architecture guide and examples

Server State Stores (API data):
- attachment.ts: Added request deduplication, error handling, computed properties, delete/clear methods
- workspace.ts: Added Theme type validation, computed memoization, improved initialization
- memo.ts: Enhanced with optimistic updates, request deduplication, structured errors
- user.ts: Fixed temporal coupling, added computed memoization, request deduplication

Client State Stores (UI state):
- view.ts: Added helper methods (toggleSortOrder, setLayout, resetToDefaults), input validation
- memoFilter.ts: Added utility methods (hasFilter, clearAllFilters, removeFiltersByFactor)

Improvements:
- Request deduplication prevents duplicate API calls (all server stores)
- Computed property memoization improves performance
- Structured error handling with error codes
- Optimistic updates for better UX (memo updates)
- Comprehensive JSDoc documentation
- Type-safe APIs with proper exports
- Clear separation between server and client state

All stores now follow consistent patterns for better maintainability and easier onboarding.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
1 month ago
Steven 9121ddbad9 feat(api): support username lookup in GetUser endpoint
- Update GetUser to accept both numeric IDs and username strings (users/{id} or users/{username})
- Implement CEL filter parsing for username-based lookups
- Update proto documentation to reflect dual lookup capability
- Simplify frontend user store to use GetUser instead of ListUsers filter
- Update ListUsers filter documentation to show current capabilities
1 month ago
Steven 4d4325eba5 chore: update component styles for consistency 1 month ago
Steven b4341dd123 fix(web): make reaction selector responsive with scrolling
- Replace fixed width (max-w-56) with responsive viewport-based width
- Use 90vw on mobile and max-w-md on desktop for better adaptability
- Add vertical scrolling with max-h-64 overflow-y-auto
- Increase grid columns to 8 on medium+ screens for better space utilization
- Ensures all reactions are accessible regardless of quantity

Fixes #5117

Co-authored-by: GitHub Copilot <noreply@github.com>
1 month ago
Simon 290cdf5d4f
chore: use input type `datetime-local` instead of `text` (#5174) 1 month ago
Steven 2d4361d5fe chore: update memo content formatting and enhance link styling 1 month ago
Steven d8f7a4e739 chore: tweak demo data 1 month ago
Steven b19e736f10 chore: tweak demo data 1 month ago
Steven b4ea7d843f feat: enhance memo sorting functionality to support multiple fields 1 month ago
Steven 228cc6105d chore: update StatCard component for improved icon and count rendering in StatisticsView 1 month ago
Steven 56758f107c chore: refactor ActivityCalendar to use a calendar matrix and improve cell rendering 1 month ago
Steven 5011eb5d70 feat: enhance LocationSelector with improved geolocation handling 1 month ago
Ben Mitchinson 12c4aeeccc
feat: lat/long input fields (#5152)
Signed-off-by: Ben Mitchinson <mitchinson.dev@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 month ago
Steven 435cc7b177 feat: implement masonry layout with responsive columns and memo height tracking 1 month ago
Copilot 3245613a88 chore: cleanup components naming 1 month ago
Huang Cheng Ting d7e751997d
chore: update zh-Hant translation (#5159) 2 months ago
Nic Luckie 20233c7051
feat(web): add accessible ConfirmDialog and migrate confirmations; and Markdown-safe descriptions (#5111)
Signed-off-by: Nic Luckie <nicolasluckie@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2 months ago
Claude f6e025d583 feat: implement theme management with system preference detection and early application 2 months ago
Claude c3a961229e fix: update cell opacity colors to use primary theme instead of destructive 2 months ago
github-actions[bot] 074c580214 chore: bump gomark
- Bump protoc-gen-go version from v1.36.8 to v1.36.9 in multiple generated files.
- Enhance OpenAPI descriptions for various endpoints to improve clarity and readability.
- Fix typo in the description list handling in the markdown service.
- Update HTMLElement component to handle children and self-closing tags correctly.
- Modify types in the markdown service to include children and self-closing properties for HTML elements.
2 months ago
Steven 6d1485d168 fix: reset state on dialog close and improve dialog open handling 2 months ago
Steven f44b0850f4 feat: enhance CodeBlock component with theme-aware syntax highlighting 2 months ago
Steven 383553d3c8 feat: add DOMPurify for sanitizing HTML content in CodeBlock component 3 months ago
Giacomo Cerquone f4e23727bb
fix: avoid hiding reaction selector and keep it always shown for mobile (#5079) 3 months ago
Giacomo Cerquone 60123de318
fix: update useEffect dependency to location.key so drawer is closed also when re-navigating to current route (#5077) 3 months ago
Steven 5a1af7b240 fix: adjust badge height 3 months ago
Johnny 7cc2df9254 chore: fix linter 3 months ago
Johnny 12ab7e9dde chore: tweak docs 3 months ago
Johnny 0b4252d1a3 chore: fix linter 3 months ago
Johnny cf29684882 chore: tweak links 3 months ago
Steven e07e9f2e9f fix: theme selector 3 months ago
varsnotwars fbcdf0fba7
fix update theme not saving (#5012) 3 months ago
Johnny 01d3f2f86c chore: tweak dark theme 3 months ago
Johnny e93f3cbb8b refactor: unify theme and apperance 3 months ago
Amazingca a3add85c95
fix: Update SSO login flow to encode redirect_uri (#5006)
Signed-off-by: Amazingca <autumn@amazingca.dev>
3 months ago
Sara Vieira 51d643c780
chore: default type to text/plain (#4993)
Signed-off-by: Sara Vieira <hey@iamsaravieira.com>
Co-authored-by: boojack <stevenlgtm@gmail.com>
3 months ago
Liu Chao ba7dfb7d98
fix: OpenAPI Parameter Conflict in DeleteMemoTag Endpoint (#4985)
Signed-off-by: ChaoLiu <chaoliu719@gmail.com>
3 months ago
Huang Cheng Ting 5ba81d629c
fix: prevent default focus behavior on open and close events in sheet (#4998) 3 months ago
Huang Cheng Ting d86756f104
feat: add an option to auto expand subtags in tree mode (#4994) 4 months ago
Jason Shawn D' Souza 1dd25634fd
fix: Midi files show up as playable (#4991) 4 months ago
varsnotwars 9f8921d3b9
fix: preference not being saved (#4980)
Signed-off-by: varsnotwars <varsnotwars@protonmail.com>
Co-authored-by: Johnny <yourselfhosted@gmail.com>
4 months ago
Sara Vieira 1f1add1a48
fix: add mime type check for file types (#4981) 4 months ago
Tobias Waslowski 15c146cfc5
feat(editor): create text-based autocompleting commands (#4971) 4 months ago
Johnny 8576001c83
fix: nl.json
Signed-off-by: Johnny <yourselfhosted@gmail.com>
4 months ago
Stephan Paternotte 1043fc8fba
chore: update nl.json (#4974)
Signed-off-by: Stephan Paternotte <Stephan-P@users.noreply.github.com>
4 months ago
Colin Holzman 8319516d1a
fix: boolean filters (#4966) 4 months ago
johnnyjoy 66b4f583a5 fix: linter 4 months ago
aarohee-he 0f2390a0b7
feat: add tooltips to editor buttons (#4934)
Co-authored-by: Anthony Cooper <antcoop096@gmail.com>
Co-authored-by: aarohee-he <aarohee-he@users.noreply.github.com>
Co-authored-by: Mishti Gala <mishtigala19@gmail.com>
4 months ago
boojack 13957472eb
chore: merge visibility selector into save button
Signed-off-by: boojack <stevenlgtm@gmail.com>
4 months ago
johnnyjoy a5e441b622 chore: tweak dark mdoe styles 4 months ago
johnnyjoy 506b477d50 fix: get user by username 4 months ago
Huang Cheng Ting 896a3dccf2
chore: update zh-Hant translation (#4962) 4 months ago
XIN_____ 9c60165ba1
chore: update zh-Hans.json (#4940) 4 months ago
Colin Holzman 671f4bf88b
fix: shortcuts list (#4936) 4 months ago
XIN_____ 79c7fcc8b6
chore: update zh-Hans.json (#4933) 4 months ago
Colin Holzman 6005d0f3f7
chore: use MEMOS_INSTANCE_URL for "Copy Link" (#4930) 4 months ago
Steven 1fcafd807e chore: enable memo comments by default 4 months ago
Johnny 5074268f4f fix: action styles in memo editor 4 months ago
Johnny 8f51791da8 chore: update user setting definition 4 months ago
johnnyjoy c5d497a1f0 chore: update user settings 4 months ago
johnnyjoy 3f56ce47d2 chore: update definition of workspace setting 4 months ago
Steven c5d2d15278 chore: fix eslint 4 months ago
Steven f78b277462 chore: simplify add memo relation 4 months ago
johnnyjoy 9b5b7b1ea2 Merge branch 'main' of https://github.com/usememos/memos 4 months ago
johnnyjoy c5767bf9d6 fix: eslint 4 months ago
Maximilian Krauß 2c7eb23343
feat(inbox): handles errors while fetching and adds possibility to delete items (#4908) 4 months ago
johnnyjoy db63b1949a chore: fix creator id format 4 months ago
johnnyjoy ed23cbc011 refactor: memo filter 4 months ago
Steven ac386c218d fix: workspace setting keys 4 months ago
Steven c133f5528a fix: workspace setting keys in frontend 4 months ago
johnnyjoy 6e45e9f8b6 refactor: deprecate old filter 4 months ago
Johnny 1a3fc4d874 fix: media width 4 months ago
johnnyjoy 7481fe10bf chore: remove order by pinned 4 months ago
Huang Cheng Ting f675324994
chore: update zh-Hant translation (#4895) 4 months ago
Steven d7ced7b738 fix: code block style in dark mode 4 months ago
Johnny 74769b3332 fix: user state 4 months ago
Johnny e3735d2de3 fix: storage setting 4 months ago
Johnny f09897e4b6 fix: dialog state 4 months ago
Huang Cheng Ting 6119a4b965
chore: update zh-Hant translation (#4889) 4 months ago
Maximilian Krauß c4baba8527
fix(syntax-highlighting): adds missing CSS imports to CodeBlock.tsx (#4890) 4 months ago
Jovane Castro a8db132110
chore(i18n): update hindi translation (#4858) 4 months ago
XIN_____ 84eacebfbb
chore: update zh text i18n (#4844) 4 months ago
Jovane Castro 72b5186a56
chore(i18n): update croatian translation (#4859) 4 months ago
Steven 54e6ca37a2 chore: tweak props definition 4 months ago
Jovane Castro 7683b26658
chore(i18n): update farsi translation (#4855) 4 months ago
Jovane Castro 4066af989c
chore(i18n): update spanish translation (#4854) 4 months ago
Jovane Castro 8ef13468c7
chore(i18n): update hungarian translation (#4860) 4 months ago
Jovane Castro 2d4b5a1044
chore(i18n): update german translation (#4853) 4 months ago
Jovane Castro a21112427b
chore(i18n): update french translation (#4856) 4 months ago
Jovane Castro 5a53f7178c
chore(i18n): update italian translation (#4861) 4 months ago
Jovane Castro 74d35f7e33
chore(i18n): update japanese translation (#4862) 4 months ago
Jovane Castro 163038d5e0
chore(i18n): update georgian translation (#4863) 4 months ago
Jovane Castro af60f81f96
chore(i18n): update korean translation (#4864) 4 months ago
Jovane Castro c79b114972
chore(i18n): update marathi translation (#4865) 4 months ago