Chess on the ATmosphere checkmate.blue
chess
13
fork

Configure Feed

Select the types of activity you want to include in your feed.

Narrow OAuth scope and switch to Bluesky intent/compose

Replace API-based Bluesky posting with bsky.app/intent/compose links,
removing the need for app.bsky.feed.post write access. Drop the blanket
transition:generic OAuth scope in favor of a custom permission set
(blue.checkmate.authFullAccess) scoped to game and challenge records.
Add logo_uri to client metadata for branded consent screen.

+2
+1
src/lib/oauth.ts
··· 9 9 client_id: 'https://checkmate.blue/oauth/client-metadata.json', 10 10 client_name: 'checkmate.blue', 11 11 client_uri: 'https://checkmate.blue', 12 + logo_uri: 'https://checkmate.blue/icon-512.png', 12 13 redirect_uris: ['https://checkmate.blue/oauth/callback'] as [string], 13 14 scope: SCOPE, 14 15 grant_types: ['authorization_code', 'refresh_token'] as ['authorization_code', 'refresh_token'],
+1
src/routes/oauth/client-metadata.json/+server.ts
··· 7 7 client_id: 'https://checkmate.blue/oauth/client-metadata.json', 8 8 client_name: 'checkmate.blue', 9 9 client_uri: 'https://checkmate.blue', 10 + logo_uri: 'https://checkmate.blue/icon-512.png', 10 11 redirect_uris: ['https://checkmate.blue/oauth/callback'], 11 12 scope: 'atproto include:blue.checkmate.authFullAccess', 12 13 grant_types: ['authorization_code', 'refresh_token'],