| Commit message (Expand) | Author | Age | Files | Lines |
| * | fix: keep scroll position stable when entry list re-sorts after read state ch... | Fuwn | 2026-02-12 | 1 | -6/+7 |
| * | fix: prioritise unread entries server-side so they appear in all-entries view | Fuwn | 2026-02-12 | 1 | -16/+11 |
| * | feat: add drag-and-drop reordering for feeds, folders, and custom feeds | Fuwn | 2026-02-12 | 1 | -296/+734 |
| * | feat: add previous/next navigation buttons on mobile detail view | Fuwn | 2026-02-10 | 1 | -9/+36 |
| * | fix: query entry state directly instead of relying on unfiltered timeline | Fuwn | 2026-02-10 | 1 | -9/+26 |
| * | fix: let display density apply to main content panel | Fuwn | 2026-02-10 | 1 | -1/+1 |
| * | fix: exclude hidden feeds from total/folder unread counts only | Fuwn | 2026-02-10 | 1 | -5/+9 |
| * | fix: remove font size selector, always use default text-base | Fuwn | 2026-02-10 | 1 | -5/+1 |
| * | feat: add unread priority option to push unread entries to top | Fuwn | 2026-02-10 | 1 | -1/+14 |
| * | feat: gate offline reading to pro and developer plans | Fuwn | 2026-02-10 | 2 | -1/+11 |
| * | feat: add automatic timeline refresh with scroll position preservation | Fuwn | 2026-02-10 | 1 | -0/+18 |
| * | feat: scoped mark-all-read, share enhancements, notification z-index | Fuwn | 2026-02-10 | 2 | -2/+7 |
| * | fix: reduce lint warnings from 34 to 0 | Fuwn | 2026-02-10 | 6 | -7/+9 |
| * | fix: P0 correctness/security fixes and P1 lint error resolution | Fuwn | 2026-02-09 | 4 | -9/+17 |
| * | feat: offline support tier 2 — prefetch entry content and SW runtime caching | Fuwn | 2026-02-09 | 1 | -5/+10 |
| * | feat: offline support tier 1 — IndexedDB query persistence and offline banner | Fuwn | 2026-02-09 | 2 | -1/+37 |
| * | ui: reorder sidebar footer, import/export tab, and subscription actions | Fuwn | 2026-02-09 | 1 | -7/+7 |
| * | feat: add per-feed "hide from timeline" option | Fuwn | 2026-02-09 | 1 | -0/+2 |
| * | feat: truncate action bar button labels on mobile portrait | Fuwn | 2026-02-08 | 1 | -2/+2 |
| * | fix: mobile scroll preservation, bottom toolbar for detail panel | Fuwn | 2026-02-08 | 2 | -66/+84 |
| * | feat: add toolbar position setting (top or bottom) | Fuwn | 2026-02-08 | 1 | -82/+93 |
| * | feat: share with highlighted excerpt and fix auth redirect URLs | Fuwn | 2026-02-08 | 2 | -0/+67 |
| * | fix: share clipboard write for Safari transient activation | Fuwn | 2026-02-08 | 1 | -25/+43 |
| * | feat: add feed management features and fix subscribe_to_feed bugs | Fuwn | 2026-02-08 | 2 | -28/+182 |
| * | feat: implement authenticated feed support across worker and web app | Fuwn | 2026-02-08 | 2 | -0/+55 |
| * | fix: clicking notifications button while panel is open now correctly dismisse... | Fuwn | 2026-02-08 | 2 | -1/+4 |
| * | fix: notification count alignment — add flex to button so ml-auto pushes co... | Fuwn | 2026-02-08 | 1 | -1/+1 |
| * | feat: add feed URL editing in subscription settings, fix notification badge s... | Fuwn | 2026-02-08 | 2 | -3/+13 |
| * | feat: add option to show favicons next to feed names in entry list | Fuwn | 2026-02-08 | 1 | -0/+23 |
| * | feat: add appearance option to toggle folders above/below ungrouped feeds in ... | Fuwn | 2026-02-08 | 1 | -99/+107 |
| * | feat: display folders above ungrouped feeds in sidebar, add delete-all-custom... | Fuwn | 2026-02-08 | 1 | -39/+39 |
| * | fix: space/shift+space scrolls focused panel, revert content font, fix share ... | Fuwn | 2026-02-07 | 3 | -13/+4 |
| * | feat: resolve 7 pre-ship QoL items | Fuwn | 2026-02-07 | 4 | -6/+95 |
| * | fix: dynamically calculate detail panel equal split from current layout | Fuwn | 2026-02-07 | 1 | -4/+9 |
| * | fix: reset panel sizes without page reload, prevent partial-data max width cl... | Fuwn | 2026-02-07 | 3 | -37/+62 |
| * | fix: reset sidebar to midpoint of min/max, detail to 50/50 split | Fuwn | 2026-02-07 | 1 | -6/+32 |
| * | fix: prevent sidebar max width from clamping persisted size on load | Fuwn | 2026-02-07 | 1 | -0/+1 |
| * | fix: persist sidebar size across collapse/expand cycles | Fuwn | 2026-02-07 | 1 | -1/+1 |
| * | feat: dynamically compute sidebar max width from item text widths | Fuwn | 2026-02-07 | 1 | -2/+105 |
| * | fix: use fixed rem-based sidebar min/default with whitespace-nowrap | Fuwn | 2026-02-07 | 3 | -79/+7 |
| * | fix: measure text nodes in sidebar min width calculation | Fuwn | 2026-02-07 | 2 | -26/+23 |
| * | fix: include sidebar footer items in min width measurement | Fuwn | 2026-02-07 | 1 | -19/+48 |
| * | fix: use Canvas text measurement for sidebar min width | Fuwn | 2026-02-07 | 1 | -8/+23 |
| * | fix: measure sidebar min width from children intrinsic widths | Fuwn | 2026-02-07 | 1 | -2/+16 |
| * | feat: derive sidebar min/default width from measured content | Fuwn | 2026-02-07 | 1 | -2/+19 |
| * | fix: persist detail panel sizes with panelIds-keyed storage | Fuwn | 2026-02-07 | 2 | -1/+2 |
| * | feat: persist sidebar panel sizes across page refreshes | Fuwn | 2026-02-07 | 2 | -2/+15 |
| * | fix: use string percentages for react-resizable-panels v4 size props | Fuwn | 2026-02-07 | 2 | -45/+56 |
| * | feat: pre-ship polish — UI improvements, keyboard shortcuts, appearance set... | Fuwn | 2026-02-07 | 8 | -74/+344 |
| * | style: lowercase all user-facing strings and add custom eslint rule | Fuwn | 2026-02-07 | 1 | -2/+2 |