aaronsb_obsidian-mcp-plugin/src
Aaron Bockelie 2b4ef6a9b4 fix(network): address PR #211 self-review findings (ADR-107)
Blocking — userSuppliedCert discriminator:
- Was: certificateConfig.selfSigned === false (never set false in UI;
  rows 5/7/9 of the ADR-107 table unreachable, defaulting to over-warn).
- Now: !!(certPath && keyPath) — actual cert provenance signal.
  Fixed in src/mcp-server.ts and src/main.ts settings UI badge.

Non-blocking #1 — migration Notice race:
- Was: isExistingPreBindModeInstall() re-read data.json after
  loadSettings() may have already persisted bindMode='loopback' as
  part of the apiKey auto-save.
- Now: snapshot raw loadData() before loadSettings(), test the snapshot.

Non-blocking #2 — loopback host matcher tightened:
- Was: startsWith('127.') accepted '127.evil.com'.
- Now: strict dotted-quad regex /^127(\.\d{1,3}){3}$/ with octet range.
  New tests cover hostile inputs (127.evil.com, 127.0.0.1.attacker.tld,
  127.300.0.1, 1270.0.0.1).

Non-blocking #3 — Reconfigure hint:
- ADR-107 specifies the 🔴 badge includes a Reconfigure hint;
  implementation now renders 'Reconfigure: switch the bind address
  below to Loopback, or enable HTTPS.' beneath the verdict reason.

Non-blocking #4 — empty custom host UX:
- When bindMode='custom' && customBindHost is empty, render an
  explicit Notice that the server will fall back to loopback until a
  host is entered (resolves the silent 🟢 OK in that state).

Lint clean, 296/296 tests pass.
2026-05-24 17:06:16 -05:00
..
config feat: Complete semantic MCP integration with direct Obsidian API 2025-06-27 12:33:59 -05:00
formatters fix(formatter): emit verbatim content in default vault.read (PR #205 blocking review) 2026-05-19 00:38:29 -05:00
indexing fix: Address all review bot required issues - async, directives, globals 2026-02-04 17:08:43 -06:00
security feat(vault.list): Coherent pagination + agent next-call hints 2026-05-15 13:30:45 -05:00
semantic feat(vault.read): faithful-by-default reads with char-budget pagination (ADR-203, #133) 2026-05-19 00:30:31 -05:00
tools feat(vault.read): faithful-by-default reads with char-budget pagination (ADR-203, #133) 2026-05-19 00:30:31 -05:00
types fix: Eliminate all eslint any-type violations for Obsidian plugin review 2026-02-03 21:51:55 -06:00
utils fix(network): address PR #211 self-review findings (ADR-107) 2026-05-24 17:06:16 -05:00
validation fix: Address all review bot required issues - async, directives, globals 2026-02-04 17:08:43 -06:00
browser-mcp-server.ts fix: Address all review bot required issues - async, directives, globals 2026-02-04 17:08:43 -06:00
main-complex.ts chore(lint): support eslint-plugin-obsidianmd@0.3.0 2026-05-15 15:01:03 -05:00
main-simple.ts fix: Eliminate all eslint any-type violations for Obsidian plugin review 2026-02-03 21:51:55 -06:00
main.ts fix(network): address PR #211 self-review findings (ADR-107) 2026-05-24 17:06:16 -05:00
mcp-server.ts fix(network): address PR #211 self-review findings (ADR-107) 2026-05-24 17:06:16 -05:00
node-mcp-server.ts feat(network): wire classifier into server, settings, UI (ADR-107) 2026-05-24 16:56:24 -05:00
version.ts chore: Bump version to 0.11.29 2026-05-18 22:50:53 -05:00