19202 Commits

Author SHA1 Message Date
Patrik Oldsberg 77ab7d570e core-compat-api: hide page header for compat-wrapped legacy pages
Legacy plugins already render their own headers, so the additional
PageLayout header from the PageBlueprint results in duplicate headers.
Pass noHeader: true in both convertLegacyPageExtension and
collectLegacyRoutes to suppress the outer header.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-24 06:57:41 -07:00
Fredrik Adelöw 7fc0daebd7 Merge pull request #33388 from Deepesh123455/fix/oauth-dom-nesting-warning
fix(core-components): resolve DOM nesting warning in OAuthRequestDialog
2026-03-24 14:20:08 +01:00
Johan Persson 3d67aebd35 fix(ui): add prefers-reduced-motion support to Tab indicators
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-24 09:32:54 +01:00
Johan Persson 8659f3331c feat(ui): replace Header tabs with nav-based grouped navigation
Replace the RA Tabs/TabList/Tab rendering in the Header component
with a nav-based approach that supports grouped dropdown items via
BUI Menu. Active state is consumer-controlled via a new activeTabId
prop. The indicator system follows the TabsIndicators CSS custom
property pattern for animated active/hover/focus states.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-24 09:32:54 +01:00
Charles de Dreuille 6bfcd9967b Merge pull request #33504 from backstage/bui-pluginheader 2026-03-23 15:48:45 +00:00
Charles de Dreuille 441c4c86e8 Merge branch 'master' into bui-menu-fix 2026-03-23 15:25:23 +00:00
Charles de Dreuille f9fc8c2dd6 Merge branch 'master' into bui-pluginheader 2026-03-23 15:25:12 +00:00
Charles de Dreuille b5d08664d6 Replace div with Box
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 15:24:23 +00:00
Charles de Dreuille 844f98c07e Add bg neutral on the tabs
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 15:20:15 +00:00
Charles de Dreuille 9361eb3f94 Update PluginHeader.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 14:26:30 +00:00
Fredrik Adelöw 311af05c71 even more careful lockfile
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-23 15:23:11 +01:00
Charles de Dreuille db7681b091 Bring back Box
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 14:02:15 +00:00
Fredrik Adelöw cb6b0d69c3 Merge pull request #33529 from backstage/freben/seed
fix e2e
2026-03-23 14:49:15 +01:00
Fredrik Adelöw e9e6c4e529 fix https://github.com/knex/knex/issues/6403
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-23 14:42:30 +01:00
Charles de Dreuille 31afc347f2 Merge branch 'master' into bui-menu-fix 2026-03-23 11:33:05 +00:00
Charles de Dreuille 96e510b88a Update Menu.module.css
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 11:33:00 +00:00
Charles de Dreuille 5df9bce512 Improve link items
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 11:16:15 +00:00
Charles de Dreuille 85e2327f5f Cleaning
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 10:33:58 +00:00
Charles de Dreuille 3465bf22fc Remove wrapper
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 10:28:30 +00:00
Antony cc4a682025 fix(bui): add ButtonIcon loading spin animation (#33425)
* fix:  add spin animation

Signed-off-by: Antony Bouyon <antony.bouyon@believe.com>

* chore: changeset

Signed-off-by: Antony Bouyon <antony.bouyon@believe.com>

* Update .changeset/swift-lizards-bathe.md

Signed-off-by: Johan Persson <johanopersson@gmail.com>

---------

Signed-off-by: Antony Bouyon <antony.bouyon@believe.com>
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Co-authored-by: Johan Persson <johanopersson@gmail.com>
2026-03-23 10:29:21 +01:00
Charles de Dreuille 87e696a061 Update Menu.module.css
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 08:56:47 +00:00
Charles de Dreuille adcdd2f2e0 Improve ring on Menu
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 08:49:24 +00:00
Charles de Dreuille 4d259c24d6 Updates
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-21 18:09:22 +00:00
Charles de Dreuille bcf8042a2f Improve styles for Header
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-21 17:52:36 +00:00
Fredrik Adelöw ba2d8c8496 Merge pull request #33477 from backstage/freben/taskworker-test-flakiness
Reduce TaskWorker test flakiness by grouping tests per database engine
2026-03-21 13:25:55 +01:00
Charles de Dreuille 49ffe8ae6b First pass improving the PluginHeader
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-21 10:14:44 +00:00
Fredrik Adelöw 8398f555ec Reduce TaskWorker test flakiness by grouping tests per database engine
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-20 16:23:56 +01:00
Patrik Oldsberg a49d871524 Merge pull request #33451 from backstage/rugvip/create-app-fixes
create-app: improve next template sidebar, nav wiring, and examples
2026-03-20 14:56:44 +01:00
Patrik Oldsberg 54b88a8607 create-app: remove redundant extension config
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-20 12:29:59 +01:00
Patrik Oldsberg 288a997236 create-app: move down app visualizer sidebar item
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-20 12:29:58 +01:00
Patrik Oldsberg ae4963eacb create-app: remove unnecessary core-compat-api usage
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-20 12:29:58 +01:00
Patrik Oldsberg 016098080a create-app: add example techdocs page
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-20 12:29:56 +01:00
Patrik Oldsberg d39c2dcce3 Merge pull request #33441 from backstage/rugvip/remove-plugin-header-action-define-params
frontend-plugin-api: remove defineParams from PluginHeaderActionBlueprint
2026-03-20 11:48:11 +01:00
Fredrik Adelöw 78457904ee Merge pull request #33347 from backstage/dependabot/npm_and_yarn/undici-7.24.0
chore(deps): bump undici from 7.22.0 to 7.24.0
2026-03-20 11:15:10 +01:00
Fredrik Adelöw cc0326a6a5 Merge pull request #33243 from backstage/renovate/opentelemetry-js-monorepo
fix(deps): update opentelemetry-js monorepo to ^0.213.0
2026-03-20 10:53:49 +01:00
Fredrik Adelöw 884b8691b0 Merge pull request #33305 from backstage/renovate/wait-for-expect-4.x
chore(deps): update dependency wait-for-expect to v4
2026-03-20 10:26:36 +01:00
dependabot[bot] e928e7387c chore(deps): bump undici from 7.22.0 to 7.24.0
Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 09:24:58 +00:00
Patrik Oldsberg 7e163ab470 Merge pull request #33437 from backstage/techdocs-bui-header-migration
feat(techdocs): migrate alpha plugin pages to BUI header system
2026-03-20 09:06:57 +01:00
Patrik Oldsberg 66c56c192e create-app: use nav system for settings sidebar item
Replace the hardcoded SidebarSettings component with nav.take('page:user-settings') in the create-app template sidebar, so that the user-settings nav item is rendered via the nav system.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-20 09:05:37 +01:00
Johan Persson d66a3ec9ab feat(frontend-plugin-api): add titleRouteRef to PageBlueprint
Add `titleRouteRef` to `PageLayoutProps` so the plugin header title
links back to the plugin root. `PageBlueprint` resolves it from
`plugin.routes.root` with fallback to `params.routeRef`.

- PageLayout swap resolves the title link via a conditional child
  component that calls `useRouteRef` only when a route ref exists
- Header actions get stable React keys via `cloneElement`

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-20 09:05:23 +01:00
Juan Pablo Garcia Ripa 64a91d0005 Rename frontend-plugin to legacy-frontend-plugin
rename the template to not get naming conficts with the nfs template

Signed-off-by: Juan Pablo Garcia Ripa <sarabadu@gmail.com>
2026-03-19 21:57:48 +01:00
Patrik Oldsberg 364d4fe187 frontend-app-api: add apis to specialized app result types (#33445)
* frontend-app-api: add `apis` to specialized app result types

Added `apis: ApiHolder` to both `BootstrapSpecializedApp` and
`FinalizedSpecializedApp` types, and included the APIs in the returned
objects from `getBootstrapApp()`, `finalizeFromSessionState()`, and
`finalizeFromBootstrapError()`.

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

* Add .patches entry for PR #33445

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

---------

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-19 20:57:20 +01:00
Patrik Oldsberg ce6d262e81 Merge pull request #33443 from backstage/rugvip/unprocessed-entities-devtools
catalog-unprocessed-entities: integrate as DevTools tab by default
2026-03-19 19:09:01 +01:00
Patrik Oldsberg b6f1fae0d9 catalog-unprocessed-entities: integrate as DevTools tab by default
The unprocessed entities view is now provided as a DevTools sub-page
directly from the plugin, removing the need for manual wiring. The
standalone page is still available but disabled by default.

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
2026-03-19 18:55:32 +01:00
Jon Koops 980b7f5632 docs: remove legacy corporate proxy documentation
All Node.js versions in Backstage's support matrix (v22 and v24 LTS)
include built-in proxy support via NODE_USE_ENV_PROXY, making the
legacy global-agent/undici workarounds unnecessary. Remove the legacy
proxy guide from contrib/ and all references to the legacy approach
across the docs.

Signed-off-by: Jon Koops <jonkoops@gmail.com>
2026-03-19 17:17:17 +01:00
Patrik Oldsberg 3d969f541a Clean up example app comments and add missing backend plugin (#33440)
Made-with: Cursor

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-19 14:52:06 +01:00
Johan Persson bcbb6eb6b8 fix(ui): make SearchAutocomplete background-aware
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-19 14:50:42 +01:00
Johan Persson 8c2e24e612 fix(ui): add aria-hidden to PluginHeader icon
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-19 14:50:42 +01:00
Patrik Oldsberg e220589506 frontend-plugin-api: remove defineParams from PluginHeaderActionBlueprint
Replace the defineParams + createExtensionBlueprintParams pattern with
inline param types on the factory, matching PageBlueprint, SubPageBlueprint,
and other blueprints. Update the app-visualizer usage accordingly.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-19 13:43:08 +01:00
Patrik Oldsberg 7d86248253 Merge pull request #33424 from backstage/rugvip/ui-react-aria-deps
ui: add React Aria and React Stately dependencies
2026-03-18 21:18:54 +01:00