release: pin Flutter picker to runtime 0.70.0 - #6
Merged
Conversation
Production views move to https://cdn.seatlayer.io/seatlayer-js@0.70.0/mobile.html. The hosted bundle advertises protocol 1..2 and carries every capability SeatLayerBridgeProfile.picker() requires, so the picker handshake still agrees on protocol 2 and still fails closed if it ever stops doing so. The offline demo/test fixture deliberately stays on 0.68.0. That pin is not a version string but a vendored artifact whose bytes, sha256 and source commit are verified against the checked-in file, so moving it is a re-vendoring change and has nothing to do with which runtime production loads. Package version goes to 0.3.0-dev.4. Claude-Session: https://claude.ai/code/session_01WR6oUPcisS5XXdMbm2NDMS
pietechsolution
added a commit
that referenced
this pull request
Aug 28, 2026
release: pin Flutter picker to runtime 0.70.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves production views onto
https://cdn.seatlayer.io/seatlayer-js@0.70.0/mobile.htmland takes the package to0.3.0-dev.4.What changed
Hosted runtime pin only:
lib/src/seat_layer_configuration.dart—seatLayerHostedWebVersion0.68.1→0.70.0,seatLayerSdkVersion→0.3.0-dev.4pubspec.yaml—version: 0.3.0-dev.4test/payloads_test.dart— the assertion that pins the hosted versionREADME.md— "Runtime 0.68" → "Runtime 0.70"CHANGELOG.md— new0.3.0-dev.4entryseatLayerMobilePageUrland.github/workflows/publish.ymlneed no edit; both derive the version from that one constant.What deliberately did NOT change
The offline demo/test fixture stays on
seatlayer-js@0.68.0. That pin is a vendored artifact, not a version string —test/runtime_asset_test.darthashes the actual bytes ofassets/seatlayer.jsagainstseatLayerBundledRuntimeSha256andseatLayerBundledRuntimeByteLength, so it can only move by re-vendoring the file, which is a separate change from moving production onto a new hosted runtime.That test's
requiredPickerCapabilitiescheck still passes against the profile, so nothing forced the fixture's hand.Verification against the live CDN
curl -sI .../seatlayer-js@0.70.0/mobile.html→ 200;mobile-bootstrap.jsandseatlayer-buyer.js→ 200release.json→version: "0.70.0",promotable: trueprotocol:{min:1,max:2}, which intersectsSeatLayerBridgeProfile.picker()'s pinned2..2→ agrees on protocol 2SeatLayerBridgeProfile.picker()requires are present in the served bundle:picker-session-v2,picker-snapshot-v1,picker-actions-v1,native-picker-chrome-v1,checkout-handoff-v1,checkout-handoff-reject-v1,hold-ownership-v1,cart-line-remove-v1,table-quantity-v1,venue-3d-v1,venue-3d-controls-v1,seat-view-v1publish.ymlrelease gate locally against the live CDN — the version it derives from the constant matchesrelease.json, andmobile.htmlservesChecks
flutter analyze— no issuesflutter test— 134/134 passhttps://claude.ai/code/session_01WR6oUPcisS5XXdMbm2NDMS