A local Expo module listens to system media sessions (the only way Android exposes other apps' playback, gated by notification access; we never read notifications). It filters to known music apps, debounces and deduplicates changes, sends a heartbeat while playing, and delivers reports through WorkManager so they survive the app being closed. - One-screen onboarding that doubles as Google Play's prominent disclosure, opening straight to the app's toggle in Android settings - Only media notifications are pre-ticked on that settings screen - Device registration is single-flight (several screens react to the same permission change) and self-heals if the server revokes a token - Sign-out revokes the phone's token; resuming sharing re-sends the current track immediately - Pause controls in Settings and on the feed - Fix invisible tab icons and labels on Android - Keep Metro out of build output so it doesn't exhaust file watchers Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MzFywujuH9TiuXbr9vjoX8
53 lines
679 B
Plaintext
53 lines
679 B
Plaintext
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
|
|
|
|
# dependencies
|
|
node_modules/
|
|
|
|
# Expo
|
|
.expo/
|
|
dist/
|
|
web-build/
|
|
expo-env.d.ts
|
|
|
|
# Native
|
|
.kotlin/
|
|
*.orig.*
|
|
*.jks
|
|
*.p8
|
|
*.p12
|
|
*.key
|
|
*.mobileprovision
|
|
|
|
# Metro
|
|
.metro-health-check*
|
|
|
|
# debug
|
|
npm-debug.*
|
|
yarn-debug.*
|
|
yarn-error.*
|
|
|
|
# macOS
|
|
.DS_Store
|
|
*.pem
|
|
|
|
# local env files
|
|
.env*.local
|
|
|
|
# typescript
|
|
*.tsbuildinfo
|
|
|
|
example
|
|
|
|
# generated native folders
|
|
/ios
|
|
/android
|
|
|
|
# Generated by `expo prebuild` (Continuous Native Generation); configure via app.json instead
|
|
/android
|
|
/ios
|
|
|
|
# Gradle output inside local native modules
|
|
/modules/*/android/build
|
|
/modules/*/android/.gradle
|
|
/modules/*/android/.cxx
|