@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.2 → 5.0.0-beta.21

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.
Files changed (56) hide show
  1. package/config.schema.json +24 -0
  2. package/dist/account/temporary-authentication.js +3 -1
  3. package/dist/account/temporary-authentication.js.map +1 -1
  4. package/dist/configuration.js +36 -2
  5. package/dist/configuration.js.map +1 -1
  6. package/dist/device/member-evidence.js +10 -3
  7. package/dist/device/member-evidence.js.map +1 -1
  8. package/dist/diagnostics.js +678 -83
  9. package/dist/diagnostics.js.map +1 -1
  10. package/dist/homekit/adapters/camera-streaming.js +54 -26
  11. package/dist/homekit/adapters/camera-streaming.js.map +1 -1
  12. package/dist/homekit/adapters/lock.js +45 -16
  13. package/dist/homekit/adapters/lock.js.map +1 -1
  14. package/dist/homekit/adapters/motion.js +1 -1
  15. package/dist/homekit/adapters/motion.js.map +1 -1
  16. package/dist/homekit/adapters/package-sensor.js +63 -0
  17. package/dist/homekit/adapters/package-sensor.js.map +1 -0
  18. package/dist/homekit/adapters/registry.js +2 -0
  19. package/dist/homekit/adapters/registry.js.map +1 -1
  20. package/dist/homekit/adapters/security-system.js +101 -45
  21. package/dist/homekit/adapters/security-system.js.map +1 -1
  22. package/dist/homekit/coverage-matrix.js +1 -3
  23. package/dist/homekit/coverage-matrix.js.map +1 -1
  24. package/dist/homekit/reconciler.js +17 -4
  25. package/dist/homekit/reconciler.js.map +1 -1
  26. package/dist/media/last-successful-image.js +5 -3
  27. package/dist/media/last-successful-image.js.map +1 -1
  28. package/dist/media/live-stream.js +109 -59
  29. package/dist/media/live-stream.js.map +1 -1
  30. package/dist/media/recording.js +7 -5
  31. package/dist/media/recording.js.map +1 -1
  32. package/dist/media/snapshot.js +13 -6
  33. package/dist/media/snapshot.js.map +1 -1
  34. package/dist/media/station-live-sessions.js +47 -43
  35. package/dist/media/station-live-sessions.js.map +1 -1
  36. package/dist/platform.js +25 -5
  37. package/dist/platform.js.map +1 -1
  38. package/dist/runtime/channel.js +6 -2
  39. package/dist/runtime/channel.js.map +1 -1
  40. package/dist/runtime/owner.js +3 -0
  41. package/dist/runtime/owner.js.map +1 -1
  42. package/dist/runtime/sdk-client.js +7 -4
  43. package/dist/runtime/sdk-client.js.map +1 -1
  44. package/dist/ui/dashboard.js +32 -14
  45. package/dist/ui/dashboard.js.map +1 -1
  46. package/dist/ui/server.js +27 -4
  47. package/dist/ui/server.js.map +1 -1
  48. package/homebridge-ui/public/app.css +353 -88
  49. package/homebridge-ui/public/i18n/en.json +110 -78
  50. package/homebridge-ui/public/i18n/fr.json +110 -78
  51. package/homebridge-ui/public/index.html +95 -106
  52. package/homebridge-ui/public/js/app.js +328 -345
  53. package/homebridge-ui/public/js/dashboard.js +139 -10
  54. package/homebridge-ui/public/js/profile-wizard.js +17 -54
  55. package/i18n/runtime/en.json +7 -3
  56. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { LiveStreamStartError } from '@mega-yfue/eufy-sdk';
1
+ import { LiveStreamStartError, StationKeyUnavailableError, StationUnreachableError } from '@mega-yfue/eufy-sdk';
2
2
  import { createSocket } from 'node:dgram';
3
3
  import { execFile, spawn } from 'node:child_process';
4
4
  import { setTimeout as delay } from 'node:timers/promises';
@@ -34,7 +34,18 @@ function canCode(running, announced) {
34
34
  */
35
35
  const MAX_SOURCE_INPUT_REPLACEMENTS = 3;
36
36
  const INITIAL_RTCP_GRACE_MS = 15_000;
37
- const SOURCE_ACQUISITION_DEADLINE_MS = 10_000;
37
+ /**
38
+ * The longest a session waits for the SDK to hand over a source, after which it cancels the acquisition.
39
+ *
40
+ * Reaching a station is inside this wait: an unconnected station is reconnected within it, and a HomeBase
41
+ * resolves its session before it can start one. The bound is therefore above what reaching a station costs and
42
+ * below both {@link SOURCE_START_BACKSTOP_MS} and the window a started request is owed an outcome within, so
43
+ * the acquisition is what this expiry reports.
44
+ *
45
+ * Expiry cancels the acquisition. A station serves one media channel, and an uncancelled acquisition holds it
46
+ * until the SDK's own wait elapses, which refuses every camera behind that station meanwhile.
47
+ */
48
+ const SOURCE_ACQUISITION_DEADLINE_MS = 25_000;
38
49
  const RETURN_AUDIO_BIND_GRACE_MS = 250;
39
50
  /**
40
51
  * Backstop for a started media session that never produces adapted output. The SDK source owns the
@@ -44,6 +55,20 @@ const RETURN_AUDIO_BIND_GRACE_MS = 250;
44
55
  * reports nothing at all.
45
56
  */
46
57
  export const SOURCE_START_BACKSTOP_MS = 30_000;
58
+ /**
59
+ * How far the RTP sequence space is advanced for each adaptation a session sends on, in packets.
60
+ *
61
+ * One session keeps one SSRC and one SRTP key across a replaced adaptation, and the SRTP packet index is built
62
+ * from the sequence number — so a replacement that started where FFmpeg would have, at a random base, is read
63
+ * by the controller as replay half the time and its packets are discarded under a key that still
64
+ * authenticates. Nothing reports it: the controller goes on acknowledging what it received before, so RTCP
65
+ * liveness holds while the picture never advances again.
66
+ *
67
+ * Advancing instead of restarting keeps the index monotonic. The step is well under half the sequence space,
68
+ * which is what keeps the receiver's own index estimate correct across the wrap it eventually crosses; a gap
69
+ * this size reads as loss, which a controller already tolerates.
70
+ */
71
+ const OUTPUT_SEQUENCE_STEP = 4_096;
47
72
  const SOURCE_ACQUISITION_TIMEOUT = Symbol('source-acquisition-timeout');
48
73
  /**
49
74
  * The bounded reason one SDK source failure reports.
@@ -55,8 +80,11 @@ const SOURCE_ACQUISITION_TIMEOUT = Symbol('source-acquisition-timeout');
55
80
  * from a transport that failed.
56
81
  */
57
82
  function sourceFailure(error) {
58
- if (error instanceof Error && error.name === 'StationBusyError') {
59
- return 'station-busy';
83
+ if (error instanceof StationUnreachableError) {
84
+ return 'station-unreachable';
85
+ }
86
+ if (error instanceof StationKeyUnavailableError) {
87
+ return 'station-key-unavailable';
60
88
  }
61
89
  return error instanceof LiveStreamStartError && error.stage === 'audio-only' ? 'source-audio-only' : 'source-error';
62
90
  }
@@ -184,6 +212,13 @@ export class FfmpegLiveMedia {
184
212
  throw error;
185
213
  }
186
214
  let source;
215
+ /**
216
+ * Cancels the source acquisition in flight, and is held for exactly as long as one is.
217
+ *
218
+ * The station's one media channel is held for the whole of an uncancelled acquisition, so a session that
219
+ * ends during one cancels it rather than leaving it to the SDK's own wait.
220
+ */
221
+ let acquiring;
187
222
  let videoProcess;
188
223
  let audioProcess;
189
224
  let returnAudioProcess;
@@ -194,7 +229,6 @@ export class FfmpegLiveMedia {
194
229
  let negotiated;
195
230
  let stopped = false;
196
231
  let receivedVideoKeyframe = false;
197
- let reconfigurationPending = false;
198
232
  /**
199
233
  * The coded configuration the source last announced, and the one the running adaptation was opened for.
200
234
  *
@@ -213,6 +247,13 @@ export class FfmpegLiveMedia {
213
247
  let videoStartBackstop;
214
248
  let videoFailed = false;
215
249
  let rtcpObserved = false;
250
+ /** How many receiver reports this session was acknowledged by, and when the last one arrived. */
251
+ /** Why the video adaptation now running was started, which the record reporting it carries. */
252
+ let videoCause = 'first';
253
+ /** Where the next adaptation this session sends on starts its RTP sequence, advanced for every one. */
254
+ let videoSequence = 0;
255
+ let rtcpReports = 0;
256
+ let lastRtcpAt;
216
257
  let streaming = false;
217
258
  const stoppingProcesses = new WeakSet();
218
259
  const congested = new Set();
@@ -320,33 +361,43 @@ export class FfmpegLiveMedia {
320
361
  return;
321
362
  }
322
363
  stopped = true;
364
+ acquiring?.abort(new Error('live media session stopped'));
323
365
  clearTimeout(rtcpDeadline);
324
366
  clearTimeout(initialRtcpGrace);
325
367
  clearTimeout(videoStartBackstop);
326
368
  stopTalkback();
327
369
  stopProcess(videoProcess);
328
370
  stopProcess(audioProcess);
329
- if (source) {
330
- source.stop();
331
- transport.onSessionReleased?.();
371
+ source?.stop();
372
+ if (negotiated) {
373
+ transport.onSessionReleased?.(videoFailed ? 'failed' : 'requested', {
374
+ reports: rtcpReports,
375
+ ...(lastRtcpAt === undefined ? {} : { sinceLastReportMs: Date.now() - lastRtcpAt }),
376
+ }, ...(source === undefined ? ['sdk-source-acquisition'] : []));
332
377
  }
333
378
  videoPort.close();
334
379
  audioPort?.close();
335
380
  };
336
- const failVideo = (reason) => {
381
+ const failVideo = (reason, error) => {
337
382
  if (stopped || videoFailed) {
338
383
  return;
339
384
  }
340
385
  videoFailed = true;
341
386
  stop();
387
+ const warmUp = error instanceof LiveStreamStartError;
342
388
  const stage = reason === 'source-acquisition-timeout' || source === undefined
343
389
  ? 'sdk-source-acquisition'
344
390
  : reason === 'rtcp-timeout'
345
391
  ? 'controller-rtcp'
346
- : !receivedVideoKeyframe
392
+ : warmUp || !receivedVideoKeyframe
347
393
  ? 'first-source-keyframe'
348
394
  : 'first-adapted-output';
349
- transport.onSessionOutcome?.({ outcome: 'failed', reason, stage });
395
+ transport.onSessionOutcome?.({
396
+ outcome: 'failed',
397
+ reason,
398
+ stage,
399
+ ...(warmUp ? { sourceStage: error.stage, sourceReason: error.reason } : {}),
400
+ });
350
401
  transport.onVideoFailure?.();
351
402
  };
352
403
  /**
@@ -357,6 +408,8 @@ export class FfmpegLiveMedia {
357
408
  */
358
409
  const resetRtcpDeadline = () => {
359
410
  rtcpObserved = true;
411
+ rtcpReports += 1;
412
+ lastRtcpAt = Date.now();
360
413
  clearTimeout(initialRtcpGrace);
361
414
  clearTimeout(rtcpDeadline);
362
415
  if (!streaming) {
@@ -371,13 +424,9 @@ export class FfmpegLiveMedia {
371
424
  * Adaptation reached the negotiated output, so the session is bounded from here by RTCP liveness
372
425
  * rather than by the start backstop. The initial grace is armed from this point because media may
373
426
  * legitimately start well after the session does.
374
- *
375
- * A selection HomeKit has already replaced does not discharge the deadline for its replacement, however
376
- * much it keeps reporting: FFmpeg reports progress on a timer whether or not new media reaches it, so
377
- * only the adaptation that carries the current selection can say that selection is being served.
378
427
  */
379
- const observeAdaptationProgress = (reporter) => {
380
- if (stopped || (reconfigurationPending && reporter === videoProcess)) {
428
+ const observeAdaptationProgress = () => {
429
+ if (stopped) {
381
430
  return;
382
431
  }
383
432
  clearTimeout(videoStartBackstop);
@@ -406,13 +455,12 @@ export class FfmpegLiveMedia {
406
455
  * Writes one source access unit to the adaptation that is entitled to code it.
407
456
  *
408
457
  * A source configuration the running adaptation was not opened for cannot be coded by it at all, so those
409
- * frames wait for the keyframe that lets a replacement start. A reconfigured HomeKit selection changes
410
- * only the output, so the current process keeps coding and keeps the previous selection on the wire until
411
- * that same keyframe arrives; a controller reconfigures precisely when it is unhappy with what it
412
- * receives, and the source is then often the very thing not producing keyframes.
458
+ * frames wait for the keyframe that lets a replacement start.
413
459
  *
414
460
  * Source-driven replacement is bounded by {@link MAX_SOURCE_INPUT_REPLACEMENTS}, past which the session
415
- * fails rather than spawn again. A controller-driven one is not: the controller bounds how often it asks.
461
+ * fails rather than spawn again. It is the only replacement a session makes: a source that changes what it
462
+ * delivers cannot be coded by the running process at all, whereas a controller's renegotiated selection is
463
+ * a request this session declines in favour of the one it started on.
416
464
  */
417
465
  const writeVideo = (frame) => {
418
466
  if (stopped || !negotiated || !videoConfig) {
@@ -428,29 +476,28 @@ export class FfmpegLiveMedia {
428
476
  if (videoProcess && inputChanged && !frame.keyframe) {
429
477
  return;
430
478
  }
431
- if (videoProcess && frame.keyframe && (inputChanged || reconfigurationPending)) {
432
- if (inputChanged) {
433
- sourceInputReplacements += 1;
434
- }
479
+ if (videoProcess && frame.keyframe && inputChanged) {
480
+ sourceInputReplacements += 1;
435
481
  if (sourceInputReplacements > MAX_SOURCE_INPUT_REPLACEMENTS) {
436
482
  failVideo('source-input-unstable');
437
483
  return;
438
484
  }
439
- reconfigurationPending = false;
485
+ videoCause = 'source-configuration';
440
486
  stopProcess(videoProcess);
441
487
  videoProcess = undefined;
442
488
  }
443
489
  if (!videoProcess) {
444
490
  adaptationConfig = videoConfig;
445
- const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video));
491
+ videoSequence = (videoSequence + OUTPUT_SEQUENCE_STEP) & 0xffff;
492
+ const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video, videoSequence));
446
493
  videoProcess = child;
447
- adaptationDiagnostics?.report({ role: 'live-video', event: 'started' });
494
+ adaptationDiagnostics?.report({ role: 'live-video', event: 'started', cause: videoCause });
448
495
  const stderr = new AdaptationStderr();
449
496
  let producedOutput = false;
450
497
  child.stderr.on('data', (chunk) => {
451
498
  if (stderr.observe(chunk).some((line) => line.startsWith('progress='))) {
452
499
  producedOutput = true;
453
- observeAdaptationProgress(child);
500
+ observeAdaptationProgress();
454
501
  }
455
502
  });
456
503
  child.stdin.on('error', () => {
@@ -688,8 +735,10 @@ export class FfmpegLiveMedia {
688
735
  const returnAudioReady = startReturnAudio(camera, selection.audio);
689
736
  let sourcePromise;
690
737
  let acquisitionDeadline;
738
+ const acquisition = new AbortController();
739
+ acquiring = acquisition;
691
740
  try {
692
- sourcePromise = camera.live();
741
+ sourcePromise = camera.live({ signal: acquisition.signal });
693
742
  void sourcePromise.then((lateSource) => {
694
743
  if (stopped && source !== lateSource) {
695
744
  lateSource.stop();
@@ -704,11 +753,13 @@ export class FfmpegLiveMedia {
704
753
  ]);
705
754
  }
706
755
  catch (error) {
707
- failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' : sourceFailure(error));
756
+ acquisition.abort(new Error('live media source acquisition was cancelled'));
757
+ failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' : sourceFailure(error), error);
708
758
  throw error === SOURCE_ACQUISITION_TIMEOUT ? new Error('live media source acquisition timed out') : error;
709
759
  }
710
760
  finally {
711
761
  clearTimeout(acquisitionDeadline);
762
+ acquiring = undefined;
712
763
  }
713
764
  if (stopped) {
714
765
  source.stop();
@@ -724,28 +775,10 @@ export class FfmpegLiveMedia {
724
775
  notice.extend();
725
776
  }
726
777
  });
727
- source.on('error', (error) => failVideo(sourceFailure(error)));
778
+ source.on('error', (error) => failVideo(sourceFailure(error), error));
728
779
  source.on('stop', () => failVideo('source-stopped'));
729
780
  await returnAudioReady;
730
781
  },
731
- /**
732
- * Acknowledges a reconfigured selection and applies it at the next source keyframe.
733
- *
734
- * Nothing is torn down here: the current adaptation keeps the previous selection on the wire until the
735
- * replacement has a keyframe to start from. The deferral is still bounded, because a session that never
736
- * applies the selection HomeKit asked for must end and be renegotiated rather than silently serve the
737
- * old one forever.
738
- */
739
- reconfigure(video) {
740
- if (!negotiated) {
741
- return;
742
- }
743
- negotiated = { ...negotiated, video };
744
- reconfigurationPending = videoProcess !== undefined;
745
- clearTimeout(videoStartBackstop);
746
- videoStartBackstop = setTimeout(() => failVideo('no-video-within-backstop'), SOURCE_START_BACKSTOP_MS);
747
- videoStartBackstop.unref?.();
748
- },
749
782
  stop,
750
783
  };
751
784
  }
@@ -787,12 +820,21 @@ function commonArguments(inputFormat, inputOptions = []) {
787
820
  'pipe:0',
788
821
  ];
789
822
  }
790
- function outputArguments(targetAddress, target, payloadType, ssrc, packetSize) {
823
+ /**
824
+ * The RTP output one adaptation sends on: the controller's endpoint, the identity the session negotiated for
825
+ * it, and where its sequence numbering starts.
826
+ *
827
+ * `sequence` is stated wherever a session may send on more than one adaptation, because the identity and the
828
+ * SRTP key outlive the process: see {@link OUTPUT_SEQUENCE_STEP} for what a restarted numbering costs. An
829
+ * output no replacement can follow omits it and keeps FFmpeg's own base.
830
+ */
831
+ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize, sequence) {
791
832
  return [
792
833
  '-payload_type',
793
834
  String(payloadType),
794
835
  '-ssrc',
795
836
  String(ssrc),
837
+ ...(sequence === undefined ? [] : ['-seq', String(sequence)]),
796
838
  '-f',
797
839
  'rtp',
798
840
  '-srtp_out_suite',
@@ -811,11 +853,19 @@ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize) {
811
853
  * every frame it was given.
812
854
  *
813
855
  * A negotiated frame rate is a CEILING, not a cadence, so the rate is bounded rather than pinned. Pinning it
814
- * makes the encoder duplicate frames the source never sent, and each duplicate costs a full encode and a share
815
- * of the negotiated bit rate for a picture carrying nothing new. Measured on a 1600x1200 doorbell delivering
816
- * about 15 fps against a 30 fps selection: 264 of 267 emitted frames were duplicates and the adaptation ran at
817
- * 0.32x real time, so it fell further behind every second and the session died on its backstop with nothing
818
- * watchable reaching the controller.
856
+ * with `-r` makes the encoder interpolate a cadence a bare Annex-B pipe never states, which collapses a session
857
+ * onto one instant.
858
+ *
859
+ * The output is constant-rate, which fills a gap in arrival with a duplicate of the last picture rather than
860
+ * carrying the gap. A duplicate costs a full encode and a share of the negotiated bit rate for a frame carrying
861
+ * nothing new, and a source over this transport gaps as its normal case: measured on the bundled encoder against
862
+ * a 15 fps arrival stalled 1.5 seconds after every second of media, a constant rate emitted 266 frames of which
863
+ * 146 were duplicates, against 120 frames and none when the arrival timestamps were passed through, at the same
864
+ * 0.90x real time either way. What the duplicates buy is a dense presentation timeline: a controller shown the
865
+ * gaps instead displays a picture that visibly jumps at every one of them.
866
+ *
867
+ * `-fpsmax` states that ceiling for a constant-rate output only, and FFmpeg refuses it beside any other
868
+ * frame-rate mode, so the two cannot be combined.
819
869
  *
820
870
  * A negotiated selection states no refresh cadence, so the keyframe interval is plugin policy: `-g` and
821
871
  * `-keyint_min` are the negotiated rate doubled and scene-cut detection is off, which is a refresh every two
@@ -835,7 +885,7 @@ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize) {
835
885
  * Baseline whatever `-profile:v` asks for. `-tune zerolatency` pins the same `sliced_threads`, `bframes`
836
886
  * and `rc_lookahead` at either preset, so this costs computation rather than frame delay.
837
887
  */
838
- function videoArguments(input, selection, targetAddress, target) {
888
+ function videoArguments(input, selection, targetAddress, target, sequence) {
839
889
  const budget = videoBudgetInsideCeiling(selection);
840
890
  return [
841
891
  ...commonArguments(input.codec === 'h265' ? 'hevc' : input.codec),
@@ -868,7 +918,7 @@ function videoArguments(input, selection, targetAddress, target) {
868
918
  `${budget}k`,
869
919
  '-bufsize',
870
920
  `${budget}k`,
871
- ...outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu),
921
+ ...outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu, sequence),
872
922
  ];
873
923
  }
874
924
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,17 @@
1
+ import { StationKeyUnavailableError, StationUnreachableError } from '@mega-yfue/eufy-sdk';
1
2
  import { spawn } from 'node:child_process';
2
3
  import { AdaptationStderr, PROCESS_STOP_GRACE_MS, SOURCE_START_BACKSTOP_MS, } from './live-stream.js';
3
4
  /**
4
5
  * Why a source stopped producing, as this domain's bounded vocabulary.
5
6
  *
6
- * A station serving another of its cameras is not a fault: a base serves one at a time and the SDK refuses a
7
- * second rather than degrading both, so the recording could not have the station and nothing is broken.
8
- * Naming it apart from a real source error is what lets an operator read the difference, and what stops a
9
- * recording that was simply outranked from looking like a camera that failed.
7
+ * A station names its own failures apart from the camera's: every camera behind a base that did not connect
8
+ * fails together, and a sealed start the station gave no key for does not resolve by retrying.
10
9
  */
11
10
  function sourceFailure(error) {
12
- return error instanceof Error && error.name === 'StationBusyError' ? 'station-busy' : 'source-error';
11
+ if (error instanceof StationUnreachableError) {
12
+ return 'station-unreachable';
13
+ }
14
+ return error instanceof StationKeyUnavailableError ? 'station-key-unavailable' : 'source-error';
13
15
  }
14
16
  /**
15
17
  * How long the adaptation is given to write out what the source already handed it, once the source has
@@ -1 +1 @@
1
- {"version":3,"file":"recording.js","sourceRoot":"","sources":["../../src/media/recording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recording.js","sourceRoot":"","sources":["../../src/media/recording.ts"],"names":[],"mappings":"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"}
@@ -249,13 +249,20 @@ export class SnapshotAcquisition {
249
249
  }
250
250
  throw new TypeError(`unsupported snapshot acquisition mode: ${mode}`);
251
251
  }
252
- /** What a `Refresh` camera can answer with now: its retained image, or the stored acquisition instead. */
252
+ /**
253
+ * What a `Refresh` camera can answer with now: its retained image, or the stored acquisition instead.
254
+ *
255
+ * Every request also offers the stored acquisition to the retained image without waiting for it, so a push
256
+ * thumbnail newer than the retained image replaces it under the rule every other retention follows and
257
+ * answers the next request.
258
+ */
253
259
  async refreshed(scope, source) {
260
+ const stored = this.stored(scope, source);
261
+ stored?.catch(() => undefined);
254
262
  const retained = await this.images?.read(scope.serial);
255
263
  if (retained) {
256
264
  return retained;
257
265
  }
258
- const stored = this.stored(scope, source);
259
266
  if (stored) {
260
267
  return stored;
261
268
  }
@@ -313,10 +320,10 @@ export class SnapshotAcquisition {
313
320
  }
314
321
  const generation = this.retentionGeneration(scope.serial);
315
322
  /**
316
- * A still holds the station while it captures, so a live view opened on a sibling can ask it to yield.
317
- * Yielding aborts the acquisition rather than waiting it out: an abandoned burst that keeps asking for the
318
- * channel is exactly the contention the hold exists to remove, and the last good image answers the request
319
- * in its place.
323
+ * A still holds the station while it captures, so a live view or a recording opened on a sibling can ask it
324
+ * to yield. Yielding aborts the acquisition rather than waiting it out: a capture rides the station's own
325
+ * session, which is exactly the contention the hold exists to remove, and the last good image answers the
326
+ * request in its place.
320
327
  */
321
328
  const abandonment = new AbortController();
322
329
  const releaseStation = scope.stationSn !== undefined