@futdevpro/fsm-dynamo 1.20.85 → 1.20.88

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.
@@ -15,9 +15,28 @@ export interface DyFM_ExtractErrorMessage_Options {
15
15
  fallback?: string;
16
16
  /**
17
17
  * When `true`, the returned string includes HTTP status + statusText after
18
- * the main message (in parens) for HTTP errors. Default: `true`.
18
+ * the main message (in parens) for HTTP errors. Default: `false` — the
19
+ * result is shown to USERS, and a status code is technical detail: measured
20
+ * 2026-09-24, the shared login form showed "Login: … (HTTP 401)" on 5 TEST
21
+ * projects. The status stays in the raw error (the form-error panel's copy
22
+ * chain, the component / API-service log). Opt in for diagnostic surfaces.
19
23
  */
20
24
  includeHttpStatus?: boolean;
25
+ /**
26
+ * When `true` and no message field exists, the result is `'Malformed error: <JSON of the payload>'`. Default:
27
+ * `false` — the raw payload is technical (and may carry the status); the user gets `fallback`. The raw error stays
28
+ * with the caller (the form-error panel's copy chain, `DyFM_reportMalformedError`). Opt in for diagnostic surfaces.
29
+ */
30
+ includeRawPayload?: boolean;
31
+ /**
32
+ * When `true`, the TECHNICAL message fields are consulted too, after the user-facing ones: `_message` (the DyFM debug
33
+ * message) and `message` (e.g. `HttpErrorResponse.message` = "Http failure response for …"). Default: `false` — the
34
+ * user sees only a user-message field or `fallback`. Measured 2026-09-24: `_message` showed users
35
+ * `DyNX_ApiService call "loginUser" ERROR: Http failure response for …: 404`, and the outer `message` hid the server's
36
+ * `error.__userMessage`; across the fleet NO caller relied on `message` / `_message` as an intended user text.
37
+ * Opt in for diagnostic surfaces.
38
+ */
39
+ includeTechnicalMessage?: boolean;
21
40
  }
22
41
  /**
23
42
  * Universal error → human-readable string extractor. **Never** returns the
@@ -26,25 +45,22 @@ export interface DyFM_ExtractErrorMessage_Options {
26
45
  * common Angular HttpErrorResponse + plain Error shapes, falling back to a
27
46
  * meaningful diagnostic string when the input is malformed.
28
47
  *
29
- * Order of attempts (first non-empty wins):
30
- * 1. `err.__userMessage` (DyFM_Error admin-actionable user message)
31
- * 2. `err._message` (DyFM_Error aggregated debug message)
32
- * 3. `err.message` (plain Error.message)
33
- * 4. `err.userMessage` (deprecated DyFM_Error_Settings field, still seen
34
- * on some payloads)
35
- * 5. `err.error.__userMessage` (HttpErrorResponse wrapping a DyFM_Error in
36
- * its body)
37
- * 6. `err.error._message`
38
- * 7. `err.error.message`
39
- * 8. `err.error.userMessage`
40
- * 9. If `err` itself is a string, use as-is
41
- * 10. JSON-stringified payload (circular-safe; first 200 chars) as a last
42
- * resort, prefixed with 'Malformed error: '
43
- * 11. `options.fallback` (or its default)
48
+ * Order of attempts (first non-empty wins) — USER-FACING fields only by default:
49
+ * 0. If `err` itself is a string, use as-is (the caller meant it as the text)
50
+ * 1. `err.__userMessage` (DyFM_Error user message)
51
+ * 2. `err.userMessage` (deprecated DyFM_Error_Settings field, still seen on some payloads)
52
+ * 3. `err.error.__userMessage` (HttpErrorResponse wrapping a DyFM_Error in its body — beats the outer technical
53
+ * `message`)
54
+ * 4. `err.error.userMessage`
55
+ * 5. ONLY with `includeTechnicalMessage: true`: `err._message` · `err.message` · `err.error._message` ·
56
+ * `err.error.message` (debug / transport texts — never a user message by default)
57
+ * 6. ONLY with `includeRawPayload: true`: the JSON-stringified payload (circular-safe; first 200 chars),
58
+ * prefixed with 'Malformed error: ' (default: skipped — raw JSON is not a user message)
59
+ * 7. `options.fallback` (or its default)
44
60
  *
45
- * When `includeHttpStatus` is true (default) and the input looks like a
46
- * HttpErrorResponse, the status + statusText are appended in parens: e.g.
47
- * `'Bad credentials (HTTP 401 Unauthorized)'`.
61
+ * Only when `includeHttpStatus: true` (opt-in, default `false`) and the input
62
+ * looks like a HttpErrorResponse, the status + statusText are appended in
63
+ * parens: e.g. `'Bad credentials (HTTP 401 Unauthorized)'`.
48
64
  *
49
65
  * @example
50
66
  * ```ts
@@ -52,7 +68,7 @@ export interface DyFM_ExtractErrorMessage_Options {
52
68
  * await auth_CS.login(account);
53
69
  * } catch (err) {
54
70
  * this.formError = DyFM_extractErrorMessage(err, { prefix: 'Login' });
55
- * // → 'Login: Bad credentials (HTTP 401 Unauthorized)'
71
+ * // → 'Login: Bad credentials' (the raw `err` keeps the status for the log / copy chain)
56
72
  * // OR
57
73
  * // → 'Login: Network unreachable — check connection. Server logs may have detail.'
58
74
  * // never 'Login: undefined undefined'
@@ -63,7 +79,9 @@ export declare function DyFM_extractErrorMessage(err: DyFM_AnyError | unknown, o
63
79
  /**
64
80
  * Convenience: same as DyFM_extractErrorMessage but always includes a default
65
81
  * prefix derived from the calling context, useful for adding diagnostic
66
- * breadcrumbs without per-call boilerplate.
82
+ * breadcrumbs without per-call boilerplate. Diagnostic ⇒ it keeps the HTTP
83
+ * status, the technical message and the raw payload (`includeHttpStatus` + `includeTechnicalMessage` +
84
+ * `includeRawPayload`) — do not show its result to users.
67
85
  */
68
86
  export declare function DyFM_formatError(err: DyFM_AnyError | unknown, prefix: string): string;
69
87
  export declare function DyFM_registerMalformedErrorSink(fn: (err: unknown, context?: string) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"extract-error-message.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/extract-error-message.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAc,MAAM,kDAAkD,CAAC;AAG7F;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,aAAa,GAAG,OAAO,EAC5B,OAAO,CAAC,EAAE,gCAAgC,GACzC,MAAM,CA2DR;AAqCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,GAAG,OAAO,EAC5B,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAiBD,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,GAC3C,IAAI,CAEN;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAmBN"}
1
+ {"version":3,"file":"extract-error-message.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/extract-error-message.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAc,MAAM,kDAAkD,CAAC;AAG7F;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,aAAa,GAAG,OAAO,EAC5B,OAAO,CAAC,EAAE,gCAAgC,GACzC,MAAM,CA+DR;AAqCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,GAAG,OAAO,EAC5B,MAAM,EAAE,MAAM,GACb,MAAM,CAIR;AAiBD,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,GAC3C,IAAI,CAEN;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAmBN"}
@@ -11,25 +11,22 @@ exports.DyFM_reportMalformedError = DyFM_reportMalformedError;
11
11
  * common Angular HttpErrorResponse + plain Error shapes, falling back to a
12
12
  * meaningful diagnostic string when the input is malformed.
13
13
  *
14
- * Order of attempts (first non-empty wins):
15
- * 1. `err.__userMessage` (DyFM_Error admin-actionable user message)
16
- * 2. `err._message` (DyFM_Error aggregated debug message)
17
- * 3. `err.message` (plain Error.message)
18
- * 4. `err.userMessage` (deprecated DyFM_Error_Settings field, still seen
19
- * on some payloads)
20
- * 5. `err.error.__userMessage` (HttpErrorResponse wrapping a DyFM_Error in
21
- * its body)
22
- * 6. `err.error._message`
23
- * 7. `err.error.message`
24
- * 8. `err.error.userMessage`
25
- * 9. If `err` itself is a string, use as-is
26
- * 10. JSON-stringified payload (circular-safe; first 200 chars) as a last
27
- * resort, prefixed with 'Malformed error: '
28
- * 11. `options.fallback` (or its default)
14
+ * Order of attempts (first non-empty wins) — USER-FACING fields only by default:
15
+ * 0. If `err` itself is a string, use as-is (the caller meant it as the text)
16
+ * 1. `err.__userMessage` (DyFM_Error user message)
17
+ * 2. `err.userMessage` (deprecated DyFM_Error_Settings field, still seen on some payloads)
18
+ * 3. `err.error.__userMessage` (HttpErrorResponse wrapping a DyFM_Error in its body — beats the outer technical
19
+ * `message`)
20
+ * 4. `err.error.userMessage`
21
+ * 5. ONLY with `includeTechnicalMessage: true`: `err._message` · `err.message` · `err.error._message` ·
22
+ * `err.error.message` (debug / transport texts — never a user message by default)
23
+ * 6. ONLY with `includeRawPayload: true`: the JSON-stringified payload (circular-safe; first 200 chars),
24
+ * prefixed with 'Malformed error: ' (default: skipped — raw JSON is not a user message)
25
+ * 7. `options.fallback` (or its default)
29
26
  *
30
- * When `includeHttpStatus` is true (default) and the input looks like a
31
- * HttpErrorResponse, the status + statusText are appended in parens: e.g.
32
- * `'Bad credentials (HTTP 401 Unauthorized)'`.
27
+ * Only when `includeHttpStatus: true` (opt-in, default `false`) and the input
28
+ * looks like a HttpErrorResponse, the status + statusText are appended in
29
+ * parens: e.g. `'Bad credentials (HTTP 401 Unauthorized)'`.
33
30
  *
34
31
  * @example
35
32
  * ```ts
@@ -37,7 +34,7 @@ exports.DyFM_reportMalformedError = DyFM_reportMalformedError;
37
34
  * await auth_CS.login(account);
38
35
  * } catch (err) {
39
36
  * this.formError = DyFM_extractErrorMessage(err, { prefix: 'Login' });
40
- * // → 'Login: Bad credentials (HTTP 401 Unauthorized)'
37
+ * // → 'Login: Bad credentials' (the raw `err` keeps the status for the log / copy chain)
41
38
  * // OR
42
39
  * // → 'Login: Network unreachable — check connection. Server logs may have detail.'
43
40
  * // never 'Login: undefined undefined'
@@ -45,7 +42,7 @@ exports.DyFM_reportMalformedError = DyFM_reportMalformedError;
45
42
  * ```
46
43
  */
47
44
  function DyFM_extractErrorMessage(err, options) {
48
- const includeHttpStatus = options?.includeHttpStatus !== false;
45
+ const includeHttpStatus = options?.includeHttpStatus === true;
49
46
  const fallback = options?.fallback
50
47
  ?? 'Unexpected error (no detail in payload — check server logs).';
51
48
  const prefix = options?.prefix ? `${options.prefix}: ` : '';
@@ -61,14 +58,18 @@ function DyFM_extractErrorMessage(err, options) {
61
58
  // properties without forcing each branch into a separate type guard.
62
59
  const e = err;
63
60
  const innerError = e?.error;
64
- const candidate = _nonEmptyString(e?.__userMessage)
65
- ?? _nonEmptyString(e?._message)
66
- ?? _nonEmptyString(e?.message)
61
+ // user-facing fields first (outer, then the body of a wrapping HttpErrorResponse)
62
+ const userCandidate = _nonEmptyString(e?.__userMessage)
67
63
  ?? _nonEmptyString(e?.userMessage)
68
64
  ?? _nonEmptyString(innerError?.__userMessage)
69
- ?? _nonEmptyString(innerError?._message)
70
- ?? _nonEmptyString(innerError?.message)
71
65
  ?? _nonEmptyString(innerError?.userMessage);
66
+ // technical fields (debug / transport) only on opt-in — see `includeTechnicalMessage`
67
+ const candidate = userCandidate ?? (options?.includeTechnicalMessage === true
68
+ ? _nonEmptyString(e?._message)
69
+ ?? _nonEmptyString(e?.message)
70
+ ?? _nonEmptyString(innerError?._message)
71
+ ?? _nonEmptyString(innerError?.message)
72
+ : undefined);
72
73
  // HTTP status suffix (always-on by default)
73
74
  const status = e?.___status
74
75
  ?? e?.status
@@ -82,8 +83,8 @@ function DyFM_extractErrorMessage(err, options) {
82
83
  if (candidate !== undefined) {
83
84
  return `${prefix}${candidate}${httpSuffix}`;
84
85
  }
85
- // No usable text field. Try a JSON-stringify of the raw payload (circular-safe).
86
- const jsonAttempt = _safeJsonStringify(err);
86
+ // No usable text field. The raw payload only on opt-in (diagnostic) — the user gets the fallback.
87
+ const jsonAttempt = options?.includeRawPayload === true ? _safeJsonStringify(err) : undefined;
87
88
  if (jsonAttempt !== undefined && jsonAttempt !== '{}' && jsonAttempt !== '[]') {
88
89
  const trimmed = jsonAttempt.length > 200
89
90
  ? jsonAttempt.slice(0, 200) + '…'
@@ -140,10 +141,14 @@ function _safeJsonStringify(v) {
140
141
  /**
141
142
  * Convenience: same as DyFM_extractErrorMessage but always includes a default
142
143
  * prefix derived from the calling context, useful for adding diagnostic
143
- * breadcrumbs without per-call boilerplate.
144
+ * breadcrumbs without per-call boilerplate. Diagnostic ⇒ it keeps the HTTP
145
+ * status, the technical message and the raw payload (`includeHttpStatus` + `includeTechnicalMessage` +
146
+ * `includeRawPayload`) — do not show its result to users.
144
147
  */
145
148
  function DyFM_formatError(err, prefix) {
146
- return DyFM_extractErrorMessage(err, { prefix: prefix });
149
+ return DyFM_extractErrorMessage(err, {
150
+ prefix: prefix, includeHttpStatus: true, includeTechnicalMessage: true, includeRawPayload: true,
151
+ });
147
152
  }
148
153
  /**
149
154
  * Reports a raw error payload via the universal client-error capture system
@@ -1 +1 @@
1
- {"version":3,"file":"extract-error-message.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/extract-error-message.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-error-message.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/extract-error-message.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "1.20.85",
3
+ "version": "1.20.88",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "full-stack-package",