74233 Commits

Author SHA1 Message Date
Andre Wanlin 50758120ce Merge pull request #31010 from drodil/search_action
feat(search): add actions to query search engine
2026-05-05 06:04:06 -05:00
Andre Wanlin 5e53254fe0 Merge pull request #33370 from rtar/master
fix(plugin-techdocs-node): Move docs directory validation to after copying README.md
2026-05-05 06:02:44 -05:00
Emma Indal 9c16bf9707 fix(ui): render focus ring on Link via data-focus-visible
Style the bui-Link itself when keyboard-focused using the ring token,
matching the established pattern from ButtonLink. Also tweak the
changeset wording to reflect the new behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2026-05-05 09:48:53 +02:00
Emma Indal c41606a22d Update .changeset/link-focus-visible.md
Co-authored-by: Johan Persson <johanopersson@gmail.com>
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2026-05-05 08:25:39 +02:00
dependabot[bot] e522c6039b build(deps): bump vm2 from 3.10.3 to 3.11.2
Bumps [vm2](https://github.com/patriksimek/vm2) from 3.10.3 to 3.11.2.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/patriksimek/vm2/compare/v3.10.3...v3.11.2)

---
updated-dependencies:
- dependency-name: vm2
  dependency-version: 3.11.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-04 16:58:03 +00:00
Emma Indal 5b85902ede fix(ui): show focus indicator on Card when used as a link
Card's focus-ring CSS keys off data-focus-visible on the
bui-CardTrigger, but Link (the trigger when href is set) wasn't
emitting it because useLink does not track focus-visible state.
Compose useFocusRing in Link so keyboard focus is now properly
indicated on Card href=... and any other Link styled via
[data-focus-visible].

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2026-05-04 17:18:52 +02:00
Fredrik Adelöw 1004d7bd10 Merge pull request #34117 from backstage/freben/gitlab-integration-fetch-fixes
fix(integration): correct GitLab fetch mode and retry on network errors
2026-05-04 16:37:42 +03:00
Fredrik Adelöw da5ba4eecd Handle non-numeric Retry-After header values gracefully
Validate the parsed Retry-After value is a finite positive number before
using it as a delay, falling back to exponential backoff otherwise. This
prevents a near-zero delay tight retry loop when the header contains an
HTTP-date or unexpected value.

Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-04 15:12:02 +02:00
Fredrik Adelöw dd78c9cffa defer fetch lookup so test interceptors apply
Capturing globalThis.fetch as a value at construction time meant the
GitLabUrlReader tests bypassed the MSW fetch interceptor and hit the
real gitlab.com (returning 401). Wrapping the call resolves fetch at
invocation time so the patched fetch is used.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-05-04 14:01:43 +02:00
Fredrik Adelöw 1500fe31b4 restructure retry loop to remove parallel response/error variables
Each catch path now decides for itself whether to rethrow or sleep and
continue, so the loop body has a definite Response after the try/catch
and there is no shared `error: unknown` slot that could in principle be
thrown unset. Pulls the exponential delay into a tiny local helper to
share between the two retry paths.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-05-04 11:28:29 +02:00
Fredrik Adelöw d7f994308e drop non-null assertion in retry loop
Flip the order of the response/error check so TypeScript narrows the
types itself rather than relying on `response!` to assert what the code
already guarantees by construction.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-05-04 11:17:51 +02:00
Fredrik Adelöw 90d3968e6c address review comments
- Cancel discarded response bodies before retrying so the underlying
  connection can be returned to the pool instead of being held open
  until the response is garbage collected.
- Stop asserting on the rejected error message in the network-error
  retry test; track rejection via a flag so the test isn't tied to
  fetch/MSW error strings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-05-04 11:01:41 +02:00
Patrik Oldsberg 89d9e64abd Merge pull request #34095 from AmbrishRamachandiran/react-aria-link
Updates two stale React Aria documentation links in the docs-ui compnent pages
2026-05-04 10:47:27 +02:00
Fredrik Adelöw 6b112d3fe8 fix(integration): correct GitLab fetch mode and retry on network errors
Removes a misplaced `mode: 'same-origin'` option that would have rejected
cross-origin requests when the integration is used from a browser, and
extends the retry wrapper so transient network errors are retried using
the configured `maxRetries`. Caller-initiated aborts still propagate
immediately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-05-04 10:43:49 +02:00
Hellgren Heikki 1d357c79b9 docs(mui-to-bui): fix mangled jsx examples
and add missing examples.

closes #34080

Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2026-05-04 11:43:16 +03:00
Charles de Dreuille 77082ddc3a Merge pull request #34103 from backstage/cd/plugin-header-spacing
fix(ui): adjust plugin header spacing
2026-05-04 09:36:19 +01:00
Charles de Dreuille eecd8130dc fix(ui): tune plugin header core spacing
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-05-04 08:41:17 +01:00
its-mitesh-kumar 8a3aa16ba1 updating test
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
2026-05-02 20:43:13 +05:30
its-mitesh-kumar 876c99e56d adding changeset
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
2026-05-02 20:17:03 +05:30
its-mitesh-kumar ba0ff93e88 fix(user-settings): prioritize i18n translation over theme.title for built-in themes
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
2026-05-02 20:12:41 +05:30
Charles de Dreuille 36825fe290 Update PluginHeaderAndHeader.stories.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-30 15:01:45 +01:00
Miklós Kiss e5f31ff3a2 Add Scaffolder Studio plugin to plugin directory (#34092)
Adds a Scaffolder category entry for @kissmiklosjr/plugin-scaffolder-studio
with an iconUrl pointing at a new SVG illustrating the plugin's template
graph editor.

Signed-off-by: Kiss Miklos <kissmiklosjr@gmail.com>
2026-04-30 09:37:45 -04:00
Andre Wanlin bb7febddd6 Merge pull request #33252 from AdityaK60/devtools-bui-config
Migrate ConfigContent Component to Backstage UI
2026-04-30 07:02:45 -05:00
Andre Wanlin 1ecc3ca2e7 Grouped changesets
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-04-30 06:43:37 -05:00
Patrik Oldsberg c9468995fa Move config reading into startEmbeddedDb
Encapsulate the config-loading and embedded-postgres decision inside
`startEmbeddedDb` so that `runBackend` only needs to pass through the
raw `configPaths` and `targetDir`. This simplifies the interface between
the two modules and keeps all embedded-postgres concerns in one place.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-30 13:07:04 +02:00
Patrik Oldsberg a3a1802284 Use mockServices.rootConfig.mock for config mocking in tests
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-30 12:35:55 +02:00
Ruslans Tarasovs a27a24fd5a Implemented a fix preventing to write outside of current directory
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs 47c1ca0613 Add a test checking that it is not possible to write outside of a current directory
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs 0db7b1b163 Removed accidential console.log
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs a30dbc500b Made the test more generic
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs 5d36b961e3 Validate that symlink to README.md does not escape the directory
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs 5011e30c2c Update packages/techdocs-cli/src/legacy-docs/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Ruslans Tarasovs <49794769+rtar@users.noreply.github.com>
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs 1825392afd Update .changeset/tough-pots-dream.md
Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
Signed-off-by: Ruslans Tarasovs <49794769+rtar@users.noreply.github.com>
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:39 +03:00
Ruslans Tarasovs 18b2059ce3 Fixed incorrect parameter name
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:38 +03:00
Ruslans Tarasovs ff860a985d Added forgotten test file
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:38 +03:00
Ruslans Tarasovs 6ce84626ab Move docs directory validation to after copying README.md
Signed-off-by: Ruslans Tarasovs <ruslan@tarasovs.com>
2026-04-30 13:09:38 +03:00
Patrik Oldsberg d7e22c23c4 Fix config read crash when database connection is a string
The readDatabaseConfig function would crash when trying to read
sub-keys of backend.database.connection when the value is a plain
string (e.g. ':memory:' for better-sqlite3). Guard by checking the
raw value type before attempting to read structured connection keys.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-30 11:50:58 +02:00
Patrik Oldsberg be7e4eb48b cli-module-build: forward user config to embedded Postgres
When using the embedded-postgres database client, user-provided
connection config (host, port, user, password) is now forwarded to
the embedded Postgres instance. Only values that the user hasn't
configured are filled in with defaults and injected into the app
config, preserving existing behavior when no config is provided.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-30 11:34:51 +02:00
Charles de Dreuille 4955e51e07 fix(ui): handle core page after plugin header
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-30 09:56:17 +01:00
Charles de Dreuille 021b36800f fix(ui): collapse plugin header spacing before headers
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-30 09:33:18 +01:00
Peter Macdonald 6eda127a8c Merge pull request #33299 from chanchalkhatri19/doc/aws-s3-add-account-id-config
Doc: aws s3 add account id config
2026-04-30 09:23:18 +02:00
Juan Escalada c3e07a5cb3 fix: prevent unexpected signouts when disabling autologout
Signed-off-by: Juan Escalada <juanescalada175@gmail.com>
2026-04-30 12:04:03 +09:00
Juan Escalada 6b96557718 fix: add isLoggedRef and modify login checking logic
Signed-off-by: Juan Escalada <juanescalada175@gmail.com>
2026-04-30 11:45:48 +09:00
Juan Escalada 19a79d3f80 Update .changeset/pretty-parts-admire.md
Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com>
Signed-off-by: Juan Escalada <juanescalada175@gmail.com>
2026-04-30 11:43:09 +09:00
Andre Wanlin 2f33a9f63f Fixes for non-breaking typos and typos configuration
Signed-off-by: Andre Wanlin <awanlin@spotify.com>

More

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-04-29 16:54:05 -05:00
Charles de Dreuille a9f3d7189f Update PluginHeader.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-29 19:07:59 +01:00
Charles de Dreuille 93d1d40e64 fix(ui): refine plugin header spacing
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-29 19:07:59 +01:00
Charles de Dreuille 38bb056aa6 fix(ui): adjust plugin header spacing
Align PluginHeader spacing across tabbed and non-tabbed variants so the component owns the surrounding page spacing more consistently.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-29 19:07:59 +01:00
Andre Wanlin 84913005fd Merge pull request #31838 from karthikjeeyar/mkdocs-patch
feat(techdocs): add app-config option to disable external font download
2026-04-29 12:47:12 -05:00
Ben Lambert a0f58971a7 chore: fix issue with types (#34104)
Signed-off-by: benjdlambert <ben@blam.sh>
2026-04-29 15:50:39 +00:00