Skip to content

Conversation

@DamianOsipiuk
Copy link
Contributor

@DamianOsipiuk DamianOsipiuk commented Nov 26, 2025

🎯 Changes

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm run test:pr.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Summary by CodeRabbit

  • New Features

    • Options getters now supported in composables: useIsFetching, useMutation, useMutationState, and useQueries can accept functions that dynamically return options or filters, enabling more reactive and flexible configuration patterns.
  • Tests

    • Added comprehensive test coverage verifying reactive behavior of options getters across affected composables.

✏️ Tip: You can customize this high-level summary in your review settings.

@changeset-bot
Copy link

changeset-bot bot commented Nov 26, 2025

🦋 Changeset detected

Latest commit: 4042579

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@tanstack/vue-query Minor
@tanstack/vue-query-devtools Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 26, 2025

Walkthrough

The PR extends @tanstack/vue-query composables to support options getters—functions returning options objects—enabling dynamic configuration. Changes include type expansions, resolver logic for function-based options, test coverage for reactivity, and removal of an unused mock export.

Changes

Cohort / File(s) Summary
Changeset
.changeset/curvy-webs-create.md
Documents minor version bump and feature for options getters in additional composables.
Mock Updates
packages/vue-query/src/__mocks__/useBaseQuery.ts
Removes exported unrefQueryArgs mock, simplifying mock to only export useBaseQuery via originImpl.
Test Suite Fixes
packages/vue-query/src/__tests__/useInfiniteQuery.test.ts
Updates test suite description from "useQuery" to "useInfiniteQuery".
Composable Tests – Reactivity
packages/vue-query/src/__tests__/useIsFetching.test.ts, packages/vue-query/src/__tests__/useIsMutating.test.ts, packages/vue-query/src/__tests__/useMutation.test.ts, packages/vue-query/src/__tests__/useQueries.test.ts, packages/vue-query/src/__tests__/useQuery.test.ts
Add tests for reactive options getters with ref-based dynamic keys/options; update mock functions to return deterministic values (vi.fn(() => 'foo')); add beforeEach/afterEach timer lifecycle for async assertions.
Composable Source – Dynamic Options
packages/vue-query/src/useIsFetching.ts
Expands QueryFilters type to accept function returning MaybeRefDeep<QF>; resolves function-based filters via cloneDeepUnref.
Composable Source – Dynamic Mutation Options
packages/vue-query/src/useMutation.ts
Expands UseMutationOptions type to accept function; resolves function-based options before cloneDeepUnref.
Composable Source – Dynamic State & Filters
packages/vue-query/src/useMutationState.ts
Expands useIsMutating and useMutationState parameter types to accept functions; introduces resolvedOptions computed for consistent option resolution throughout lifecycle.
Composable Source – Dynamic Queries
packages/vue-query/src/useQueries.ts
Expands queries option type to accept function returning UseQueriesOptionsArg<T>; introduces runtime resolution via resolvedQueries computed.

Sequence Diagram

sequenceDiagram
    participant Caller
    participant Composable
    participant OptionsResolver
    participant ReactiveChecker
    participant QueryClient

    rect rgb(230, 245, 250)
    note over Caller,Composable: Old: Direct options object
    Caller->>Composable: mutationOptions = {key: 'key1'}
    Composable->>OptionsResolver: Use mutationOptions directly
    OptionsResolver->>ReactiveChecker: cloneDeepUnref(mutationOptions)
    end

    rect rgb(245, 235, 255)
    note over Caller,Composable: New: Options getter function
    Caller->>Composable: mutationOptions = () => ({key: ref('key1')})
    Composable->>OptionsResolver: Is function? Yes → call it
    OptionsResolver->>ReactiveChecker: result = mutationOptions()
    ReactiveChecker->>ReactiveChecker: cloneDeepUnref(result)
    ReactiveChecker->>QueryClient: Apply resolved options
    end

    rect rgb(255, 240, 245)
    note over Caller,Composable: Reactivity flow (ref update)
    Caller->>Caller: Update ref inside getter
    Caller->>Composable: Getter is re-evaluated
    Composable->>OptionsResolver: Call getter again
    OptionsResolver->>ReactiveChecker: New resolved options
    ReactiveChecker->>QueryClient: Trigger re-fetch/state update
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Multiple composable implementations: useMutation, useMutationState, useQueries, useIsFetching each require separate review to verify correct resolver logic and unref handling for function-based options.
  • Consistent but multi-file pattern: While the pattern (accepting function-based options) is consistent, each file implements resolution differently (resolvedOptions computed vs inline resolution), warranting individual verification.
  • Test coverage density: Six test files updated with reactive getter assertions; verify that all timing and reactivity assertions correctly exercise the new code paths.

Possibly related PRs

Suggested labels

package: vue-query

Suggested reviewers

  • TkDodo
  • AlemTuzlak

Poem

🐰 Options now dance with reactive grace,
Getters bring dynamism to every place,
Refs inside functions, mutations now flow,
Composables flexible, watch them all grow!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding support for options getters in additional Vue Query composables, matching the file modifications across useIsFetching, useMutation, useMutationState, and useQueries.
Description check ✅ Passed The PR description follows the required template structure and completes all checklist items, confirming the contributor tested locally, followed guidelines, and generated a changeset for this published code change.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch do/add-option-getters-to-composables

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link

nx-cloud bot commented Nov 26, 2025

View your CI Pipeline Execution ↗ for commit 4042579

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 1m 43s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 19s View ↗

☁️ Nx Cloud last updated this comment at 2025-11-26 14:54:40 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 26, 2025

More templates

@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@9914

@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@9914

@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@9914

@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@9914

@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@9914

@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@9914

@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@9914

@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@9914

@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@9914

@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@9914

@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@9914

@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@9914

@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@9914

@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@9914

@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@9914

@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@9914

@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@9914

@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@9914

@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@9914

@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@9914

commit: 4042579

@github-actions
Copy link
Contributor

Sizes for commit 4042579:

Branch Bundle Size
Main
This PR

@codecov
Copy link

codecov bot commented Nov 26, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.91%. Comparing base (46ebef2) to head (4042579).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##             main    #9914       +/-   ##
===========================================
+ Coverage   45.79%   71.91%   +26.12%     
===========================================
  Files         200       19      -181     
  Lines        8421      495     -7926     
  Branches     1928      151     -1777     
===========================================
- Hits         3856      356     -3500     
+ Misses       4116      109     -4007     
+ Partials      449       30      -419     
Components Coverage Δ
@tanstack/angular-query-experimental ∅ <ø> (∅)
@tanstack/eslint-plugin-query ∅ <ø> (∅)
@tanstack/query-async-storage-persister ∅ <ø> (∅)
@tanstack/query-broadcast-client-experimental ∅ <ø> (∅)
@tanstack/query-codemods ∅ <ø> (∅)
@tanstack/query-core ∅ <ø> (∅)
@tanstack/query-devtools ∅ <ø> (∅)
@tanstack/query-persist-client-core ∅ <ø> (∅)
@tanstack/query-sync-storage-persister ∅ <ø> (∅)
@tanstack/query-test-utils ∅ <ø> (∅)
@tanstack/react-query ∅ <ø> (∅)
@tanstack/react-query-devtools ∅ <ø> (∅)
@tanstack/react-query-next-experimental ∅ <ø> (∅)
@tanstack/react-query-persist-client ∅ <ø> (∅)
@tanstack/solid-query ∅ <ø> (∅)
@tanstack/solid-query-devtools ∅ <ø> (∅)
@tanstack/solid-query-persist-client ∅ <ø> (∅)
@tanstack/svelte-query ∅ <ø> (∅)
@tanstack/svelte-query-devtools ∅ <ø> (∅)
@tanstack/svelte-query-persist-client ∅ <ø> (∅)
@tanstack/vue-query 71.91% <100.00%> (+0.63%) ⬆️
@tanstack/vue-query-devtools ∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
packages/vue-query/src/useQueries.ts (1)

265-270: LGTM! Runtime resolution correctly handles function-based options.

The implementation properly:

  • Distinguishes between function-based and value-based inputs
  • Executes the function within the computed context for reactivity tracking
  • Maintains the existing unref flow for the resolved value

The type assertion on line 267 is unnecessary as TypeScript narrows the type from the typeof check:

 const resolvedQueries =
   typeof queries === 'function'
-    ? (queries as () => MaybeRefDeep<UseQueriesOptionsArg<T>>)()
+    ? queries()
     : queries
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8b38734 and 4042579.

📒 Files selected for processing (12)
  • .changeset/curvy-webs-create.md (1 hunks)
  • packages/vue-query/src/__mocks__/useBaseQuery.ts (1 hunks)
  • packages/vue-query/src/__tests__/useInfiniteQuery.test.ts (1 hunks)
  • packages/vue-query/src/__tests__/useIsFetching.test.ts (3 hunks)
  • packages/vue-query/src/__tests__/useIsMutating.test.ts (3 hunks)
  • packages/vue-query/src/__tests__/useMutation.test.ts (1 hunks)
  • packages/vue-query/src/__tests__/useQueries.test.ts (4 hunks)
  • packages/vue-query/src/__tests__/useQuery.test.ts (5 hunks)
  • packages/vue-query/src/useIsFetching.ts (2 hunks)
  • packages/vue-query/src/useMutation.ts (3 hunks)
  • packages/vue-query/src/useMutationState.ts (3 hunks)
  • packages/vue-query/src/useQueries.ts (2 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: DogPawHat
Repo: TanStack/query PR: 9835
File: packages/query-core/src/__tests__/queryClient.test-d.tsx:242-256
Timestamp: 2025-11-02T22:52:33.071Z
Learning: In the TanStack Query codebase, the new `query` and `infiniteQuery` methods support the `select` option for data transformation, while the legacy `fetchQuery` and `fetchInfiniteQuery` methods do not support `select` and should reject it at the type level.
📚 Learning: 2025-11-22T09:06:05.219Z
Learnt from: sukvvon
Repo: TanStack/query PR: 9892
File: packages/solid-query-persist-client/src/__tests__/PersistQueryClientProvider.test.tsx:331-335
Timestamp: 2025-11-22T09:06:05.219Z
Learning: In TanStack/query test files, when a queryFn contains side effects (e.g., setting flags for test verification), prefer async/await syntax for clarity; when there are no side effects, prefer the .then() pattern for conciseness.

Applied to files:

  • packages/vue-query/src/__mocks__/useBaseQuery.ts
  • packages/vue-query/src/__tests__/useIsFetching.test.ts
  • packages/vue-query/src/__tests__/useIsMutating.test.ts
  • packages/vue-query/src/__tests__/useInfiniteQuery.test.ts
  • packages/vue-query/src/__tests__/useQueries.test.ts
  • packages/vue-query/src/__tests__/useMutation.test.ts
  • packages/vue-query/src/__tests__/useQuery.test.ts
📚 Learning: 2025-08-19T03:18:18.303Z
Learnt from: oscartbeaumont
Repo: TanStack/query PR: 9564
File: packages/solid-query-devtools/src/production.tsx:2-3
Timestamp: 2025-08-19T03:18:18.303Z
Learning: In the solid-query-devtools package, the codebase uses a pattern of type-only default imports combined with typeof for component type annotations (e.g., `import type SolidQueryDevtoolsComp from './devtools'` followed by `typeof SolidQueryDevtoolsComp`). This pattern is consistently used across index.tsx and production.tsx files, and the maintainers prefer consistency over changing this approach.

Applied to files:

  • packages/vue-query/src/__mocks__/useBaseQuery.ts
📚 Learning: 2025-11-02T22:52:33.071Z
Learnt from: DogPawHat
Repo: TanStack/query PR: 9835
File: packages/query-core/src/__tests__/queryClient.test-d.tsx:242-256
Timestamp: 2025-11-02T22:52:33.071Z
Learning: In the TanStack Query codebase, the new `query` and `infiniteQuery` methods support the `select` option for data transformation, while the legacy `fetchQuery` and `fetchInfiniteQuery` methods do not support `select` and should reject it at the type level.

Applied to files:

  • .changeset/curvy-webs-create.md
🧬 Code graph analysis (7)
packages/vue-query/src/__tests__/useIsFetching.test.ts (1)
packages/vue-query/src/useIsFetching.ts (1)
  • useIsFetching (11-44)
packages/vue-query/src/__tests__/useIsMutating.test.ts (3)
packages/vue-query/src/useMutation.ts (1)
  • useMutation (78-160)
packages/query-core/src/mutationObserver.ts (1)
  • mutate (128-143)
packages/vue-query/src/useMutationState.ts (2)
  • useIsMutating (23-49)
  • useMutationState (68-96)
packages/vue-query/src/useMutation.ts (4)
packages/vue-query/src/types.ts (1)
  • MaybeRefDeep (29-37)
packages/react-query/src/mutationOptions.ts (1)
  • mutationOptions (32-41)
packages/react-query/src/types.ts (1)
  • UseMutationOptions (192-200)
packages/vue-query/src/utils.ts (1)
  • cloneDeepUnref (70-97)
packages/vue-query/src/useMutationState.ts (1)
packages/vue-query/src/utils.ts (1)
  • cloneDeepUnref (70-97)
packages/vue-query/src/useIsFetching.ts (3)
packages/vue-query/src/types.ts (1)
  • MaybeRefDeep (29-37)
packages/vue-query/src/queryClient.ts (1)
  • isFetching (49-51)
packages/vue-query/src/utils.ts (1)
  • cloneDeepUnref (70-97)
packages/vue-query/src/__tests__/useMutation.test.ts (2)
packages/query-core/src/queriesObserver.ts (1)
  • result (195-210)
packages/vue-query/src/useMutation.ts (1)
  • useMutation (78-160)
packages/vue-query/src/__tests__/useQuery.test.ts (2)
packages/query-core/src/queryObserver.ts (1)
  • query (704-721)
packages/vue-query/src/useQuery.ts (1)
  • useQuery (123-137)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Test
  • GitHub Check: Preview
🔇 Additional comments (24)
.changeset/curvy-webs-create.md (1)

1-5: Changeset structure and content look good.

The YAML frontmatter correctly specifies a minor version bump for @tanstack/vue-query, which is appropriate for a feature addition. The changelog entry accurately summarizes the feature being added.

packages/vue-query/src/useQueries.ts (1)

243-243: LGTM! Type definition correctly extends queries parameter.

The addition of the function form (() => MaybeRefDeep<UseQueriesOptionsArg<T>>) enables dynamic configuration through option getters while preserving backward compatibility with existing forms.

packages/vue-query/src/__tests__/useQueries.test.ts (4)

257-278: Deterministic fetchFn stub improves clarity

Using const fetchFn = vi.fn(() => 'foo') gives this test a predictable, non-void return value while still only asserting on call counts. This matches surrounding tests’ style and keeps the focus on the enabled getter behavior rather than the fetch implementation.


280-307: Consistent fetchFn stub for key‑getter reactivity test

Switching to vi.fn(() => 'foo') here keeps the query function deterministic and consistent with other tests, while the assertions remain solely about how often it’s invoked as the query key getters change.


309-370: Aligned fetchFn behavior in nested key‑getter test

Using vi.fn(() => 'foo') in this deeply nested key-getter test is a good move: it standardizes the mock behavior and keeps the test focused on reactivity across the nested structures rather than on the return type of the function.


372-433: New options‑getter reactivity test covers important combinations

The new test exercises queries as a getter with a mix of refs, direct .value reads, objects/arrays, and a nested function in queryKey, then verifies one refetch per reactive change via fetchFn call counts. This is a strong coverage addition for the new options‑getter behavior and mirrors the earlier nested getter tests in a realistic way.

packages/vue-query/src/__mocks__/useBaseQuery.ts (1)

4-9: LGTM! Clean removal of unused mock export.

The simplification removes the unrefQueryArgs export while maintaining the useBaseQuery mock functionality. This cleanup aligns with the broader changes in the PR.

packages/vue-query/src/useIsFetching.ts (2)

9-9: Consistent type extension for option getters.

The QueryFilters type now supports both direct values and functions returning values, enabling dynamic filter configuration. This aligns with the broader pattern introduced across composables in this PR.


28-32: Proper resolution of function-based filters.

The implementation correctly resolves filters whether provided as a value or getter function, then applies cloneDeepUnref to handle refs. This pattern is consistent with similar changes in useMutation.ts and useMutationState.ts.

packages/vue-query/src/useMutation.ts (2)

37-48: Well-structured type extension for reactive options.

The union type properly supports both direct mutation options and function-based getters, maintaining type safety while enabling dynamic configuration.


101-107: Correct reactive resolution of mutation options.

The computed property resolves function-based options before applying defaults and cloneDeepUnref, ensuring reactivity is preserved. This matches the established pattern across other composables in this PR.

packages/vue-query/src/useMutationState.ts (3)

24-24: Function-based filters support added.

Extending the filters parameter to accept a function enables dynamic filter configuration, consistent with changes to other composables.


69-80: Centralized option resolution with computed property.

The resolvedOptions computed property handles both direct and function-based options, applying cloneDeepUnref to filters while preserving the select function. This ensures proper reactivity and consistent behavior.


82-89: Consistent usage of resolved options.

All references to options now correctly use resolvedOptions.value, ensuring the computed resolution logic is applied throughout initialization, subscriptions, and watchers.

packages/vue-query/src/__tests__/useInfiniteQuery.test.ts (1)

8-8: Good catch fixing the test suite description.

The describe block now correctly identifies this as "useInfiniteQuery" instead of "useQuery", improving test organization and clarity.

packages/vue-query/src/__tests__/useIsFetching.test.ts (2)

67-81: Enhanced test with queryKey filter.

Adding the queryKey to the filter improves test specificity, ensuring the isFetching count accurately reflects queries matching specific criteria.


83-100: Excellent test coverage for reactive option getters.

This test validates that:

  1. Function-based options work correctly with useIsFetching
  2. Reactivity is preserved when the ref changes
  3. The fetching count updates appropriately

The test pattern is clean and follows TanStack testing conventions.

packages/vue-query/src/__tests__/useMutation.test.ts (1)

85-116: Comprehensive test for reactive mutation options.

This test effectively validates:

  1. Function-based mutation options work correctly
  2. Reactive refs in the getter trigger updates when changed
  3. The mutationKey is properly passed to the mutation function
  4. Multiple mutations reflect the updated reactive values

The test structure is clear and follows the established patterns in the test suite.

packages/vue-query/src/__tests__/useQuery.test.ts (2)

65-96: Thorough test for reactive query option getters.

This test validates the core reactive getter functionality:

  1. Options getter returns proper configuration based on refs
  2. Initial query executes with correct values
  3. Updating refs triggers re-fetch with new values
  4. Query state reflects the updated data

The test comprehensively covers the reactive behavior expected from option getters.


310-310: Improved test reliability with vi.fn().

Replacing inline functions with vi.fn() provides better test control and deterministic behavior, making these tests more maintainable and reliable.

Also applies to: 338-338, 357-357, 382-382

packages/vue-query/src/__tests__/useIsMutating.test.ts (4)

2-2: Import of ref is appropriate and used

ref from vue-demi is needed for the new reactive key tests and is correctly added alongside existing reactive import; no issues here.


92-111: useIsMutating options‑getter reactivity test looks correct

This test accurately exercises the new options‑getter path: it starts with a non‑matching key (count 0), switches the ref to the actual mutation key, keeps the mutation pending via sleep(10) and only advancing timers by 0 ms, and then asserts the count becomes 1. The pattern mirrors the existing filter‑reactivity test and gives solid coverage of the getter + ref combo. Based on learnings, the use of .then for a side‑effect‑free mutationFn is consistent with the repo’s test style.


115-121: Using fake timers in the useMutationState suite is appropriate

Enabling fake timers per‑suite is necessary for vi.advanceTimersByTimeAsync in the new async test, and it should not affect the existing tests since they only rely on synchronous pending state (variables are set immediately on mutate). The timer reset in afterEach keeps isolation clean.


160-183: useMutationState options‑getter reactivity test is well‑designed

This test correctly validates that useMutationState handles an options getter whose filters.mutationKey depends on a ref: it first sees no matches (empty array), then, after updating the key and advancing timers by 0 ms (keeping the mutation pending), it observes the selected variables array. This directly exercises the new getter logic and its reactivity, including the select path.

@DamianOsipiuk DamianOsipiuk merged commit 758414f into main Nov 26, 2025
9 checks passed
@DamianOsipiuk DamianOsipiuk deleted the do/add-option-getters-to-composables branch November 26, 2025 16:18
@github-actions github-actions bot mentioned this pull request Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants