| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Closed: NK-t8qnrh, NK-mcl01m, NK-pbqvke, NK-z1czaq, NK-ekxfvv,
NK-tktg7s, NK-ax2vlc, NK-26sdqp
Created: NK-u9dlcx (frontend linting), NK-2ylt2b (dark mode tests),
NK-q7a6kb (safehttp proxy bypass test), NK-0fjzr6 (stream benchmark)
https://claude.ai/code/session_01DpWhB9uGGMBnzqS28HxnuV
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- CSRF: test excluded paths (/api/login, /api/logout), PUT/DELETE methods
- Item model: test Filter includeContent flag, ItemById returns content,
multiple feed_ids filtering
- API: test read_filter=all param, feed_ids comma-separated filter,
full_content exclusion from stream
- Routing: add v3 frontend route test
https://claude.ai/code/session_019Z4VJxzY7tcAuNkPAkvry9
|
| |
|
|
|
|
|
|
| |
The sidebar default-closed JS logic used 1024px but CSS media queries
used 768px, causing inconsistent behavior on tablets. Updated all
sidebar-related breakpoints to 1024px/1025px to match.
https://claude.ai/code/session_019Z4VJxzY7tcAuNkPAkvry9
|
| |
|
|
|
|
|
|
|
|
|
| |
The /stream endpoint now skips selecting full_content and header_image
from the database, reducing memory allocation and response payload size
for list views. Full content remains available via /item/:id endpoint.
Adds omitempty to JSON tags so empty fields are omitted from responses,
and a test verifying full_content is excluded from stream responses.
https://claude.ai/code/session_019Z4VJxzY7tcAuNkPAkvry9
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Change IntersectionObserver threshold from 0.5 to 1.0 so items are only
marked as read when fully scrolled into view, reducing accidental
mark-as-read during fast scrolling.
Also fix unused Category import in perf test and add thicket config.json
to repository so future agents can use thicket CLI commands.
Closes NK-s2g59a
https://claude.ai/code/session_019Z4VJxzY7tcAuNkPAkvry9
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
branding
- Fix V3 keyboard navigation delay (resolved NK-wjats7)
- Update V3 document title to 'neko' (resolved NK-4p3s91)
- Fix V3 neko logo/button position to be top-left fixed (resolved NK-89za3s)
- Improve FeedItems (React) stability with ref-based index tracking and robust tests
- Sync V3 styling and selection feedback with V2 patterns
- Rebuild production assets
|
| |
|
|
|
|
|
| |
- Remove duplicate neko logo from v3 sidebar
- Keep sidebar toggle button fixed at top-left even when sidebar is open
- Add top padding to v3 sidebar to prevent overlap with the fixed toggle button
- Update v3 tests to match UI changes
|
| |
|
|
|
|
|
|
|
|
| |
stability
- Sync v3 dark/light theme colors with v2 defaults
- Fix v3 settings input/select contrast in dark mode
- Add logo emoji to v3 sidebar
- Fix duplicate key warnings and side-effect issues in FeedItems.tsx (v2)
- Rebuild production assets
|
| |
|
|
|
|
|
|
|
| |
- Close NK-cuz8gh: v3 feed management
- Add 'Manage Feeds' section to settings view in v3 UI
- Implement deleteFeed and updateFeed helper functions
- Add event listeners for deleting feeds and updating tags
- Add tests for new functionality
- Created NK-cdwj52 for bulk edit feature
|
| |
|
|
|
|
| |
- Close NK-edahin: cut 'FILTERS' text
- Remove the h3 Filters header in frontend-vanilla/src/main.ts
- Verified that tests still pass
|
| |
|
|
|
|
|
|
| |
- Close NK-s8nytj: Settings page close behavior
- Update frontend-vanilla/src/main.ts to toggle settings/filter navigation
- Add tests in frontend-vanilla/src/main.test.ts for navigation logic
- Created NK-gxvegm for feed/tag settings behavior
- Created NK-f64ocp for routing logic refactor
|
| | |
|
| |
|
|
|
|
|
|
| |
- Close NK-oqd24q: Fix login access for v3/api
- Update web.go to exclude /login/ from CSRF check during initial submission
- Modernize web/static/login.html with new CSS and structure
- Add web/login_test.go to verify CSRF exclusion
- Created NK-ngokc3 for further CSRF enhancements
|
| |
|
|
|
|
| |
- Close NK-k2fh32: scroll mark as read broken in V3 UI
- Add IntersectionObserver to item list in renderItems
- Add test case ensuring apiFetch is called when item intersects
|
| |
|
|
| |
overflow, cleaned up styles
|
| |
|
|
| |
for v2 parity
|
| |
|
|
| |
Settings view, and achieve 80% test coverage
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
embed dist/v3
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
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
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|