aaronsb_obsidian-mcp-plugin/src
Aaron Bockelie b9a05e5aa1 fix(dataview): harden GROUP BY group detection from maintainer review (#220)
Maintainer review-fix commit on top of the contributor's work in PR #249,
addressing three low-severity robustness findings from a security/quality
review of the formatter changes:

- F1: the group branches switched all-or-nothing on `groups.every(...)`, so a
  single unrecognized group in a GROUP BY result dropped every group back to
  the flat renderer (re-surfacing the #220 raw-wrapper symptom). Render grouped
  when *any* element is a group and emit a stray non-group element as a plain
  row, so one bad group can't collapse the whole result.
- F2: `asGroup` (formatter) accepted only plain-array inner collections while
  the producer's `unwrapGroup` also accepted `.array()`-able DataArrays. They
  reconcile today only because the producer flattens first; align `asGroup`'s
  predicate and flatten so an unflattened wrapper reaching the formatter still
  renders instead of leaking.
- F5: guard `toISO()`'s return with a `typeof === 'string'` check so a
  non-string return can't propagate into `truncate`.

Happy-path GROUP BY behavior unchanged; all 352 tests pass. The mixed-group
and unflattened-group paths are defensive (the current producer can't emit
those shapes), so they are hardening rather than newly-reachable behavior.
2026-07-03 20:59:19 -05:00
..
config feat: Complete semantic MCP integration with direct Obsidian API 2025-06-27 12:33:59 -05:00
formatters fix(dataview): harden GROUP BY group detection from maintainer review (#220) 2026-07-03 20:59:19 -05:00
indexing fix: Address all review bot required issues - async, directives, globals 2026-02-04 17:08:43 -06:00
security fix(lint): clear debt surfaced by typescript-eslint 8.60 + obsidian 1.13.0 2026-06-09 11:06:16 -05:00
semantic fix(lint): use window timers + window.console; drop forbidden eslint-disables (closes #226) 2026-06-09 11:13:48 -05:00
tools fix(dataview): render GROUP BY results (list + task) instead of leaking group wrappers (#220) 2026-06-27 19:51:23 +02:00
types fix: Eliminate all eslint any-type violations for Obsidian plugin review 2026-02-03 21:51:55 -06:00
utils refactor(mcp): use McpServer wrapper to drop deprecated Server reference 2026-06-09 11:57:01 -05:00
validation fix(lint): clear debt surfaced by typescript-eslint 8.60 + obsidian 1.13.0 2026-06-09 11:06:16 -05: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 feat(settings): surface connect/getting-started section at top 2026-06-24 00:50:03 -05:00
mcp-server.ts refactor(mcp): address review of #244 — document SSE backstop, test teardown 2026-06-24 02:00:33 -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.36 2026-06-24 10:50:54 -05:00