Minor Changes
-
727edfb: A detail page can subscribe to its record on the stream:
sse.subscriptions(#2664).For backends that send a record's changes only to the tabs that asked for it.
sse: { url: '/api/events', entities: ['offers'], subscriptions: { url: '/api/events/subscriptions' } }
- A page on
useEntityItemShowPagesendsPOST {session, entity, id}when it shows a record, renews at half of the returnedexpires_in, and sendsDELETEwith the same body when it leaves or shows another record. Lists do not subscribe, nor do entities withlive.refresh: false. sessionis a per-tab id qdadm keeps insessionStorageand appends to the stream URL (sessionParam, defaultsession), so the stream and the subscriptions name the same tab. Do not put your own session parameter insse.url.- Calls go through the kernel's
apiClient, with the app's own auth. A failure never breaks the page; debug mode logs the entity, the id and the status.
Without
sse.subscriptions, nothing changes. - A page on
Patch Changes
- d477b6d: Overlapping reloads no longer put a past state on screen (#2666).
useLiveEntitycalledreloadagain for changes arriving after its coalesce window even while the previous reload was still in flight, so two requests for the same record could run at once. Changes arriving meanwhile now cause exactly one more reload once it settles.useEntityItemPage.load()and the edit form'sload()keep only their latest call: a superseded call writes no data, no error, and does not clearloading. On a detail page an older answer can no longer overwrite a newer one; on an edit form, moving quickly between records can no longer leave the previous record's data in the form.