[{"data":1,"prerenderedAt":2051},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:lCWUt2VDicfgr64IQXwitYxnjJ4YCxw9QXkgHVDDYeY":595,"content-page-surround:docs:lCWUt2VDicfgr64IQXwitYxnjJ4YCxw9QXkgHVDDYeY":2039,"i-logos:typescript-icon":2044,"i-lucide:clipboard":2048},[4,55,123,191,450,509,554,590],{"title":5,"page":6,"canonicalKey":7,"locale":8,"id":9,"draft":6,"icon":10,"sidebar":11,"children":12},"Learn",false,"1","en","content:docs:1.overview:.navigation.yml","i-lucide-book-open","section",[13,20,27,34,41,48],{"title":14,"id":15,"canonicalKey":16,"locale":8,"draft":6,"navigation":17,"icon":18,"path":19},"Better Convex Nuxt","content:docs:1.overview:1.introduction.md","1\u002F1",{"icon":18},"i-lucide-orbit","\u002Fdocs\u002Foverview\u002Fintroduction",{"title":21,"id":22,"canonicalKey":23,"locale":8,"draft":6,"navigation":24,"icon":25,"path":26},"Why Better Convex Nuxt","content:docs:1.overview:2.why-better-convex-nuxt.md","1\u002F2",{"icon":25},"i-lucide-badge-check","\u002Fdocs\u002Foverview\u002Fwhy-better-convex-nuxt",{"title":28,"id":29,"canonicalKey":30,"locale":8,"draft":6,"navigation":31,"icon":32,"path":33},"Who It Is For","content:docs:1.overview:3.who-it-is-for.md","1\u002F3",{"icon":32},"i-lucide-users","\u002Fdocs\u002Foverview\u002Fwho-it-is-for",{"title":35,"id":36,"canonicalKey":37,"locale":8,"draft":6,"navigation":38,"icon":39,"path":40},"Use Cases","content:docs:1.overview:4.use-cases.md","1\u002F4",{"icon":39},"i-lucide-layout-dashboard","\u002Fdocs\u002Foverview\u002Fuse-cases",{"title":42,"id":43,"canonicalKey":44,"locale":8,"draft":6,"navigation":45,"icon":46,"path":47},"Compare Nuxt Integrations","content:docs:1.overview:5.comparison.md","1\u002F5",{"icon":46},"i-lucide-scale","\u002Fdocs\u002Foverview\u002Fcomparison",{"title":49,"id":50,"canonicalKey":51,"locale":8,"draft":6,"navigation":52,"icon":53,"path":54},"Limitations and Trade-offs","content:docs:1.overview:6.limitations.md","1\u002F6",{"icon":53},"i-lucide-triangle-alert","\u002Fdocs\u002Foverview\u002Flimitations",{"title":56,"page":6,"canonicalKey":57,"locale":8,"id":58,"draft":6,"icon":59,"children":60},"Understand","2","content:docs:2.understand:.navigation.yml","i-lucide-brain",[61,67,74,81,88,95,102,109,116],{"title":62,"id":63,"canonicalKey":64,"locale":8,"draft":6,"navigation":65,"icon":59,"path":66},"Mental Model","content:docs:2.understand:1.mental-model.md","2\u002F1",{"icon":59},"\u002Fdocs\u002Funderstand\u002Fmental-model",{"title":68,"id":69,"canonicalKey":70,"locale":8,"draft":6,"navigation":71,"icon":72,"path":73},"Request Lifecycle","content:docs:2.understand:2.request-lifecycle.md","2\u002F2",{"icon":72},"i-lucide-route","\u002Fdocs\u002Funderstand\u002Frequest-lifecycle",{"title":75,"id":76,"canonicalKey":77,"locale":8,"draft":6,"navigation":78,"icon":79,"path":80},"SSR, Hydration, and Real-Time","content:docs:2.understand:3.ssr-hydration-realtime.md","2\u002F3",{"icon":79},"i-lucide-refresh-cw","\u002Fdocs\u002Funderstand\u002Fssr-hydration-realtime",{"title":82,"id":83,"canonicalKey":84,"locale":8,"draft":6,"navigation":85,"icon":86,"path":87},"Query Ownership and Caching","content:docs:2.understand:4.query-ownership-and-caching.md","2\u002F4",{"icon":86},"i-lucide-database","\u002Fdocs\u002Funderstand\u002Fquery-ownership-and-caching",{"title":89,"id":90,"canonicalKey":91,"locale":8,"draft":6,"navigation":92,"icon":93,"path":94},"Authentication and Identity","content:docs:2.understand:5.authentication-and-identity.md","2\u002F5",{"icon":93},"i-lucide-fingerprint","\u002Fdocs\u002Funderstand\u002Fauthentication-and-identity",{"title":96,"id":97,"canonicalKey":98,"locale":8,"draft":6,"navigation":99,"icon":100,"path":101},"Server and Client Boundaries","content:docs:2.understand:6.server-and-client-boundaries.md","2\u002F6",{"icon":100},"i-lucide-panels-top-left","\u002Fdocs\u002Funderstand\u002Fserver-and-client-boundaries",{"title":103,"id":104,"canonicalKey":105,"locale":8,"draft":6,"navigation":106,"icon":107,"path":108},"Errors and Failures","content:docs:2.understand:7.errors-and-failures.md","2\u002F7",{"icon":107},"i-lucide-circle-x","\u002Fdocs\u002Funderstand\u002Ferrors-and-failures",{"title":110,"id":111,"canonicalKey":112,"locale":8,"draft":6,"navigation":113,"icon":114,"path":115},"Design Decisions","content:docs:2.understand:8.design-decisions.md","2\u002F8",{"icon":114},"i-lucide-git-branch","\u002Fdocs\u002Funderstand\u002Fdesign-decisions",{"title":117,"id":118,"canonicalKey":119,"locale":8,"draft":6,"navigation":120,"icon":121,"path":122},"Glossary","content:docs:2.understand:9.glossary.md","2\u002F9",{"icon":121},"i-lucide-book-a","\u002Fdocs\u002Funderstand\u002Fglossary",{"title":124,"page":6,"canonicalKey":125,"locale":8,"id":126,"draft":6,"icon":127,"children":128},"Get Started","3","content:docs:3.get-started:.navigation.yml","i-lucide-rocket",[129,136,143,150,157,164,171,178,185],{"title":130,"id":131,"canonicalKey":132,"locale":8,"draft":6,"navigation":133,"icon":134,"path":135},"Choose Your Path","content:docs:3.get-started:1.choose-your-path.md","3\u002F1",{"icon":134},"i-lucide-signpost","\u002Fdocs\u002Fget-started\u002Fchoose-your-path",{"title":137,"id":138,"canonicalKey":139,"locale":8,"draft":6,"navigation":140,"icon":141,"path":142},"Installation","content:docs:3.get-started:2.installation.md","3\u002F2",{"icon":141},"i-lucide-download","\u002Fdocs\u002Fget-started\u002Finstallation",{"title":144,"id":145,"canonicalKey":146,"locale":8,"draft":6,"navigation":147,"icon":148,"path":149},"First Real-Time Page","content:docs:3.get-started:3.first-realtime-page.md","3\u002F3",{"icon":148},"i-lucide-radio","\u002Fdocs\u002Fget-started\u002Ffirst-realtime-page",{"title":151,"id":152,"canonicalKey":153,"locale":8,"draft":6,"navigation":154,"icon":155,"path":156},"Add a Mutation","content:docs:3.get-started:4.add-a-mutation.md","3\u002F4",{"icon":155},"i-lucide-square-pen","\u002Fdocs\u002Fget-started\u002Fadd-a-mutation",{"title":158,"id":159,"canonicalKey":160,"locale":8,"draft":6,"navigation":161,"icon":162,"path":163},"Add Authentication","content:docs:3.get-started:5.add-authentication.md","3\u002F5",{"icon":162},"i-lucide-log-in","\u002Fdocs\u002Fget-started\u002Fadd-authentication",{"title":165,"id":166,"canonicalKey":167,"locale":8,"draft":6,"navigation":168,"icon":169,"path":170},"Protect Data","content:docs:3.get-started:6.protect-data.md","3\u002F6",{"icon":169},"i-lucide-shield-check","\u002Fdocs\u002Fget-started\u002Fprotect-data",{"title":172,"id":173,"canonicalKey":174,"locale":8,"draft":6,"navigation":175,"icon":176,"path":177},"Project Structure","content:docs:3.get-started:7.project-structure.md","3\u002F7",{"icon":176},"i-lucide-folder-tree","\u002Fdocs\u002Fget-started\u002Fproject-structure",{"title":179,"id":180,"canonicalKey":181,"locale":8,"draft":6,"navigation":182,"icon":183,"path":184},"Next Steps","content:docs:3.get-started:8.next-steps.md","3\u002F8",{"icon":183},"i-lucide-arrow-right","\u002Fdocs\u002Fget-started\u002Fnext-steps",{"title":186,"id":187,"canonicalKey":188,"locale":8,"draft":6,"navigation":189,"icon":100,"path":190},"Plain Vue and Vite","content:docs:3.get-started:9.plain-vue.md","3\u002F9",{"icon":100},"\u002Fdocs\u002Fget-started\u002Fplain-vue",{"title":192,"page":6,"canonicalKey":193,"locale":8,"id":194,"draft":6,"icon":195,"sidebar":11,"children":196},"Build","4","content:docs:4.build:.navigation.yml","i-lucide-blocks",[197,234,265,336,368,393,432],{"title":198,"page":6,"canonicalKey":199,"locale":8,"children":200},"Queries","4\u002F1",[201,206,213,220,227],{"title":198,"id":202,"canonicalKey":203,"locale":8,"draft":6,"navigation":204,"icon":86,"path":205},"content:docs:4.build:1.queries:1.queries.md","4\u002F1\u002F1",{"icon":86},"\u002Fdocs\u002Fbuild\u002Fqueries\u002Fqueries",{"title":207,"id":208,"canonicalKey":209,"locale":8,"draft":6,"navigation":210,"icon":211,"path":212},"Reactive Arguments","content:docs:4.build:1.queries:2.reactive-arguments.md","4\u002F1\u002F2",{"icon":211},"i-lucide-sliders-horizontal","\u002Fdocs\u002Fbuild\u002Fqueries\u002Freactive-arguments",{"title":214,"id":215,"canonicalKey":216,"locale":8,"draft":6,"navigation":217,"icon":218,"path":219},"Loading and Stale Data","content:docs:4.build:1.queries:3.loading-and-stale-data.md","4\u002F1\u002F3",{"icon":218},"i-lucide-loader-circle","\u002Fdocs\u002Fbuild\u002Fqueries\u002Floading-and-stale-data",{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"navigation":224,"icon":225,"path":226},"Query Execution Options","content:docs:4.build:1.queries:4.ssr-options.md","4\u002F1\u002F4",{"icon":225},"i-lucide-server-cog","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fssr-options",{"title":228,"id":229,"canonicalKey":230,"locale":8,"draft":6,"navigation":231,"icon":232,"path":233},"Pagination","content:docs:4.build:1.queries:6.pagination.md","4\u002F1\u002F6",{"icon":232},"i-lucide-list-plus","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fpagination",{"title":235,"page":6,"canonicalKey":236,"locale":8,"children":237},"Write Data","4\u002F2",[238,244,251,258],{"title":239,"id":240,"canonicalKey":241,"locale":8,"draft":6,"navigation":242,"icon":155,"path":243},"Mutations","content:docs:4.build:2.write-data:1.mutations.md","4\u002F2\u002F1",{"icon":155},"\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fmutations",{"title":245,"id":246,"canonicalKey":247,"locale":8,"draft":6,"navigation":248,"icon":249,"path":250},"Actions","content:docs:4.build:2.write-data:2.actions.md","4\u002F2\u002F2",{"icon":249},"i-lucide-zap","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Factions",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"navigation":255,"icon":256,"path":257},"Optimistic Updates","content:docs:4.build:2.write-data:3.optimistic-updates.md","4\u002F2\u002F3",{"icon":256},"i-lucide-gauge","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Foptimistic-updates",{"title":259,"id":260,"canonicalKey":261,"locale":8,"draft":6,"navigation":262,"icon":263,"path":264},"Concurrent Operations","content:docs:4.build:2.write-data:4.concurrent-operations.md","4\u002F2\u002F4",{"icon":263},"i-lucide-git-fork","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fconcurrent-operations",{"title":266,"page":6,"canonicalKey":267,"locale":8,"children":268},"Authentication","4\u002F3",[269,275,282,289,295,301,308,315,322,329],{"title":266,"id":270,"canonicalKey":271,"locale":8,"draft":6,"navigation":272,"icon":273,"path":274},"content:docs:4.build:3.authentication:1.overview.md","4\u002F3\u002F1",{"icon":273},"i-lucide-shield","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Foverview",{"title":276,"id":277,"canonicalKey":278,"locale":8,"draft":6,"navigation":279,"icon":280,"path":281},"Better Auth Setup","content:docs:4.build:3.authentication:2.better-auth-setup.md","4\u002F3\u002F2",{"icon":280},"i-lucide-settings-2","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-setup",{"title":283,"id":284,"canonicalKey":285,"locale":8,"draft":6,"navigation":286,"icon":287,"path":288},"Auth State and User Data","content:docs:4.build:3.authentication:3.auth-state-and-user.md","4\u002F3\u002F3",{"icon":287},"i-lucide-user-round","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fauth-state-and-user",{"title":290,"id":291,"canonicalKey":292,"locale":8,"draft":6,"navigation":293,"icon":162,"path":294},"Sign In and Sign Out","content:docs:4.build:3.authentication:4.sign-in-and-sign-out.md","4\u002F3\u002F4",{"icon":162},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fsign-in-and-sign-out",{"title":296,"id":297,"canonicalKey":298,"locale":8,"draft":6,"navigation":299,"icon":72,"path":300},"Route Protection","content:docs:4.build:3.authentication:5.route-protection.md","4\u002F3\u002F5",{"icon":72},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Froute-protection",{"title":302,"id":303,"canonicalKey":304,"locale":8,"draft":6,"navigation":305,"icon":306,"path":307},"Backend Authorization","content:docs:4.build:3.authentication:6.backend-authorization.md","4\u002F3\u002F6",{"icon":306},"i-lucide-lock-keyhole","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbackend-authorization",{"title":309,"id":310,"canonicalKey":311,"locale":8,"draft":6,"navigation":312,"icon":313,"path":314},"Better Auth Plugins","content:docs:4.build:3.authentication:7.better-auth-plugins.md","4\u002F3\u002F7",{"icon":313},"i-lucide-plug","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-plugins",{"title":316,"id":317,"canonicalKey":318,"locale":8,"draft":6,"navigation":319,"icon":320,"path":321},"Custom User Fields","content:docs:4.build:3.authentication:8.custom-user-fields.md","4\u002F3\u002F8",{"icon":320},"i-lucide-user-cog","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fcustom-user-fields",{"title":323,"id":324,"canonicalKey":325,"locale":8,"draft":6,"navigation":326,"icon":327,"path":328},"User Synchronization","content:docs:4.build:3.authentication:9.user-synchronization.md","4\u002F3\u002F9",{"icon":327},"i-lucide-refresh-ccw","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fuser-synchronization",{"title":330,"id":331,"canonicalKey":332,"locale":8,"draft":6,"navigation":333,"icon":334,"path":335},"Delegated OAuth and MCP","content:docs:4.build:3.authentication:10.delegated-oauth-and-mcp.md","4\u002F3\u002F10",{"icon":334},"i-lucide-bot","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fdelegated-oauth-and-mcp",{"title":337,"page":6,"canonicalKey":338,"locale":8,"children":339},"Server","4\u002F4",[340,347,354,361],{"title":341,"id":342,"canonicalKey":343,"locale":8,"draft":6,"navigation":344,"icon":345,"path":346},"serverConvex","content:docs:4.build:4.server:1.server-convex.md","4\u002F4\u002F1",{"icon":345},"i-lucide-server","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-convex",{"title":348,"id":349,"canonicalKey":350,"locale":8,"draft":6,"navigation":351,"icon":352,"path":353},"Server Routes","content:docs:4.build:4.server:2.server-routes.md","4\u002F4\u002F2",{"icon":352},"i-lucide-waypoints","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-routes",{"title":355,"id":356,"canonicalKey":357,"locale":8,"draft":6,"navigation":358,"icon":359,"path":360},"Webhooks and Jobs","content:docs:4.build:4.server:3.webhooks-and-jobs.md","4\u002F4\u002F3",{"icon":359},"i-lucide-webhook","\u002Fdocs\u002Fbuild\u002Fserver\u002Fwebhooks-and-jobs",{"title":362,"id":363,"canonicalKey":364,"locale":8,"draft":6,"navigation":365,"icon":366,"path":367},"Credentials and Server Security","content:docs:4.build:4.server:4.credentials-and-security.md","4\u002F4\u002F4",{"icon":366},"i-lucide-key-round","\u002Fdocs\u002Fbuild\u002Fserver\u002Fcredentials-and-security",{"title":369,"page":6,"canonicalKey":370,"locale":8,"children":371},"Files","4\u002F5",[372,379,386],{"title":373,"id":374,"canonicalKey":375,"locale":8,"draft":6,"navigation":376,"icon":377,"path":378},"Upload Files","content:docs:4.build:5.files:1.upload-files.md","4\u002F5\u002F1",{"icon":377},"i-lucide-upload","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fupload-files",{"title":380,"id":381,"canonicalKey":382,"locale":8,"draft":6,"navigation":383,"icon":384,"path":385},"Storage URLs","content:docs:4.build:5.files:3.storage-urls.md","4\u002F5\u002F3",{"icon":384},"i-lucide-link","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fstorage-urls",{"title":387,"id":388,"canonicalKey":389,"locale":8,"draft":6,"navigation":390,"icon":391,"path":392},"File Validation and Deletion","content:docs:4.build:5.files:4.validation-and-deletion.md","4\u002F5\u002F4",{"icon":391},"i-lucide-file-x","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fvalidation-and-deletion",{"title":394,"page":6,"canonicalKey":395,"locale":8,"children":396},"Application Behavior","4\u002F6",[397,404,411,418,425],{"title":398,"id":399,"canonicalKey":400,"locale":8,"draft":6,"navigation":401,"icon":402,"path":403},"Connection State","content:docs:4.build:6.application-behavior:1.connection-state.md","4\u002F6\u002F1",{"icon":402},"i-lucide-wifi","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fconnection-state",{"title":405,"id":406,"canonicalKey":407,"locale":8,"draft":6,"navigation":408,"icon":409,"path":410},"Error Handling","content:docs:4.build:6.application-behavior:2.error-handling.md","4\u002F6\u002F2",{"icon":409},"i-lucide-circle-alert","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Ferror-handling",{"title":412,"id":413,"canonicalKey":414,"locale":8,"draft":6,"navigation":415,"icon":416,"path":417},"Logging","content:docs:4.build:6.application-behavior:3.logging.md","4\u002F6\u002F3",{"icon":416},"i-lucide-scroll-text","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Flogging",{"title":419,"id":420,"canonicalKey":421,"locale":8,"draft":6,"navigation":422,"icon":423,"path":424},"DevTools","content:docs:4.build:6.application-behavior:4.devtools.md","4\u002F6\u002F4",{"icon":423},"i-lucide-wrench","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fdevtools",{"title":426,"id":427,"canonicalKey":428,"locale":8,"draft":6,"navigation":429,"icon":430,"path":431},"Performance","content:docs:4.build:6.application-behavior:5.performance.md","4\u002F6\u002F5",{"icon":430},"i-lucide-chart-no-axes-combined","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fperformance",{"title":433,"page":6,"canonicalKey":434,"locale":8,"id":435,"draft":6,"icon":334,"children":436},"Agents and MCP","4\u002F7","content:docs:4.build:7.agents:.navigation.yml",[437,444],{"title":438,"id":439,"canonicalKey":440,"locale":8,"draft":6,"navigation":441,"icon":442,"path":443},"MCP on Convex","content:docs:4.build:7.agents:1.mcp.md","4\u002F7\u002F1",{"icon":442},"i-lucide-plug-zap","\u002Fdocs\u002Fbuild\u002Fagents\u002Fmcp",{"title":445,"id":446,"canonicalKey":447,"locale":8,"draft":6,"navigation":448,"icon":100,"path":449},"Vue MCP Apps","content:docs:4.build:7.agents:2.mcp-apps.md","4\u002F7\u002F2",{"icon":100},"\u002Fdocs\u002Fbuild\u002Fagents\u002Fmcp-apps",{"title":451,"page":6,"canonicalKey":452,"locale":8,"id":453,"draft":6,"icon":454,"children":455},"Recipes","5","content:docs:5.recipes:.navigation.yml","i-lucide-cooking-pot",[456,462,469,476,483,490,497,503],{"title":457,"id":458,"canonicalKey":459,"locale":8,"draft":6,"navigation":460,"icon":39,"path":461},"Protected Dashboard","content:docs:5.recipes:1.protected-dashboard.md","5\u002F1",{"icon":39},"\u002Fdocs\u002Frecipes\u002Fprotected-dashboard",{"title":463,"id":464,"canonicalKey":465,"locale":8,"draft":6,"navigation":466,"icon":467,"path":468},"Real-Time Feed","content:docs:5.recipes:2.realtime-feed.md","5\u002F2",{"icon":467},"i-lucide-messages-square","\u002Fdocs\u002Frecipes\u002Frealtime-feed",{"title":470,"id":471,"canonicalKey":472,"locale":8,"draft":6,"navigation":473,"icon":474,"path":475},"Optimistic Todo List","content:docs:5.recipes:3.optimistic-todo-list.md","5\u002F3",{"icon":474},"i-lucide-list-todo","\u002Fdocs\u002Frecipes\u002Foptimistic-todo-list",{"title":477,"id":478,"canonicalKey":479,"locale":8,"draft":6,"navigation":480,"icon":481,"path":482},"Infinite Scroll","content:docs:5.recipes:4.infinite-scroll.md","5\u002F4",{"icon":481},"i-lucide-mouse","\u002Fdocs\u002Frecipes\u002Finfinite-scroll",{"title":484,"id":485,"canonicalKey":486,"locale":8,"draft":6,"navigation":487,"icon":488,"path":489},"File Upload Form","content:docs:5.recipes:5.file-upload-form.md","5\u002F5",{"icon":488},"i-lucide-file-up","\u002Fdocs\u002Frecipes\u002Ffile-upload-form",{"title":491,"id":492,"canonicalKey":493,"locale":8,"draft":6,"navigation":494,"icon":495,"path":496},"Organization Permissions","content:docs:5.recipes:6.organization-permissions.md","5\u002F6",{"icon":495},"i-lucide-building-2","\u002Fdocs\u002Frecipes\u002Forganization-permissions",{"title":498,"id":499,"canonicalKey":500,"locale":8,"draft":6,"navigation":501,"icon":345,"path":502},"Authenticated Server Route","content:docs:5.recipes:7.authenticated-server-route.md","5\u002F7",{"icon":345},"\u002Fdocs\u002Frecipes\u002Fauthenticated-server-route",{"title":504,"id":505,"canonicalKey":506,"locale":8,"draft":6,"navigation":507,"icon":100,"path":508},"Public and Private Data","content:docs:5.recipes:8.public-and-private-data.md","5\u002F8",{"icon":100},"\u002Fdocs\u002Frecipes\u002Fpublic-and-private-data",{"title":510,"page":6,"canonicalKey":511,"locale":8,"id":512,"draft":6,"icon":513,"children":514},"Reference","6","content:docs:6.reference:.navigation.yml","i-lucide-braces",[515,521,527,533,540,547],{"title":516,"id":517,"canonicalKey":518,"locale":8,"draft":6,"navigation":519,"icon":513,"path":520},"Composables","content:docs:6.reference:1.composables.md","6\u002F1",{"icon":513},"\u002Fdocs\u002Freference\u002Fcomposables",{"title":522,"id":523,"canonicalKey":524,"locale":8,"draft":6,"navigation":525,"icon":345,"path":526},"Server API","content:docs:6.reference:3.server-api.md","6\u002F3",{"icon":345},"\u002Fdocs\u002Freference\u002Fserver-api",{"title":528,"id":529,"canonicalKey":530,"locale":8,"draft":6,"navigation":531,"icon":107,"path":532},"Error Types","content:docs:6.reference:4.error-types.md","6\u002F4",{"icon":107},"\u002Fdocs\u002Freference\u002Ferror-types",{"title":534,"id":535,"canonicalKey":536,"locale":8,"draft":6,"navigation":537,"icon":538,"path":539},"Module Configuration","content:docs:6.reference:5.module-configuration.md","6\u002F5",{"icon":538},"i-lucide-settings","\u002Fdocs\u002Freference\u002Fmodule-configuration",{"title":541,"id":542,"canonicalKey":543,"locale":8,"draft":6,"navigation":544,"icon":545,"path":546},"Package Exports","content:docs:6.reference:6.package-exports.md","6\u002F6",{"icon":545},"i-lucide-package-open","\u002Fdocs\u002Freference\u002Fpackage-exports",{"title":548,"id":549,"canonicalKey":550,"locale":8,"draft":6,"navigation":551,"icon":552,"path":553},"API Surface","content:docs:6.reference:7.api-surface.md","6\u002F7",{"icon":552},"i-lucide-list","\u002Fdocs\u002Freference\u002Fapi-surface",{"title":555,"page":6,"canonicalKey":556,"locale":8,"id":557,"draft":6,"icon":280,"children":558},"Operations","7","content:docs:7.operations:.navigation.yml",[559,566,572,578,584],{"title":560,"id":561,"canonicalKey":562,"locale":8,"draft":6,"navigation":563,"icon":564,"path":565},"Environment Variables","content:docs:7.operations:1.environment-variables.md","7\u002F1",{"icon":564},"i-lucide-variable","\u002Fdocs\u002Foperations\u002Fenvironment-variables",{"title":567,"id":568,"canonicalKey":569,"locale":8,"draft":6,"navigation":570,"icon":127,"path":571},"Deployment","content:docs:7.operations:2.deployment.md","7\u002F2",{"icon":127},"\u002Fdocs\u002Foperations\u002Fdeployment",{"title":573,"id":574,"canonicalKey":575,"locale":8,"draft":6,"navigation":576,"icon":169,"path":577},"Security Model","content:docs:7.operations:3.security-model.md","7\u002F3",{"icon":169},"\u002Fdocs\u002Foperations\u002Fsecurity-model",{"title":579,"id":580,"canonicalKey":581,"locale":8,"draft":6,"navigation":582,"icon":423,"path":583},"Troubleshooting","content:docs:7.operations:4.troubleshooting.md","7\u002F4",{"icon":423},"\u002Fdocs\u002Foperations\u002Ftroubleshooting",{"title":585,"id":586,"canonicalKey":587,"locale":8,"draft":6,"navigation":588,"icon":25,"path":589},"Release Compatibility","content:docs:7.operations:5.release-compatibility.md","7\u002F5",{"icon":25},"\u002Fdocs\u002Foperations\u002Frelease-compatibility",{"title":591,"id":592,"canonicalKey":593,"locale":8,"draft":6,"path":594},"Better Convex documentation","content:docs:index.md","\u002F","\u002Fdocs",{"title":252,"description":596,"navigation":597,"body":598,"type":2026,"id":253,"canonicalKey":254,"draft":6,"partial":6,"locale":8,"collection":2027,"navigationFile":6,"file":2028,"route":2034,"resolution":2036},"Update local Convex query results directly, then let Convex confirm or roll back the change.",{"icon":256},{"type":599,"children":600,"toc":2017},"root",[601,609,614,632,639,651,727,732,738,1298,1303,1322,1328,1333,1984,1989,1995,2000,2012],{"type":602,"tag":603,"props":604,"children":605},"element","p",{},[606],{"type":607,"value":608},"text","An optimistic update changes local query results before the mutation response arrives. Convex rolls the overlay back when the mutation fails and reconciles it with confirmed server data when it succeeds.",{"type":602,"tag":603,"props":610,"children":611},{},[612],{"type":607,"value":613},"Use optimism when the expected server result is predictable. Prefer the normal live update for complex authorization or server-generated values.",{"type":602,"tag":603,"props":615,"children":616},{},[617,623,625,630],{"type":602,"tag":618,"props":619,"children":620},"code",{},[621],{"type":607,"value":622},"optimisticUpdate",{"type":607,"value":624}," must be synchronous and return ",{"type":602,"tag":618,"props":626,"children":627},{},[628],{"type":607,"value":629},"undefined",{"type":607,"value":631},". An async function or Promise-like return is rejected by the TypeScript contract and diagnosed at runtime for JavaScript or casted callers.",{"type":602,"tag":633,"props":634,"children":636},"h2",{"id":635},"the-local-store-contract",[637],{"type":607,"value":638},"The local-store contract",{"type":602,"tag":603,"props":640,"children":641},{},[642,644,649],{"type":607,"value":643},"The callback receives Convex's ",{"type":602,"tag":618,"props":645,"children":646},{},[647],{"type":607,"value":648},"OptimisticLocalStore",{"type":607,"value":650},". It has three direct methods:",{"type":602,"tag":652,"props":653,"children":654},"table",{},[655,674],{"type":602,"tag":656,"props":657,"children":658},"thead",{},[659],{"type":602,"tag":660,"props":661,"children":662},"tr",{},[663,669],{"type":602,"tag":664,"props":665,"children":666},"th",{},[667],{"type":607,"value":668},"Method",{"type":602,"tag":664,"props":670,"children":671},{},[672],{"type":607,"value":673},"Use",{"type":602,"tag":675,"props":676,"children":677},"tbody",{},[678,695,711],{"type":602,"tag":660,"props":679,"children":680},{},[681,690],{"type":602,"tag":682,"props":683,"children":684},"td",{},[685],{"type":602,"tag":618,"props":686,"children":687},{},[688],{"type":607,"value":689},"getQuery(query, args)",{"type":602,"tag":682,"props":691,"children":692},{},[693],{"type":607,"value":694},"Read one currently loaded exact query result",{"type":602,"tag":660,"props":696,"children":697},{},[698,706],{"type":602,"tag":682,"props":699,"children":700},{},[701],{"type":602,"tag":618,"props":702,"children":703},{},[704],{"type":607,"value":705},"getAllQueries(query)",{"type":602,"tag":682,"props":707,"children":708},{},[709],{"type":607,"value":710},"Read every loaded argument variant of a query",{"type":602,"tag":660,"props":712,"children":713},{},[714,722],{"type":602,"tag":682,"props":715,"children":716},{},[717],{"type":602,"tag":618,"props":718,"children":719},{},[720],{"type":607,"value":721},"setQuery(query, args, data)",{"type":602,"tag":682,"props":723,"children":724},{},[725],{"type":607,"value":726},"Replace or remove one exact local result",{"type":602,"tag":603,"props":728,"children":729},{},[730],{"type":607,"value":731},"Treat every returned value as immutable. Create new arrays and objects before passing them back.",{"type":602,"tag":633,"props":733,"children":735},{"id":734},"regular-query-example",[736],{"type":607,"value":737},"Regular query example",{"type":602,"tag":739,"props":740,"children":743},"pre",{"language":741,"class":742},"ts","shiki shiki-themes light-plus dark-plus dark:dark-plus",[744],{"type":602,"tag":618,"props":745,"children":747},{"class":746},"language-ts",[748,793,795,824,825,828,829,888,889,937,938,998,999,1039,1040,1043,1044,1061,1062,1115,1116,1143,1144,1170,1171,1188,1189,1197,1198,1201,1202,1267,1268,1280,1281,1289,1290],{"type":602,"tag":749,"props":750,"children":753},"span",{"class":751,"style":752},"line","display: inline",[754,760,765,771,777,782,787],{"type":602,"tag":749,"props":755,"children":757},{"style":756},"color:#AF00DB;--shiki-dark:#C586C0",[758],{"type":607,"value":759},"import",{"type":602,"tag":749,"props":761,"children":762},{"style":756},[763],{"type":607,"value":764}," type",{"type":602,"tag":749,"props":766,"children":768},{"style":767},"color:#000000;--shiki-dark:#D4D4D4",[769],{"type":607,"value":770}," { ",{"type":602,"tag":749,"props":772,"children":774},{"style":773},"color:#001080;--shiki-dark:#9CDCFE",[775],{"type":607,"value":776},"Id",{"type":602,"tag":749,"props":778,"children":779},{"style":767},[780],{"type":607,"value":781}," } ",{"type":602,"tag":749,"props":783,"children":784},{"style":756},[785],{"type":607,"value":786},"from",{"type":602,"tag":749,"props":788,"children":790},{"style":789},"color:#A31515;--shiki-dark:#CE9178",[791],{"type":607,"value":792}," '~\u002Fconvex\u002F_generated\u002FdataModel'",{"type":607,"value":794},"\n",{"type":602,"tag":749,"props":796,"children":797},{"class":751,"style":752},[798,802,806,811,815,819],{"type":602,"tag":749,"props":799,"children":800},{"style":756},[801],{"type":607,"value":759},{"type":602,"tag":749,"props":803,"children":804},{"style":767},[805],{"type":607,"value":770},{"type":602,"tag":749,"props":807,"children":808},{"style":773},[809],{"type":607,"value":810},"api",{"type":602,"tag":749,"props":812,"children":813},{"style":767},[814],{"type":607,"value":781},{"type":602,"tag":749,"props":816,"children":817},{"style":756},[818],{"type":607,"value":786},{"type":602,"tag":749,"props":820,"children":821},{"style":789},[822],{"type":607,"value":823}," '#convex\u002Fapi'",{"type":607,"value":794},{"type":602,"tag":749,"props":826,"children":827},{"class":751,"style":752},[],{"type":607,"value":794},{"type":602,"tag":749,"props":830,"children":831},{"class":751,"style":752},[832,838,844,849,855,860,864,869,874,878,883],{"type":602,"tag":749,"props":833,"children":835},{"style":834},"color:#0000FF;--shiki-dark:#569CD6",[836],{"type":607,"value":837},"const",{"type":602,"tag":749,"props":839,"children":841},{"style":840},"color:#0070C1;--shiki-dark:#4FC1FF",[842],{"type":607,"value":843}," addTodo",{"type":602,"tag":749,"props":845,"children":846},{"style":767},[847],{"type":607,"value":848}," = ",{"type":602,"tag":749,"props":850,"children":852},{"style":851},"color:#795E26;--shiki-dark:#DCDCAA",[853],{"type":607,"value":854},"useConvexMutation",{"type":602,"tag":749,"props":856,"children":857},{"style":767},[858],{"type":607,"value":859},"(",{"type":602,"tag":749,"props":861,"children":862},{"style":773},[863],{"type":607,"value":810},{"type":602,"tag":749,"props":865,"children":866},{"style":767},[867],{"type":607,"value":868},".",{"type":602,"tag":749,"props":870,"children":871},{"style":773},[872],{"type":607,"value":873},"todos",{"type":602,"tag":749,"props":875,"children":876},{"style":767},[877],{"type":607,"value":868},{"type":602,"tag":749,"props":879,"children":880},{"style":773},[881],{"type":607,"value":882},"create",{"type":602,"tag":749,"props":884,"children":885},{"style":767},[886],{"type":607,"value":887},", {",{"type":607,"value":794},{"type":602,"tag":749,"props":890,"children":891},{"class":751,"style":752},[892,897,902,907,912,917,922,927,932],{"type":602,"tag":749,"props":893,"children":894},{"style":851},[895],{"type":607,"value":896},"  optimisticUpdate",{"type":602,"tag":749,"props":898,"children":899},{"style":773},[900],{"type":607,"value":901},":",{"type":602,"tag":749,"props":903,"children":904},{"style":767},[905],{"type":607,"value":906}," (",{"type":602,"tag":749,"props":908,"children":909},{"style":773},[910],{"type":607,"value":911},"store",{"type":602,"tag":749,"props":913,"children":914},{"style":767},[915],{"type":607,"value":916},", ",{"type":602,"tag":749,"props":918,"children":919},{"style":773},[920],{"type":607,"value":921},"args",{"type":602,"tag":749,"props":923,"children":924},{"style":767},[925],{"type":607,"value":926},") ",{"type":602,"tag":749,"props":928,"children":929},{"style":834},[930],{"type":607,"value":931},"=>",{"type":602,"tag":749,"props":933,"children":934},{"style":767},[935],{"type":607,"value":936}," {",{"type":607,"value":794},{"type":602,"tag":749,"props":939,"children":940},{"class":751,"style":752},[941,946,951,955,959,963,968,972,976,980,984,988,993],{"type":602,"tag":749,"props":942,"children":943},{"style":834},[944],{"type":607,"value":945},"    const",{"type":602,"tag":749,"props":947,"children":948},{"style":840},[949],{"type":607,"value":950}," current",{"type":602,"tag":749,"props":952,"children":953},{"style":767},[954],{"type":607,"value":848},{"type":602,"tag":749,"props":956,"children":957},{"style":773},[958],{"type":607,"value":911},{"type":602,"tag":749,"props":960,"children":961},{"style":767},[962],{"type":607,"value":868},{"type":602,"tag":749,"props":964,"children":965},{"style":851},[966],{"type":607,"value":967},"getQuery",{"type":602,"tag":749,"props":969,"children":970},{"style":767},[971],{"type":607,"value":859},{"type":602,"tag":749,"props":973,"children":974},{"style":773},[975],{"type":607,"value":810},{"type":602,"tag":749,"props":977,"children":978},{"style":767},[979],{"type":607,"value":868},{"type":602,"tag":749,"props":981,"children":982},{"style":773},[983],{"type":607,"value":873},{"type":602,"tag":749,"props":985,"children":986},{"style":767},[987],{"type":607,"value":868},{"type":602,"tag":749,"props":989,"children":990},{"style":773},[991],{"type":607,"value":992},"list",{"type":602,"tag":749,"props":994,"children":995},{"style":767},[996],{"type":607,"value":997},", {})",{"type":607,"value":794},{"type":602,"tag":749,"props":1000,"children":1001},{"class":751,"style":752},[1002,1007,1011,1016,1021,1025,1029,1034],{"type":602,"tag":749,"props":1003,"children":1004},{"style":756},[1005],{"type":607,"value":1006},"    if",{"type":602,"tag":749,"props":1008,"children":1009},{"style":767},[1010],{"type":607,"value":906},{"type":602,"tag":749,"props":1012,"children":1013},{"style":773},[1014],{"type":607,"value":1015},"current",{"type":602,"tag":749,"props":1017,"children":1018},{"style":767},[1019],{"type":607,"value":1020}," === ",{"type":602,"tag":749,"props":1022,"children":1023},{"style":834},[1024],{"type":607,"value":629},{"type":602,"tag":749,"props":1026,"children":1027},{"style":767},[1028],{"type":607,"value":926},{"type":602,"tag":749,"props":1030,"children":1031},{"style":756},[1032],{"type":607,"value":1033},"return",{"type":602,"tag":749,"props":1035,"children":1036},{"style":834},[1037],{"type":607,"value":1038}," undefined",{"type":607,"value":794},{"type":602,"tag":749,"props":1041,"children":1042},{"class":751,"style":752},[],{"type":607,"value":794},{"type":602,"tag":749,"props":1045,"children":1046},{"class":751,"style":752},[1047,1051,1056],{"type":602,"tag":749,"props":1048,"children":1049},{"style":834},[1050],{"type":607,"value":945},{"type":602,"tag":749,"props":1052,"children":1053},{"style":840},[1054],{"type":607,"value":1055}," optimisticTodo",{"type":602,"tag":749,"props":1057,"children":1058},{"style":767},[1059],{"type":607,"value":1060}," = {",{"type":607,"value":794},{"type":602,"tag":749,"props":1063,"children":1064},{"class":751,"style":752},[1065,1070,1075,1079,1084,1089,1094,1100,1105,1110],{"type":602,"tag":749,"props":1066,"children":1067},{"style":773},[1068],{"type":607,"value":1069},"      _id:",{"type":602,"tag":749,"props":1071,"children":1072},{"style":773},[1073],{"type":607,"value":1074}," crypto",{"type":602,"tag":749,"props":1076,"children":1077},{"style":767},[1078],{"type":607,"value":868},{"type":602,"tag":749,"props":1080,"children":1081},{"style":851},[1082],{"type":607,"value":1083},"randomUUID",{"type":602,"tag":749,"props":1085,"children":1086},{"style":767},[1087],{"type":607,"value":1088},"() ",{"type":602,"tag":749,"props":1090,"children":1091},{"style":756},[1092],{"type":607,"value":1093},"as",{"type":602,"tag":749,"props":1095,"children":1097},{"style":1096},"color:#267F99;--shiki-dark:#4EC9B0",[1098],{"type":607,"value":1099}," Id",{"type":602,"tag":749,"props":1101,"children":1102},{"style":767},[1103],{"type":607,"value":1104},"\u003C",{"type":602,"tag":749,"props":1106,"children":1107},{"style":789},[1108],{"type":607,"value":1109},"'todos'",{"type":602,"tag":749,"props":1111,"children":1112},{"style":767},[1113],{"type":607,"value":1114},">,",{"type":607,"value":794},{"type":602,"tag":749,"props":1117,"children":1118},{"class":751,"style":752},[1119,1124,1129,1133,1138],{"type":602,"tag":749,"props":1120,"children":1121},{"style":773},[1122],{"type":607,"value":1123},"      _creationTime:",{"type":602,"tag":749,"props":1125,"children":1126},{"style":773},[1127],{"type":607,"value":1128}," Date",{"type":602,"tag":749,"props":1130,"children":1131},{"style":767},[1132],{"type":607,"value":868},{"type":602,"tag":749,"props":1134,"children":1135},{"style":851},[1136],{"type":607,"value":1137},"now",{"type":602,"tag":749,"props":1139,"children":1140},{"style":767},[1141],{"type":607,"value":1142},"(),",{"type":607,"value":794},{"type":602,"tag":749,"props":1145,"children":1146},{"class":751,"style":752},[1147,1152,1157,1161,1165],{"type":602,"tag":749,"props":1148,"children":1149},{"style":773},[1150],{"type":607,"value":1151},"      text:",{"type":602,"tag":749,"props":1153,"children":1154},{"style":773},[1155],{"type":607,"value":1156}," args",{"type":602,"tag":749,"props":1158,"children":1159},{"style":767},[1160],{"type":607,"value":868},{"type":602,"tag":749,"props":1162,"children":1163},{"style":773},[1164],{"type":607,"value":607},{"type":602,"tag":749,"props":1166,"children":1167},{"style":767},[1168],{"type":607,"value":1169},",",{"type":607,"value":794},{"type":602,"tag":749,"props":1172,"children":1173},{"class":751,"style":752},[1174,1179,1184],{"type":602,"tag":749,"props":1175,"children":1176},{"style":773},[1177],{"type":607,"value":1178},"      completed:",{"type":602,"tag":749,"props":1180,"children":1181},{"style":834},[1182],{"type":607,"value":1183}," false",{"type":602,"tag":749,"props":1185,"children":1186},{"style":767},[1187],{"type":607,"value":1169},{"type":607,"value":794},{"type":602,"tag":749,"props":1190,"children":1191},{"class":751,"style":752},[1192],{"type":602,"tag":749,"props":1193,"children":1194},{"style":767},[1195],{"type":607,"value":1196},"    }",{"type":607,"value":794},{"type":602,"tag":749,"props":1199,"children":1200},{"class":751,"style":752},[],{"type":607,"value":794},{"type":602,"tag":749,"props":1203,"children":1204},{"class":751,"style":752},[1205,1210,1214,1219,1223,1227,1231,1235,1239,1243,1248,1253,1258,1262],{"type":602,"tag":749,"props":1206,"children":1207},{"style":773},[1208],{"type":607,"value":1209},"    store",{"type":602,"tag":749,"props":1211,"children":1212},{"style":767},[1213],{"type":607,"value":868},{"type":602,"tag":749,"props":1215,"children":1216},{"style":851},[1217],{"type":607,"value":1218},"setQuery",{"type":602,"tag":749,"props":1220,"children":1221},{"style":767},[1222],{"type":607,"value":859},{"type":602,"tag":749,"props":1224,"children":1225},{"style":773},[1226],{"type":607,"value":810},{"type":602,"tag":749,"props":1228,"children":1229},{"style":767},[1230],{"type":607,"value":868},{"type":602,"tag":749,"props":1232,"children":1233},{"style":773},[1234],{"type":607,"value":873},{"type":602,"tag":749,"props":1236,"children":1237},{"style":767},[1238],{"type":607,"value":868},{"type":602,"tag":749,"props":1240,"children":1241},{"style":773},[1242],{"type":607,"value":992},{"type":602,"tag":749,"props":1244,"children":1245},{"style":767},[1246],{"type":607,"value":1247},", {}, [",{"type":602,"tag":749,"props":1249,"children":1250},{"style":773},[1251],{"type":607,"value":1252},"optimisticTodo",{"type":602,"tag":749,"props":1254,"children":1255},{"style":767},[1256],{"type":607,"value":1257},", ...",{"type":602,"tag":749,"props":1259,"children":1260},{"style":773},[1261],{"type":607,"value":1015},{"type":602,"tag":749,"props":1263,"children":1264},{"style":767},[1265],{"type":607,"value":1266},"])",{"type":607,"value":794},{"type":602,"tag":749,"props":1269,"children":1270},{"class":751,"style":752},[1271,1276],{"type":602,"tag":749,"props":1272,"children":1273},{"style":756},[1274],{"type":607,"value":1275},"    return",{"type":602,"tag":749,"props":1277,"children":1278},{"style":834},[1279],{"type":607,"value":1038},{"type":607,"value":794},{"type":602,"tag":749,"props":1282,"children":1283},{"class":751,"style":752},[1284],{"type":602,"tag":749,"props":1285,"children":1286},{"style":767},[1287],{"type":607,"value":1288},"  },",{"type":607,"value":794},{"type":602,"tag":749,"props":1291,"children":1292},{"class":751,"style":752},[1293],{"type":602,"tag":749,"props":1294,"children":1295},{"style":767},[1296],{"type":607,"value":1297},"})",{"type":602,"tag":603,"props":1299,"children":1300},{},[1301],{"type":607,"value":1302},"The optimistic item must contain every field the UI reads. Its ID is temporary and must not be used as a durable external identifier.",{"type":602,"tag":603,"props":1304,"children":1305},{},[1306,1308,1313,1315,1320],{"type":607,"value":1307},"Exact query arguments matter. Updating ",{"type":602,"tag":618,"props":1309,"children":1310},{},[1311],{"type":607,"value":1312},"{ organizationId }",{"type":607,"value":1314}," does not update another argument set automatically. Use ",{"type":602,"tag":618,"props":1316,"children":1317},{},[1318],{"type":607,"value":1319},"getAllQueries()",{"type":607,"value":1321}," only when the product explicitly needs to update multiple variants.",{"type":602,"tag":633,"props":1323,"children":1325},{"id":1324},"paginated-example",[1326],{"type":607,"value":1327},"Paginated example",{"type":602,"tag":603,"props":1329,"children":1330},{},[1331],{"type":607,"value":1332},"Pagination results are stored as Convex pages. Update only pages that are already loaded and preserve their cursor metadata:",{"type":602,"tag":739,"props":1334,"children":1335},{"language":741,"class":742},[1336],{"type":602,"tag":618,"props":1337,"children":1338},{"class":746},[1339,1389,1390,1429,1430,1446,1447,1491,1492,1515,1516,1541,1542,1567,1568,1575,1576,1579,1580,1649,1650,1662,1663,1694,1695,1738,1739,1781,1782,1790,1791,1852,1853,1877,1878,1926,1927,1935,1936,1944,1945,1952,1953,1956,1957,1968,1969,1976,1977],{"type":602,"tag":749,"props":1340,"children":1341},{"class":751,"style":752},[1342,1346,1351,1355,1359,1363,1367,1371,1376,1380,1385],{"type":602,"tag":749,"props":1343,"children":1344},{"style":834},[1345],{"type":607,"value":837},{"type":602,"tag":749,"props":1347,"children":1348},{"style":840},[1349],{"type":607,"value":1350}," sendMessage",{"type":602,"tag":749,"props":1352,"children":1353},{"style":767},[1354],{"type":607,"value":848},{"type":602,"tag":749,"props":1356,"children":1357},{"style":851},[1358],{"type":607,"value":854},{"type":602,"tag":749,"props":1360,"children":1361},{"style":767},[1362],{"type":607,"value":859},{"type":602,"tag":749,"props":1364,"children":1365},{"style":773},[1366],{"type":607,"value":810},{"type":602,"tag":749,"props":1368,"children":1369},{"style":767},[1370],{"type":607,"value":868},{"type":602,"tag":749,"props":1372,"children":1373},{"style":773},[1374],{"type":607,"value":1375},"messages",{"type":602,"tag":749,"props":1377,"children":1378},{"style":767},[1379],{"type":607,"value":868},{"type":602,"tag":749,"props":1381,"children":1382},{"style":773},[1383],{"type":607,"value":1384},"send",{"type":602,"tag":749,"props":1386,"children":1387},{"style":767},[1388],{"type":607,"value":887},{"type":607,"value":794},{"type":602,"tag":749,"props":1391,"children":1392},{"class":751,"style":752},[1393,1397,1401,1405,1409,1413,1417,1421,1425],{"type":602,"tag":749,"props":1394,"children":1395},{"style":851},[1396],{"type":607,"value":896},{"type":602,"tag":749,"props":1398,"children":1399},{"style":773},[1400],{"type":607,"value":901},{"type":602,"tag":749,"props":1402,"children":1403},{"style":767},[1404],{"type":607,"value":906},{"type":602,"tag":749,"props":1406,"children":1407},{"style":773},[1408],{"type":607,"value":911},{"type":602,"tag":749,"props":1410,"children":1411},{"style":767},[1412],{"type":607,"value":916},{"type":602,"tag":749,"props":1414,"children":1415},{"style":773},[1416],{"type":607,"value":921},{"type":602,"tag":749,"props":1418,"children":1419},{"style":767},[1420],{"type":607,"value":926},{"type":602,"tag":749,"props":1422,"children":1423},{"style":834},[1424],{"type":607,"value":931},{"type":602,"tag":749,"props":1426,"children":1427},{"style":767},[1428],{"type":607,"value":936},{"type":607,"value":794},{"type":602,"tag":749,"props":1431,"children":1432},{"class":751,"style":752},[1433,1437,1442],{"type":602,"tag":749,"props":1434,"children":1435},{"style":834},[1436],{"type":607,"value":945},{"type":602,"tag":749,"props":1438,"children":1439},{"style":840},[1440],{"type":607,"value":1441}," optimisticMessage",{"type":602,"tag":749,"props":1443,"children":1444},{"style":767},[1445],{"type":607,"value":1060},{"type":607,"value":794},{"type":602,"tag":749,"props":1448,"children":1449},{"class":751,"style":752},[1450,1454,1458,1462,1466,1470,1474,1478,1482,1487],{"type":602,"tag":749,"props":1451,"children":1452},{"style":773},[1453],{"type":607,"value":1069},{"type":602,"tag":749,"props":1455,"children":1456},{"style":773},[1457],{"type":607,"value":1074},{"type":602,"tag":749,"props":1459,"children":1460},{"style":767},[1461],{"type":607,"value":868},{"type":602,"tag":749,"props":1463,"children":1464},{"style":851},[1465],{"type":607,"value":1083},{"type":602,"tag":749,"props":1467,"children":1468},{"style":767},[1469],{"type":607,"value":1088},{"type":602,"tag":749,"props":1471,"children":1472},{"style":756},[1473],{"type":607,"value":1093},{"type":602,"tag":749,"props":1475,"children":1476},{"style":1096},[1477],{"type":607,"value":1099},{"type":602,"tag":749,"props":1479,"children":1480},{"style":767},[1481],{"type":607,"value":1104},{"type":602,"tag":749,"props":1483,"children":1484},{"style":789},[1485],{"type":607,"value":1486},"'messages'",{"type":602,"tag":749,"props":1488,"children":1489},{"style":767},[1490],{"type":607,"value":1114},{"type":607,"value":794},{"type":602,"tag":749,"props":1493,"children":1494},{"class":751,"style":752},[1495,1499,1503,1507,1511],{"type":602,"tag":749,"props":1496,"children":1497},{"style":773},[1498],{"type":607,"value":1123},{"type":602,"tag":749,"props":1500,"children":1501},{"style":773},[1502],{"type":607,"value":1128},{"type":602,"tag":749,"props":1504,"children":1505},{"style":767},[1506],{"type":607,"value":868},{"type":602,"tag":749,"props":1508,"children":1509},{"style":851},[1510],{"type":607,"value":1137},{"type":602,"tag":749,"props":1512,"children":1513},{"style":767},[1514],{"type":607,"value":1142},{"type":607,"value":794},{"type":602,"tag":749,"props":1517,"children":1518},{"class":751,"style":752},[1519,1524,1528,1532,1537],{"type":602,"tag":749,"props":1520,"children":1521},{"style":773},[1522],{"type":607,"value":1523},"      channelId:",{"type":602,"tag":749,"props":1525,"children":1526},{"style":773},[1527],{"type":607,"value":1156},{"type":602,"tag":749,"props":1529,"children":1530},{"style":767},[1531],{"type":607,"value":868},{"type":602,"tag":749,"props":1533,"children":1534},{"style":773},[1535],{"type":607,"value":1536},"channelId",{"type":602,"tag":749,"props":1538,"children":1539},{"style":767},[1540],{"type":607,"value":1169},{"type":607,"value":794},{"type":602,"tag":749,"props":1543,"children":1544},{"class":751,"style":752},[1545,1550,1554,1558,1563],{"type":602,"tag":749,"props":1546,"children":1547},{"style":773},[1548],{"type":607,"value":1549},"      body:",{"type":602,"tag":749,"props":1551,"children":1552},{"style":773},[1553],{"type":607,"value":1156},{"type":602,"tag":749,"props":1555,"children":1556},{"style":767},[1557],{"type":607,"value":868},{"type":602,"tag":749,"props":1559,"children":1560},{"style":773},[1561],{"type":607,"value":1562},"body",{"type":602,"tag":749,"props":1564,"children":1565},{"style":767},[1566],{"type":607,"value":1169},{"type":607,"value":794},{"type":602,"tag":749,"props":1569,"children":1570},{"class":751,"style":752},[1571],{"type":602,"tag":749,"props":1572,"children":1573},{"style":767},[1574],{"type":607,"value":1196},{"type":607,"value":794},{"type":602,"tag":749,"props":1577,"children":1578},{"class":751,"style":752},[],{"type":607,"value":794},{"type":602,"tag":749,"props":1581,"children":1582},{"class":751,"style":752},[1583,1588,1592,1596,1601,1606,1611,1615,1620,1624,1628,1632,1636,1640,1644],{"type":602,"tag":749,"props":1584,"children":1585},{"style":756},[1586],{"type":607,"value":1587},"    for",{"type":602,"tag":749,"props":1589,"children":1590},{"style":767},[1591],{"type":607,"value":906},{"type":602,"tag":749,"props":1593,"children":1594},{"style":834},[1595],{"type":607,"value":837},{"type":602,"tag":749,"props":1597,"children":1598},{"style":840},[1599],{"type":607,"value":1600}," loaded",{"type":602,"tag":749,"props":1602,"children":1603},{"style":834},[1604],{"type":607,"value":1605}," of",{"type":602,"tag":749,"props":1607,"children":1608},{"style":773},[1609],{"type":607,"value":1610}," store",{"type":602,"tag":749,"props":1612,"children":1613},{"style":767},[1614],{"type":607,"value":868},{"type":602,"tag":749,"props":1616,"children":1617},{"style":851},[1618],{"type":607,"value":1619},"getAllQueries",{"type":602,"tag":749,"props":1621,"children":1622},{"style":767},[1623],{"type":607,"value":859},{"type":602,"tag":749,"props":1625,"children":1626},{"style":773},[1627],{"type":607,"value":810},{"type":602,"tag":749,"props":1629,"children":1630},{"style":767},[1631],{"type":607,"value":868},{"type":602,"tag":749,"props":1633,"children":1634},{"style":773},[1635],{"type":607,"value":1375},{"type":602,"tag":749,"props":1637,"children":1638},{"style":767},[1639],{"type":607,"value":868},{"type":602,"tag":749,"props":1641,"children":1642},{"style":773},[1643],{"type":607,"value":992},{"type":602,"tag":749,"props":1645,"children":1646},{"style":767},[1647],{"type":607,"value":1648},")) {",{"type":607,"value":794},{"type":602,"tag":749,"props":1651,"children":1652},{"class":751,"style":752},[1653,1658],{"type":602,"tag":749,"props":1654,"children":1655},{"style":756},[1656],{"type":607,"value":1657},"      if",{"type":602,"tag":749,"props":1659,"children":1660},{"style":767},[1661],{"type":607,"value":906},{"type":607,"value":794},{"type":602,"tag":749,"props":1664,"children":1665},{"class":751,"style":752},[1666,1671,1675,1680,1685,1689],{"type":602,"tag":749,"props":1667,"children":1668},{"style":773},[1669],{"type":607,"value":1670},"        loaded",{"type":602,"tag":749,"props":1672,"children":1673},{"style":767},[1674],{"type":607,"value":868},{"type":602,"tag":749,"props":1676,"children":1677},{"style":773},[1678],{"type":607,"value":1679},"value",{"type":602,"tag":749,"props":1681,"children":1682},{"style":767},[1683],{"type":607,"value":1684}," !== ",{"type":602,"tag":749,"props":1686,"children":1687},{"style":834},[1688],{"type":607,"value":629},{"type":602,"tag":749,"props":1690,"children":1691},{"style":767},[1692],{"type":607,"value":1693}," &&",{"type":607,"value":794},{"type":602,"tag":749,"props":1696,"children":1697},{"class":751,"style":752},[1698,1702,1706,1710,1714,1718,1722,1726,1730,1734],{"type":602,"tag":749,"props":1699,"children":1700},{"style":773},[1701],{"type":607,"value":1670},{"type":602,"tag":749,"props":1703,"children":1704},{"style":767},[1705],{"type":607,"value":868},{"type":602,"tag":749,"props":1707,"children":1708},{"style":773},[1709],{"type":607,"value":921},{"type":602,"tag":749,"props":1711,"children":1712},{"style":767},[1713],{"type":607,"value":868},{"type":602,"tag":749,"props":1715,"children":1716},{"style":773},[1717],{"type":607,"value":1536},{"type":602,"tag":749,"props":1719,"children":1720},{"style":767},[1721],{"type":607,"value":1020},{"type":602,"tag":749,"props":1723,"children":1724},{"style":773},[1725],{"type":607,"value":921},{"type":602,"tag":749,"props":1727,"children":1728},{"style":767},[1729],{"type":607,"value":868},{"type":602,"tag":749,"props":1731,"children":1732},{"style":773},[1733],{"type":607,"value":1536},{"type":602,"tag":749,"props":1735,"children":1736},{"style":767},[1737],{"type":607,"value":1693},{"type":607,"value":794},{"type":602,"tag":749,"props":1740,"children":1741},{"class":751,"style":752},[1742,1746,1750,1754,1758,1763,1767,1772,1776],{"type":602,"tag":749,"props":1743,"children":1744},{"style":773},[1745],{"type":607,"value":1670},{"type":602,"tag":749,"props":1747,"children":1748},{"style":767},[1749],{"type":607,"value":868},{"type":602,"tag":749,"props":1751,"children":1752},{"style":773},[1753],{"type":607,"value":921},{"type":602,"tag":749,"props":1755,"children":1756},{"style":767},[1757],{"type":607,"value":868},{"type":602,"tag":749,"props":1759,"children":1760},{"style":773},[1761],{"type":607,"value":1762},"paginationOpts",{"type":602,"tag":749,"props":1764,"children":1765},{"style":767},[1766],{"type":607,"value":868},{"type":602,"tag":749,"props":1768,"children":1769},{"style":773},[1770],{"type":607,"value":1771},"cursor",{"type":602,"tag":749,"props":1773,"children":1774},{"style":767},[1775],{"type":607,"value":1020},{"type":602,"tag":749,"props":1777,"children":1778},{"style":834},[1779],{"type":607,"value":1780},"null",{"type":607,"value":794},{"type":602,"tag":749,"props":1783,"children":1784},{"class":751,"style":752},[1785],{"type":602,"tag":749,"props":1786,"children":1787},{"style":767},[1788],{"type":607,"value":1789},"      ) {",{"type":607,"value":794},{"type":602,"tag":749,"props":1792,"children":1793},{"class":751,"style":752},[1794,1799,1803,1807,1811,1815,1819,1823,1827,1831,1835,1840,1844,1848],{"type":602,"tag":749,"props":1795,"children":1796},{"style":773},[1797],{"type":607,"value":1798},"        store",{"type":602,"tag":749,"props":1800,"children":1801},{"style":767},[1802],{"type":607,"value":868},{"type":602,"tag":749,"props":1804,"children":1805},{"style":851},[1806],{"type":607,"value":1218},{"type":602,"tag":749,"props":1808,"children":1809},{"style":767},[1810],{"type":607,"value":859},{"type":602,"tag":749,"props":1812,"children":1813},{"style":773},[1814],{"type":607,"value":810},{"type":602,"tag":749,"props":1816,"children":1817},{"style":767},[1818],{"type":607,"value":868},{"type":602,"tag":749,"props":1820,"children":1821},{"style":773},[1822],{"type":607,"value":1375},{"type":602,"tag":749,"props":1824,"children":1825},{"style":767},[1826],{"type":607,"value":868},{"type":602,"tag":749,"props":1828,"children":1829},{"style":773},[1830],{"type":607,"value":992},{"type":602,"tag":749,"props":1832,"children":1833},{"style":767},[1834],{"type":607,"value":916},{"type":602,"tag":749,"props":1836,"children":1837},{"style":773},[1838],{"type":607,"value":1839},"loaded",{"type":602,"tag":749,"props":1841,"children":1842},{"style":767},[1843],{"type":607,"value":868},{"type":602,"tag":749,"props":1845,"children":1846},{"style":773},[1847],{"type":607,"value":921},{"type":602,"tag":749,"props":1849,"children":1850},{"style":767},[1851],{"type":607,"value":887},{"type":607,"value":794},{"type":602,"tag":749,"props":1854,"children":1855},{"class":751,"style":752},[1856,1861,1865,1869,1873],{"type":602,"tag":749,"props":1857,"children":1858},{"style":767},[1859],{"type":607,"value":1860},"          ...",{"type":602,"tag":749,"props":1862,"children":1863},{"style":773},[1864],{"type":607,"value":1839},{"type":602,"tag":749,"props":1866,"children":1867},{"style":767},[1868],{"type":607,"value":868},{"type":602,"tag":749,"props":1870,"children":1871},{"style":773},[1872],{"type":607,"value":1679},{"type":602,"tag":749,"props":1874,"children":1875},{"style":767},[1876],{"type":607,"value":1169},{"type":607,"value":794},{"type":602,"tag":749,"props":1879,"children":1880},{"class":751,"style":752},[1881,1886,1891,1896,1900,1904,1908,1912,1916,1921],{"type":602,"tag":749,"props":1882,"children":1883},{"style":773},[1884],{"type":607,"value":1885},"          page:",{"type":602,"tag":749,"props":1887,"children":1888},{"style":767},[1889],{"type":607,"value":1890}," [",{"type":602,"tag":749,"props":1892,"children":1893},{"style":773},[1894],{"type":607,"value":1895},"optimisticMessage",{"type":602,"tag":749,"props":1897,"children":1898},{"style":767},[1899],{"type":607,"value":1257},{"type":602,"tag":749,"props":1901,"children":1902},{"style":773},[1903],{"type":607,"value":1839},{"type":602,"tag":749,"props":1905,"children":1906},{"style":767},[1907],{"type":607,"value":868},{"type":602,"tag":749,"props":1909,"children":1910},{"style":773},[1911],{"type":607,"value":1679},{"type":602,"tag":749,"props":1913,"children":1914},{"style":767},[1915],{"type":607,"value":868},{"type":602,"tag":749,"props":1917,"children":1918},{"style":773},[1919],{"type":607,"value":1920},"page",{"type":602,"tag":749,"props":1922,"children":1923},{"style":767},[1924],{"type":607,"value":1925},"],",{"type":607,"value":794},{"type":602,"tag":749,"props":1928,"children":1929},{"class":751,"style":752},[1930],{"type":602,"tag":749,"props":1931,"children":1932},{"style":767},[1933],{"type":607,"value":1934},"        })",{"type":607,"value":794},{"type":602,"tag":749,"props":1937,"children":1938},{"class":751,"style":752},[1939],{"type":602,"tag":749,"props":1940,"children":1941},{"style":767},[1942],{"type":607,"value":1943},"      }",{"type":607,"value":794},{"type":602,"tag":749,"props":1946,"children":1947},{"class":751,"style":752},[1948],{"type":602,"tag":749,"props":1949,"children":1950},{"style":767},[1951],{"type":607,"value":1196},{"type":607,"value":794},{"type":602,"tag":749,"props":1954,"children":1955},{"class":751,"style":752},[],{"type":607,"value":794},{"type":602,"tag":749,"props":1958,"children":1959},{"class":751,"style":752},[1960,1964],{"type":602,"tag":749,"props":1961,"children":1962},{"style":756},[1963],{"type":607,"value":1275},{"type":602,"tag":749,"props":1965,"children":1966},{"style":834},[1967],{"type":607,"value":1038},{"type":607,"value":794},{"type":602,"tag":749,"props":1970,"children":1971},{"class":751,"style":752},[1972],{"type":602,"tag":749,"props":1973,"children":1974},{"style":767},[1975],{"type":607,"value":1288},{"type":607,"value":794},{"type":602,"tag":749,"props":1978,"children":1979},{"class":751,"style":752},[1980],{"type":602,"tag":749,"props":1981,"children":1982},{"style":767},[1983],{"type":607,"value":1297},{"type":602,"tag":603,"props":1985,"children":1986},{},[1987],{"type":607,"value":1988},"This does not create unloaded pages or change backend ordering. More complex pagination edits must preserve page boundaries and are often clearer when left to the confirmed live result.",{"type":602,"tag":633,"props":1990,"children":1992},{"id":1991},"failure-and-identity-behavior",[1993],{"type":607,"value":1994},"Failure and identity behavior",{"type":602,"tag":603,"props":1996,"children":1997},{},[1998],{"type":607,"value":1999},"Convex owns rollback. Do not manually undo the same optimistic change in a catch block.",{"type":602,"tag":603,"props":2001,"children":2002},{},[2003,2005,2010],{"type":607,"value":2004},"An ",{"type":602,"tag":618,"props":2006,"children":2007},{},[2008],{"type":607,"value":2009},"auth: 'none'",{"type":607,"value":2011}," query uses a physically separate anonymous Convex client and local store. A mutation on the primary client cannot update that anonymous view; it reconciles when its server result arrives.",{"type":602,"tag":603,"props":2013,"children":2014},{},[2015],{"type":607,"value":2016},"Identity changes retire the old client, including its optimistic state. A mutation that crossed the identity boundary may have committed remotely even though the local call rejects. Do not automatically replay it.",{"title":2018,"searchDepth":2019,"depth":2019,"links":2020},"",4,[2021,2023,2024,2025],{"id":635,"depth":2022,"text":638},2,{"id":734,"depth":2022,"text":737},{"id":1324,"depth":2022,"text":1327},{"id":1991,"depth":2022,"text":1994},"markdown","docs",{"source":2029,"path":2030,"stem":2031,"dir":2032,"extension":2033},"content","docs\u002F4.build\u002F2.write-data\u002F3.optimistic-updates.md","docs\u002F4.build\u002F2.write-data\u002F3.optimistic-updates","write-data","md",{"requestedPath":257,"resolvedPath":257,"alternates":2035},[],{"requested":2037,"resolved":2038,"usedFallback":6},{},{"locale":8},{"previous":2040,"next":2042},{"title":245,"id":246,"canonicalKey":247,"locale":8,"draft":6,"navigation":2041,"icon":249,"path":250},{"icon":249},{"title":259,"id":260,"canonicalKey":261,"locale":8,"draft":6,"navigation":2043,"icon":263,"path":264},{"icon":263},{"left":2045,"top":2045,"width":2046,"height":2046,"rotate":2045,"vFlip":6,"hFlip":6,"body":2047},0,256,"\u003Cpath fill=\"#3178c6\" d=\"M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0\"\u002F>\u003Cpath fill=\"#fff\" d=\"M150.518 200.475v27.62q6.738 3.453 15.938 5.179T185.849 235q9.934 0 18.874-1.899t15.678-6.257q6.738-4.359 10.669-11.394q3.93-7.033 3.93-17.391q0-7.51-2.246-13.163a30.8 30.8 0 0 0-6.479-10.055q-4.232-4.402-10.149-7.898t-13.347-6.602q-5.442-2.245-9.761-4.359t-7.342-4.316q-3.024-2.2-4.665-4.661t-1.641-5.567q0-2.848 1.468-5.135q1.469-2.288 4.147-3.927t6.565-2.547q3.887-.906 8.638-.906q3.456 0 7.299.518q3.844.517 7.732 1.597a54 54 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807q-6.306-2.417-13.778-3.582T198.633 107q-9.847 0-18.658 2.115q-8.811 2.114-15.506 6.602q-6.694 4.49-10.582 11.437Q150 134.102 150 143.769q0 12.342 7.127 21.06t21.638 14.759a292 292 0 0 1 10.625 4.575q4.924 2.244 8.509 4.66t5.658 5.265t2.073 6.474a9.9 9.9 0 0 1-1.296 4.963q-1.295 2.287-3.93 3.97t-6.565 2.632t-9.2.95q-8.983 0-17.794-3.151t-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z\"\u002F>",{"left":2045,"top":2045,"width":2049,"height":2049,"rotate":2045,"vFlip":6,"hFlip":6,"body":2050},24,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1786627517141]