aboutsummaryrefslogtreecommitdiffstats
path: root/.thicket/tickets.jsonl
diff options
context:
space:
mode:
Diffstat (limited to '.thicket/tickets.jsonl')
-rw-r--r--.thicket/tickets.jsonl4
1 files changed, 2 insertions, 2 deletions
diff --git a/.thicket/tickets.jsonl b/.thicket/tickets.jsonl
index 14e600b..8ddf76f 100644
--- a/.thicket/tickets.jsonl
+++ b/.thicket/tickets.jsonl
@@ -36,7 +36,7 @@
{"id":"NK-8rhpp3","title":"v2 frontend: when selected, don't change style of feed items","description":"Just leave them the same when j/k \"selects\" an item. No blue side thing, no change in background, it's distracting. Just scroll it to the right place.","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T00:39:50.01934312Z","updated":"2026-02-14T01:02:54.204739756Z"}
{"id":"NK-8s75ec","title":"page size and performance","description":"Do some analysis of page size (css/html/javascript) on the legacy version vs. new version and give me a report. We want it to be small and fast! If the new version is much worse file some tickets to investigate further.","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-13T20:16:13.898081788Z","updated":"2026-02-13T21:50:12.004391671Z"}
{"id":"NK-8u3uo3","title":"Add configurable username support","description":"Currently login accepts a username field but ignores it. We should allow configuring a username (defaulting to 'neko') and validate it during login.","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-15T05:16:55.257993616Z","updated":"2026-02-15T05:16:55.257993616Z"}
-{"id":"NK-967mx5","title":"Add configurable scroll-to-read delay/debounce","description":"Currently items are marked as read immediately when fully visible. Consider adding a short delay (e.g. 500ms) so fast scrolling doesn't mark items as read. This would be a UX enhancement building on NK-s2g59a.","type":"feature","status":"open","priority":3,"labels":null,"assignee":"","created":"2026-02-16T19:09:49.041731485Z","updated":"2026-02-16T19:09:49.041731485Z"}
+{"id":"NK-967mx5","title":"Add configurable scroll-to-read delay/debounce","description":"Currently items are marked as read immediately when fully visible. Consider adding a short delay (e.g. 500ms) so fast scrolling doesn't mark items as read. This would be a UX enhancement building on NK-s2g59a.","type":"","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-16T19:09:49.041731485Z","updated":"2026-02-16T23:27:09.944951714Z"}
{"id":"NK-9hx0y7","title":"Implement Frontend Login","description":"Create login page and auth logic in the new React frontend. Port functionality from legacy login.html.","type":"","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-13T05:44:01.546395342Z","updated":"2026-02-13T05:50:33.877452063Z"}
{"id":"NK-9pgjph","title":"v2 ui - font size 18px","description":"Compare your font sizes with the legacy version -- I think they're a little too small (16 vs 18 baseline)","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T03:21:48.453217898Z","updated":"2026-02-14T03:24:25.316927886Z"}
{"id":"NK-9vquj9","title":"v3 login","description":"Login still doesn't work right -- i'm assuming the CSRF stuff is still wrong","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-16T16:24:06.315635122Z","updated":"2026-02-16T16:50:26.432014927Z"}
@@ -81,7 +81,7 @@
{"id":"NK-gdf99z","title":"TUI is terrible and needs fixing","description":"The TUI doesn't really work and doesn't make sense. Think very hard and look at the v2 HTML UI implementation and make something cool like that. Probably needs tests too.","type":"epic","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-14T03:51:59.882212859Z","updated":"2026-02-14T04:31:28.290051717Z"}
{"id":"NK-gfh33y","title":"[security] Implement CSRF Protection for API","description":"Add CSRF protection to all state-changing API endpoints. 1. Implement a middleware that generates a CSRF token and sets it in a cookie (readable by JS) or header. 2. Update the AuthWrap middleware to validate the presence of this token in the X-CSRF-Token header for all unsafe methods (POST, PUT, DELETE). 3. Update the React frontend to read the token and include it in all API requests.","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-14T16:35:56.341543505Z","updated":"2026-02-14T17:08:53.079904915Z"}
{"id":"NK-ghpdkr","title":"Add coverage check to 'make check'","description":"Add a code coverage check to the 'make check' workflow, ensuring it doesn't significantly slow down execution. This replaces ad-hoc coverage checks.","type":"task","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-15T16:27:42.348183236Z","updated":"2026-02-15T17:26:33.764005669Z"}
-{"id":"NK-gjj92c","title":"Add tablet breakpoint CSS for sidebar (1024px)","description":"The sidebar cookie persistence uses 1024px as the tablet/mobile threshold for default-closed behavior, but the CSS media queries still use 768px for mobile sidebar styles. Consider adding a tablet breakpoint at 1024px for intermediate layout behavior.","type":"task","status":"open","priority":3,"labels":null,"assignee":"","created":"2026-02-16T22:08:13.765775664Z","updated":"2026-02-16T22:08:13.765775664Z"}
+{"id":"NK-gjj92c","title":"Add tablet breakpoint CSS for sidebar (1024px)","description":"The sidebar cookie persistence uses 1024px as the tablet/mobile threshold for default-closed behavior, but the CSS media queries still use 768px for mobile sidebar styles. Consider adding a tablet breakpoint at 1024px for intermediate layout behavior.","type":"","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-16T22:08:13.765775664Z","updated":"2026-02-16T23:28:34.541451654Z"}
{"id":"NK-gjymiw","title":"FEEDS in sidebar needs to be more clearly a collapsible thing","description":"FEEDS in the sidebar needs a caret (\u003e that turns to V) or something similar to make it clear it's a toggle collapsible list thing","type":"feature","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T23:54:20.355824171Z","updated":"2026-02-15T00:06:02.456524674Z"}
{"id":"NK-gnxc6e","title":"Feed list collapsed by default","description":"The list of feeds on the left side should be collapsed by default, with a little control to extend it.","type":"feature","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T00:58:15.661695308Z","updated":"2026-02-14T01:29:12.82081713Z"}
{"id":"NK-gqkh96","title":"Remaining test coverage gaps","description":"Cross-package test coverage is at 81.2%. The remaining untested functions are: GetFullContent (goose HTTP extraction), indexHandler/serveBoxedFile (rice.MustFindBox), Serve (starts HTTP server), main, util.init. To reach 90%, consider: (1) refactoring GetFullContent to accept an interface for HTTP fetching, (2) refactoring Serve to extract route setup into a testable function, (3) mocking rice.MustFindBox, (4) using feeds from https://trenchant.org/feeds.txt as static test fixtures for integration tests.","type":"cleanup","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-13T03:54:30.298141982Z","updated":"2026-02-14T02:44:05.399097286Z"}