Commit Graph

19 Commits

Author SHA1 Message Date
Eric Gullickson
bb4a356b9e Google Maps Bug 2025-11-08 12:17:29 -06:00
Eric Gullickson
8174e0d5f9 Admin User v1 2025-11-05 19:04:06 -06:00
Eric Gullickson
e4e7e32a4f Homepage Improvements 2025-11-05 11:15:33 -06:00
Eric Gullickson
def2494ed7 Replace promise-based auth initialization with polling
The promise-based waitForAuthInit() approach wasn't reliably triggering
React state updates when setAuthInitialized(true) was called. Replace with
a polling mechanism that actively checks isAuthInitialized() every 50ms
with exponential backoff, ensuring state updates trigger properly.

This fixes the hanging "Initializing session..." issue where the auth gate
remained stuck waiting indefinitely.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 19:31:03 -06:00
Eric Gullickson
050f1b030e Enable console debugging and add debug statements
- Enable console logging in vite.config.ts:
  - Set drop_console to false
  - Disabled pure_funcs stripping for console.log
  - Changed esbuild to only drop debugger, keep console

- Add debug logging to auth-gate.ts:
  - Log setAuthInitialized calls

- Add debug logging to useSavedStations.ts:
  - Log hook invocations
  - Log query function execution and results
  - Added retry configuration

- Add debug logging to StationsPage.tsx:
  - Log component renders
  - Log useSavedStations result state

These logs will show us what's happening with auth initialization and
query state transitions that are causing the React DOM removeChild error.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 19:24:20 -06:00
Eric Gullickson
0e8d8e7d5e Fix blank stations page by waiting for auth initialization
- Add useIsAuthInitialized hook to auth-gate for reactive auth state
  - Returns true once auth token is acquired and ready
  - Waits for waitForAuthInit() promise to resolve

- Update useSavedStations hook to wait for auth before fetching
  - Add 'enabled: isAuthInitialized' to useQuery config
  - Prevents 401 errors from requests made before token is ready
  - Fixes race condition where hook fires before interceptor is set up

The stations page was blank because useSavedStations() made an API call
with refetchOnMount:true before the auth token interceptor was added,
causing a 401 response that made the component unmount/remount, creating
a React DOM error in the error boundary.

Now the hook waits for isAuthInitialized to be true before making the
initial API call, ensuring the token interceptor is ready.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 19:15:03 -06:00
Eric Gullickson
5dc58d73b9 Gas Station Feature 2025-11-04 18:46:46 -06:00
Eric Gullickson
cde14f2766 URL Fix 2025-11-01 22:01:18 -05:00
Eric Gullickson
775a1ff69e Added Documents Feature 2025-09-28 20:35:46 -05:00
Eric Gullickson
2e1b588270 UX Improvements 2025-09-26 14:45:03 -05:00
Eric Gullickson
82c66dafed Fixed mobile form 2025-09-25 14:21:23 -05:00
Eric Gullickson
8fd7973656 Fix Auth Errors 2025-09-22 10:27:10 -05:00
Eric Gullickson
3588372cef Mobile Work 2025-09-19 11:33:31 -05:00
Eric Gullickson
040da4c759 k8s redesign complete 2025-09-18 22:44:30 -05:00
Eric Gullickson
17d27f4b92 k8s improvement 2025-09-17 20:47:42 -05:00
Eric Gullickson
a052040e3a Initial Commit 2025-09-17 16:09:15 -05:00
Eric Gullickson
0cdb9803de Updated frameworks. 2025-08-25 12:40:27 -05:00
Eric Gullickson
698db0ed4c Working React 19 before Compiler integration
🚀 Phase 2 Complete - React 19 Foundation
- React upgraded: 18.2.0 → 19.0.0 
- MUI upgraded: 5 → 6 
- React Router upgraded: 6 → 7 
- All packages updated and working 
- Production build: 995KB bundle 
- All containers working 

Ready for Phase 3: React Compiler integration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 16:46:31 -05:00
Eric Gullickson
8f5117a4e2 MVP Build 2025-08-09 12:47:15 -05:00