A tool for tailing the firehose and matching images against known perceptual hashes, and then labeling them.

Remove unnecessary WebSocket monkey-patch

The WebSocket monkey-patch was causing "pure virtual method called"
crashes every 60 seconds. Jetstream works correctly with Bun 1.1
without any patching - the binaryType issue does not occur.

This fixes the crash and allows the service to run stably.

Skywatch 012e2655 95ebbfaa

Changed files
+1 -29
src
+1 -29
src/main.ts
··· 1 1 import { readFile, writeFile } from "node:fs/promises"; 2 2 import { existsSync } from "node:fs"; 3 - import Redis from "ioredis"; 4 - 5 - // Monkey-patch WebSocket to work with @skyware/jetstream on Bun 6 - // The library tries to set binaryType to 'blob' but Bun doesn't support it 7 - const OriginalWebSocket = globalThis.WebSocket; 8 - if (OriginalWebSocket) { 9 - globalThis.WebSocket = class PatchedWebSocket extends OriginalWebSocket { 10 - constructor(...args: ConstructorParameters<typeof OriginalWebSocket>) { 11 - super(...args); 12 - // Silently ignore binaryType changes to 'blob' 13 - const descriptor = Object.getOwnPropertyDescriptor(this, "binaryType") || 14 - Object.getOwnPropertyDescriptor(OriginalWebSocket.prototype, "binaryType"); 15 - if (descriptor) { 16 - Object.defineProperty(this, "binaryType", { 17 - get: descriptor.get, 18 - set: (value: string) => { 19 - // Only set if it's arraybuffer, ignore 'blob' 20 - if (value === "arraybuffer" && descriptor.set) { 21 - descriptor.set.call(this, value); 22 - } 23 - }, 24 - enumerable: true, 25 - configurable: true, 26 - }); 27 - } 28 - } 29 - } as any; 30 - } 31 - 32 3 import type { CommitCreateEvent } from "@skyware/jetstream"; 4 + import Redis from "ioredis"; 33 5 import { Jetstream } from "@skyware/jetstream"; 34 6 import { BLOB_CHECKS } from "../rules/blobs"; 35 7 import { agent, isLoggedIn } from "./agent";