Skip to content

fix: Issues 960, 964, 966, 967, and 968. - #974

Open
jonathanp-okta wants to merge 8 commits into
masterfrom
fix/issues-960-964-966-967-968
Open

jonathanp-okta wants to merge 8 commits into
masterfrom
fix/issues-960-964-966-967-968

Conversation

@jonathanp-okta

@jonathanp-okta jonathanp-okta commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

✏️ Changes

Fixes #960, #964, #966, #967, #968.

Rebased onto master after the Node 24 upgrade (#975), so this PR no longer touches the Node version.

🔮 Type of Change

Bug fixes and small features in the Decoder, Encoder and Libraries pages, plus dev tooling and a dependency security bump. No public API changes.

  • Standard
  • Emergency
  • Significant

🔗 References

📖 Documentation

No documentation update needed. New UI strings were added to the English and Japanese dictionaries (home and libraries).

  • I reflected this change in the documentation, or explained why no update is needed.

🎯 Testing

On Node 24.15.0, from a clean node_modules:

  • npm ci: succeeds without --legacy-peer-deps.
  • npm run typecheck: clean.
  • npm run lint: clean.
  • npx vitest run: 14 files, 171 tests, all passing (includes new tests for SEC1 conversion, JWKS, the decoder JWKS store, the encoder and library support values).
  • npm run build: succeeds.
  • Playwright (Chromium + Firefox, 2 workers): 208 passed, 12 skipped (includes the new decoder-jwks.spec.ts).
  • Manual UI QA, about 247 checks on both the dev server and the production build.
  • npm audit: node-forge no longer listed.

Gaps a reviewer should know about:

  • The Japanese strings for Remove/flag archived libraries in the current library directory (libraries-next.json) #967 and Support manually-supplied JWKS URI or JWKS JSON for signature verification #968 are machine-assisted translations and need a native-speaker check.

  • Not tested: Safari, real mobile devices, OneTrust and analytics (disabled in dev), and a live public JWKS URI (a local server was used).

  • Some failures reproduce on a clean master checkout and are not from this PR: a missing rel=noopener on the okta.com privacy link, the key box clearing after an Encoder tab round trip, and the tab order.

  • One Playwright test (debugger.spec.ts "single jwt piece") failed once under parallel load and passed on rerun and in isolation. Treated as flaky.

  • I described how I tested these changes.

  • This change has test coverage, or I explained why it does not.

🚀 Deployment

Deployable at any time. No new environment variables, infrastructure or migrations. The JWKS URI feature makes a request to the URI the user provides; the token itself is never sent.

  • This change can support multiple releases serving traffic at the same time.
  • This can be deployed at any time, or I listed the prerequisites.

🔥 Rollback

Revert this PR to restore the previous behavior. Nothing is persisted server-side, and the change only affects the client UI, the library data file and dev tooling. Reverting the vite/vitest bump returns the install to needing --legacy-peer-deps.

  • I explained the rollback and recovery process.

@github-actions

Copy link
Copy Markdown

Preview URL https://next-jwt-lkxrukac2-okta.vercel.app

@jonathanp-okta
jonathanp-okta force-pushed the fix/issues-960-964-966-967-968 branch from 0e3e0e3 to 201bea6 Compare October 27, 2026 16:46
@github-actions

Copy link
Copy Markdown

Preview URL https://next-jwt-3rsap4kul-okta.vercel.app

@github-actions

Copy link
Copy Markdown

Preview URL https://next-jwt-9n25henm7-okta.vercel.app

@jonathanp-okta
jonathanp-okta marked this pull request as ready for review October 27, 2026 17:27
@jonathanp-okta jonathanp-okta changed the title fix: Issues 960 964 966 967 968. fix: Issues 960, 964, 966, 967, and 968. Oct 27, 2026

This branch was successfully deployed

1 active deployment
preview — 0f3e5a4c Deployed Oct 27, 2026 by jonathanp-okta via Deploy-Preview #240
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant