@revenexx/app-sdk@0.7.1
Patch Changes
b046a90: Answer an update with nothing to update with 400, in the data client rather than only in
mountCrud.PostgREST answers a
PATCHwhose body carries no columns with200 [], so the remote adapter'srows[0]wasundefined. The App returned that from its handler and the open-runtimes runtime triedBuffer.from(JSON.stringify(undefined)), which throws a Node type error the App then reported as a 500 — with the raw Node message in the response body. 0.6.0 added the guard tomountCrud, but Apps that route a write themselves (PUT /v1/greetings/{id},PUT /v1/payments/providers/{id}) never went through it, so they kept 500ing. The rule now lives inEntityClient.update, below every routing style.While there: no write path can return
undefinedany more. APATCHthat matched no row is a 404 (the row was deleted or is invisible under RLS) and an insert that returns no representation is a described 5xx, instead of anundefinedthat breaks wherever it is serialised. The PHP runtime mirrors both rules.Patch, not minor:
^0.7.0has to pick this up without every App changing its manifest, and nothing is removed — the changed paths previously produced an unserialisable value or a crash.