BillTracker/client/pages
null 0e6f04c7bc feat(settings): sign out of other devices (plan Tier 7)
- New POST /auth/logout-others keeps the current session and invalidates all
  others (invalidateOtherSessions with the current session id), writes a
  logout.others audit entry, and returns the count ended.
- api.logoutOthers(); a "Sign out of other devices" button in the Login History
  dialog, guarded by an AlertDialog confirmation. On success: toast with the
  count and refetch the history so it collapses to just this device.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 16:05:59 -05:00
..
AboutPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
AdminPage.tsx refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -05:00
AnalyticsPage.tsx refactor(ts): AnalyticsPage → TypeScript (SVG charts + forecast); drop unused Skeleton import 2026-07-04 22:48:28 -05:00
BankTransactionsPage.tsx refactor(ts): type the bank-ledger API responses (Track C) 2026-07-05 12:02:28 -05:00
BillsPage.tsx perf(ui): useDeferredValue on the Bills + Subscriptions search filters (Phase 2 stack leverage) 2026-07-05 13:16:21 -05:00
CalendarPage.tsx feat(settings): first day of week (plan Tier 3) 2026-07-05 15:57:35 -05:00
CategoriesPage.tsx refactor(ts): CategoriesPage → TypeScript (category list + drag-reorder + expand) 2026-07-04 22:44:39 -05:00
DataPage.tsx refactor(ts): DataPage → TypeScript (section routing + data-section orchestration) 2026-07-04 22:21:48 -05:00
HealthPage.tsx refactor(ts): HealthPage → TypeScript + export makeBillDraft's SourceBill return 2026-07-04 22:19:39 -05:00
LoginPage.tsx feat(settings): default landing page (plan Tier 6) 2026-07-05 16:03:01 -05:00
NotFoundPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
PayoffPage.tsx refactor(ts): PayoffPage → TypeScript (debt payoff simulator) 2026-07-04 22:36:24 -05:00
PrivacyPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
ProfilePage.tsx feat(settings): sign out of other devices (plan Tier 7) 2026-07-05 16:05:59 -05:00
ReleaseNotesPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
RoadmapPage.tsx refactor(ts): RoadmapPage → TypeScript (issues board + dev activity log) 2026-07-04 22:25:35 -05:00
SettingsPage.tsx feat(settings): default landing page (plan Tier 6) 2026-07-05 16:03:01 -05:00
SnowballPage.tsx refactor(ts): type snowball projection + settings responses (Track C) 2026-07-05 12:16:03 -05:00
SpendingPage.tsx refactor(client): de-duplicate parseUtc + settingEnabled to lib/utils (plan A2/A3) 2026-07-05 14:38:12 -05:00
StatusPage.tsx refactor(ts): StatusPage → TypeScript (server-health dashboard, loose response shape) 2026-07-04 22:33:15 -05:00
SubscriptionCatalogPage.tsx refactor(ts): convert AdminPage + SubscriptionCatalogPage to TSX (B12) 2026-07-04 20:14:30 -05:00
SubscriptionsPage.tsx perf(ui): useDeferredValue on the Bills + Subscriptions search filters (Phase 2 stack leverage) 2026-07-05 13:16:21 -05:00
SummaryPage.tsx refactor(ts): SummaryPage → TypeScript (React Query summary + drag-reorder expenses) 2026-07-04 22:41:25 -05:00
TrackerPage.tsx feat(tracker): a11y live regions + keyboard-shortcut hint (plan D/C5) 2026-07-05 15:00:16 -05:00