[{"data":1,"prerenderedAt":574},["ShallowReactive",2],{"navigation":3,"\u002Fchangelog":116,"\u002Fchangelog-surround":571},[4,23,61,82,108,112],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Guides","i-lucide-book-open","\u002Fguides","2.guides",[29,33,37,41,45,49,53,57],{"title":30,"path":31,"stem":32},"Connection & config","\u002Fguides\u002Fconnection","2.guides\u002F1.connection",{"title":34,"path":35,"stem":36},"Publish, RPC, history, presence","\u002Fguides\u002Foperations","2.guides\u002F2.operations",{"title":38,"path":39,"stem":40},"Events","\u002Fguides\u002Fevents","2.guides\u002F3.events",{"title":42,"path":43,"stem":44},"Subscriptions","\u002Fguides\u002Fsubscriptions","2.guides\u002F4.subscriptions",{"title":46,"path":47,"stem":48},"Tokens","\u002Fguides\u002Ftokens","2.guides\u002F5.tokens",{"title":50,"path":51,"stem":52},"Payloads (base64 vs rawJson)","\u002Fguides\u002Fpayloads","2.guides\u002F6.payloads",{"title":54,"path":55,"stem":56},"Rust backend","\u002Fguides\u002Frust","2.guides\u002F7.rust",{"title":58,"path":59,"stem":60},"Permissions","\u002Fguides\u002Fpermissions","2.guides\u002F8.permissions",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":22},"API reference","i-lucide-file-code","\u002Freference","3.reference",[67,71,75,79],{"title":68,"path":69,"stem":70},"JavaScript API","\u002Freference\u002Fjavascript-api","3.reference\u002F1.javascript-api",{"title":72,"path":73,"stem":74},"Types","\u002Freference\u002Ftypes","3.reference\u002F2.types",{"title":76,"path":77,"stem":78},"Tauri commands","\u002Freference\u002Fcommands","3.reference\u002F3.commands",{"title":58,"path":80,"stem":81},"\u002Freference\u002Fpermissions","3.reference\u002F4.permissions",{"title":83,"icon":84,"path":85,"stem":86,"children":87,"page":22},"Platforms","i-lucide-monitor-smartphone","\u002Fplatforms","4.platforms",[88,92,96,100,104],{"title":89,"path":90,"stem":91},"Overview","\u002Fplatforms\u002Foverview","4.platforms\u002F1.overview",{"title":93,"path":94,"stem":95},"Desktop","\u002Fplatforms\u002Fdesktop","4.platforms\u002F2.desktop",{"title":97,"path":98,"stem":99},"Android","\u002Fplatforms\u002Fandroid","4.platforms\u002F3.android",{"title":101,"path":102,"stem":103},"iOS","\u002Fplatforms\u002Fios","4.platforms\u002F4.ios",{"title":105,"path":106,"stem":107},"Centrifugo server","\u002Fplatforms\u002Fserver","4.platforms\u002F5.server",{"title":109,"path":110,"stem":111},"Deprecations","\u002Fdeprecations","5.deprecations",{"title":113,"path":114,"stem":115},"Changelog","\u002Fchangelog","9.changelog",{"id":117,"title":113,"body":118,"description":564,"extension":565,"generated":566,"links":567,"meta":568,"navigation":566,"path":114,"seo":569,"stem":115,"__hash__":570},"docs\u002F9.changelog.md",{"type":119,"value":120,"toc":537},"minimark",[121,133,141,148,153,230,234,246,250,259,266,270,364,367,420,424,447,450,462,468,471,500,503,508,511,515,518,522,525,529,533],[122,123,124,125,132],"p",{},"All notable changes to this project will be documented in this file. See ",[126,127,131],"a",{"href":128,"rel":129},"https:\u002F\u002Fgithub.com\u002Fconventional-changelog\u002Fstandard-version",[130],"nofollow","standard-version"," for commit guidelines.",[134,135,137],"h2",{"id":136},"unreleased",[138,139,140],"span",{},"Unreleased",[134,142,144,147],{"id":143},"_021-2026-11-09",[138,145,146],{},"0.2.1"," - 2026-11-09",[149,150,152],"h3",{"id":151},"fixed","Fixed",[154,155,156,188],"ul",{},[157,158,159,163,164,167,168,171,172,175,176,179,180,183,184,187],"li",{},[160,161,162],"code",{},"centrifugo:default"," now includes ",[160,165,166],{},"allow-provide-token",", ",[160,169,170],{},"allow-add-subscription-with-options"," and\n",[160,173,174],{},"allow-remove-all-subscriptions","; with only the default set, ",[160,177,178],{},"provideToken"," (the token bridge),\n",[160,181,182],{},"addSubscriptionWithOptions"," and ",[160,185,186],{},"removeAllSubscriptions"," were denied.",[157,189,190,191,167,194,197,198,201,202,167,205,167,208,211,212,167,215,183,218,221,222,225,226,229],{},"Event listeners (",[160,192,193],{},"onConnected",[160,195,196],{},"onPublication",", ...) get the whole Tauri event again (",[160,199,200],{},"{ event, payload, id }",",\nas typed and as in 0.1.x). 0.2.0 passed only the payload, so ",[160,203,204],{},"onMessage",[160,206,207],{},"onChannelMessage",[160,209,210],{},"onAnyMessage",",\n",[160,213,214],{},"onPublicationRawJson",[160,216,217],{},"onServerPublicationRawJson",[160,219,220],{},"helpers.subscribeToChannel(s)"," threw on every publication.\nCode written for 0.2.0 that reads ",[160,223,224],{},"e.channel"," must read ",[160,227,228],{},"e.payload.channel",".",[149,231,233],{"id":232},"removed","Removed",[154,235,236],{},[157,237,238,239,183,242,245],{},"Stale ",[160,240,241],{},"allow-\u002Fdeny-start-connection",[160,243,244],{},"allow-\u002Fdeny-stop-connection"," permissions (no such commands).",[149,247,249],{"id":248},"added","Added",[154,251,252],{},[157,253,254,255],{},"Documentation site: ",[126,256,257],{"href":257,"rel":258},"https:\u002F\u002Fs00d.github.io\u002Ftauri-plugin-centrifugo\u002F",[130],[134,260,262,265],{"id":261},"_020-2026-11-08",[138,263,264],{},"0.2.0"," - 2026-11-08",[149,267,269],{"id":268},"changed","Changed",[154,271,272,300,315,332,361],{},[157,273,274,278,279,286,287,167,290,167,293,296,297,229],{},[275,276,277],"strong",{},"Breaking:"," the client is now the official Rust SDK ",[126,280,283],{"href":281,"rel":282},"https:\u002F\u002Fgithub.com\u002Fcentrifugal\u002Fcentrifuge-rust",[130],[160,284,285],{},"centrifuge-client","\ninstead of the internal engine. Its modules (",[160,288,289],{},"client",[160,291,292],{},"config",[160,294,295],{},"protocol",", ...) are no longer re-exported;\nthe SDK is available as ",[160,298,299],{},"tauri_plugin_centrifugo::centrifuge",[157,301,302,303,306,307,310,311,314],{},"The connection token callback (",[160,304,305],{},"need_token",") is installed only when ",[160,308,309],{},"token"," is set or ",[160,312,313],{},"requestToken: true",";\nanonymous connections no longer wait for the frontend.",[157,316,317,320,321,323,324,327,328,331],{},[160,318,319],{},"refresh"," answers a pending ",[160,322,305],{}," (else sets the token for the next connect); ",[160,325,326],{},"subRefresh"," answers\n",[160,329,330],{},"need_sub_token",". The SDK refreshes tokens itself before they expire.",[157,333,334,337,338,167,341,167,344,347,348,351,352,355,356,351,358,229],{},[160,335,336],{},"subscribed"," event carries ",[160,339,340],{},"wasRecovering",[160,342,343],{},"recovered",[160,345,346],{},"streamPosition","; ",[160,349,350],{},"connecting","\u002F",[160,353,354],{},"disconnected"," carry ",[160,357,160],{},[160,359,360],{},"reason",[157,362,363],{},"guest-js is built with Vite 8 and TypeScript 6; dual ESM\u002FCJS types; checked with publint and attw.",[149,365,249],{"id":366},"added-1",[154,368,369,381,391,406,417],{},[157,370,371,374,375,167,378,229],{},[160,372,373],{},"StartConfig.httpStreamUrl"," (HTTP-streaming fallback), ",[160,376,377],{},"headers",[160,379,380],{},"requestToken",[157,382,383,386,387,390],{},[160,384,385],{},"SubscribeOptions.delta"," (fossil) and ",[160,388,389],{},"since"," (resume from a saved position).",[157,392,393,167,395,167,398,401,402,405],{},[160,394,330],{},[160,396,397],{},"join",[160,399,400],{},"leave"," events; ",[160,403,404],{},"onNeedSubToken"," helper.",[157,407,408,409,412,413,416],{},"Android: ",[160,410,411],{},"wss:\u002F\u002F"," works out of the box (Mozilla roots via ",[160,414,415],{},"webpki-roots",").",[157,418,419],{},"End-to-end tests against a real Centrifugo, CI on Linux, macOS and Windows, Android build check.",[149,421,423],{"id":422},"deprecated","Deprecated",[154,425,426,432],{},[157,427,428,431],{},[160,429,430],{},"ping"," (resolves when connected; the SDK pings by itself).",[157,433,434,435,351,438,351,441,443,444,229],{},"Map publish fields (",[160,436,437],{},"type",[160,439,440],{},"key",[160,442,232],{},") and track\u002Funtrack sub refresh fields: rejected with ",[160,445,446],{},"Not supported",[149,448,152],{"id":449},"fixed-1",[154,451,452,455],{},[157,453,454],{},"A newer token request no longer makes the previous one fail as unauthorized (which disconnected the client for good).",[157,456,457,458,461],{},"Example app: endless log loop (",[160,459,460],{},"attachConsole"," + console forwarding) that froze the UI on Android; autocorrect on inputs.",[134,463,465],{"id":464},"_01x",[138,466,467],{},"0.1.x",[149,469,249],{"id":470},"added-2",[154,472,473,476,479,482,485,488,491,494,497],{},[157,474,475],{},"Initial release of Tauri Plugin Centrifugo",[157,477,478],{},"Real-time communication with Centrifugo server",[157,480,481],{},"WebSocket support with JSON and Protobuf protocols",[157,483,484],{},"Channel subscription management",[157,486,487],{},"JWT authentication support",[157,489,490],{},"Event-driven architecture for connection state and messages",[157,492,493],{},"Cross-platform support (desktop and mobile)",[157,495,496],{},"TypeScript\u002FJavaScript API bindings",[157,498,499],{},"Example Svelte application",[149,501,269],{"id":502},"changed-1",[154,504,505],{},[157,506,507],{},"N\u002FA",[149,509,423],{"id":510},"deprecated-1",[154,512,513],{},[157,514,507],{},[149,516,233],{"id":517},"removed-1",[154,519,520],{},[157,521,507],{},[149,523,152],{"id":524},"fixed-2",[154,526,527],{},[157,528,507],{},[149,530,532],{"id":531},"security","Security",[154,534,535],{},[157,536,507],{},{"title":538,"searchDepth":539,"depth":540,"links":541},"",2,3,[542,543,549,556],{"id":136,"depth":539,"text":140},{"id":143,"depth":539,"text":544,"children":545},"0.2.1 - 2026-11-09",[546,547,548],{"id":151,"depth":540,"text":152},{"id":232,"depth":540,"text":233},{"id":248,"depth":540,"text":249},{"id":261,"depth":539,"text":550,"children":551},"0.2.0 - 2026-11-08",[552,553,554,555],{"id":268,"depth":540,"text":269},{"id":366,"depth":540,"text":249},{"id":422,"depth":540,"text":423},{"id":449,"depth":540,"text":152},{"id":464,"depth":539,"text":467,"children":557},[558,559,560,561,562,563],{"id":470,"depth":540,"text":249},{"id":502,"depth":540,"text":269},{"id":510,"depth":540,"text":423},{"id":517,"depth":540,"text":233},{"id":524,"depth":540,"text":152},{"id":531,"depth":540,"text":532},"All notable changes to tauri-plugin-centrifugo and tauri-plugin-centrifugo-api.","md",true,null,{},{"title":113,"description":564},"JpsmQC3qcAH_UAjHa8z6nD__bJAldsI637aYOWSCAi0",[572,567],{"title":109,"path":110,"stem":111,"description":573,"children":-1},"What 0.2 (the move to the official centrifuge-client SDK) deprecated or no longer supports.",1794166800620]