* docs: add git hash display and configurable dev server port
## CHANGES
- Add `VITE_PORT` env variable to configure dev server port
- Display git commit hash in About modal next to version
- Add `__GIT_HASH__` build-time constant to both Vite configs
- Document running multiple Maestro instances with git worktrees
- Update CONTRIBUTING.md with parallel development instructions
* feat: add configurable ports for dev servers
- Allow VITE_PORT to configure main dev server port
- Update main window to load from configurable port
- Enable VITE_WEB_PORT for web interface dev server
- Add note in CONTRIBUTING.md about port configuration
- Log port usage in development mode
* docs: update CONTRIBUTING.md section and fix React DevTools script initialization
## CHANGES
- Rename "Linting" section to "Linting & Pre-commit Hooks" in table of contents
- Move script variable declaration outside conditional block
- Fix React DevTools script initialization order in index.html
* chore: update `.vscode/settings.json` with new markdownlint config
* fix: disable biome linting. Project uses ESLint
* chore: Update baseline-browser-mapping (>2 months old, warning message on "npm run build:web")
* chore: add .vscode/ to gitignore
* chore: fix gitignore to ignore .cscode/* files properly
* fix
* chore: stop tracking .vscode/ files, respect gitignore
Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES
- Prompts now compile from Markdown into TypeScript at build-time 🔧
- New `build:prompts` step runs automatically for dev and release builds 🏗️
- Main process stops runtime prompt file I/O for faster, safer startups ⚡
- Group chat prompt access refactored into getter functions for flexibility 🧩
- Added IPC to reset a participant context with session summarization 🔄
- Participant cards now copy agent session IDs with one click 📋
- UI shows context-reset button when participant usage hits 40%+ ⏱️
- History markdown now supports raw HTML rendering via `rehype-raw` 🧪
- History detail supports clickable file links and in-app file previews 🗂️
- Document copy-drag enables reset-on-completion across duplicate filenames 🧷
- Add Discord community badge with logo to README
- Persist "Ungrouped" folder collapsed state across sessions via useSettings
- Update SessionList tests with new ungroupedCollapsed props
- Add community-data/ to .gitignore
Claude ID: c7150d1e-52ea-43e1-8bdf-4504bbee752e
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
- Add Prev/Next navigation buttons to HistoryDetailModal with left/right arrow key bindings
- Filter-aware navigation (respects AUTO/USER visibility settings)
- Add session ID search capability (long and short octet form)
- Persist scroll position across session switches using module-level cache
- Fix random scroll-to-top on external refresh by preserving state during refresh
- Enhanced validated entry styling (solid green background, white checkmarks)
- Activity graph now supports configurable lookback via right-click context menu
(24h, 72h, 1 week, 2 weeks, 1 month, 6 months, 1 year, all time)
Claude ID: e2360cc6-54db-411f-9b53-c39ee8212c2a
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
- Add ghPath setting to specify custom path to gh binary (e.g., /opt/homebrew/bin/gh)
- Update git:checkGhCli and git:createPR IPC handlers to accept optional ghPath
- Add UI in Settings > General for configuring the gh path
- Pass ghPath through BatchRunnerModal and useBatchProcessor for PR creation
- Include test infrastructure setup (vitest) and misc updates
Claude ID: 295a322c-974c-4b49-b31d-f7be18819332
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
- Add Cmd+Shift+J global shortcut to jump to bottom of output
- Display full commit message body in git log detail view
- Add scratch/ to .gitignore for local notes
- Document new shortcut in README.md
Claude ID: 900964ee-78bd-47d3-af6a-f8ef6112e80c
Maestro ID: 5a166b38-b7e9-47f0-a8ff-0113c65f2682