Skip to content

[pull] develop from baserow:develop - #450

Merged
pull[bot] merged 9 commits into
code:developfrom
baserow:develop
Sep 16, 2026
Merged

pull[bot] merged 9 commits into
code:developfrom
baserow:develop

Conversation

@pull

@pull pull Bot commented Sep 16, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

silvestrid and others added 9 commits September 16, 2026 16:03
* fix: use release images for ARM64 all-in-one builds

* fix: align remaining all-in-one image arguments

* chore: omit changelog entry for build fixes
* fix: render the onboarding page server-side without crashing

Vuelidate registers rules declared through the Options API `validations()`
option inside `onBeforeMount`, which server-side rendering never runs. `v$`
was therefore empty while DatabaseStep's template rendered `v$.name.$error`,
so a cold SSR of /onboarding returned a 500. SSO logins hit this on every
new user: the provider redirects to /dashboard, which server-redirects to
/onboarding before any client JS runs.

Register the rules through the composition form instead, so they exist
during SSR, and move the misplaced optional chain in the form mixin so
`v$.values` being absent no longer throws.

Closes #6043

* chore: address review feedback

Reword the changelog entry in user-facing terms and drop the `$registry`
override from the SSR test, which never reached the component because it
resolves the registry through `useNuxtApp()`.
* fix: require a row ID on update row actions

The upsert row service creates a row when the row ID is empty, so an update
action left without one silently created rows in builder, automation and
button field actions.

* test: e2e for an update row action without a row ID

Covers the editor warning, the refused click and the unchanged rows through the real grid.

* fix: refuse update row actions without a row ID before they run

A button now checks every action up front, so earlier actions don't run ahead of a doomed update.
The assistant rejects blank row IDs, and the tests pin the exact error.

* chore: drop the duplicate bug changelog entry for #5934

The breaking change entry already covers it.

* fix: refuse whitespace-only row IDs on update row actions

Addresses review on #6079: trim the row ID on both ends, declare the
misconfiguration hook on every action and node base, and require a type
in the e2e row action fixture.
…s init (#6101)

The vendored advocate fork reimplemented requests-futures 0.9's constructor
body and called Session.__init__ directly, so requests-futures 1.1.0's
executor-ownership and pending-future state was never set up and every
futures request raised AttributeError on _owned_executor.

Removing the override lets the cooperative MRO mount the validating adapters
and resize them in place instead.
* chore(deps-dev): bump ruff from 0.14.13 to 0.16.7 in /backend

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.13 to 0.16.7.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.14.13...0.16.7)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* apply formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Davide Silvestri <silvestri.eng@gmail.com>
* chore: add Baserow PR review skill

* refactor: route PR review checks by topic

* docs: add Database PR review guide

* polish

* address feedback
)

* chore(deps): bump jwt-decode from 3.1.2 to 4.0.0 in /web-frontend

Bumps [jwt-decode](https://github.com/auth0/jwt-decode) from 3.1.2 to 4.0.0.
- [Release notes](https://github.com/auth0/jwt-decode/releases)
- [Changelog](https://github.com/auth0/jwt-decode/blob/main/CHANGELOG.md)
- [Commits](auth0/jwt-decode@v3.1.2...v4.0.0)

---
updated-dependencies:
- dependency-name: jwt-decode
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: use named jwt-decode import for v4

jwt-decode 4.0.0 dropped the default export, which broke the production
build with `"default" is not exported by jwt-decode/build/esm/index.js`.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Davide Silvestri <silvestri.eng@gmail.com>
* chore(deps-dev): bump pytest from 9.0.3 to 9.1.1 in /backend

Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.3 to 9.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.0.3...9.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* test: drop trailing comma from single-name parametrize argnames

pytest 9.1 fixed `parametrize` not unpacking values when argnames is a
string with a trailing comma, so `"value,"` now means `("value",)` and
pytest tries to unpack each value into one name. These four files carried
the comma by accident, which broke collection.

The two multi-name cases (`"table_row_id,db_row_id,"`) already pass
tuples and behave the same either way, so they are left alone.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Davide Silvestri <silvestri.eng@gmail.com>
* feat: undo for button field action configuration

Creating, editing, reordering and deleting a button's actions bypassed undo, so Ctrl+Z restored the field but not its actions.

* fix: keep button action undo working across edits and type changes

A type change dropped trashed actions and gave restored ones new ids, so redo failed.
A reopened editor kept stale card values and could revert an undo on save.
A concurrent delete of one action returned a 500.

* test: e2e coverage for button field action undo

Covers one undo reverting a whole editor save, redo, and redo after a field is changed into a button.

* fix: skip the order call when a button save keeps the order

Each call adds an undo step, and an undo group only reverts 20 of them.

* docs: document create_instance_from_serialized parameters

* fix: keep sensitive fields when undoing a button action type change

A type change deleted the old service, and undo rebuilt it from logged values that leave sensitive fields out.
The replaced service is now kept until the undo step is cleaned up.

* fix: remove a button action's trash entry when the action is deleted

A field changing away from a button deleted its trashed actions but left their entries listed in the trash.

* fix: harden button action undo around secrets and field type changes

Field backups logged action secrets, undo reattached integrations unchecked, and a field type round trip broke redo.
Sensitive-only edits added empty undo steps, and the delete race error could never be reached.

* fix: rebuild button action cards when the editor is cancelled

Each card copies its values once, so a cancelled edit stayed visible and could be saved later.

* fix: skip undo of a button action already restored from the trash

* fix: restore a deleted button action to its old position on undo

* fix: check the workflow when undo brings back a start workflow action

* perf: check a kept button action service in one query

* fix: name a trashed button action by its position

* chore: invoke button action types through the action registry

* fix: send a button save too big for one undo group ungrouped

* docs: spell out what button action undo leaves unreverted
@pull pull Bot locked and limited conversation to collaborators Sep 16, 2026
@pull pull Bot added the ⤵️ pull label Sep 16, 2026
@pull
pull Bot merged commit 2533553 into code:develop Sep 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants