feat: enhance BlueBubbles functionality by implementing macOS version checks for message editing and improving server info caching

This commit is contained in:
Tyler Yust
2026-01-20 00:46:48 -08:00
committed by Peter Steinberger
parent a16934b2ab
commit d9a2ac7e72
5 changed files with 61 additions and 7 deletions

View File

@@ -10,6 +10,7 @@ import type { BlueBubblesAccountConfig, BlueBubblesAttachment } from "./types.js
import type { ResolvedBlueBubblesAccount } from "./accounts.js";
import { getBlueBubblesRuntime } from "./runtime.js";
import { normalizeBlueBubblesReactionInput, sendBlueBubblesReaction } from "./reactions.js";
import { fetchBlueBubblesServerInfo } from "./probe.js";
export type BlueBubblesRuntimeEnv = {
log?: (message: string) => void;
@@ -1499,6 +1500,17 @@ export async function monitorBlueBubblesProvider(
const core = getBlueBubblesRuntime();
const path = options.webhookPath?.trim() || DEFAULT_WEBHOOK_PATH;
// Fetch and cache server info (for macOS version detection in action gating)
const serverInfo = await fetchBlueBubblesServerInfo({
baseUrl: account.baseUrl,
password: account.config.password,
accountId: account.accountId,
timeoutMs: 5000,
}).catch(() => null);
if (serverInfo?.os_version) {
runtime.log?.(`[${account.accountId}] BlueBubbles server macOS ${serverInfo.os_version}`);
}
const unregister = registerBlueBubblesWebhookTarget({
account,
config,