Commit Graph

71047 Commits

Author SHA1 Message Date
Johan Persson 9027b10643 fix(ui): fix scroll overflow in Menu and Select popovers
When viewport height constrains the popover, content now scrolls
instead of overflowing.

- Menu: add flex column layout and overflow hidden to .bui-MenuInner
- Select: add overflow auto and min-height 0 to .bui-SelectList

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-02-27 14:35:30 +01:00
Patrik Oldsberg acb2714ca8 Merge pull request #33025 from backstage/rugvip/move-transform-tests
cli: move transform tests into the build module
2026-02-27 14:08:22 +01:00
Patrik Oldsberg 03f5009aae Merge pull request #33020 from kurtaking/kurtaking/metrics-alpha-docs
docs: metrics service alpha
2026-02-27 13:18:53 +01:00
Patrik Oldsberg c3e8286bf6 Merge pull request #32562 from Believe-SA/package-workspaces
chore: replace legacy package.json workspaces.packages by workspaces
2026-02-27 12:58:53 +01:00
Johan Persson 33324d45ac docs(ui): clarify module-scoped singleton in useBreakpoint
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-02-27 12:32:31 +01:00
Johan Persson f10b3b8d7d refactor(ui): simplify useBreakpoint singleton store
Initialize listeners as an eager Set to eliminate the undefined union
type and non-null assertions. Add comment explaining the change listener
algorithm.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-02-27 12:32:31 +01:00
Johan Persson cd3cb0f35a chore: add changeset for useBreakpoint performance improvement
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-02-27 12:32:31 +01:00
Johan Persson b39c2d3893 perf(ui): rewrite useBreakpoint with singleton useSyncExternalStore
Replace per-instance useState + matchMedia pattern with a module-level
singleton that shares 6 matchMedia listeners across all callers.
Reduces listener count from 18×N to a fixed 6.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-02-27 12:32:31 +01:00
Johan Persson 154492c05f chore(ui): add use-sync-external-store dependency
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-02-27 12:32:31 +01:00
Gabriel Dugny 3187a7a441 Merge remote-tracking branch 'origin/master' into package-workspaces 2026-02-27 12:05:03 +01:00
Gabriel Dugny 37a309e7e2 Update .changeset/slow-items-pull.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Gabriel Dugny <gabriel@dugny.me>
2026-02-27 12:04:16 +01:00
Patrik Oldsberg bf97fecaf7 Merge pull request #33019 from backstage/rugvip/nfs-entity-page-group-aliases-and-ordering
catalog: add group aliases and configurable content ordering to entity page
2026-02-26 23:34:17 +01:00
Fredrik Adelöw 858eb3755c Merge pull request #33037 from backstage/freben/by-refs-predicate-query
feat(catalog): Add predicate-based filtering to the by-refs endpoint
2026-02-26 22:35:27 +01:00
Fredrik Adelöw 3880820c62 fix: clean up filter merging logic and add combined filter+query test
- Replace incorrect Object.keys-on-array guard with direct filter
  conversion, matching the pattern used in getEntityFacetsByPredicate
- Add backend router test covering combined filter query param + body
  query predicate being forwarded independently to entitiesBatch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 21:59:36 +01:00
Fredrik Adelöw ec411a01ae feat: add query predicate support to InMemoryCatalogClient
Adds support for the `query` field in `getEntitiesByRefs` and
`getEntityFacets` on InMemoryCatalogClient, matching the backend
behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 21:50:33 +01:00
Fredrik Adelöw 2ffb23df02 Update packages/catalog-client/src/CatalogClient.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 21:26:33 +01:00
Fredrik Adelöw 5aea009edd refactor: simplify entitiesBatchRequest to use filterPredicateSchema directly
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 21:11:06 +01:00
Fredrik Adelöw 972f686958 feat(catalog): Add predicate-based filtering to the by-refs endpoint
Adds support for predicate-based filtering (`$all`, `$any`, `$not`,
`$exists`, `$in`, `$contains`, `$hasPrefix`) to the catalog
`/entities/by-refs` endpoint via a `query` field in the request body.

The existing `filter` query parameter behavior is preserved for backward
compatibility. The `query` predicate is only used when explicitly
provided, and when both `filter` and `query` are given, they are merged
with `$all`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 21:03:25 +01:00
Fredrik Adelöw d0e5ccc92e Merge pull request #33031 from backstage/worktree-catalog-updates
feat(catalog): Add predicate-based filtering to the facets endpoint
2026-02-26 20:37:48 +01:00
Patrik Oldsberg 6b8395d1d8 Merge pull request #33034 from backstage/rugvip/fix-form-fields-api-export
scaffolder-react: export formFieldsApiRef
2026-02-26 19:24:05 +01:00
Fredrik Adelöw f2401e9bda Merge pull request #33032 from thomvaill/fix-devtools-trigger-task-urlencoding
fix(devtools): URL-encode task IDs when triggering scheduled tasks
2026-02-26 19:23:41 +01:00
Patrik Oldsberg 6b70a2abcf Apply suggestions from code review
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-26 19:09:44 +01:00
Patrik Oldsberg 4a9b189125 Add .patches entry for patch release
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-26 18:31:50 +01:00
Patrik Oldsberg 743e4e3a1b Remove scaffolder changeset, note API signature change
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-26 18:31:18 +01:00
Patrik Oldsberg 33cc7b218e Address review feedback on changesets
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-26 18:15:08 +01:00
Patrik Oldsberg 004b5c1208 Move formFieldsApiRef and ScaffolderFormFieldsApi to scaffolder-react
The formFieldsApiRef and ScaffolderFormFieldsApi type are now defined and
exported from @backstage/plugin-scaffolder-react/alpha, and re-exported
from @backstage/plugin-scaffolder/alpha for backwards compatibility.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-26 18:06:57 +01:00
Fredrik Adelöw 105befbbf0 fix(catalog): only route facets to POST when query predicate is present
Preserve backward compatibility by keeping filter-only requests on the
existing GET endpoint. Only route to POST when query is present, matching
the pattern used by queryEntities.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 17:13:47 +01:00
Fredrik Adelöw 4c4632ce1b test(catalog): add GET /entity-facets backward compatibility test with filter
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 17:13:01 +01:00
thomvaill afabb37104 fix(devtools): urlencode task IDs when calling trigger route
Signed-off-by: thomvaill <thomvaill@bluebricks.dev>
2026-02-26 16:50:57 +01:00
Fredrik Adelöw 12b790d3c3 chore: remove working plan documents
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:31:22 +01:00
Fredrik Adelöw 56c908eed5 chore: add changesets and API reports for facets predicate support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:25:31 +01:00
Fredrik Adelöw bd179b0d3b feat(catalog): route facets requests to POST when query is present
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:21:24 +01:00
Fredrik Adelöw be6c10ef8c test(catalog): add tests for POST /entity-facets endpoint
Add unit tests for parseEntityFacetsQuery covering valid inputs (simple
queries, complex predicate queries, no query) and error cases (missing
facets, empty facets, invalid query types). Add route-level tests for
both GET and POST /entity-facets in createRouter.test.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:21:12 +01:00
Fredrik Adelöw 7a29905ba0 feat(catalog): add query predicate to GetEntityFacetsRequest
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:19:43 +01:00
Fredrik Adelöw e0fc8ddaec feat(catalog): add POST /entity-facets endpoint with predicate support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:16:50 +01:00
Fredrik Adelöw adcd98eb0b feat(catalog): support query predicates in DefaultEntitiesCatalog.facets
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:02:46 +01:00
Fredrik Adelöw 2d1580b9bd feat(catalog): add query predicate field to EntityFacetsRequest
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 16:02:34 +01:00
Fredrik Adelöw 193bd00374 docs: add implementation plan for facets predicate filtering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 15:55:37 +01:00
Fredrik Adelöw c472a693b6 Merge pull request #32986 from backstage/freben/valer
run vale directly instead of through the action
2026-02-26 15:55:13 +01:00
Fredrik Adelöw bed4174d86 docs: add design for predicate-based facets filtering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 15:51:59 +01:00
Fredrik Adelöw a22c0a368e use a distinct hash instead
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 14:45:34 +01:00
Ben Lambert a6b28199e5 feat(catalog): Implement query-catalog-entities on top of the filter predicates (#33022)
* chore: create query catalog
Signed-off-by: benjdlambert <ben@blam.sh>

Signed-off-by: benjdlambert <ben@blam.sh>

* feat(catalog-backend): add query-catalog-entities action

Signed-off-by: benjdlambert <ben@blam.sh>

* fix: address PR review feedback

Signed-off-by: benjdlambert <ben@blam.sh>

---------

Signed-off-by: benjdlambert <ben@blam.sh>
2026-02-26 14:45:10 +01:00
Fredrik Adelöw 4e85e7b0b3 Update .github/workflows/verify_docs-quality.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 14:37:07 +01:00
Fredrik Adelöw 356d1662d8 Update .github/workflows/verify_docs-quality.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 14:37:07 +01:00
Fredrik Adelöw 0c0f46de09 Update .github/workflows/verify_docs-quality.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 14:37:07 +01:00
Fredrik Adelöw 2690d416f8 Update scripts/check-docs-quality.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 14:37:07 +01:00
Fredrik Adelöw b35f3595aa run vale directly instead of through the action
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-02-26 14:37:07 +01:00
Patrik Oldsberg 264159ef21 Move transform tests into the build module
Move the transform tests from packages/cli/src/tests/transforms/ into
packages/cli/src/modules/build/tests/transforms/ so that the build
module is self-contained and can eventually become its own package.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-26 13:27:30 +01:00
Andre Wanlin d419bcff55 Merge pull request #32966 from backstage/renovate/nodemon-3.x-lockfile
chore(deps): update dependency nodemon to v3.1.14
2026-02-26 05:57:27 -06:00
Andre Wanlin c030579e1d Merge pull request #32963 from backstage/renovate/testcontainers-node-monorepo
chore(deps): update dependency testcontainers to v11.12.0
2026-02-26 05:57:00 -06:00