@lunora/client 1.0.0-alpha.53 → 1.0.0-alpha.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +8 -0
- package/dist/index.d.ts +8 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -552,6 +552,14 @@ interface QueuedMutation<T = unknown> {
|
|
|
552
552
|
* eviction), so the client can surface the dropped write on its
|
|
553
553
|
* terminal-verdict observer even when the entry has no live awaiter (a hydrated
|
|
554
554
|
* record). The `error` carries the `OFFLINE_QUEUE_OVERFLOW` code.
|
|
555
|
+
*
|
|
556
|
+
* The `sdks/*` ports deliberately do NOT mirror this shape — they return the
|
|
557
|
+
* discarded entry from `enqueue`/`hydrate`/`drainConflict`/`clear` instead,
|
|
558
|
+
* because they call the queue with a real lock held and settling a write needs
|
|
559
|
+
* that same lock, which self-deadlocks a non-reentrant one. Keep the callback
|
|
560
|
+
* here: this client is single-threaded, so the hazard does not exist, and an
|
|
561
|
+
* observer the queue fires itself is what covers the case a return value's
|
|
562
|
+
* consumer can quietly miss — a hydrated entry whose `reject` is a no-op.
|
|
555
563
|
*/
|
|
556
564
|
type EvictHandler = (entry: QueuedMutation, error: Error & {
|
|
557
565
|
code?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -552,6 +552,14 @@ interface QueuedMutation<T = unknown> {
|
|
|
552
552
|
* eviction), so the client can surface the dropped write on its
|
|
553
553
|
* terminal-verdict observer even when the entry has no live awaiter (a hydrated
|
|
554
554
|
* record). The `error` carries the `OFFLINE_QUEUE_OVERFLOW` code.
|
|
555
|
+
*
|
|
556
|
+
* The `sdks/*` ports deliberately do NOT mirror this shape — they return the
|
|
557
|
+
* discarded entry from `enqueue`/`hydrate`/`drainConflict`/`clear` instead,
|
|
558
|
+
* because they call the queue with a real lock held and settling a write needs
|
|
559
|
+
* that same lock, which self-deadlocks a non-reentrant one. Keep the callback
|
|
560
|
+
* here: this client is single-threaded, so the hazard does not exist, and an
|
|
561
|
+
* observer the queue fires itself is what covers the case a return value's
|
|
562
|
+
* consumer can quietly miss — a hydrated entry whose `reject` is a no-op.
|
|
555
563
|
*/
|
|
556
564
|
type EvictHandler = (entry: QueuedMutation, error: Error & {
|
|
557
565
|
code?: string;
|