@fixback/expo 0.8.3 → 0.9.1
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/README.md +5 -7
- package/dist/FeedbackModal.d.ts +7 -2
- package/dist/FeedbackModal.js +30 -3
- package/dist/FeedbackModal.js.map +1 -1
- package/dist/FixbackProvider.js +5 -1
- package/dist/FixbackProvider.js.map +1 -1
- package/dist/adapters.js +5 -4
- package/dist/adapters.js.map +1 -1
- package/dist/breadcrumbs.d.ts +15 -51
- package/dist/breadcrumbs.js +22 -169
- package/dist/breadcrumbs.js.map +1 -1
- package/dist/client-boot.d.ts +40 -0
- package/dist/client-boot.js +269 -0
- package/dist/client-boot.js.map +1 -0
- package/dist/client-connect.d.ts +33 -0
- package/dist/client-connect.js +306 -0
- package/dist/client-connect.js.map +1 -0
- package/dist/client-replay.d.ts +31 -0
- package/dist/client-replay.js +165 -0
- package/dist/client-replay.js.map +1 -0
- package/dist/client-state.d.ts +131 -0
- package/dist/client-state.js +158 -0
- package/dist/client-state.js.map +1 -0
- package/dist/client.d.ts +10 -245
- package/dist/client.js +80 -787
- package/dist/client.js.map +1 -1
- package/dist/error-capture.js +6 -26
- package/dist/error-capture.js.map +1 -1
- package/dist/identity.d.ts +0 -2
- package/dist/identity.js +0 -3
- package/dist/identity.js.map +1 -1
- package/dist/options.d.ts +263 -0
- package/dist/options.js +12 -0
- package/dist/options.js.map +1 -0
- package/dist/report.d.ts +13 -12
- package/dist/report.js +19 -38
- package/dist/report.js.map +1 -1
- package/dist/submit.d.ts +10 -37
- package/dist/submit.js +14 -64
- package/dist/submit.js.map +1 -1
- package/dist/tokens.d.ts +8 -3
- package/dist/tokens.js +12 -6
- package/dist/tokens.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -285,14 +285,12 @@ claim page does.
|
|
|
285
285
|
|
|
286
286
|
### Sign in with Apple
|
|
287
287
|
|
|
288
|
+
Fixback's connect page does **not** offer Sign in with Apple for now. It offers
|
|
289
|
+
Google, GitHub, and the magic link, and the Apple door is hidden until it is set up
|
|
290
|
+
([ADR](https://github.com/wemuda/fixback/blob/master/docs/adr/2026-10-01-sign-in-with-apple-is-hidden-until-configured.md)).
|
|
288
291
|
Because Connect offers **Google** sign-in inside an iOS app, Apple's App Store
|
|
289
|
-
Review Guideline 4.8
|
|
290
|
-
|
|
291
|
-
alongside Google, GitHub, and the magic link ([ADR-0037](https://github.com/wemuda/fixback/blob/master/docs/adr/0037-sign-in-with-apple-as-a-connect-door.md)),
|
|
292
|
-
so an iOS app that uses Connect satisfies Guideline 4.8. Nothing is required of
|
|
293
|
-
your app — the door is on the platform's connect page, which the SDK already
|
|
294
|
-
opens. Choosing Apple's **Hide My Email** signs the person in under a private
|
|
295
|
-
relay address, which becomes its own Fixback Account.
|
|
292
|
+
Review Guideline 4.8 can require an equivalent login option for apps distributed
|
|
293
|
+
on the App Store. Check your app against it before you submit.
|
|
296
294
|
|
|
297
295
|
## Options
|
|
298
296
|
|
package/dist/FeedbackModal.d.ts
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* Deliberately thin: every decision beyond local UI state lives in
|
|
25
25
|
* `client.ts`, which is where the behaviour is unit-tested.
|
|
26
26
|
*/
|
|
27
|
-
import type
|
|
27
|
+
import { type MaintenanceNotice, type ReporterIdentity } from "@fixback/sdk-core";
|
|
28
28
|
import type { ComposerDraft } from "./client";
|
|
29
29
|
import type { ScreenshotFile, SubmitResult } from "./submit";
|
|
30
30
|
/** What the provider wires into the composer. */
|
|
@@ -40,7 +40,12 @@ export interface FeedbackModalProps {
|
|
|
40
40
|
readonly onSignOut: () => void;
|
|
41
41
|
readonly onDismiss: () => void;
|
|
42
42
|
readonly onSubmit: (draft: ComposerDraft) => Promise<SubmitResult>;
|
|
43
|
+
/**
|
|
44
|
+
* **Maintenance mode**'s notice while Fixback is down for maintenance (the maintenance-mode
|
|
45
|
+
* ADR): shown above the comment, with Send off until it ends. What the Reporter typed stays.
|
|
46
|
+
*/
|
|
47
|
+
readonly maintenance?: MaintenanceNotice | null;
|
|
43
48
|
/** Release a screenshot the Reporter removed or abandoned (spec 0004 §C). */
|
|
44
49
|
readonly onDiscardScreenshot?: (screenshot: ScreenshotFile) => void;
|
|
45
50
|
}
|
|
46
|
-
export declare function FeedbackModal({ visible, screenshot, identity, onSignIn, onSignOut, onDismiss, onSubmit, onDiscardScreenshot, }: FeedbackModalProps): import("react").JSX.Element;
|
|
51
|
+
export declare function FeedbackModal({ visible, screenshot, identity, onSignIn, onSignOut, onDismiss, onSubmit, onDiscardScreenshot, maintenance, }: FeedbackModalProps): import("react").JSX.Element;
|
package/dist/FeedbackModal.js
CHANGED
|
@@ -30,6 +30,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
30
30
|
*/
|
|
31
31
|
const react_1 = require("react");
|
|
32
32
|
const react_native_1 = require("react-native");
|
|
33
|
+
const sdk_core_1 = require("@fixback/sdk-core");
|
|
33
34
|
const tokens_1 = require("./tokens");
|
|
34
35
|
const MONO_FONT = react_native_1.Platform.select({ ios: "Menlo", default: "monospace" });
|
|
35
36
|
/** How long the "Report sent" confirmation lingers before the composer closes. */
|
|
@@ -45,7 +46,7 @@ function BrandMark() {
|
|
|
45
46
|
function LockGlyph() {
|
|
46
47
|
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.lock, accessibilityElementsHidden: true, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.lockShackle }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.lockBody })] }));
|
|
47
48
|
}
|
|
48
|
-
function FeedbackModal({ visible, screenshot, identity, onSignIn, onSignOut, onDismiss, onSubmit, onDiscardScreenshot, }) {
|
|
49
|
+
function FeedbackModal({ visible, screenshot, identity, onSignIn, onSignOut, onDismiss, onSubmit, onDiscardScreenshot, maintenance = null, }) {
|
|
49
50
|
const [comment, setComment] = (0, react_1.useState)("");
|
|
50
51
|
const [includeScreenshot, setIncludeScreenshot] = (0, react_1.useState)(true);
|
|
51
52
|
const [phase, setPhase] = (0, react_1.useState)("compose");
|
|
@@ -65,9 +66,12 @@ function FeedbackModal({ visible, screenshot, identity, onSignIn, onSignOut, onD
|
|
|
65
66
|
};
|
|
66
67
|
}, [visible]);
|
|
67
68
|
const busy = phase === "sending" || phase === "sent";
|
|
69
|
+
// Send is off while maintenance mode's notice shows: a report sent now would only be held.
|
|
70
|
+
const notice = maintenance ? (0, sdk_core_1.maintenanceCopy)(maintenance) : null;
|
|
71
|
+
const sendDisabled = busy || notice !== null;
|
|
68
72
|
const connected = identity.status === "connected";
|
|
69
73
|
async function send() {
|
|
70
|
-
if (
|
|
74
|
+
if (sendDisabled)
|
|
71
75
|
return;
|
|
72
76
|
setPhase("sending");
|
|
73
77
|
// No Kind on the draft — analysis classifies the Issue server-side (ADR-0023).
|
|
@@ -79,6 +83,10 @@ function FeedbackModal({ visible, screenshot, identity, onSignIn, onSignOut, onD
|
|
|
79
83
|
setPhase("sent");
|
|
80
84
|
dismissTimer.current = setTimeout(onDismiss, SENT_DISMISS_MS);
|
|
81
85
|
}
|
|
86
|
+
else if (result.reason === "maintenance") {
|
|
87
|
+
// Held for maintenance: a notice, not a failure — the client shows it, and the draft stays.
|
|
88
|
+
setPhase("compose");
|
|
89
|
+
}
|
|
82
90
|
else {
|
|
83
91
|
setPhase("failed");
|
|
84
92
|
}
|
|
@@ -105,7 +113,7 @@ function FeedbackModal({ visible, screenshot, identity, onSignIn, onSignOut, onD
|
|
|
105
113
|
const showScreenshot = screenshot !== null && includeScreenshot;
|
|
106
114
|
return ((0, jsx_runtime_1.jsx)(react_native_1.Modal, { visible: visible, transparent: true, animationType: "slide", onRequestClose: dismiss, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.backdrop, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: styles.backdropTouch, accessibilityLabel: "Dismiss feedback", onPress: dismiss }), (0, jsx_runtime_1.jsx)(react_native_1.KeyboardAvoidingView, { behavior: react_native_1.Platform.OS === "ios" ? "padding" : undefined, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.sheet, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [(0, jsx_runtime_1.jsx)(BrandMark, {}), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.headings, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.title, numberOfLines: 1, children: "Report a problem" }), connected ? ((0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.identityLine, numberOfLines: 1, children: [identity.name || identity.email, identity.tier ? ((0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.tier, children: [" \u00B7 ", identity.tier] })) : null] })) : ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.identityLine, numberOfLines: 1, children: "Reporting anonymously" }))] }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: connected ? "Sign out" : "Sign in", disabled: busy, onPress: connected ? onSignOut : onSignIn, style: [styles.auth, connected ? styles.authGhost : styles.authAccent], children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: connected ? styles.authGhostLabel : styles.authAccentLabel, children: connected ? "Sign out" : "Sign in" }) }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: "Close", onPress: dismiss, style: styles.close, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.closeGlyph, children: "\u2715" }) })] }), phase === "sent" ? (
|
|
107
115
|
// The web panel keeps its header and swaps the form for a confirmation.
|
|
108
|
-
(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.done, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.doneCheck, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.doneCheckMark, children: "\u2713" }) }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.doneTitle, children: "Report sent" }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.doneSub, children: "Thanks \u2014 the team can see it now." })] })) : ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.body, children: [(0, jsx_runtime_1.jsx)(react_native_1.TextInput, { style: styles.comment, multiline: true, editable: !busy, placeholder: "Describe what you saw or want\u2026", placeholderTextColor: tokens_1.signal.textSubtle, value: comment, onChangeText: setComment, accessibilityLabel: "Comment" }), showScreenshot ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.marksHead, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.overline, children: "Screenshot" }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.spacer }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.optional, children: "optional" })] }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.markRow, children: [(0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: screenshot.uri }, style: styles.markThumb, resizeMode: "cover", accessibilityLabel: "Screenshot preview" }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.markBody, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.markTitle, children: "Screenshot" }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.markMeta, children: "Exactly this image is sent \u2014 remove it if it shows something private." })] }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: "Remove screenshot", disabled: busy, onPress: removeScreenshot, style: styles.remove, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.removeLabel, children: "Remove" }) })] })] })) : null, (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.locked, children: [(0, jsx_runtime_1.jsx)(LockGlyph, {}), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.lockedText, children: "Replay, console & network always included" })] }), phase === "failed" ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.failed, children: "Couldn't send \u2014 check your connection and try again." })) : null, (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.footer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: "Cancel", onPress: dismiss, style: styles.cancel, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.cancelLabel, children: "Cancel" }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.spacer }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: "Send", disabled:
|
|
116
|
+
(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.done, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.doneCheck, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.doneCheckMark, children: "\u2713" }) }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.doneTitle, children: "Report sent" }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.doneSub, children: "Thanks \u2014 the team can see it now." })] })) : ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.body, children: [notice ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.maintenance, accessibilityRole: "alert", accessibilityLiveRegion: "polite", children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.maintenanceTitle, children: notice.headline }), notice.message ? (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.maintenanceLine, children: notice.message }) : null, (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.maintenanceLine, children: notice.when })] })) : null, (0, jsx_runtime_1.jsx)(react_native_1.TextInput, { style: styles.comment, multiline: true, editable: !busy, placeholder: "Describe what you saw or want\u2026", placeholderTextColor: tokens_1.signal.textSubtle, value: comment, onChangeText: setComment, accessibilityLabel: "Comment" }), showScreenshot ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.marksHead, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.overline, children: "Screenshot" }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.spacer }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.optional, children: "optional" })] }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.markRow, children: [(0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: screenshot.uri }, style: styles.markThumb, resizeMode: "cover", accessibilityLabel: "Screenshot preview" }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.markBody, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.markTitle, children: "Screenshot" }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.markMeta, children: "Exactly this image is sent \u2014 remove it if it shows something private." })] }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: "Remove screenshot", disabled: busy, onPress: removeScreenshot, style: styles.remove, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.removeLabel, children: "Remove" }) })] })] })) : null, (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.locked, children: [(0, jsx_runtime_1.jsx)(LockGlyph, {}), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.lockedText, children: "Replay, console & network always included" })] }), phase === "failed" ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.failed, children: "Couldn't send \u2014 check your connection and try again." })) : null, (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.footer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: "Cancel", onPress: dismiss, style: styles.cancel, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.cancelLabel, children: "Cancel" }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.spacer }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityLabel: "Send", disabled: sendDisabled, onPress: () => void send(), style: [styles.sendButton, sendDisabled && styles.sendButtonBusy], children: phase === "sending" ? ((0, jsx_runtime_1.jsx)(react_native_1.ActivityIndicator, { size: "small", color: tokens_1.signal.onEmphasis })) : ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.sendLabel, children: "Send" })) })] })] }))] }) })] }) }));
|
|
109
117
|
}
|
|
110
118
|
const styles = react_native_1.StyleSheet.create({
|
|
111
119
|
backdrop: {
|
|
@@ -347,6 +355,25 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
347
355
|
color: tokens_1.signal.danger,
|
|
348
356
|
marginTop: 8,
|
|
349
357
|
},
|
|
358
|
+
maintenance: {
|
|
359
|
+
borderWidth: 1,
|
|
360
|
+
borderColor: tokens_1.signal.warningBorder,
|
|
361
|
+
backgroundColor: tokens_1.signal.warningSurface,
|
|
362
|
+
borderRadius: 8,
|
|
363
|
+
paddingVertical: 9,
|
|
364
|
+
paddingHorizontal: 11,
|
|
365
|
+
marginBottom: 10,
|
|
366
|
+
gap: 2,
|
|
367
|
+
},
|
|
368
|
+
maintenanceTitle: {
|
|
369
|
+
fontSize: 13,
|
|
370
|
+
fontWeight: "600",
|
|
371
|
+
color: tokens_1.signal.warningText,
|
|
372
|
+
},
|
|
373
|
+
maintenanceLine: {
|
|
374
|
+
fontSize: 12,
|
|
375
|
+
color: tokens_1.signal.warningText,
|
|
376
|
+
},
|
|
350
377
|
footer: {
|
|
351
378
|
flexDirection: "row",
|
|
352
379
|
alignItems: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackModal.js","sourceRoot":"","sources":["../src/FeedbackModal.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeedbackModal.js","sourceRoot":"","sources":["../src/FeedbackModal.tsx"],"names":[],"mappings":"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"}
|
package/dist/FixbackProvider.js
CHANGED
|
@@ -67,14 +67,18 @@ function FixbackProvider({ options, children }) {
|
|
|
67
67
|
const [status, setStatus] = (0, react_1.useState)(client.getStatus());
|
|
68
68
|
const [identity, setIdentity] = (0, react_1.useState)(() => client.identity());
|
|
69
69
|
const [composer, setComposer] = (0, react_1.useState)(null);
|
|
70
|
+
// Maintenance mode's notice (the maintenance-mode ADR): the composer opens onto it.
|
|
71
|
+
const [maintenance, setMaintenance] = (0, react_1.useState)(() => client.maintenance());
|
|
70
72
|
const composerOpenRef = (0, react_1.useRef)(false);
|
|
71
73
|
(0, react_1.useEffect)(() => {
|
|
72
74
|
const unsubscribe = client.onStatus(setStatus);
|
|
73
75
|
const unsubscribeIdentity = client.onIdentity(setIdentity);
|
|
76
|
+
const unsubscribeMaintenance = client.onMaintenance(setMaintenance);
|
|
74
77
|
void client.start();
|
|
75
78
|
return () => {
|
|
76
79
|
unsubscribe();
|
|
77
80
|
unsubscribeIdentity();
|
|
81
|
+
unsubscribeMaintenance();
|
|
78
82
|
client.destroy();
|
|
79
83
|
};
|
|
80
84
|
}, [client]);
|
|
@@ -136,7 +140,7 @@ function FixbackProvider({ options, children }) {
|
|
|
136
140
|
activeHandle = null;
|
|
137
141
|
};
|
|
138
142
|
}, [handle]);
|
|
139
|
-
return ((0, jsx_runtime_1.jsxs)(FixbackContext.Provider, { value: handle, children: [children, (0, jsx_runtime_1.jsx)(FeedbackModal_1.FeedbackModal, { visible: composer !== null, screenshot: composer?.screenshot ?? null, identity: identity, onSignIn: () => {
|
|
143
|
+
return ((0, jsx_runtime_1.jsxs)(FixbackContext.Provider, { value: handle, children: [children, (0, jsx_runtime_1.jsx)(FeedbackModal_1.FeedbackModal, { visible: composer !== null, screenshot: composer?.screenshot ?? null, identity: identity, maintenance: maintenance, onSignIn: () => {
|
|
140
144
|
void client.signIn();
|
|
141
145
|
}, onSignOut: () => {
|
|
142
146
|
void client.signOut();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FixbackProvider.js","sourceRoot":"","sources":["../src/FixbackProvider.tsx"],"names":[],"mappings":";;;AA6FA,gCAEC;AA8BD,
|
|
1
|
+
{"version":3,"file":"FixbackProvider.js","sourceRoot":"","sources":["../src/FixbackProvider.tsx"],"names":[],"mappings":"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"}
|
package/dist/adapters.js
CHANGED
|
@@ -167,12 +167,13 @@ function createNativeAdapters() {
|
|
|
167
167
|
captureScreenshot,
|
|
168
168
|
releaseScreenshot,
|
|
169
169
|
// Session replay (ADR-0044): frame capture through the same view-shot module, and
|
|
170
|
-
// the encode through our own Expo module
|
|
171
|
-
//
|
|
172
|
-
//
|
|
170
|
+
// the encode through our own Expo module — handed over only when its native half is
|
|
171
|
+
// linked. In Expo Go, or a build that never ran `expo prebuild`, there is none, so
|
|
172
|
+
// the client records no frames it could never encode, says why in a development
|
|
173
|
+
// build, and reports without replay (#661).
|
|
173
174
|
captureReplayFrame,
|
|
174
175
|
releaseReplayFrame: releaseScreenshot,
|
|
175
|
-
encodeReplaySegment: expo_replay_encoder_1.encodeSegment,
|
|
176
|
+
encodeReplaySegment: expo_replay_encoder_1.isEncoderAvailable ? expo_replay_encoder_1.encodeSegment : undefined,
|
|
176
177
|
consoleObj: (0, breadcrumbs_1.globalConsole)() ?? null,
|
|
177
178
|
xhr: (0, breadcrumbs_1.globalXhr)() ?? null,
|
|
178
179
|
errorUtils: (0, error_capture_1.globalErrorUtils)() ?? null,
|
package/dist/adapters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGH,
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/breadcrumbs.d.ts
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* The Expo SDK's **React Native capture instrumentation** — the runtime seams, and
|
|
3
3
|
* nothing else.
|
|
4
4
|
*
|
|
5
|
-
* The trace buffer, the crumb builders, the caps and eviction rules,
|
|
6
|
-
* `
|
|
5
|
+
* The trace buffer, the crumb builders, the caps and eviction rules, the `console`
|
|
6
|
+
* wrapper, and the `XMLHttpRequest` patch are all shared with the browser SDK through
|
|
7
7
|
* `@fixback/sdk-core` (ADR-0028, replacing the file-parallel port ADR-0021
|
|
8
8
|
* described), so the server and dashboard cannot tell a mobile trace from a web one.
|
|
9
|
-
* What is left here is genuinely mobile: how to find React Native's globals, and
|
|
10
|
-
* the
|
|
9
|
+
* What is left here is genuinely mobile: how to find React Native's globals, and how
|
|
10
|
+
* the shared XHR patch is bound to them.
|
|
11
11
|
*
|
|
12
12
|
* Mobile mappings (spec 0004 §D): network capture patches `XMLHttpRequest` **only**
|
|
13
13
|
* — React Native's `fetch` is a polyfill over XHR, so wrapping both would
|
|
@@ -16,60 +16,24 @@
|
|
|
16
16
|
* yet and simply never occur.
|
|
17
17
|
*
|
|
18
18
|
* Everything private is kept out at the source: network crumbs carry method + URL +
|
|
19
|
-
* status metadata only, **never** bodies
|
|
20
|
-
*
|
|
21
|
-
* id**'s W3C `traceparent` (grill 2026-09-24
|
|
22
|
-
* app lists in `propagateTo` (`./propagation`)
|
|
19
|
+
* status metadata only, **never** bodies (the web-only body opt-in is never passed
|
|
20
|
+
* here), and URLs are scrubbed as the crumb is built. The one header the patch touches
|
|
21
|
+
* is the one it mints — the **Correlation id**'s W3C `traceparent` (grill 2026-09-24
|
|
22
|
+
* D2; #540), sent only to the origins the app lists in `propagateTo` (`./propagation`)
|
|
23
|
+
* — and no header value is ever read. The patch carries it under React Native's
|
|
24
|
+
* `"per-request"` rule: the app's header always wins — one set before `send` means
|
|
25
|
+
* Fixback adds none, and one set after ours (a `send` wrapper installed before
|
|
26
|
+
* Fixback's) replaces it, because React Native's XHR sends the last value a header was
|
|
27
|
+
* given — so the crumb then records no id rather than one the request did not carry.
|
|
23
28
|
* The SDK must never throw into the host app, so every hook is wrapped: a capture
|
|
24
29
|
* failure is swallowed and the original behaviour always runs.
|
|
25
30
|
*/
|
|
26
|
-
import { type BreadcrumbBuffer, type BreadcrumbLevel, type ConsoleLike, type Teardown } from "@fixback/sdk-core";
|
|
27
|
-
|
|
28
|
-
export type { ConsoleLike, Teardown };
|
|
31
|
+
import { type BreadcrumbBuffer, type BreadcrumbLevel, type ConsoleLike, type Teardown, type XhrConstructor, type XhrInstance } from "@fixback/sdk-core";
|
|
32
|
+
export type { ConsoleLike, Teardown, XhrConstructor, XhrInstance };
|
|
29
33
|
/** React Native's global `console`, when present. */
|
|
30
34
|
export declare function globalConsole(): ConsoleLike | undefined;
|
|
31
|
-
/** The XHR instance surface the network instrumentation touches. */
|
|
32
|
-
export interface XhrInstance {
|
|
33
|
-
status: number;
|
|
34
|
-
statusText?: string;
|
|
35
|
-
open(method: string, url: string | {
|
|
36
|
-
toString(): string;
|
|
37
|
-
}, ...rest: unknown[]): void;
|
|
38
|
-
send(body?: unknown): void;
|
|
39
|
-
/** How the Correlation id's `traceparent` goes on. Absent ⇒ no header and no id. */
|
|
40
|
-
setRequestHeader?(name: string, value: string): void;
|
|
41
|
-
getResponseHeader?(name: string): string | null;
|
|
42
|
-
addEventListener(type: string, listener: () => void): void;
|
|
43
|
-
removeEventListener(type: string, listener: () => void): void;
|
|
44
|
-
}
|
|
45
|
-
/** The XHR constructor whose prototype is patched — injectable for tests. */
|
|
46
|
-
export interface XhrConstructor {
|
|
47
|
-
new (): XhrInstance;
|
|
48
|
-
prototype: XhrInstance;
|
|
49
|
-
}
|
|
50
35
|
/** React Native's global `XMLHttpRequest`, when present. */
|
|
51
36
|
export declare function globalXhr(): XhrConstructor | undefined;
|
|
52
|
-
/**
|
|
53
|
-
* Patch `XMLHttpRequest` to record a rich network crumb when a request settles.
|
|
54
|
-
* On React Native this is the **single** network hook: the built-in `fetch` is
|
|
55
|
-
* a polyfill over XHR, so its traffic is captured here too (as `xhr` crumbs)
|
|
56
|
-
* and `fetch` itself is deliberately not wrapped — wrapping both would record
|
|
57
|
-
* every request twice (spec 0004 §D). The `send` body argument is **never read
|
|
58
|
-
* for content** — only its trivially-known size.
|
|
59
|
-
*
|
|
60
|
-
* It also carries the **Correlation id** (grill 2026-09-24 D2; #540), so one patch
|
|
61
|
-
* covers `fetch` too: on `send`, a request whose origin the app listed in
|
|
62
|
-
* `propagateTo` (`./propagation`; nothing by default) gets a freshly minted W3C
|
|
63
|
-
* `traceparent` through the original `setRequestHeader`, and its crumb records the
|
|
64
|
-
* trace id as `requestId`. The patched `setRequestHeader` notes only a header's
|
|
65
|
-
* **name** — whether the app set its own `traceparent` — never a value, and the app's
|
|
66
|
-
* header always wins: one set before `send` means Fixback adds none, and one set after
|
|
67
|
-
* ours (a `send` wrapper installed before Fixback's) replaces it, because React
|
|
68
|
-
* Native's XHR sends the last value a header was given — so the crumb then records no
|
|
69
|
-
* id rather than one the request did not carry. A `setRequestHeader` that is missing
|
|
70
|
-
* or throws degrades to "no header, no id", and the original `send` always runs.
|
|
71
|
-
*/
|
|
72
|
-
export declare function instrumentXhr(buffer: BreadcrumbBuffer, ctor: XhrConstructor | undefined, ignoreUrl: (url: string) => boolean, now: () => number, mono?: () => number, propagate?: PropagationFilter): Teardown;
|
|
73
37
|
/** Options for {@link instrumentBreadcrumbs}. */
|
|
74
38
|
export interface InstrumentOptions {
|
|
75
39
|
readonly consoleObj?: ConsoleLike | null;
|
package/dist/breadcrumbs.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* The Expo SDK's **React Native capture instrumentation** — the runtime seams, and
|
|
4
4
|
* nothing else.
|
|
5
5
|
*
|
|
6
|
-
* The trace buffer, the crumb builders, the caps and eviction rules,
|
|
7
|
-
* `
|
|
6
|
+
* The trace buffer, the crumb builders, the caps and eviction rules, the `console`
|
|
7
|
+
* wrapper, and the `XMLHttpRequest` patch are all shared with the browser SDK through
|
|
8
8
|
* `@fixback/sdk-core` (ADR-0028, replacing the file-parallel port ADR-0021
|
|
9
9
|
* described), so the server and dashboard cannot tell a mobile trace from a web one.
|
|
10
|
-
* What is left here is genuinely mobile: how to find React Native's globals, and
|
|
11
|
-
* the
|
|
10
|
+
* What is left here is genuinely mobile: how to find React Native's globals, and how
|
|
11
|
+
* the shared XHR patch is bound to them.
|
|
12
12
|
*
|
|
13
13
|
* Mobile mappings (spec 0004 §D): network capture patches `XMLHttpRequest` **only**
|
|
14
14
|
* — React Native's `fetch` is a polyfill over XHR, so wrapping both would
|
|
@@ -17,23 +17,24 @@
|
|
|
17
17
|
* yet and simply never occur.
|
|
18
18
|
*
|
|
19
19
|
* Everything private is kept out at the source: network crumbs carry method + URL +
|
|
20
|
-
* status metadata only, **never** bodies
|
|
21
|
-
*
|
|
22
|
-
* id**'s W3C `traceparent` (grill 2026-09-24
|
|
23
|
-
* app lists in `propagateTo` (`./propagation`)
|
|
20
|
+
* status metadata only, **never** bodies (the web-only body opt-in is never passed
|
|
21
|
+
* here), and URLs are scrubbed as the crumb is built. The one header the patch touches
|
|
22
|
+
* is the one it mints — the **Correlation id**'s W3C `traceparent` (grill 2026-09-24
|
|
23
|
+
* D2; #540), sent only to the origins the app lists in `propagateTo` (`./propagation`)
|
|
24
|
+
* — and no header value is ever read. The patch carries it under React Native's
|
|
25
|
+
* `"per-request"` rule: the app's header always wins — one set before `send` means
|
|
26
|
+
* Fixback adds none, and one set after ours (a `send` wrapper installed before
|
|
27
|
+
* Fixback's) replaces it, because React Native's XHR sends the last value a header was
|
|
28
|
+
* given — so the crumb then records no id rather than one the request did not carry.
|
|
24
29
|
* The SDK must never throw into the host app, so every hook is wrapped: a capture
|
|
25
30
|
* failure is swallowed and the original behaviour always runs.
|
|
26
31
|
*/
|
|
27
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
33
|
exports.globalConsole = globalConsole;
|
|
29
34
|
exports.globalXhr = globalXhr;
|
|
30
|
-
exports.instrumentXhr = instrumentXhr;
|
|
31
35
|
exports.instrumentBreadcrumbs = instrumentBreadcrumbs;
|
|
32
36
|
const sdk_core_1 = require("@fixback/sdk-core");
|
|
33
37
|
const propagation_1 = require("./propagation");
|
|
34
|
-
function noop() {
|
|
35
|
-
/* nothing installed */
|
|
36
|
-
}
|
|
37
38
|
/** React Native's global `console`, when present. */
|
|
38
39
|
function globalConsole() {
|
|
39
40
|
const g = globalThis;
|
|
@@ -44,162 +45,6 @@ function globalXhr() {
|
|
|
44
45
|
const g = globalThis;
|
|
45
46
|
return typeof g.XMLHttpRequest === "function" ? g.XMLHttpRequest : undefined;
|
|
46
47
|
}
|
|
47
|
-
/** Read one XHR response header defensively — `null` when unavailable or on any throw. */
|
|
48
|
-
function safeXhrHeader(xhr, name) {
|
|
49
|
-
try {
|
|
50
|
-
return typeof xhr.getResponseHeader === "function"
|
|
51
|
-
? xhr.getResponseHeader(name)
|
|
52
|
-
: null;
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/** Read an XHR's `statusText` defensively — `undefined` when empty or on any throw. */
|
|
59
|
-
function safeXhrStatusText(xhr) {
|
|
60
|
-
try {
|
|
61
|
-
return xhr.statusText || undefined;
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Patch `XMLHttpRequest` to record a rich network crumb when a request settles.
|
|
69
|
-
* On React Native this is the **single** network hook: the built-in `fetch` is
|
|
70
|
-
* a polyfill over XHR, so its traffic is captured here too (as `xhr` crumbs)
|
|
71
|
-
* and `fetch` itself is deliberately not wrapped — wrapping both would record
|
|
72
|
-
* every request twice (spec 0004 §D). The `send` body argument is **never read
|
|
73
|
-
* for content** — only its trivially-known size.
|
|
74
|
-
*
|
|
75
|
-
* It also carries the **Correlation id** (grill 2026-09-24 D2; #540), so one patch
|
|
76
|
-
* covers `fetch` too: on `send`, a request whose origin the app listed in
|
|
77
|
-
* `propagateTo` (`./propagation`; nothing by default) gets a freshly minted W3C
|
|
78
|
-
* `traceparent` through the original `setRequestHeader`, and its crumb records the
|
|
79
|
-
* trace id as `requestId`. The patched `setRequestHeader` notes only a header's
|
|
80
|
-
* **name** — whether the app set its own `traceparent` — never a value, and the app's
|
|
81
|
-
* header always wins: one set before `send` means Fixback adds none, and one set after
|
|
82
|
-
* ours (a `send` wrapper installed before Fixback's) replaces it, because React
|
|
83
|
-
* Native's XHR sends the last value a header was given — so the crumb then records no
|
|
84
|
-
* id rather than one the request did not carry. A `setRequestHeader` that is missing
|
|
85
|
-
* or throws degrades to "no header, no id", and the original `send` always runs.
|
|
86
|
-
*/
|
|
87
|
-
function instrumentXhr(buffer, ctor, ignoreUrl, now, mono = sdk_core_1.nowMono,
|
|
88
|
-
// Which requests carry the Correlation id: the origins the app listed in
|
|
89
|
-
// `propagateTo`, threaded in by the composite — nothing by default.
|
|
90
|
-
propagate = (0, propagation_1.createPropagationFilter)()) {
|
|
91
|
-
if (typeof ctor !== "function")
|
|
92
|
-
return noop;
|
|
93
|
-
const proto = ctor.prototype;
|
|
94
|
-
const originalOpen = proto.open;
|
|
95
|
-
const originalSend = proto.send;
|
|
96
|
-
const originalSetRequestHeader = proto.setRequestHeader;
|
|
97
|
-
const canSetHeader = typeof originalSetRequestHeader === "function";
|
|
98
|
-
proto.open = function (method, url, ...rest) {
|
|
99
|
-
// A new request: nothing the app set on an earlier one, and no id yet.
|
|
100
|
-
this.__fixbackMeta = {
|
|
101
|
-
method: String(method).toUpperCase(),
|
|
102
|
-
url: String(url),
|
|
103
|
-
appTraceparent: false,
|
|
104
|
-
};
|
|
105
|
-
return originalOpen.call(this, method, url, ...rest);
|
|
106
|
-
};
|
|
107
|
-
if (canSetHeader) {
|
|
108
|
-
proto.setRequestHeader = function (name, value) {
|
|
109
|
-
try {
|
|
110
|
-
const meta = this.__fixbackMeta;
|
|
111
|
-
if (meta && (0, sdk_core_1.isTraceparentHeader)(name))
|
|
112
|
-
meta.appTraceparent = true;
|
|
113
|
-
}
|
|
114
|
-
catch {
|
|
115
|
-
/* noting a header name must never break the app's own call */
|
|
116
|
-
}
|
|
117
|
-
return originalSetRequestHeader.call(this, name, value);
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Put a freshly minted `traceparent` on a request about to be sent, remembering the
|
|
122
|
-
* Correlation id its crumb records — unless the request is not one to propagate to,
|
|
123
|
-
* the app set its own, this request already carries ours (a repeated `send`), or
|
|
124
|
-
* setting it throws. Calls the original `setRequestHeader`, so Fixback's own header is
|
|
125
|
-
* never mistaken for the app's.
|
|
126
|
-
*/
|
|
127
|
-
const stampCorrelationId = (xhr, meta) => {
|
|
128
|
-
if (!canSetHeader || meta.appTraceparent || meta.correlationId !== undefined)
|
|
129
|
-
return;
|
|
130
|
-
try {
|
|
131
|
-
if (!propagate(meta.url))
|
|
132
|
-
return;
|
|
133
|
-
const minted = (0, sdk_core_1.mintTraceparent)();
|
|
134
|
-
originalSetRequestHeader.call(xhr, sdk_core_1.TRACEPARENT_HEADER, minted.header);
|
|
135
|
-
meta.correlationId = minted.correlationId;
|
|
136
|
-
}
|
|
137
|
-
catch {
|
|
138
|
-
/* no header, no id — and the request still goes out */
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
proto.send = function (body) {
|
|
142
|
-
const meta = this.__fixbackMeta;
|
|
143
|
-
if (meta && !ignoreUrl(meta.url)) {
|
|
144
|
-
stampCorrelationId(this, meta);
|
|
145
|
-
const started = mono();
|
|
146
|
-
const reqSize = (0, sdk_core_1.trivialBodySize)(body);
|
|
147
|
-
// The terminal event names the outcome; `loadend` always follows exactly
|
|
148
|
-
// one of load/error/timeout/abort, so by record time `settled` is set.
|
|
149
|
-
let settled;
|
|
150
|
-
const onLoad = () => {
|
|
151
|
-
settled = (0, sdk_core_1.outcomeFromStatus)(this.status || undefined);
|
|
152
|
-
};
|
|
153
|
-
const onError = () => {
|
|
154
|
-
settled = "network-error";
|
|
155
|
-
};
|
|
156
|
-
const onTimeout = () => {
|
|
157
|
-
settled = "timeout";
|
|
158
|
-
};
|
|
159
|
-
const onAbort = () => {
|
|
160
|
-
settled = "aborted";
|
|
161
|
-
};
|
|
162
|
-
const onDone = () => {
|
|
163
|
-
try {
|
|
164
|
-
buffer.add((0, sdk_core_1.networkCrumb)({
|
|
165
|
-
api: "xhr",
|
|
166
|
-
method: meta.method,
|
|
167
|
-
url: meta.url,
|
|
168
|
-
status: this.status || undefined,
|
|
169
|
-
statusText: safeXhrStatusText(this),
|
|
170
|
-
durationMs: Math.max(0, mono() - started),
|
|
171
|
-
reqSize,
|
|
172
|
-
respSize: (0, sdk_core_1.parseContentLength)(safeXhrHeader(this, "content-length")),
|
|
173
|
-
contentType: (0, sdk_core_1.contentTypeOf)(safeXhrHeader(this, "content-type")),
|
|
174
|
-
outcome: settled ?? (0, sdk_core_1.outcomeFromStatus)(this.status || undefined),
|
|
175
|
-
// Read at settle time: an app header set after ours replaced it.
|
|
176
|
-
requestId: meta.appTraceparent ? undefined : meta.correlationId,
|
|
177
|
-
}, now()));
|
|
178
|
-
}
|
|
179
|
-
catch {
|
|
180
|
-
/* never throw into the host app */
|
|
181
|
-
}
|
|
182
|
-
this.removeEventListener("load", onLoad);
|
|
183
|
-
this.removeEventListener("error", onError);
|
|
184
|
-
this.removeEventListener("timeout", onTimeout);
|
|
185
|
-
this.removeEventListener("abort", onAbort);
|
|
186
|
-
this.removeEventListener("loadend", onDone);
|
|
187
|
-
};
|
|
188
|
-
this.addEventListener("load", onLoad);
|
|
189
|
-
this.addEventListener("error", onError);
|
|
190
|
-
this.addEventListener("timeout", onTimeout);
|
|
191
|
-
this.addEventListener("abort", onAbort);
|
|
192
|
-
this.addEventListener("loadend", onDone);
|
|
193
|
-
}
|
|
194
|
-
return originalSend.call(this, body);
|
|
195
|
-
};
|
|
196
|
-
return () => {
|
|
197
|
-
proto.open = originalOpen;
|
|
198
|
-
proto.send = originalSend;
|
|
199
|
-
if (canSetHeader)
|
|
200
|
-
proto.setRequestHeader = originalSetRequestHeader;
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
48
|
/**
|
|
204
49
|
* Install the React Native capture hooks — the shared console wrapper and the XHR
|
|
205
50
|
* patch — and return a single teardown that removes them all. Each hook is
|
|
@@ -220,7 +65,15 @@ function instrumentBreadcrumbs(buffer, options = {}) {
|
|
|
220
65
|
teardowns.push((0, sdk_core_1.instrumentConsole)(buffer, consoleObj, levels, now));
|
|
221
66
|
}
|
|
222
67
|
if (captureNetwork) {
|
|
223
|
-
teardowns.push(instrumentXhr(buffer, xhr,
|
|
68
|
+
teardowns.push((0, sdk_core_1.instrumentXhr)(buffer, xhr, {
|
|
69
|
+
ignoreUrl,
|
|
70
|
+
now,
|
|
71
|
+
mono,
|
|
72
|
+
// Which requests carry the Correlation id: the origins the app listed in
|
|
73
|
+
// `propagateTo` — nothing by default — under React Native's rule (see above).
|
|
74
|
+
propagate: (0, propagation_1.createPropagationFilter)(options.propagateTo),
|
|
75
|
+
correlation: "per-request",
|
|
76
|
+
}));
|
|
224
77
|
}
|
|
225
78
|
return () => {
|
|
226
79
|
for (const teardown of teardowns) {
|