mirror of
https://github.com/aaronsb/obsidian-mcp-plugin.git
synced 2026-07-22 06:45:14 +00:00
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. |
||
|---|---|---|
| .. | ||
| config | ||
| formatters | ||
| indexing | ||
| security | ||
| semantic | ||
| tools | ||
| types | ||
| utils | ||
| validation | ||
| browser-mcp-server.ts | ||
| main-complex.ts | ||
| main-simple.ts | ||
| main.ts | ||
| mcp-server.ts | ||
| node-mcp-server.ts | ||
| version.ts | ||