| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Frontend: Build and check in production assets for multi-select feature | Adam Mathes | 10 days | 4 | -9/+9 | |
| | | ||||||
| * | Frontend: Build and check in production assets for additive filtering fix | Adam Mathes | 10 days | 5 | -15/+15 | |
| | | ||||||
| * | Backend: Fix linting issues, improve error handling, and replace magic numbers | Adam Mathes | 10 days | 4 | -60/+60 | |
| | | ||||||
| * | Commit ticket updates and remaining backend lint fixes | Adam Mathes | 10 days | 1 | -1/+2 | |
| | | ||||||
| * | Create 'make check' unified workflow and fix various lint issues | Adam Mathes | 10 days | 1 | -26/+14 | |
| | | ||||||
| * | chore: update build artifacts and finalize test improvements | Adam Mathes | 11 days | 2 | -8/+8 | |
| | | ||||||
| * | chore: align local Makefile with GitHub CI jobs | Adam Mathes | 11 days | 2 | -7/+7 | |
| | | ||||||
| * | chore: fix lint and type errors to resolve CI failures | Adam Mathes | 11 days | 4 | -3/+3 | |
| | | ||||||
| * | ci: enhance workflow with E2E tests and Docker check | Adam Mathes | 11 days | 3 | -14/+2 | |
| | | ||||||
| * | assets update | Adam Mathes | 11 days | 2 | -0/+12 | |
| | | ||||||
| * | UI: Improve consistency of settings, logout, and theme sections in sidebar ↵ | Adam Mathes | 11 days | 4 | -3/+3 | |
| | | | | | (NK-v9e7r3) | |||||
| * | UI: Add collapsible caret icons for Tags and Feeds in sidebar (NK-gjymiw) | Adam Mathes | 11 days | 5 | -14/+14 | |
| | | ||||||
| * | Cleanup root directory by moving scripts to scripts/ and fix CSRF cookie ↵ | Adam Mathes | 11 days | 1 | -2/+2 | |
| | | | | | policy for dev env | |||||
| * | task: delete vanilla js prototype\n\n- Removed vanilla/ directory and ↵ | Adam Mathes | 11 days | 4 | -486/+0 | |
| | | | | | 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 | |||||
| * | fix: auto-load more items when pressing 'j' on last item\n\nPreviously, if ↵ | Adam Mathes | 11 days | 2 | -5/+5 | |
| | | | | | you were focused on the last loaded item and that item was\nvery long (extending past the viewport), pressing 'j' would do nothing\nbecause there were no more items loaded yet.\n\nNow, when the user presses 'j' and lands on the last item, we automatically\ntrigger loading more items (if available), ensuring that the next 'j' press\nwill work as expected.\n\nAdded test to verify this behavior works correctly. | |||||
| * | feat: fix authentication to handle no-password scenario\n\n- Updated ↵ | Adam Mathes | 11 days | 2 | -0/+190 | |
| | | | | | Authenticated() to return true when no password is configured\n- Updated apiLoginHandler to succeed when no password is set\n- Added comprehensive backend tests for both password/no-password cases\n- Added E2E tests for authentication flows (password tests are skipped by default)\n- All tests pass for both authentication scenarios\n\nFixes issue where app would require login even when no password was configured.\nNow properly supports passwordless mode for local development. | |||||
| * | feat: add secure_cookies configuration option\n\n- Added SecureCookies bool ↵ | Adam Mathes | 11 days | 2 | -4/+5 | |
| | | | | | field to config.Settings\n- Added --secure-cookies command line flag\n- Updated CSRFMiddleware to use config setting instead of hardcoded value\n- Default is false for local development, set to true for production HTTPS\n- Updated config.example and README.md with documentation\n- Updated tests to pass config to CSRFMiddleware\n\nThis allows users to easily switch between insecure cookies (for local dev)\nand secure cookies (for production HTTPS) via config file or command line. | |||||
| * | fix: CSRF cookie configuration for local network access\n\n- Changed ↵ | Adam Mathes | 11 days | 6 | -15/+16 | |
| | | | | | 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 | |||||
| * | fix: relax CSP to allow unsafe-eval for legacy UI | Adam Mathes | 11 days | 1 | -1/+1 | |
| | | ||||||
| * | feature: add scrape full text button to feed items (fixing NK-8hu7z1) | Adam Mathes | 11 days | 5 | -14/+14 | |
| | | ||||||
| * | feature: implement full OPML and Text import/export (fixing NK-r6nhj0) | Adam Mathes | 11 days | 5 | -14/+14 | |
| | | ||||||
| * | routing: make new UI default at / and move legacy UI to /v1/ (fixing ↵ | Adam Mathes | 11 days | 2 | -1/+82 | |
| | | | | | NK-mgmn5m, NK-p89hyt) | |||||
| * | security: add HTTP security headers (fixing NK-7xuajb) | Adam Mathes | 11 days | 2 | -1/+42 | |
| | | ||||||
| * | security: mitigate SSRF in image proxy and feed fetcher (fixing NK-0ca7nq) | Adam Mathes | 11 days | 1 | -3/+2 | |
| | | ||||||
| * | security: implement CSRF protection and improve session cookie security ↵ | Adam Mathes | 11 days | 2 | -5/+87 | |
| | | | | | (fixing NK-gfh33y) | |||||
| * | UI: Centering content area in v2 | Adam Mathes | 11 days | 4 | -3/+3 | |
| | | ||||||
| * | Refactor: project structure, implement dependency injection, and align v2 UI ↵ | Adam Mathes | 11 days | 6 | -24/+32 | |
| | | | | | with v1 | |||||
| * | Fix web tests by removing nil-box checks no longer applicable with go:embed | Adam Mathes | 12 days | 1 | -89/+47 | |
| | | ||||||
| * | Audit and reduce Go dependencies: replace go.rice with embed, pflag with flag | Adam Mathes | 12 days | 23 | -260/+1762 | |
| | | ||||||
| * | Optimize asset packaging: move UI assets to root dist/ and decouple rice ↵ | Adam Mathes | 12 days | 1 | -4/+4 | |
| | | | | | embedding | |||||
| * | feat: add vanilla JS frontend prototype (NK-2xsgef) | Adam Mathes | 12 days | 1 | -0/+11 | |
| | | ||||||
| * | chore: cleanup ignored files | Adam Mathes | 12 days | 1 | -100/+0 | |
| | | ||||||
| * | refactor(backend): improve testability and add tests (NK-6q9nyg) | Adam Mathes | 12 days | 4 | -119/+517 | |
| | | ||||||
| * | fix(v2): remove distracting selection styles and fix build (NK-8rhpp3) | Adam Mathes | 12 days | 2 | -39/+77 | |
| | | ||||||
| * | Implement robust Gzip middleware and update page size analysis | Adam Mathes | 12 days | 2 | -9/+136 | |
| | | ||||||
| * | Analyze page size and fix frontend tests | Adam Mathes | 12 days | 1 | -0/+212 | |
| | | ||||||
| * | UI Refinements: remove redundant header and fix global monospace font stack | Adam Mathes | 12 days | 1 | -220/+0 | |
| | | ||||||
| * | Fix frontend asset base path and add regression test for serving frontend | Adam Mathes | 12 days | 1 | -0/+24 | |
| | | ||||||
| * | Implement Frontend Logout with tests | Adam Mathes | 12 days | 2 | -0/+34 | |
| | | ||||||
| * | Implement frontend login logic with >90% coverage | Adam Mathes | 13 days | 2 | -0/+94 | |
| | | ||||||
| * | Scaffold new frontend and close NK-t0nmbj | Adam Mathes | 13 days | 3 | -42/+180 | |
| | | ||||||
| * | wip: tui updates (buggy) | Adam Mathes | 13 days | 2 | -2/+80 | |
| | | ||||||
| * | Refactor backend to a clean REST API | Adam Mathes | 13 days | 3 | -649/+95 | |
| | | | | | | | | | | | - 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 | 1 | -0/+647 | |
| | | | | | | | | | | | | | | | | | | | | | | | 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). | |||||
| * | clean up old files, update git ignore | Adam Mathes | 2025-05-25 | 1 | -20/+36 | |
| | | ||||||
| * | update dependencies | Adam Mathes | 2021-09-28 | 1 | -22/+22 | |
| | | ||||||
| * | stop clobbering the f key | Adam Mathes | 2018-10-04 | 1 | -6/+6 | |
| | | ||||||
| * | light/dark/black themes | Adam Mathes | 2018-09-29 | 1 | -8/+8 | |
| | | ||||||
| * | click targets on unread/all/star to li element instead of a for bigger tap ↵ | Adam Mathes | 2018-09-19 | 1 | -5/+5 | |
| | | | | | targets | |||||
| * | wip adding /crawl/ manual crawl update | Adam Mathes | 2018-07-04 | 1 | -0/+13 | |
| | | ||||||
