@ryuzaki13/react-foundation-lib 2.12.1 → 2.13.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.
@@ -1,6 +1,7 @@
1
1
  import type { ErrorReportPayload } from "./types";
2
2
  export declare const ERROR_REPORT_PAYLOAD_VERSION: 1;
3
3
  export declare const ERROR_REPORT_PAYLOAD_MAX_BYTES: number;
4
+ export declare const ERROR_REPORT_VERBATIM_MESSAGE_MAX_BYTES: number;
4
5
  export declare const ERROR_REPORT_STACK_TRACE_MAX_BYTES: number;
5
6
  /** Возвращает точный UTF-8 размер JSON-формы, которую получит transport. */
6
7
  export declare function getErrorReportPayloadSize(payload: ErrorReportPayload): number;
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/error-report/payload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGX,kBAAkB,EAGlB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,4BAA4B,EAAG,CAAU,CAAC;AACvD,eAAO,MAAM,8BAA8B,QAAc,CAAC;AAC1D,eAAO,MAAM,kCAAkC,QAAa,CAAC;AA+E7D,4EAA4E;AAC5E,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,UAEpE;AAoED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAyGrF"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/error-report/payload.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAIX,kBAAkB,EAGlB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,4BAA4B,EAAG,CAAU,CAAC;AACvD,eAAO,MAAM,8BAA8B,QAAc,CAAC;AAC1D,eAAO,MAAM,uCAAuC,QAAc,CAAC;AACnE,eAAO,MAAM,kCAAkC,QAAa,CAAC;AAyG7D,4EAA4E;AAC5E,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,UAEpE;AAuID;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAqJrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"safeValue.d.ts","sourceRoot":"","sources":["../../src/error-report/safeValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAkD1G;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAA+B,UAU7F;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAE5C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAe1E;AA6CD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,oBAAoB,CAKrF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,oBAAoB,CAsB/E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,QAElF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,8BAA8B,EACvC,eAAe,SAA+B,oCAe9C;AAED,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,OAAO,GAAE,8BAAqD,GAC5D,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAOlD"}
1
+ {"version":3,"file":"safeValue.d.ts","sourceRoot":"","sources":["../../src/error-report/safeValue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAmD1G;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAA+B,UAmB7F;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAE5C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAgC1E;AAwDD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,oBAAoB,CAKrF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,oBAAoB,CAsB/E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,QAElF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,8BAA8B,EACvC,eAAe,SAA+B,oCAoB9C;AAED,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,OAAO,GAAE,8BAAqD,GAC5D,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAOlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/error-report/schema.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAwB,MAAM,SAAS,CAAC;AAyL1F;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,kCASrD;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,gCASnD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,sBAMpD"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/error-report/schema.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAwB,MAAM,SAAS,CAAC;AAkN1F;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,kCASrD;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,gCASnD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,sBAMpD"}
@@ -2,6 +2,8 @@ export type ErrorReportTransportHtmlSummary = {
2
2
  length: number;
3
3
  formCount?: number;
4
4
  inputNames?: string[];
5
+ sample?: string;
6
+ truncated?: boolean;
5
7
  };
6
8
  export type ErrorReportTransportErrorContext = {
7
9
  source: "fetch.parseResponse" | "fetch.buildHttpError";
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/error-report/transport.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,+BAA+B,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC9C,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,+BAA+B,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAgClI;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,iCAAiC,GAAG,SAAS,QAG3G;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,WAE7D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,QAI1D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,QAiB3F"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/error-report/transport.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,+BAA+B,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC9C,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,+BAA+B,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAgClI;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,iCAAiC,GAAG,SAAS,QAG3G;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,WAE7D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,QAI1D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,QAiB3F"}
@@ -5,6 +5,11 @@ export type ErrorReportPayloadVersion = 1;
5
5
  export type ErrorReportSafeValue = string | number | boolean | null | ErrorReportSafeValue[] | {
6
6
  [key: string]: ErrorReportSafeValue;
7
7
  };
8
+ /** Ограниченный валидный JSON-снимок данных; `truncated` отмечает утрату хвоста. */
9
+ export type ErrorReportDataPreview = {
10
+ json: string;
11
+ truncated: boolean;
12
+ };
8
13
  export type ErrorReportErrorInfo = {
9
14
  name: string;
10
15
  message: string;
@@ -33,6 +38,7 @@ export type ErrorReportQueryDiagnostics = {
33
38
  observersCount?: number;
34
39
  meta?: Record<string, ErrorReportSafeValue>;
35
40
  dataShape?: ErrorReportSafeValue;
41
+ dataPreview?: ErrorReportDataPreview;
36
42
  error?: ErrorReportErrorInfo;
37
43
  };
38
44
  export type ErrorReportMutationDiagnostics = {
@@ -41,6 +47,7 @@ export type ErrorReportMutationDiagnostics = {
41
47
  failureCount?: number;
42
48
  submittedAt?: number;
43
49
  meta?: Record<string, ErrorReportSafeValue>;
50
+ variablesPreview?: ErrorReportDataPreview;
44
51
  error?: ErrorReportErrorInfo;
45
52
  };
46
53
  export type ErrorReportPersistedQueryDiagnostics = {
@@ -52,6 +59,7 @@ export type ErrorReportPersistedQueryDiagnostics = {
52
59
  dataUpdatedAt?: number;
53
60
  errorUpdatedAt?: number;
54
61
  failureCount?: number;
62
+ dataPreview?: ErrorReportDataPreview;
55
63
  error?: ErrorReportErrorInfo;
56
64
  };
57
65
  export type ErrorReportPayload = {
@@ -75,6 +83,8 @@ export type ErrorReportPayload = {
75
83
  location?: {
76
84
  pathname: string;
77
85
  origin?: string;
86
+ search?: string;
87
+ hash?: string;
78
88
  };
79
89
  viewport?: {
80
90
  width: number;
@@ -89,6 +99,8 @@ export type ErrorReportPayload = {
89
99
  queryClient?: {
90
100
  queries: ErrorReportQueryDiagnostics[];
91
101
  mutations: ErrorReportMutationDiagnostics[];
102
+ omittedQueries?: number;
103
+ omittedMutations?: number;
92
104
  };
93
105
  persistedQueries?: ErrorReportPersistedQueryDiagnostics[];
94
106
  breadcrumbs: ErrorReportBreadcrumb[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/error-report/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/error-report/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryuzaki13/react-foundation-lib",
3
- "version": "2.12.1",
3
+ "version": "2.13.1",
4
4
  "description": "Reusable React and TypeScript foundation utilities, hooks, and primitives.",
5
5
  "license": "MIT",
6
6
  "author": "Ryuzaki13",
@@ -12,7 +12,7 @@ import { Meta } from "@storybook/addon-docs/blocks";
12
12
  - сведения о browser/build;
13
13
  - URL и viewport;
14
14
  - последние действия пользователя — breadcrumbs;
15
- - состояние TanStack Query без полного query data;
15
+ - состояние TanStack Query и, при явном включении, ограниченные снимки данных;
16
16
  - технические сведения о persisted queries;
17
17
  - контекст React/runtime/transport;
18
18
  - локальный draft lifecycle: `pending`, `sending`, `sent`, `failed`;
@@ -38,6 +38,7 @@ import {
38
38
  createErrorInfo,
39
39
  installErrorReportBrowserBreadcrumbs,
40
40
  setErrorReportRuntimeErrorReporter,
41
+ setErrorReportCaptureOptions,
41
42
  setErrorReportSanitizer,
42
43
  type ErrorReportDraft
43
44
  } from "@ryuzaki13/react-foundation-lib/error-report";
@@ -170,7 +171,7 @@ type ErrorReportErrorInfo = {
170
171
  };
171
172
  ```
172
173
 
173
- Для обычного `Error` сохраняются `name`, непустой `message` и `stack` до 64 KiB.
174
+ Для обычного `Error` сохраняются `name`, непустой `message` и `stack` до 64 KiB. В `verbatim`-режиме сообщение допускается до 128 KiB; превышение отмечается в самом тексте.
174
175
 
175
176
  ```ts
176
177
  createErrorInfo(new Error("Не удалось сохранить"));
@@ -223,6 +224,21 @@ setErrorReportSanitizer((value, context) => {
223
224
 
224
225
  Callback должен быть чистым и идемпотентным: capture может повторно применить его к уже подготовленной секции перед storage write. Если callback бросает исключение, рискованная секция удаляется. При teardown/hot reload вызовите `setErrorReportSanitizer(undefined)`.
225
226
 
227
+ ### `setErrorReportCaptureOptions(options?)`
228
+
229
+ По умолчанию действуют прежняя built-in redaction и отсутствие снимков query data. Приложение, которое контролирует канал доступа к отчётам и хочет видеть фактические диагностические значения, может включить режим `verbatim`:
230
+
231
+ ```ts
232
+ setErrorReportCaptureOptions({
233
+ valuePolicy: "verbatim",
234
+ dataPreviewBytes: { query: 2_048, persistedQuery: 512, mutation: 2_048 }
235
+ });
236
+ ```
237
+
238
+ В этом режиме foundation сохраняет исходные значения message, stack, query/mutation keys, meta, context и URL с search/hash. Диагностический `queryHash` вычисляется из исходного TanStack hash до ограничения длинного ключа, поэтому остаётся различимым при одинаково усечённых `queryKey`. Ограничения глубины, размера строк, количества записей и общего payload продолжают действовать. В приложении не следует регистрировать удаляющий значения `setErrorReportSanitizer`, если нужны полные диагностические значения: app callback применяется и в `verbatim`-режиме.
239
+
240
+ `dataPreviewBytes` задаёт предел одного JSON-снимка в UTF-8 байтах, максимум 16 KiB на запись. При усечении `dataPreview.truncated` или `variablesPreview.truncated` становится `true`; поле `json` остаётся валидным JSON. В `verbatim`-режиме строковые части ключей сохраняются до 8192 символов, остальные диагностические строки — до их локального предела. Усечение строки, массива, объекта или глубины отмечается непосредственно в значении. Снимки включаются только в `verbatim`-режиме и только для указанных положительных бюджетов. В teardown вызовите `setErrorReportCaptureOptions(undefined)`, чтобы вернуть режим по умолчанию.
241
+
226
242
  ### `sanitizeDetail(detail)`
227
243
 
228
244
  Применяет `createDiagnosticValue` к первым 40 полям объекта. Для `undefined` или пустого объекта возвращает `undefined`.
@@ -311,29 +327,29 @@ uninstallBreadcrumbs();
311
327
 
312
328
  Собирает:
313
329
 
314
- - безопасный hash уже очищенного query key и его диагностическое представление;
330
+ - по умолчанию hash уже очищенного query key; в `verbatim`-режиме hash исходного TanStack `queryHash` и фактический bounded key;
315
331
  - status/fetchStatus;
316
332
  - timestamps обновления data/error;
317
333
  - failure count, invalidation и observer count;
318
334
  - meta;
319
- - `dataShape` вместо data;
335
+ - `dataShape`, а при включённом `dataPreviewBytes.query` — ограниченный `dataPreview`;
320
336
  - нормализованную query error.
321
337
 
322
338
  Значения `queryKey` и `meta` проходят built-in redaction и app sanitizer. Предметные персональные идентификаторы всё равно должны удаляться policy приложения.
323
339
 
324
340
  ### `collectMutationDiagnostics(mutation)`
325
341
 
326
- Собирает mutation key, status, failure count, submitted timestamp, meta и error. Mutation variables/data не копируются.
342
+ Собирает mutation key, status, failure count, submitted timestamp, meta и error. При включённом `dataPreviewBytes.mutation` добавляет ограниченный `variablesPreview`; результат мутации не копируется.
327
343
 
328
344
  ### `collectQueryClientDiagnostics(queryClient)`
329
345
 
330
- Возвращает последние 40 query и последние 40 mutations из соответствующих cache. Это синхронный snapshot текущего QueryClient.
346
+ Возвращает последние 40 query и последние 40 mutations из соответствующих cache. В `verbatim`-режиме поля `omittedQueries` и `omittedMutations` показывают, сколько более старых записей не вошло в snapshot. По умолчанию сохраняется прежняя форма без этих полей. Это синхронный snapshot текущего QueryClient.
331
347
 
332
348
  ### `collectPersistedQueryDiagnostics()`
333
349
 
334
350
  Асинхронно читает IndexedDB persistence из `/query-client` и возвращает максимум 40 записей.
335
351
 
336
- Сохраняются buster, безопасный hash/key, statuses, timestamps, failure count и error. IndexedDB storage key и `state.data` намеренно исключены полностью.
352
+ По умолчанию сохраняются buster, очищенные hash/key, statuses, timestamps, failure count и error. В `verbatim`-режиме диагностический hash вычисляется из сохранённого исходного `queryHash`, а bounded key остаётся читаемым; `dataPreviewBytes.persistedQuery` дополнительно включает ограниченный снимок `state.data`. IndexedDB storage key не копируется.
337
353
 
338
354
  Если IndexedDB/persistence недоступны или чтение бросает ошибку, возвращается пустой массив — сбор отчёта не падает.
339
355
 
@@ -432,7 +448,7 @@ parseErrorReportDrafts(value);
432
448
 
433
449
  ### Bounded payload
434
450
 
435
- `limitErrorReportPayload(payload)` сначала повторно применяет sanitization, затем проверяет UTF-8 размер `JSON.stringify`. Предел — `ERROR_REPORT_PAYLOAD_MAX_BYTES` (256 KiB). При превышении optional diagnostics удаляются в фиксированном порядке, а `payload.truncation` фиксирует исходный размер, limit и список удалённых секций. `getErrorReportPayloadSize(payload)` возвращает фактический сериализованный размер в байтах.
451
+ `limitErrorReportPayload(payload)` сначала повторно применяет выбранную policy, затем проверяет UTF-8 размер `JSON.stringify`. Предел — `ERROR_REPORT_PAYLOAD_MAX_BYTES` (256 KiB). В `verbatim`-режиме при превышении сначала уменьшаются data previews, затем число старых записей cache, и только после этого удаляются optional sections. Каждый сокращённый preview получает `truncated: true`. По умолчанию сохраняется прежний порядок: первой удаляется вся секция `queryClient`. `payload.truncation` фиксирует исходный размер, limit и список удалённых секций. `getErrorReportPayloadSize(payload)` возвращает фактический сериализованный размер в байтах.
436
452
 
437
453
  ### Хранение
438
454
 
@@ -591,7 +607,7 @@ setErrorReportTransportErrorReporter(async (error, context) => {
591
607
 
592
608
  ### `reportTransportError(error, context)`
593
609
 
594
- Context имеет source `fetch.parseResponse` или `fetch.buildHttpError` и может содержать URL, method, SAP client, status/content type, redirect/response type и только техническое summary HTML-response. HTML title и text preview больше не входят в контракт, потому что являются содержимым response body.
610
+ Context имеет source `fetch.parseResponse` или `fetch.buildHttpError` и может содержать URL, method, SAP client, status/content type, redirect/response type и техническое summary HTML-response. Транспорт может передать `html.sample` и `html.truncated` как ограниченный фрагмент ответа при явно включённом `verbatim`-режиме; по умолчанию содержимое response body не собирается.
595
611
 
596
612
  Вызов планирует reporter через 250 мс. Задержка позволяет TanStack Query перехватить тот же `Error` и создать более полезный query/mutation report.
597
613
 
@@ -644,9 +660,9 @@ export function installErrorReporting(queryClient: QueryClient) {
644
660
 
645
661
  ### Что намеренно не сохраняется
646
662
 
647
- - полное `query.state.data`;
648
- - persisted `state.data`;
649
- - mutation variables;
663
+ - полное `query.state.data` (при явном включении доступен только bounded preview);
664
+ - полное persisted `state.data` (при явном включении доступен только bounded preview);
665
+ - полные mutation variables (при явном включении доступен только bounded preview);
650
666
  - значения input при автоматическом click breadcrumb;
651
667
  - тела transport-запросов.
652
668
 
@@ -655,7 +671,7 @@ export function installErrorReporting(queryClient: QueryClient) {
655
671
  - queryKey и mutationKey;
656
672
  - query/mutation meta;
657
673
  - `context.detail`;
658
- - pathname без search/hash;
674
+ - pathname без search/hash по умолчанию; в `verbatim`-режиме search/hash сохраняются;
659
675
  - error message/stack;
660
676
  - app-provided context, если policy ошибочно разрешила предметные данные;
661
677
  - user agent, language, timezone;
@@ -680,6 +696,8 @@ Capture только создаёт draft. Приложение должно enq
680
696
 
681
697
  Foundation удаляет известные secret-like keys и email, но не умеет надёжно распознавать ФИО, телефоны и предметные IDs. Настройте app sanitizer по allow-list.
682
698
 
699
+ В `verbatim`-режиме built-in redaction отключена намеренно. Контролируйте доступ к endpoint, хранилищу и странице отчётов в приложении.
700
+
683
701
  ### Вызывать production capture в development и ждать draft
684
702
 
685
703
  По контракту вернётся `undefined`.
@@ -705,6 +723,7 @@ Foundation удаляет известные secret-like keys и email, но н
705
723
  | Группа | Экспорты |
706
724
  | ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |
707
725
  | Capture | `captureQueryErrorReport`, `captureMutationErrorReport`, `captureRuntimeErrorReport`, `captureErrorReportDraft` |
726
+ | Capture options | `setErrorReportCaptureOptions` |
708
727
  | Errors | `createErrorInfo` |
709
728
  | Safe values | `createDiagnosticValue`, `createDataShape`, `sanitizeDetail`, `sanitizeErrorReportValue`, `setErrorReportSanitizer` |
710
729
  | Payload contract | `ERROR_REPORT_PAYLOAD_VERSION`, `ERROR_REPORT_PAYLOAD_MAX_BYTES`, `limitErrorReportPayload`, `getErrorReportPayloadSize`, parsers |