react-native-tapline 0.0.0-stage → 1.1.0

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 (88) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -2
  3. package/TaplineNative.podspec +14 -0
  4. package/dist/actions.d.ts +203 -0
  5. package/dist/actions.js +1991 -0
  6. package/dist/actions.js.map +1 -0
  7. package/dist/agent.d.ts +117 -0
  8. package/dist/agent.js +352 -0
  9. package/dist/agent.js.map +1 -0
  10. package/dist/alerts.d.ts +35 -0
  11. package/dist/alerts.js +437 -0
  12. package/dist/alerts.js.map +1 -0
  13. package/dist/awake.d.ts +2 -0
  14. package/dist/awake.js +53 -0
  15. package/dist/awake.js.map +1 -0
  16. package/dist/checks.d.ts +35 -0
  17. package/dist/checks.js +501 -0
  18. package/dist/checks.js.map +1 -0
  19. package/dist/client.d.ts +111 -0
  20. package/dist/client.js +446 -0
  21. package/dist/client.js.map +1 -0
  22. package/dist/commands.d.ts +24 -0
  23. package/dist/commands.js +111 -0
  24. package/dist/commands.js.map +1 -0
  25. package/dist/events.d.ts +5 -0
  26. package/dist/events.js +22 -0
  27. package/dist/events.js.map +1 -0
  28. package/dist/feed.d.ts +117 -0
  29. package/dist/feed.js +440 -0
  30. package/dist/feed.js.map +1 -0
  31. package/dist/fiber.d.ts +43 -0
  32. package/dist/fiber.js +100 -0
  33. package/dist/fiber.js.map +1 -0
  34. package/dist/index.d.ts +50 -0
  35. package/dist/index.js +181 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/inspect.d.ts +249 -0
  38. package/dist/inspect.js +1354 -0
  39. package/dist/inspect.js.map +1 -0
  40. package/dist/keyboard.d.ts +10 -0
  41. package/dist/keyboard.js +63 -0
  42. package/dist/keyboard.js.map +1 -0
  43. package/dist/link.d.ts +21 -0
  44. package/dist/link.js +63 -0
  45. package/dist/link.js.map +1 -0
  46. package/dist/live.d.ts +30 -0
  47. package/dist/live.js +279 -0
  48. package/dist/live.js.map +1 -0
  49. package/dist/logs.d.ts +16 -0
  50. package/dist/logs.js +171 -0
  51. package/dist/logs.js.map +1 -0
  52. package/dist/methods.d.ts +3 -0
  53. package/dist/methods.js +49 -0
  54. package/dist/methods.js.map +1 -0
  55. package/dist/native.d.ts +34 -0
  56. package/dist/native.js +63 -0
  57. package/dist/native.js.map +1 -0
  58. package/dist/network.d.ts +27 -0
  59. package/dist/network.js +238 -0
  60. package/dist/network.js.map +1 -0
  61. package/dist/register.d.ts +24 -0
  62. package/dist/register.js +180 -0
  63. package/dist/register.js.map +1 -0
  64. package/dist/settle.d.ts +27 -0
  65. package/dist/settle.js +70 -0
  66. package/dist/settle.js.map +1 -0
  67. package/dist/source.d.ts +60 -0
  68. package/dist/source.js +214 -0
  69. package/dist/source.js.map +1 -0
  70. package/dist/storage.d.ts +10 -0
  71. package/dist/storage.js +45 -0
  72. package/dist/storage.js.map +1 -0
  73. package/dist/touches.d.ts +15 -0
  74. package/dist/touches.js +89 -0
  75. package/dist/touches.js.map +1 -0
  76. package/dist/types.d.ts +168 -0
  77. package/dist/types.js +32 -0
  78. package/dist/types.js.map +1 -0
  79. package/dist/wait.d.ts +8 -0
  80. package/dist/wait.js +99 -0
  81. package/dist/wait.js.map +1 -0
  82. package/expo-module.config.json +7 -0
  83. package/ios/TaplineNativeModule.swift +79 -0
  84. package/metro.d.ts +26 -0
  85. package/metro.js +146 -0
  86. package/package.json +100 -4
  87. package/register.d.ts +1 -0
  88. package/register.js +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** What is known of the software keyboard: whether it is up, and its top edge in window points. */
2
+ export interface KeyboardState {
3
+ shown: boolean;
4
+ /** The keyboard's top edge, or null when it is down or its frame isn't known. */
5
+ top: number | null;
6
+ }
7
+ /** The keyboard now, or undefined when React Native can't say. */
8
+ export declare function keyboardState(): KeyboardState | undefined;
9
+ /** Replace where the keyboard's state comes from (tests); null restores React Native. */
10
+ export declare function setKeyboardReader(next: (() => KeyboardState | undefined) | null): void;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.keyboardState = keyboardState;
4
+ exports.setKeyboardReader = setKeyboardReader;
5
+ const react_native_1 = require("react-native");
6
+ const types_1 = require("./types");
7
+ let seen = null;
8
+ let listening = false;
9
+ let reader = null;
10
+ function topOf(event) {
11
+ const end = (0, types_1.isRecord)(event) && (0, types_1.isRecord)(event.endCoordinates) ? event.endCoordinates : null;
12
+ return end !== null && typeof end.screenY === 'number' ? end.screenY : null;
13
+ }
14
+ /**
15
+ * Follows the keyboard from the first read on. iOS says where the keyboard goes as it starts to
16
+ * move (`keyboardWill…`), so an answer given while it animates in already knows it is coming;
17
+ * Android only says so once it has moved (`keyboardDid…`).
18
+ */
19
+ function listen() {
20
+ if (listening)
21
+ return;
22
+ listening = true;
23
+ const follow = (name, shown) => {
24
+ react_native_1.Keyboard.addListener(name, (event) => {
25
+ seen = { shown, top: shown ? topOf(event) : null };
26
+ });
27
+ };
28
+ try {
29
+ follow('keyboardWillShow', true);
30
+ follow('keyboardDidShow', true);
31
+ follow('keyboardWillHide', false);
32
+ follow('keyboardDidHide', false);
33
+ }
34
+ catch {
35
+ // React Native can't say; reads fall back to Keyboard.isVisible().
36
+ }
37
+ }
38
+ /** Until the first keyboard event, what React Native itself knows (`Keyboard.isVisible`, `Keyboard.metrics`). */
39
+ function fromReactNative() {
40
+ try {
41
+ const keyboard = react_native_1.Keyboard;
42
+ if (typeof keyboard.isVisible !== 'function')
43
+ return undefined;
44
+ const shown = keyboard.isVisible.call(react_native_1.Keyboard) === true;
45
+ const metrics = shown && typeof keyboard.metrics === 'function' ? keyboard.metrics.call(react_native_1.Keyboard) : undefined;
46
+ return { shown, top: (0, types_1.isRecord)(metrics) && typeof metrics.screenY === 'number' ? metrics.screenY : null };
47
+ }
48
+ catch {
49
+ return undefined;
50
+ }
51
+ }
52
+ /** The keyboard now, or undefined when React Native can't say. */
53
+ function keyboardState() {
54
+ if (reader !== null)
55
+ return reader();
56
+ listen();
57
+ return seen ?? fromReactNative();
58
+ }
59
+ /** Replace where the keyboard's state comes from (tests); null restores React Native. */
60
+ function setKeyboardReader(next) {
61
+ reader = next;
62
+ }
63
+ //# sourceMappingURL=keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":";;AAwDA,sCAIC;AAGD,8CAEC;AAjED,+CAAwC;AACxC,mCAAmC;AASnC,IAAI,IAAI,GAAyB,IAAI,CAAC;AACtC,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,MAAM,GAA6C,IAAI,CAAC;AAE5D,SAAS,KAAK,CAAC,KAAc;IAC3B,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM;IACb,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IACjB,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAAc,EAAQ,EAAE;QACnD,uBAAQ,CAAC,WAA6E,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACtG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED,iHAAiH;AACjH,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,uBAA6E,CAAC;QAC/F,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAQ,CAAC,KAAK,IAAI,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,SAAgB,aAAa;IAC3B,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,EAAE,CAAC;IACrC,MAAM,EAAE,CAAC;IACT,OAAO,IAAI,IAAI,eAAe,EAAE,CAAC;AACnC,CAAC;AAED,yFAAyF;AACzF,SAAgB,iBAAiB,CAAC,IAA8C;IAC9E,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC"}
package/dist/link.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Pairing links, made by the computer (`pair` tool or `tapline pair`):
3
+ * <scheme>://tapline/pair?url=<ws://…>&code=<one-time code>&name=<computer name>
4
+ * <scheme>://tapline/forget
5
+ * For an app running in Expo Go the same links come in Expo Go's form:
6
+ * exp://<host>:<port>/--/tapline/pair?… exp://<host>:<port>/--/tapline/forget
7
+ */
8
+ export type TaplineLink = {
9
+ kind: 'pair';
10
+ url: string;
11
+ code: string;
12
+ name: string;
13
+ } | {
14
+ kind: 'forget';
15
+ };
16
+ /**
17
+ * True for a Tapline pairing or forget link, with or without the scheme (and in Expo Go's
18
+ * `/--/` form). For Expo Router's `redirectSystemPath`, so the router leaves these links to Tapline.
19
+ */
20
+ export declare function isTaplineLink(url: string): boolean;
21
+ export declare function parseTaplineLink(raw: string): TaplineLink | null;
package/dist/link.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTaplineLink = isTaplineLink;
4
+ exports.parseTaplineLink = parseTaplineLink;
5
+ const LINK = /^(?:([a-z][a-z0-9+.-]*):\/\/|(exps?):\/\/[^\s/?#]+\/--\/)tapline\/(pair|forget)\/?(?:\?([^#]*))?(?:#.*)?$/i;
6
+ /**
7
+ * True for a Tapline pairing or forget link, with or without the scheme (and in Expo Go's
8
+ * `/--/` form). For Expo Router's `redirectSystemPath`, so the router leaves these links to Tapline.
9
+ */
10
+ function isTaplineLink(url) {
11
+ return /^(?:[a-z][a-z0-9+.-]*:\/\/|exps?:\/\/[^\s/?#]+\/--\/|\/?--\/|\/)?tapline\/(?:pair|forget)(?:[/?#]|$)/i.test(url.trim());
12
+ }
13
+ function decode(value) {
14
+ try {
15
+ return decodeURIComponent(value.replace(/\+/g, ' '));
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ }
21
+ function parseQuery(query) {
22
+ const params = new Map();
23
+ for (const part of query.split('&')) {
24
+ if (part === '')
25
+ continue;
26
+ const eq = part.indexOf('=');
27
+ const key = decode(eq < 0 ? part : part.slice(0, eq));
28
+ const value = decode(eq < 0 ? '' : part.slice(eq + 1));
29
+ if (key !== null && value !== null && !params.has(key))
30
+ params.set(key, value);
31
+ }
32
+ return params;
33
+ }
34
+ /** Control characters and line breaks become spaces, so a name can't fake extra lines in the prompt. */
35
+ function cleanName(raw) {
36
+ let out = '';
37
+ for (const ch of raw) {
38
+ const c = ch.charCodeAt(0);
39
+ out += c < 0x20 || (c >= 0x7f && c <= 0x9f) || c === 0x2028 || c === 0x2029 ? ' ' : ch;
40
+ }
41
+ return out.replace(/\s+/g, ' ').trim().slice(0, 80);
42
+ }
43
+ function parseTaplineLink(raw) {
44
+ const match = LINK.exec(raw.trim());
45
+ if (match === null)
46
+ return null;
47
+ const [, appScheme, goScheme, kind = '', query = ''] = match;
48
+ const scheme = appScheme ?? goScheme ?? '';
49
+ if (/^https?$/i.test(scheme))
50
+ return null;
51
+ if (kind.toLowerCase() === 'forget')
52
+ return { kind: 'forget' };
53
+ const params = parseQuery(query);
54
+ const url = params.get('url') ?? '';
55
+ const code = params.get('code') ?? '';
56
+ const authority = /^wss?:\/\/([^\s/?#]+)/i.exec(url)?.[1];
57
+ // User info ("ws://100.64.0.1:7210@elsewhere") would hide the real host in the prompt.
58
+ if (authority === undefined || authority.includes('@') || code === '')
59
+ return null;
60
+ const name = cleanName(params.get('name') ?? '');
61
+ return { kind: 'pair', url, code, name: name === '' ? 'a computer' : name };
62
+ }
63
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"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"}
package/dist/live.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ import { type FeedDeps, type FeedStats, type QualityPreset } from './feed';
2
+ /** Whether the host acknowledges frames (from its welcome); resets the count either way. */
3
+ export declare function setFrameAcks(on: boolean): void;
4
+ /** The host received a frame. */
5
+ export declare function onFrameAck(): void;
6
+ /**
7
+ * The adaptive step: one preset down while the link is slow, one up (to at most `chosen`) once it
8
+ * has been quick for a while and the screen is nearly still; else `applied` as it is.
9
+ */
10
+ export declare function nextQuality(applied: QualityPreset, chosen: QualityPreset, link: {
11
+ latencyMs: number;
12
+ sinceChangeMs: number;
13
+ framesLastSecond: number;
14
+ lastMs?: number;
15
+ }): QualityPreset;
16
+ /** Replace parts of what the feed uses (tests). */
17
+ export declare function configureLiveFeed(next: Partial<FeedDeps>): void;
18
+ /**
19
+ * `feed`: { on, quality?, gapMs? } starts or stops the frames; the answer includes the capture and
20
+ * stutter stats. `gapMs` (30–2000) replaces the live pace's gaps, for measuring; a different value
21
+ * restarts the feed.
22
+ */
23
+ export declare function feedMethod(raw: unknown): Promise<{
24
+ on: boolean;
25
+ quality?: QualityPreset;
26
+ stats?: FeedStats;
27
+ }>;
28
+ /** After an action: capture soon, so viewers see its result. */
29
+ export declare function frameAfterAction(): void;
30
+ export declare function stopLiveFeed(): void;
package/dist/live.js ADDED
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setFrameAcks = setFrameAcks;
4
+ exports.onFrameAck = onFrameAck;
5
+ exports.nextQuality = nextQuality;
6
+ exports.configureLiveFeed = configureLiveFeed;
7
+ exports.feedMethod = feedMethod;
8
+ exports.frameAfterAction = frameAfterAction;
9
+ exports.stopLiveFeed = stopLiveFeed;
10
+ const actions_1 = require("./actions");
11
+ const events_1 = require("./events");
12
+ const feed_1 = require("./feed");
13
+ const native_1 = require("./native");
14
+ const register_1 = require("./register");
15
+ const types_1 = require("./types");
16
+ /**
17
+ * The app's side of the live viewer: while the host asks for it (someone is watching), frames
18
+ * of the app's window go to the host as `frame` events, captured when the UI changes.
19
+ */
20
+ let feed = null;
21
+ /** The gap override the running feed was started with (undefined: the live pace). */
22
+ let feedGapMs;
23
+ let overrides = {};
24
+ /**
25
+ * The live viewer's pace. After an action or a person's input, a frame every 100 ms for the burst,
26
+ * so a tap shows at once (V1). While the screen changes on its own, a frame every 160 ms: each
27
+ * capture makes iOS render a fresh frame (view-shot's drawViewHierarchy afterScreenUpdates:YES), and
28
+ * the whole phone pays about 4% of a core per frame a second (measured on an iPhone 14 Pro Max:
29
+ * 100 ms +36%, 150 ms +26%, 200 ms +18%), so 160 ms keeps V6 (a) under 30% and the longest gap
30
+ * near 0.2 s (V3 ≤ 0.25). Captures may also take at most a third of the time and must not make the
31
+ * app stutter.
32
+ */
33
+ const LIVE_PACE = {
34
+ settleMs: 80,
35
+ minIntervalMs: 160,
36
+ burstIntervalMs: 100,
37
+ maxWaitMs: 160,
38
+ dutyCycle: 0.33,
39
+ backoffMaxMs: 1000,
40
+ // A few slow frames only widen the gap to 220 ms. (Measured afterwards: the backoff rarely fires, and
41
+ // the viewer's longest gap of 0.25 to 0.28 s comes from single captures that take 60 to 190 ms where
42
+ // 30 ms is usual, since a frame arrives one capture time after its start.)
43
+ backoffSoftMs: 220,
44
+ };
45
+ /**
46
+ * The pace with Tapline's native module, whose frames draw what is on screen without making iOS
47
+ * render a new one (`fresh: false`): about 15 frames a second (V2) while the screen changes. To be
48
+ * measured on the phone against V6 (a); the duty cycle and the backoff still guard the app.
49
+ */
50
+ const NATIVE_PACE = {
51
+ ...LIVE_PACE,
52
+ settleMs: 40,
53
+ minIntervalMs: 60,
54
+ burstIntervalMs: 60,
55
+ // While the screen keeps changing, the wait counts from the first commit after the last capture
56
+ // started (about 8 ms in), so 66 here (with a 66 ms gap) gave a frame every 74 to 80 ms: 12 fps,
57
+ // and 50 gave 14. 44 lets the 60 ms gap between capture starts decide.
58
+ maxWaitMs: 44,
59
+ // A native capture holds the main thread only while it draws (the JPEG is made off it), so its
60
+ // whole time may take a larger share. Measured with the first native build: captures of 42 ms on
61
+ // average with the JPEG on the main thread, 1 slow animation frame of 928 and none during a
62
+ // capture; at a third the feed couldn't go past 7.5 fps, at 0.6 it gave 12 fps (V6 (a) 23.5%).
63
+ // With the JPEG off the main thread (the second native build) a capture's 46 ms are mostly
64
+ // off it, so the share counts less against the app's own frames.
65
+ dutyCycle: 0.75,
66
+ backoffSoftMs: 120,
67
+ };
68
+ /** Bounds of the `gapMs` override, which replaces the pace's gaps (for measuring). */
69
+ const MIN_GAP_MS = 30;
70
+ const MAX_GAP_MS = 2000;
71
+ function paceFor(gapMs) {
72
+ const pace = (0, native_1.nativeModule)() !== null ? NATIVE_PACE : LIVE_PACE;
73
+ if (gapMs === undefined)
74
+ return pace;
75
+ return { ...pace, minIntervalMs: gapMs, burstIntervalMs: gapMs, maxWaitMs: gapMs };
76
+ }
77
+ /**
78
+ * Flow control with a host that acknowledges frames (`frameAcks` in its welcome): at most
79
+ * `MAX_IN_FLIGHT` frames on their way. On a link slower than the feed, frames would otherwise pile
80
+ * up and arrive in bunches with long gaps between them (V3); held back, the frame rate follows the
81
+ * link and every frame that arrives is recent. Measured on the phone over Wi-Fi at 15 fps: 100 KB
82
+ * frames arrived with gaps up to 300 ms, 35 KB frames with none over 80 ms.
83
+ */
84
+ const MAX_IN_FLIGHT = 2;
85
+ /** An acknowledgement that doesn't come within this long is taken as lost (the link moves on). */
86
+ const ACK_TIMEOUT_MS = 2000;
87
+ let frameAcks = false;
88
+ let inFlight = 0;
89
+ let lastFlowAt = 0;
90
+ /** Whether the host acknowledges frames (from its welcome); resets the count either way. */
91
+ function setFrameAcks(on) {
92
+ frameAcks = on;
93
+ resetLink();
94
+ }
95
+ /**
96
+ * Adaptive quality (with acknowledgements): when frames take long to reach the host, the feed
97
+ * steps down a preset (smaller frames), and steps back up to the chosen one once the link is quick
98
+ * again, as video players do. Measured on the phone over Wi-Fi: at 15 fps, balanced frames (about
99
+ * 100 KB) arrived with gaps near 300 ms even with flow control, light frames (35 KB) with none over
100
+ * 80 ms. The chosen preset stays the ceiling; a still screen soon gets it back.
101
+ */
102
+ const LADDER = ['light', 'balanced', 'sharp'];
103
+ /** A smoothed send-to-acknowledgement time above this steps the quality down. */
104
+ const SLOW_LINK_MS = 150;
105
+ /** Below this, held for `RECOVER_AFTER_MS`, the quality steps back up. */
106
+ const QUICK_LINK_MS = 70;
107
+ const RECOVER_AFTER_MS = 2000;
108
+ /**
109
+ * Stepping back up waits until the screen is nearly still (at most this many frames sent in the
110
+ * last second): during motion the link already showed it can't carry the bigger frames, and going
111
+ * up and down every few seconds brought back the long gaps (measured: 17 gaps over 150 ms in 20 s).
112
+ */
113
+ const STILL_FRAMES_PER_S = 3;
114
+ const LATENCY_WEIGHT = 0.3;
115
+ let chosenQuality = 'balanced';
116
+ let appliedQuality = 'balanced';
117
+ let sentAt = [];
118
+ /** When the latest frames were sent (the last second's worth): how much the screen is moving. */
119
+ let recentSends = [];
120
+ let latencyMs = null;
121
+ let lastQualityChangeAt = 0;
122
+ function resetLink() {
123
+ inFlight = 0;
124
+ sentAt = [];
125
+ recentSends = [];
126
+ latencyMs = null;
127
+ }
128
+ /** The host received a frame. */
129
+ function onFrameAck() {
130
+ inFlight = Math.max(0, inFlight - 1);
131
+ const now = Date.now();
132
+ lastFlowAt = now;
133
+ const sent = sentAt.shift();
134
+ if (sent === undefined)
135
+ return;
136
+ const latency = now - sent;
137
+ latencyMs = latencyMs === null ? latency : latencyMs * (1 - LATENCY_WEIGHT) + latency * LATENCY_WEIGHT;
138
+ adaptQuality(now, latency);
139
+ }
140
+ /**
141
+ * The adaptive step: one preset down while the link is slow, one up (to at most `chosen`) once it
142
+ * has been quick for a while and the screen is nearly still; else `applied` as it is.
143
+ */
144
+ function nextQuality(applied, chosen, link) {
145
+ const step = LADDER.indexOf(applied);
146
+ const ceiling = LADDER.indexOf(chosen);
147
+ if (step > ceiling)
148
+ return chosen;
149
+ // Down only while the link is slow now too: the smoothed time lags behind a link that recovered.
150
+ if (link.latencyMs > SLOW_LINK_MS && (link.lastMs ?? link.latencyMs) > SLOW_LINK_MS && step > 0)
151
+ return LADDER[step - 1] ?? applied;
152
+ if (
153
+ // A still screen sends a frame a second, so the smoothed time falls slowly: the latest one decides.
154
+ Math.min(link.latencyMs, link.lastMs ?? link.latencyMs) < QUICK_LINK_MS &&
155
+ step < ceiling &&
156
+ link.sinceChangeMs >= RECOVER_AFTER_MS &&
157
+ link.framesLastSecond <= STILL_FRAMES_PER_S) {
158
+ return LADDER[step + 1] ?? applied;
159
+ }
160
+ return applied;
161
+ }
162
+ function adaptQuality(now, lastMs) {
163
+ if (feed === null || latencyMs === null)
164
+ return;
165
+ const next = nextQuality(appliedQuality, chosenQuality, {
166
+ latencyMs,
167
+ lastMs,
168
+ sinceChangeMs: now - lastQualityChangeAt,
169
+ framesLastSecond: recentSends.filter((t) => now - t <= 1000).length,
170
+ });
171
+ if (next === appliedQuality)
172
+ return;
173
+ const up = LADDER.indexOf(next) > LADDER.indexOf(appliedQuality);
174
+ appliedQuality = next;
175
+ lastQualityChangeAt = now;
176
+ feed.setQuality(next);
177
+ // Back to the chosen quality on a still screen: show it at once, not at the next heartbeat.
178
+ if (up)
179
+ feed.requestFrame();
180
+ }
181
+ function canSend() {
182
+ if (!frameAcks || inFlight < MAX_IN_FLIGHT)
183
+ return true;
184
+ if (Date.now() - lastFlowAt > ACK_TIMEOUT_MS) {
185
+ resetLink();
186
+ return true;
187
+ }
188
+ return false;
189
+ }
190
+ /** Replace parts of what the feed uses (tests). */
191
+ function configureLiveFeed(next) {
192
+ overrides = next;
193
+ }
194
+ function deps() {
195
+ const g = globalThis;
196
+ const base = {
197
+ // A viewer's frame shows what is on screen; it must not make iOS render one (native module only).
198
+ capture: (params) => (0, actions_1.screenshot)({ ...params, fresh: false, fitShortSide: true }),
199
+ send: (frame) => {
200
+ if (frameAcks) {
201
+ inFlight += 1;
202
+ lastFlowAt = Date.now();
203
+ sentAt.push(lastFlowAt);
204
+ recentSends = [...recentSends.filter((t) => lastFlowAt - t <= 1000), lastFlowAt];
205
+ }
206
+ (0, events_1.emitEvent)('frame', frame);
207
+ },
208
+ canSend,
209
+ onCommit: register_1.onCommit,
210
+ commitRevision: register_1.commitRevision,
211
+ now: () => Date.now(),
212
+ setTimer: (fn, ms) => setTimeout(fn, ms),
213
+ clearTimer: (handle) => clearTimeout(handle),
214
+ };
215
+ if (typeof g.requestAnimationFrame === 'function')
216
+ base.requestAnimationFrame = (fn) => g.requestAnimationFrame?.(fn);
217
+ if (typeof g.cancelAnimationFrame === 'function')
218
+ base.cancelAnimationFrame = (handle) => g.cancelAnimationFrame?.(handle);
219
+ const merged = { ...base, ...overrides };
220
+ // `requestAnimationFrame: undefined` in overrides turns the stutter measurement off.
221
+ if ('requestAnimationFrame' in overrides && overrides.requestAnimationFrame === undefined) {
222
+ delete merged.requestAnimationFrame;
223
+ delete merged.cancelAnimationFrame;
224
+ }
225
+ return merged;
226
+ }
227
+ function isPreset(value) {
228
+ return value === 'sharp' || value === 'balanced' || value === 'light';
229
+ }
230
+ /**
231
+ * `feed`: { on, quality?, gapMs? } starts or stops the frames; the answer includes the capture and
232
+ * stutter stats. `gapMs` (30–2000) replaces the live pace's gaps, for measuring; a different value
233
+ * restarts the feed.
234
+ */
235
+ async function feedMethod(raw) {
236
+ if (!(0, types_1.isRecord)(raw) || typeof raw.on !== 'boolean')
237
+ throw new types_1.TaplineError('bad_params', 'feed needs { on: true | false }');
238
+ if (raw.quality !== undefined && !isPreset(raw.quality)) {
239
+ throw new types_1.TaplineError('bad_params', 'quality is "sharp", "balanced" or "light"');
240
+ }
241
+ let gapMs;
242
+ if (raw.gapMs !== undefined) {
243
+ if (typeof raw.gapMs !== 'number' || !(raw.gapMs >= MIN_GAP_MS && raw.gapMs <= MAX_GAP_MS)) {
244
+ throw new types_1.TaplineError('bad_params', `gapMs is a number of ms from ${MIN_GAP_MS} to ${MAX_GAP_MS}`);
245
+ }
246
+ gapMs = raw.gapMs;
247
+ }
248
+ const quality = isPreset(raw.quality) ? raw.quality : 'balanced';
249
+ if (raw.on) {
250
+ // The viewer's choice is the ceiling of the adaptive quality, and applies at once.
251
+ chosenQuality = quality;
252
+ appliedQuality = quality;
253
+ lastQualityChangeAt = Date.now();
254
+ latencyMs = null;
255
+ if (feed && feedGapMs !== gapMs)
256
+ stopLiveFeed();
257
+ if (feed)
258
+ feed.setQuality(quality);
259
+ else {
260
+ feed = (0, feed_1.startFrameFeed)({ quality, ...paceFor(gapMs) }, deps());
261
+ feedGapMs = gapMs;
262
+ }
263
+ return { on: true, quality, stats: feed.stats() };
264
+ }
265
+ const stats = feed?.stats();
266
+ stopLiveFeed();
267
+ return stats ? { on: false, stats } : { on: false };
268
+ }
269
+ /** After an action: capture soon, so viewers see its result. */
270
+ function frameAfterAction() {
271
+ feed?.requestFrame();
272
+ }
273
+ function stopLiveFeed() {
274
+ const current = feed;
275
+ feed = null;
276
+ feedGapMs = undefined;
277
+ current?.stop();
278
+ }
279
+ //# sourceMappingURL=live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"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"}
package/dist/logs.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ import { type ErrorEventData, type LogEntry, type LogLevel } from './types';
2
+ export declare const MAX_LOG_ENTRIES = 500;
3
+ export type LogSink = (event: 'log' | 'error', data: LogEntry | ErrorEventData) => void;
4
+ export declare function formatArgs(args: unknown[]): string;
5
+ /** Record a log line (also what the console patch calls). */
6
+ export declare function addLog(level: LogLevel, message: string, ts?: number): LogEntry;
7
+ export declare function recordError(error: unknown, fatal: boolean): void;
8
+ /** Buffered entries, optionally only those newer than `since` (ms epoch). */
9
+ export declare function getLogEntries(since?: number): LogEntry[];
10
+ export declare function clearLogs(): void;
11
+ /** Route new entries to the connected client (null while disconnected). */
12
+ export declare function setLogSink(next: LogSink | null): void;
13
+ /** The unpatched console.log, for Tapline's own one-line status messages. */
14
+ export declare function originalLog(...args: unknown[]): void;
15
+ export declare function installLogs(): void;
16
+ export declare function uninstallLogs(): void;