boojack
8c16ffa1f1
feat: add <Placeholder> component with ASCII bird states ( #5949 )
...
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 22:48:37 +08:00
boojack
b6f42cbe6b
chore: upgrade frontend to React 19 ( #5940 )
2026-05-08 22:10:48 +08:00
boojack
ef55013418
feat(memo): create memos on the selected calendar date ( #5925 )
2026-05-02 11:53:50 +08:00
boojack
c268551a16
feat(memos): choose created or updated time for memos ( #5894 )
2026-04-26 11:50:26 +08:00
boojack
88cb58ab64
refactor(web/routing): guard-based auth flow, migrate tests to Vitest ( #5848 )
2026-04-18 01:06:54 +08:00
memoclaw
24fc8ab8ca
feat(mentions): add memo mention parsing, notifications, and rendering ( #5811 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-04-06 22:16:53 +08:00
memoclaw
a7cabb7ce6
refactor(web): remove masonry memo layout ( #5746 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-20 09:01:43 +08:00
Steven
c240b70591
feat: add enabled option to useInfiniteMemos and PagedMemoList for conditional fetching
2026-01-22 20:21:16 +08:00
Johnny
d55af9b527
refactor: standardize loading indicators by using Spinner for route fallbacks and specializing Skeleton for memo lists
2025-12-30 21:54:22 +08:00
Johnny
955ff0cad6
refactor: optimize user fetching in MemoCommentMessage and MemoReactionListView components
2025-12-28 17:50:43 +08:00
Johnny
115d1bacd7
refactor: replace MemoSkeleton with a new Skeleton component for improved loading states
2025-12-28 17:31:21 +08:00
Johnny
0ad75b8f08
refactor: replace useResponsiveWidth with useMediaQuery across components
2025-12-26 23:44:52 +08:00
Steven
d4e08ae2bd
refactor(react-query): optimize config, add error boundary, and remove JSDoc
...
This commit combines multiple improvements to the React Query migration:
Performance Optimization:
- Increase default staleTime from 10s to 30s for better performance
- Reduces unnecessary network requests while maintaining data freshness
Error Handling:
- Add ErrorBoundary component with user-friendly error UI
- Integrated at app root level for comprehensive coverage
- Provides error details and reload option
Documentation:
- Add docs/auth-architecture.md explaining AuthContext design decisions
- Document why AuthContext is preferred over React Query for current user
Code Cleanup:
- Remove all JSDoc comments from hooks and components
- Keep essential inline comments for clarity
- Simplifies code readability
Files modified:
- src/lib/query-client.ts - Optimized staleTime
- src/main.tsx - Added ErrorBoundary wrapper
- src/components/ErrorBoundary.tsx - New component
- src/hooks/useMemoQueries.ts - Removed JSDoc
- src/hooks/useUserQueries.ts - Removed JSDoc
- src/components/PagedMemoList/PagedMemoList.tsx - Removed JSDoc
- docs/auth-architecture.md - New documentation
All changes verified with TypeScript compilation and production build.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 08:47:36 +08:00
Johnny
f87f728b0f
feat: react query migration ( #5379 )
2025-12-24 22:59:18 +08:00
Johnny
4109fe3245
chore(MemoEditor): enhance focus mode handling and improve editor layout
2025-12-23 20:11:38 +08:00
Steven
be7ef74698
fix: eliminate duplicate API requests by deduplicating user fetch calls
...
- Add request deduplication to getOrFetchUser using RequestDeduplicator
- Consolidates multiple simultaneous calls for same user into single API request
- Prevents duplicate 401 errors and wasted network traffic
- Matches pattern already used by fetchUsers and fetchUserStats
- Remove backwards compatibility aliases (getOrFetchUserByName, getOrFetchUserByUsername)
- Update all call sites to use canonical getOrFetchUser method
Fixes issue where PagedMemoList, useMemoViewState, MainLayout, and UserProfile
were making duplicate user fetch requests when loading user data.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-22 20:12:44 +08:00
Johnny
edd3ced9bf
refactor: migrate to connect-rpc ( #5338 )
2025-12-11 19:49:07 +08:00
Steven
424e599980
refactor(web): optimize memo statistics fetching by using cached data from memo store
2025-11-24 21:37:12 +08:00
Steven
e915e3a46b
refactor(web): refactor MemoFilters component and add comprehensive filter 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
2025-10-30 22:52:58 +08:00
Steven
1e954070b9
refactor(web): improve memo component skeleton and loading states
2025-10-30 22:25:19 +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
435cc7b177
feat: implement masonry layout with responsive columns and memo height tracking
2025-10-14 19:46:09 +08:00
johnnyjoy
db63b1949a
chore: fix creator id format
2025-07-23 22:18:47 +08:00
johnnyjoy
ed23cbc011
refactor: memo filter
2025-07-23 22:10:16 +08:00
johnnyjoy
6e45e9f8b6
refactor: deprecate old filter
2025-07-22 21:25:57 +08:00
Johnny
f907619752
chore: move frontend store
2025-07-07 22:44:08 +08:00
Johnny
91be2f68d1
feat: variant colors ( #4816 )
2025-07-04 23:03:13 +08:00
Johnny
493832aeb4
refactor: unify components
2025-07-01 19:29:48 +08:00
Steven
9972a77d9e
refactor: memo service
2025-06-18 19:58:38 +08:00
Johnny
ea4e7a1606
refactor: memo editor ( #4730 )
2025-05-29 07:46:40 +08:00
Steven
f5ecb66fb8
feat: implement height-based masonry view
2025-05-28 08:27:15 +08:00
Steven
785c250f3c
refactor: migrate memo store
2025-05-27 08:26:13 +08:00
Brian
c6e6b7b93b
feat: add infinite scrolling for memos ( #4715 )
...
* feat(WIP): add prop-driven infinite scroll
* feat(WIP): add global toggle for infinite scrolling under settings
* feat: integrate newly added scroll-mode selection state with backend for persists across refreshes
* fix: default to infinite scrolling over load more button & remove redundant setting option
* fix: rectify linting issues
* Update web/src/components/PagedMemoList/PagedMemoList.tsx
---------
Co-authored-by: Johnny <yourselfhosted@gmail.com>
2025-05-25 23:12:47 +08:00
Johnny
56ad8ab3bd
refactor: view store
2025-03-06 21:38:54 +08:00
Johnny
d6be20b917
feat: implement masonry view
2025-03-02 23:27:12 +08:00
hchengting
0f8b7b7fe6
fix: show loader icon while refreshing ( #4358 )
2025-02-03 15:59:46 +08:00
johnnyjoy
2db86f6644
feat: implement shortcut components
2025-02-03 12:26:44 +08:00
johnnyjoy
be5e24c0eb
refactor: renovate list memos endpoint
2025-02-02 18:43:26 +08:00
johnnyjoy
ee96465be0
feat: list user stats
2025-01-13 23:14:44 +08:00
Steven
840b16f041
chore: tweak back to top button
2025-01-08 22:59:08 +08:00
Chris Curry
7b909fb772
feat: scroll to top ( #4244 )
2025-01-04 23:44:37 +08:00
Chris Curry
e3b378b03b
feat: persist memo filters with url query ( #4239 )
...
* feat: persist memo filters with url query
- Implemented synchronization of memo filters with URL search parameters.
- Enhanced memo store to manage current request state for fetching memos, allowing for request cancellation, avoiding the race conditions.
* refactor: update import
2025-01-02 10:23:15 +08:00
johnnyjoy
cb569c99fd
chore: remove useCallback in fetching memo list
2024-12-07 12:26:21 +08:00
Cheng
2aa3795e50
fix: search conditions affected by pull-to-refresh ( #4159 )
2024-11-29 22:13:41 +08:00
Steven
104948ae40
chore: set pull to refresh with screen size
2024-11-20 20:28:49 +08:00
nlfox
3cbccde67e
feat: add pull to refresh for PagedMemoList ( #4128 )
2024-11-19 23:34:47 +08:00
Steven
963706aebd
refactor: update button source
2024-10-26 21:36:05 +08:00
Steven
8b444be6ca
chore: update tag search
2024-09-23 21:41:23 +08:00
johnnyjoy
1f7a90cec4
chore: add spinner to paged memo list
2024-09-22 19:41:27 +08:00
johnnyjoy
339c38750f
refactor: paged memo list container
2024-09-22 19:30:39 +08:00