github quazardous/qdadm @quazardous/qdadm@2.27.0

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 useEntityItemShowPage sends POST {session, entity, id} when it shows a record, renews at half of the returned expires_in, and sends DELETE with the same body when it leaves or shows another record. Lists do not subscribe, nor do entities with live.refresh: false.
    • session is a per-tab id qdadm keeps in sessionStorage and appends to the stream URL (sessionParam, default session), so the stream and the subscriptions name the same tab. Do not put your own session parameter in sse.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.

Patch Changes

  • d477b6d: Overlapping reloads no longer put a past state on screen (#2666).
    • useLiveEntity called reload again 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's load() keep only their latest call: a superseded call writes no data, no error, and does not clear loading. 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.

Don't miss a new qdadm release

NewReleases is sending notifications on new releases.