6e7914e | 2026-06-08 22:58 | ★ main branch (working reference) — Password reset: don't let a boot 401 hijack the reset screen to login |
f6ee2b5 | 2026-06-08 22:48 | Password reset: email-based flow (request + reset screens, Resend) |
d0f4c5f | 2026-06-08 12:13 | UX: photo-less card placeholder (#25) + empty states for new users (#24) |
ca79f93 | 2026-06-08 11:53 | Phase 1 frontend: store card images to B2 on add, render durable /img thumbnails |
5826cf8 | 2026-06-08 10:51 | Sentry: backend + frontend error monitoring (ad-blocker resistant) |
5f84f88 | 2026-06-07 23:35 | Accounts: add username; sign in with email OR username |
802d911 | 2026-06-07 23:27 | Show account display name in greetings (not the raw account id) |
ab4c697 | 2026-06-07 23:13 | Fix login screen: email/password fields wouldn't accept typing |
c54e87f | 2026-06-07 22:14 | Add real accounts: email+password login, sessions, server-side auth |
ae63e14 | 2026-06-07 15:55 | eBay: thread userId through lots /upload-image too (same regression) |
92f138d | 2026-06-07 15:52 | Fix eBay listing image upload: thread userId through /submit (regression) |
0c2a11f | 2026-06-07 15:17 | Binder vs Marketplace: per-card destination tags (no more doubling) |
96acd67 | 2026-06-07 14:14 | Fix: 'Add to Marketplace' now actually adds cards (was a no-op stub) |
deb76b1 | 2026-06-07 13:44 | Welcome: re-grab name-field focus on first interaction (auth-gate fix) |
70e9a14 | 2026-06-07 13:26 | Welcome: autofocus the name field so you can type immediately |
6441f6f | 2026-06-07 13:20 | eBay: disconnect by default; per-user tokens (no shared env token) |
0c3eba1 | 2026-06-07 12:59 | Marketplace tab: Inventory + Listings + Sales seller cockpit |
a7a0519 | 2026-06-07 11:10 | Binder toolbar: remove Push SKUs + Sync Sales, keep Import right-aligned |
fcd94e3 | 2026-06-07 11:01 | Binder grid: move caption to a label plate below the card (Option 3) |
4d1179a | 2026-06-07 10:45 | Binder: always default to grid view on load |
50385ef | 2026-06-07 10:28 | Analyze: skip auto price-check on initial bulk analysis |
266ce0c | 2026-06-07 10:10 | Binder: add 3x3 grid view (default) + table fill/resize fix |
0d9b7dd | 2026-06-07 01:04 | Binder table: scrap auto-layout+resize experiment, back to locked 8c76503 |
a17eff7 | 2026-06-07 01:02 | Binder table: 8c76503 auto-layout + wrap, with simple resizable columns |
e5b8dc1 | 2026-06-07 00:54 | Binder table: adopt 8c76503 (auto layout + text wrap) — user-verified fill |
dfa7ee0 | 2026-06-07 00:51 | Add version-history browser (/versions + /preview routes) and header link |
a94330d | 2026-06-07 00:29 | Binder table: restore the working fill version (revert layout experiments) |
d0ca975 | 2026-06-07 00:16 | Binder table: remove min-width:1400 — the real cause of the black space |
44589cf | 2026-06-07 00:02 | Binder columns: use canonical default proportions for percentage widths |
6d9b9fb | 2026-06-06 23:58 | Binder table: percentage column widths for browser-independent exact fill |
731e472 | 2026-06-06 23:52 | Binder table: revert to approved fixed+min-width fill, lock columns, keep wrap |
8c76503 | 2026-06-06 23:47 | Binder table: switch to auto layout + text wrap for browser-consistent fill |
c6a596e | 2026-06-06 23:43 | Binder columns: absorb rounding delta both ways (kill 1px overflow scrollbar) |
a4824d9 | 2026-06-06 23:39 | Binder table: pin columns to window width with conserving boundary resize |
2778a83 | 2026-06-06 23:27 | Binder table: match main's fill model (min-width + width:100%, no JS scaling) |
ddf91f1 | 2026-06-06 22:37 | Binder columns: synchronous refit in ResizeObserver (no frame lag) |
5889b0b | 2026-06-06 22:32 | Binder columns: ResizeObserver re-fits columns on any wrapper size change |
0ecaea3 | 2026-06-06 22:28 | Binder columns: add 2px rounding guard to prevent phantom scrollbar |
26ba859 | 2026-06-06 22:26 | Binder table: fit-to-width columns, bold headers, centered cells, edit-rail fixes |
dd2b4b6 | 2026-06-06 21:57 | Fix wide-viewport dead space in binder pivot table |
0126d2d | 2026-06-06 19:14 | fix wide-viewport dead space: add spacer col that absorbs remaining width |
9efaa46 | 2026-06-06 17:09 | heal corrupted colWidths: reset any column < 40px to its default on load |
d6b2462 | 2026-06-06 16:58 | revert: restore width:100% on pivot-tbl; max-content breaks table-layout:fixed |
ff725ab | 2026-06-06 16:53 | remove min-width:1500px; table sizes to natural column widths |
493d596 | 2026-06-06 16:51 | center table horizontally; no dead space on wide viewports |
5401d6e | 2026-06-06 16:41 | add column borders alongside banded rows |
928855e | 2026-06-06 16:39 | replace column separators with banded rows |
88af15d | 2026-06-06 16:36 | add vertical column separators to table rows |
ec5a42e | 2026-06-06 16:33 | fix col-resizer: move handle to left edge of each th, resize previous column |
48494a6 | 2026-06-06 16:24 | fix: move pth-actions to left side of column headers so sort/filter icons are visually inside their own column |
f276978 | 2026-06-06 15:48 | fix: clear filter inputs on load to prevent browser-restored values from silently activating filters |
894ff22 | 2026-06-06 15:40 | fix product filter: autocomplete=off + JS addEventListener fallback; remove yellow sort-arrow hover color |
29e814c | 2026-06-06 14:53 | fix sort: remove stopPropagation from pth-sort; remove title tooltip; fix yellow border on hover |
c46b27a | 2026-06-06 09:56 | sort arrow: stacked ▲▼ half-light on sort direction; remove double separator between ≡ and ↕; fix fullscreen black space; rebalance column widths |
36f3474 | 2026-06-06 09:45 | fix binder expand: skip detail rows in filterInventoryRows so display:none is not overwritten |
2c814a0 | 2026-06-06 09:41 | fix binder expand mismatch: always render rows closed, restore expanded state post-render |
3375d9f | 2026-06-06 09:33 | fix sort arrow height bug, expand state mismatch, add date acquired field, hide eBay buttons from binder rows |
e4658b2 | 2026-06-05 23:41 | binder: ▸ expand left-side, hide SKU col+header, remove link button, fix colgroup, sort+expand properly isolated |
da4e009 | 2026-06-05 23:31 | binder headers: filter=full label, ≡+↕ pinned right; ▸ expand in actions area with detail row (Acquired·Comp·Serial·Notes) |
8955dca | 2026-06-05 23:24 | rebalance header zones: ≡ fixed 18px, sort label flex-grows, filter fixed 60px |
8dddb8a | 2026-06-05 23:21 | binder headers: 3-zone layout (≡ bulk edit | ↕ sort label | filter input), field manager restored |
e34ac33 | 2026-06-05 23:16 | binder headers ARE the filters: single input per column, placeholder = column name, bold weight |
af1684b | 2026-06-05 23:11 | My Binder: inline Excel-style header filters (single row), larger thumbnails, fixed column widths, removed All dropdown |
cce0ad8 | 2026-06-05 23:01 | My Binder: new Find & Replace toolbar + Import button, hide status filters/Fix buttons/Sold/Status columns, Remain→Quantity, larger front-only thumbnails |
0d08a8f | 2026-06-05 22:50 | hide Remove City button (moves to marketplace) |
d70dc33 | 2026-06-05 22:44 | qty editable in row + edit-pane field (top-right), bold Card Details, move analyze/photo strip above thumbnails + remove Skip, dynamic Analyze/Re-analyze label, fix swap |
fe892a3 | 2026-06-05 22:30 | make row-expand arrow prominent (boxed, accent color) |
a7e5c15 | 2026-06-05 22:27 | larger bold field labels in edit pane |
4a104e7 | 2026-06-05 22:22 | expandable session rows: ▸ arrow reveals detail strip (comp, acquired, serial, year, brand, SKU); replaceSessionRow handles dual-row in-place updates |
7da6d42 | 2026-06-05 22:16 | edit pane: hide SKU + eBay Title, Description→Notes (freeform), add Acquisition section (pulled/bought + cost) |
b1ef658 | 2026-06-05 22:01 | single larger front thumbnail with center-zoom crop; tighten columns (fixed player width removes the big gap) |
eba0df4 | 2026-06-05 21:53 | declutter edit row: remove Edit/swap/lock/status cells, whole row clickable to edit, lock moved next to X, tighter brand-product, wider columns |
23c7970 | 2026-06-05 21:47 | Edit Card Details: read-only display columns (Type·Product·Player/Character·Team·Card#·Variation·Qty), click row to edit in left pane; remove eBay price/listing-type cols (moving to marketplace) |
a5caab8 | 2026-06-05 21:26 | start Add-to checkboxes unchecked |
94cff3c | 2026-06-05 21:25 | Add toast distinguishes newly added vs edited (by UID): '1 card added, 1 card edited' |
0b0bf25 | 2026-06-05 21:16 | stable card UID prevents Add duplicates; My Binder count matches binder; clear-from-batch checkbox; nav + default card reflect edit batch not whole binder |
46c4eb1 | 2026-06-05 16:06 | add Marketplace nav button + view (mirrors binder for now); Add→Marketplace navigates there |
1c90ae0 | 2026-06-05 16:00 | header nav active-highlight by view; replace Add to Binder/Marketplace buttons with checkboxes + Add button (both or either) |
ba44f63 | 2026-06-05 15:42 | refactor edit toolbar: drop Analyze All/Descriptions, Price All→Get Comps, Inventory→Add to Binder, List All→Add to Marketplace (placeholder); hide tab bar, add Edit Cards/My Binder/Lots header nav buttons |
9a55fdf | 2026-06-05 14:44 | bump just-analyzed row wash to 0.10 |
286ea1d | 2026-06-05 14:42 | just-analyzed highlight: subtle full-row green wash + bright left bar |
ba056a7 | 2026-06-05 14:38 | add mark-unread test button to re-trigger just-analyzed green highlight |
f9983ef | 2026-06-05 14:34 | header cleanup: remove Fix Photos, add My Binder(N) button; rename Session→Edit Card Details, Inventory→My Binder; clean green to left-bar marker; drop In-inventory disclaimer |
4e675aa | 2026-06-05 14:22 | bolder green just-analyzed highlight with left bar; restore app mode (Upload Cards button) after analyze/upload |
8ded4b5 | 2026-06-05 14:09 | fix analyzed cards missing from session panel (guarantee batch id); add green just-analyzed row highlight that clears when card is opened |
70dcc5b | 2026-06-05 13:17 | fix checkServer crashing on removed serverDot element — caused false server-offline |
a7bb4db | 2026-06-05 13:09 | rename Change Folder to Upload Cards, point at fresh-batch flow |
f11ce61 | 2026-06-05 13:06 | persist active tab across refresh; don't restore committed batch over app (fixes picker CTA bleed) |
f562133 | 2026-06-05 11:59 | batch survives page refresh: upload on drop, persist server paths to localStorage, reconstruct on load; cleaner swap-all button |
062e87d | 2026-06-05 11:35 | rename Cancel to Discard on review footer, Swap All to Swap All Fronts & Backs with text wrap |
0aaed06 | 2026-06-05 11:21 | back button yellow with Back to Upload copy, Analyze Selected green, tutorial replica matches |
dd1185a | 2026-06-05 11:14 | larger pair thumbnails, split Select button into Photos/Folder dropdown |
6f7a79b | 2026-06-04 23:30 | add Preview button to return to batch from Upload More drop zone |
c115a9a | 2026-06-04 23:24 | two-state picker: drop mode vs batch preview with Upload More, Confirm always present, Card Binder spacing throughout |
c044c96 | 2026-06-04 22:55 | split tutorial subtitle into headline + supporting note |
a5b0f59 | 2026-06-04 22:53 | tutorial copy polish: Card Binder spacing, remove emoji, minutes, optional entry, cleaner footer |
2d57f9d | 2026-06-04 22:44 | add first-run tutorial modal with live button replicas, rename picker button to Confirm (green), tutorial in user menu |
360ddac | 2026-06-04 16:08 | add reassurance hint line to drop zone empty state |
beba984 | 2026-06-04 15:30 | bigger drop zone fills screen, add Go to Inventory button |
01422b7 | 2026-06-04 15:24 | picker screen redesign: welcome message, combined file button, hide header in picker mode, Go To Inventory tab |
59ea78c | 2026-06-04 15:10 | collapse header buttons into user menu dropdown |
408bf90 | 2026-06-04 14:59 | Layer 1 typography: Inter font, modernize labels away from DM Mono uppercase |
dcc32b3 | 2026-06-04 14:50 | replace descriptions spinner with circular progress ring and green checkmark |
15a99fb | 2026-06-04 14:46 | keep cards in session after Add to Inventory, only clear on new batch |
2676e1d | 2026-06-04 14:36 | require explicit selection for Inventory button, fix mass-clear bug |
295c352 | 2026-06-04 14:24 | fix row resize on checkbox, descriptions done feedback, sel-bar layout shift |
9d6f916 | 2026-06-04 13:28 | ensure sessionBatchId set on analyze/addToInventory so cards appear in session tab |
d7742b3 | 2026-06-04 12:57 | skip folder path check on hosted, fix Open Lister flow |
aa1f30b | 2026-06-04 12:43 | unlock eBay UI for connected users, wire userId through all eBay calls |
a12ed63 | 2026-06-04 12:37 | fix button styling in settings modal |
4a538d8 | 2026-06-04 12:25 | eBay OAuth flow - per-user connect/disconnect, token storage, listing endpoints |
b220ff8 | 2026-06-04 11:21 | hide remaining eBay buttons for hosted testers, fix page title |
112086f | 2026-06-03 23:52 | disable auto-restore on load |
e6e96c6 | 2026-06-03 23:17 | local = full eBay + no name prompt, hosted = tester mode |
15af112 | 2026-06-03 23:13 | hide folder path on hosted, clean up picker branding |
427bfd5 | 2026-06-03 23:09 | silent server backup restore on load |
6992dc7 | 2026-06-03 22:56 | per-user inventory, welcome screen, CardBinder branding |
20bda6e | 2026-06-03 22:47 | auto-detect API URL for hosted vs local |
e193356 | 2026-06-03 21:56 | initial commit |