- Chat messages now render full markdown via Obsidian's MarkdownRenderer
(headers, bold, italic, code blocks, lists, links)
- Streaming shows plain text, swaps to rendered markdown on completion
- User messages render instantly as markdown
- New Chat font size slider in plugin settings (10-24px, default 14)
- Live-applies via CSS custom property --hermes-chat-font-size
- No restart needed
- Fix context capture timing bug: snapshot active note on chat focus
instead of at send time (when activeEditor is already null).
Added workspace active-leaf-change listener to keep context fresh.
- Multi-tab: each ChatView now gets its own ApiClient instance,
enabling independent sessions per tab. Added 'Open in New Tab'
command. Removed shared ApiClient from plugin.
- Slash commands: three built-in commands (/prep-session,
/sync-content, /lint-wiki) plus JSON-configurable custom commands
in settings. On '/' trigger, shows suggestion dropdown with
arrow-key navigation, click-to-select, and Escape to close.
- Slash command resolution at send time replaces /trigger with
full prompt text.