diff options
| -rw-r--r-- | .thicket/tickets.jsonl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/.thicket/tickets.jsonl b/.thicket/tickets.jsonl index 3e2d7fa..a464fff 100644 --- a/.thicket/tickets.jsonl +++ b/.thicket/tickets.jsonl @@ -4,6 +4,7 @@ {"id":"NK-0ppv3f","title":"Implement Frontend Settings","description":"Create settings page for managing feeds/categories.","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T05:44:01.631640578Z","updated":"2026-02-13T15:04:12.408401691Z"} {"id":"NK-13v159","title":"docker compose fails","description":"When running docker compose up I got the following error:\n[2/3] STEP 1/9: FROM golang:1.23-bullseye AS backend-builder\nResolved \"golang\" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)\nTrying to pull docker.io/library/golang:1.23-bullseye...\nGetting image source signatures\nCopying blob sha256:bb30cea4afcbc0a0405508119c28d87afb4518e3558e2f1fb0a52a0498994287\nCopying blob sha256:a9acb5a6634ff8f020bd4562c483cdd83503103d2c080d87e777643b57123e41\nCopying blob sha256:b26972d9a448e4dba0ac85216372d6ee52bc89839590b4e97f94b77ced5571fe\nCopying blob sha256:b1efd17e5717172aa4463c9c599bce51a6939b602dbb135bf6c26d672a6e7496\nCopying blob sha256:6a887974b056452b76229e3392cbf8513e741cd3dcd1f05e7397eea6fce361a0\nCopying blob sha256:382d65ac76ebcbc7ba7ee0d232ae7afbec48e2b3b673983ac8ced522dabe3abb\nCopying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1\nCopying config sha256:6f1643fb9acc4fc0b9bf95efd1b4b1cd274dcd73a39cc99ef57da203d7088f42\nWriting manifest to image destination\n[2/3] STEP 2/9: RUN go install github.com/GeertJohan/go.rice/rice@latest\ngo: downloading github.com/GeertJohan/go.rice v1.0.3\ngo: downloading github.com/GeertJohan/go.incremental v1.0.0\ngo: downloading github.com/akavel/rsrc v0.8.0\ngo: downloading github.com/daaku/go.zipexe v1.0.2\ngo: downloading github.com/jessevdk/go-flags v1.4.0\ngo: downloading github.com/nkovacs/streamquote v1.0.0\ngo: downloading github.com/valyala/fasttemplate v1.0.1\ngo: downloading github.com/valyala/bytebufferpool v1.0.0\n--\u003e 181d1254149e\n[2/3] STEP 3/9: WORKDIR /app\n--\u003e 3f497307e2ca\n[2/3] STEP 4/9: COPY go.mod go.sum ./\n--\u003e 339c24ca12cd\n[2/3] STEP 5/9: RUN go mod download\ngo: go.mod requires go \u003e= 1.24.2 (running go 1.23.12; GOTOOLCHAIN=local)\nError: building at STEP \"RUN go mod download\": while running runtime: exit status 1","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T01:10:13.257269131Z","updated":"2026-02-14T01:15:05.19401879Z"} {"id":"NK-1phdpf","title":"refactor backend to have a clean API","description":"create a nice clean API for the backend GO code that is more independent of the frontend\n\nensure that it is working with good tests","type":"task","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-13T01:52:49.8322638Z","updated":"2026-02-13T04:26:47.517515371Z"} +{"id":"NK-26sdqp","title":"write regression tests based on tickets/CLs","description":"For bugs fixed or behavior changes, please write tests where needed.","type":"task","status":"open","priority":1,"labels":null,"assignee":"","created":"2026-02-17T06:08:41.161346Z","updated":"2026-02-17T06:08:41.161346Z"} {"id":"NK-27or4b","title":"Increase Test Coverage to \u003e80%","description":"Project-wide test coverage is currently ~63%. Key gaps are in the new and packages, as well as some core model logic. Increase coverage to at least 80% to ensure stability.","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T05:03:09.677147894Z","updated":"2026-02-13T05:03:09.677147894Z"} {"id":"NK-2t5ijy","title":"Mobile Layout Verification for New Frontend","description":"Verify and adjust the new fixed-width layout for mobile devices to ensure responsiveness.","type":"task","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-13T18:11:47.456406598Z","updated":"2026-02-13T18:11:47.456406598Z"} {"id":"NK-2tcnmq","title":"delete vanilla js prototype","description":"remove it, let's just focus on the react version. make sure everything still builds cleanly, etc after removing. remove any old tests for it, etc.","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T20:42:34.159317037Z","updated":"2026-02-14T22:46:27.327379836Z"} @@ -51,7 +52,7 @@ {"id":"NK-arckp3","title":"Install golangci-lint in dev environment","description":"Local Makefile uses 'go vet' because 'golangci-lint' is missing. CI uses golangci-lint. We should install it locally for consistency.","type":"task","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-15T05:14:44.840444844Z","updated":"2026-02-15T05:14:44.840444844Z"} {"id":"NK-bsdwqz","title":"terminal UI","description":"once there is good test coverage and a clean backend API, work on a nice efficient TUI with https://github.com/charmbracelet/bubbletea","type":"task","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-13T01:54:02.285738454Z","updated":"2026-02-13T04:42:09.824268427Z"} {"id":"NK-ca9t70","title":"Vanilla JS: Add Feed UI","description":"Add UI to add a new feed by URL in vanilla JS prototype.","type":"feature","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-14T04:47:41.764330544Z","updated":"2026-02-14T04:47:41.764330544Z"} -{"id":"NK-cdwj52","title":"Bulk edit feeds in settings","description":"Allow selecting multiple feeds to delete or tag at once.","type":"feature","status":"open","priority":4,"labels":null,"assignee":"","created":"2026-02-16T16:33:54.080449467Z","updated":"2026-02-16T16:33:54.080449467Z"} +{"id":"NK-cdwj52","title":"Bulk edit feeds in settings","description":"Allow selecting multiple feeds to delete or tag at once.","type":"","status":"closed","priority":4,"labels":null,"assignee":"","created":"2026-02-16T16:33:54.080449467Z","updated":"2026-02-16T16:33:54.080449467Z"} {"id":"NK-chns2b","title":"reach parity between vanilla js and react v2 ui","description":"Continue implementing the vanilla js one with minimal overhad/depdnencies to be fast and lean. Make sure there are tests and rely on the v2 ui and legacy version as references.","type":"epic","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T04:45:06.813453353Z","updated":"2026-02-14T04:45:06.813453353Z"} {"id":"NK-ck4co9","title":"Refactor E2E tests to use page objects","description":"The E2E tests are getting complex. Refactor them to use the Page Object Model pattern for better maintainability.","type":"task","status":"closed","priority":4,"labels":null,"assignee":"","created":"2026-02-15T02:21:34.96843041Z","updated":"2026-02-15T19:14:31.660189629Z"} {"id":"NK-cuz8gh","title":"v3 feed management","description":"there's no way to delete or add a tag to a feed right now\nlet's add that to the settings page to start.","type":"epic","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-16T15:49:33.753016244Z","updated":"2026-02-16T16:33:44.393899494Z"} @@ -68,7 +69,7 @@ {"id":"NK-ekxfvv","title":"Seed full_content in benchmarks to measure real payload savings","description":"The stream benchmark seeds items without full_content, so B/op doesn't reflect the real-world improvement from excluding full_content. Add seeded full_content to benchmark items so we can quantify the actual memory/payload savings.","type":"task","status":"open","priority":4,"labels":null,"assignee":"","created":"2026-02-16T23:03:28.808266923Z","updated":"2026-02-16T23:03:28.808266923Z"} {"id":"NK-eqduq1","title":"run the performance test suite and provide some benchmarks","description":"Create a document in DOCS after running the perf test suite with findings and potential improvements.","type":"task","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-16T19:48:08.40974488Z","updated":"2026-02-16T22:05:48.66181541Z"} {"id":"NK-exyau3","title":"check coverage again","description":"check test coverage again and see if more tests are needed","type":"task","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-15T00:07:39.320521992Z","updated":"2026-02-15T05:31:22.48357749Z"} -{"id":"NK-f64ocp","title":"Refactor routing logic for consistent settings exit","description":"Instead of checking 'if currentRoute.path == /settings' in every click handler, maybe centralize this logic in the router or a helper function to ensure consistent behavior when navigating away from settings.","type":"cleanup","status":"open","priority":4,"labels":null,"assignee":"","created":"2026-02-16T16:17:36.299928698Z","updated":"2026-02-16T16:17:36.299928698Z"} +{"id":"NK-f64ocp","title":"Refactor routing logic for consistent settings exit","description":"Instead of checking 'if currentRoute.path == /settings' in every click handler, maybe centralize this logic in the router or a helper function to ensure consistent behavior when navigating away from settings.","type":"","status":"closed","priority":4,"labels":null,"assignee":"","created":"2026-02-16T16:17:36.299928698Z","updated":"2026-02-16T16:17:36.299928698Z"} {"id":"NK-fkc119","title":"setup github ci","description":"Maybe it'd be nice to have github run the tests. Is that a thing we can try to setup","type":"feature","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T03:16:32.574415787Z","updated":"2026-02-14T03:23:01.837550873Z"} {"id":"NK-fm15vq","title":"UI: Improve accessibility for star icon","description":"The new star button should have proper aria-labels and potentially better focus states for screen readers.","type":"task","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-13T20:27:36.768034045Z","updated":"2026-02-13T20:27:36.768034045Z"} {"id":"NK-fnaohu","title":"UI Styling: Dark Mode Support","description":"","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T18:05:19.59504351Z","updated":"2026-02-13T18:11:46.326064329Z"} @@ -104,7 +105,7 @@ {"id":"NK-k2fh32","title":"scroll mark as read broken in V3 UI","description":"j/k properly select and mark an item as read, but scrolling it off the screen on desktop and mobile don't seem to mark it as read.","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-16T15:32:42.579032595Z","updated":"2026-02-16T15:37:20.993241382Z"} {"id":"NK-k4y597","title":"[feature] light/dark/black toggle","description":"Add in a simple [light | dark | black] theme toggler like in the legacy version.","type":"feature","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T00:45:55.312953906Z","updated":"2026-02-14T01:29:20.073659889Z"} {"id":"NK-k9otuy","title":"Exclude full_content from stream list API responses","description":"Benchmarks show ~380KB/op allocation for stream endpoint, largely from serializing full_content field that is not displayed in list views. Excluding this field from list responses would reduce memory allocation and improve API response times. Full content is already available via the /api/item/:id/content scrape endpoint.","type":"","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-16T22:08:15.014135834Z","updated":"2026-02-16T23:03:03.193816656Z"} -{"id":"NK-kdn1m2","title":"Optimize observer creation in renderItems","description":"We currently recreate IntersectionObservers every time renderItems is called. We should investigate if this impacts performance and potentially reuse the observer or optimize the logic.","type":"task","status":"open","priority":4,"labels":null,"assignee":"","created":"2026-02-16T15:37:41.915993277Z","updated":"2026-02-16T15:37:41.915993277Z"} +{"id":"NK-kdn1m2","title":"Optimize observer creation in renderItems","description":"We currently recreate IntersectionObservers every time renderItems is called. We should investigate if this impacts performance and potentially reuse the observer or optimize the logic.","type":"","status":"closed","priority":4,"labels":null,"assignee":"","created":"2026-02-16T15:37:41.915993277Z","updated":"2026-02-16T15:37:41.915993277Z"} {"id":"NK-kqt9oc","title":"docker support","description":"add support so people can self-host this in docker and (maybe) test it yourself. maybe keep it in a docker directory with separate docs etc.","type":"epic","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-13T20:19:10.70328135Z","updated":"2026-02-14T01:03:35.363466842Z"} {"id":"NK-kra45a","title":"enhance github ci/cq","description":"Make sure we have the right CI/CQ things in the github workflow. Can it test our docker compose for us too maybe","type":"feature","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-15T00:08:25.732991582Z","updated":"2026-02-15T01:04:54.350079542Z"} {"id":"NK-lo7l8g","title":"Vanilla JS (v3): Achieve 80% test coverage","description":"","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-16T02:43:17.405569291Z","updated":"2026-02-16T03:36:14.221291336Z"} @@ -112,6 +113,7 @@ {"id":"NK-lrihov","title":"Re-enable and fix errcheck lints","description":"Re-enable 'errcheck' in .golangci.yml and fix the remaining ~140 issues, mostly related to unchecked Writes and DB operations.","type":"cleanup","status":"closed","priority":4,"labels":null,"assignee":"","created":"2026-02-15T16:41:08.395284346Z","updated":"2026-02-15T16:41:08.395284346Z"} {"id":"NK-m8bya7","title":"Fix and Re-enable Playwright E2E Tests","description":"E2E tests were crashing the VM and timing out. Disabled them in package.json. Need to investigate resource usage and re-enable.","type":"bug","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-14T03:08:18.501189975Z","updated":"2026-02-14T04:00:03.995357386Z"} {"id":"NK-mbuw7q","title":"v2 ui bug - panel open by default","description":"Panel is closed by default, it should be open by default on desktop.","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T02:46:56.870671639Z","updated":"2026-02-14T03:08:17.322841854Z"} +{"id":"NK-mcl01m","title":"V3 UI: change order of sidebar","description":"[neko icon]\n\nUnread\nAll\nStarred\n\nSearch\n\n+ new\n\nFeeds \u003e\nTags \u003e\n\n[bottom of page]\nSettings\nLogout","type":"feature","status":"open","priority":0,"labels":null,"assignee":"","created":"2026-02-17T06:12:52.889097Z","updated":"2026-02-17T06:12:52.889097Z"} {"id":"NK-mgmn5m","title":"serve \"legacy\" version UI at /v1/ instead of /","description":"Let's \"softly\" start to deprecated the legacy version by moving it to /v1/ -- ideally this won't require any changes but there may be some relative/absolute URLs to adjust in the static files there or in rouoting","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T16:41:04.710679944Z","updated":"2026-02-14T17:38:25.35292336Z"} {"id":"NK-mpb1e1","title":"Mock RSS feeds in E2E tests","description":"Currently E2E tests fetch real feeds like CNN, which makes them slow (10s+) and potentially flaky depending on network. Use a local mock server or file-based mocks.","type":"task","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T23:43:56.494457169Z","updated":"2026-02-15T02:17:12.5439427Z"} {"id":"NK-mwf9q2","title":"Implement Tag View","description":"Create frontend view for browsing items by tag/category. Use /tag/:id endpoint.","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T15:04:12.441165286Z","updated":"2026-02-13T18:04:38.644796168Z"} @@ -128,6 +130,7 @@ {"id":"NK-p89hyt","title":"make new v2 UI the default and serve at /","description":"After we move the old UI to be served at v1, serve the new UI at /\n\nWe can keep serving it at v2/ as well if we want.","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T16:42:20.13241547Z","updated":"2026-02-14T17:38:26.362895517Z"} {"id":"NK-p9uqpd","title":"Vanilla JS (v3): Redesign to 2-pane glassmorphism (parity with v2)","description":"","type":"feature","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-16T02:43:04.953803234Z","updated":"2026-02-16T03:36:14.089568891Z"} {"id":"NK-p9z0i0","title":"Vanilla JS (v3): Redesign to 2-pane glassmorphism (parity with v2)","description":"","type":"feature","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-16T02:43:11.207279424Z","updated":"2026-02-16T03:36:14.15465959Z"} +{"id":"NK-pbqvke","title":"v3 Dark mode bugs","description":"In Dark mode the following visual problems are present:\n1. Black backgroound around \"neko\" emoji, should just be grey.\n2. Black backgrouond in search, should just be white\n3. Links in feed items are the wrong color (should be the ligher blue) and underlined\n4. The sidebar text should be a black on grey","type":"bug","status":"open","priority":1,"labels":null,"assignee":"","created":"2026-02-17T05:58:03.522165Z","updated":"2026-02-17T05:58:03.522165Z"} {"id":"NK-pmznme","title":"Implement ClientLogin and Token endpoints","description":"","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-15T00:21:47.832112417Z","updated":"2026-02-15T00:44:41.338958256Z"} {"id":"NK-pr3re0","title":"Implement Stream Contents endpoint","description":"","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-15T00:21:53.326022558Z","updated":"2026-02-15T00:44:41.477972444Z"} {"id":"NK-pumdm4","title":"get rid of the \"selected\" highlight thing","description":"the legacy version doesn't do that and i find it distracting, j/k just move things up/down","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-13T20:27:51.434041661Z","updated":"2026-02-13T22:37:06.185341246Z"} @@ -151,6 +154,7 @@ {"id":"NK-sxcm7y","title":"Enable Gzip Compression in Go Backend","description":"Check if the Go backend is serving content with gzip compression. If not, implement it to reduce page size and improve performance. Add tests to verify.","type":"feature","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-13T21:57:24.578388732Z","updated":"2026-02-13T22:22:49.350223751Z"} {"id":"NK-t0nmbj","title":"new web frontend","description":"The current frontend uses an old version of backbone and jquery. Let's \"deprecate\" it -- keep it arouond so we can test against it and use it, but let's be able to also serve and use a nice shiny new frontend written in either simiple, highly efficient vanilla javascript, or put together something in react or similar. Needs to feel fast and low latency!\n\nIt's very important that this new frontend has all the functionality of the existing one AND looks similar (use same style, etc, but adjust a little if needed.)\n\nALSO make it highly testable and have high test coverage as you go. I don't want it to use the Chrome browser plugin thing, just test it on your own using things from the command line you can do.","type":"epic","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-13T02:01:37.2107893Z","updated":"2026-02-13T05:43:47.613995925Z"} {"id":"NK-t7m31s","title":"Wire Reader API into web.go","description":"","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-15T00:21:55.393639254Z","updated":"2026-02-15T00:44:41.579714853Z"} +{"id":"NK-t8qnrh","title":"v3 UI: Links in feed items should have no underlines","description":"Please match v1 style -- no underlines on links","type":"bug","status":"open","priority":0,"labels":null,"assignee":"","created":"2026-02-17T05:59:37.623461Z","updated":"2026-02-17T05:59:37.623461Z"} {"id":"NK-tgmc9s","title":"make sure the github CI jobs are included in the tests/jobs locally!","description":"","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-15T02:44:00.333972105Z","updated":"2026-02-15T05:14:00.55549619Z"} {"id":"NK-thq2oq","title":"v2 ui - font size adjustments","description":"Move font-size: 18px to :root so rem units resolve correctly. Adjust title size to ~24px.","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T03:30:58.751447802Z","updated":"2026-02-14T03:31:56.358775833Z"} {"id":"NK-tw0nga","title":"E2E Testing","description":"Set up E2E testing with Playwright or Cypress to verify full flows: Login -\u003e View Feeds -\u003e View Items -\u003e Logout","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T15:01:33.817314728Z","updated":"2026-02-13T15:46:57.094062908Z"} @@ -160,13 +164,14 @@ {"id":"NK-uy90he","title":"UI Styling: Feed Items (Spacing, Dateline)","description":"","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T18:05:17.289457994Z","updated":"2026-02-13T18:11:46.255816698Z"} {"id":"NK-uywybr","title":"https://computer.rip/rss.xml fails to importa","description":"running neko -a https://computer.rip/rss.xml gave an error. debug it and add test case to catch.","type":"bug","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-13T20:12:28.54350403Z","updated":"2026-02-14T01:03:02.755247954Z"} {"id":"NK-v9e7r3","title":"consistency in sidebar","description":"With the new sidebar styling, SETTINGS and LOGOUT and the light/dark look really different than the rest. Let's make them more consistent from a style perspective.","type":"feature","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T23:55:51.554786606Z","updated":"2026-02-15T00:22:33.826814528Z"} -{"id":"NK-vztuud","title":"Sanitize HTML at ingest time instead of on every read","description":"The Filter function runs bluemonday sanitization on every query result. Moving sanitization to item creation/crawl time would reduce per-request CPU cost, especially for frequently-read items.","type":"task","status":"open","priority":4,"labels":null,"assignee":"","created":"2026-02-16T23:03:28.861761558Z","updated":"2026-02-16T23:03:28.861761558Z"} +{"id":"NK-vztuud","title":"Sanitize HTML at ingest time instead of on every read","description":"The Filter function runs bluemonday sanitization on every query result. Moving sanitization to item creation/crawl time would reduce per-request CPU cost, especially for frequently-read items.","type":"","status":"closed","priority":4,"labels":null,"assignee":"","created":"2026-02-16T23:03:28.861761558Z","updated":"2026-02-16T23:03:28.861761558Z"} {"id":"NK-wibjlg","title":"update README.md","description":"Ensure the build, configuration, etc are up too date.\nNote the git change when we started to vibe-code this in the history (with dates etc.)","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-13T20:18:08.790048498Z","updated":"2026-02-13T22:36:07.717448961Z"} {"id":"NK-wj8m4v","title":"Fix pre-existing safehttp test failure","description":"TestSafeClient in internal/safehttp fails: private IP check returns nil error instead of blocking. The test expects an error for 10.0.0.1 but gets nil.","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-16T19:09:38.775620083Z","updated":"2026-02-16T22:07:45.904161737Z"} {"id":"NK-wjats7","title":"v3 ui: takes 3 presses of 'j' to move to next item","description":"Is there some weird timer before it's scrolling it -- after that it's fine. Or a delay to setup the listener or something","type":"bug","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-16T16:20:01.7097349Z","updated":"2026-02-16T18:53:59.531388427Z"} {"id":"NK-wjnczv","title":"Vanilla JS: Test Infrastructure \u0026 Coverage","description":"Setup testing framework (likely vitest or simple runner) for vanilla JS. Refactor code for testability. Aim for 80% coverage on vanilla/app.js logic.","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T05:13:23.292982698Z","updated":"2026-02-14T05:34:53.241988263Z"} {"id":"NK-x924bu","title":"test coverage","description":"assume the code works properly (it mostly does)\nget to 90% test coverage on the go code","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-13T01:52:01.042476226Z","updated":"2026-02-13T03:54:21.526519915Z"} {"id":"NK-ymf1jb","title":"add \"star\" back in","description":"rather than the word \"star\" it should just have a star that changes colors right next to the title","type":"task","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-13T19:29:05.582140321Z","updated":"2026-02-13T20:27:31.598346438Z"} +{"id":"NK-z1czaq","title":"v3 UI: on desktop/large screens, never shift the main feed items","description":"The feed items should always be centered in the viewport rather than shifted to the right for the sidebar. Make this a parameter that's easy-is to change if I change my mind.","type":"bug","status":"open","priority":1,"labels":null,"assignee":"","created":"2026-02-17T06:05:04.142102Z","updated":"2026-02-17T06:05:04.142102Z"} {"id":"NK-zd39pt","title":"Fix backend linting issues reported by golangci-lint","description":"golangci-lint reports 64 issues including 46 errcheck violations (ignored errors in web handlers), 13 staticcheck issues (e.g., using 307/401 literals instead of http constants), and minor formatting/unused param issues. These should be addressed to improve code quality.","type":"cleanup","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-15T16:11:26.179223018Z","updated":"2026-02-15T21:10:08.969514863Z"} {"id":"NK-zl922p","title":"slow scrolling in v2 ui compared to v1","description":"When using j/k to go to the next feed, they appeared instantly, now it feels like a slow scroll. Make it speedy again.","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T03:41:02.267766275Z","updated":"2026-02-14T04:27:10.368160216Z"} {"id":"NK-zs9we8","title":"UI Styling: Sidebar (Fixed, Gray Background)","description":"","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T18:05:16.188317572Z","updated":"2026-02-13T18:11:46.213993245Z"} |
