mirror of https://github.com/usememos/memos
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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> |
2 weeks ago | |
|---|---|---|
| .. | ||
| public | 4 months ago | |
| src | 2 weeks ago | |
| .gitignore | 7 months ago | |
| .prettierrc.js | 8 months ago | |
| README.md | ||
| components.json | 4 months ago | |
| eslint.config.mjs | 7 months ago | |
| index.html | 4 months ago | |
| package.json | 1 month ago | |
| pnpm-lock.yaml | 1 month ago | |
| tsconfig.json | ||
| vite.config.mts | 4 months ago | |