@tapthrough/expo 0.0.0-stage → 0.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.
- package/LICENSE +21 -0
- package/README.md +105 -2
- package/app.plugin.d.ts +37 -0
- package/app.plugin.js +79 -0
- package/dist/Annotator.d.ts +14 -0
- package/dist/Annotator.d.ts.map +1 -0
- package/dist/Annotator.js +160 -0
- package/dist/Annotator.js.map +1 -0
- package/dist/Bubble.d.ts +27 -0
- package/dist/Bubble.d.ts.map +1 -0
- package/dist/Bubble.js +234 -0
- package/dist/Bubble.js.map +1 -0
- package/dist/Feedback.d.ts +14 -0
- package/dist/Feedback.d.ts.map +1 -0
- package/dist/Feedback.js +977 -0
- package/dist/Feedback.js.map +1 -0
- package/dist/Overlay.d.ts +13 -0
- package/dist/Overlay.d.ts.map +1 -0
- package/dist/Overlay.js +44 -0
- package/dist/Overlay.js.map +1 -0
- package/dist/Popover.d.ts +98 -0
- package/dist/Popover.d.ts.map +1 -0
- package/dist/Popover.js +531 -0
- package/dist/Popover.js.map +1 -0
- package/dist/Tapthrough.d.ts +27 -0
- package/dist/Tapthrough.d.ts.map +1 -0
- package/dist/Tapthrough.js +111 -0
- package/dist/Tapthrough.js.map +1 -0
- package/dist/core/annotations.d.ts +63 -0
- package/dist/core/annotations.d.ts.map +1 -0
- package/dist/core/annotations.js +76 -0
- package/dist/core/annotations.js.map +1 -0
- package/dist/core/bubble.d.ts +21 -0
- package/dist/core/bubble.d.ts.map +1 -0
- package/dist/core/bubble.js +25 -0
- package/dist/core/bubble.js.map +1 -0
- package/dist/core/controller.d.ts +46 -0
- package/dist/core/controller.d.ts.map +1 -0
- package/dist/core/controller.js +103 -0
- package/dist/core/controller.js.map +1 -0
- package/dist/core/diagnostics.d.ts +47 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +101 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/feedback.d.ts +302 -0
- package/dist/core/feedback.d.ts.map +1 -0
- package/dist/core/feedback.js +345 -0
- package/dist/core/feedback.js.map +1 -0
- package/dist/core/flags.d.ts +13 -0
- package/dist/core/flags.d.ts.map +1 -0
- package/dist/core/flags.js +25 -0
- package/dist/core/flags.js.map +1 -0
- package/dist/core/ideas.d.ts +166 -0
- package/dist/core/ideas.d.ts.map +1 -0
- package/dist/core/ideas.js +159 -0
- package/dist/core/ideas.js.map +1 -0
- package/dist/core/launch.d.ts +43 -0
- package/dist/core/launch.d.ts.map +1 -0
- package/dist/core/launch.js +81 -0
- package/dist/core/launch.js.map +1 -0
- package/dist/core/reset.d.ts +17 -0
- package/dist/core/reset.d.ts.map +1 -0
- package/dist/core/reset.js +19 -0
- package/dist/core/reset.js.map +1 -0
- package/dist/core/review.d.ts +49 -0
- package/dist/core/review.d.ts.map +1 -0
- package/dist/core/review.js +92 -0
- package/dist/core/review.js.map +1 -0
- package/dist/core/url.d.ts +9 -0
- package/dist/core/url.d.ts.map +1 -0
- package/dist/core/url.js +23 -0
- package/dist/core/url.js.map +1 -0
- package/dist/hooks.d.ts +6 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +13 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/native-intent.d.ts +18 -0
- package/dist/native-intent.d.ts.map +1 -0
- package/dist/native-intent.js +32 -0
- package/dist/native-intent.js.map +1 -0
- package/dist/runtime.d.ts +24 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +17 -0
- package/dist/runtime.js.map +1 -0
- package/dist/screenshot.d.ts +7 -0
- package/dist/screenshot.d.ts.map +1 -0
- package/dist/screenshot.js +48 -0
- package/dist/screenshot.js.map +1 -0
- package/dist/supabase.d.ts +20 -0
- package/dist/supabase.d.ts.map +1 -0
- package/dist/supabase.js +18 -0
- package/dist/supabase.js.map +1 -0
- package/dist/ui/native.d.ts +34 -0
- package/dist/ui/native.d.ts.map +1 -0
- package/dist/ui/native.js +76 -0
- package/dist/ui/native.js.map +1 -0
- package/dist/ui/parts.d.ts +62 -0
- package/dist/ui/parts.d.ts.map +1 -0
- package/dist/ui/parts.js +110 -0
- package/dist/ui/parts.js.map +1 -0
- package/dist/ui/theme.d.ts +90 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +61 -0
- package/dist/ui/theme.js.map +1 -0
- package/package.json +82 -3
- package/src/Annotator.tsx +279 -0
- package/src/Bubble.tsx +331 -0
- package/src/Feedback.tsx +1739 -0
- package/src/Overlay.tsx +61 -0
- package/src/Popover.tsx +1393 -0
- package/src/Tapthrough.tsx +171 -0
- package/src/core/annotations.ts +116 -0
- package/src/core/bubble.ts +45 -0
- package/src/core/controller.ts +119 -0
- package/src/core/diagnostics.ts +128 -0
- package/src/core/feedback.ts +589 -0
- package/src/core/flags.ts +31 -0
- package/src/core/ideas.ts +337 -0
- package/src/core/launch.ts +119 -0
- package/src/core/reset.ts +28 -0
- package/src/core/review.ts +148 -0
- package/src/core/url.ts +21 -0
- package/src/hooks.ts +15 -0
- package/src/index.ts +8 -0
- package/src/native-intent.ts +36 -0
- package/src/runtime.ts +30 -0
- package/src/screenshot.ts +64 -0
- package/src/supabase.ts +27 -0
- package/src/ui/native.ts +116 -0
- package/src/ui/parts.tsx +249 -0
- package/src/ui/theme.ts +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { AuthAdapter, ResetTarget } from './core/launch.js';
|
|
3
|
+
export interface TapthroughProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* How to log in with the seeded session, e.g. `supabaseAuth(supabase)`.
|
|
7
|
+
* Leave it out if the app has no login.
|
|
8
|
+
*/
|
|
9
|
+
auth?: AuthAdapter;
|
|
10
|
+
/** Local state to clear before logging in: query caches, persisted keys, stores. */
|
|
11
|
+
reset?: ResetTarget[];
|
|
12
|
+
/** Overrides the config plugin's `seedHookUrl`. */
|
|
13
|
+
seedHookUrl?: string;
|
|
14
|
+
/** Overrides the config plugin's `enabled`. Off unless one of them turns it on. */
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
/** Shows the Report button on PR previews. Defaults to true. */
|
|
17
|
+
feedback?: boolean;
|
|
18
|
+
/** Overrides the config plugin's `apiUrl`, where reports are sent. */
|
|
19
|
+
apiUrl?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Wrap your root layout's content with it. When the app opens from a
|
|
23
|
+
* Tapthrough link, it seeds the test user, logs in, applies flags and opens
|
|
24
|
+
* the scenario's screen. Otherwise it renders `children` and does nothing.
|
|
25
|
+
*/
|
|
26
|
+
export declare function Tapthrough({ children, auth, reset, seedHookUrl, enabled, feedback, apiUrl, }: TapthroughProps): import("react").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=Tapthrough.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tapthrough.d.ts","sourceRoot":"","sources":["../src/Tapthrough.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAA;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,SAAS,CAAA;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,oFAAoF;IACpF,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAKD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,IAAa,EACb,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAe,EACf,MAAM,GACP,EAAE,eAAe,+BAgEjB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Constants from 'expo-constants';
|
|
3
|
+
import * as Linking from 'expo-linking';
|
|
4
|
+
import { router, useRootNavigationState } from 'expo-router';
|
|
5
|
+
import { useEffect } from 'react';
|
|
6
|
+
import { ActivityIndicator, Pressable, StyleSheet, Text, View } from 'react-native';
|
|
7
|
+
import { setFlagOverrides } from './core/flags.js';
|
|
8
|
+
import { ReportButton } from './Feedback.js';
|
|
9
|
+
import { useLaunchState } from './hooks.js';
|
|
10
|
+
import { controller, pluginConfig } from './runtime.js';
|
|
11
|
+
/** For apps without login: the seeded session is ignored. */
|
|
12
|
+
const noAuth = { signIn: async () => { } };
|
|
13
|
+
/**
|
|
14
|
+
* Wrap your root layout's content with it. When the app opens from a
|
|
15
|
+
* Tapthrough link, it seeds the test user, logs in, applies flags and opens
|
|
16
|
+
* the scenario's screen. Otherwise it renders `children` and does nothing.
|
|
17
|
+
*/
|
|
18
|
+
export function Tapthrough({ children, auth = noAuth, reset, seedHookUrl, enabled, feedback = true, apiUrl, }) {
|
|
19
|
+
const config = pluginConfig();
|
|
20
|
+
const isEnabled = enabled ?? config.enabled;
|
|
21
|
+
const hookUrl = seedHookUrl ?? config.seedHookUrl;
|
|
22
|
+
const navigationReady = Boolean(useRootNavigationState()?.key);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!isEnabled)
|
|
25
|
+
return;
|
|
26
|
+
if (!hookUrl) {
|
|
27
|
+
console.warn('[tapthrough] Enabled without a seedHookUrl; launch links will be ignored.');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const config = Constants.expoConfig;
|
|
31
|
+
const audiences = [config?.ios?.bundleIdentifier, config?.android?.package].filter((id) => typeof id === 'string');
|
|
32
|
+
controller.configure({
|
|
33
|
+
seedHookUrl: hookUrl,
|
|
34
|
+
expectedAudiences: audiences,
|
|
35
|
+
auth,
|
|
36
|
+
reset: reset ?? [],
|
|
37
|
+
applyFlags: setFlagOverrides,
|
|
38
|
+
});
|
|
39
|
+
return () => controller.configure(undefined);
|
|
40
|
+
}, [isEnabled, hookUrl, auth, reset]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!navigationReady)
|
|
43
|
+
return;
|
|
44
|
+
// Back to the root of the stack, then push: the reviewer lands on the scenario's
|
|
45
|
+
// screen with a back button, instead of on a stack that holds only that screen.
|
|
46
|
+
controller.setNavigator((path) => {
|
|
47
|
+
if (router.canDismiss())
|
|
48
|
+
router.dismissAll();
|
|
49
|
+
router.push(path);
|
|
50
|
+
});
|
|
51
|
+
return () => controller.setNavigator(undefined);
|
|
52
|
+
}, [navigationReady]);
|
|
53
|
+
// Fallback for apps without `+native-intent`; tokens are de-duplicated.
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (!isEnabled)
|
|
56
|
+
return;
|
|
57
|
+
let active = true;
|
|
58
|
+
void Linking.getInitialURL().then((url) => {
|
|
59
|
+
if (active)
|
|
60
|
+
controller.offer(url);
|
|
61
|
+
});
|
|
62
|
+
const subscription = Linking.addEventListener('url', ({ url }) => controller.offer(url));
|
|
63
|
+
return () => {
|
|
64
|
+
active = false;
|
|
65
|
+
subscription.remove();
|
|
66
|
+
};
|
|
67
|
+
}, [isEnabled]);
|
|
68
|
+
return (_jsxs(_Fragment, { children: [children, (isEnabled || config.staff) && feedback ? (_jsx(ReportButton, { apiUrl: apiUrl ?? config.apiUrl, canSetUp: Boolean(hookUrl), appKey: config.staff ? config.appKey : undefined })) : null, isEnabled ? _jsx(LaunchOverlay, {}) : null] }));
|
|
69
|
+
}
|
|
70
|
+
function LaunchOverlay() {
|
|
71
|
+
const state = useLaunchState();
|
|
72
|
+
// The Review popover shows its own progress for setups it started.
|
|
73
|
+
if (state.status !== 'idle' && state.source === 'app')
|
|
74
|
+
return null;
|
|
75
|
+
if (state.status === 'launching') {
|
|
76
|
+
return (_jsxs(View, { style: styles.backdrop, pointerEvents: "auto", children: [_jsx(ActivityIndicator, { size: "large", color: "#ffffff" }), _jsx(Text, { style: styles.backdropText, children: "Setting up your review\u2026" })] }));
|
|
77
|
+
}
|
|
78
|
+
if (state.status === 'error') {
|
|
79
|
+
return (_jsxs(View, { style: styles.card, accessibilityRole: "alert", children: [_jsx(Text, { style: styles.title, children: "Couldn't open this preview" }), _jsx(Text, { style: styles.message, children: state.error.message }), _jsx(Pressable, { onPress: controller.dismiss, style: styles.button, accessibilityRole: "button", hitSlop: 8, children: _jsx(Text, { style: styles.buttonText, children: "Dismiss" }) })] }));
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
const styles = StyleSheet.create({
|
|
84
|
+
backdrop: {
|
|
85
|
+
position: 'absolute',
|
|
86
|
+
top: 0,
|
|
87
|
+
right: 0,
|
|
88
|
+
bottom: 0,
|
|
89
|
+
left: 0,
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
gap: 16,
|
|
93
|
+
backgroundColor: 'rgba(17, 17, 17, 0.85)',
|
|
94
|
+
},
|
|
95
|
+
backdropText: { color: '#ffffff', fontSize: 16 },
|
|
96
|
+
card: {
|
|
97
|
+
position: 'absolute',
|
|
98
|
+
left: 16,
|
|
99
|
+
right: 16,
|
|
100
|
+
bottom: 48,
|
|
101
|
+
padding: 16,
|
|
102
|
+
gap: 8,
|
|
103
|
+
borderRadius: 12,
|
|
104
|
+
backgroundColor: '#1f1f1f',
|
|
105
|
+
},
|
|
106
|
+
title: { color: '#ffffff', fontSize: 16, fontWeight: '600' },
|
|
107
|
+
message: { color: '#d4d4d4', fontSize: 14, lineHeight: 20 },
|
|
108
|
+
button: { alignSelf: 'flex-end', paddingVertical: 8, paddingHorizontal: 12 },
|
|
109
|
+
buttonText: { color: '#8ab4ff', fontSize: 15, fontWeight: '600' },
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=Tapthrough.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tapthrough.js","sourceRoot":"","sources":["../src/Tapthrough.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAa,MAAM,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAqBvD,6DAA6D;AAC7D,MAAM,MAAM,GAAgB,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAA;AAEtD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,IAAI,GAAG,MAAM,EACb,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,GAAG,IAAI,EACf,MAAM,GACU;IAChB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,SAAS,GAAG,OAAO,IAAI,MAAM,CAAC,OAAO,CAAA;IAC3C,MAAM,OAAO,GAAG,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;IACjD,MAAM,eAAe,GAAG,OAAO,CAAC,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAA;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAA;YACzF,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAA;QACnC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAChF,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAC7C,CAAA;QACD,UAAU,CAAC,SAAS,CAAC;YACnB,WAAW,EAAE,OAAO;YACpB,iBAAiB,EAAE,SAAS;YAC5B,IAAI;YACJ,KAAK,EAAE,KAAK,IAAI,EAAE;YAClB,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAA;QACF,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe;YAAE,OAAM;QAC5B,iFAAiF;QACjF,gFAAgF;QAChF,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,MAAM,CAAC,UAAU,EAAE;gBAAE,MAAM,CAAC,UAAU,EAAE,CAAA;YAC5C,MAAM,CAAC,IAAI,CAAC,IAAY,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,wEAAwE;IACxE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,MAAM;gBAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACxF,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,KAAK,CAAA;YACd,YAAY,CAAC,MAAM,EAAE,CAAA;QACvB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,8BACG,QAAQ,EACR,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CACzC,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,EAC/B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAChD,CACH,CAAC,CAAC,CAAC,IAAI,EACP,SAAS,CAAC,CAAC,CAAC,KAAC,aAAa,KAAG,CAAC,CAAC,CAAC,IAAI,IACpC,CACJ,CAAA;AACH,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAA;IAC9B,mEAAmE;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,aAChD,KAAC,iBAAiB,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG,EAClD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,6CAAgC,IAC3D,CACR,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAC,OAAO,aACjD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,2CAAmC,EAC5D,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAQ,EACzD,KAAC,SAAS,IACR,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,iBAAiB,EAAC,QAAQ,EAC1B,OAAO,EAAE,CAAC,YAEV,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,wBAAgB,GACpC,IACP,CACR,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,GAAG,EAAE,EAAE;QACP,eAAe,EAAE,wBAAwB;KAC1C;IACD,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAChD,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,CAAC;QACN,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,SAAS;KAC3B;IACD,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAC5D,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IAC3D,MAAM,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE;IAC5E,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;CAClE,CAAC,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** A box drawn on the screenshot, in fractions of its width and height (what the server expects). */
|
|
2
|
+
export interface AnnotationBox {
|
|
3
|
+
kind: 'highlight' | 'blur';
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
w: number;
|
|
7
|
+
h: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const MAX_ANNOTATIONS = 10;
|
|
10
|
+
/**
|
|
11
|
+
* The box between where a drag started and where it is now, in the drawing
|
|
12
|
+
* area's coordinates, normalized to its size. Works in any drag direction and
|
|
13
|
+
* clamps to the image. Returns null while the drag is too small to be a box.
|
|
14
|
+
*/
|
|
15
|
+
export declare function boxFromDrag(kind: AnnotationBox['kind'], start: {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
}, current: {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
}, size: {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
}): AnnotationBox | null;
|
|
25
|
+
/** A freehand line drawn on the screenshot: points in fractions of its width and height. */
|
|
26
|
+
export interface AnnotationStroke {
|
|
27
|
+
kind: 'draw';
|
|
28
|
+
points: [number, number][];
|
|
29
|
+
}
|
|
30
|
+
export type Annotation = AnnotationBox | AnnotationStroke;
|
|
31
|
+
/** The most points a stroke keeps; longer ones are thinned evenly. */
|
|
32
|
+
export declare const MAX_STROKE_POINTS = 120;
|
|
33
|
+
/**
|
|
34
|
+
* Adds a touch position, in the drawing area's coordinates, to a stroke.
|
|
35
|
+
* Returns the same array when the point is too close to the last one, so a
|
|
36
|
+
* slow finger doesn't pile up points.
|
|
37
|
+
*/
|
|
38
|
+
export declare function addStrokePoint(points: [number, number][], at: {
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
}, size: {
|
|
42
|
+
width: number;
|
|
43
|
+
height: number;
|
|
44
|
+
}): [number, number][];
|
|
45
|
+
/** Keeps the first and last points and an even spread between, up to `max`. */
|
|
46
|
+
export declare function thinStroke(points: [number, number][], max?: number): [number, number][];
|
|
47
|
+
/** A finished stroke, or null when it was only a tap. */
|
|
48
|
+
export declare function finishStroke(points: [number, number][]): AnnotationStroke | null;
|
|
49
|
+
export interface Segment {
|
|
50
|
+
left: number;
|
|
51
|
+
top: number;
|
|
52
|
+
length: number;
|
|
53
|
+
angle: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A stroke as straight segments in pixels, each centered on its midpoint and
|
|
57
|
+
* rotated into place, for drawing with plain views.
|
|
58
|
+
*/
|
|
59
|
+
export declare function strokeSegments(points: [number, number][], size: {
|
|
60
|
+
width: number;
|
|
61
|
+
height: number;
|
|
62
|
+
}): Segment[];
|
|
63
|
+
//# sourceMappingURL=annotations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/core/annotations.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;IAC1B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAID,eAAO,MAAM,eAAe,KAAK,CAAA;AAKjC;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,OAAO,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACjC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC,aAAa,GAAG,IAAI,CAUtB;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAC3B;AAED,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAA;AAEzD,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,MAAM,CAAA;AAIpC;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC1B,EAAE,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5B,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAMpB;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CACxB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC1B,GAAG,SAAoB,GACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAIpB;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAEhF;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC1B,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,EAAE,CAkBX"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** Boxes smaller than this (in fractions) are treated as accidental taps. */
|
|
2
|
+
const MIN_SIZE = 0.03;
|
|
3
|
+
export const MAX_ANNOTATIONS = 10;
|
|
4
|
+
const clamp = (value) => Math.min(1, Math.max(0, value));
|
|
5
|
+
const round = (value) => Math.round(value * 1000) / 1000;
|
|
6
|
+
/**
|
|
7
|
+
* The box between where a drag started and where it is now, in the drawing
|
|
8
|
+
* area's coordinates, normalized to its size. Works in any drag direction and
|
|
9
|
+
* clamps to the image. Returns null while the drag is too small to be a box.
|
|
10
|
+
*/
|
|
11
|
+
export function boxFromDrag(kind, start, current, size) {
|
|
12
|
+
if (size.width <= 0 || size.height <= 0)
|
|
13
|
+
return null;
|
|
14
|
+
const x1 = clamp(start.x / size.width);
|
|
15
|
+
const y1 = clamp(start.y / size.height);
|
|
16
|
+
const x2 = clamp(current.x / size.width);
|
|
17
|
+
const y2 = clamp(current.y / size.height);
|
|
18
|
+
const w = Math.abs(x2 - x1);
|
|
19
|
+
const h = Math.abs(y2 - y1);
|
|
20
|
+
if (w < MIN_SIZE || h < MIN_SIZE)
|
|
21
|
+
return null;
|
|
22
|
+
return { kind, x: round(Math.min(x1, x2)), y: round(Math.min(y1, y2)), w: round(w), h: round(h) };
|
|
23
|
+
}
|
|
24
|
+
/** The most points a stroke keeps; longer ones are thinned evenly. */
|
|
25
|
+
export const MAX_STROKE_POINTS = 120;
|
|
26
|
+
/** Points closer than this to the last one (in fractions) add nothing visible. */
|
|
27
|
+
const MIN_STEP = 0.004;
|
|
28
|
+
/**
|
|
29
|
+
* Adds a touch position, in the drawing area's coordinates, to a stroke.
|
|
30
|
+
* Returns the same array when the point is too close to the last one, so a
|
|
31
|
+
* slow finger doesn't pile up points.
|
|
32
|
+
*/
|
|
33
|
+
export function addStrokePoint(points, at, size) {
|
|
34
|
+
if (size.width <= 0 || size.height <= 0)
|
|
35
|
+
return points;
|
|
36
|
+
const next = [round(clamp(at.x / size.width)), round(clamp(at.y / size.height))];
|
|
37
|
+
const last = points.at(-1);
|
|
38
|
+
if (last && Math.hypot(next[0] - last[0], next[1] - last[1]) < MIN_STEP)
|
|
39
|
+
return points;
|
|
40
|
+
return [...points, next];
|
|
41
|
+
}
|
|
42
|
+
/** Keeps the first and last points and an even spread between, up to `max`. */
|
|
43
|
+
export function thinStroke(points, max = MAX_STROKE_POINTS) {
|
|
44
|
+
if (points.length <= max)
|
|
45
|
+
return points;
|
|
46
|
+
const step = (points.length - 1) / (max - 1);
|
|
47
|
+
return Array.from({ length: max }, (_, i) => points[Math.round(i * step)]);
|
|
48
|
+
}
|
|
49
|
+
/** A finished stroke, or null when it was only a tap. */
|
|
50
|
+
export function finishStroke(points) {
|
|
51
|
+
return points.length >= 2 ? { kind: 'draw', points: thinStroke(points) } : null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A stroke as straight segments in pixels, each centered on its midpoint and
|
|
55
|
+
* rotated into place, for drawing with plain views.
|
|
56
|
+
*/
|
|
57
|
+
export function strokeSegments(points, size) {
|
|
58
|
+
const segments = [];
|
|
59
|
+
for (let i = 1; i < points.length; i++) {
|
|
60
|
+
const [ax, ay] = points[i - 1];
|
|
61
|
+
const [bx, by] = points[i];
|
|
62
|
+
const x1 = ax * size.width;
|
|
63
|
+
const y1 = ay * size.height;
|
|
64
|
+
const x2 = bx * size.width;
|
|
65
|
+
const y2 = by * size.height;
|
|
66
|
+
const length = Math.hypot(x2 - x1, y2 - y1);
|
|
67
|
+
segments.push({
|
|
68
|
+
left: (x1 + x2) / 2 - length / 2,
|
|
69
|
+
top: (y1 + y2) / 2,
|
|
70
|
+
length,
|
|
71
|
+
angle: Math.atan2(y2 - y1, x2 - x1),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return segments;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=annotations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/core/annotations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface Point {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
}
|
|
5
|
+
export interface Bounds {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
/** Space kept clear at the top and bottom, for the status bar and home indicator. */
|
|
9
|
+
insetTop: number;
|
|
10
|
+
insetBottom: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const BUBBLE_SIZE = 48;
|
|
13
|
+
export declare const EDGE_MARGIN = 8;
|
|
14
|
+
/** Movement under this many points counts as a tap, not a drag. */
|
|
15
|
+
export declare const TAP_SLOP = 6;
|
|
16
|
+
/** Where the bubble rests after a drag: the nearer side edge, kept on screen. */
|
|
17
|
+
export declare function snapToEdge(point: Point, bounds: Bounds, size?: number): Point;
|
|
18
|
+
/** Starts on the right edge, a little above the bottom, clear of most tab bars. */
|
|
19
|
+
export declare function defaultPosition(bounds: Bounds, size?: number): Point;
|
|
20
|
+
export declare function isTap(dx: number, dy: number): boolean;
|
|
21
|
+
//# sourceMappingURL=bubble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bubble.d.ts","sourceRoot":"","sources":["../../src/core/bubble.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,WAAW,KAAK,CAAA;AAC7B,eAAO,MAAM,WAAW,IAAI,CAAA;AAC5B,mEAAmE;AACnE,eAAO,MAAM,QAAQ,IAAI,CAAA;AAQzB,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,SAAc,GAAG,KAAK,CAMlF;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,SAAc,GAAG,KAAK,CAMzE;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,WAE3C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const BUBBLE_SIZE = 48;
|
|
2
|
+
export const EDGE_MARGIN = 8;
|
|
3
|
+
/** Movement under this many points counts as a tap, not a drag. */
|
|
4
|
+
export const TAP_SLOP = 6;
|
|
5
|
+
function clampY(y, bounds, size) {
|
|
6
|
+
const min = bounds.insetTop;
|
|
7
|
+
const max = bounds.height - bounds.insetBottom - size;
|
|
8
|
+
return Math.min(Math.max(y, min), Math.max(min, max));
|
|
9
|
+
}
|
|
10
|
+
/** Where the bubble rests after a drag: the nearer side edge, kept on screen. */
|
|
11
|
+
export function snapToEdge(point, bounds, size = BUBBLE_SIZE) {
|
|
12
|
+
const left = point.x + size / 2 < bounds.width / 2;
|
|
13
|
+
return {
|
|
14
|
+
x: left ? EDGE_MARGIN : bounds.width - size - EDGE_MARGIN,
|
|
15
|
+
y: clampY(point.y, bounds, size),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/** Starts on the right edge, a little above the bottom, clear of most tab bars. */
|
|
19
|
+
export function defaultPosition(bounds, size = BUBBLE_SIZE) {
|
|
20
|
+
return snapToEdge({ x: bounds.width, y: bounds.height - bounds.insetBottom - size - 96 }, bounds, size);
|
|
21
|
+
}
|
|
22
|
+
export function isTap(dx, dy) {
|
|
23
|
+
return Math.abs(dx) < TAP_SLOP && Math.abs(dy) < TAP_SLOP;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=bubble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bubble.js","sourceRoot":"","sources":["../../src/core/bubble.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAA;AAC5B,mEAAmE;AACnE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAA;AAEzB,SAAS,MAAM,CAAC,CAAS,EAAE,MAAc,EAAE,IAAY;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,KAAY,EAAE,MAAc,EAAE,IAAI,GAAG,WAAW;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;IAClD,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,WAAW;QACzD,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;KACjC,CAAA;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,IAAI,GAAG,WAAW;IAChE,OAAO,UAAU,CACf,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,EAAE,EACtE,MAAM,EACN,IAAI,CACL,CAAA;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,EAAU;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;AAC3D,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type LaunchDeps, type LaunchError, type LaunchStage } from './launch.js';
|
|
2
|
+
/**
|
|
3
|
+
* Where a launch came from: a link opened from outside the app, or the
|
|
4
|
+
* Review popover's Set Up button. The popover shows its own progress for
|
|
5
|
+
* launches it started, so the full-screen overlay only covers links.
|
|
6
|
+
*/
|
|
7
|
+
export type LaunchSource = 'link' | 'app';
|
|
8
|
+
export type LaunchState = {
|
|
9
|
+
status: 'idle';
|
|
10
|
+
} | {
|
|
11
|
+
status: 'launching';
|
|
12
|
+
source: LaunchSource;
|
|
13
|
+
stage?: LaunchStage;
|
|
14
|
+
} | {
|
|
15
|
+
status: 'done';
|
|
16
|
+
source: LaunchSource;
|
|
17
|
+
path: string;
|
|
18
|
+
} | {
|
|
19
|
+
status: 'error';
|
|
20
|
+
source: LaunchSource;
|
|
21
|
+
error: LaunchError;
|
|
22
|
+
};
|
|
23
|
+
export type ControllerDeps = Omit<LaunchDeps, 'navigate'>;
|
|
24
|
+
type Navigate = LaunchDeps['navigate'];
|
|
25
|
+
/**
|
|
26
|
+
* Turns incoming URLs into launches. Each token runs once and launches run one
|
|
27
|
+
* at a time. A URL can arrive before the app is ready (Expo Router hands over
|
|
28
|
+
* the initial URL before the root layout mounts), so each launch waits for
|
|
29
|
+
* `configure()` and navigation waits for `setNavigator()`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createLaunchController(): {
|
|
32
|
+
/** Queues a launch if `url` carries a token not seen before. Returns whether it did. */
|
|
33
|
+
offer(url: string | null | undefined, source?: LaunchSource): boolean;
|
|
34
|
+
/** Supplies the seed hook URL and adapters; queued launches start once this is called. */
|
|
35
|
+
configure(next: ControllerDeps | undefined): void;
|
|
36
|
+
/** Pass the router's navigate once it can navigate; undefined when it unmounts. */
|
|
37
|
+
setNavigator(next: Navigate | undefined): void;
|
|
38
|
+
dismiss(): void;
|
|
39
|
+
getState: () => LaunchState;
|
|
40
|
+
/** The scenario the app was last launched into, for attributing reports. */
|
|
41
|
+
lastScenarioId: () => string | undefined;
|
|
42
|
+
subscribe(listener: () => void): () => void;
|
|
43
|
+
};
|
|
44
|
+
export type LaunchController = ReturnType<typeof createLaunchController>;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/core/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAa,MAAM,aAAa,CAAA;AAG5F;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAA;AAEzC,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,GAClE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAA;AAEjE,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AACzD,KAAK,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AAqBtC;;;;;GAKG;AACH,wBAAgB,sBAAsB;IAyClC,wFAAwF;eAC7E,MAAM,GAAG,IAAI,GAAG,SAAS,WAAU,YAAY,GAAY,OAAO;IAQ7E,0FAA0F;oBAC1E,cAAc,GAAG,SAAS;IAG1C,mFAAmF;uBAChE,QAAQ,GAAG,SAAS;;;IAOvC,4EAA4E;;wBAExD,MAAM,IAAI;EAOjC;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { scenarioIdFromToken } from './feedback.js';
|
|
2
|
+
import { runLaunch } from './launch.js';
|
|
3
|
+
import { parseLaunchUrl } from './url.js';
|
|
4
|
+
/** A value that may not exist yet; `get()` waits for it. */
|
|
5
|
+
function slot() {
|
|
6
|
+
let value;
|
|
7
|
+
let waiters = [];
|
|
8
|
+
return {
|
|
9
|
+
set(next) {
|
|
10
|
+
value = next;
|
|
11
|
+
if (next === undefined)
|
|
12
|
+
return;
|
|
13
|
+
for (const resolve of waiters)
|
|
14
|
+
resolve(next);
|
|
15
|
+
waiters = [];
|
|
16
|
+
},
|
|
17
|
+
get() {
|
|
18
|
+
return value !== undefined
|
|
19
|
+
? Promise.resolve(value)
|
|
20
|
+
: new Promise((resolve) => waiters.push(resolve));
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Turns incoming URLs into launches. Each token runs once and launches run one
|
|
26
|
+
* at a time. A URL can arrive before the app is ready (Expo Router hands over
|
|
27
|
+
* the initial URL before the root layout mounts), so each launch waits for
|
|
28
|
+
* `configure()` and navigation waits for `setNavigator()`.
|
|
29
|
+
*/
|
|
30
|
+
export function createLaunchController() {
|
|
31
|
+
let state = { status: 'idle' };
|
|
32
|
+
const listeners = new Set();
|
|
33
|
+
const seen = new Set();
|
|
34
|
+
const queue = [];
|
|
35
|
+
const deps = slot();
|
|
36
|
+
const navigator = slot();
|
|
37
|
+
let running = false;
|
|
38
|
+
let lastScenarioId;
|
|
39
|
+
function setState(next) {
|
|
40
|
+
state = next;
|
|
41
|
+
for (const listener of listeners)
|
|
42
|
+
listener();
|
|
43
|
+
}
|
|
44
|
+
async function drain() {
|
|
45
|
+
if (running)
|
|
46
|
+
return;
|
|
47
|
+
running = true;
|
|
48
|
+
try {
|
|
49
|
+
for (let next = queue.shift(); next !== undefined; next = queue.shift()) {
|
|
50
|
+
const { token, source } = next;
|
|
51
|
+
const current = await deps.get();
|
|
52
|
+
setState({ status: 'launching', source });
|
|
53
|
+
const result = await runLaunch(token, {
|
|
54
|
+
...current,
|
|
55
|
+
navigate: async (path) => (await navigator.get())(path),
|
|
56
|
+
onStage: (stage) => setState({ status: 'launching', source, stage }),
|
|
57
|
+
});
|
|
58
|
+
if (result.ok)
|
|
59
|
+
lastScenarioId = scenarioIdFromToken(token);
|
|
60
|
+
setState(result.ok
|
|
61
|
+
? { status: 'done', source, path: result.path }
|
|
62
|
+
: { status: 'error', source, error: result.error });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
running = false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
/** Queues a launch if `url` carries a token not seen before. Returns whether it did. */
|
|
71
|
+
offer(url, source = 'link') {
|
|
72
|
+
const token = parseLaunchUrl(url);
|
|
73
|
+
if (!token || seen.has(token))
|
|
74
|
+
return false;
|
|
75
|
+
seen.add(token);
|
|
76
|
+
queue.push({ token, source });
|
|
77
|
+
void drain();
|
|
78
|
+
return true;
|
|
79
|
+
},
|
|
80
|
+
/** Supplies the seed hook URL and adapters; queued launches start once this is called. */
|
|
81
|
+
configure(next) {
|
|
82
|
+
deps.set(next);
|
|
83
|
+
},
|
|
84
|
+
/** Pass the router's navigate once it can navigate; undefined when it unmounts. */
|
|
85
|
+
setNavigator(next) {
|
|
86
|
+
navigator.set(next);
|
|
87
|
+
},
|
|
88
|
+
dismiss() {
|
|
89
|
+
if (state.status === 'error' || state.status === 'done')
|
|
90
|
+
setState({ status: 'idle' });
|
|
91
|
+
},
|
|
92
|
+
getState: () => state,
|
|
93
|
+
/** The scenario the app was last launched into, for attributing reports. */
|
|
94
|
+
lastScenarioId: () => lastScenarioId,
|
|
95
|
+
subscribe(listener) {
|
|
96
|
+
listeners.add(listener);
|
|
97
|
+
return () => {
|
|
98
|
+
listeners.delete(listener);
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/core/controller.ts"],"names":[],"mappings":"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"}
|