[{"data":1,"prerenderedAt":1738},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:_WQmUA3He1nUv9jJIMWQ-Ldjdz7G5VCPNzRk2xi98Dk":576,"content-page-surround:docs:_WQmUA3He1nUv9jJIMWQ-Ldjdz7G5VCPNzRk2xi98Dk":1726,"i-logos:typescript-icon":1731,"i-lucide:clipboard":1735},[4,52,119,179,425,482,533],{"title":5,"page":6,"canonicalKey":7,"locale":8,"children":9},"Overview",false,"docs\u002F1","en",[10,17,24,31,38,45],{"title":11,"id":12,"canonicalKey":13,"locale":8,"draft":6,"navigation":14,"icon":15,"path":16},"Better Convex Nuxt","content:docs:1.overview:1.introduction.md","docs\u002F1\u002F1",{"icon":15},"i-lucide-orbit","\u002Fdocs\u002Foverview\u002Fintroduction",{"title":18,"id":19,"canonicalKey":20,"locale":8,"draft":6,"navigation":21,"icon":22,"path":23},"Why Better Convex Nuxt","content:docs:1.overview:2.why-better-convex-nuxt.md","docs\u002F1\u002F2",{"icon":22},"i-lucide-badge-check","\u002Fdocs\u002Foverview\u002Fwhy-better-convex-nuxt",{"title":25,"id":26,"canonicalKey":27,"locale":8,"draft":6,"navigation":28,"icon":29,"path":30},"Who It Is For","content:docs:1.overview:3.who-it-is-for.md","docs\u002F1\u002F3",{"icon":29},"i-lucide-users","\u002Fdocs\u002Foverview\u002Fwho-it-is-for",{"title":32,"id":33,"canonicalKey":34,"locale":8,"draft":6,"navigation":35,"icon":36,"path":37},"Use Cases","content:docs:1.overview:4.use-cases.md","docs\u002F1\u002F4",{"icon":36},"i-lucide-layout-dashboard","\u002Fdocs\u002Foverview\u002Fuse-cases",{"title":39,"id":40,"canonicalKey":41,"locale":8,"draft":6,"navigation":42,"icon":43,"path":44},"Compare Nuxt Integrations","content:docs:1.overview:5.comparison.md","docs\u002F1\u002F5",{"icon":43},"i-lucide-scale","\u002Fdocs\u002Foverview\u002Fcomparison",{"title":46,"id":47,"canonicalKey":48,"locale":8,"draft":6,"navigation":49,"icon":50,"path":51},"Limitations and Trade-offs","content:docs:1.overview:6.limitations.md","docs\u002F1\u002F6",{"icon":50},"i-lucide-triangle-alert","\u002Fdocs\u002Foverview\u002Flimitations",{"title":53,"page":6,"canonicalKey":54,"locale":8,"children":55},"Understand","docs\u002F2",[56,63,70,77,84,91,98,105,112],{"title":57,"id":58,"canonicalKey":59,"locale":8,"draft":6,"navigation":60,"icon":61,"path":62},"Mental Model","content:docs:2.understand:1.mental-model.md","docs\u002F2\u002F1",{"icon":61},"i-lucide-brain","\u002Fdocs\u002Funderstand\u002Fmental-model",{"title":64,"id":65,"canonicalKey":66,"locale":8,"draft":6,"navigation":67,"icon":68,"path":69},"Request Lifecycle","content:docs:2.understand:2.request-lifecycle.md","docs\u002F2\u002F2",{"icon":68},"i-lucide-route","\u002Fdocs\u002Funderstand\u002Frequest-lifecycle",{"title":71,"id":72,"canonicalKey":73,"locale":8,"draft":6,"navigation":74,"icon":75,"path":76},"SSR, Hydration, and Real-Time","content:docs:2.understand:3.ssr-hydration-realtime.md","docs\u002F2\u002F3",{"icon":75},"i-lucide-refresh-cw","\u002Fdocs\u002Funderstand\u002Fssr-hydration-realtime",{"title":78,"id":79,"canonicalKey":80,"locale":8,"draft":6,"navigation":81,"icon":82,"path":83},"Query Ownership and Caching","content:docs:2.understand:4.query-ownership-and-caching.md","docs\u002F2\u002F4",{"icon":82},"i-lucide-database","\u002Fdocs\u002Funderstand\u002Fquery-ownership-and-caching",{"title":85,"id":86,"canonicalKey":87,"locale":8,"draft":6,"navigation":88,"icon":89,"path":90},"Authentication and Identity","content:docs:2.understand:5.authentication-and-identity.md","docs\u002F2\u002F5",{"icon":89},"i-lucide-fingerprint","\u002Fdocs\u002Funderstand\u002Fauthentication-and-identity",{"title":92,"id":93,"canonicalKey":94,"locale":8,"draft":6,"navigation":95,"icon":96,"path":97},"Server and Client Boundaries","content:docs:2.understand:6.server-and-client-boundaries.md","docs\u002F2\u002F6",{"icon":96},"i-lucide-panels-top-left","\u002Fdocs\u002Funderstand\u002Fserver-and-client-boundaries",{"title":99,"id":100,"canonicalKey":101,"locale":8,"draft":6,"navigation":102,"icon":103,"path":104},"Errors and Failures","content:docs:2.understand:7.errors-and-failures.md","docs\u002F2\u002F7",{"icon":103},"i-lucide-circle-x","\u002Fdocs\u002Funderstand\u002Ferrors-and-failures",{"title":106,"id":107,"canonicalKey":108,"locale":8,"draft":6,"navigation":109,"icon":110,"path":111},"Design Decisions","content:docs:2.understand:8.design-decisions.md","docs\u002F2\u002F8",{"icon":110},"i-lucide-git-branch","\u002Fdocs\u002Funderstand\u002Fdesign-decisions",{"title":113,"id":114,"canonicalKey":115,"locale":8,"draft":6,"navigation":116,"icon":117,"path":118},"Glossary","content:docs:2.understand:9.glossary.md","docs\u002F2\u002F9",{"icon":117},"i-lucide-book-a","\u002Fdocs\u002Funderstand\u002Fglossary",{"title":120,"page":6,"canonicalKey":121,"locale":8,"children":122},"Get Started","docs\u002F3",[123,130,137,144,151,158,165,172],{"title":124,"id":125,"canonicalKey":126,"locale":8,"draft":6,"navigation":127,"icon":128,"path":129},"Choose Your Path","content:docs:3.get-started:1.choose-your-path.md","docs\u002F3\u002F1",{"icon":128},"i-lucide-signpost","\u002Fdocs\u002Fget-started\u002Fchoose-your-path",{"title":131,"id":132,"canonicalKey":133,"locale":8,"draft":6,"navigation":134,"icon":135,"path":136},"Installation","content:docs:3.get-started:2.installation.md","docs\u002F3\u002F2",{"icon":135},"i-lucide-download","\u002Fdocs\u002Fget-started\u002Finstallation",{"title":138,"id":139,"canonicalKey":140,"locale":8,"draft":6,"navigation":141,"icon":142,"path":143},"First Real-Time Page","content:docs:3.get-started:3.first-realtime-page.md","docs\u002F3\u002F3",{"icon":142},"i-lucide-radio","\u002Fdocs\u002Fget-started\u002Ffirst-realtime-page",{"title":145,"id":146,"canonicalKey":147,"locale":8,"draft":6,"navigation":148,"icon":149,"path":150},"Add a Mutation","content:docs:3.get-started:4.add-a-mutation.md","docs\u002F3\u002F4",{"icon":149},"i-lucide-square-pen","\u002Fdocs\u002Fget-started\u002Fadd-a-mutation",{"title":152,"id":153,"canonicalKey":154,"locale":8,"draft":6,"navigation":155,"icon":156,"path":157},"Add Authentication","content:docs:3.get-started:5.add-authentication.md","docs\u002F3\u002F5",{"icon":156},"i-lucide-log-in","\u002Fdocs\u002Fget-started\u002Fadd-authentication",{"title":159,"id":160,"canonicalKey":161,"locale":8,"draft":6,"navigation":162,"icon":163,"path":164},"Protect Data","content:docs:3.get-started:6.protect-data.md","docs\u002F3\u002F6",{"icon":163},"i-lucide-shield-check","\u002Fdocs\u002Fget-started\u002Fprotect-data",{"title":166,"id":167,"canonicalKey":168,"locale":8,"draft":6,"navigation":169,"icon":170,"path":171},"Project Structure","content:docs:3.get-started:7.project-structure.md","docs\u002F3\u002F7",{"icon":170},"i-lucide-folder-tree","\u002Fdocs\u002Fget-started\u002Fproject-structure",{"title":173,"id":174,"canonicalKey":175,"locale":8,"draft":6,"navigation":176,"icon":177,"path":178},"Next Steps","content:docs:3.get-started:8.next-steps.md","docs\u002F3\u002F8",{"icon":177},"i-lucide-arrow-right","\u002Fdocs\u002Fget-started\u002Fnext-steps",{"title":180,"page":6,"canonicalKey":181,"locale":8,"children":182},"Build","docs\u002F4",[183,227,258,322,354,386],{"title":184,"page":6,"canonicalKey":185,"locale":8,"children":186},"Queries","docs\u002F4\u002F1",[187,192,199,206,213,220],{"title":184,"id":188,"canonicalKey":189,"locale":8,"draft":6,"navigation":190,"icon":82,"path":191},"content:docs:4.build:1.queries:1.queries.md","docs\u002F4\u002F1\u002F1",{"icon":82},"\u002Fdocs\u002Fbuild\u002Fqueries\u002Fqueries",{"title":193,"id":194,"canonicalKey":195,"locale":8,"draft":6,"navigation":196,"icon":197,"path":198},"Reactive Arguments","content:docs:4.build:1.queries:2.reactive-arguments.md","docs\u002F4\u002F1\u002F2",{"icon":197},"i-lucide-sliders-horizontal","\u002Fdocs\u002Fbuild\u002Fqueries\u002Freactive-arguments",{"title":200,"id":201,"canonicalKey":202,"locale":8,"draft":6,"navigation":203,"icon":204,"path":205},"Loading and Stale Data","content:docs:4.build:1.queries:3.loading-and-stale-data.md","docs\u002F4\u002F1\u002F3",{"icon":204},"i-lucide-loader-circle","\u002Fdocs\u002Fbuild\u002Fqueries\u002Floading-and-stale-data",{"title":207,"id":208,"canonicalKey":209,"locale":8,"draft":6,"navigation":210,"icon":211,"path":212},"Query Execution Options","content:docs:4.build:1.queries:4.ssr-options.md","docs\u002F4\u002F1\u002F4",{"icon":211},"i-lucide-server-cog","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fssr-options",{"title":214,"id":215,"canonicalKey":216,"locale":8,"draft":6,"navigation":217,"icon":218,"path":219},"Share Query State","content:docs:4.build:1.queries:5.sharing-query-state.md","docs\u002F4\u002F1\u002F5",{"icon":218},"i-lucide-share-2","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fsharing-query-state",{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"navigation":224,"icon":225,"path":226},"Pagination","content:docs:4.build:1.queries:6.pagination.md","docs\u002F4\u002F1\u002F6",{"icon":225},"i-lucide-list-plus","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fpagination",{"title":228,"page":6,"canonicalKey":229,"locale":8,"children":230},"Write Data","docs\u002F4\u002F2",[231,237,244,251],{"title":232,"id":233,"canonicalKey":234,"locale":8,"draft":6,"navigation":235,"icon":149,"path":236},"Mutations","content:docs:4.build:2.write-data:1.mutations.md","docs\u002F4\u002F2\u002F1",{"icon":149},"\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fmutations",{"title":238,"id":239,"canonicalKey":240,"locale":8,"draft":6,"navigation":241,"icon":242,"path":243},"Actions","content:docs:4.build:2.write-data:2.actions.md","docs\u002F4\u002F2\u002F2",{"icon":242},"i-lucide-zap","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Factions",{"title":245,"id":246,"canonicalKey":247,"locale":8,"draft":6,"navigation":248,"icon":249,"path":250},"Optimistic Updates","content:docs:4.build:2.write-data:3.optimistic-updates.md","docs\u002F4\u002F2\u002F3",{"icon":249},"i-lucide-gauge","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Foptimistic-updates",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"navigation":255,"icon":256,"path":257},"Concurrent Operations","content:docs:4.build:2.write-data:4.concurrent-operations.md","docs\u002F4\u002F2\u002F4",{"icon":256},"i-lucide-git-fork","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fconcurrent-operations",{"title":259,"page":6,"canonicalKey":260,"locale":8,"children":261},"Authentication","docs\u002F4\u002F3",[262,268,275,282,288,294,301,308,315],{"title":259,"id":263,"canonicalKey":264,"locale":8,"draft":6,"navigation":265,"icon":266,"path":267},"content:docs:4.build:3.authentication:1.overview.md","docs\u002F4\u002F3\u002F1",{"icon":266},"i-lucide-shield","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Foverview",{"title":269,"id":270,"canonicalKey":271,"locale":8,"draft":6,"navigation":272,"icon":273,"path":274},"Better Auth Setup","content:docs:4.build:3.authentication:2.better-auth-setup.md","docs\u002F4\u002F3\u002F2",{"icon":273},"i-lucide-settings-2","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-setup",{"title":276,"id":277,"canonicalKey":278,"locale":8,"draft":6,"navigation":279,"icon":280,"path":281},"Auth State and User Data","content:docs:4.build:3.authentication:3.auth-state-and-user.md","docs\u002F4\u002F3\u002F3",{"icon":280},"i-lucide-user-round","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fauth-state-and-user",{"title":283,"id":284,"canonicalKey":285,"locale":8,"draft":6,"navigation":286,"icon":156,"path":287},"Sign In and Sign Out","content:docs:4.build:3.authentication:4.sign-in-and-sign-out.md","docs\u002F4\u002F3\u002F4",{"icon":156},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fsign-in-and-sign-out",{"title":289,"id":290,"canonicalKey":291,"locale":8,"draft":6,"navigation":292,"icon":68,"path":293},"Route Protection","content:docs:4.build:3.authentication:5.route-protection.md","docs\u002F4\u002F3\u002F5",{"icon":68},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Froute-protection",{"title":295,"id":296,"canonicalKey":297,"locale":8,"draft":6,"navigation":298,"icon":299,"path":300},"Backend Authorization","content:docs:4.build:3.authentication:6.backend-authorization.md","docs\u002F4\u002F3\u002F6",{"icon":299},"i-lucide-lock-keyhole","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbackend-authorization",{"title":302,"id":303,"canonicalKey":304,"locale":8,"draft":6,"navigation":305,"icon":306,"path":307},"Better Auth Plugins","content:docs:4.build:3.authentication:7.better-auth-plugins.md","docs\u002F4\u002F3\u002F7",{"icon":306},"i-lucide-plug","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-plugins",{"title":309,"id":310,"canonicalKey":311,"locale":8,"draft":6,"navigation":312,"icon":313,"path":314},"Custom User Fields","content:docs:4.build:3.authentication:8.custom-user-fields.md","docs\u002F4\u002F3\u002F8",{"icon":313},"i-lucide-user-cog","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fcustom-user-fields",{"title":316,"id":317,"canonicalKey":318,"locale":8,"draft":6,"navigation":319,"icon":320,"path":321},"User Synchronization","content:docs:4.build:3.authentication:9.user-synchronization.md","docs\u002F4\u002F3\u002F9",{"icon":320},"i-lucide-refresh-ccw","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fuser-synchronization",{"title":323,"page":6,"canonicalKey":324,"locale":8,"children":325},"Server","docs\u002F4\u002F4",[326,333,340,347],{"title":327,"id":328,"canonicalKey":329,"locale":8,"draft":6,"navigation":330,"icon":331,"path":332},"serverConvex","content:docs:4.build:4.server:1.server-convex.md","docs\u002F4\u002F4\u002F1",{"icon":331},"i-lucide-server","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-convex",{"title":334,"id":335,"canonicalKey":336,"locale":8,"draft":6,"navigation":337,"icon":338,"path":339},"Server Routes","content:docs:4.build:4.server:2.server-routes.md","docs\u002F4\u002F4\u002F2",{"icon":338},"i-lucide-waypoints","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-routes",{"title":341,"id":342,"canonicalKey":343,"locale":8,"draft":6,"navigation":344,"icon":345,"path":346},"Webhooks and Jobs","content:docs:4.build:4.server:3.webhooks-and-jobs.md","docs\u002F4\u002F4\u002F3",{"icon":345},"i-lucide-webhook","\u002Fdocs\u002Fbuild\u002Fserver\u002Fwebhooks-and-jobs",{"title":348,"id":349,"canonicalKey":350,"locale":8,"draft":6,"navigation":351,"icon":352,"path":353},"Credentials and Server Security","content:docs:4.build:4.server:4.credentials-and-security.md","docs\u002F4\u002F4\u002F4",{"icon":352},"i-lucide-key-round","\u002Fdocs\u002Fbuild\u002Fserver\u002Fcredentials-and-security",{"title":355,"page":6,"canonicalKey":356,"locale":8,"children":357},"Files","docs\u002F4\u002F5",[358,365,372,379],{"title":359,"id":360,"canonicalKey":361,"locale":8,"draft":6,"navigation":362,"icon":363,"path":364},"Upload Files","content:docs:4.build:5.files:1.upload-files.md","docs\u002F4\u002F5\u002F1",{"icon":363},"i-lucide-upload","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fupload-files",{"title":366,"id":367,"canonicalKey":368,"locale":8,"draft":6,"navigation":369,"icon":370,"path":371},"Upload Queues","content:docs:4.build:5.files:2.upload-queues.md","docs\u002F4\u002F5\u002F2",{"icon":370},"i-lucide-list-checks","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fupload-queues",{"title":373,"id":374,"canonicalKey":375,"locale":8,"draft":6,"navigation":376,"icon":377,"path":378},"Storage URLs","content:docs:4.build:5.files:3.storage-urls.md","docs\u002F4\u002F5\u002F3",{"icon":377},"i-lucide-link","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fstorage-urls",{"title":380,"id":381,"canonicalKey":382,"locale":8,"draft":6,"navigation":383,"icon":384,"path":385},"File Validation and Deletion","content:docs:4.build:5.files:4.validation-and-deletion.md","docs\u002F4\u002F5\u002F4",{"icon":384},"i-lucide-file-x","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fvalidation-and-deletion",{"title":387,"page":6,"canonicalKey":388,"locale":8,"children":389},"Application Behavior","docs\u002F4\u002F6",[390,397,404,411,418],{"title":391,"id":392,"canonicalKey":393,"locale":8,"draft":6,"navigation":394,"icon":395,"path":396},"Connection State","content:docs:4.build:6.application-behavior:1.connection-state.md","docs\u002F4\u002F6\u002F1",{"icon":395},"i-lucide-wifi","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fconnection-state",{"title":398,"id":399,"canonicalKey":400,"locale":8,"draft":6,"navigation":401,"icon":402,"path":403},"Error Handling","content:docs:4.build:6.application-behavior:2.error-handling.md","docs\u002F4\u002F6\u002F2",{"icon":402},"i-lucide-circle-alert","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Ferror-handling",{"title":405,"id":406,"canonicalKey":407,"locale":8,"draft":6,"navigation":408,"icon":409,"path":410},"Logging","content:docs:4.build:6.application-behavior:3.logging.md","docs\u002F4\u002F6\u002F3",{"icon":409},"i-lucide-scroll-text","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Flogging",{"title":412,"id":413,"canonicalKey":414,"locale":8,"draft":6,"navigation":415,"icon":416,"path":417},"DevTools","content:docs:4.build:6.application-behavior:4.devtools.md","docs\u002F4\u002F6\u002F4",{"icon":416},"i-lucide-wrench","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fdevtools",{"title":419,"id":420,"canonicalKey":421,"locale":8,"draft":6,"navigation":422,"icon":423,"path":424},"Performance","content:docs:4.build:6.application-behavior:5.performance.md","docs\u002F4\u002F6\u002F5",{"icon":423},"i-lucide-chart-no-axes-combined","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fperformance",{"title":426,"page":6,"canonicalKey":427,"locale":8,"children":428},"Recipes","docs\u002F5",[429,435,442,449,456,463,470,476],{"title":430,"id":431,"canonicalKey":432,"locale":8,"draft":6,"navigation":433,"icon":36,"path":434},"Protected Dashboard","content:docs:5.recipes:1.protected-dashboard.md","docs\u002F5\u002F1",{"icon":36},"\u002Fdocs\u002Frecipes\u002Fprotected-dashboard",{"title":436,"id":437,"canonicalKey":438,"locale":8,"draft":6,"navigation":439,"icon":440,"path":441},"Real-Time Feed","content:docs:5.recipes:2.realtime-feed.md","docs\u002F5\u002F2",{"icon":440},"i-lucide-messages-square","\u002Fdocs\u002Frecipes\u002Frealtime-feed",{"title":443,"id":444,"canonicalKey":445,"locale":8,"draft":6,"navigation":446,"icon":447,"path":448},"Optimistic Todo List","content:docs:5.recipes:3.optimistic-todo-list.md","docs\u002F5\u002F3",{"icon":447},"i-lucide-list-todo","\u002Fdocs\u002Frecipes\u002Foptimistic-todo-list",{"title":450,"id":451,"canonicalKey":452,"locale":8,"draft":6,"navigation":453,"icon":454,"path":455},"Infinite Scroll","content:docs:5.recipes:4.infinite-scroll.md","docs\u002F5\u002F4",{"icon":454},"i-lucide-mouse","\u002Fdocs\u002Frecipes\u002Finfinite-scroll",{"title":457,"id":458,"canonicalKey":459,"locale":8,"draft":6,"navigation":460,"icon":461,"path":462},"File Upload Form","content:docs:5.recipes:5.file-upload-form.md","docs\u002F5\u002F5",{"icon":461},"i-lucide-file-up","\u002Fdocs\u002Frecipes\u002Ffile-upload-form",{"title":464,"id":465,"canonicalKey":466,"locale":8,"draft":6,"navigation":467,"icon":468,"path":469},"Organization Permissions","content:docs:5.recipes:6.organization-permissions.md","docs\u002F5\u002F6",{"icon":468},"i-lucide-building-2","\u002Fdocs\u002Frecipes\u002Forganization-permissions",{"title":471,"id":472,"canonicalKey":473,"locale":8,"draft":6,"navigation":474,"icon":331,"path":475},"Authenticated Server Route","content:docs:5.recipes:7.authenticated-server-route.md","docs\u002F5\u002F7",{"icon":331},"\u002Fdocs\u002Frecipes\u002Fauthenticated-server-route",{"title":477,"id":478,"canonicalKey":479,"locale":8,"draft":6,"navigation":480,"icon":96,"path":481},"Public and Private Data","content:docs:5.recipes:8.public-and-private-data.md","docs\u002F5\u002F8",{"icon":96},"\u002Fdocs\u002Frecipes\u002Fpublic-and-private-data",{"title":483,"page":6,"canonicalKey":484,"locale":8,"children":485},"Reference","docs\u002F6",[486,493,500,506,512,519,526],{"title":487,"id":488,"canonicalKey":489,"locale":8,"draft":6,"navigation":490,"icon":491,"path":492},"Composables","content:docs:6.reference:1.composables.md","docs\u002F6\u002F1",{"icon":491},"i-lucide-braces","\u002Fdocs\u002Freference\u002Fcomposables",{"title":494,"id":495,"canonicalKey":496,"locale":8,"draft":6,"navigation":497,"icon":498,"path":499},"Auth Components","content:docs:6.reference:2.auth-components.md","docs\u002F6\u002F2",{"icon":498},"i-lucide-component","\u002Fdocs\u002Freference\u002Fauth-components",{"title":501,"id":502,"canonicalKey":503,"locale":8,"draft":6,"navigation":504,"icon":331,"path":505},"Server API","content:docs:6.reference:3.server-api.md","docs\u002F6\u002F3",{"icon":331},"\u002Fdocs\u002Freference\u002Fserver-api",{"title":507,"id":508,"canonicalKey":509,"locale":8,"draft":6,"navigation":510,"icon":103,"path":511},"Error Types","content:docs:6.reference:4.error-types.md","docs\u002F6\u002F4",{"icon":103},"\u002Fdocs\u002Freference\u002Ferror-types",{"title":513,"id":514,"canonicalKey":515,"locale":8,"draft":6,"navigation":516,"icon":517,"path":518},"Module Configuration","content:docs:6.reference:5.module-configuration.md","docs\u002F6\u002F5",{"icon":517},"i-lucide-settings","\u002Fdocs\u002Freference\u002Fmodule-configuration",{"title":520,"id":521,"canonicalKey":522,"locale":8,"draft":6,"navigation":523,"icon":524,"path":525},"Package Exports","content:docs:6.reference:6.package-exports.md","docs\u002F6\u002F6",{"icon":524},"i-lucide-package-open","\u002Fdocs\u002Freference\u002Fpackage-exports",{"title":527,"id":528,"canonicalKey":529,"locale":8,"draft":6,"navigation":530,"icon":531,"path":532},"API Surface","content:docs:6.reference:7.api-surface.md","docs\u002F6\u002F7",{"icon":531},"i-lucide-list","\u002Fdocs\u002Freference\u002Fapi-surface",{"title":534,"page":6,"canonicalKey":535,"locale":8,"children":536},"Operations","docs\u002F7",[537,544,551,557,563,570],{"title":538,"id":539,"canonicalKey":540,"locale":8,"draft":6,"navigation":541,"icon":542,"path":543},"Environment Variables","content:docs:7.operations:1.environment-variables.md","docs\u002F7\u002F1",{"icon":542},"i-lucide-variable","\u002Fdocs\u002Foperations\u002Fenvironment-variables",{"title":545,"id":546,"canonicalKey":547,"locale":8,"draft":6,"navigation":548,"icon":549,"path":550},"Deployment","content:docs:7.operations:2.deployment.md","docs\u002F7\u002F2",{"icon":549},"i-lucide-rocket","\u002Fdocs\u002Foperations\u002Fdeployment",{"title":552,"id":553,"canonicalKey":554,"locale":8,"draft":6,"navigation":555,"icon":163,"path":556},"Security Model","content:docs:7.operations:3.security-model.md","docs\u002F7\u002F3",{"icon":163},"\u002Fdocs\u002Foperations\u002Fsecurity-model",{"title":558,"id":559,"canonicalKey":560,"locale":8,"draft":6,"navigation":561,"icon":416,"path":562},"Troubleshooting","content:docs:7.operations:4.troubleshooting.md","docs\u002F7\u002F4",{"icon":416},"\u002Fdocs\u002Foperations\u002Ftroubleshooting",{"title":564,"id":565,"canonicalKey":566,"locale":8,"draft":6,"navigation":567,"icon":568,"path":569},"Migration Guide","content:docs:7.operations:5.migration-guide.md","docs\u002F7\u002F5",{"icon":568},"i-lucide-git-compare-arrows","\u002Fdocs\u002Foperations\u002Fmigration-guide",{"title":571,"id":572,"canonicalKey":573,"locale":8,"draft":6,"navigation":574,"icon":22,"path":575},"Release Compatibility","content:docs:7.operations:6.release-compatibility.md","docs\u002F7\u002F6",{"icon":22},"\u002Fdocs\u002Foperations\u002Frelease-compatibility",{"title":443,"description":577,"navigation":578,"body":579,"type":1713,"id":444,"draft":6,"partial":6,"locale":8,"canonicalKey":445,"collection":1714,"navigationFile":6,"file":1715,"route":1721,"resolution":1723},"Create, toggle, and remove todos immediately with automatic rollback.",{"icon":447},{"type":580,"children":581,"toc":1702},"root",[582,591,597,603,1040,1046,1395,1401,1650,1656,1661,1667,1672,1697],{"type":583,"tag":584,"props":585,"children":587},"element","h2",{"id":586},"result",[588],{"type":589,"value":590},"text","Result",{"type":583,"tag":592,"props":593,"children":594},"p",{},[595],{"type":589,"value":596},"Todo interactions update the list before the mutation response. Convex confirmation replaces the optimistic view; failures restore the previous result.",{"type":583,"tag":584,"props":598,"children":600},{"id":599},"create",[601],{"type":589,"value":602},"Create",{"type":583,"tag":604,"props":605,"children":609},"pre",{"language":606,"class":607,"tabindex":608},"ts","shiki shiki-themes light-plus dark-plus dark:dark-plus","0",[610],{"type":583,"tag":611,"props":612,"children":614},"code",{"class":613},"language-ts",[615,679,681,729,730,743,744,779,780,793,794,806,807,840,841,849,850,905,906,933,934,959,960,977,978,986,987,1004,1005,1013,1014,1022,1023,1031,1032],{"type":583,"tag":616,"props":617,"children":620},"span",{"class":618,"style":619},"line","display: inline",[621,627,633,639,645,650,656,661,666,670,674],{"type":583,"tag":616,"props":622,"children":624},{"style":623},"color:#0000FF;--shiki-dark:#569CD6",[625],{"type":589,"value":626},"const",{"type":583,"tag":616,"props":628,"children":630},{"style":629},"color:#0070C1;--shiki-dark:#4FC1FF",[631],{"type":589,"value":632}," createTodo",{"type":583,"tag":616,"props":634,"children":636},{"style":635},"color:#000000;--shiki-dark:#D4D4D4",[637],{"type":589,"value":638}," = ",{"type":583,"tag":616,"props":640,"children":642},{"style":641},"color:#795E26;--shiki-dark:#DCDCAA",[643],{"type":589,"value":644},"useConvexMutation",{"type":583,"tag":616,"props":646,"children":647},{"style":635},[648],{"type":589,"value":649},"(",{"type":583,"tag":616,"props":651,"children":653},{"style":652},"color:#001080;--shiki-dark:#9CDCFE",[654],{"type":589,"value":655},"api",{"type":583,"tag":616,"props":657,"children":658},{"style":635},[659],{"type":589,"value":660},".",{"type":583,"tag":616,"props":662,"children":663},{"style":652},[664],{"type":589,"value":665},"todos",{"type":583,"tag":616,"props":667,"children":668},{"style":635},[669],{"type":589,"value":660},{"type":583,"tag":616,"props":671,"children":672},{"style":652},[673],{"type":589,"value":599},{"type":583,"tag":616,"props":675,"children":676},{"style":635},[677],{"type":589,"value":678},", {",{"type":589,"value":680},"\n",{"type":583,"tag":616,"props":682,"children":683},{"class":618,"style":619},[684,689,694,699,704,709,714,719,724],{"type":583,"tag":616,"props":685,"children":686},{"style":641},[687],{"type":589,"value":688},"  optimisticUpdate",{"type":583,"tag":616,"props":690,"children":691},{"style":652},[692],{"type":589,"value":693},":",{"type":583,"tag":616,"props":695,"children":696},{"style":635},[697],{"type":589,"value":698}," (",{"type":583,"tag":616,"props":700,"children":701},{"style":652},[702],{"type":589,"value":703},"store",{"type":583,"tag":616,"props":705,"children":706},{"style":635},[707],{"type":589,"value":708},", ",{"type":583,"tag":616,"props":710,"children":711},{"style":652},[712],{"type":589,"value":713},"args",{"type":583,"tag":616,"props":715,"children":716},{"style":635},[717],{"type":589,"value":718},") ",{"type":583,"tag":616,"props":720,"children":721},{"style":623},[722],{"type":589,"value":723},"=>",{"type":583,"tag":616,"props":725,"children":726},{"style":635},[727],{"type":589,"value":728}," {",{"type":589,"value":680},{"type":583,"tag":616,"props":731,"children":732},{"class":618,"style":619},[733,738],{"type":583,"tag":616,"props":734,"children":735},{"style":641},[736],{"type":589,"value":737},"    updateQuery",{"type":583,"tag":616,"props":739,"children":740},{"style":635},[741],{"type":589,"value":742},"({",{"type":589,"value":680},{"type":583,"tag":616,"props":745,"children":746},{"class":618,"style":619},[747,752,757,761,765,769,774],{"type":583,"tag":616,"props":748,"children":749},{"style":652},[750],{"type":589,"value":751},"      query:",{"type":583,"tag":616,"props":753,"children":754},{"style":652},[755],{"type":589,"value":756}," api",{"type":583,"tag":616,"props":758,"children":759},{"style":635},[760],{"type":589,"value":660},{"type":583,"tag":616,"props":762,"children":763},{"style":652},[764],{"type":589,"value":665},{"type":583,"tag":616,"props":766,"children":767},{"style":635},[768],{"type":589,"value":660},{"type":583,"tag":616,"props":770,"children":771},{"style":652},[772],{"type":589,"value":773},"list",{"type":583,"tag":616,"props":775,"children":776},{"style":635},[777],{"type":589,"value":778},",",{"type":589,"value":680},{"type":583,"tag":616,"props":781,"children":782},{"class":618,"style":619},[783,788],{"type":583,"tag":616,"props":784,"children":785},{"style":652},[786],{"type":589,"value":787},"      args:",{"type":583,"tag":616,"props":789,"children":790},{"style":635},[791],{"type":589,"value":792}," {},",{"type":589,"value":680},{"type":583,"tag":616,"props":795,"children":796},{"class":618,"style":619},[797,802],{"type":583,"tag":616,"props":798,"children":799},{"style":652},[800],{"type":589,"value":801},"      store",{"type":583,"tag":616,"props":803,"children":804},{"style":635},[805],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":808,"children":809},{"class":618,"style":619},[810,815,819,823,827,831,835],{"type":583,"tag":616,"props":811,"children":812},{"style":641},[813],{"type":589,"value":814},"      updater",{"type":583,"tag":616,"props":816,"children":817},{"style":652},[818],{"type":589,"value":693},{"type":583,"tag":616,"props":820,"children":821},{"style":635},[822],{"type":589,"value":698},{"type":583,"tag":616,"props":824,"children":825},{"style":652},[826],{"type":589,"value":665},{"type":583,"tag":616,"props":828,"children":829},{"style":635},[830],{"type":589,"value":718},{"type":583,"tag":616,"props":832,"children":833},{"style":623},[834],{"type":589,"value":723},{"type":583,"tag":616,"props":836,"children":837},{"style":635},[838],{"type":589,"value":839}," [",{"type":589,"value":680},{"type":583,"tag":616,"props":842,"children":843},{"class":618,"style":619},[844],{"type":583,"tag":616,"props":845,"children":846},{"style":635},[847],{"type":589,"value":848},"        {",{"type":589,"value":680},{"type":583,"tag":616,"props":851,"children":852},{"class":618,"style":619},[853,858,863,867,872,877,883,889,894,900],{"type":583,"tag":616,"props":854,"children":855},{"style":652},[856],{"type":589,"value":857},"          _id:",{"type":583,"tag":616,"props":859,"children":860},{"style":652},[861],{"type":589,"value":862}," crypto",{"type":583,"tag":616,"props":864,"children":865},{"style":635},[866],{"type":589,"value":660},{"type":583,"tag":616,"props":868,"children":869},{"style":641},[870],{"type":589,"value":871},"randomUUID",{"type":583,"tag":616,"props":873,"children":874},{"style":635},[875],{"type":589,"value":876},"() ",{"type":583,"tag":616,"props":878,"children":880},{"style":879},"color:#AF00DB;--shiki-dark:#C586C0",[881],{"type":589,"value":882},"as",{"type":583,"tag":616,"props":884,"children":886},{"style":885},"color:#267F99;--shiki-dark:#4EC9B0",[887],{"type":589,"value":888}," Id",{"type":583,"tag":616,"props":890,"children":891},{"style":635},[892],{"type":589,"value":893},"\u003C",{"type":583,"tag":616,"props":895,"children":897},{"style":896},"color:#A31515;--shiki-dark:#CE9178",[898],{"type":589,"value":899},"'todos'",{"type":583,"tag":616,"props":901,"children":902},{"style":635},[903],{"type":589,"value":904},">,",{"type":589,"value":680},{"type":583,"tag":616,"props":907,"children":908},{"class":618,"style":619},[909,914,919,923,928],{"type":583,"tag":616,"props":910,"children":911},{"style":652},[912],{"type":589,"value":913},"          _creationTime:",{"type":583,"tag":616,"props":915,"children":916},{"style":652},[917],{"type":589,"value":918}," Date",{"type":583,"tag":616,"props":920,"children":921},{"style":635},[922],{"type":589,"value":660},{"type":583,"tag":616,"props":924,"children":925},{"style":641},[926],{"type":589,"value":927},"now",{"type":583,"tag":616,"props":929,"children":930},{"style":635},[931],{"type":589,"value":932},"(),",{"type":589,"value":680},{"type":583,"tag":616,"props":935,"children":936},{"class":618,"style":619},[937,942,947,951,955],{"type":583,"tag":616,"props":938,"children":939},{"style":652},[940],{"type":589,"value":941},"          text:",{"type":583,"tag":616,"props":943,"children":944},{"style":652},[945],{"type":589,"value":946}," args",{"type":583,"tag":616,"props":948,"children":949},{"style":635},[950],{"type":589,"value":660},{"type":583,"tag":616,"props":952,"children":953},{"style":652},[954],{"type":589,"value":589},{"type":583,"tag":616,"props":956,"children":957},{"style":635},[958],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":961,"children":962},{"class":618,"style":619},[963,968,973],{"type":583,"tag":616,"props":964,"children":965},{"style":652},[966],{"type":589,"value":967},"          completed:",{"type":583,"tag":616,"props":969,"children":970},{"style":623},[971],{"type":589,"value":972}," false",{"type":583,"tag":616,"props":974,"children":975},{"style":635},[976],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":979,"children":980},{"class":618,"style":619},[981],{"type":583,"tag":616,"props":982,"children":983},{"style":635},[984],{"type":589,"value":985},"        },",{"type":589,"value":680},{"type":583,"tag":616,"props":988,"children":989},{"class":618,"style":619},[990,995,999],{"type":583,"tag":616,"props":991,"children":992},{"style":635},[993],{"type":589,"value":994},"        ...(",{"type":583,"tag":616,"props":996,"children":997},{"style":652},[998],{"type":589,"value":665},{"type":583,"tag":616,"props":1000,"children":1001},{"style":635},[1002],{"type":589,"value":1003}," ?? []),",{"type":589,"value":680},{"type":583,"tag":616,"props":1006,"children":1007},{"class":618,"style":619},[1008],{"type":583,"tag":616,"props":1009,"children":1010},{"style":635},[1011],{"type":589,"value":1012},"      ],",{"type":589,"value":680},{"type":583,"tag":616,"props":1015,"children":1016},{"class":618,"style":619},[1017],{"type":583,"tag":616,"props":1018,"children":1019},{"style":635},[1020],{"type":589,"value":1021},"    })",{"type":589,"value":680},{"type":583,"tag":616,"props":1024,"children":1025},{"class":618,"style":619},[1026],{"type":583,"tag":616,"props":1027,"children":1028},{"style":635},[1029],{"type":589,"value":1030},"  },",{"type":589,"value":680},{"type":583,"tag":616,"props":1033,"children":1034},{"class":618,"style":619},[1035],{"type":583,"tag":616,"props":1036,"children":1037},{"style":635},[1038],{"type":589,"value":1039},"})",{"type":583,"tag":584,"props":1041,"children":1043},{"id":1042},"toggle",[1044],{"type":589,"value":1045},"Toggle",{"type":583,"tag":604,"props":1047,"children":1048},{"language":606,"class":607,"tabindex":608},[1049],{"type":583,"tag":611,"props":1050,"children":1051},{"class":613},[1052,1100,1101,1140,1141,1152,1153,1184,1185,1196,1197,1208,1209,1236,1237,1277,1278,1362,1363,1371,1372,1379,1380,1387,1388],{"type":583,"tag":616,"props":1053,"children":1054},{"class":618,"style":619},[1055,1059,1064,1068,1072,1076,1080,1084,1088,1092,1096],{"type":583,"tag":616,"props":1056,"children":1057},{"style":623},[1058],{"type":589,"value":626},{"type":583,"tag":616,"props":1060,"children":1061},{"style":629},[1062],{"type":589,"value":1063}," toggleTodo",{"type":583,"tag":616,"props":1065,"children":1066},{"style":635},[1067],{"type":589,"value":638},{"type":583,"tag":616,"props":1069,"children":1070},{"style":641},[1071],{"type":589,"value":644},{"type":583,"tag":616,"props":1073,"children":1074},{"style":635},[1075],{"type":589,"value":649},{"type":583,"tag":616,"props":1077,"children":1078},{"style":652},[1079],{"type":589,"value":655},{"type":583,"tag":616,"props":1081,"children":1082},{"style":635},[1083],{"type":589,"value":660},{"type":583,"tag":616,"props":1085,"children":1086},{"style":652},[1087],{"type":589,"value":665},{"type":583,"tag":616,"props":1089,"children":1090},{"style":635},[1091],{"type":589,"value":660},{"type":583,"tag":616,"props":1093,"children":1094},{"style":652},[1095],{"type":589,"value":1042},{"type":583,"tag":616,"props":1097,"children":1098},{"style":635},[1099],{"type":589,"value":678},{"type":589,"value":680},{"type":583,"tag":616,"props":1102,"children":1103},{"class":618,"style":619},[1104,1108,1112,1116,1120,1124,1128,1132,1136],{"type":583,"tag":616,"props":1105,"children":1106},{"style":641},[1107],{"type":589,"value":688},{"type":583,"tag":616,"props":1109,"children":1110},{"style":652},[1111],{"type":589,"value":693},{"type":583,"tag":616,"props":1113,"children":1114},{"style":635},[1115],{"type":589,"value":698},{"type":583,"tag":616,"props":1117,"children":1118},{"style":652},[1119],{"type":589,"value":703},{"type":583,"tag":616,"props":1121,"children":1122},{"style":635},[1123],{"type":589,"value":708},{"type":583,"tag":616,"props":1125,"children":1126},{"style":652},[1127],{"type":589,"value":713},{"type":583,"tag":616,"props":1129,"children":1130},{"style":635},[1131],{"type":589,"value":718},{"type":583,"tag":616,"props":1133,"children":1134},{"style":623},[1135],{"type":589,"value":723},{"type":583,"tag":616,"props":1137,"children":1138},{"style":635},[1139],{"type":589,"value":728},{"type":589,"value":680},{"type":583,"tag":616,"props":1142,"children":1143},{"class":618,"style":619},[1144,1148],{"type":583,"tag":616,"props":1145,"children":1146},{"style":641},[1147],{"type":589,"value":737},{"type":583,"tag":616,"props":1149,"children":1150},{"style":635},[1151],{"type":589,"value":742},{"type":589,"value":680},{"type":583,"tag":616,"props":1154,"children":1155},{"class":618,"style":619},[1156,1160,1164,1168,1172,1176,1180],{"type":583,"tag":616,"props":1157,"children":1158},{"style":652},[1159],{"type":589,"value":751},{"type":583,"tag":616,"props":1161,"children":1162},{"style":652},[1163],{"type":589,"value":756},{"type":583,"tag":616,"props":1165,"children":1166},{"style":635},[1167],{"type":589,"value":660},{"type":583,"tag":616,"props":1169,"children":1170},{"style":652},[1171],{"type":589,"value":665},{"type":583,"tag":616,"props":1173,"children":1174},{"style":635},[1175],{"type":589,"value":660},{"type":583,"tag":616,"props":1177,"children":1178},{"style":652},[1179],{"type":589,"value":773},{"type":583,"tag":616,"props":1181,"children":1182},{"style":635},[1183],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":1186,"children":1187},{"class":618,"style":619},[1188,1192],{"type":583,"tag":616,"props":1189,"children":1190},{"style":652},[1191],{"type":589,"value":787},{"type":583,"tag":616,"props":1193,"children":1194},{"style":635},[1195],{"type":589,"value":792},{"type":589,"value":680},{"type":583,"tag":616,"props":1198,"children":1199},{"class":618,"style":619},[1200,1204],{"type":583,"tag":616,"props":1201,"children":1202},{"style":652},[1203],{"type":589,"value":801},{"type":583,"tag":616,"props":1205,"children":1206},{"style":635},[1207],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":1210,"children":1211},{"class":618,"style":619},[1212,1216,1220,1224,1228,1232],{"type":583,"tag":616,"props":1213,"children":1214},{"style":641},[1215],{"type":589,"value":814},{"type":583,"tag":616,"props":1217,"children":1218},{"style":652},[1219],{"type":589,"value":693},{"type":583,"tag":616,"props":1221,"children":1222},{"style":635},[1223],{"type":589,"value":698},{"type":583,"tag":616,"props":1225,"children":1226},{"style":652},[1227],{"type":589,"value":665},{"type":583,"tag":616,"props":1229,"children":1230},{"style":635},[1231],{"type":589,"value":718},{"type":583,"tag":616,"props":1233,"children":1234},{"style":623},[1235],{"type":589,"value":723},{"type":589,"value":680},{"type":583,"tag":616,"props":1238,"children":1239},{"class":618,"style":619},[1240,1245,1249,1254,1259,1264,1269,1273],{"type":583,"tag":616,"props":1241,"children":1242},{"style":635},[1243],{"type":589,"value":1244},"        (",{"type":583,"tag":616,"props":1246,"children":1247},{"style":652},[1248],{"type":589,"value":665},{"type":583,"tag":616,"props":1250,"children":1251},{"style":635},[1252],{"type":589,"value":1253}," ?? []).",{"type":583,"tag":616,"props":1255,"children":1256},{"style":641},[1257],{"type":589,"value":1258},"map",{"type":583,"tag":616,"props":1260,"children":1261},{"style":635},[1262],{"type":589,"value":1263},"((",{"type":583,"tag":616,"props":1265,"children":1266},{"style":652},[1267],{"type":589,"value":1268},"todo",{"type":583,"tag":616,"props":1270,"children":1271},{"style":635},[1272],{"type":589,"value":718},{"type":583,"tag":616,"props":1274,"children":1275},{"style":623},[1276],{"type":589,"value":723},{"type":589,"value":680},{"type":583,"tag":616,"props":1279,"children":1280},{"class":618,"style":619},[1281,1286,1290,1295,1300,1304,1308,1313,1318,1322,1326,1331,1336,1340,1344,1349,1354,1358],{"type":583,"tag":616,"props":1282,"children":1283},{"style":652},[1284],{"type":589,"value":1285},"          todo",{"type":583,"tag":616,"props":1287,"children":1288},{"style":635},[1289],{"type":589,"value":660},{"type":583,"tag":616,"props":1291,"children":1292},{"style":652},[1293],{"type":589,"value":1294},"_id",{"type":583,"tag":616,"props":1296,"children":1297},{"style":635},[1298],{"type":589,"value":1299}," === ",{"type":583,"tag":616,"props":1301,"children":1302},{"style":652},[1303],{"type":589,"value":713},{"type":583,"tag":616,"props":1305,"children":1306},{"style":635},[1307],{"type":589,"value":660},{"type":583,"tag":616,"props":1309,"children":1310},{"style":652},[1311],{"type":589,"value":1312},"todoId",{"type":583,"tag":616,"props":1314,"children":1315},{"style":635},[1316],{"type":589,"value":1317}," ? { ...",{"type":583,"tag":616,"props":1319,"children":1320},{"style":652},[1321],{"type":589,"value":1268},{"type":583,"tag":616,"props":1323,"children":1324},{"style":635},[1325],{"type":589,"value":708},{"type":583,"tag":616,"props":1327,"children":1328},{"style":652},[1329],{"type":589,"value":1330},"completed:",{"type":583,"tag":616,"props":1332,"children":1333},{"style":635},[1334],{"type":589,"value":1335}," !",{"type":583,"tag":616,"props":1337,"children":1338},{"style":652},[1339],{"type":589,"value":1268},{"type":583,"tag":616,"props":1341,"children":1342},{"style":635},[1343],{"type":589,"value":660},{"type":583,"tag":616,"props":1345,"children":1346},{"style":652},[1347],{"type":589,"value":1348},"completed",{"type":583,"tag":616,"props":1350,"children":1351},{"style":635},[1352],{"type":589,"value":1353}," } : ",{"type":583,"tag":616,"props":1355,"children":1356},{"style":652},[1357],{"type":589,"value":1268},{"type":583,"tag":616,"props":1359,"children":1360},{"style":635},[1361],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":1364,"children":1365},{"class":618,"style":619},[1366],{"type":583,"tag":616,"props":1367,"children":1368},{"style":635},[1369],{"type":589,"value":1370},"        ),",{"type":589,"value":680},{"type":583,"tag":616,"props":1373,"children":1374},{"class":618,"style":619},[1375],{"type":583,"tag":616,"props":1376,"children":1377},{"style":635},[1378],{"type":589,"value":1021},{"type":589,"value":680},{"type":583,"tag":616,"props":1381,"children":1382},{"class":618,"style":619},[1383],{"type":583,"tag":616,"props":1384,"children":1385},{"style":635},[1386],{"type":589,"value":1030},{"type":589,"value":680},{"type":583,"tag":616,"props":1389,"children":1390},{"class":618,"style":619},[1391],{"type":583,"tag":616,"props":1392,"children":1393},{"style":635},[1394],{"type":589,"value":1039},{"type":583,"tag":584,"props":1396,"children":1398},{"id":1397},"remove",[1399],{"type":589,"value":1400},"Remove",{"type":583,"tag":604,"props":1402,"children":1403},{"language":606,"class":607,"tabindex":608},[1404],{"type":583,"tag":611,"props":1405,"children":1406},{"class":613},[1407,1455,1456,1495,1496,1508,1509,1540,1541,1552,1553,1564,1565,1626,1627,1634,1635,1642,1643],{"type":583,"tag":616,"props":1408,"children":1409},{"class":618,"style":619},[1410,1414,1419,1423,1427,1431,1435,1439,1443,1447,1451],{"type":583,"tag":616,"props":1411,"children":1412},{"style":623},[1413],{"type":589,"value":626},{"type":583,"tag":616,"props":1415,"children":1416},{"style":629},[1417],{"type":589,"value":1418}," removeTodo",{"type":583,"tag":616,"props":1420,"children":1421},{"style":635},[1422],{"type":589,"value":638},{"type":583,"tag":616,"props":1424,"children":1425},{"style":641},[1426],{"type":589,"value":644},{"type":583,"tag":616,"props":1428,"children":1429},{"style":635},[1430],{"type":589,"value":649},{"type":583,"tag":616,"props":1432,"children":1433},{"style":652},[1434],{"type":589,"value":655},{"type":583,"tag":616,"props":1436,"children":1437},{"style":635},[1438],{"type":589,"value":660},{"type":583,"tag":616,"props":1440,"children":1441},{"style":652},[1442],{"type":589,"value":665},{"type":583,"tag":616,"props":1444,"children":1445},{"style":635},[1446],{"type":589,"value":660},{"type":583,"tag":616,"props":1448,"children":1449},{"style":652},[1450],{"type":589,"value":1397},{"type":583,"tag":616,"props":1452,"children":1453},{"style":635},[1454],{"type":589,"value":678},{"type":589,"value":680},{"type":583,"tag":616,"props":1457,"children":1458},{"class":618,"style":619},[1459,1463,1467,1471,1475,1479,1483,1487,1491],{"type":583,"tag":616,"props":1460,"children":1461},{"style":641},[1462],{"type":589,"value":688},{"type":583,"tag":616,"props":1464,"children":1465},{"style":652},[1466],{"type":589,"value":693},{"type":583,"tag":616,"props":1468,"children":1469},{"style":635},[1470],{"type":589,"value":698},{"type":583,"tag":616,"props":1472,"children":1473},{"style":652},[1474],{"type":589,"value":703},{"type":583,"tag":616,"props":1476,"children":1477},{"style":635},[1478],{"type":589,"value":708},{"type":583,"tag":616,"props":1480,"children":1481},{"style":652},[1482],{"type":589,"value":713},{"type":583,"tag":616,"props":1484,"children":1485},{"style":635},[1486],{"type":589,"value":718},{"type":583,"tag":616,"props":1488,"children":1489},{"style":623},[1490],{"type":589,"value":723},{"type":583,"tag":616,"props":1492,"children":1493},{"style":635},[1494],{"type":589,"value":728},{"type":589,"value":680},{"type":583,"tag":616,"props":1497,"children":1498},{"class":618,"style":619},[1499,1504],{"type":583,"tag":616,"props":1500,"children":1501},{"style":641},[1502],{"type":589,"value":1503},"    deleteFromQuery",{"type":583,"tag":616,"props":1505,"children":1506},{"style":635},[1507],{"type":589,"value":742},{"type":589,"value":680},{"type":583,"tag":616,"props":1510,"children":1511},{"class":618,"style":619},[1512,1516,1520,1524,1528,1532,1536],{"type":583,"tag":616,"props":1513,"children":1514},{"style":652},[1515],{"type":589,"value":751},{"type":583,"tag":616,"props":1517,"children":1518},{"style":652},[1519],{"type":589,"value":756},{"type":583,"tag":616,"props":1521,"children":1522},{"style":635},[1523],{"type":589,"value":660},{"type":583,"tag":616,"props":1525,"children":1526},{"style":652},[1527],{"type":589,"value":665},{"type":583,"tag":616,"props":1529,"children":1530},{"style":635},[1531],{"type":589,"value":660},{"type":583,"tag":616,"props":1533,"children":1534},{"style":652},[1535],{"type":589,"value":773},{"type":583,"tag":616,"props":1537,"children":1538},{"style":635},[1539],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":1542,"children":1543},{"class":618,"style":619},[1544,1548],{"type":583,"tag":616,"props":1545,"children":1546},{"style":652},[1547],{"type":589,"value":787},{"type":583,"tag":616,"props":1549,"children":1550},{"style":635},[1551],{"type":589,"value":792},{"type":589,"value":680},{"type":583,"tag":616,"props":1554,"children":1555},{"class":618,"style":619},[1556,1560],{"type":583,"tag":616,"props":1557,"children":1558},{"style":652},[1559],{"type":589,"value":801},{"type":583,"tag":616,"props":1561,"children":1562},{"style":635},[1563],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":1566,"children":1567},{"class":618,"style":619},[1568,1573,1577,1581,1585,1589,1593,1598,1602,1606,1610,1614,1618,1622],{"type":583,"tag":616,"props":1569,"children":1570},{"style":641},[1571],{"type":589,"value":1572},"      shouldDelete",{"type":583,"tag":616,"props":1574,"children":1575},{"style":652},[1576],{"type":589,"value":693},{"type":583,"tag":616,"props":1578,"children":1579},{"style":635},[1580],{"type":589,"value":698},{"type":583,"tag":616,"props":1582,"children":1583},{"style":652},[1584],{"type":589,"value":1268},{"type":583,"tag":616,"props":1586,"children":1587},{"style":635},[1588],{"type":589,"value":718},{"type":583,"tag":616,"props":1590,"children":1591},{"style":623},[1592],{"type":589,"value":723},{"type":583,"tag":616,"props":1594,"children":1595},{"style":652},[1596],{"type":589,"value":1597}," todo",{"type":583,"tag":616,"props":1599,"children":1600},{"style":635},[1601],{"type":589,"value":660},{"type":583,"tag":616,"props":1603,"children":1604},{"style":652},[1605],{"type":589,"value":1294},{"type":583,"tag":616,"props":1607,"children":1608},{"style":635},[1609],{"type":589,"value":1299},{"type":583,"tag":616,"props":1611,"children":1612},{"style":652},[1613],{"type":589,"value":713},{"type":583,"tag":616,"props":1615,"children":1616},{"style":635},[1617],{"type":589,"value":660},{"type":583,"tag":616,"props":1619,"children":1620},{"style":652},[1621],{"type":589,"value":1312},{"type":583,"tag":616,"props":1623,"children":1624},{"style":635},[1625],{"type":589,"value":778},{"type":589,"value":680},{"type":583,"tag":616,"props":1628,"children":1629},{"class":618,"style":619},[1630],{"type":583,"tag":616,"props":1631,"children":1632},{"style":635},[1633],{"type":589,"value":1021},{"type":589,"value":680},{"type":583,"tag":616,"props":1636,"children":1637},{"class":618,"style":619},[1638],{"type":583,"tag":616,"props":1639,"children":1640},{"style":635},[1641],{"type":589,"value":1030},{"type":589,"value":680},{"type":583,"tag":616,"props":1644,"children":1645},{"class":618,"style":619},[1646],{"type":583,"tag":616,"props":1647,"children":1648},{"style":635},[1649],{"type":589,"value":1039},{"type":583,"tag":584,"props":1651,"children":1653},{"id":1652},"security-boundary",[1654],{"type":589,"value":1655},"Security boundary",{"type":583,"tag":592,"props":1657,"children":1658},{},[1659],{"type":589,"value":1660},"The backend loads the todo and checks ownership before toggling or deleting. The optimistic predicate is presentation only.",{"type":583,"tag":584,"props":1662,"children":1664},{"id":1663},"verify-rollback",[1665],{"type":589,"value":1666},"Verify rollback",{"type":583,"tag":592,"props":1668,"children":1669},{},[1670],{"type":589,"value":1671},"Temporarily make each mutation reject after validation and confirm:",{"type":583,"tag":1673,"props":1674,"children":1675},"ul",{},[1676,1682,1687,1692],{"type":583,"tag":1677,"props":1678,"children":1679},"li",{},[1680],{"type":589,"value":1681},"a created temporary todo disappears;",{"type":583,"tag":1677,"props":1683,"children":1684},{},[1685],{"type":589,"value":1686},"a toggle returns to its server value;",{"type":583,"tag":1677,"props":1688,"children":1689},{},[1690],{"type":589,"value":1691},"a removed todo reappears;",{"type":583,"tag":1677,"props":1693,"children":1694},{},[1695],{"type":589,"value":1696},"the error is visible and the form remains usable.",{"type":583,"tag":592,"props":1698,"children":1699},{},[1700],{"type":589,"value":1701},"Remove the forced failures after verification.",{"title":1703,"searchDepth":1704,"depth":1704,"links":1705},"",4,[1706,1708,1709,1710,1711,1712],{"id":586,"depth":1707,"text":590},2,{"id":599,"depth":1707,"text":602},{"id":1042,"depth":1707,"text":1045},{"id":1397,"depth":1707,"text":1400},{"id":1652,"depth":1707,"text":1655},{"id":1663,"depth":1707,"text":1666},"markdown","docs",{"source":1716,"path":1717,"stem":1718,"dir":1719,"extension":1720},"content","docs\u002F5.recipes\u002F3.optimistic-todo-list.md","docs\u002F5.recipes\u002F3.optimistic-todo-list","recipes","md",{"requestedPath":448,"resolvedPath":448,"alternates":1722},[],{"requested":1724,"resolved":1725,"usedFallback":6},{"locale":8},{"locale":8},{"previous":1727,"next":1729},{"title":436,"id":437,"canonicalKey":438,"locale":8,"draft":6,"navigation":1728,"icon":440,"path":441},{"icon":440},{"title":450,"id":451,"canonicalKey":452,"locale":8,"draft":6,"navigation":1730,"icon":454,"path":455},{"icon":454},{"left":1732,"top":1732,"width":1733,"height":1733,"rotate":1732,"vFlip":6,"hFlip":6,"body":1734},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":1732,"top":1732,"width":1736,"height":1736,"rotate":1732,"vFlip":6,"hFlip":6,"body":1737},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>",1784196953676]