Commit Graph

72666 Commits

Author SHA1 Message Date
Patrik Oldsberg 67fcc5a689 scaffolder: sync selected action with URL hash
Reflect the currently selected action in the URL hash so that users can
deep-link to a specific action on the actions page. On load the hash is
read to pre-select and scroll to the matching action.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-04 11:28:47 +02:00
Patrik Oldsberg 8f93ed9e12 scaffolder: address copilot review feedback
- Use translation key for "No schema defined" fallback instead of hardcoded string
- Add aria-label to the enum format button for accessibility
- Remove unnecessary `as any` casts on defaultWidth column config
- Fix "Github" -> "GitHub" capitalization in test data
- Update changeset wording to match actual sidebar list UI

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-01 14:32:38 +02:00
Patrik Oldsberg a7aedb4f0a scaffolder: restore schema title rendering and fix toolbar test
The migration to the table-based RenderSchema dropped rendering of the
JSON Schema `title` field. Restore it in the ValueCell. Also update the
TemplateEditorToolbar test to select an action before asserting on its
schema details, matching the new list+detail UI.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-29 22:49:04 +02:00
Patrik Oldsberg 0a7ec8e7c9 scaffolder: widen schema name column to 300px
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-29 22:41:15 +02:00
Patrik Oldsberg 1d94f0f9f7 fix: prevent actions list from expanding beyond screen edge
Add minWidth and overflow constraints to the List component so long
descriptions are truncated with ellipsis instead of overflowing the
grid column.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-29 21:24:37 +02:00
Patrik Oldsberg 693c6e8277 scaffolder: refine schema table cell styling
Style the name column with monospace text and widen it slightly. Add a
neutral background badge style to type labels in the value column.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 21:26:57 +01:00
Patrik Oldsberg 881d586722 scaffolder: use high-level Table component with column configs
Replace manual composition of TableRoot/TableHeader/TableBody/Row/Column
primitives with the top-level Table component and ColumnConfig-based
column definitions.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 21:20:06 +01:00
Patrik Oldsberg 648d2b9e51 scaffolder: use fixed width for name column in schema table
Use a fixed pixel width for the name column instead of a fractional
unit, preventing it from growing too wide with longer property names.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 21:05:26 +01:00
Patrik Oldsberg daa7bdc7b0 scaffolder: adjust table column widths for better proportions
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 20:55:56 +01:00
Patrik Oldsberg 7daa71fdc6 scaffolder: merge description and type into a single value column
Combine the description and type columns into a single "Value" column
that shows the type, description, and nested content inline. This
avoids the broken layout where expanded rows were rendered as siblings
below the table, decoupled from their row context.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 19:20:55 +01:00
Patrik Oldsberg 7936e5c917 scaffolder: use single table for schema properties and widen description column
Consolidate the per-property tables into a single table with one header
row, eliminating the repeated table headers for each property. Give the
description column 3x the width of name/type columns so longer
descriptions get more room.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 19:08:03 +01:00
Patrik Oldsberg 22c00fd011 scaffolder: render each property as its own table and make subschemas collapsible
Restructure schema rendering so each property row is wrapped in its own
table, enabling inline expansion of nested schemas. Remove the title
column since it duplicated the name. Make subschema sections (oneOf etc.)
collapsible behind toggle buttons instead of rendering them expanded.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 18:47:57 +01:00
Patrik Oldsberg 80d4b26a29 scaffolder: fix detail panel grid column placement
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 18:32:25 +01:00
Patrik Oldsberg 9a6d9969a6 scaffolder: use CSS grid layout to fix search field focus loss
The search field was being rendered in two separate conditional branches
(empty state vs list state), causing React to remount it when toggling
between them and losing focus. Restructure to a CSS grid layout where
the search field is always in a stable tree position.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 18:28:41 +01:00
Patrik Oldsberg 8d03040306 scaffolder: fix actions page layout alignment
Add `alignItems="start"` to the top-level Flex container so the sidebar
and detail panels align to the top rather than stretching to equal height.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 18:21:56 +01:00
Patrik Oldsberg 16a15f276e scaffolder: fix actions page list and schema rendering issues
Always show descriptions in the action list regardless of selection
state, use MarkdownContent for the detail description, fix the
isRowHeader error by always marking the first column, and move schema
expansion content outside of the table to avoid broken nesting and
scroll-jump issues. Subschemas (anyOf/oneOf) now render at full width
inside a Flex column layout.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 17:42:02 +01:00
Patrik Oldsberg 338f7e01f4 scaffolder: use sidebar layout for actions page detail view
Replace accordion groups with plain titled sections for action
input/output/examples, and switch to a sidebar layout where the
action list remains visible when viewing action details.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 17:32:57 +01:00
Patrik Oldsberg 52c18c1f9a scaffolder: migrate RenderSchema and ActionsPage to @backstage/ui components
Replace all @material-ui imports in RenderSchema with @backstage/ui
equivalents (TableRoot, TableHeader, TableBody, Row, Column, Cell,
CellText, Button, Text, Flex, Tooltip). Simplify SchemaRenderContext
by removing the classes and headings fields that were only needed
for @material-ui styling.

Redesign the ActionsPage to use a List with selectable rows instead
of a Table with a separate detail Card. When an action is selected,
all descriptions are hidden from the list and the action detail is
shown below with input/output schemas and examples in accordions.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 16:43:22 +01:00
Patrik Oldsberg dae4e6ef09 scaffolder: improve actions page UX with pagination and card detail view
Replace the unpaginated action list with a paginated table showing 20
items per page, giving users a clear count and navigation controls.
Consolidate the two-column layout into a single column with the
description shown as subtitle text in each row.

Revamp the action detail view using Backstage UI Card and Accordion
components for a structured, collapsible layout of input/output schemas
and usage examples.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 16:03:46 +01:00
Patrik Oldsberg 31c460da83 scaffolder: use table layout for actions page
Replace the accordion-based actions list with a Table component from
@backstage/ui, providing aligned columns for action name and description
with click-to-expand detail view.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 14:50:00 +01:00
Patrik Oldsberg 5d8112e8f1 scaffolder: migrate actions page to accordion layout
Replace the table-based actions page with an accordion layout using
@backstage/ui components. Each action is listed as an expandable
accordion, letting users browse the full list while expanding
individual actions to see their schema details inline. This avoids
the need to scroll between a table and a detail section.

The search field is kept for filtering actions by name or description.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-28 14:18:30 +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