Fixes
🔧 Cline OAuth Token Exchange
- Added
decodeURIComponentbefore base64 decode — fixes "invalid or expired authorization code" when connecting Cline from a LAN IP (e.g. 192.168.x.x) mapTokensnow setsname = firstName + lastNameor falls back toemail
👤 OAuth Account Display Names
- All OAuth flows (exchange, poll, poll-callback) now normalize
name = emailwhen name is missing - Removed sequential "Account N" naming from
db/providers.ts— accounts now use a stable ID-based label when no email is available - Existing accounts in DB already updated to show email as name