Add maintainer onboarding documentation
Flutter CI / analyze_and_test (push) Has been cancelled

This commit is contained in:
Rijad Zuzo
2026-07-03 12:44:15 +02:00
parent 5d80af375e
commit d80486b25e
15 changed files with 1273 additions and 28 deletions
+27 -28
View File
@@ -5,44 +5,43 @@ sessions can pick them up without losing context.
## Backlog
### iOS Share Sheet Integration (Deferred)
### iOS Share Sheet Integration Verification
Status: `deferred`
Status: `partially implemented, needs device verification`
Priority: `high` (for real cross-app sharing UX on iPhone/iPad)
Problem
- The app does not appear in the iOS share sheet yet.
- `receive_sharing_intent` is added in Flutter (`pubspec.yaml`), but the iOS
Share Extension target is not configured in the Xcode project.
- The repository now contains native iOS Share Extension and Save Action target
files, and the Xcode project references those targets.
- The remaining work is to verify the end-to-end behavior on real devices and
keep CocoaPods/Xcode target wiring healthy as dependencies change.
What is missing (current repo state)
- No `ios/Share Extension/` target files in the project
- No Share Extension target configured in `ios/Runner.xcodeproj/project.pbxproj`
- No extension target block in `ios/Podfile`
- No shared App Group capability setup for `Runner` + extension
Current implementation touchpoints
- `ios/Share Extension/`
- `ios/Save Action/`
- `ios/Runner.xcodeproj/project.pbxproj`
- `ios/Runner/Info.plist`
- `lib/features/share_intake/presentation/incoming_share_listener.dart`
Implementation plan (later)
1. Create iOS `Share Extension` target in Xcode.
2. Add/port extension files based on `receive_sharing_intent` example:
- `Share Extension/Info.plist`
- `ShareViewController.swift` (inherits `RSIShareViewController`)
- extension entitlements file
3. Update `ios/Runner/Info.plist` with plugin-required app group / URL scheme
keys.
4. Add extension target to `ios/Podfile` (`target 'Share Extension' do ...`).
5. Enable App Groups in both targets (`Runner` and `Share Extension`) with the
same group id.
6. Verify build phase ordering (`Embed Foundation Extension` before `Thin Binary`)
if needed.
7. Test text sharing from iOS Simulator apps (Notes/Safari).
8. Test real WhatsApp/iMessage sharing on a physical iPhone (simulator is not a
reliable substitute for chat metadata behavior).
Verification plan
1. Run `flutter pub get` and `pod install` from `ios/` when native dependency
versions change.
2. Open the workspace in Xcode and verify Runner, Share Extension, and Save
Action signing/App Group capabilities.
3. Confirm `APP_GROUP_ID` / `CUSTOM_GROUP_ID` resolves consistently for all
targets.
4. Verify build phase ordering (`Embed Foundation Extension` before `Thin Binary`)
if Xcode reports extension embed issues.
5. Test text sharing from iOS Simulator apps such as Notes and Safari.
6. Test real WhatsApp/iMessage sharing on a physical iPhone. Simulator behavior
is not a reliable substitute for chat metadata behavior.
7. Confirm imported shares reach either the review sheet or Share Inbox.
Notes
- The app already has an in-app fallback path for testing ingest logic:
`Settings` -> `Simulate WhatsApp Share`.
- Flutter-side ingest/parsing/inbox routing is implemented; this backlog item is
specifically native iOS share-extension wiring.
- Flutter-side ingest/parsing/inbox routing is implemented. See
`docs/SHARE_INTAKE.md` for the current pipeline.
## Future Ideas (placeholder)