Context
The WASM CI job (flutter test --platform chrome --wasm) was disabled in #1110 because idb_shim 2.8.1, a transitive dependency of sembast_web released on 2026-01-22, causes WASM tests to hang during initialization.
- Last passing CI run: 2026-01-21 (resolved
idb_shim 2.8.0)
- First failing CI run: 2026-01-23 (resolved
idb_shim 2.8.1)
- idb_shim 2.8.1 change: added "JDB implementation files from sembast_web", which appears to have introduced a WASM regression
Since pubspec.lock is not tracked in git, CI resolves fresh dependencies on every run and there is no way to pin the transitive dependency without dependency_overrides.
What was done
- Commented out the WASM matrix entry in
.github/workflows/ci.yml
- Added
@TestOn('vm') to test files that use platform plugins incompatible with WASM (shared_preferences, connectivity_plus)
- Added a WASM smoke test (
wasm_compatibility_test.dart) that avoids platform plugins
What needs to happen to re-enable
- Verify that
idb_shim has released a fix for the WASM regression
- Uncomment the WASM matrix entry in
.github/workflows/ci.yml
- Re-add the conditional WASM test step:
- name: Run tests (WASM)
if: ${{ matrix.wasm }}
run: (cd packages/flutter && flutter test --platform chrome --wasm)
- Add back the
!matrix.wasm condition to the regular test step and coverage steps
- Confirm CI passes with WASM enabled
Related
Context
The WASM CI job (
flutter test --platform chrome --wasm) was disabled in #1110 becauseidb_shim2.8.1, a transitive dependency ofsembast_webreleased on 2026-01-22, causes WASM tests to hang during initialization.idb_shim2.8.0)idb_shim2.8.1)Since
pubspec.lockis not tracked in git, CI resolves fresh dependencies on every run and there is no way to pin the transitive dependency withoutdependency_overrides.What was done
.github/workflows/ci.yml@TestOn('vm')to test files that use platform plugins incompatible with WASM (shared_preferences,connectivity_plus)wasm_compatibility_test.dart) that avoids platform pluginsWhat needs to happen to re-enable
idb_shimhas released a fix for the WASM regression.github/workflows/ci.yml!matrix.wasmcondition to the regular test step and coverage stepsRelated