| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 9 days | fix(frontend): prevent layout shift in feed sidebar during loadingHEADv0.7.3main | nsfisis | |
| Show "All feeds" button immediately and load individual feeds asynchronously via internal Suspense boundary, avoiding the spinner-to-content shift that occurred with the outer Suspense wrapper. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | |||
| 10 days | feat(asset): update icons | nsfisis | |
| 12 days | fix(frontend): hide loading spinner on mobile when feed sidebar is hidden | Claude | |
| The Suspense fallback (LoadingSpinner) was visible on mobile even though FeedSidebar itself had `hidden md:block`. Move the responsive hiding classes to a wrapper div so both the spinner and the sidebar are hidden on mobile screens. https://claude.ai/code/session_01Nfc9gnkDPgnXZwEWyGrb9U | |||
| 2026-02-15 | feat(frontend): filter feed sidebar by read/unread viewv0.7.2 | nsfisis | |
| Unread sidebar now only shows feeds with unread articles. Read sidebar shows all feeds but hides the unread count badge. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | |||
| 2026-02-15 | fix(frontend): hide feed sidebar on mobile for better readability | nsfisis | |
| Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | |||
| 2026-02-14 | refactor(frontend): migrate state management to jotai and jotai-tanstack-query | nsfisis | |
| Replace React Context + manual useEffect data fetching with jotai atoms for state management and jotai-tanstack-query for server state caching. - Add jotai, jotai-tanstack-query, @tanstack/query-core dependencies - Create atoms for auth (primitive + action), feeds (suspense query), and articles (infinite query with cursor-based pagination) - Wire up Provider, HydrateQueryClient, and StoreInitializer in main.tsx - Migrate all components from useAuth() context to jotai atoms - Replace manual fetch logic in FeedSidebar/FeedList with feedsAtom - Replace usePaginatedArticles hook with articlesInfiniteAtom - Add queryClient.invalidateQueries() after mutations for automatic cache refresh - Add ErrorBoundary and LoadingSpinner components for Suspense support - Remove callback prop chains (onFeedAdded, onFeedChanged, etc.) in favor of query invalidation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | |||
| 2026-02-14 | refactor: migrate API from GraphQL to REST (TypeSpec/OpenAPI) | nsfisis | |
| Replace the entire GraphQL stack (gqlgen, urql, graphql-codegen) with a TypeSpec → OpenAPI 3.x pipeline using oapi-codegen for Go server stubs and openapi-fetch + openapi-typescript for the frontend client. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | |||
| 2026-02-13 | feat: add feed sidebar and cursor-based pagination | nsfisis | |
| Add a feed sidebar to /unread and /read pages for filtering articles by feed, and replace the fixed 100-article limit with cursor-based pagination using a "Load more" button. Backend: - Add PageInfo, ArticleConnection types and pagination args to GraphQL - Replace GetUnreadArticles/GetReadArticles with parameterized queries - Add GetFeedUnreadCounts query and composite index - Add shared pagination helper in resolver Frontend: - Add FeedSidebar component with unread count badges - Add usePaginatedArticles hook for cursor-based fetching - Update ArticleList with Load more button and single-feed mode - Use ?feed=<id> query parameter for feed filtering Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | |||
| 2025-12-07 | feat(frontend): update dependenciesv0.5.0 | nsfisis | |
| 2025-12-07 | refactor(graphql): change directory structure | nsfisis | |
| 2025-12-07 | feat(frontend): support PWA | nsfisis | |
| 2025-12-04 | feat(frontend): design update | nsfisis | |
| 2025-11-28 | fix(frontend): Fix login processing | nsfisis | |
| 2025-11-08 | fix(frontend): Fix incorrect caching settingsv0.4.1 | nsfisis | |
| 2025-11-08 | refactor(frontend): Remove unused AuthContext.error | nsfisis | |
| 2025-11-08 | refactor(frontend): Remove unnecessary GraphQL query call | nsfisis | |
| 2025-11-08 | refactor(frontend): Reduce usage of useEffect() | nsfisis | |
| 2025-11-08 | refactor(frontend): Remove unnecessary setLocation() call | nsfisis | |
| 2025-11-08 | refactor(frontend): Use Tailwind class instead of inlined style | nsfisis | |
| 2025-11-08 | refactor(frontend): Simplify AuthContextType | nsfisis | |
| 2025-11-08 | fix(frontend): Don't discard GraphQL error | nsfisis | |
| 2025-11-08 | fix(frontend): Fix style of logout button | nsfisis | |
| 2025-11-08 | feat: Support multi-user | nsfisis | |
| 2025-08-22 | fix(frontend): menu item spacingv0.3.3 | nsfisis | |
| 2025-08-22 | fix(frontend): wrong optimistic update | nsfisis | |
| 2025-08-04 | refactor(frontend): Remove unnecessary component property | nsfisis | |
| 2025-07-22 | feat(frontend): Optimistically update read statev0.3.2 | nsfisis | |
| 2025-07-15 | feat(frontend): tweak menu stylev0.3.1 | nsfisis | |
| 2025-07-13 | feat(frontend): change datetime format | nsfisis | |
| 2025-07-13 | refactor(frontend): extract FeedItem from FeedListv0.3.0 | nsfisis | |
| 2025-07-13 | refactor(frontend): extract ArticleItem from ArticleList | nsfisis | |
| 2025-07-13 | chore: update justfiles | nsfisis | |
| 2025-07-13 | feat(frontend): remove bulk edit form | nsfisis | |
| 2025-07-13 | feat(container): fix Docker build | nsfisis | |
| 2025-07-12 | feat(backend,frontend): add feature to unsubscribe feed | nsfisis | |
| 2025-07-12 | feat(frontend): create pages and components | nsfisis | |
| 2025-07-12 | feat(frontend): setup GraphQL code generation | nsfisis | |
| 2025-07-11 | feat(frontend): move favicon to frontend/ | nsfisis | |
| 2025-07-11 | feat(frontend): setup Vite | nsfisis | |
| 2025-07-11 | feat(frontend): install dependencies | nsfisis | |
| 2025-07-09 | feat(frontend): initialize frontend with Vite template | nsfisis | |
| 2025-06-23 | refactor: change directory structure | nsfisis | |
