Commit graph

7 commits

Author SHA1 Message Date
a1b9a5e46d Add script to mint and upload Forgejo Obtainium release secrets.
Generates a local upload keystore and pushes Actions secrets without printing values, so Obtainium APK builds can be signed on desktop-release.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-30 11:34:44 +02:00
Tommy Chow
cc772a7c90 fix(auth): request moderator OAuth scopes only on opt-in
Stop asking for mod scopes at normal login so existing core-only tokens
never hit a missing-permissions dialog. Gate moderated-channels Helix,
offer an Enable flow for mods/broadcasters, and upgrade atomically.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-09 15:33:06 -07:00
Tommy Chow
9888985deb fix(auth): list missing Twitch scopes in the re-login dialog
Existing tokens lack the newer mod scopes, so Helix 401s looked like a vague permissions failure. Cache scopes from /oauth2/validate and show which ones need re-authorization.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-09 14:48:55 -07:00
Tommy Chow
7a9af238b6 switch token script to implicit flow and fix interceptor hanging Future
The script used authorization code flow (response_type=code) which produces
tokens expiring in ~4 hours, while the app uses implicit flow (~60 days).
Switched the script to implicit flow to match, removing the client_secret
requirement and token exchange step.

Also fixed UnauthorizedInterceptor swallowing 401 errors without calling
handler.reject(), which left Dio request Futures hanging forever.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 20:37:23 -08:00
Tommy Chow
fd4da6a393 replace get-twitch-token bash script with cross-platform Dart script
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:59:31 -08:00
Tommy Chow
aad6b50d81 make token script cross-platform (macOS, Linux, Windows)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:19:40 -08:00
Tommy Chow
09b3b3543b add .env-based config, token script, and VS Code launch configs
Move Twitch credentials from hardcoded launch.json args to a gitignored
.env file read via --dart-define-from-file. Add a shell script to get a
user auth token through the Authorization Code flow for easy emulator
login. Update README with the new setup steps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:09:39 -08:00