[{"data":1,"prerenderedAt":1703},["ShallowReactive",2],{"navigation_docs":3,"-mime-types-text-event-stream":673,"-mime-types-text-event-stream-surround":1676,"mdc--j2asdf-key":1677,"mdc--58z141-key":1687},[4,29,123,155,193,222,251,267,408,416,456,462,468],{"title":5,"path":6,"stem":7,"children":8,"icon":28},"Getting Started","\u002Fgetting-started","01.getting-started\u002F1.index",[9,13,18,23],{"title":10,"path":6,"stem":7,"icon":11,"exact":12},"What is Poly?","i-lucide-house",true,{"title":14,"path":15,"stem":16,"icon":17},"Installation","\u002Fgetting-started\u002Finstallation","01.getting-started\u002F2.installation","i-lucide-download",{"title":19,"path":20,"stem":21,"icon":22},"Quickstart","\u002Fgetting-started\u002Fquickstart","01.getting-started\u002F3.quickstart","i-lucide-rocket",{"title":24,"path":25,"stem":26,"icon":27},"Migrate to Poly","\u002Fgetting-started\u002Fmigrate-to-poly","01.getting-started\u002F4.migrate-to-poly","i-lucide-replace",false,{"title":30,"path":31,"stem":32,"children":33,"icon":28},"File Browser","\u002Ffile-browser","02.file-browser\u002F01.index",[34,37,42,47,52,57,62,67,72,113,118],{"title":35,"path":31,"stem":32,"icon":36,"exact":12},"Overview","i-lucide-folder-open",{"title":38,"path":39,"stem":40,"icon":41},"Uploading Files","\u002Ffile-browser\u002Fuploading-your-files","02.file-browser\u002F02.uploading-your-files","i-lucide-upload",{"title":43,"path":44,"stem":45,"icon":46},"Navigating Your Files","\u002Ffile-browser\u002Fnavigating-your-files","02.file-browser\u002F03.navigating-your-files","i-lucide-map",{"title":48,"path":49,"stem":50,"icon":51},"Sidebar","\u002Ffile-browser\u002Fsidebar","02.file-browser\u002F04.sidebar","i-lucide-panel-left",{"title":53,"path":54,"stem":55,"icon":56},"Saved Searches","\u002Ffile-browser\u002Fsaved-searches","02.file-browser\u002F05.saved-searches","i-lucide-folder-search",{"title":58,"path":59,"stem":60,"icon":61},"Supported File Types","\u002Ffile-browser\u002Fsupported-file-types","02.file-browser\u002F06.supported-file-types","i-lucide-file",{"title":63,"path":64,"stem":65,"icon":66},"View Modes","\u002Ffile-browser\u002Fview-modes","02.file-browser\u002F07.view-modes","i-lucide-layout-grid",{"title":68,"path":69,"stem":70,"icon":71},"Quick View (Peek)","\u002Ffile-browser\u002Fquick-view","02.file-browser\u002F08.quick-view","i-lucide-eye",{"title":73,"path":74,"stem":75,"children":76,"icon":78},"Tools Menu","\u002Ffile-browser\u002Ftools-menu","02.file-browser\u002F09.tools-menu\u002F1.index",[77,79,84,89,94,99,104,108],{"title":73,"path":74,"stem":75,"icon":78,"exact":12},"i-lucide-wrench",{"title":80,"path":81,"stem":82,"icon":83},"Agent","\u002Ffile-browser\u002Ftools-menu\u002Fagent","02.file-browser\u002F09.tools-menu\u002F2.agent","i-lucide-bot",{"title":85,"path":86,"stem":87,"icon":88},"Chats","\u002Ffile-browser\u002Ftools-menu\u002Fchats","02.file-browser\u002F09.tools-menu\u002F3.chats","i-lucide-message-square",{"title":90,"path":91,"stem":92,"icon":93},"Outline","\u002Ffile-browser\u002Ftools-menu\u002Foutline","02.file-browser\u002F09.tools-menu\u002F4.outline","i-lucide-list",{"title":95,"path":96,"stem":97,"icon":98},"Details Panel","\u002Ffile-browser\u002Ftools-menu\u002Fdetails","02.file-browser\u002F09.tools-menu\u002F5.details","i-lucide-panel-right",{"title":100,"path":101,"stem":102,"icon":103},"Activity","\u002Ffile-browser\u002Ftools-menu\u002Factivity","02.file-browser\u002F09.tools-menu\u002F6.activity","i-lucide-activity",{"title":105,"path":106,"stem":107,"icon":66},"Waterfall","\u002Ffile-browser\u002Ftools-menu\u002Fwaterfall","02.file-browser\u002F09.tools-menu\u002F7.waterfall",{"title":109,"path":110,"stem":111,"icon":112},"Flashback","\u002Ffile-browser\u002Ftools-menu\u002Fflashback","02.file-browser\u002F09.tools-menu\u002F8.flashback","i-lucide-zap",{"title":114,"path":115,"stem":116,"icon":117},"Keyboard Shortcuts","\u002Ffile-browser\u002Fkeyboard-shortcuts","02.file-browser\u002F10.keyboard-shortcuts","i-lucide-keyboard",{"title":119,"path":120,"stem":121,"icon":122},"Offline Use","\u002Ffile-browser\u002Foffline-use","02.file-browser\u002F11.offline-use","i-lucide-wifi-off",{"title":124,"path":125,"stem":126,"children":127,"icon":28},"Searching","\u002Fsearching","03.searching\u002F1.index",[128,130,135,140,145,150],{"title":35,"path":125,"stem":126,"icon":129,"exact":12},"i-lucide-search",{"title":131,"path":132,"stem":133,"icon":134},"Text Queries","\u002Fsearching\u002Ftext-queries","03.searching\u002F2.text-queries","i-lucide-text-search",{"title":136,"path":137,"stem":138,"icon":139},"Searching by File","\u002Fsearching\u002Fsearching-by-file","03.searching\u002F3.searching-by-file","i-lucide-scan-search",{"title":141,"path":142,"stem":143,"icon":144},"Searching by File Part","\u002Fsearching\u002Fsearching-by-file-part","03.searching\u002F4.searching-by-file-part","i-lucide-crop",{"title":146,"path":147,"stem":148,"icon":149},"Searching by Color","\u002Fsearching\u002Fsearching-by-color","03.searching\u002F5.searching-by-color","i-lucide-palette",{"title":151,"path":152,"stem":153,"icon":154},"Faceted Search & Advanced Search","\u002Fsearching\u002Ffaceted-search","03.searching\u002F6.faceted-search","i-lucide-filter",{"title":156,"path":157,"stem":158,"children":159,"icon":28},"Desktop","\u002Fdesktop","04.desktop\u002F1.index",[160,163,168,173,178,183,188],{"title":161,"path":157,"stem":158,"icon":162,"exact":12},"Intro","i-lucide-monitor",{"title":164,"path":165,"stem":166,"icon":167},"Sync Folder","\u002Fdesktop\u002Fsync-folder","04.desktop\u002F2.sync-folder","i-lucide-folder-sync",{"title":169,"path":170,"stem":171,"icon":172},"CLI","\u002Fdesktop\u002Fcli","04.desktop\u002F3.cli","i-lucide-square-terminal",{"title":174,"path":175,"stem":176,"icon":177},"Tags & Colors","\u002Fdesktop\u002Ftags-and-colors","04.desktop\u002F4.tags-and-colors","i-lucide-tags",{"title":179,"path":180,"stem":181,"icon":182},"Bookmarks","\u002Fdesktop\u002Fbookmarks","04.desktop\u002F5.bookmarks","i-lucide-bookmark",{"title":184,"path":185,"stem":186,"icon":187},"Spotlight & Handoff","\u002Fdesktop\u002Fspotlight-and-handoff","04.desktop\u002F6.spotlight-and-handoff","i-lucide-sparkles",{"title":189,"path":190,"stem":191,"icon":192},"Differences from Web","\u002Fdesktop\u002Fdifferences-from-web","04.desktop\u002F7.differences-from-web","i-lucide-app-window",{"title":80,"path":194,"stem":195,"children":196,"icon":28,"defaultOpen":28},"\u002Fagent","05.agent\u002F1.index",[197,198,203,207,212,217],{"title":35,"path":194,"stem":195,"icon":83,"exact":12},{"title":199,"path":200,"stem":201,"icon":202},"Reading & Summarizing Files","\u002Fagent\u002Freading-and-summarizing","05.agent\u002F2.reading-and-summarizing","i-lucide-book-open",{"title":204,"path":205,"stem":206,"icon":129},"AI-Powered Searching","\u002Fagent\u002Fsearching","05.agent\u002F3.searching",{"title":208,"path":209,"stem":210,"icon":211},"Creating and Editing Files","\u002Fagent\u002Fcreating-and-editing-files","05.agent\u002F4.creating-and-editing-files","i-lucide-file-pen",{"title":213,"path":214,"stem":215,"icon":216},"Organizing Files","\u002Fagent\u002Forganizing-files","05.agent\u002F5.organizing-files","i-lucide-folder-symlink",{"title":218,"path":219,"stem":220,"icon":221},"Complex, Multi-Step Tasks","\u002Fagent\u002Fcomplex-tasks","05.agent\u002F6.complex-tasks","i-lucide-workflow",{"title":223,"path":224,"stem":225,"children":226,"icon":28,"defaultOpen":28},"Recovering Files","\u002Frecovering-files","06.recovering-files\u002F1.index",[227,229,233,236,241,246],{"title":35,"path":224,"stem":225,"icon":228,"exact":12},"i-lucide-history",{"title":230,"path":231,"stem":232,"icon":71},"Viewing Versions","\u002Frecovering-files\u002Fviewing-versions","06.recovering-files\u002F2.viewing-versions",{"title":109,"path":234,"stem":235,"icon":112},"\u002Frecovering-files\u002Fflashback","06.recovering-files\u002F3.flashback",{"title":237,"path":238,"stem":239,"icon":240},"Restoring Versions","\u002Frecovering-files\u002Frestoring-versions","06.recovering-files\u002F4.restoring-versions","i-lucide-rotate-ccw",{"title":242,"path":243,"stem":244,"icon":245},"Reverting Changes","\u002Frecovering-files\u002Freverting-changes","06.recovering-files\u002F5.reverting-changes","i-lucide-undo-2",{"title":247,"path":248,"stem":249,"icon":250},"Limitations","\u002Frecovering-files\u002Flimitations","06.recovering-files\u002F6.limitations","i-lucide-triangle-alert",{"title":252,"path":253,"stem":254,"children":255,"icon":28,"defaultOpen":28},"Sharing","\u002Fsharing","07.sharing\u002F1.index",[256,258,262],{"title":35,"path":253,"stem":254,"icon":257,"exact":12},"i-lucide-share-2",{"title":259,"path":260,"stem":261,"icon":257},"Sharing Files","\u002Fsharing\u002Fsharing-files","07.sharing\u002F2.sharing-files",{"title":263,"path":264,"stem":265,"icon":266},"Shared Drives","\u002Fsharing\u002Fshared-drives","07.sharing\u002F3.shared-drives","i-lucide-users",{"title":169,"path":268,"stem":269,"children":270,"icon":28,"defaultOpen":28},"\u002Fcli","08.cli\u002F1.index",[271,273,278,399,404],{"title":14,"path":268,"stem":269,"icon":272,"exact":12},"i-lucide-terminal",{"title":274,"path":275,"stem":276,"icon":277},"How it Works","\u002Fcli\u002Fhow-it-works","08.cli\u002F2.how-it-works","i-lucide-cog",{"title":279,"path":280,"stem":281,"children":282,"icon":284},"Commands","\u002Fcli\u002Fcommands","08.cli\u002F3.commands\u002F01.index",[283,285,289,293,297,302,307,312,317,322,327,332,337,342,347,351,356,360,365,369,373,377,382,386,390,394],{"title":279,"path":280,"stem":281,"icon":284,"exact":12},"i-lucide-list-tree",{"title":286,"path":287,"stem":288,"icon":93},"ls","\u002Fcli\u002Fcommands\u002Fls","08.cli\u002F3.commands\u002F02.ls",{"title":290,"path":291,"stem":292,"icon":56},"find","\u002Fcli\u002Fcommands\u002Ffind","08.cli\u002F3.commands\u002F03.find",{"title":294,"path":295,"stem":296,"icon":129},"search","\u002Fcli\u002Fcommands\u002Fsearch","08.cli\u002F3.commands\u002F04.search",{"title":298,"path":299,"stem":300,"icon":301},"cp","\u002Fcli\u002Fcommands\u002Fcp","08.cli\u002F3.commands\u002F05.cp","i-lucide-copy",{"title":303,"path":304,"stem":305,"icon":306},"mv","\u002Fcli\u002Fcommands\u002Fmv","08.cli\u002F3.commands\u002F06.mv","i-lucide-move",{"title":308,"path":309,"stem":310,"icon":311},"rm","\u002Fcli\u002Fcommands\u002Frm","08.cli\u002F3.commands\u002F07.rm","i-lucide-trash-2",{"title":313,"path":314,"stem":315,"icon":316},"mkdir","\u002Fcli\u002Fcommands\u002Fmkdir","08.cli\u002F3.commands\u002F08.mkdir","i-lucide-folder-plus",{"title":318,"path":319,"stem":320,"icon":321},"mkurl","\u002Fcli\u002Fcommands\u002Fmkurl","08.cli\u002F3.commands\u002F09.mkurl","i-lucide-link",{"title":323,"path":324,"stem":325,"icon":326},"mksearch","\u002Fcli\u002Fcommands\u002Fmksearch","08.cli\u002F3.commands\u002F10.mksearch","i-lucide-search-code",{"title":328,"path":329,"stem":330,"icon":331},"mkdrive","\u002Fcli\u002Fcommands\u002Fmkdrive","08.cli\u002F3.commands\u002F11.mkdrive","i-lucide-hard-drive",{"title":333,"path":334,"stem":335,"icon":336},"rmdrive","\u002Fcli\u002Fcommands\u002Frmdrive","08.cli\u002F3.commands\u002F12.rmdrive","i-lucide-trash",{"title":338,"path":339,"stem":340,"icon":341},"wget","\u002Fcli\u002Fcommands\u002Fwget","08.cli\u002F3.commands\u002F13.wget","i-lucide-cloud-download",{"title":343,"path":344,"stem":345,"icon":346},"file show","\u002Fcli\u002Fcommands\u002Ffile-show","08.cli\u002F3.commands\u002F14.file-show","i-lucide-info",{"title":348,"path":349,"stem":350,"icon":202},"file read","\u002Fcli\u002Fcommands\u002Ffile-read","08.cli\u002F3.commands\u002F15.file-read",{"title":352,"path":353,"stem":354,"icon":355},"file write","\u002Fcli\u002Fcommands\u002Ffile-write","08.cli\u002F3.commands\u002F16.file-write","i-lucide-pencil",{"title":357,"path":358,"stem":359,"icon":211},"file update","\u002Fcli\u002Fcommands\u002Ffile-update","08.cli\u002F3.commands\u002F17.file-update",{"title":361,"path":362,"stem":363,"icon":364},"file search","\u002Fcli\u002Fcommands\u002Ffile-search","08.cli\u002F3.commands\u002F18.file-search","i-lucide-file-search",{"title":366,"path":367,"stem":368,"icon":228},"file history","\u002Fcli\u002Fcommands\u002Ffile-history","08.cli\u002F3.commands\u002F19.file-history",{"title":370,"path":371,"stem":372,"icon":240},"file restore","\u002Fcli\u002Fcommands\u002Ffile-restore","08.cli\u002F3.commands\u002F20.file-restore",{"title":374,"path":375,"stem":376,"icon":245},"file revert","\u002Fcli\u002Fcommands\u002Ffile-revert","08.cli\u002F3.commands\u002F21.file-revert",{"title":378,"path":379,"stem":380,"icon":381},"file open","\u002Fcli\u002Fcommands\u002Ffile-open","08.cli\u002F3.commands\u002F22.file-open","i-lucide-external-link",{"title":383,"path":384,"stem":385,"icon":17},"file download","\u002Fcli\u002Fcommands\u002Ffile-download","08.cli\u002F3.commands\u002F23.file-download",{"title":387,"path":388,"stem":389,"icon":257},"file share","\u002Fcli\u002Fcommands\u002Ffile-share","08.cli\u002F3.commands\u002F24.file-share",{"title":391,"path":392,"stem":393,"icon":192},"app","\u002Fcli\u002Fcommands\u002Fapp","08.cli\u002F3.commands\u002F25.app",{"title":395,"path":396,"stem":397,"icon":398},"auth","\u002Fcli\u002Fcommands\u002Fauth","08.cli\u002F3.commands\u002F26.auth","i-lucide-key-round",{"title":400,"path":401,"stem":402,"icon":403},"Global Flags","\u002Fcli\u002Fglobal-flags","08.cli\u002F4.global-flags","i-lucide-sliders-horizontal",{"title":405,"path":406,"stem":407,"icon":83},"Agent Skill","\u002Fcli\u002Fagent-skill","08.cli\u002F5.agent-skill",{"title":409,"path":410,"stem":411,"children":412,"icon":28,"defaultOpen":28},"Privacy & Security","\u002Fprivacy-and-security","09.privacy-and-security\u002F1.index",[413],{"title":414,"path":410,"stem":411,"icon":415,"exact":12},"Our Privacy Commitment","i-lucide-shield-check",{"title":417,"path":418,"stem":419,"children":420,"icon":28,"defaultOpen":28},"Integrations & MCP","\u002Fintegrations","10.integrations\u002F1.index",[421,423,428,433,438,442,447,452],{"title":35,"path":418,"stem":419,"icon":422,"exact":12},"i-lucide-plug",{"title":424,"path":425,"stem":426,"icon":427},"Claude Code","\u002Fintegrations\u002Fclaude-code","10.integrations\u002F2.claude-code","i-simple-icons-claude",{"title":429,"path":430,"stem":431,"icon":432},"Claude CoWork (Desktop)","\u002Fintegrations\u002Fclaude-cowork","10.integrations\u002F3.claude-cowork","i-simple-icons-anthropic",{"title":434,"path":435,"stem":436,"icon":437},"ChatGPT Work (Desktop)","\u002Fintegrations\u002Fchatgpt-work","10.integrations\u002F4.chatgpt-work","i-simple-icons-openai",{"title":439,"path":440,"stem":441,"icon":437},"ChatGPT","\u002Fintegrations\u002Fchatgpt","10.integrations\u002F5.chatgpt",{"title":443,"path":444,"stem":445,"icon":446},"Gemini","\u002Fintegrations\u002Fgemini","10.integrations\u002F6.gemini","i-simple-icons-googlegemini",{"title":448,"path":449,"stem":450,"icon":451},"VS Code & Cursor","\u002Fintegrations\u002Fvscode-cursor","10.integrations\u002F7.vscode-cursor","i-simple-icons-visualstudiocode",{"title":453,"path":454,"stem":455,"icon":78},"Using MCP","\u002Fintegrations\u002Fusing-mcp","10.integrations\u002F8.using-mcp",{"title":457,"path":458,"stem":459,"children":460,"icon":28,"defaultOpen":28},"Troubleshooting","\u002Ftroubleshooting","11.troubleshooting\u002F1.index",[461],{"title":457,"path":458,"stem":459,"icon":78,"exact":12},{"title":463,"path":464,"stem":465,"children":466,"icon":28,"defaultOpen":28},"Roadmap","\u002Froadmap","12.roadmap\u002F1.index",[467],{"title":463,"path":464,"stem":465,"icon":46,"exact":12},{"title":469,"icon":28,"defaultOpen":28,"path":470,"stem":471,"children":472,"page":28},"Releases","\u002Freleases","13.releases",[473,477],{"title":474,"path":475,"stem":476},"Latest","\u002Freleases\u002Fall-releases\u002F2026-09-01-v0-beta-09-01","13.releases\u002F1.latest",{"title":478,"icon":28,"defaultOpen":28,"path":479,"stem":480,"children":481,"page":28},"All releases","\u002Freleases\u002Fall-releases","13.releases\u002F2.all-releases",[482,489,497,505,513,521,529,537,545,553,561,569,577,585,593,601,609,617,625,633,641,649,657,665],{"title":483,"path":475,"stem":484,"release-notes":485},"v0.beta.2026.09.01","13.releases\u002F2.all-releases\u002F2026-09-01-v0-beta-09-01",{"date":486,"banner":487,"icon":488,"version":483},"2026-09-01","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-09-01\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-09-01\u002Fsticker.png",{"title":490,"path":491,"stem":492,"release-notes":493},"v0.beta.2026.08.27","\u002Freleases\u002Fall-releases\u002F2026-08-27-v0-beta-08-27","13.releases\u002F2.all-releases\u002F2026-08-27-v0-beta-08-27",{"date":494,"banner":495,"icon":496,"version":490},"2026-08-27","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-27\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-27\u002Ficon.png",{"title":498,"path":499,"stem":500,"release-notes":501},"v0.beta.2026.08.18","\u002Freleases\u002Fall-releases\u002F2026-08-18-v0-beta-08-18","13.releases\u002F2.all-releases\u002F2026-08-18-v0-beta-08-18",{"date":502,"banner":503,"icon":504,"version":498},"2026-08-18","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-18\u002Fbanner.png","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-18\u002Fsticker.png",{"title":506,"path":507,"stem":508,"release-notes":509},"v0.beta.2026.08.11","\u002Freleases\u002Fall-releases\u002F2026-08-11-v0-beta-08-11","13.releases\u002F2.all-releases\u002F2026-08-11-v0-beta-08-11",{"date":510,"banner":511,"icon":512,"version":506},"2026-08-11","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-11\u002Fbanner.png","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-11\u002FUnknown-12.png",{"title":514,"path":515,"stem":516,"release-notes":517},"v0.beta.2026.01.22","\u002Freleases\u002Fall-releases\u002F2026-01-22-v0-beta-01-22","13.releases\u002F2.all-releases\u002F2026-01-22-v0-beta-01-22",{"date":518,"banner":519,"icon":520,"version":514},"2026-01-22","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-22\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-22\u002Ficon.webp",{"title":522,"path":523,"stem":524,"release-notes":525},"v0.beta.2026.01.13","\u002Freleases\u002Fall-releases\u002F2026-01-13-v0-beta-01-13","13.releases\u002F2.all-releases\u002F2026-01-13-v0-beta-01-13",{"date":526,"banner":527,"icon":528,"version":522},"2026-01-13","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-13\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-13\u002Ficon.webp",{"title":530,"path":531,"stem":532,"release-notes":533},"v0.beta.2026.01.09","\u002Freleases\u002Fall-releases\u002F2026-01-09-v0-beta-01-09","13.releases\u002F2.all-releases\u002F2026-01-09-v0-beta-01-09",{"date":534,"banner":535,"icon":536,"version":530},"2026-01-09","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-09\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-09\u002Ficon.webp",{"title":538,"path":539,"stem":540,"release-notes":541},"v0.beta.2025.12.31","\u002Freleases\u002Fall-releases\u002F2025-12-31-v0-beta-12-31","13.releases\u002F2.all-releases\u002F2025-12-31-v0-beta-12-31",{"date":542,"banner":543,"icon":544,"version":538},"2025-12-31","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-31\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-31\u002Ficon.webp",{"title":546,"path":547,"stem":548,"release-notes":549},"v0.beta.2025.12.26","\u002Freleases\u002Fall-releases\u002F2025-12-26-v0-beta-12-26","13.releases\u002F2.all-releases\u002F2025-12-26-v0-beta-12-26",{"date":550,"banner":551,"icon":552,"version":546},"2025-12-26","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-26\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-26\u002Ficon.webp",{"title":554,"path":555,"stem":556,"release-notes":557},"v0.beta.2025.12.16","\u002Freleases\u002Fall-releases\u002F2025-12-16-v0-beta-12-16","13.releases\u002F2.all-releases\u002F2025-12-16-v0-beta-12-16",{"date":558,"banner":559,"icon":560,"version":554},"2025-12-16","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-16\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-16\u002Ficon.webp",{"title":562,"path":563,"stem":564,"release-notes":565},"v0.beta.2025.12.12","\u002Freleases\u002Fall-releases\u002F2025-12-12-v0-beta-12-12","13.releases\u002F2.all-releases\u002F2025-12-12-v0-beta-12-12",{"date":566,"banner":567,"icon":568,"version":562},"2025-12-12","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-12\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-12\u002Ficon.webp",{"title":570,"path":571,"stem":572,"release-notes":573},"v0.beta.2025.12.03","\u002Freleases\u002Fall-releases\u002F2025-12-03-v0-beta-12-03","13.releases\u002F2.all-releases\u002F2025-12-03-v0-beta-12-03",{"date":574,"banner":575,"icon":576,"version":570},"2025-12-03","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-03\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-03\u002Ficon.webp",{"title":578,"path":579,"stem":580,"release-notes":581},"v0.beta.2025.11.26","\u002Freleases\u002Fall-releases\u002F2025-11-26-v0-beta-11-26","13.releases\u002F2.all-releases\u002F2025-11-26-v0-beta-11-26",{"date":582,"banner":583,"icon":584,"version":578},"2025-11-26","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-26\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-26\u002Ficon.webp",{"title":586,"path":587,"stem":588,"release-notes":589},"v0.beta.2025.11.19","\u002Freleases\u002Fall-releases\u002F2025-11-19-v0-beta-11-19","13.releases\u002F2.all-releases\u002F2025-11-19-v0-beta-11-19",{"date":590,"banner":591,"icon":592,"version":586},"2025-11-19","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-19\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-19\u002Ficon.webp",{"title":594,"path":595,"stem":596,"release-notes":597},"v0.beta.2025.11.13","\u002Freleases\u002Fall-releases\u002F2025-11-13-v0-beta-11-13","13.releases\u002F2.all-releases\u002F2025-11-13-v0-beta-11-13",{"date":598,"banner":599,"icon":600,"version":594},"2025-11-13","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-13\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-13\u002Ficon.webp",{"title":602,"path":603,"stem":604,"release-notes":605},"v0.beta.2025.11.05","\u002Freleases\u002Fall-releases\u002F2025-11-05-v0-beta-11-05","13.releases\u002F2.all-releases\u002F2025-11-05-v0-beta-11-05",{"date":606,"banner":607,"icon":608,"version":602},"2025-11-05","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-05\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-05\u002Ficon.webp",{"title":610,"path":611,"stem":612,"release-notes":613},"v0.beta.2025.10.29","\u002Freleases\u002Fall-releases\u002F2025-10-29-v0-beta-10-29","13.releases\u002F2.all-releases\u002F2025-10-29-v0-beta-10-29",{"date":614,"banner":615,"icon":616,"version":610},"2025-10-29","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-29\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-29\u002Ficon.webp",{"title":618,"path":619,"stem":620,"release-notes":621},"v0.beta.2025.10.21","\u002Freleases\u002Fall-releases\u002F2025-10-21-v0-beta-10-21","13.releases\u002F2.all-releases\u002F2025-10-21-v0-beta-10-21",{"date":622,"banner":623,"icon":624,"version":618},"2025-10-21","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-21\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-21\u002Ficon.webp",{"title":626,"path":627,"stem":628,"release-notes":629},"v0.beta.2025.10.14","\u002Freleases\u002Fall-releases\u002F2025-10-14-v0-beta-10-14","13.releases\u002F2.all-releases\u002F2025-10-14-v0-beta-10-14",{"date":630,"banner":631,"icon":632,"version":626},"2025-10-14","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-14\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-14\u002Ficon.webp",{"title":634,"path":635,"stem":636,"release-notes":637},"v0.beta.2025.10.08","\u002Freleases\u002Fall-releases\u002F2025-10-08-v0-beta-10-08","13.releases\u002F2.all-releases\u002F2025-10-08-v0-beta-10-08",{"date":638,"banner":639,"icon":640,"version":634},"2025-10-08","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-08\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-08\u002Ficon.webp",{"title":642,"path":643,"stem":644,"release-notes":645},"v0.beta.2025.10.01","\u002Freleases\u002Fall-releases\u002F2025-10-01-v0-beta-10-01","13.releases\u002F2.all-releases\u002F2025-10-01-v0-beta-10-01",{"date":646,"banner":647,"icon":648,"version":642},"2025-10-01","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-01\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-01\u002Ficon.webp",{"title":650,"path":651,"stem":652,"release-notes":653},"v0.beta.2025.09.23","\u002Freleases\u002Fall-releases\u002F2025-09-23-v0-beta-09-23","13.releases\u002F2.all-releases\u002F2025-09-23-v0-beta-09-23",{"date":654,"banner":655,"icon":656,"version":650},"2025-09-23","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-23\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-23\u002Ficon.webp",{"title":658,"path":659,"stem":660,"release-notes":661},"v0.beta.2025.09.16","\u002Freleases\u002Fall-releases\u002F2025-09-16-v0-beta-09-16","13.releases\u002F2.all-releases\u002F2025-09-16-v0-beta-09-16",{"date":662,"banner":663,"icon":664,"version":658},"2025-09-16","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-16\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-16\u002Ficon.webp",{"title":666,"path":667,"stem":668,"release-notes":669},"v0.beta.2025.09.03","\u002Freleases\u002Fall-releases\u002F2025-09-03-v0-beta-09-03","13.releases\u002F2.all-releases\u002F2025-09-03-v0-beta-09-03",{"date":670,"banner":671,"icon":672,"version":666},"2025-09-03","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-03\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-03\u002Ficon.webp",{"id":674,"title":675,"body":676,"description":1648,"extension":1649,"file-extension":1650,"links":1650,"meta":1651,"mime-type":1652,"navigation":28,"path":1670,"release-notes":1650,"seo":1671,"stem":1674,"__hash__":1675},"docs\u002Fmime-types\u002Ftext\u002Fevent-stream.md","Server-Sent Events MIME Type",{"type":677,"value":678,"toc":1634},"minimark",[679,689,725,742,752,767,771,803,806,810,819,890,907,910,919,938,945,967,1151,1186,1204,1208,1212,1229,1234,1241,1244,1321,1331,1335,1338,1341,1359,1371,1375,1384,1397,1400,1630],[680,681,683,684,688],"h2",{"id":682},"what-does-textevent-stream-mean","What does ",[685,686,687],"code",{},"text\u002Fevent-stream"," mean?",[690,691,692,693,695,696,700,701,704,705,717],"p",{},"The ",[685,694,687],{}," MIME type identifies the wire format for ",[697,698,699],"strong",{},"server-sent events",", usually shortened to SSE. A server keeps an HTTP response open and sends UTF-8 text records as updates become available. Browser code receives those records through the ",[685,702,703],{},"EventSource"," API.",[706,707,708],"sup",{},[709,710,716],"a",{"href":711,"ariaDescribedBy":712,"dataFootnoteRef":714,"id":715},"#user-content-fn-1",[713],"footnote-label","","user-content-fnref-1","1",[706,718,719],{},[709,720,724],{"href":721,"ariaDescribedBy":722,"dataFootnoteRef":714,"id":723},"#user-content-fn-2",[713],"user-content-fnref-2","2",[690,726,727,728,734],{},"SSE is one-way. The server sends updates to the client over the open response, while the client uses ordinary HTTP requests when it needs to send something back. That makes SSE a natural fit for notifications, progress updates, live logs, dashboards, and other feeds where the browser mainly listens.",[706,729,730],{},[709,731,724],{"href":721,"ariaDescribedBy":732,"dataFootnoteRef":714,"id":733},[713],"user-content-fnref-2-2",[706,735,736],{},[709,737,741],{"href":738,"ariaDescribedBy":739,"dataFootnoteRef":714,"id":740},"#user-content-fn-3",[713],"user-content-fnref-3","3",[690,743,744,745,751],{},"The registration recommends no file extension and defines no identifying magic number. It also says the type is intended for dynamic, open-ended streams rather than finite resources.",[706,746,747],{},[709,748,716],{"href":711,"ariaDescribedBy":749,"dataFootnoteRef":714,"id":750},[713],"user-content-fnref-1-2"," A saved response can still be useful as a debugging capture, but the MIME type describes a streamed HTTP representation, not a conventional document format.",[753,754,755,757,758,762,763,766],"note",{},[685,756,687],{}," is the format of the HTTP response body. It is not the ",[709,759,761],{"href":760},"\u002Fmime-types\u002Ftext\u002Fjavascript","JavaScript"," event type and it does not require each ",[685,764,765],{},"data:"," value to be JSON.",[680,768,770],{"id":769},"where-did-server-sent-events-come-from","Where did server-sent events come from?",[690,772,773,774,776,777,785,786,790,791,797],{},"Ian Hickson authored the media-type registration and early EventSource specification work. W3C published Server-Sent Events as a standalone Working Draft in 2009, including the ",[685,775,687],{}," registration template.",[706,778,779],{},[709,780,784],{"href":781,"ariaDescribedBy":782,"dataFootnoteRef":714,"id":783},"#user-content-fn-5",[713],"user-content-fnref-5","4"," The feature later became part of the continuously maintained WHATWG ",[709,787,789],{"href":788},"\u002Fmime-types\u002Ftext\u002Fhtml","HTML"," Standard, which remains the format's normative specification.",[706,792,793],{},[709,794,716],{"href":711,"ariaDescribedBy":795,"dataFootnoteRef":714,"id":796},[713],"user-content-fnref-1-3",[706,798,799],{},[709,800,724],{"href":721,"ariaDescribedBy":801,"dataFootnoteRef":714,"id":802},[713],"user-content-fnref-2-3",[690,804,805],{},"The design deliberately builds on HTTP and a small line-oriented grammar. That gives browsers a standard way to reconnect and dispatch named events without requiring a bidirectional socket protocol.",[680,807,809],{"id":808},"how-is-an-sse-message-formatted","How is an SSE message formatted?",[690,811,812,813],{},"An event stream is divided into blocks by blank lines. Within a block, each line has a field name, a colon, and an optional value. The standard gives special meaning to four field names:",[706,814,815],{},[709,816,724],{"href":721,"ariaDescribedBy":817,"dataFootnoteRef":714,"id":818},[713],"user-content-fnref-2-4",[820,821,822,835],"table",{},[823,824,825],"thead",{},[826,827,828,832],"tr",{},[829,830,831],"th",{},"Field",[829,833,834],{},"What it controls",[836,837,838,852,870,880],"tbody",{},[826,839,840,846],{},[841,842,843],"td",{},[685,844,845],{},"data",[841,847,848,849,851],{},"Adds text to the event payload. Consecutive ",[685,850,845],{}," lines are joined with newline characters.",[826,853,854,859],{},[841,855,856],{},[685,857,858],{},"event",[841,860,861,862,865,866,869],{},"Names the event delivered to an ",[685,863,864],{},"addEventListener()"," handler. Without it, the event type is ",[685,867,868],{},"message",".",[826,871,872,877],{},[841,873,874],{},[685,875,876],{},"id",[841,878,879],{},"Updates the connection's last event ID, which can be sent back when reconnecting.",[826,881,882,887],{},[841,883,884],{},[685,885,886],{},"retry",[841,888,889],{},"Changes the reconnection delay when its value is a valid integer number of milliseconds.",[690,891,892,893,899],{},"Lines beginning with a colon are comments. They dispatch no event, so servers often use them as periodic keep-alives. Unknown field names are ignored. An event is dispatched only when the parser reaches the blank line at the end of its block.",[706,894,895],{},[709,896,724],{"href":721,"ariaDescribedBy":897,"dataFootnoteRef":714,"id":898},[713],"user-content-fnref-2-5",[706,900,901],{},[709,902,906],{"href":903,"ariaDescribedBy":904,"dataFootnoteRef":714,"id":905},"#user-content-fn-4",[713],"user-content-fnref-4","5",[690,908,909],{},"This response sends a named progress event followed by an ordinary message:",[911,912,917],"pre",{"className":913,"code":915,"language":916,"meta":714},[914],"language-text","event: progress\nid: job-42-3\ndata: {\"percent\":75}\n\ndata: Processing complete\n\n","text",[685,918,915],{"__ignoreMap":714},[690,920,921,922,925,926,932],{},"Event streams must use UTF-8. Line endings may be CRLF, LF, or CR, and an optional UTF-8 byte order mark is ignored at the start. The ",[685,923,924],{},"charset=utf-8"," parameter is allowed for compatibility with older servers, but it cannot select another encoding.",[706,927,928],{},[709,929,716],{"href":711,"ariaDescribedBy":930,"dataFootnoteRef":714,"id":931},[713],"user-content-fnref-1-4",[706,933,934],{},[709,935,724],{"href":721,"ariaDescribedBy":936,"dataFootnoteRef":714,"id":937},[713],"user-content-fnref-2-6",[680,939,941,942,944],{"id":940},"how-do-you-serve-and-consume-textevent-stream","How do you serve and consume ",[685,943,687],{},"?",[690,946,947,948,951,952,954,955,961],{},"The server returns an HTTP success response with ",[685,949,950],{},"Content-Type: text\u002Fevent-stream",", then flushes each completed event block instead of waiting for the response to finish. A browser client can connect with a small amount of ",[709,953,761],{"href":760},":",[706,956,957],{},[709,958,724],{"href":721,"ariaDescribedBy":959,"dataFootnoteRef":714,"id":960},[713],"user-content-fnref-2-7",[706,962,963],{},[709,964,906],{"href":903,"ariaDescribedBy":965,"dataFootnoteRef":714,"id":966},[713],"user-content-fnref-4-2",[911,968,972],{"className":969,"code":970,"language":971,"meta":714,"style":714},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const source = new EventSource(\"\u002Fevents\")\n\nsource.addEventListener(\"progress\", (event) => {\n  console.log(JSON.parse(event.data))\n})\n\nsource.onmessage = (event) => {\n  console.log(event.data)\n}\n","js",[685,973,974,1013,1019,1057,1090,1098,1103,1126,1145],{"__ignoreMap":714},[975,976,979,983,987,991,994,998,1001,1004,1008,1010],"span",{"class":977,"line":978},"line",1,[975,980,982],{"class":981},"spNyl","const",[975,984,986],{"class":985},"sTEyZ"," source ",[975,988,990],{"class":989},"sMK4o","=",[975,992,993],{"class":989}," new",[975,995,997],{"class":996},"s2Zo4"," EventSource",[975,999,1000],{"class":985},"(",[975,1002,1003],{"class":989},"\"",[975,1005,1007],{"class":1006},"sfazB","\u002Fevents",[975,1009,1003],{"class":989},[975,1011,1012],{"class":985},")\n",[975,1014,1016],{"class":977,"line":1015},2,[975,1017,1018],{"emptyLinePlaceholder":12},"\n",[975,1020,1022,1025,1027,1030,1032,1034,1037,1039,1042,1045,1048,1051,1054],{"class":977,"line":1021},3,[975,1023,1024],{"class":985},"source",[975,1026,869],{"class":989},[975,1028,1029],{"class":996},"addEventListener",[975,1031,1000],{"class":985},[975,1033,1003],{"class":989},[975,1035,1036],{"class":1006},"progress",[975,1038,1003],{"class":989},[975,1040,1041],{"class":989},",",[975,1043,1044],{"class":989}," (",[975,1046,858],{"class":1047},"sHdIc",[975,1049,1050],{"class":989},")",[975,1052,1053],{"class":981}," =>",[975,1055,1056],{"class":989}," {\n",[975,1058,1060,1063,1065,1068,1071,1074,1076,1079,1081,1083,1085,1087],{"class":977,"line":1059},4,[975,1061,1062],{"class":985},"  console",[975,1064,869],{"class":989},[975,1066,1067],{"class":996},"log",[975,1069,1000],{"class":1070},"swJcz",[975,1072,1073],{"class":985},"JSON",[975,1075,869],{"class":989},[975,1077,1078],{"class":996},"parse",[975,1080,1000],{"class":1070},[975,1082,858],{"class":985},[975,1084,869],{"class":989},[975,1086,845],{"class":985},[975,1088,1089],{"class":1070},"))\n",[975,1091,1093,1096],{"class":977,"line":1092},5,[975,1094,1095],{"class":989},"}",[975,1097,1012],{"class":985},[975,1099,1101],{"class":977,"line":1100},6,[975,1102,1018],{"emptyLinePlaceholder":12},[975,1104,1106,1108,1110,1113,1116,1118,1120,1122,1124],{"class":977,"line":1105},7,[975,1107,1024],{"class":985},[975,1109,869],{"class":989},[975,1111,1112],{"class":996},"onmessage",[975,1114,1115],{"class":989}," =",[975,1117,1044],{"class":989},[975,1119,858],{"class":1047},[975,1121,1050],{"class":989},[975,1123,1053],{"class":981},[975,1125,1056],{"class":989},[975,1127,1129,1131,1133,1135,1137,1139,1141,1143],{"class":977,"line":1128},8,[975,1130,1062],{"class":985},[975,1132,869],{"class":989},[975,1134,1067],{"class":996},[975,1136,1000],{"class":1070},[975,1138,858],{"class":985},[975,1140,869],{"class":989},[975,1142,845],{"class":985},[975,1144,1012],{"class":1070},[975,1146,1148],{"class":977,"line":1147},9,[975,1149,1150],{"class":989},"}\n",[690,1152,1153,1155,1156,1158,1159,1162,1163,1165,1166,1169,1170,1173,1174,1180],{},[685,1154,703],{}," reconnects by default if the connection closes. An ",[685,1157,876],{}," field lets the browser remember a position and report it in the ",[685,1160,1161],{},"Last-Event-ID"," request header on a later connection. A ",[685,1164,886],{}," field adjusts the delay. Calling ",[685,1167,1168],{},"source.close()"," stops the connection, and an HTTP ",[685,1171,1172],{},"204 No Content"," response tells a conforming client not to reconnect.",[706,1175,1176],{},[709,1177,724],{"href":721,"ariaDescribedBy":1178,"dataFootnoteRef":714,"id":1179},[713],"user-content-fnref-2-8",[706,1181,1182],{},[709,1183,741],{"href":738,"ariaDescribedBy":1184,"dataFootnoteRef":714,"id":1185},[713],"user-content-fnref-3-2",[690,1187,1188,1189,869,1191,1197,1203],{},"Current Chrome, Edge, Firefox, Opera, and Safari releases support ",[685,1190,703],{},[706,1192,1193],{},[709,1194,724],{"href":721,"ariaDescribedBy":1195,"dataFootnoteRef":714,"id":1196},[713],"user-content-fnref-2-9",[706,1198,1199],{},[709,1200,741],{"href":738,"ariaDescribedBy":1201,"dataFootnoteRef":714,"id":1202},[713],"user-content-fnref-3-3"," The browser may still reject a response with an unsupported MIME type, failed CORS checks, invalid HTTP status, or a network error.",[1205,1206,1207],"tip",{},"When a feed appears to arrive in bursts, inspect buffering between the application and browser. A reverse proxy, compression layer, or server runtime may hold small writes even though the application has produced a complete event.",[680,1209,1211],{"id":1210},"support-in-poly","Support in Poly",[690,1213,1214,1215,1217,1218,1220,1221,1220,1223,1225,1226,1228],{},"Poly recognizes content that is explicitly labeled ",[685,1216,687],{},". A finite UTF-8 capture opens in the text editor, where its ",[685,1219,858],{},", ",[685,1222,845],{},[685,1224,876],{},", and ",[685,1227,886],{}," lines remain easy to inspect. Its readable text participates in exact and meaning-based search, and the Poly agent can summarize or reason about the saved capture.",[690,1230,1231,1232,869],{},"Poly treats the capture as text rather than as a live subscription. It does not connect to an SSE endpoint, wait for future events, replay timing, model reconnection state, or split the stream into individual event objects. Because the media type has no standard extension, a saved file may need its MIME type supplied explicitly; a filename alone does not identify it as ",[685,1233,687],{},[680,1235,1237,1238,944],{"id":1236},"is-sse-the-same-as-websockets-or-streaming-fetch","Is SSE the same as WebSockets or streaming ",[685,1239,1240],{},"fetch()",[690,1242,1243],{},"No. All three can deliver incremental data, but they provide different interfaces and message semantics.",[820,1245,1246,1265],{},[823,1247,1248],{},[826,1249,1250,1253,1256,1259,1262],{},[829,1251,1252],{},"Approach",[829,1254,1255],{},"Direction",[829,1257,1258],{},"Framing",[829,1260,1261],{},"Reconnection behavior",[829,1263,1264],{},"Good fit",[836,1266,1267,1286,1303],{},[826,1268,1269,1272,1275,1278,1283],{},[841,1270,1271],{},"Server-sent events",[841,1273,1274],{},"Server to client",[841,1276,1277],{},"UTF-8 fields and blank-line-delimited events",[841,1279,1280,1281],{},"Built into ",[685,1282,703],{},[841,1284,1285],{},"Notifications, progress, live text feeds",[826,1287,1288,1291,1294,1297,1300],{},[841,1289,1290],{},"WebSocket",[841,1292,1293],{},"Both directions",[841,1295,1296],{},"WebSocket text or binary messages",[841,1298,1299],{},"Application-managed",[841,1301,1302],{},"Interactive, bidirectional protocols",[826,1304,1305,1310,1313,1316,1318],{},[841,1306,1307,1308],{},"Streaming ",[685,1309,1240],{},[841,1311,1312],{},"Determined by the application",[841,1314,1315],{},"Application-defined response bytes",[841,1317,1299],{},[841,1319,1320],{},"Custom streaming formats and lower-level control",[690,1322,1323,1324,1326,1327,1330],{},"SSE can carry JSON inside ",[685,1325,765],{}," fields, but JSON is payload content rather than the outer framing. Likewise, changing a response's header to ",[685,1328,1329],{},"application\u002Fjson"," removes the SSE media type and does not turn a sequence of event blocks into one valid JSON document.",[680,1332,1334],{"id":1333},"how-do-you-save-inspect-or-convert-an-event-stream","How do you save, inspect, or convert an event stream?",[690,1336,1337],{},"Command-line HTTP clients are useful for observing an endpoint because they can display bytes as they arrive. Preserve response headers along with the body when diagnosing a problem; the same body can behave differently if its status, MIME type, caching headers, or CORS response changes.",[690,1339,1340],{},"A finite capture can be converted according to its purpose:",[1342,1343,1344,1348,1356],"ul",{},[1345,1346,1347],"li",{},"Extract each completed event into newline-delimited JSON for log analysis, while keeping the event type and ID in separate fields.",[1345,1349,1350,1351,1355],{},"Convert selected events to ",[709,1352,1354],{"href":1353},"\u002Fmime-types\u002Ftext\u002Fcsv","CSV"," when every payload shares a stable tabular structure.",[1345,1357,1358],{},"Keep the original text when field ordering, comments, blank lines, or malformed input matter to debugging.",[690,1360,1361,1362,1364,1365],{},"Conversion should use an SSE parser rather than splitting on every newline. Multiple ",[685,1363,765],{}," lines form one payload, comments do not dispatch events, and the final event may remain incomplete if the capture ends without a blank line.",[706,1366,1367],{},[709,1368,724],{"href":721,"ariaDescribedBy":1369,"dataFootnoteRef":714,"id":1370},[713],"user-content-fnref-2-10",[680,1372,1374],{"id":1373},"security-and-reliability-considerations","Security and reliability considerations",[690,1376,1377,1378],{},"An SSE endpoint can expose account activity, operational logs, identifiers, or other private data for as long as the connection remains open. Apply normal HTTP authentication and authorization on every connection, use HTTPS, and configure CORS only for origins that should receive the feed. The media-type registration specifically warns about cross-origin information leakage and resource exhaustion from excessive event traffic or rapid reconnects.",[706,1379,1380],{},[709,1381,716],{"href":711,"ariaDescribedBy":1382,"dataFootnoteRef":714,"id":1383},[713],"user-content-fnref-1-5",[690,1385,1386,1387,1389,1390,1393,1394,1396],{},"Treat every ",[685,1388,765],{}," value as untrusted. Assigning it to ",[685,1391,1392],{},"innerHTML",", building commands from it, or parsing it without size and depth limits can create the same injection and denial-of-service risks as any other network input. Event IDs also cross a request boundary when the browser sends ",[685,1395,1161],{},", so servers should validate them rather than treating them as trusted database keys.",[690,1398,1399],{},"Long-lived connections need operational limits. Bound event size, connection duration when appropriate, per-user connection count, buffering, and retry behavior. Send complete records promptly, and use comments as keep-alives only when they are actually needed by the deployment path.",[1401,1402,1405,1410],"section",{"className":1403,"dataFootnotes":714},[1404],"footnotes",[680,1406,1409],{"className":1407,"id":713},[1408],"sr-only","Footnotes",[1411,1412,1413,1469,1560,1590,1607],"ol",{},[1345,1414,1416,1417,1428,1429,1432,1433,1440,1441,1440,1448,1440,1455,1440,1462],{"id":1415},"user-content-fn-1","Internet Assigned Numbers Authority. ",[709,1418,1422],{"href":1419,"rel":1420},"https:\u002F\u002Fwww.iana.org\u002Fassignments\u002Fmedia-types\u002Ftext\u002Fevent-stream",[1421],"nofollow",[1423,1424,1425,1427],"em",{},[685,1426,687],{}," Media Type Registration",". The registration points to the HTML Standard and records UTF-8 encoding, the optional compatibility ",[685,1430,1431],{},"charset"," parameter, no extension or magic number, intended usage, and security considerations. ",[709,1434,1439],{"href":1435,"ariaLabel":1436,"className":1437,"dataFootnoteBackref":714},"#user-content-fnref-1","Back to reference 1",[1438],"data-footnote-backref","↩"," ",[709,1442,1439,1446],{"href":1443,"ariaLabel":1444,"className":1445,"dataFootnoteBackref":714},"#user-content-fnref-1-2","Back to reference 1-2",[1438],[706,1447,724],{},[709,1449,1439,1453],{"href":1450,"ariaLabel":1451,"className":1452,"dataFootnoteBackref":714},"#user-content-fnref-1-3","Back to reference 1-3",[1438],[706,1454,741],{},[709,1456,1439,1460],{"href":1457,"ariaLabel":1458,"className":1459,"dataFootnoteBackref":714},"#user-content-fnref-1-4","Back to reference 1-4",[1438],[706,1461,784],{},[709,1463,1439,1467],{"href":1464,"ariaLabel":1465,"className":1466,"dataFootnoteBackref":714},"#user-content-fnref-1-5","Back to reference 1-5",[1438],[706,1468,906],{},[1345,1470,1472,1473,1480,1481,1483,1484,1486,1487,1440,1492,1440,1499,1440,1506,1440,1513,1440,1520,1440,1528,1440,1536,1440,1544,1440,1552],{"id":1471},"user-content-fn-2","WHATWG. ",[709,1474,1477],{"href":1475,"rel":1476},"https:\u002F\u002Fhtml.spec.whatwg.org\u002Fmultipage\u002Fserver-sent-events.html",[1421],[1423,1478,1479],{},"HTML Standard: Server-Sent Events",". The living standard defines ",[685,1482,703],{},", parsing, fields, line endings, event dispatch, reconnection, and ",[685,1485,1161],{},". ",[709,1488,1439],{"href":1489,"ariaLabel":1490,"className":1491,"dataFootnoteBackref":714},"#user-content-fnref-2","Back to reference 2",[1438],[709,1493,1439,1497],{"href":1494,"ariaLabel":1495,"className":1496,"dataFootnoteBackref":714},"#user-content-fnref-2-2","Back to reference 2-2",[1438],[706,1498,724],{},[709,1500,1439,1504],{"href":1501,"ariaLabel":1502,"className":1503,"dataFootnoteBackref":714},"#user-content-fnref-2-3","Back to reference 2-3",[1438],[706,1505,741],{},[709,1507,1439,1511],{"href":1508,"ariaLabel":1509,"className":1510,"dataFootnoteBackref":714},"#user-content-fnref-2-4","Back to reference 2-4",[1438],[706,1512,784],{},[709,1514,1439,1518],{"href":1515,"ariaLabel":1516,"className":1517,"dataFootnoteBackref":714},"#user-content-fnref-2-5","Back to reference 2-5",[1438],[706,1519,906],{},[709,1521,1439,1525],{"href":1522,"ariaLabel":1523,"className":1524,"dataFootnoteBackref":714},"#user-content-fnref-2-6","Back to reference 2-6",[1438],[706,1526,1527],{},"6",[709,1529,1439,1533],{"href":1530,"ariaLabel":1531,"className":1532,"dataFootnoteBackref":714},"#user-content-fnref-2-7","Back to reference 2-7",[1438],[706,1534,1535],{},"7",[709,1537,1439,1541],{"href":1538,"ariaLabel":1539,"className":1540,"dataFootnoteBackref":714},"#user-content-fnref-2-8","Back to reference 2-8",[1438],[706,1542,1543],{},"8",[709,1545,1439,1549],{"href":1546,"ariaLabel":1547,"className":1548,"dataFootnoteBackref":714},"#user-content-fnref-2-9","Back to reference 2-9",[1438],[706,1550,1551],{},"9",[709,1553,1439,1557],{"href":1554,"ariaLabel":1555,"className":1556,"dataFootnoteBackref":714},"#user-content-fnref-2-10","Back to reference 2-10",[1438],[706,1558,1559],{},"10",[1345,1561,1563,1564,1570,1571,1440,1576,1440,1583],{"id":1562},"user-content-fn-3","MDN Web Docs. ",[709,1565,1568],{"href":1566,"rel":1567},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FEventSource",[1421],[1423,1569,703],{},". MDN documents the one-way connection model, API, common use cases, and current browser availability. ",[709,1572,1439],{"href":1573,"ariaLabel":1574,"className":1575,"dataFootnoteBackref":714},"#user-content-fnref-3","Back to reference 3",[1438],[709,1577,1439,1581],{"href":1578,"ariaLabel":1579,"className":1580,"dataFootnoteBackref":714},"#user-content-fnref-3-2","Back to reference 3-2",[1438],[706,1582,724],{},[709,1584,1439,1588],{"href":1585,"ariaLabel":1586,"className":1587,"dataFootnoteBackref":714},"#user-content-fnref-3-3","Back to reference 3-3",[1438],[706,1589,741],{},[1345,1591,1593,1594,1601,1602],{"id":1592},"user-content-fn-5","World Wide Web Consortium. ",[709,1595,1598],{"href":1596,"rel":1597},"https:\u002F\u002Fwww.w3.org\u002FTR\u002F2009\u002FWD-eventsource-20091029\u002F",[1421],[1423,1599,1600],{},"Server-Sent Events, W3C Working Draft 29 October 2009",". This historical draft documents the early standalone specification and its proposed media-type registration. ",[709,1603,1439],{"href":1604,"ariaLabel":1605,"className":1606,"dataFootnoteBackref":714},"#user-content-fnref-5","Back to reference 4",[1438],[1345,1608,1563,1610,1617,1618,1440,1623],{"id":1609},"user-content-fn-4",[709,1611,1614],{"href":1612,"rel":1613},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events\u002FUsing_server-sent_events",[1421],[1423,1615,1616],{},"Using Server-Sent Events",". The guide provides server and client examples and explains event blocks, comments, fields, and connection handling. ",[709,1619,1439],{"href":1620,"ariaLabel":1621,"className":1622,"dataFootnoteBackref":714},"#user-content-fnref-4","Back to reference 5",[1438],[709,1624,1439,1628],{"href":1625,"ariaLabel":1626,"className":1627,"dataFootnoteBackref":714},"#user-content-fnref-4-2","Back to reference 5-2",[1438],[706,1629,724],{},[1631,1632,1633],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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);}",{"title":714,"searchDepth":1015,"depth":1015,"links":1635},[1636,1638,1639,1640,1642,1643,1645,1646,1647],{"id":682,"depth":1015,"text":1637},"What does text\u002Fevent-stream mean?",{"id":769,"depth":1015,"text":770},{"id":808,"depth":1015,"text":809},{"id":940,"depth":1015,"text":1641},"How do you serve and consume text\u002Fevent-stream?",{"id":1210,"depth":1015,"text":1211},{"id":1236,"depth":1015,"text":1644},"Is SSE the same as WebSockets or streaming fetch()?",{"id":1333,"depth":1015,"text":1334},{"id":1373,"depth":1015,"text":1374},{"id":713,"depth":1015,"text":1409},"Learn how `text\u002Fevent-stream` carries server-sent events, how browsers parse it, and how Poly handles saved event-stream captures.","md",null,{},{"name":687,"extensions":1653,"invented-date":1654,"inventor-name":1655,"in-use":12,"browser-support":1656,"example-applications":1662,"poly-support":1666,"poly-indexed":1667,"poly-preview":1668,"poly-agent":1669},[],"2009","Ian Hickson",[1657,1658,1659,1660,1661],"Chrome","Edge","Firefox","Opera","Safari",[1663,1664,1665],"Google Chrome","Mozilla Firefox","Apple Safari","Partial. Poly recognizes explicitly labeled `text\u002Fevent-stream` content and keeps a saved UTF-8 capture readable. It does not connect to or record a live event endpoint.","Yes. Poly indexes the readable text in a finite event-stream capture for exact and semantic search. It does not turn individual events into separate records.","Yes. Saved event-stream text opens in Poly's text editor. The preview shows source fields rather than replaying a live feed.","Yes. The Poly agent can read and reason about a saved event-stream capture as text, but it cannot observe later events or reproduce connection state.","\u002Fmime-types\u002Ftext\u002Fevent-stream",{"title":1672,"description":1673},"text\u002Fevent-stream MIME Type: Server-Sent Events Guide","A practical guide to text\u002Fevent-stream, including SSE fields, EventSource browser support, reconnection, security, debugging, and Poly support.","mime-types\u002Ftext\u002Fevent-stream","gJlKMuCxuc3hofpJbGOBE0mgPfD9OgAfsKMEi8qeomc",[1650,1650],{"data":1678,"body":1679},{},{"type":1680,"children":1681},"root",[1682],{"type":1683,"tag":690,"props":1684,"children":1685},"element",{},[1686],{"type":916,"value":675},{"data":1688,"body":1689},{},{"type":1680,"children":1690},[1691],{"type":1683,"tag":690,"props":1692,"children":1693},{},[1694,1696,1701],{"type":916,"value":1695},"Learn how ",{"type":1683,"tag":685,"props":1697,"children":1699},{"className":1698},[],[1700],{"type":916,"value":687},{"type":916,"value":1702}," carries server-sent events, how browsers parse it, and how Poly handles saved event-stream captures.",1788325917403]