Steven
bc1550e926
refactor(api): migrate inbox functionality to user notifications
...
- 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>
2025-10-31 08:33:09 +08:00
Steven
d794c0bf8b
feat(web): improve loading performance with skeleton screens and parallel fetches
...
- Add MemoSkeleton component for smooth initial page load experience
- Integrate skeleton loader into PagedMemoList during initial fetch
- Parallelize user settings and shortcuts API calls (~50% faster session init)
- Batch-fetch memo creators in parallel to eliminate individual loading spinners
- Pass showCreator prop to Explore page for proper skeleton rendering
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 23:53:35 +08:00
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>
2025-10-23 19:13:42 +08:00
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
2025-10-22 21:48:34 +08:00
Johnny
e93f3cbb8b
refactor: unify theme and apperance
2025-08-17 11:27:59 +08:00
varsnotwars
9f8921d3b9
fix: preference not being saved ( #4980 )
...
Signed-off-by: varsnotwars <varsnotwars@protonmail.com>
Co-authored-by: Johnny <yourselfhosted@gmail.com>
2025-08-08 22:50:46 +08:00
johnnyjoy
506b477d50
fix: get user by username
2025-08-04 19:56:12 +08:00
Colin Holzman
671f4bf88b
fix: shortcuts list ( #4936 )
2025-07-31 19:52:13 +08:00
Johnny
8f51791da8
chore: update user setting definition
2025-07-29 09:21:51 +08:00
johnnyjoy
c5d497a1f0
chore: update user settings
2025-07-27 23:12:42 +08:00
Maximilian Krauß
2c7eb23343
feat(inbox): handles errors while fetching and adds possibility to delete items ( #4908 )
2025-07-23 14:21:26 +00:00
Johnny
f907619752
chore: move frontend store
2025-07-07 22:44:08 +08:00