Skip to content

feat(samples): ios 27 support - #1286

Draft
renefloor wants to merge 3 commits into
mainfrom
feat/ios-27-support
Draft

feat(samples): ios 27 support#1286
renefloor wants to merge 3 commits into
mainfrom
feat/ios-27-support

Conversation

@renefloor

@renefloor renefloor commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

🎯 Goal

Compiling dogfooding with latest iOS 27 build.

🛠 Implementation details

Main issue was UIScene migration that was not done in dogfooding app yet: https://docs.flutter.dev/release/breaking-changes/uiscenedelegate

🎨 UI Changes

No UI changes

🧪 Testing

Successful app build: https://github.com/GetStream/stream-video-flutter/actions/runs/29922287294/job/88930505731
Build 2.4.2 (286) in testflight.

☑️Contributor Checklist

General

  • Assigned a person / code owner group (required)
  • Thread with the PR link started in a respective Slack channel (#flutter-team) (required)
  • PR is linked to the GitHub issue it resolves

☑️Reviewer Checklist

  • Sample runs & works
  • UI Changes correct (before & after images)
  • Bugs validated (bugfixes)
  • New feature tested and works
  • All code we touched has new or updated Documentation

Summary by CodeRabbit

  • Improvements
    • Updated iOS app startup and plugin initialization for improved compatibility with modern Flutter and iOS lifecycle behavior.
    • Added consistent single-window scene configuration across iOS example apps.
    • Improved support for app links in the dogfooding app.
    • Updated iOS builds to use the latest available Xcode tooling and enforce iOS 15 as the minimum deployment target.

@renefloor
renefloor requested a review from a team as a code owner July 22, 2026 13:48
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 384cc446-26e9-4600-bcd3-30ace7000a11

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The iOS apps adopt Flutter’s implicit engine lifecycle, move plugin and method-channel setup into engine initialization, add single-scene manifests, enforce an iOS 15 deployment target, update app_links, and change the distribution workflow’s Xcode environment.

Changes

iOS lifecycle and build updates

Layer / File(s) Summary
Implicit engine plugin and channel initialization
dogfooding/ios/Runner/AppDelegate.swift, packages/stream_video_*/example/ios/Runner/AppDelegate.swift
App delegates conform to FlutterImplicitEngineDelegate and register plugins during implicit engine initialization; the dogfooding app also creates its method channel from the engine registrar messenger.
Flutter scene manifest configuration
dogfooding/ios/Runner/Info.plist, packages/stream_video_*/example/ios/Runner/Info.plist
Each iOS app defines a single application scene using FlutterSceneDelegate and the Main storyboard.
iOS build compatibility updates
dogfooding/ios/Podfile, dogfooding/pubspec.yaml
The Podfile enforces iOS 15.0 as the minimum deployment target, and app_links is updated from ^6.4.1 to ^7.2.1.
Distribution workflow environment
.github/workflows/app-distribute.yml
The iOS job switches to the xcode-27 runner and selects the latest Xcode version.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant AppDelegate
  participant FlutterImplicitEngineBridge
  participant GeneratedPluginRegistrant
  AppDelegate->>FlutterImplicitEngineBridge: didInitializeImplicitFlutterEngine
  FlutterImplicitEngineBridge->>GeneratedPluginRegistrant: register plugins with pluginRegistry
  FlutterImplicitEngineBridge->>AppDelegate: provide registrar messenger
Loading

Possibly related PRs

Suggested reviewers: brazol

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the main change: iOS 27 support for samples.
Description check ✅ Passed The description follows the template well with goal, implementation, UI, testing, and checklists filled in.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/ios-27-support

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/app-distribute.yml (1)

69-69: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Pin the tested Xcode 27 version.

latest changes the archive toolchain without a repository change; hosted runner images replace prior Xcode patch releases. Pin the exact Xcode 27 build used for TestFlight build 286. (github.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/app-distribute.yml at line 69, Update the xcode-version
setting in the app distribution workflow from "latest" to the exact tested Xcode
27 build used for TestFlight build 286, preserving the existing workflow
structure.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/app-distribute.yml:
- Line 69: Update the xcode-version setting in the app distribution workflow
from "latest" to the exact tested Xcode 27 build used for TestFlight build 286,
preserving the existing workflow structure.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 19ad50e2-69e7-491f-b453-a4e503abe70c

📥 Commits

Reviewing files that changed from the base of the PR and between d0b3a62 and e790824.

⛔ Files ignored due to path filters (1)
  • pubspec.lock is excluded by !**/*.lock
📒 Files selected for processing (11)
  • .github/workflows/app-distribute.yml
  • dogfooding/ios/Podfile
  • dogfooding/ios/Runner/AppDelegate.swift
  • dogfooding/ios/Runner/Info.plist
  • dogfooding/pubspec.yaml
  • packages/stream_video_flutter/example/ios/Runner/AppDelegate.swift
  • packages/stream_video_flutter/example/ios/Runner/Info.plist
  • packages/stream_video_noise_cancellation/example/ios/Runner/AppDelegate.swift
  • packages/stream_video_noise_cancellation/example/ios/Runner/Info.plist
  • packages/stream_video_push_notification/example/ios/Runner/AppDelegate.swift
  • packages/stream_video_push_notification/example/ios/Runner/Info.plist

@renefloor
renefloor marked this pull request as draft July 30, 2026 12:32
@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 11.10%. Comparing base (6f1abed) to head (05ff2ed).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1286      +/-   ##
==========================================
- Coverage   11.17%   11.10%   -0.08%     
==========================================
  Files         686      686              
  Lines       50350    50350              
==========================================
- Hits         5628     5591      -37     
- Misses      44722    44759      +37     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants