Skip to content

feat(diagnostics): classified network errors and an in-app error log - #13

Merged
ghostcoder42 merged 1 commit into
mainfrom
feat/error-diagnostics
Oct 14, 2026
Merged

ghostcoder42 merged 1 commit into
mainfrom
feat/error-diagnostics

Conversation

@ghostcoder42

Copy link
Copy Markdown
Owner
  • fetch failures now classify into offline / unreachable (told apart by a connectivity probe), timeout (incl. RN-Android's "Fetch request has been canceled" abort wording), Cloudflare-blocked 403 (body sniffed), rate-limited, not-found, server and generic HTTP — carried on a FetchError with status/url and a raw detail kept for the log viewer
  • the home/tag/model/author/category error states and the post error state render the classified localized message (the post state also gains a Retry button) instead of a hardcoded generic line
  • every classified failure appends one line to documents/logs/error-log .txt (128KB soft cap, oldest-first trimming); Settings → Error log renders the file as selectable text — long-press to copy via the system menu — with share (whole log) and clear actions

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

💯 Test Coverage

Lines Statements Branches Functions
Coverage: 58%
57.87% (1073/1854) 50.51% (586/1160) 47.72% (273/572)

😎 Tests Results

Tests Skipped Failures Errors Time
320 0 💤 0 ❌ 0 🔥 24.295s ⏱️
👀 Tests Details • (58%)
File% Stmts% Branch% Funcs% LinesUncovered Line #s
All files57.8750.5147.7258.4 
src/app19.3516.669.0916.66 
   logs.tsx000016–51
src/app/(app)4.93.14.235.02 
   index.tsx81.255071.428055, 84–85
   settings.tsx000027–366
src/app/author0000 
   [id].tsx000017–108
src/app/category0000 
   [name].tsx000016–68
src/app/model0000 
   [slug].tsx000016–101
src/app/post82.573.1773.6884.31 
   [id].tsx82.573.1773.6884.31118–119, 121, 140–142, 265, 320–321, 366, 379–388, 418–497
src/app/tag0000 
   [id].tsx000017–103
src/lib/logs77.4184.6171.4275 
   error-log.ts77.4184.6171.427559–60, 69–78
src/lib/r3488.3979.6679.4191 
   fetch-error.ts87.2779.249093.1855, 114–115
   scraper.ts89.4777.337592.359, 62–64, 142–145

@ghostcoder42
ghostcoder42 force-pushed the feat/error-diagnostics branch 2 times, most recently from 735b8d4 to a9eb124 Compare October 14, 2026 21:13
- fetch failures now classify into offline / unreachable (told apart by
  a connectivity probe), timeout (incl. RN-Android's "Fetch request has
  been canceled" abort wording), blocked 403 (the site's DDoS-Guard
  refuses non-browser clients with a bare "Access denied."), rate-limited,
  not-found, server and generic HTTP — carried on a FetchError with
  status/url and a raw detail kept for the log viewer
- the home/tag/model/author/category error states and the post error
  state render the classified localized message (the post state also
  gains a Retry button) instead of a hardcoded generic line
- every classified failure appends one line to documents/logs/error-log
  .txt (128KB soft cap, oldest-first trimming); Settings → Error log
  renders the file as selectable text — long-press to copy via the
  system menu — with share (whole log) and clear actions
@ghostcoder42
ghostcoder42 force-pushed the feat/error-diagnostics branch from a9eb124 to 6372447 Compare October 14, 2026 21:16
@ghostcoder42
ghostcoder42 merged commit 38168ec into main Oct 14, 2026
1 check passed
@ghostcoder42
ghostcoder42 deleted the feat/error-diagnostics branch October 14, 2026 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant