ae9fb05f2c
* feat(sync): Google Drive sign-in on Android (Custom Tab OAuth) Add the Android OAuth runner so Drive can be connected on Android, reusing the same provider / token store / connect flow as desktop. - oauthAndroid.ts: runAndroidOAuth wires the DI OAuth flow to a Chrome Custom Tab via the existing authWithCustomTab native bridge (keeps the Tauri Activity foregrounded so the in-flight redirect survives). Headless-unit-tested. - googleDriveConnect: dispatch the platform runner by OS (Android -> Custom Tab, desktop -> system browser deep link). - IntegrationsPanel: show the Google Drive provider row on Android too. - Native (device-verification pending — no Android toolchain in CI): NativeBridgePlugin.kt handleIntent now also resolves the reverse-DNS com.googleusercontent.apps.<id>:/oauthredirect redirect through the same pending invoke as the Supabase callback; a matching BROWSABLE intent-filter added to AndroidManifest.xml (mirrors the tauri.conf.json deep-link scheme). Full suite 6475 green; lint + format clean. The native sign-in needs on-device Android verification before this ships. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(sync): Google Drive sign-in on iOS (ASWebAuthenticationSession OAuth) Add the iOS OAuth runner so the Drive provider connects on iPhone/iPad, mirroring the Android Custom Tab flow. - oauthIos.ts: runIosOAuth drives the shared PKCE flow through authWithSafari, keyed to the client-id-derived reverse-DNS callback scheme so the web-auth session intercepts the redirect. - nativeAuth.ts: AuthRequest gains an optional callbackScheme; the Supabase login keeps the native "readest" default. - googleDriveConnect.ts: resolveOAuthRunner dispatches ios to runIosOAuth. - IntegrationsPanel.tsx: show the Google Drive cloud-sync row on iOS. Native (device-verify pending, no iOS toolchain in CI): - auth_with_safari honors args.callbackScheme (default "readest"). - Info-ios.plist registers the reverse-DNS scheme in CFBundleURLTypes, mirroring the AndroidManifest gdrive-oauth filter. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
71 lines
2.1 KiB
Plaintext
71 lines
2.1 KiB
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>CFBundleDevelopmentRegion</key>
|
|
<string>en</string>
|
|
<key>CFBundleLocalizations</key>
|
|
<array>
|
|
<string>en</string>
|
|
<string>ar</string>
|
|
<string>bn</string>
|
|
<string>bo</string>
|
|
<string>de</string>
|
|
<string>el</string>
|
|
<string>es</string>
|
|
<string>fa</string>
|
|
<string>fr</string>
|
|
<string>he</string>
|
|
<string>hi</string>
|
|
<string>hu</string>
|
|
<string>id</string>
|
|
<string>it</string>
|
|
<string>ja</string>
|
|
<string>ko</string>
|
|
<string>ms</string>
|
|
<string>nl</string>
|
|
<string>pl</string>
|
|
<string>pt-PT</string>
|
|
<string>pt-BR</string>
|
|
<string>ro</string>
|
|
<string>ru</string>
|
|
<string>si</string>
|
|
<string>sl</string>
|
|
<string>sv</string>
|
|
<string>ta</string>
|
|
<string>th</string>
|
|
<string>tr</string>
|
|
<string>uk</string>
|
|
<string>uz</string>
|
|
<string>vi</string>
|
|
<string>zh-Hans</string>
|
|
<string>zh-Hant</string>
|
|
</array>
|
|
<key>LSSupportsOpeningDocumentsInPlace</key>
|
|
<true/>
|
|
<key>CFBundleURLTypes</key>
|
|
<array>
|
|
<dict>
|
|
<key>CFBundleURLName</key>
|
|
<string>com.bilingify.readest</string>
|
|
<key>CFBundleURLSchemes</key>
|
|
<array>
|
|
<string>readest</string>
|
|
</array>
|
|
</dict>
|
|
<!-- Google Drive OAuth reverse-DNS redirect (iOS-type client). The
|
|
ASWebAuthenticationSession matches on this scheme; mirrors the
|
|
gdrive-oauth filter in AndroidManifest.xml and the deep-link.mobile
|
|
scheme in tauri.conf.json. -->
|
|
<dict>
|
|
<key>CFBundleURLName</key>
|
|
<string>com.googleusercontent.apps.gdrive-oauth</string>
|
|
<key>CFBundleURLSchemes</key>
|
|
<array>
|
|
<string>com.googleusercontent.apps.209390247301-ctpmep68ppfa56r1b8tr35e4qi4p60kq</string>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</plist>
|