| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | chore: fix lint and type errors to resolve CI failures | Adam Mathes | 11 days | 1 | -2/+7 |
| | | |||||
| * | style: fix font theme application to body text | Adam Mathes | 11 days | 1 | -1/+3 |
| | | |||||
| * | test: mock RSS feeds in E2E tests | Adam Mathes | 11 days | 1 | -1/+3 |
| | | |||||
| * | ci: enhance workflow with E2E tests and Docker check | Adam Mathes | 11 days | 1 | -2/+5 |
| | | |||||
| * | style: update Settings page to match glass sidebar aesthetic | Adam Mathes | 11 days | 1 | -3/+17 |
| | | |||||
| * | task: improve mobile responsiveness of React UI\n\n- Added media queries to ↵ | Adam Mathes | 11 days | 1 | -1/+3 |
| | | | | | App.css to handle mobile sidebar layout (overlay with backdrop)\n- Implemented auto-hiding sidebar on mobile when links are clicked\n- Reduced padding and adjusted max-widths for smaller screens in App.css, FeedItem.css, and Settings.css\n- Added window resize listener to Dashboard to manage sidebar visibility based on width\n- Verified all existing tests pass\n\nFixes NK-g818qn | ||||
| * | task: delete vanilla js prototype\n\n- Removed vanilla/ directory and ↵ | Adam Mathes | 11 days | 1 | -1/+3 |
| | | | | | web/dist/vanilla directory\n- Updated Makefile, Dockerfile, and CI workflow to remove vanilla references\n- Cleaned up web/web.go to remove vanilla embed and routes\n- Verified build and tests pass\n\nCloses NK-2tcnmq | ||||
| * | test: add background crawler timing tests | Adam Mathes | 11 days | 1 | -2/+7 |
| | | | | | | | | | | | | | | | | | Added tests to verify background crawler behavior: - Tests that backgroundCrawl returns immediately when minutes <= 0 - Tests that backgroundCrawl executes at the specified interval - Tests that Run() returns early when port is -1 (testing mode) These tests verify the general structure and timing of the background crawler without requiring a full integration test with actual feeds. Closes NK-pwogze Created follow-up tickets: - NK-rhelrq: End-to-end integration test for complete crawl cycle - NK-0oti10: Documentation for background crawler behavior | ||||
| * | fix: CSRF cookie configuration for local network access\n\n- Changed ↵ | Adam Mathes | 11 days | 1 | -1/+2 |
| | | | | | SameSite from Lax to None to allow cookie access across localhost/IP variations\n- Added Secure=false for local development (should be true in production with HTTPS)\n- Added credentials:'include' to all fetch requests to ensure cookies are sent\n- Updated tests to expect credentials parameter in fetch calls\n\nThis fixes the 403 Forbidden error when accessing from LAN IPs like 192.168.x.x | ||||
| * | feat: add font theme support (fixing NK-rn4nzp) | Adam Mathes | 11 days | 1 | -3/+3 |
| | | |||||
| * | test: increase frontend coverage for Settings and improve FeedItem css | Adam Mathes | 11 days | 1 | -1/+2 |
| | | |||||
| * | style: refine sidebar design to closely match v1 (fixing NK-7jh6re) | Adam Mathes | 11 days | 1 | -1/+1 |
| | | |||||
| * | fix: ensure neko toggle button is always accessible (fixing NK-zvt8hi) | Adam Mathes | 11 days | 1 | -1/+3 |
| | | |||||
| * | feature: add scrape full text button to feed items (fixing NK-8hu7z1) | Adam Mathes | 11 days | 1 | -1/+1 |
| | | |||||
| * | ui: redesign sidebar to match v1 aesthetic and fix navigation | Adam Mathes | 11 days | 1 | -1/+2 |
| | | |||||
| * | feature: implement full OPML and Text import/export (fixing NK-r6nhj0) | Adam Mathes | 11 days | 1 | -0/+1 |
| | | |||||
| * | routing: make new UI default at / and move legacy UI to /v1/ (fixing ↵ | Adam Mathes | 11 days | 1 | -2/+4 |
| | | | | | NK-mgmn5m, NK-p89hyt) | ||||
| * | ui: simplify themes to light/dark and improve theme-aware styling (fixing ↵ | Adam Mathes | 11 days | 1 | -2/+3 |
| | | | | | NK-dp5efo) | ||||
| * | security: add HTTP security headers (fixing NK-7xuajb) | Adam Mathes | 11 days | 1 | -2/+2 |
| | | |||||
| * | security: mitigate SSRF in image proxy and feed fetcher (fixing NK-0ca7nq) | Adam Mathes | 11 days | 1 | -0/+1 |
| | | |||||
| * | security: implement CSRF protection and improve session cookie security ↵ | Adam Mathes | 11 days | 1 | -2/+3 |
| | | | | | (fixing NK-gfh33y) | ||||
| * | Refactor: project structure, implement dependency injection, and align v2 UI ↵ | Adam Mathes | 11 days | 1 | -5/+14 |
| | | | | | with v1 | ||||
| * | Optimize asset packaging: move UI assets to root dist/ and decouple rice ↵ | Adam Mathes | 12 days | 1 | -10/+38 |
| | | | | | embedding | ||||
| * | refactor(backend): improve testability and add tests (NK-6q9nyg) | Adam Mathes | 12 days | 1 | -7/+20 |
| | | |||||
| * | Implement robust Gzip middleware and update page size analysis | Adam Mathes | 12 days | 1 | -0/+1 |
| | | |||||
| * | Analyze page size and fix frontend tests | Adam Mathes | 12 days | 1 | -1/+3 |
| | | |||||
| * | UI: increase max-width to 600px and left-align content (NK-jhludy) | Adam Mathes | 12 days | 1 | -1/+4 |
| | | |||||
| * | UI: replace text star button with icon next to title (NK-ymf1jb) | Adam Mathes | 12 days | 1 | -1/+1 |
| | | |||||
| * | UI: remove explicit mark read buttons (NK-ahzf5c) | Adam Mathes | 12 days | 1 | -3/+10 |
| | | |||||
| * | Implement infinite scroll for feed items view (NK-5ocxgm) | Adam Mathes | 12 days | 1 | -5/+9 |
| | | |||||
| * | UI Refinements: remove redundant header and fix global monospace font stack | Adam Mathes | 12 days | 1 | -5/+7 |
| | | |||||
| * | Add UI styling tickets to thicket and update task.md | Adam Mathes | 12 days | 1 | -1/+11 |
| | | |||||
| * | Implement Tag View and fix tests | Adam Mathes | 12 days | 1 | -2/+2 |
| | | |||||
| * | Implement Frontend Settings with tests | Adam Mathes | 12 days | 1 | -1/+5 |
| | | |||||
| * | Implement Frontend Logout with tests | Adam Mathes | 12 days | 1 | -1/+3 |
| | | |||||
| * | Implement Item Interactions (read/star) with tests | Adam Mathes | 12 days | 1 | -1/+3 |
| | | |||||
| * | Implement Frontend Feed Items View with tests | Adam Mathes | 12 days | 1 | -1/+3 |
| | | |||||
| * | Implement Frontend Feed List with tests | Adam Mathes | 13 days | 1 | -8/+10 |
| | | |||||
| * | Implement frontend login logic with >90% coverage | Adam Mathes | 13 days | 1 | -1/+4 |
| | | |||||
| * | Scaffold new frontend and close NK-t0nmbj | Adam Mathes | 13 days | 1 | -1/+7 |
| | | |||||
| * | wip: tui updates (buggy) | Adam Mathes | 13 days | 1 | -1/+1 |
| | | |||||
| * | Fix TUI content view navigation and interaction | Adam Mathes | 13 days | 1 | -0/+4 |
| | | | | | | | | | - Integrated viewport.Model for scrollable content view - Fixed 'q' and 'esc' navigation from content view - Added unit tests for content state transitions and rendering - Cleaned up unused TUI delegate code - Increased TUI package coverage to ~70% | ||||
| * | Implement Bubble Tea Terminal UI (TUI) | Adam Mathes | 13 days | 1 | -1/+1 |
| | | | | | | | | - Added Bubble Tea, Lipgloss, and Bubbles dependencies - Implemented TUI package in tui/ for browsing feeds and items - Added --tui flag to main command - Verified build and existing tests | ||||
| * | Update go.mod and ticket status | Adam Mathes | 13 days | 1 | -0/+4 |
| | | |||||
| * | Refactor backend to a clean REST API | Adam Mathes | 13 days | 1 | -3/+3 |
| | | | | | | | | | | | - Created new 'api' package with testable router and RESTful handlers - Handlers in 'api' use proper HTTP methods and status codes - Standardized JSON responses and error handling - Refactored 'web' package to delegate logic to 'api' - Maintained backward compatibility for legacy frontend routes - Simplified 'web/web_test.go' and added comprehensive 'api/api_test.go' - All tests passing with improved modularity | ||||
| * | Add comprehensive test suite — 81% cross-package coverage | Adam Mathes | 13 days | 2 | -0/+9 |
| Bug fixes: - config: remove unused log import - item: fix Printf format %d->%t for boolean ReadState - util: update stale config.Read -> config.Init, remove config.Config.DBServer Test files added: - config/config_test.go: Init, readConfig, addDefaults (100%) - vlog/vlog_test.go: Printf, Println verbose/silent (100%) - models/db_test.go: InitDB tests - models/feed/feed_test.go: CRUD, filter, Categories, NewFeed, ResolveFeedURL (87%) - models/item/item_test.go: CRUD, Filter with category/search/starred, rewriteImages (71%) - exporter/exporter_test.go: all export formats (91%) - importer/importer_test.go: InsertIItem, ImportJSON (90%) - crawler/crawler_test.go: GetFeedContent, CrawlFeed, CrawlWorker, Crawl (89%) - web/web_test.go: auth, login/logout, stream, item, feed, category, export, crawl, imageProxy handlers (77%) Remaining 0% functions require HTTP/rice.MustFindBox/main entry and can't be unit tested without refactoring (see tickets NK-gqkh96, NK-6q9nyg). | |||||
