Skip to content

Conversation

@unnoq
Copy link
Member

@unnoq unnoq commented Nov 28, 2025

Fixes #1051

Summary by CodeRabbit

  • New Features

    • Experimental centralized default options for procedures and routers, applied to queries, mutations, infinite/streamed/live operations and overridable per call.
  • Tests

    • Added tests covering default propagation, nested/router-level resolution, and per-call override behavior.
  • Documentation

    • Added a "Default Options" section to the TanStack Query integration docs (duplicated in two places).

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

@unnoq unnoq requested a review from Copilot November 28, 2025 08:33
@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Nov 28, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 28, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Adds an experimental defaults system for TanStack Query utilities: defines experimental_ProcedureUtilsDefaults, wires default merging into createProcedureUtils, and propagates per-route defaults via experimental_RouterUtilsDefaults and updated createRouterUtils. Tests and docs updated to exercise and document the feature.

Changes

Cohort / File(s) Summary
Procedure utilities — implementation
packages/tanstack-query/src/procedure-utils.ts
Adds experimental_ProcedureUtilsDefaults<...> and makes CreateProcedureUtilsOptions generic with optional experimental_defaults. Updates createProcedureUtils signature and merges options.experimental_defaults into per-call options for query/streamed/live/infinite/mutation utilities.
Procedure utilities — tests & types
packages/tanstack-query/src/procedure-utils.test.ts, packages/tanstack-query/src/procedure-utils.test-d.ts
Adds runtime tests ("createProcedureUtils with defaults") verifying defaults apply and can be overridden; type tests import/reference experimental_ProcedureUtilsDefaults.
Router utilities — implementation
packages/tanstack-query/src/router-utils.ts
Introduces experimental_RouterUtilsDefaults<T> and generic CreateRouterUtilsOptions<T> with optional experimental_defaults. createRouterUtils updated to accept and propagate experimental_defaults to createProcedureUtils, resolving per-property defaults via get(...).
Router utilities — tests & types
packages/tanstack-query/src/router-utils.test.ts, packages/tanstack-query/src/router-utils.test-d.ts
Adds tests ("with defaults") verifying propagation of experimental_defaults through router utilities and nested procedure utils; type tests export/import new defaults and createRouterUtils.
Docs
apps/content/docs/integrations/tanstack-query.md
Adds a "Default Options" section documenting experimental_defaults usage with examples (content duplicated in two places).

Sequence Diagram(s)

sequenceDiagram
    participant App as Application
    participant Router as createRouterUtils
    participant Procedure as createProcedureUtils
    participant Utils as Procedure Utils (closure)

    Note over App,Router: App initializes router with experimental_defaults
    App->>Router: createRouterUtils(client, { experimental_defaults })
    Router->>Procedure: createProcedureUtils(client, { path, experimental_defaults: perPropDefaults })
    Note over Procedure: createProcedureUtils stores defaults in returned utils
    App->>Utils: call util (e.g., queryKey(options))
    Utils->>Utils: merged = { ...defaultsForThisUtil, ...options }
    Utils-->>App: return key/options computed from merged
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • Review focus:
    • Merge order and immutability when applying experimental_defaults in each utility.
    • Correct per-property lookup in createRouterUtils (use of get(...)) and recursion logic.
    • Type inference and generics for experimental_ProcedureUtilsDefaults / experimental_RouterUtilsDefaults.
    • Tests covering streamed/live/infinite/mutation cases and duplicated doc/test content.

Possibly related PRs

  • unnoq/orpc#625 — Extends procedure-utils key methods and adds an experimental_defaults type and merging logic; directly related to the same implementation area.
  • unnoq/orpc#721 — Adds defaults wiring to live-query utilities and overlaps with per-route defaults propagation changes.
  • unnoq/orpc#1019 — Restructures streamed-query surface; interacts with the streamed defaults added here.

Poem

🐇 I tuck defaults in every cozy nook,
From router root to each small hook.
Options blend, then yield the call,
Callers override — I burden none at all.
A hopping rabbit cheers: defaults for all!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(tanstack-query): default query/mutation options' accurately describes the main feature added - support for default options on query/mutation procedures.
Linked Issues check ✅ Passed The PR implements all coding requirements from issue #1051: adds experimental_defaults support for per-procedure default options across all TanStack Query utilities (query, mutation, streamed, live, infinite variants).
Out of Scope Changes check ✅ Passed All changes are scoped to implementing default options support. Documentation updates and test additions align with the feature scope; no unrelated modifications detected.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch unnoq/issue1051

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0a13ed0 and 1ac9fd7.

📒 Files selected for processing (1)
  • apps/content/docs/integrations/tanstack-query.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • apps/content/docs/integrations/tanstack-query.md
⏰ 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). (4)
  • GitHub Check: test
  • GitHub Check: publish-commit
  • GitHub Check: lint
  • GitHub Check: Cloudflare Pages

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.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @unnoq, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new experimental_defaults feature for Tanstack Query integrations, enabling developers to define global or per-procedure default options for various query and mutation operations. This enhancement aims to reduce boilerplate and improve consistency by allowing common configurations, such as staleTime or default input values, to be set once and automatically applied, while still providing the flexibility for individual calls to override these defaults.

Highlights

  • Default Options Introduction: Introduced an experimental_defaults option for createProcedureUtils and createRouterUtils to allow setting default configurations for various Tanstack Query operations.
  • Configurable Defaults: Users can now define default options for queryKey, queryOptions, mutationKey, mutationOptions, and experimental streamed/live operations at a higher level.
  • Option Overriding: The new default options are designed to be overridden by specific options provided during individual utility calls, ensuring flexibility.
  • Comprehensive Testing: Extensive type-definition tests and runtime tests have been added to validate the correct application and overriding behavior of these new default options across procedures and nested routers.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces an excellent experimental feature for setting default options for TanStack Query utilities, which will improve reusability and simplify code. The implementation is generally well-done, with thorough unit and type tests. However, I've identified a significant design issue with infiniteKey and infiniteOptions where the current function signatures prevent the use of defaults for required parameters, limiting the feature's utility for infinite queries. I've provided detailed feedback and code suggestions to address this, ensuring the feature is consistent and fully functional across all utilities.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 28, 2025

More templates

@orpc/ai-sdk

npm i https://pkg.pr.new/@orpc/ai-sdk@1260

@orpc/arktype

npm i https://pkg.pr.new/@orpc/arktype@1260

@orpc/client

npm i https://pkg.pr.new/@orpc/client@1260

@orpc/contract

npm i https://pkg.pr.new/@orpc/contract@1260

@orpc/experimental-durable-iterator

npm i https://pkg.pr.new/@orpc/experimental-durable-iterator@1260

@orpc/hey-api

npm i https://pkg.pr.new/@orpc/hey-api@1260

@orpc/interop

npm i https://pkg.pr.new/@orpc/interop@1260

@orpc/json-schema

npm i https://pkg.pr.new/@orpc/json-schema@1260

@orpc/nest

npm i https://pkg.pr.new/@orpc/nest@1260

@orpc/openapi

npm i https://pkg.pr.new/@orpc/openapi@1260

@orpc/openapi-client

npm i https://pkg.pr.new/@orpc/openapi-client@1260

@orpc/otel

npm i https://pkg.pr.new/@orpc/otel@1260

@orpc/experimental-pino

npm i https://pkg.pr.new/@orpc/experimental-pino@1260

@orpc/experimental-publisher

npm i https://pkg.pr.new/@orpc/experimental-publisher@1260

@orpc/experimental-publisher-durable-object

npm i https://pkg.pr.new/@orpc/experimental-publisher-durable-object@1260

@orpc/experimental-ratelimit

npm i https://pkg.pr.new/@orpc/experimental-ratelimit@1260

@orpc/react

npm i https://pkg.pr.new/@orpc/react@1260

@orpc/react-query

npm i https://pkg.pr.new/@orpc/react-query@1260

@orpc/experimental-react-swr

npm i https://pkg.pr.new/@orpc/experimental-react-swr@1260

@orpc/server

npm i https://pkg.pr.new/@orpc/server@1260

@orpc/shared

npm i https://pkg.pr.new/@orpc/shared@1260

@orpc/solid-query

npm i https://pkg.pr.new/@orpc/solid-query@1260

@orpc/standard-server

npm i https://pkg.pr.new/@orpc/standard-server@1260

@orpc/standard-server-aws-lambda

npm i https://pkg.pr.new/@orpc/standard-server-aws-lambda@1260

@orpc/standard-server-fastify

npm i https://pkg.pr.new/@orpc/standard-server-fastify@1260

@orpc/standard-server-fetch

npm i https://pkg.pr.new/@orpc/standard-server-fetch@1260

@orpc/standard-server-node

npm i https://pkg.pr.new/@orpc/standard-server-node@1260

@orpc/standard-server-peer

npm i https://pkg.pr.new/@orpc/standard-server-peer@1260

@orpc/svelte-query

npm i https://pkg.pr.new/@orpc/svelte-query@1260

@orpc/tanstack-query

npm i https://pkg.pr.new/@orpc/tanstack-query@1260

@orpc/trpc

npm i https://pkg.pr.new/@orpc/trpc@1260

@orpc/valibot

npm i https://pkg.pr.new/@orpc/valibot@1260

@orpc/vue-colada

npm i https://pkg.pr.new/@orpc/vue-colada@1260

@orpc/vue-query

npm i https://pkg.pr.new/@orpc/vue-query@1260

@orpc/zod

npm i https://pkg.pr.new/@orpc/zod@1260

commit: 1ac9fd7

@codecov
Copy link

codecov bot commented Nov 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for default query/mutation options in the tanstack-query integration, allowing users to specify default configurations for various utility functions at the router or procedure level. This addresses issue #1051.

Key Changes

  • Added experimental_ProcedureUtilsDefaults interface to define default options for all utility methods
  • Added experimental_RouterUtilsDefaults type to support nested default configurations
  • Modified all utility functions to merge defaults with user-provided options using shallow object spread
  • Added comprehensive test coverage for default options functionality
  • Added type tests to ensure type safety of default options

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/tanstack-query/src/procedure-utils.ts Added defaults interface and implementation to merge defaults with user options in all utility methods
packages/tanstack-query/src/procedure-utils.test.ts Added comprehensive test suite for default options functionality
packages/tanstack-query/src/procedure-utils.test-d.ts Added type tests to validate default options type definitions
packages/tanstack-query/src/router-utils.ts Added support for propagating defaults through nested routers using the get utility
packages/tanstack-query/src/router-utils.test.ts Added test for router-level defaults with incorrect expectation for nested access
packages/tanstack-query/src/router-utils.test-d.ts Added type tests for router-level defaults

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Nov 28, 2025

Deploying orpc with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1ac9fd7
Status: ✅  Deploy successful!
Preview URL: https://55a9bb4d.orpc-1qh.pages.dev
Branch Preview URL: https://unnoq-issue1051.orpc-1qh.pages.dev

View logs

Copy link

@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/tanstack-query/src/procedure-utils.ts (1)

267-272: Consider documenting the shallow merge behavior.

The spread operator performs a shallow merge, meaning nested objects (like context) are completely replaced rather than deep-merged. For example, if defaults specify { context: { a: 1 } } and user provides { context: { b: 2 } }, the result is { context: { b: 2 } } (not { a: 1, b: 2 }).

This is likely intentional and simpler, but it may be worth documenting this behavior for users who expect deep merging of options like context.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b4897a0 and ffc6fca.

📒 Files selected for processing (6)
  • packages/tanstack-query/src/procedure-utils.test-d.ts (2 hunks)
  • packages/tanstack-query/src/procedure-utils.test.ts (1 hunks)
  • packages/tanstack-query/src/procedure-utils.ts (6 hunks)
  • packages/tanstack-query/src/router-utils.test-d.ts (2 hunks)
  • packages/tanstack-query/src/router-utils.test.ts (1 hunks)
  • packages/tanstack-query/src/router-utils.ts (4 hunks)
🧰 Additional context used
🧬 Code graph analysis (4)
packages/tanstack-query/src/procedure-utils.test-d.ts (1)
packages/tanstack-query/src/procedure-utils.ts (2)
  • experimental_ProcedureUtilsDefaults (149-245)
  • ProcedureUtils (26-147)
packages/tanstack-query/src/procedure-utils.test.ts (1)
packages/tanstack-query/src/procedure-utils.ts (1)
  • createProcedureUtils (260-449)
packages/tanstack-query/src/procedure-utils.ts (2)
packages/tanstack-query/src/types.ts (7)
  • QueryKeyOptions (37-39)
  • QueryOptionsIn (41-44)
  • experimental_StreamedKeyOptions (54-56)
  • experimental_StreamedQueryOutput (15-15)
  • experimental_LiveQueryOutput (16-16)
  • InfiniteOptionsIn (65-68)
  • MutationOptionsIn (79-81)
packages/tanstack-query/src/key.ts (1)
  • generateOperationKey (3-12)
packages/tanstack-query/src/router-utils.ts (1)
packages/shared/src/array.ts (1)
  • toArray (1-3)
⏰ 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). (6)
  • GitHub Check: Agent
  • GitHub Check: CodeQL analysis (javascript-typescript)
  • GitHub Check: lint
  • GitHub Check: test
  • GitHub Check: publish-commit
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (23)
packages/tanstack-query/src/procedure-utils.test.ts (6)

349-395: LGTM! Comprehensive test coverage for queryKey defaults.

The tests correctly verify that defaults are applied when no options are provided and that user options properly override defaults. The custom queryKey test case is a good addition to ensure queryKey defaults work correctly.


397-425: LGTM! queryOptions defaults tests look correct.

Tests verify both the staleTime passthrough and input default application, with proper override behavior.


427-483: LGTM! experimental_streamedKey and experimental_streamedOptions tests are well-structured.

Both key generation and options defaults are tested with proper override verification.


485-541: LGTM! experimental_liveKey and experimental_liveOptions tests are consistent.

The pattern follows the same structure as other key/options tests, maintaining consistency.


543-608: LGTM! infiniteKey and infiniteOptions tests handle the unique signature well.

The tests correctly verify that defaults with queryKey work, and that user-provided input and initialPageParam override defaults. The staleTime override test for infiniteOptions is also properly structured.


610-664: LGTM! mutationKey and mutationOptions tests complete the coverage.

Testing callback defaults (onSuccess) is a good choice as it validates that function-type defaults work correctly.

packages/tanstack-query/src/router-utils.test.ts (1)

61-93: LGTM! Critical test for defaults scoping behavior.

This test correctly validates that:

  1. Defaults are passed to the correct procedure utilities (line 80-83)
  2. Nested routes that don't have explicit defaults don't inherit parent defaults (lines 89-92)

The scoping behavior tested here is essential for the feature's correctness.

packages/tanstack-query/src/router-utils.ts (4)

15-20: Well-designed recursive type for router defaults.

The conditional type correctly maps Client types to experimental_ProcedureUtilsDefaults and nested clients to recursive experimental_RouterUtilsDefaults. The optional markers (?) on line 19 are appropriate since not all routes need defaults.


22-28: Good addition of the TODO comment for v2 cleanup.

The generic interface with default type parameter maintains backward compatibility while enabling type-safe defaults.


43-46: Confirm experimental_defaults is intentionally passed to root procedure utils.

When experimental_defaults is provided at the router level (not nested), it gets passed directly to createProcedureUtils. This means if someone provides { queryOptions: { staleTime: 1000 } } at the root, it would apply to the root client if it's also a procedure. Verify this is the intended behavior per the PR objectives.


59-63: Confirmed: The get utility correctly returns undefined for missing keys.

The get function in packages/shared/src/object.ts (lines 83-95) is implemented to return undefined when keys don't exist. If the traversal encounters a non-object value or a missing key, the function returns undefined (line 88 explicitly handles non-objects; line 94 implicitly returns undefined when accessing a missing key). This ensures child routes won't accidentally inherit parent defaults.

packages/tanstack-query/src/procedure-utils.ts (7)

149-245: Well-documented defaults interface with comprehensive coverage.

Each utility method has a corresponding defaults field with proper JSDoc links. The use of Partial<> wrappers is appropriate since all default fields should be optional.


247-258: Good addition of TODO comment for v2 cleanup.

The generic interface pattern with default type parameters maintains backward compatibility while enabling type-safe defaults.


274-299: LGTM! queryOptions correctly merges defaults and delegates to queryKey.

The defaults merge happens before calling utils.queryKey(optionsIn), ensuring the key generation also respects defaults. The spread order in the return object (...optionsIn, queryKey) correctly prioritizes the computed queryKey.


301-342: LGTM! experimental_streamedKey and experimental_streamedOptions follow the established pattern.

Defaults merging is consistent with other methods.


344-382: LGTM! experimental_liveKey and experimental_liveOptions implementations are consistent.

The pattern matches other utility methods.


384-419: LGTM! infiniteKey and infiniteOptions handle defaults correctly.

The defaults merge before invoking optionsIn.input(optionsIn.initialPageParam) ensures user-provided values take precedence.


421-445: LGTM! mutationKey and mutationOptions complete the implementation.

All utility methods now consistently support experimental defaults.

packages/tanstack-query/src/router-utils.test-d.ts (3)

6-8: LGTM! Proper imports for type testing.

The imports include both the types being tested and the factory function.


41-66: Thorough type tests for RouterUtilsDefaults structure.

The tests correctly verify:

  • Router-level defaults are NOT procedure defaults (lines 44-46, 48-50)
  • Leaf procedure defaults have the correct type (lines 52-54, 60-65)
  • Optional chaining on nested access reflects the ? in the type definition (line 56)

68-84: Good integration test for createRouterUtils with defaults.

The test verifies that:

  1. Deeply nested defaults are type-safe (nested.ping.mutationOptions)
  2. Callback types are correctly inferred (output type in onSuccess)
  3. Return type matches RouterUtils regardless of defaults configuration
packages/tanstack-query/src/procedure-utils.test-d.ts (2)

5-5: Import of experimental_ProcedureUtilsDefaults is appropriate

The added type-only import is required for the new defaults tests below and keeps the runtime surface unchanged.


750-939: I'll verify the review comment by checking whether the noUnusedLocals setting is configured and examining the code to confirm the concern about unused _invalid variables.
<function_calls>

#!/bin/bash

Check TypeScript config for noUnusedLocals setting

find . -name "tsconfig.json" -type f | head -20


</function_calls>

Let me search for the TypeScript configuration and check the noUnusedLocals setting:
<function_calls>

#!/bin/bash

Find all tsconfig.json files and check for noUnusedLocals setting

fd "tsconfig.json" -x cat {} + | grep -A 5 -B 5 "noUnusedLocals" || echo "noUnusedLocals setting not found in any tsconfig files"


</function_calls>

Now let me examine the actual test file to see the unused _invalid variables:
<function_calls>

#!/bin/bash

Get the test file and show lines around the _invalid declarations

cat -n packages/tanstack-query/src/procedure-utils.test-d.ts | sed -n '750,939p' | grep -A 2 -B 2 "_invalid"


</function_calls>

<function_calls>

#!/bin/bash

Count the number of _invalid declarations in the specified line range

sed -n '750,939p' packages/tanstack-query/src/procedure-utils.test-d.ts | grep -c "const _invalid"


</function_calls>

<function_calls>

#!/bin/bash

Check the entire file for references to _invalid to confirm they're unused

cd packages/tanstack-query/src && grep -n "_invalid" procedure-utils.test-d.ts | head -30


</function_calls>

<function_calls>

#!/bin/bash

Check if there are any eslint directives or ts-ignore comments near _invalid declarations

sed -n '750,939p' packages/tanstack-query/src/procedure-utils.test-d.ts | grep -B 1 "_invalid" | head -40


</function_calls>

Copy link

@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: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ffc6fca and 0a13ed0.

📒 Files selected for processing (1)
  • apps/content/docs/integrations/tanstack-query.md (1 hunks)
⏰ 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). (4)
  • GitHub Check: publish-commit
  • GitHub Check: test
  • GitHub Check: lint
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (2)
apps/content/docs/integrations/tanstack-query.md (2)

229-268: Verify the duplication mentioned in the AI summary.

The AI summary indicates the "Default Options" section appears in two locations within the document, which would create maintenance burden. Please confirm whether the content is actually duplicated elsewhere in the file and consolidate if necessary.


229-268: Documentation is clear and well-structured.

The "Default Options" section effectively explains the experimental feature with concrete examples showing configuration, usage, and override behavior. The placement after "Reactive Options" is logical, and the experimental naming convention appropriately signals the feature's maturity level.

The example clearly demonstrates configuring defaults across different operation types (query, infinite, mutation), making it practical for users.

@unnoq unnoq merged commit 1fe4418 into main Nov 30, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tanstack Query Integration – Add support for global default options per procedure

2 participants