Commit Graph

72665 Commits

Author SHA1 Message Date
Patrik Oldsberg 0f8b40ddc5 docs: address copilot review comments
Add installation example for extraIcons in the customize-theme guide
and fix "productional code" typo in quickstart-app-plugin--old.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-30 12:57:47 +02:00
Patrik Oldsberg 15ab64be96 docs: fix relative link depth in customize-theme guide
The previous fix overshot the directory traversal — three levels up
escapes the docs root. Use two levels (`../../`) to correctly reach the
frontend-system migration guide from golden-path/create-app/.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-29 22:49:58 +02:00
Patrik Oldsberg dce631e6f7 docs: fix broken relative link in customize-theme guide
Fix the relative path to the sidebar customization section in the
migration guide, which was missing two levels of directory traversal.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-29 22:39:53 +02:00
Patrik Oldsberg 7c1b319e74 docs: migrate getting-started docs to new frontend system
Migrate four documentation pages to use the new frontend system as the
primary content, moving the old frontend system instructions to --old
files following the established convention:

- configure-app-with-plugins: rewrite for auto-discovered plugins
- customize-theme: rewrite for ThemeBlueprint/extension-based theming
- enable-public-entry: make new frontend system the primary content
- quickstart-app-plugin: remove manual sidebar wiring instructions

Each main file gets an info banner linking to the --old variant, and
each --old file gets a banner linking back to the current guide.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-29 21:35:17 +02:00
Fredrik Adelöw 0336f92de8 Merge pull request #33658 from backstage/freben/clarify-fetch-failures
Add FetchMiddlewares.clarifyFailures and improve permission error handling
2026-03-29 12:51:04 +02:00
Fredrik Adelöw 0eb8d1a31f Merge pull request #33290 from backstage/freben/catalog-exists-query-optimization
catalog-backend: optimize entity filter queries with EXISTS
2026-03-29 12:48:38 +02:00
Fredrik Adelöw 4538f05b24 Address PR review: extract shared searchExists helper and rename strategy
- Extract shared `searchExists` helper into `searchSubquery.ts` to avoid
  duplicate EXISTS subquery logic between the two filter modules
- Rename `applyInStrategy` to `applyExistsStrategy` to reflect the actual
  query shape
- Update block comment with correct EXISTS SQL examples
- Remove unused `strategy` parameter from `applyEntityFilterToQuery`

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-29 12:31:01 +02:00
Patrik Oldsberg 9f3affb864 Merge pull request #33601 from thomvaill/github-provider-fix-validateLocationsExist-with-branch-filter
fix(github-provider): `validateLocationsExist: true` + `filters.branch` bug [contribfest]
2026-03-29 12:14:23 +02:00
Fredrik Adelöw d19e32ccad Use duck-typing for Request check and make clarification best-effort
Replace instanceof Request with a duck-type isRequestLike helper to
avoid cross-realm issues, and wrap the clarification logic in a
try/catch so it can never mask the original error.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-29 10:30:22 +02:00
Fredrik Adelöw 741d367817 Merge pull request #33659 from backstage/freben/parallelize-cli-reports 2026-03-29 08:23:49 +02:00
Fredrik Adelöw 688481429c catalog-backend: optimize entity filter queries with EXISTS
Switch filter query builders from IN (subquery) to EXISTS (correlated
subquery) patterns. This enables PostgreSQL semi-join optimizations
(stops at first match) and replaces NOT IN with NOT EXISTS (faster,
no NULL-semantics pitfalls).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 22:45:48 +01:00
Fredrik Adelöw 8278540c60 Fix pLimit type and remove trailing comma in error message
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 18:27:53 +01:00
Fredrik Adelöw 8e9679b3eb Parallelize CLI report generation in repo-tools
Converts createBinRunner from spawnSync to async spawn, and processes
all CLI packages concurrently with a shared p-limit limiter bounded
by CPU count. Reduces wall-clock time from ~50s to ~12s.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 17:48:33 +01:00
Fredrik Adelöw c38610bd9d Address review feedback: add cast rationale, drop redundant assertError
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 17:07:00 +01:00
Fredrik Adelöw cba19b13de Avoid new Request() in catch to prevent disturbed body errors
Extracts method/url directly from the input instead of constructing
a new Request in the catch block, which could fail if the body was
already consumed. Also adds a test with Request object input.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 17:04:02 +01:00
Fredrik Adelöw 18c3dbadd6 Update packages/core-app-api/src/apis/implementations/FetchApi/ClarifyFailuresFetchMiddleware.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-03-28 17:01:07 +01:00
Fredrik Adelöw 9f1ac04765 Update packages/core-app-api/src/apis/implementations/FetchApi/ClarifyFailuresFetchMiddleware.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-03-28 17:00:56 +01:00
Fredrik Adelöw 400aa2313a Add FetchMiddlewares.clarifyFailures and improve permission error handling
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 16:55:33 +01:00
Patrik Oldsberg 0cb1189130 workflows: add Discord notification for ready PRs (#33655)
* workflows: add Discord notification for ready PRs

Adds a new workflow that posts to Discord whenever a pull request is
opened as non-draft or marked as ready for review. Uses jq to safely
construct the JSON payload and sends it via curl to a webhook URL
stored in repository secrets.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor

* workflows: harden Discord webhook notification

Add early guard for missing webhook secret, disable Discord mention
parsing to prevent abuse via PR titles/bodies, and check the HTTP
response to surface webhook failures.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor

* workflows: upgrade github-script to v8 and truncate embed title

Align actions/github-script pin with the rest of the repo (v8.0.0)
and truncate the Discord embed title to the 256-character limit to
prevent webhook failures on long PR titles.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor

---------

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-28 15:44:47 +01:00
backstage-goalie[bot] 781815fd25 Merge pull request #33654 from backstage/renovate/npm-path-to-regexp-vulnerability
chore(deps): update dependency path-to-regexp to v8.4.0 [security]
2026-03-28 11:43:31 +00:00
renovate[bot] 299e189a3f chore(deps): update dependency path-to-regexp to v8.4.0 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-28 11:02:42 +00:00
Fredrik Adelöw 524d733762 Merge pull request #33651 from backstage/freben/remove-jest-when-dep
Remove unused jest-when dependency from scaffolder-backend-module-rails
2026-03-28 11:53:44 +01:00
Fredrik Adelöw 54f9639f3b Merge pull request #33650 from backstage/freben/simplify-create-route-ref-types
Simplify createRouteRef type signature
2026-03-28 11:20:45 +01:00
Fredrik Adelöw 2905c5931d Remove unused jest-when dev dependency from scaffolder-backend-module-rails
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 11:16:00 +01:00
Fredrik Adelöw 49397c16e0 Simplify createRouteRef type signature
Replace dual TParams/TParamKeys type parameters with a single TParamKey,
removing unnecessary complexity while preserving runtime behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-28 10:58:37 +01:00
Patrik Oldsberg 7d942709fa Merge pull request #31406 from fcamgz/search-modal-overflow-fix
Fixed SearchModal not cleaning up body overflow
2026-03-28 09:58:09 +01:00
backstage-goalie[bot] 2b25d68c73 Merge pull request #33644 from backstage/renovate/ws-8.x-lockfile
chore(deps): update dependency ws to v8.20.0
2026-03-27 21:23:38 +00:00
renovate[bot] 36949b832b chore(deps): update dependency ws to v8.20.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 20:32:00 +00:00
backstage-goalie[bot] 96882bbfb1 Merge pull request #33638 from backstage/renovate/react-hook-form-7.x-lockfile
chore(deps): update dependency react-hook-form to v7.72.0
2026-03-27 16:06:41 +00:00
backstage-goalie[bot] b6116cbcd0 Merge pull request #33637 from backstage/renovate/openapitools-openapi-generator-cli-2.x-lockfile
chore(deps): update dependency @openapitools/openapi-generator-cli to v2.31.0
2026-03-27 16:06:36 +00:00
renovate[bot] 67139fc330 chore(deps): update dependency react-hook-form to v7.72.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 15:17:09 +00:00
renovate[bot] a850cd02c3 chore(deps): update dependency @openapitools/openapi-generator-cli to v2.31.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 15:15:04 +00:00
backstage-goalie[bot] 805253de00 Merge pull request #33633 from backstage/renovate/faker-js-faker-10.x-lockfile
chore(deps): update dependency @faker-js/faker to v10.4.0
2026-03-27 15:04:28 +00:00
backstage-goalie[bot] cfbac0d386 Merge pull request #33631 from backstage/renovate/aws-sdk-js-v3-monorepo
chore(deps): update aws-sdk-js-v3 monorepo
2026-03-27 15:04:22 +00:00
backstage-goalie[bot] 6ffd191f4a Merge pull request #33622 from backstage/renovate/typedoc-0.x-lockfile
chore(deps): update dependency typedoc to v0.28.18
2026-03-27 15:04:15 +00:00
backstage-goalie[bot] a964bccd18 Merge pull request #33568 from backstage/renovate/rollup-plugin-dts-6.x-lockfile
chore(deps): update dependency rollup-plugin-dts to v6.4.1
2026-03-27 15:04:07 +00:00
Fredrik Adelöw c454d667ee Merge pull request #33626 from backstage/fix/patch-release-showPaginationLabel
chore: add PR #33552 to patch release
2026-03-27 15:33:17 +01:00
renovate[bot] b060375ec2 chore(deps): update dependency @faker-js/faker to v10.4.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 14:24:45 +00:00
backstage-goalie[bot] 9cb65ff8db Merge pull request #33627 from backstage/renovate/graphql-16.x-lockfile
chore(deps): update dependency graphql to v16.13.2
2026-03-27 14:16:38 +00:00
renovate[bot] 3b1cfc59b6 chore(deps): update aws-sdk-js-v3 monorepo
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 14:10:47 +00:00
renovate[bot] eabd3e9965 chore(deps): update dependency typedoc to v0.28.18
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 14:08:10 +00:00
renovate[bot] e996683fb8 chore(deps): update dependency rollup-plugin-dts to v6.4.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 14:07:17 +00:00
renovate[bot] 41b82bef7a chore(deps): update dependency graphql to v16.13.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 13:17:32 +00:00
Johan Persson f974669a75 chore: add PR #33552 to patch release
Dependency for PR #33614 — the showPaginationLabel field was added
to PaginationOptions after v1.49.0, causing a cherry-pick conflict
when applying #33614 to the patch branch.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-27 14:16:19 +01:00
backstage-goalie[bot] 22ffba1ca9 Merge pull request #33624 from backstage/renovate/storybook-monorepo
chore(deps): update storybook monorepo to v10.3.3
2026-03-27 12:45:55 +00:00
renovate[bot] 8a829bcb22 chore(deps): update storybook monorepo to v10.3.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 12:03:51 +00:00
backstage-goalie[bot] 5412afaa99 Merge pull request #33620 from backstage/renovate/tar-7.x-lockfile
chore(deps): update dependency tar to v7.5.13
2026-03-27 11:59:01 +00:00
backstage-goalie[bot] a4549f6cad Merge pull request #33619 from backstage/renovate/rspack-monorepo
chore(deps): update dependency @rspack/core to v1.7.10
2026-03-27 11:58:57 +00:00
Johan Persson 3143a9fb73 chore: add PR #33614 to patch release
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-27 12:36:03 +01:00
Johan Persson 04162167f5 fix(catalog-react): fix relation cards showing only one entity
Use `paginationOptions: { type: 'none' }` in EntityDataTable instead
of deriving page size from data length, which was 0 during the initial
loading render causing only one row to be displayed.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-27 12:36:03 +01:00