Tagged downstream network errors to respect networkWarningStyle setting

This commit is contained in:
A-wry
2026-02-23 22:10:25 -05:00
parent f4d8c0a8db
commit fdcf3be0f9
5 changed files with 35 additions and 19 deletions

View File

@@ -39,6 +39,7 @@ import {
isValidFilenameInDarwin,
isValidFilenameInWidows,
} from "@/lib/src/string_and_binary/path.ts";
import { NetworkWarningStyles } from "@lib/common/models/setting.const.ts"
// This module cannot be a core module because it depends on the Obsidian UI.
@@ -155,14 +156,14 @@ export class ModuleLog extends AbstractObsidianModule {
lastSyncPushSeq == 0
? ""
: lastSyncPushSeq >= maxPushSeq
? " (LIVE)"
: ` (${maxPushSeq - lastSyncPushSeq})`;
? " (LIVE)"
: ` (${maxPushSeq - lastSyncPushSeq})`;
pullLast =
lastSyncPullSeq == 0
? ""
: lastSyncPullSeq >= maxPullSeq
? " (LIVE)"
: ` (${maxPullSeq - lastSyncPullSeq})`;
? " (LIVE)"
: ` (${maxPullSeq - lastSyncPullSeq})`;
break;
case "ERRORED":
w = "⚠";
@@ -281,10 +282,19 @@ export class ModuleLog extends AbstractObsidianModule {
const fileStatus = this.activeFileStatus.value;
if (fileStatus && !this.settings.hideFileWarningNotice) messageLines.push(fileStatus);
const messages = (await this.services.appLifecycle.getUnresolvedMessages()).flat().filter((e) => e);
if (this.settings.connectionWarningStyle === "banner") {
messageLines.push(...messages);
} else if (this.settings.connectionWarningStyle === "icon") {
if (messages.length > 0) messageLines.push("🔗❌");
const stringMessages = messages.filter((m): m is string => typeof m === "string"); // for 'startsWith'
const networkMessages = stringMessages.filter(m => m.startsWith("\u{200b}"));
const otherMessages = stringMessages.filter(m => !m.startsWith("\u{200b}"));
messageLines.push(...otherMessages);
if (
this.settings.networkWarningStyle !== NetworkWarningStyles.ICON &&
this.settings.networkWarningStyle !== NetworkWarningStyles.HIDDEN
) {
messageLines.push(...networkMessages);
} else if (this.settings.networkWarningStyle === NetworkWarningStyles.ICON) {
if (networkMessages.length > 0) messageLines.push("🔗❌");
}
this.messageArea.innerText = messageLines.map((e) => `⚠️ ${e}`).join("\n");
}
@@ -443,8 +453,8 @@ export class ModuleLog extends AbstractObsidianModule {
typeof message == "string"
? message
: message instanceof Error
? `${errorInfo}`
: JSON.stringify(message, null, 2);
? `${errorInfo}`
: JSON.stringify(message, null, 2);
const newMessage = timestamp + "->" + messageContent;
if (message instanceof Error) {
console.error(vaultName + ":" + newMessage);