diff --git a/manifest.json b/manifest.json index 0964ffa..83385fb 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "sonicnote-sync", "name": "SonicNote Sync", - "version": "1.1.6", + "version": "1.1.7", "minAppVersion": "0.15.0", "description": "Sync recordings from SonicNote to Obsidian as Markdown files", "author": "EasyLinkIn", diff --git a/package.json b/package.json index 5b14aa1..66cd87f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sonicnote-sync", - "version": "1.1.6", + "version": "1.1.7", "description": "Sync recordings from SonicNote to Obsidian as Markdown files", "main": "main.js", "scripts": { diff --git a/release/obsidian-plugin.html b/release/obsidian-plugin.html index 2187820..356fd7a 100644 --- a/release/obsidian-plugin.html +++ b/release/obsidian-plugin.html @@ -343,7 +343,7 @@
- v1.1.6 + v1.1.7 Obsidian 插件 2 个 Skills 视频教程 @@ -351,7 +351,7 @@

SonicNote for Obsidian

录音同步、待办提取、工作总结 — 让 Obsidian 成为你的智能笔记中心

- + SonicNote Sync 插件 @@ -407,6 +407,11 @@

更新记录

+

v1.1.7

+
    +
  • 修复在 Obsidian 中编辑文件属性后重新同步报"File already exists"的问题
  • +
  • 同步失败的录音和 API 请求错误详情输出到控制台(Ctrl+Shift+I 查看)
  • +

v1.1.6

  • 登录方式从手机号+验证码切换为 API Key(在妙记 App → 我的 → API Key 管理中创建)
  • @@ -451,7 +456,7 @@

    安装

      -
    1. 点击上方按钮下载 sonicnote-sync-v1.1.6.zip
    2. +
    3. 点击上方按钮下载 sonicnote-sync-v1.1.7.zip
    4. 解压 zip 文件,得到以下文件:
      • main.js
      • diff --git a/release/sonicnote-sync-v1.1.7.zip b/release/sonicnote-sync-v1.1.7.zip new file mode 100644 index 0000000..2a6770f Binary files /dev/null and b/release/sonicnote-sync-v1.1.7.zip differ diff --git a/src/sync.ts b/src/sync.ts index ff06fbf..f039dc1 100644 --- a/src/sync.ts +++ b/src/sync.ts @@ -112,8 +112,8 @@ export class SyncService { } private extractFrontmatterField(content: string, field: string): string | null { - const match = content.match(new RegExp(`^${field}:\\s*"?([^"]*)"\\s*$`, 'm')); - return match ? match[1] : null; + const match = content.match(new RegExp(`^${field}:\\s*"?([^"\\n]*)"?(?:\\s*$)`, 'm')); + return match ? match[1].trim() : null; } private async processRecording(recording: Recording, localIndex: Map, settings: SonicNotePluginSettings): Promise {