(err: any)
| 108 | * "Failed to fetch") when the server is unreachable. Failed fetches must |
| 109 | * render error UI, never zero-data UI, so this string is shown prominently. */ |
| 110 | export function friendlyError(err: any): string { |
| 111 | const raw = String((err && err.message) || err || "Request failed"); |
| 112 | if (/failed to fetch|networkerror|load failed|network request/i.test(raw)) { |
| 113 | return "Can't reach the tracedecay server"; |
| 114 | } |
| 115 | return raw; |
| 116 | } |
| 117 | |
| 118 | /** Append rows from a paginated follow-up fetch, de-duplicated by id, so |
| 119 | * server-offset pagination can never double-render a row. */ |
no test coverage detected