[{"data":1,"prerenderedAt":567},["ShallowReactive",2],{"navigation":3,"\u002Fgetting-started\u002Finstallation":116,"\u002Fgetting-started\u002Finstallation-surround":562},[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":15,"body":118,"description":555,"extension":556,"generated":22,"links":557,"meta":558,"navigation":559,"path":16,"seo":560,"stem":17,"__hash__":561},"docs\u002F1.getting-started\u002F2.installation.md",{"type":119,"value":120,"toc":546},"minimark",[121,126,130,175,187,191,196,220,223,365,369,398,405,408,414,508,523,527,542],[122,123,125],"h2",{"id":124},"automatic","Automatic",[127,128,129],"p",{},"The Tauri CLI adds the crate and the npm package and registers the plugin:",[131,132,137],"pre",{"className":133,"code":134,"language":135,"meta":136,"style":136},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm run tauri add centrifugo\n# or: pnpm tauri add centrifugo · yarn run tauri add centrifugo · bun tauri add centrifugo\n# or: deno task tauri add centrifugo · cargo tauri add centrifugo\n","bash","",[138,139,140,162,169],"code",{"__ignoreMap":136},[141,142,145,149,153,156,159],"span",{"class":143,"line":144},"line",1,[141,146,148],{"class":147},"sBMFI","npm",[141,150,152],{"class":151},"sfazB"," run",[141,154,155],{"class":151}," tauri",[141,157,158],{"class":151}," add",[141,160,161],{"class":151}," centrifugo\n",[141,163,165],{"class":143,"line":164},2,[141,166,168],{"class":167},"sHwdD","# or: pnpm tauri add centrifugo · yarn run tauri add centrifugo · bun tauri add centrifugo\n",[141,170,172],{"class":143,"line":171},3,[141,173,174],{"class":167},"# or: deno task tauri add centrifugo · cargo tauri add centrifugo\n",[127,176,177,178,181,182,186],{},"Then check that your capability has ",[138,179,180],{},"centrifugo:default"," (see ",[183,184,58],"a",{"href":185},"#permissions",").",[122,188,190],{"id":189},"manual","Manual",[192,193,195],"h3",{"id":194},"rust","Rust",[131,197,199],{"className":133,"code":198,"language":135,"meta":136,"style":136},"cd src-tauri\ncargo add tauri-plugin-centrifugo\n",[138,200,201,210],{"__ignoreMap":136},[141,202,203,207],{"class":143,"line":144},[141,204,206],{"class":205},"s2Zo4","cd",[141,208,209],{"class":151}," src-tauri\n",[141,211,212,215,217],{"class":143,"line":164},[141,213,214],{"class":147},"cargo",[141,216,158],{"class":151},[141,218,219],{"class":151}," tauri-plugin-centrifugo\n",[127,221,222],{},"Register the plugin:",[131,224,228],{"className":225,"code":226,"filename":227,"language":194,"meta":136,"style":136},"language-rust shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","#[cfg_attr(mobile, tauri::mobile_entry_point)]\npub fn run() {\n    tauri::Builder::default()\n        .plugin(tauri_plugin_centrifugo::init())\n        .run(tauri::generate_context!())\n        .expect(\"error while running tauri application\");\n}\n","src-tauri\u002Fsrc\u002Flib.rs",[138,229,230,260,278,296,318,338,359],{"__ignoreMap":136},[141,231,232,236,240,243,246,249,251,254,257],{"class":143,"line":144},[141,233,235],{"class":234},"sMK4o","#[",[141,237,239],{"class":238},"sTEyZ","cfg_attr",[141,241,242],{"class":234},"(",[141,244,245],{"class":238},"mobile",[141,247,248],{"class":234},",",[141,250,155],{"class":238},[141,252,253],{"class":234},"::",[141,255,256],{"class":238},"mobile_entry_point",[141,258,259],{"class":234},")]\n",[141,261,262,266,270,272,275],{"class":143,"line":164},[141,263,265],{"class":264},"spNyl","pub",[141,267,269],{"class":268},"sbssI"," fn",[141,271,152],{"class":205},[141,273,274],{"class":234},"()",[141,276,277],{"class":234}," {\n",[141,279,280,283,285,288,290,293],{"class":143,"line":171},[141,281,282],{"class":147},"    tauri",[141,284,253],{"class":234},[141,286,287],{"class":147},"Builder",[141,289,253],{"class":234},[141,291,292],{"class":205},"default",[141,294,295],{"class":234},"()\n",[141,297,299,302,305,307,310,312,315],{"class":143,"line":298},4,[141,300,301],{"class":234},"        .",[141,303,304],{"class":205},"plugin",[141,306,242],{"class":234},[141,308,309],{"class":147},"tauri_plugin_centrifugo",[141,311,253],{"class":234},[141,313,314],{"class":205},"init",[141,316,317],{"class":234},"())\n",[141,319,321,323,326,328,331,333,336],{"class":143,"line":320},5,[141,322,301],{"class":234},[141,324,325],{"class":205},"run",[141,327,242],{"class":234},[141,329,330],{"class":147},"tauri",[141,332,253],{"class":234},[141,334,335],{"class":205},"generate_context!",[141,337,317],{"class":234},[141,339,341,343,346,348,351,354,356],{"class":143,"line":340},6,[141,342,301],{"class":234},[141,344,345],{"class":205},"expect",[141,347,242],{"class":234},[141,349,350],{"class":234},"\"",[141,352,353],{"class":151},"error while running tauri application",[141,355,350],{"class":234},[141,357,358],{"class":234},");\n",[141,360,362],{"class":143,"line":361},7,[141,363,364],{"class":234},"}\n",[192,366,368],{"id":367},"javascript","JavaScript",[131,370,372],{"className":133,"code":371,"language":135,"meta":136,"style":136},"npm install tauri-plugin-centrifugo-api\n# or\npnpm add tauri-plugin-centrifugo-api\n",[138,373,374,384,389],{"__ignoreMap":136},[141,375,376,378,381],{"class":143,"line":144},[141,377,148],{"class":147},[141,379,380],{"class":151}," install",[141,382,383],{"class":151}," tauri-plugin-centrifugo-api\n",[141,385,386],{"class":143,"line":164},[141,387,388],{"class":167},"# or\n",[141,390,391,394,396],{"class":143,"line":171},[141,392,393],{"class":147},"pnpm",[141,395,158],{"class":151},[141,397,383],{"class":151},[127,399,400,401,404],{},"The package is ESM and CJS with types; its only dependency is ",[138,402,403],{},"@tauri-apps\u002Fapi"," 2.",[122,406,58],{"id":407},"permissions",[127,409,410,411,413],{},"Plugin commands are denied until a capability allows them. ",[138,412,180],{}," allows every command:",[131,415,420],{"className":416,"code":417,"filename":418,"language":419,"meta":136,"style":136},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"identifier\": \"default\",\n  \"windows\": [\"main\"],\n  \"permissions\": [\"core:default\", \"centrifugo:default\"]\n}\n","src-tauri\u002Fcapabilities\u002Fdefault.json","json",[138,421,422,427,450,474,504],{"__ignoreMap":136},[141,423,424],{"class":143,"line":144},[141,425,426],{"class":234},"{\n",[141,428,429,432,435,437,440,443,445,447],{"class":143,"line":164},[141,430,431],{"class":234},"  \"",[141,433,434],{"class":264},"identifier",[141,436,350],{"class":234},[141,438,439],{"class":234},":",[141,441,442],{"class":234}," \"",[141,444,292],{"class":151},[141,446,350],{"class":234},[141,448,449],{"class":234},",\n",[141,451,452,454,457,459,461,464,466,469,471],{"class":143,"line":171},[141,453,431],{"class":234},[141,455,456],{"class":264},"windows",[141,458,350],{"class":234},[141,460,439],{"class":234},[141,462,463],{"class":234}," [",[141,465,350],{"class":234},[141,467,468],{"class":151},"main",[141,470,350],{"class":234},[141,472,473],{"class":234},"],\n",[141,475,476,478,480,482,484,486,488,491,493,495,497,499,501],{"class":143,"line":298},[141,477,431],{"class":234},[141,479,407],{"class":264},[141,481,350],{"class":234},[141,483,439],{"class":234},[141,485,463],{"class":234},[141,487,350],{"class":234},[141,489,490],{"class":151},"core:default",[141,492,350],{"class":234},[141,494,248],{"class":234},[141,496,442],{"class":234},[141,498,180],{"class":151},[141,500,350],{"class":234},[141,502,503],{"class":234},"]\n",[141,505,506],{"class":143,"line":320},[141,507,364],{"class":234},[127,509,510,511,514,515,518,519,522],{},"To allow only some commands, list ",[138,512,513],{},"centrifugo:allow-\u003Ccommand>"," identifiers instead; see the\n",[183,516,517],{"href":59},"Permissions guide"," and the ",[183,520,521],{"href":80},"full list",".",[122,524,526],{"id":525},"requirements","Requirements",[528,529,530,537],"ul",{},[531,532,533,534,536],"li",{},"Tauri 2 (the crate needs ",[138,535,330],{}," 2.6.2+), Rust 1.85+.",[531,538,539,540,522],{},"A Centrifugo v4+ server; see ",[183,541,105],{"href":106},[543,544,545],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":136,"searchDepth":164,"depth":171,"links":547},[548,549,553,554],{"id":124,"depth":164,"text":125},{"id":189,"depth":164,"text":190,"children":550},[551,552],{"id":194,"depth":171,"text":195},{"id":367,"depth":171,"text":368},{"id":407,"depth":164,"text":58},{"id":525,"depth":164,"text":526},"Add the Rust crate and the npm package, register the plugin and allow its commands.","md",null,{},true,{"title":15,"description":555},"woY6RpQn-7n8T_ec5OjoCjjD1DR_DJ6Rc9n0DtCi50E",[563,565],{"title":11,"path":12,"stem":13,"description":564,"children":-1},"What the plugin does, its two packages and where it runs.",{"title":19,"path":20,"stem":21,"description":566,"children":-1},"Connect, listen to events, subscribe, publish and clean up.",1794166801300]