{"record":{"id":"dc82cea472c7f56c","repo":"sgl-project/sglang","slug":"this-browser-does-not-support-gzip-stream-decoding-dc82ce","errorCode":null,"errorMessage":"This browser does not support gzip stream decoding","messagePattern":"This browser does not support gzip stream decoding","errorType":"error_code","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/apps/realtime_webui/decoder_worker.js","lineNumber":15,"sourceCode":"const RAW_RGB_CONTENT_TYPE = \"application/x-raw-rgb\";\nconst RAW_RGB_DELTA_GZIP_CONTENT_TYPE = \"application/x-raw-rgb-delta-gzip\";\nconst RAW_RGBA_DELTA_GZIP_CONTENT_TYPE = \"application/x-raw-rgba-delta-gzip\";\nconst WEBP_FRAME_CONTENT_TYPE = \"image/webp\";\nconst JPEG_FRAME_CONTENT_TYPE = \"image/jpeg\";\n\nlet lastFrame = null;\n\nfunction reset() {\n  lastFrame = null;\n}\n\nasync function gunzipBytes(payload) {\n  if (typeof DecompressionStream === \"undefined\") {\n    throw new Error(\"This browser does not support gzip stream decoding\");\n  }\n  const stream = new Blob([payload]).stream().pipeThrough(new DecompressionStream(\"gzip\"));\n  return new Uint8Array(await new Response(stream).arrayBuffer());\n}\n\nasync function restoreDeltaGzipFrames(header, payload) {\n  const frameBytes = Number(header.bytes_per_frame);\n  const count = Number(header.num_frames);\n  const expectedSize = frameBytes * count;\n  const restored = await gunzipBytes(payload);\n  if (restored.length !== expectedSize) {\n    throw new Error(`delta payload size mismatch: expected ${expectedSize}, got ${restored.length}`);\n  }\n\n  let previous = header.delta_reference === \"previous-frame\" ? lastFrame : null;\n  if (header.delta_reference === \"previous-frame\") {\n    if (!previous) throw new Error(\"Missing previous frame for delta payload\");\n    if (previous.byteLength !== frameBytes) {","sourceCodeStart":1,"sourceCodeEnd":33,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/apps/realtime_webui/decoder_worker.js#L1-L33","documentation":"RadixTree::commit_loading_onboard / commit_writing_through in tree_v2 are commit-stage stubs: they no-op when the tree is disabled but throw 'Not implemented yet' otherwise. The two-phase write-through/onboard IO protocol's commit step is unfinished in this tree version.","triggerScenarios":"Using tree_v2 with hicache enabled such that a write-through or onboard operation reaches its commit stage — commit_writing_through(ticket, ok) or commit_loading_onboard(ticket, ok) gets invoked after the (stubbed) begin phase, hitting the throw instead of the disabled fast path.","commonSituations":"Hierarchical cache enabled with the tree_v2 backend, where the IO ticket commit callbacks run during cache insert/lookup finalization; version upgrades enabling previously dormant code paths.","solutions":["Disable hicache with tree_v2 so all these IO methods take the disabled fast path","Use the v1/default radix cache backend for hierarchical caching","Upgrade once the tree_v2 IO commit path is implemented upstream"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"if use_hicache:\n    assert tree_backend != \"tree_v2\", \"tree_v2 commit_writing_through/commit_loading_onboard are stubs\"","typeGuard":null,"tryCatchPattern":"try:\n    tree.commit_writing_through(ticket, ok)\nexcept RuntimeError as e:\n    if \"Not implemented yet\" in str(e):\n        log.warning(\"tree_v2 IO commit unsupported; ticket dropped\")\n    else:\n        raise","preventionTips":["Avoid enabling hicache with tree_v2 until the IO commit path ships","Add integration tests covering insert + commit with your tree backend selection","Keep backend selection centralized so unsupported combos fail loudly at startup"],"tags":["radix-tree","hicache","not-implemented","io-commit"],"backgroundTag":"unsupported-operation-not-implemented","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}