PR-8c (part 3) — the reader actually reads a downloaded PDF with no network.
book-reader prefers the offline copy: reads the stored Blob from BookOfflineStoreService, and if book metadata is unreachable falls back to the offline manifest — so a downloaded PDF opens fully offline. Falls back to the authorized HttpClient fetch when the book isn't downloaded.
auth.guard allows route entry when !navigator.onLine, instead of redirecting to an unreachable Keycloak. The user already authenticated to download; offline routes only surface locally-cached data.
PR-8c (part 3) — the reader actually reads a downloaded PDF with no network.
- **book-reader** prefers the offline copy: reads the stored Blob from `BookOfflineStoreService`, and if book metadata is unreachable falls back to the offline manifest — so a downloaded PDF opens fully offline. Falls back to the authorized `HttpClient` fetch when the book isn't downloaded.
- **auth.guard** allows route entry when `!navigator.onLine`, instead of redirecting to an unreachable Keycloak. The user already authenticated to download; offline routes only surface locally-cached data.
**Follow-up (final PR-8c piece):** EPUB offline read — offline page fallback + blob-URL resource rewriting for images.
PR: spikersoft-angular `feat/reader-offline-pdf-read`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
PR-8c (part 3) — the reader actually reads a downloaded PDF with no network.
BookOfflineStoreService, and if book metadata is unreachable falls back to the offline manifest — so a downloaded PDF opens fully offline. Falls back to the authorizedHttpClientfetch when the book isn't downloaded.!navigator.onLine, instead of redirecting to an unreachable Keycloak. The user already authenticated to download; offline routes only surface locally-cached data.Follow-up (final PR-8c piece): EPUB offline read — offline page fallback + blob-URL resource rewriting for images.
PR: spikersoft-angular
feat/reader-offline-pdf-read.Verified complete: spikersoft-angular PR #228 merged ('read downloaded PDFs offline + auth.guard offline entry'); auth.guard offline path + offline manage UI on master. Closing.