Open source contributions
Merged pull requests to Flutter and the packages used in production apps. Detailed write-ups: open-source-contributions.
flutter/flutter · web engine
Flutter framework and engine repository · Dart, Web Merged
Fixed still AVIF images failing to decode on Chrome (flutter/flutter#160600, open since 2024) in both the CanvasKit and Skwasm renderers.
- Traced the failure to
ImageDecoder being created with preferAnimation: true, which Chrome rejects for still AVIF images; without it, animated GIF, WebP and AVIF keep their frame counts
- Compared all 141 GIF, WebP, AVIF, PNG and JPEG test images from Skia's resources under both settings before changing the default
- Added four tests covering still and animated AVIF, decoded from bytes and through the URL streaming path
Flutter webCanvasKit · SkwasmImageDecoder
flutter/packages · image_picker_ios
Official Flutter team repository · Objective-C, Swift Testing Merged · shipped in 0.8.13+10
Fixed a long-standing iOS bug (flutter/flutter#132154, open since 2023) where picking an image that UIImage cannot decode, such as AVIF, left the picker hanging or was treated as a successful save.
- The operation now completes with the existing
invalid_image error instead of continuing with a nil image
- Added a regression test that checks no path is returned and the
NSOperation finishes
- Went through the full flutter/packages process: Google CLA, several upstream merge-conflict resolutions, and porting the test to the new Swift Testing suite
image_picker · ~5.9M downloads/moiOSPHPicker
flutter_foreground_task
Background execution plugin · Swift, Objective-C Merged · shipped in v11.0.0
Added iOS Swift Package Manager support to one of the most-used background-execution plugins in Flutter.
- Worked around SPM's no-mixed-language-target rule by isolating a pure-Swift SPM target
- Kept the existing Objective-C + Swift CocoaPods path intact, with zero breaking changes
- Made implicit umbrella-header imports explicit so the module compiles standalone under SPM
~270K downloads/moSPM+1,276 LOC · 24 files
image_gallery_saver_plus
Media plugin · Swift Package Manager Merged
Found and fixed a broken Package.swift that declared a non-existent FlutterFramework dependency, which made SPM resolution fail for every app using the plugin.
- Aligned the iOS deployment target with the podspec
- Brought the manifest in line with Flutter's official plugin SPM template
~151K downloads/moSPM
flutter_jailbreak_detection_plus
Jailbreak and root detection plugin · Swift Merged · shipped in v1.10.8
Added iOS Swift Package Manager support alongside CocoaPods, with no Dart API changes.
- Added a Flutter-style SPM package layout that registers the existing method channel
- Pulled
IOSSecuritySuite in through SwiftPM; CocoaPods files and Android left unchanged
~63K downloads/moSPM
is_lock_screen2
Lock screen detection plugin · Swift Merged · shipped in v2.1.0
Added iOS Swift Package Manager support while keeping CocoaPods, and verified builds on both paths.
SPM+409 / −148 LOC
In review
Maintained packages
Published under the verified pub.dev publisher teddyyeung.is-a.dev.
flutter_jailbreak_guard
Flutter plugin · Android (Kotlin) · iOS (Swift) · v0.2.1
Jailbreak and root detection with Swift Package Manager support. A drop-in replacement for flutter_jailbreak_detection_plus that uses the same detection engines and gives the same results.
- Swift Package Manager and CocoaPods on iOS
- Fail-closed: a missing result reports the device as unsafe
- Android root checks run on a background task queue, off the main thread
- Choice of iOS engine license:
IOSSecuritySuite 1.9.x (BSD-2) or 2.x (EULA)
- Dart unit tests, a Kotlin unit test, and integration tests
FlutterKotlinSwiftSPMSecurity
flutter_mute_plus
Flutter plugin · Android (Kotlin) · iOS (Swift)
Check or toggle the device ringer mode (normal, silent, vibrate). A maintained fork of flutter_mute, whose last release was in 2021 and no longer builds with current toolchains.
- Builds on Android Gradle Plugin 8 and 9
- Compiles on Xcode 16 and later
- Swift Package Manager support, with CocoaPods kept
- Fixes a hanging
openNotificationPolicySettings() call and an SPM compile error in the upstream PR
- Unit and integration tests; drop-in Dart API; 160/160 pub points
FlutterKotlinSwiftSPM