fix: provider check follow-ups (#7) #9

Merged
aep merged 1 commits from feat/7-wrapper-followups into main 2026-10-14 23:53:22 +03:00
Owner

Refs #7 (частично: пункт O-5 остаётся за человеком, issue после merge не закрывается).

Bounded-задача: дизайн согласован в чате, без OpenSpec change и плана.

Что сделано

  • M-3 (src/main.ts) — в try/catch осталось только readBinary, поэтому «Не удалось прочитать …» теперь говорит именно о чтении файла. transcribe() не бросает, его ошибки приходят в result и показываются через checkNotice.
  • M-4 (src/main.ts) — после каждого await проверка смотрит на signal.aborted и, если плагин выгружен, молча выходит: уведомление после выгрузки не появляется.
  • M-5 (src/main.ts) — loadSettings запоминает весь объект data.json, saveSettings пишет {...data, ...settings}. Верхнеуровневые ключи, которых плагин пока не знает, сохраняются.
  • O-6 (src/obsidian/settings.ts) — во вкладке настроек появилась строка «Проверка провайдера» с кнопкой «Проверить»: запускает ту же проверку, что и команда. checkTranscriber стал публичным ради этого.

Проверка

  • npm test — 19 файлов, 244 passed.
  • npm run typecheck — оба прохода чисто.
  • npm run build — exit 0.
  • Ручная проверка в тестовом vault (Mac, iPhone) для этого PR не проводилась: код src/obsidian/ и src/main.ts юнит-тестами не покрывается. Стоит проверить кнопку «Проверить» во вкладке настроек и сохранение посторонних ключей в data.json.

Rulings I made

Решений сверх согласованного дизайна в коммите не зафиксировано. Работа сделана в предыдущей сессии, её чат недоступен; описание собрано по коммиту 543af13 и диффу.

Находки

Маркер Суть Статус
M-3 catch команды проверки всегда пишет «Не удалось прочитать» fixed 543af13
M-4 Notice после выгрузки плагина fixed 543af13
M-5 saveSettings стирает чужие ключи data.json fixed 543af13
O-6 проверку можно найти только через палитру команд fixed 543af13
O-5 ключ AITUNNEL попал в транскрипт сессии — перевыпустить deferred (действие человека)

🤖 Generated with Claude Code

Refs #7 (частично: пункт O-5 остаётся за человеком, issue после merge не закрывается). Bounded-задача: дизайн согласован в чате, без OpenSpec change и плана. ## Что сделано - **M-3** (`src/main.ts`) — в `try/catch` осталось только `readBinary`, поэтому «Не удалось прочитать …» теперь говорит именно о чтении файла. `transcribe()` не бросает, его ошибки приходят в `result` и показываются через `checkNotice`. - **M-4** (`src/main.ts`) — после каждого `await` проверка смотрит на `signal.aborted` и, если плагин выгружен, молча выходит: уведомление после выгрузки не появляется. - **M-5** (`src/main.ts`) — `loadSettings` запоминает весь объект `data.json`, `saveSettings` пишет `{...data, ...settings}`. Верхнеуровневые ключи, которых плагин пока не знает, сохраняются. - **O-6** (`src/obsidian/settings.ts`) — во вкладке настроек появилась строка «Проверка провайдера» с кнопкой «Проверить»: запускает ту же проверку, что и команда. `checkTranscriber` стал публичным ради этого. ## Проверка - `npm test` — 19 файлов, 244 passed. - `npm run typecheck` — оба прохода чисто. - `npm run build` — exit 0. - Ручная проверка в тестовом vault (Mac, iPhone) для этого PR не проводилась: код `src/obsidian/` и `src/main.ts` юнит-тестами не покрывается. Стоит проверить кнопку «Проверить» во вкладке настроек и сохранение посторонних ключей в `data.json`. ## Rulings I made Решений сверх согласованного дизайна в коммите не зафиксировано. Работа сделана в предыдущей сессии, её чат недоступен; описание собрано по коммиту `543af13` и диффу. ## Находки | Маркер | Суть | Статус | |---|---|---| | M-3 | catch команды проверки всегда пишет «Не удалось прочитать» | fixed 543af13 | | M-4 | Notice после выгрузки плагина | fixed 543af13 | | M-5 | saveSettings стирает чужие ключи data.json | fixed 543af13 | | O-6 | проверку можно найти только через палитру команд | fixed 543af13 | | O-5 | ключ AITUNNEL попал в транскрипт сессии — перевыпустить | deferred (действие человека) | 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-10-14 23:51:56 +03:00
M-3: only readBinary is in try/catch, so 'Не удалось прочитать' is about reading only; transcribe() never throws. M-4: after each await the check returns silently if the plugin was unloaded. M-5: saveSettings writes {...data loaded from data.json, openai}, other top-level keys survive. O-6: 'Проверить' button in the settings tab runs the same check as the command.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep merged commit 77f8bd4a60 into main 2026-10-14 23:53:22 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/obsidian-voice-note#9
No description provided.