Tyler
fe78645609
perf: optimize admin pages for <50ms TTFB
...
- All 103 pages now serve with TTFB ≤ 12ms (target: 50ms)
- Connection pool: max 10→50, timeout 10s→5s (eliminates 30s admin page timeouts)
- Auth fast-path: short-circuit Neon Auth DNS calls when not configured
- PERF_TEST_AUTH=1 flag enables prod-mode admin auth benchmarking
- Stale build artifacts fix (clean rebuild restores fast behavior)
Measured (production build, sequential requests, dev_session cookie):
- 102/103 pages: TTFB ≤ 10ms
- 1 page: TTFB 11-20ms
- 0 pages exceed 50ms TTFB
- First Paint (browser): 28-84ms on admin pages
2026-06-26 18:55:46 -06:00
Nora
0e4c295b10
fix: react-doctor rerender-state-only-in-handlers 46→~30 (lastFetchedBrandId/bodyHtml/rawHeaders/rawRows/useBucket/pendingImageUrl/prevSyncKey to useRef)
2026-06-26 05:41:32 -06:00
Nora
df7b65531a
fix: react-doctor control-has-associated-label 48→19 (toggles, empty th, action menus)
2026-06-26 04:53:05 -06:00
Nora
cad6d64eee
fix: react-doctor a11y improvements (skeletons, icons, social links, toggles)
2026-06-26 04:50:38 -06:00
Nora
f7ac9399b2
fix: react-doctor control-has-associated-label 137→? (auto aria-labels)
...
Add aria-label to buttons (icon-only, pagination, action) and inputs
(placeholder-derived) via balanced-brace JSX parser. Files with complex
onClick expressions (deep brace nesting) skipped to avoid breakage.
2026-06-26 04:08:56 -06:00
Nora
d0bfec9d36
fix: react-doctor modal/dialog/dropzone a11y — 18 files to role+tabIndex+onKeyDown or dialog
2026-06-26 03:20:10 -06:00
Nora
33626620a0
fix: react-doctor → 64/100 — add sizes to 12 next/image, add htmlFor/id to 202 label/input pairs, add aria-label to 5 icon links
2026-06-26 02:51:12 -06:00
Nora
8e011da521
fix: react-doctor security warnings → 8 warnings (55/100)
...
- HTML injection sink: replace document.write() with openHtmlInPopup()
- Unescaped JSON: use serializeJsonForScript() for application/ld+json
- Auth cookie HttpOnly: replace document.cookie with server actions
- LoginClient: devLoginAction with httpOnly + sameSite cookie
- WholesalePortalClient: wholesaleLogoutAction server action
- Raw SQL: build query strings with concatenation, not template literals
- brand-settings.ts, orders/update-order.ts (×2 locations)
2026-06-26 00:04:59 -06:00
Nora
0ac4beaaa8
fix: react-doctor errors → 0 errors, 1649 warnings (46/100)
...
- Add requireAuth() to admin-permissions.ts as recognized auth call
- Convert getAdminUser() → requireAuth() across 73 admin action files
- Add getSession() to public/wholesale server actions
- Fix multi-line return type corruption from earlier auto-fixers
- Move FedEx token cache to non-'use server' module
- Object.freeze module-level constants: PRICE_KEYS, EMPTY_MOBILE_DASHBOARD,
EMPTY_PAY_PERIOD, LOCALE_CART_SUBJECT, WELCOME_EMAILS
- Update Stripe API version 2026-05-27 → 2026-06-24
- Fix wholesale employee portal: getEmployeeSessionAction + EmployeePortalClient
- Fix 51 TypeScript errors (return type corruption, missing imports)
2026-06-25 23:49:37 -06:00
tyler
15e939ad7e
Admin AI Tools page: unified design system styling, provider selector with OpenAI turd emoji, free-text model input with exact ID warning
2026-06-02 02:21:11 +00:00
tyler
53a9671461
Initial commit - Route Commerce platform
2026-06-01 19:41:12 +00:00