Main coves client

fix(composer): upgrade Flutter to 3.47.2 to fix tap-extends-selection bug master

Tapping to reposition the cursor in the reply composer on Android selected everything from the cursor to the tap point instead of moving the cursor. Root cause is flutter/flutter#184744: Gboard sends a shift key-up while its meta state still reports shift held, and the 3.38 engine synthesizes a phantom ShiftRight key-down it never releases, so every subsequent tap in any text field is treated as shift+tap. The state is per-process, which is why the reply composer (long-lived poisoned process) felt always-broken while the post body field seemed fine. Fixed upstream in Flutter 3.44+ (PR #185292); verified side-by-side on a physical Samsung device: the 3.38.6 store build reproduces, this build does not. Changes: - Flutter SDK 3.38.6 -> 3.47.2 (installed via Homebrew cask) - Android toolchain minimums required by Flutter 3.47: Gradle wrapper 8.11.1 -> 8.14.3, AGP 8.9.1 -> 8.11.1, Kotlin 2.1.0 -> 2.2.20 - Migrate kotlinOptions{jvmTarget} to the compilerOptions DSL in android/app/build.gradle.kts and android/build.gradle.kts (hard error under KGP 2.2) - sentry_flutter ^8.10.1 -> ^9.6.0 (8.x pins Kotlin language 1.6, which KGP 2.2 no longer compiles); attachViewHierarchy is experimental in 9.x, kept with an ignore comment in main.dart - Flutter-migrator auto-edits: gradle.properties builtInKotlin/newDsl opt-outs, analysis_options build/platform excludes, iOS project updates (FlutterImplicitEngineDelegate plugin registration, scheme/pbxproj), SwiftPM Package.resolved lockfiles - iOS minimum deployment target raised 13.0 -> 15.0 by the migrator; the next store release drops iOS 13/14 devices Note: after this lands, run `flutter clean` before the first `flutter test` on an existing checkout - stale ink_sparkle shader artifacts from the old engine fail ~17 tests with a spurious asset verification error. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EBTcMrcEydtKfo3p46dLLm