aboutsummaryrefslogtreecommitdiffstats
path: root/.thicket
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-14 17:32:15 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-14 17:32:15 -0800
commit1413eca1f1dfea2fe125a5dc9bde293058cc3e03 (patch)
treeb6956145c6ecb05a1c65e4a396ccc669a15a7e89 /.thicket
parent9b3cff9665e7c69691963b740b653b4fcd2b467d (diff)
downloadneko-1413eca1f1dfea2fe125a5dc9bde293058cc3e03.tar.gz
neko-1413eca1f1dfea2fe125a5dc9bde293058cc3e03.tar.bz2
neko-1413eca1f1dfea2fe125a5dc9bde293058cc3e03.zip
ci: enhance workflow with E2E tests and Docker check
Diffstat (limited to '.thicket')
-rw-r--r--.thicket/tickets.jsonl7
1 files changed, 5 insertions, 2 deletions
diff --git a/.thicket/tickets.jsonl b/.thicket/tickets.jsonl
index 43d5cb8..d9386a0 100644
--- a/.thicket/tickets.jsonl
+++ b/.thicket/tickets.jsonl
@@ -11,6 +11,7 @@
{"id":"NK-2ypbgd","title":"Vanilla JS: Implement Search","description":"Add search bar to vanilla JS prototype and hook up to search API.","type":"feature","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-14T04:47:39.405003074Z","updated":"2026-02-14T04:49:07.592627269Z"}
{"id":"NK-35kxxw","title":"v2 frontend move the star to the RIGHT of the title","description":"Look at the old implementation and make it look more like that! Big start, same size as the article title.","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T00:44:13.630511415Z","updated":"2026-02-14T01:07:04.861274618Z"}
{"id":"NK-3e3dim","title":"go vet fails on github ci","description":"Looks like the newly enabled github ci runs go vet and got a bunch of errors including:\n\ngo vet ./...\n shell: /usr/bin/bash -e {0}\nError: config/config.go:6:2: missing go.sum entry for module providing package gopkg.in/yaml.v2 (imported by adammathes.com/neko/config); to add:\n go get adammathes.com/neko/config\nError: models/db.go:10:2: missing go.sum entry for module providing package github.com/mattn/go-sqlite3 (imported by adammathes.com/neko/models); to add:\n go get adammathes.com/neko/models\nError: models/feed/feed.go:10:2: missing go.sum entry for module providing package github.com/PuerkitoBio/goquery (imported by adammathes.com/neko/models/feed); to add:\n go get adammathes.com/neko/models/feed\nError: models/item/item.go:12:2: missing go.sum entry for module providing package github.com/advancedlogic/GoOse (imported by adammathes.com/neko/models/item); to add:\n go get adammathes.com/neko/models/item\nError: models/item/item.go:13:2: missing go.sum entry for module providing package github.com/microcosm-cc/bluemonday (imported by adammathes.com/neko/models/item); to add:\n go get adammathes.com/neko/models/item\nError: models/item/item.go:14:2: missing go.sum entry for module providing package github.com/russross/blackfriday (imported by adammathes.com/neko/models/item); to add:\n go get adammathes.com/neko/models/item\nError: crawler/crawler.go:7:2: missing go.sum entry for module providing package github.com/mmcdole/gofeed (imported by adammathes.com/neko/crawler); to add:\n go get adammathes.com/neko/crawler\nError: tui/tui.go:9:2: missing go.sum entry for module providing package github.com/charmbracelet/bubbles/list (imported by adammathes.com/neko/tui); to add:\n go get adammathes.com/neko/tui\nError: tui/tui.go:10:2: missing go.sum entry for module providing package github.com/charmbracelet/bubbles/viewport (imported by adammathes.com/neko/tui); to add:\n go get adammathes.com/neko/tui\nError: tui/tui.go:11:2: missing go.sum entry for module providing package github.com/charmbracelet/bubbletea (imported by adammathes.com/neko/tui); to add:\n go get adammathes.com/neko/tui\nError: tui/style.go:3:8: missing go.sum entry for module providing package github.com/charmbracelet/lipgloss (imported by adammathes.com/neko/tui); to add:\n go get adammathes.com/neko/tui\nError: web/web.go:19:2: missing go.sum entry for module providing package github.com/GeertJohan/go.rice (imported by adammathes.com/neko/web); to add:\n go get adammathes.com/neko/web\nError: web/rice-box.go:7:2: missing go.sum entry for module providing package github.com/GeertJohan/go.rice/embedded (imported by adammathes.com/neko/web); to add:\n go get adammathes.com/neko/web\nError: web/web.go:20:2: missing go.sum entry for module providing package golang.org/x/crypto/bcrypt (imported by adammathes.com/neko/web); to add:\n go get adammathes.com/neko/web\nError: main.go:16:2: missing go.sum entry for module providing package github.com/ogier/pflag (imported by adammathes.com/neko); to add:\n go get adammathes.com/neko\nError: Process completed with exit code 1.","type":"bug","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T03:33:16.174683053Z","updated":"2026-02-14T03:34:08.731025136Z"}
+{"id":"NK-3g1ouf","title":"fix font theming","description":"The font selector should adjust more than just the titles/ui, the font stack should include the \"normal\" article text too, right now it's palatino in every stack, it should really just be the first one I think.","type":"bug","status":"open","priority":1,"labels":null,"assignee":"","created":"2026-02-15T00:53:53.986364009Z","updated":"2026-02-15T00:53:53.986364009Z"}
{"id":"NK-3om7x2","title":"Implement Feed Items View","description":"Create a component to display items for a selected feed. Fetch items from /api/stream?feed_id=...","type":"","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-13T05:59:46.161356437Z","updated":"2026-02-13T14:55:14.795643835Z"}
{"id":"NK-4juza2","title":"v2 ui - collapsible feed list","description":"In the left side navigation list of feeds, the feeds should be hidden by default. The word \"feeds\" should be a toggle to show/hide the list, with a triangle that indicates state.","type":"feature","status":"closed","priority":0,"labels":null,"assignee":"","created":"2026-02-14T02:48:25.194856022Z","updated":"2026-02-14T03:16:19.259726648Z"}
{"id":"NK-4yjicm","title":"Create api/reader package and middleware","description":"","type":"task","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-15T00:21:45.866133071Z","updated":"2026-02-15T00:44:41.290163192Z"}
@@ -56,6 +57,7 @@
{"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"}
+{"id":"NK-hj6f9p","title":"Investigate E2E Tag View flakiness","description":"The E2E test for /v2/tag/Tech was temporarily disabled because it was timing out/failing. Investigate if it's a race condition or a routing issue.","type":"bug","status":"open","priority":2,"labels":null,"assignee":"","created":"2026-02-15T01:04:54.404114014Z","updated":"2026-02-15T01:04:54.404114014Z"}
{"id":"NK-hspao2","title":"Vanilla JS: Implement Test Infrastructure","description":"Setup testing infrastructure for vanilla JS prototype to ensure 80% coverage. Refactor app.js for testability and add unit tests.","type":"task","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T05:13:11.587767054Z","updated":"2026-02-14T05:13:11.587767054Z"}
{"id":"NK-hyej38","title":"[ui] when a left menu item is \"active\" make it bold","description":"The \"default\" is UNREAD - this should be in the \"bold\" state when you're seeing that. When you filter out to \"ALL\" that should instead be bold. Same with the individual feeds if one is selected. And Starred.","type":"epic","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T00:47:25.74838134Z","updated":"2026-02-14T01:25:07.267016355Z"}
{"id":"NK-iw9l7h","title":"Improve scraper heuristics","description":"The scraper currently uses a simple fallback between CleanedText and TopNode. It could be improved to better handle different article layouts.","type":"feature","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-14T01:04:11.588135487Z","updated":"2026-02-14T01:04:11.588135487Z"}
@@ -65,12 +67,12 @@
{"id":"NK-k04tet","title":"Fix Playwright E2E Tests","description":"The e2e tests in tests/e2e.spec.ts are failing when run with vitest. They should be run with playwright test runner, or configured correctly. Currently excluded from vitest.","type":"bug","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T21:50:14.152486771Z","updated":"2026-02-14T02:43:56.02734439Z"}
{"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-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":"open","priority":1,"labels":null,"assignee":"","created":"2026-02-15T00:08:25.732991582Z","updated":"2026-02-15T00:08:25.732991582Z"}
+{"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-lrew5z","title":"UI Styling: Global Typography \u0026 Layout (Fixed Width)","description":"","type":"","status":"closed","priority":2,"labels":null,"assignee":"","created":"2026-02-13T18:04:57.254341682Z","updated":"2026-02-13T18:11:31.436752093Z"}
{"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-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":"open","priority":2,"labels":null,"assignee":"","created":"2026-02-14T23:43:56.494457169Z","updated":"2026-02-14T23:43:56.494457169Z"}
+{"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":"open","priority":1,"labels":null,"assignee":"","created":"2026-02-14T23:43:56.494457169Z","updated":"2026-02-14T23:43:56.494457169Z"}
{"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"}
{"id":"NK-n7nuyy","title":"Fix TypeScript Lint Errors in Tests","description":"There are lint errors in test files regarding jest-dom matchers (toBeInTheDocument, etc). Ensure proper types are included.","type":"bug","status":"closed","priority":3,"labels":null,"assignee":"","created":"2026-02-13T21:50:15.140702806Z","updated":"2026-02-13T21:50:15.140702806Z"}
{"id":"NK-nx8dhw","title":"fix github ci","description":"seems to be broken, are the right things still in there given all the refactorings","type":"bug","status":"closed","priority":1,"labels":null,"assignee":"","created":"2026-02-14T18:02:19.485418738Z","updated":"2026-02-14T18:08:16.790742187Z"}
@@ -124,6 +126,7 @@
{"id":"NK-dda9zfr","from_ticket_id":"NK-lrew5z","to_ticket_id":"NK-mwf9q2","type":"created_from","created":"2026-02-13T18:04:57.273164732Z"}
{"id":"NK-dew7hvb","from_ticket_id":"NK-tw0nga","to_ticket_id":"NK-59kbij","type":"created_from","created":"2026-02-13T15:01:33.825547908Z"}
{"id":"NK-dffwhjf","from_ticket_id":"NK-2t5ijy","to_ticket_id":"NK-lrew5z","type":"created_from","created":"2026-02-13T18:11:47.471931543Z"}
+{"id":"NK-dfyyk6k","from_ticket_id":"NK-hj6f9p","to_ticket_id":"NK-kra45a","type":"created_from","created":"2026-02-15T01:04:54.417714174Z"}
{"id":"NK-dgbrb79","from_ticket_id":"NK-9hx0y7","to_ticket_id":"NK-t0nmbj","type":"created_from","created":"2026-02-13T05:44:01.556027956Z"}
{"id":"NK-dgfppki","from_ticket_id":"NK-gqkh96","to_ticket_id":"NK-x924bu","type":"created_from","created":"2026-02-13T03:54:30.303602703Z"}
{"id":"NK-dgu0o9d","from_ticket_id":"NK-ca9t70","to_ticket_id":"NK-d4c8jv","type":"created_from","created":"2026-02-14T04:47:41.786634182Z"}