Skip to content

release: pin Flutter picker to runtime 0.70.0 - #6

Merged
pietechsolution merged 1 commit into
mainfrom
release/runtime-0.70.0
Aug 27, 2026
Merged

release: pin Flutter picker to runtime 0.70.0#6
pietechsolution merged 1 commit into
mainfrom
release/runtime-0.70.0

Conversation

@pietechsolution

Copy link
Copy Markdown
Contributor

Moves production views onto https://cdn.seatlayer.io/seatlayer-js@0.70.0/mobile.html and takes the package to 0.3.0-dev.4.

What changed

Hosted runtime pin only:

  • lib/src/seat_layer_configuration.dartseatLayerHostedWebVersion 0.68.10.70.0, seatLayerSdkVersion0.3.0-dev.4
  • pubspec.yamlversion: 0.3.0-dev.4
  • test/payloads_test.dart — the assertion that pins the hosted version
  • README.md — "Runtime 0.68" → "Runtime 0.70"
  • CHANGELOG.md — new 0.3.0-dev.4 entry

seatLayerMobilePageUrl and .github/workflows/publish.yml need 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.dart hashes the actual bytes of assets/seatlayer.js against seatLayerBundledRuntimeSha256 and seatLayerBundledRuntimeByteLength, 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 requiredPickerCapabilities check 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.html200; mobile-bootstrap.js and seatlayer-buyer.js200
  • release.jsonversion: "0.70.0", promotable: true
  • The served bundle advertises protocol:{min:1,max:2}, which intersects SeatLayerBridgeProfile.picker()'s pinned 2..2 → agrees on protocol 2
  • All 12 capabilities SeatLayerBridgeProfile.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-v1
  • Replayed the publish.yml release gate locally against the live CDN — the version it derives from the constant matches release.json, and mobile.html serves

Checks

  • flutter analyze — no issues
  • flutter test134/134 pass

https://claude.ai/code/session_01WR6oUPcisS5XXdMbm2NDMS

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
pietechsolution merged commit 7bb8113 into main Aug 27, 2026
1 check passed
@pietechsolution
pietechsolution deleted the release/runtime-0.70.0 branch August 27, 2026 11:18
pietechsolution added a commit that referenced this pull request Aug 28, 2026
release: pin Flutter picker to runtime 0.70.0
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