• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Info updated!

ThePalaceProject / web-patron
88%

Build:
DEFAULT BRANCH: main
Repo Added 22 Jul 2021 01:05AM UTC
Token NYLsywhVCNMt2ofO8m0o4lOLYk8jtzujj regen
Build 330 Last
Files 14
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • PP-1631
  • PP-2191
  • PP-2191-update
  • PP-2240
  • PP-2243
  • PP-2283
  • PP-2310
  • PP-2463
  • PP-2666
  • PP-3296
  • PP-3655
  • PP-3680
  • PP-4041
  • PP-4048
  • PP-954
  • app-store-link
  • audiobook-support
  • bearer-token
  • bugfix/404-on-first-page-load
  • bugfix/authenticate-with-correct-href
  • bugfix/book-url-containing-http
  • bugfix/cancelled-failed-redirect-login
  • bugfix/containers-not-running
  • bugfix/include-auth-doc-url-for-missing-catalog-root
  • bugfix/missing-login-error-message
  • bugfix/omit-unimplemented-basictoken-auth
  • bugfix/saml-login-faiure-infinite-loop
  • bugfix/webpack-build-error
  • chore/activate-runtime-config
  • chore/bugsnag-and-gtm-via-env
  • chore/ci-improvements
  • chore/clean-up-lint-issues
  • chore/dockerfile-cmd-exec-form
  • chore/dynamic-registry-support
  • chore/improve-cpw-startup
  • chore/pp-4083-reload-static-libraries
  • chore/remove-axisnow-decryptor
  • chore/remove-mybooks-page-signout-button
  • chore/request-logging
  • chore/run-ci-checks-in-container
  • chore/runtime-config-module
  • chore/server-side-registry-foundation
  • chore/trigger-config-load-on-startup
  • chore/update-dependencies
  • chore/update-libraries-config
  • chore/update-packages
  • chore/update-release-config
  • chore/update-some-dependencies
  • chore/use-camel-case-config
  • chore/use-central-jira-release-sync-action
  • chore/warnings-for-saml-signout
  • dependabot/npm_and_yarn/babel/runtime-7.27.0
  • dependabot/npm_and_yarn/brace-expansion-1.1.12
  • dependabot/npm_and_yarn/brace-expansion-1.1.13
  • dependabot/npm_and_yarn/cross-fetch-3.1.5
  • dependabot/npm_and_yarn/decode-uri-component-0.2.2
  • dependabot/npm_and_yarn/dompurify-3.2.4
  • dependabot/npm_and_yarn/dompurify-3.3.2
  • dependabot/npm_and_yarn/dompurify-3.4.0
  • dependabot/npm_and_yarn/express-4.18.2
  • dependabot/npm_and_yarn/fast-uri-3.1.2
  • dependabot/npm_and_yarn/flatted-3.4.2
  • dependabot/npm_and_yarn/jsdom-16.5.0
  • dependabot/npm_and_yarn/json5-1.0.2
  • dependabot/npm_and_yarn/lodash-4.17.23
  • dependabot/npm_and_yarn/lodash-4.18.1
  • dependabot/npm_and_yarn/lodash-es-4.17.21
  • dependabot/npm_and_yarn/minimatch-3.1.5
  • dependabot/npm_and_yarn/minimist-1.2.6
  • dependabot/npm_and_yarn/minimist-1.2.8
  • dependabot/npm_and_yarn/moment-2.29.2
  • dependabot/npm_and_yarn/moment-2.29.4
  • dependabot/npm_and_yarn/multi-046d9124cb
  • dependabot/npm_and_yarn/multi-0d13b2d87f
  • dependabot/npm_and_yarn/multi-1576d89741
  • dependabot/npm_and_yarn/multi-75e6bc5210
  • dependabot/npm_and_yarn/multi-920648a0a8
  • dependabot/npm_and_yarn/multi-bf05dc1ecf
  • dependabot/npm_and_yarn/next-15.2.3
  • dependabot/npm_and_yarn/next-15.2.4
  • dependabot/npm_and_yarn/next-15.4.10
  • dependabot/npm_and_yarn/next-15.4.7
  • dependabot/npm_and_yarn/next-15.4.8
  • dependabot/npm_and_yarn/next-15.4.9
  • dependabot/npm_and_yarn/next-15.5.10
  • dependabot/npm_and_yarn/next-15.5.14
  • dependabot/npm_and_yarn/next-15.5.15
  • dependabot/npm_and_yarn/next-15.5.18
  • dependabot/npm_and_yarn/next-16.1.5
  • dependabot/npm_and_yarn/next-16.1.7
  • dependabot/npm_and_yarn/node-fetch-2.6.7
  • dependabot/npm_and_yarn/qs-6.14.2
  • dependabot/npm_and_yarn/qs-6.5.3
  • dependabot/npm_and_yarn/storybook-8.6.15
  • dependabot/npm_and_yarn/storybook-8.6.17
  • dependabot/npm_and_yarn/terser-4.8.1
  • dependabot/npm_and_yarn/tmp-0.2.4
  • dependabot/npm_and_yarn/urijs-1.19.10
  • dependabot/npm_and_yarn/urijs-1.19.11
  • dependabot/npm_and_yarn/urijs-1.19.8
  • dependabot/npm_and_yarn/urijs-1.19.9
  • feature/PP-4097-add-jira-release-sync-workflow
  • feature/configurable-default-media-support
  • feature/configuration-enhancements
  • feature/heuristic-slug-library-shortname
  • feature/home-page-link-titles
  • feature/oidc-auth-handler
  • feature/oidc-logout-support
  • feature/patron-dropdown
  • feature/saml-logout-support
  • feature/sort-library-list-by-name
  • feature/suppress-unsupported-auth-mechanisms
  • feature/upgrade-to-changelog-enforcer-3.3.0
  • feature/use-new-gh-actions-environment-files
  • feature/version-info
  • main
  • no-password-login
  • play-store-link
  • refs/tags/test-release
  • refs/tags/test-release-2
  • refs/tags/v0.1.0
  • refs/tags/v0.1.1
  • refs/tags/v0.2.1
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • refs/tags/v0.5.0
  • refs/tags/v0.6.0
  • refs/tags/v0.7.0
  • refs/tags/v0.8.0
  • refs/tags/v0.9.0
  • restore-branding
  • revert-branding
  • search-all-langs
  • sync-with-nypl
  • test-pr
  • update-actions
  • update-logo
  • upgrade_next
  • working/upgrade-without-legacy-peer-deps

15 May 2026 09:34PM UTC coverage: 88.281%. Remained the same
25942535143

push

github

web-flow
Better handling of cancelled/failed redirect logins (PP-3961) (#137)

## Description

Adds cancel-detection and error-recovery to the SAML, OIDC, and Clever
auth redirect handlers, preventing infinite redirect loops when a login
attempt is cancelled or fails.

When a patron initiates an external auth login, the handler redirects to
an identity provider via a hard browser navigation. Previously,
returning to the app without completing auth — via browser back, closing
a popup, or an IdP-side failure — caused the handler to immediately
redirect again, trapping the patron in a loop.

Key changes:
- **Auth-failure loop fix**: When an IdP redirects back to a protected
page with an error parameter, that error is now passed through to the
login handler, which displays it as an error message rather than
triggering another redirect.
- **Browser-back cancel detection**: sessionStorage flags track the
redirect lifecycle. When a user returns to the login page without
completing auth, the cancelled message ("Login was cancelled.") is shown
with a "Try Again" option rather than immediately re-redirecting.
- **Intentional re-navigation**: When a user on the cancel screen
navigates back to the sign-in page (e.g. via the header or the "Try
Again" option), the flags are cleared and a fresh redirect proceeds
normally.

Special cases:
- **Safari `bfcache` support**: Safari restores pages from its
back-forward cache without re-running React effects. A special event
listener detects this case so that the cancelled message can be
displayed correctly.
- **Cancel button**: A cancel button has been added to allow the user to
manually abort and stop the spinner. This is kind of a catch all, but I
went down that path because of an issue I ran into with my daily driver
ARC Browser:
- **Popup overlay support (ARC browser)**: ARC's "Little Arc" feature
opens external URLs as an in-browser overlay, leaving the main page
mounted in spinner state with no standard DOM event to detect cl... (continued)

218 of 250 branches covered (87.2%)

Branch coverage included in aggregate %.

347 of 390 relevant lines covered (88.97%)

30.6 hits per line

Relevant lines Covered
Build:
Build:
390 RELEVANT LINES 347 COVERED LINES
30.6 HITS PER LINE
Source Files on main
  • Tree
  • List 14
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25942535143 main Better handling of cancelled/failed redirect logins (PP-3961) (#137) ## Description Adds cancel-detection and error-recovery to the SAML, OIDC, and Clever auth redirect handlers, preventing infinite redirect loops when a login attempt is cancell... push 15 May 2026 09:36PM UTC web-flow github
88.28
25939687040 bugfix/cancelled-failed-redirect-login Guard against server-side sessionStorage Pull #137 15 May 2026 08:27PM UTC tdilauro github
88.28
25843346530 bugfix/cancelled-failed-redirect-login Refactor and code clean up push 14 May 2026 05:23AM UTC tdilauro github
88.28
25837388753 bugfix/cancelled-failed-redirect-login Special Safari bfcache handling and add cancel button push 14 May 2026 02:07AM UTC tdilauro github
88.28
25804425947 main Bump next from 15.5.15 to 15.5.18 (#135) Bumps [next](https://github.com/vercel/next.js) from 15.5.15 to 15.5.18. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vercel/next.js/releases">next's releases<... push 13 May 2026 02:10PM UTC web-flow github
88.28
25804162930 main Add client / server request logging (PP-4328) (#136) ## Description Adds server-side request logging to the Next.js instrumentation hook via monkey patching: - Inbound HTTP requests are logged as `recv METHOD URL STATUS` on response completion; ... push 13 May 2026 02:05PM UTC web-flow github
88.28
25779663624 chore/request-logging Add client / server request logging (PP-4328) push 13 May 2026 05:11AM UTC tdilauro github
88.28
25721380757 dependabot/npm_and_yarn/next-15.5.18 Bump next from 15.5.15 to 15.5.18 Bumps [next](https://github.com/vercel/next.js) from 15.5.15 to 15.5.18. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Co... Pull #135 12 May 2026 07:59AM UTC web-flow github
87.95
25680279556 refs/tags/v0.9.0 Bump fast-uri from 3.1.0 to 3.1.2 (#134) Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fastify/fast-uri/releases">fast-uri's r... push 11 May 2026 03:39PM UTC web-flow github
87.95
25676026124 main Bump fast-uri from 3.1.0 to 3.1.2 (#134) Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fastify/fast-uri/releases">fast-uri's r... push 11 May 2026 02:24PM UTC web-flow github
87.95
See All Builds (308)

Badge your Repo: web-patron

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc