@fixback/expo 0.9.0 → 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/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 -253
- package/dist/client.js +73 -865
- 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 -46
- package/dist/submit.js +14 -79
- package/dist/submit.js.map +1 -1
- package/dist/tokens.d.ts +5 -3
- package/dist/tokens.js +8 -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/dist/submit.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The multipart feedback submission — the transport half of the capture loop.
|
|
3
3
|
*
|
|
4
|
-
* The endpoint, the identity compaction, the backpressure window,
|
|
5
|
-
* surface
|
|
4
|
+
* The endpoint, the identity compaction, the backpressure window, the `fetch`
|
|
5
|
+
* surface, and the POST's tail — the gate, the timeout, reading ingest's answer
|
|
6
|
+
* (`postFeedback`) — are all shared with the browser SDK through `@fixback/sdk-core`
|
|
6
7
|
* (ADR-0028); what stays here is the mobile envelope.
|
|
7
8
|
*
|
|
8
9
|
* `POST /api/ingest/feedback` is a multipart request: a single text part
|
|
@@ -22,17 +23,10 @@
|
|
|
22
23
|
* never breaks the host app. Automatic reports (`source: error`) honour ingest's
|
|
23
24
|
* `429` + `Retry-After` backpressure; manual reports are never gated.
|
|
24
25
|
*/
|
|
25
|
-
import { AutoReportBackoff,
|
|
26
|
+
import { AutoReportBackoff, type FetchLike, type IdentityInputs, type ReportContent, type SubmitResult } from "@fixback/sdk-core";
|
|
26
27
|
import { type FormDataFactory } from "./http";
|
|
27
28
|
import type { ReplayAttachment } from "./replay-encode";
|
|
28
|
-
export {
|
|
29
|
-
/** What ingest returns for an accepted submission (vendored server shape). */
|
|
30
|
-
export interface RecordedFeedback {
|
|
31
|
-
readonly feedbackId: string;
|
|
32
|
-
readonly issueId: string;
|
|
33
|
-
readonly reporterId: string;
|
|
34
|
-
readonly tier: ReporterTier;
|
|
35
|
-
}
|
|
29
|
+
export type { RecordedFeedback, SubmitResult } from "@fixback/sdk-core";
|
|
36
30
|
/**
|
|
37
31
|
* The captured screenshot to attach, if any — a React Native file reference.
|
|
38
32
|
* The server accepts png/jpeg/webp/gif up to 10 MiB; `react-native-view-shot`
|
|
@@ -56,40 +50,6 @@ export interface SubmitInput {
|
|
|
56
50
|
*/
|
|
57
51
|
readonly replay?: ReplayAttachment | null;
|
|
58
52
|
}
|
|
59
|
-
/** The outcome of a submission — never an exception. */
|
|
60
|
-
export type SubmitResult = {
|
|
61
|
-
readonly ok: true;
|
|
62
|
-
readonly feedback: RecordedFeedback | null;
|
|
63
|
-
} | {
|
|
64
|
-
readonly ok: false;
|
|
65
|
-
readonly reason: "unreachable" | "refused";
|
|
66
|
-
readonly status?: number;
|
|
67
|
-
} | {
|
|
68
|
-
/**
|
|
69
|
-
* A `source: error` report shed under ingest backpressure — either held
|
|
70
|
-
* locally because the window is still open, or answered `429` by ingest,
|
|
71
|
-
* which opened/extended the window. Manual reports never produce this.
|
|
72
|
-
*/
|
|
73
|
-
readonly ok: false;
|
|
74
|
-
readonly reason: "backpressure";
|
|
75
|
-
readonly retryAfterSeconds: number;
|
|
76
|
-
} | {
|
|
77
|
-
/**
|
|
78
|
-
* A manual report ingest held because Fixback is down for **maintenance** (the
|
|
79
|
-
* maintenance-mode ADR): `429` with the notice in the body. The composer shows the
|
|
80
|
-
* notice instead of a failure.
|
|
81
|
-
*/
|
|
82
|
-
readonly ok: false;
|
|
83
|
-
readonly reason: "maintenance";
|
|
84
|
-
readonly maintenance: MaintenanceNotice;
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* How long a submission may stay in flight before it is reported as
|
|
88
|
-
* `unreachable`. React Native's Android networking applies no default request
|
|
89
|
-
* timeout, so without this a stalled connection would hang a report forever.
|
|
90
|
-
* The abandoned request keeps running in the background harmlessly.
|
|
91
|
-
*/
|
|
92
|
-
export declare const DEFAULT_SUBMIT_TIMEOUT_MS = 30000;
|
|
93
53
|
/**
|
|
94
54
|
* Injectable transport collaborators, defaulted to the real implementations —
|
|
95
55
|
* the same deps-object shape `requestBoot` takes, `origin` included.
|
|
@@ -106,7 +66,11 @@ export interface SubmitDeps {
|
|
|
106
66
|
*/
|
|
107
67
|
readonly origin?: string;
|
|
108
68
|
readonly backoff?: AutoReportBackoff;
|
|
109
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* Overall request timeout in ms; `0` disables. Defaults to `DEFAULT_SUBMIT_TIMEOUT_MS`
|
|
71
|
+
* — React Native's Android networking applies no default request timeout, so without
|
|
72
|
+
* one a stalled connection would hang a report forever.
|
|
73
|
+
*/
|
|
110
74
|
readonly timeoutMs?: number;
|
|
111
75
|
}
|
|
112
76
|
/**
|
package/dist/submit.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* The multipart feedback submission — the transport half of the capture loop.
|
|
4
4
|
*
|
|
5
|
-
* The endpoint, the identity compaction, the backpressure window,
|
|
6
|
-
* surface
|
|
5
|
+
* The endpoint, the identity compaction, the backpressure window, the `fetch`
|
|
6
|
+
* surface, and the POST's tail — the gate, the timeout, reading ingest's answer
|
|
7
|
+
* (`postFeedback`) — are all shared with the browser SDK through `@fixback/sdk-core`
|
|
7
8
|
* (ADR-0028); what stays here is the mobile envelope.
|
|
8
9
|
*
|
|
9
10
|
* `POST /api/ingest/feedback` is a multipart request: a single text part
|
|
@@ -24,10 +25,8 @@
|
|
|
24
25
|
* `429` + `Retry-After` backpressure; manual reports are never gated.
|
|
25
26
|
*/
|
|
26
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.DEFAULT_SUBMIT_TIMEOUT_MS = exports.feedbackEndpoint = void 0;
|
|
28
28
|
exports.submitReport = submitReport;
|
|
29
29
|
const sdk_core_1 = require("@fixback/sdk-core");
|
|
30
|
-
Object.defineProperty(exports, "feedbackEndpoint", { enumerable: true, get: function () { return sdk_core_1.feedbackEndpoint; } });
|
|
31
30
|
const http_1 = require("./http");
|
|
32
31
|
/** The multipart field the screenshot binary is sent under (mirrors the server). */
|
|
33
32
|
const SCREENSHOT_FIELD = "screenshot";
|
|
@@ -38,22 +37,6 @@ const SCREENSHOT_FIELD = "screenshot";
|
|
|
38
37
|
* (ADR-0044).
|
|
39
38
|
*/
|
|
40
39
|
const REPLAY_FIELD = "replay";
|
|
41
|
-
/** A response's JSON body, or `null` when it has none or it does not parse — never throws. */
|
|
42
|
-
async function safeJson(response) {
|
|
43
|
-
try {
|
|
44
|
-
return (await response.json?.()) ?? null;
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* How long a submission may stay in flight before it is reported as
|
|
52
|
-
* `unreachable`. React Native's Android networking applies no default request
|
|
53
|
-
* timeout, so without this a stalled connection would hang a report forever.
|
|
54
|
-
* The abandoned request keeps running in the background harmlessly.
|
|
55
|
-
*/
|
|
56
|
-
exports.DEFAULT_SUBMIT_TIMEOUT_MS = 30_000;
|
|
57
40
|
/**
|
|
58
41
|
* The shared `source: error` backpressure window for the app. One instance so a
|
|
59
42
|
* `429` from an auto-report holds the auto-reports that follow it.
|
|
@@ -74,17 +57,12 @@ const defaultBackoff = new sdk_core_1.AutoReportBackoff();
|
|
|
74
57
|
*/
|
|
75
58
|
async function submitReport(apiUrl, input, deps = {}) {
|
|
76
59
|
const source = input.content.source ?? "reporter";
|
|
77
|
-
const isError = source === "error";
|
|
78
60
|
const backoff = deps.backoff ?? defaultBackoff;
|
|
79
61
|
// Client-side backpressure: shed auto-reports while the hold window is open,
|
|
80
|
-
// without touching the network
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
reason: "backpressure",
|
|
85
|
-
retryAfterSeconds: backoff.retryAfterSeconds(),
|
|
86
|
-
};
|
|
87
|
-
}
|
|
62
|
+
// without touching the network — before the envelope is built.
|
|
63
|
+
const held = (0, sdk_core_1.backpressureHold)(source, backoff);
|
|
64
|
+
if (held)
|
|
65
|
+
return held;
|
|
88
66
|
const doFetch = deps.fetch ?? (0, sdk_core_1.resolveFetch)();
|
|
89
67
|
const makeForm = deps.formData ?? (0, http_1.globalFormData)();
|
|
90
68
|
if (!doFetch || !makeForm)
|
|
@@ -130,55 +108,12 @@ async function submitReport(apiUrl, input, deps = {}) {
|
|
|
130
108
|
type: input.replay.file.type,
|
|
131
109
|
});
|
|
132
110
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
body: form,
|
|
141
|
-
});
|
|
142
|
-
response =
|
|
143
|
-
timeoutMs > 0
|
|
144
|
-
? await Promise.race([
|
|
145
|
-
request,
|
|
146
|
-
new Promise((_, reject) => {
|
|
147
|
-
timer = setTimeout(() => reject(new Error("fixback: submission timed out")), timeoutMs);
|
|
148
|
-
}),
|
|
149
|
-
])
|
|
150
|
-
: await request;
|
|
151
|
-
}
|
|
152
|
-
catch {
|
|
153
|
-
return { ok: false, reason: "unreachable" };
|
|
154
|
-
}
|
|
155
|
-
finally {
|
|
156
|
-
if (timer !== undefined)
|
|
157
|
-
clearTimeout(timer);
|
|
158
|
-
}
|
|
159
|
-
if (!response.ok) {
|
|
160
|
-
// A `429` for an auto-report is backpressure, not a refusal: open/extend
|
|
161
|
-
// the hold window from `Retry-After` and report the wait. Manual reports
|
|
162
|
-
// never 429 here, so any non-2xx for them stays a plain refusal.
|
|
163
|
-
if (isError && response.status === 429) {
|
|
164
|
-
const retryAfterSeconds = backoff.hold((0, sdk_core_1.safeHeader)(response, "Retry-After"));
|
|
165
|
-
return { ok: false, reason: "backpressure", retryAfterSeconds };
|
|
166
|
-
}
|
|
167
|
-
// A manual report held for maintenance mode: the body carries the notice to show.
|
|
168
|
-
if (response.status === 429) {
|
|
169
|
-
const maintenance = (0, sdk_core_1.maintenanceFromHold)(await safeJson(response));
|
|
170
|
-
if (maintenance)
|
|
171
|
-
return { ok: false, reason: "maintenance", maintenance };
|
|
172
|
-
}
|
|
173
|
-
return { ok: false, reason: "refused", status: response.status };
|
|
174
|
-
}
|
|
175
|
-
try {
|
|
176
|
-
const feedback = (await response.json?.());
|
|
177
|
-
return { ok: true, feedback };
|
|
178
|
-
}
|
|
179
|
-
catch {
|
|
180
|
-
// Accepted, but the body wasn't the expected JSON — still a success.
|
|
181
|
-
return { ok: true, feedback: null };
|
|
182
|
-
}
|
|
111
|
+
return (0, sdk_core_1.postFeedback)((0, sdk_core_1.feedbackEndpoint)(apiUrl), form, {
|
|
112
|
+
fetch: doFetch,
|
|
113
|
+
headers: deps.origin ? { origin: deps.origin } : {},
|
|
114
|
+
timeoutMs: deps.timeoutMs ?? sdk_core_1.DEFAULT_SUBMIT_TIMEOUT_MS,
|
|
115
|
+
backoff,
|
|
116
|
+
source,
|
|
117
|
+
});
|
|
183
118
|
}
|
|
184
119
|
//# sourceMappingURL=submit.js.map
|
package/dist/submit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"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"}
|
package/dist/tokens.d.ts
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* A vendored slice of the **Signal** design tokens for the mobile composer.
|
|
3
3
|
*
|
|
4
4
|
* React Native cannot consume CSS custom properties, so the semantic roles the
|
|
5
|
-
* composer needs are mirrored here as constants.
|
|
6
|
-
* `packages/ui/src/tokens.css` (the design source of truth)
|
|
7
|
-
*
|
|
5
|
+
* composer needs are mirrored here as constants. Each value copies a token from
|
|
6
|
+
* `packages/ui/src/tokens.css` (the design source of truth), or is one of the few
|
|
7
|
+
* the composer draws with that Signal names no token for. `tokens.test.ts` holds
|
|
8
|
+
* every copy to the token it copies and names the rest. Change `tokens.css` first,
|
|
9
|
+
* then keep this slice in step (ADR-0021 records the gap).
|
|
8
10
|
*
|
|
9
11
|
* IBM Plex is not loadable without the host app shipping fonts, so type falls
|
|
10
12
|
* back to the system stack; the mono accents use the platform's monospace face
|
package/dist/tokens.js
CHANGED
|
@@ -5,9 +5,11 @@ exports.signal = void 0;
|
|
|
5
5
|
* A vendored slice of the **Signal** design tokens for the mobile composer.
|
|
6
6
|
*
|
|
7
7
|
* React Native cannot consume CSS custom properties, so the semantic roles the
|
|
8
|
-
* composer needs are mirrored here as constants.
|
|
9
|
-
* `packages/ui/src/tokens.css` (the design source of truth)
|
|
10
|
-
*
|
|
8
|
+
* composer needs are mirrored here as constants. Each value copies a token from
|
|
9
|
+
* `packages/ui/src/tokens.css` (the design source of truth), or is one of the few
|
|
10
|
+
* the composer draws with that Signal names no token for. `tokens.test.ts` holds
|
|
11
|
+
* every copy to the token it copies and names the rest. Change `tokens.css` first,
|
|
12
|
+
* then keep this slice in step (ADR-0021 records the gap).
|
|
11
13
|
*
|
|
12
14
|
* IBM Plex is not loadable without the host app shipping fonts, so type falls
|
|
13
15
|
* back to the system stack; the mono accents use the platform's monospace face
|
|
@@ -34,9 +36,9 @@ exports.signal = {
|
|
|
34
36
|
border: "#e6ebf0",
|
|
35
37
|
borderControl: "#e0e6ec",
|
|
36
38
|
borderStrong: "#dce3ea",
|
|
37
|
-
/* the reporter's ink title bar — roles invert on the dark ground
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
/* the reporter's ink title bar (board `4a`) — roles invert on the dark ground. The
|
|
40
|
+
ground is Signal's heading ink; the muted, subtle and hairline roles on it are the
|
|
41
|
+
composer's own, since the web panel's header went light (docs/agents/design.md). */
|
|
40
42
|
ink: "#0f1720",
|
|
41
43
|
onInk: "#ffffff",
|
|
42
44
|
onInkMuted: "#8996a2",
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACU,QAAA,MAAM,GAAG;IACpB,+BAA+B;IAC/B,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IAEvB,2BAA2B;IAC3B,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IAEpB,wBAAwB;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,SAAS;IACxB,YAAY,EAAE,SAAS;IAEvB;;0FAEsF;IACtF,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,2BAA2B;IAExC,yFAAyF;IACzF,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,SAAS;IACxB,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,SAAS;IACxB,8EAA8E;IAC9E,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,SAAS;IACxB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,SAAS;IAErB,cAAc;IACd,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,wBAAwB;CACvB,CAAC"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fixback/expo",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "The Fixback capture SDK for Expo / React Native apps — shake the device to report feedback with trace Evidence.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -54,11 +54,12 @@
|
|
|
54
54
|
"react": "19.2.8",
|
|
55
55
|
"react-native": "^0.81.0",
|
|
56
56
|
"typescript": "5.9.3",
|
|
57
|
-
"vitest": "^4.1.10"
|
|
57
|
+
"vitest": "^4.1.10",
|
|
58
|
+
"@fixback/test-config": "0.0.0"
|
|
58
59
|
},
|
|
59
60
|
"dependencies": {
|
|
60
61
|
"@fixback/expo-replay-encoder": "0.2.3",
|
|
61
|
-
"@fixback/sdk-core": "0.
|
|
62
|
+
"@fixback/sdk-core": "0.13.0"
|
|
62
63
|
},
|
|
63
64
|
"engines": {
|
|
64
65
|
"node": ">=20.12"
|