Skip to content

[pull] beta from TanStack:beta#70

Merged
pull[bot] merged 6 commits into
code:betafrom
TanStack:beta
Jun 17, 2026
Merged

[pull] beta from TanStack:beta#70
pull[bot] merged 6 commits into
code:betafrom
TanStack:beta

Conversation

@pull

@pull pull Bot commented Jun 17, 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 : )

Abyanzhafran and others added 6 commits June 17, 2026 09:30
* fix: AppTable remounting children on table state updates (#6323)

App wrappers (AppTable, AppCell, AppHeader, AppFooter) were memoized
on the unstable `table` reference, causing them to be recreated every
render. React then remounted their entire subtrees on every state
change, destroying controlled input focus.

Keep wrappers stable (created once) and read the current table from a
ref updated each render. Fixes children remounting while preserving
latest table state access.

* also apply fix to preact

* modify composable table examples to make this easier to test

* update other composable table examples

---------

Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
release: v9.0.0-beta.13

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: enhance table option merging to preserve static properties

Updated the table_mergeOptions function to ensure that static options (features, atoms, initialState) are preserved without mutation when merging new options. Added a test to verify that static options remain unchanged after invoking setOptions.

* add short circuit
release: v9.0.0-beta.14

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…emoves array filter values (#6332)

fix(table-core): fix filterFn_between/betweenInclusive autoRemove never removing array filter values

filterFn_between and filterFn_betweenInclusive had `autoRemove: (val: any) => !val`.
Since any array is truthy in JavaScript, `!val` is always `false` for the
`[min, max]` tuple these filters receive, meaning the filter is NEVER
auto-removed — even when both endpoints are empty strings, null, or undefined.

A user who clears both range inputs ends up with an active filter that passes
all rows but can never be auto-removed from column filter state.

Fix: align with the same pattern used by filterFn_inNumberRange:
  autoRemove: (val) => testFalsy(val) || (testFalsy(val[0]) && testFalsy(val[1]))

This correctly removes the filter when both endpoints are falsy (undefined, null,
or empty string) while preserving 0 as a valid endpoint value.

Fixes: filterFns.between and filterFns.betweenInclusive auto-remove logic

Co-authored-by: JSap0914 <JSap0914@users.noreply.github.com>
release: v9.0.0-beta.15

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Jun 17, 2026
@pull pull Bot added the ⤵️ pull label Jun 17, 2026
@pull pull Bot merged commit 86ff246 into code:beta Jun 17, 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.

3 participants