refactor: update app initialization for new OAuth flow

Wire up VoteService with the new session getter and auth callbacks
for the backend-delegated OAuth architecture.

Key changes:
- VoteService now uses sessionGetter instead of direct OAuthSession
- Add tokenRefresher callback for automatic 401 recovery
- Add signOutHandler callback for failed refresh cleanup
- Remove OAuthService initialization (deleted)

The new flow ensures votes go through the Coves backend which
has the DPoP keys needed to write to user PDSs.

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

Co-Authored-By: Claude <noreply@anthropic.com>

Changed files
+5 -3
lib
+5 -3
lib/main.dart
··· 34 34 final authProvider = AuthProvider(); 35 35 await authProvider.initialize(); 36 36 37 - // Initialize vote service with auth callbacks for direct PDS writes 38 - // Uses DPoP authentication (not Bearer tokens!) 37 + // Initialize vote service with auth callbacks 38 + // Votes go through the Coves backend (which proxies to PDS with DPoP) 39 + // Includes token refresh and sign-out handlers for automatic 401 recovery 39 40 final voteService = VoteService( 40 41 sessionGetter: () async => authProvider.session, 41 42 didGetter: () => authProvider.did, 42 - pdsUrlGetter: authProvider.getPdsUrl, 43 + tokenRefresher: authProvider.refreshToken, 44 + signOutHandler: authProvider.signOut, 43 45 ); 44 46 45 47 runApp(