Skip to content

v1.4.3

@VistaApps-za VistaApps-za tagged this 26 May 15:23
project as v1.4.2. With v1.4.2's `idempotentReplay` field in place,
Swift's type-checker progressed further and pinned a separate
issue in `Crossdeck.init(options:)`:

The auto-tracked `purchases/sync` failure path's debug-logger call
passed `typed.statusCode as Any` into a `[String: String]` dict
literal. `debugLogger` is typed `(DebugSignal, [String: String]) ->
Void` (Stripe-style structured-payload contract — no `Any` smuggled
through the diagnostic surface). The dict literal rejected the
`Any` cast and emitted two cascading errors.

**Fixed:**

- `Crossdeck.swift:614` — replace `typed.statusCode as Any` with
  `typed.statusCode.map(String.init) ?? "n/a"`. `statusCode` is
  `Int?` — when present we stringify, when absent we emit `"n/a"`
  so the structured key is always populated.

No behavioural change; the debug payload now strictly conforms to
the typed shape the rest of the SDK already uses. Bundled
contracts (`Resources/contracts.json`) regenerated so `bundledIn`
stamps `@cross-deck/swift@1.4.3`.
Assets 2
Loading