- Created botvibe crate with 5 modules: types, prompt_manager, tool_executor, telemetry, api
- Implemented VibeRun state machine with 3 use cases (Software Dev, Customer Support, Financial Analysis)
- Added 10 axum API routes under /api/vibe/* for run management, tools, and telemetry
- Feature-gated behind 'vibe' flag (disabled by default, requires 'automation')
- Used Extension pattern for axum state to enable router merging
- Created VibeProgressEvent to avoid botautotask dependency in botvibe crate
- Implemented BotServerVibeState bridging to AppState
- botvibe compiles with 0 errors, 0 warnings
- botserver compilation blocked by pre-existing botllm duplicate function errors
To test: cargo check -p botvibe
- Parallel startup: services start concurrently, total wait = max of individual waits
- Vault init runs first (blocking) so credentials are available for other services
- Fix drive port 9000->9100 in vault seeding and env defaults
- Fix directory port 9000->8300 in vault seeding
- Fix ALM port 9000->3000 in vault seeding
- Zitadel exec_cmd: auto-detect first boot vs subsequent (check admin-pat.txt)
- Zitadel health check: fix relative URL -> full http://localhost:8300/debug/healthz
- ALM/Forgejo: replace USER=alm with FORGEJO_RUN_USER=$USER (matches OS user)
- ALM health check: remove broken empty URL
- Add Diesel migrations (embed_migrations! + run_pending_migrations)
- Simplify ASCII art on startup
- Fix ALM health check empty URL
- Update MC client in 3rdparty.toml
- Remove rt.block_on() inside async context in botserver/src/llm/mod.rs
- Fixes 'Cannot block current thread from within a runtime' panic
- Salesianos bot was crashing after start.bas on LLM calls
- Botserver compiles clean
- Moved all feature modules + core crates + botllm + botqdrant into botserver/crates/
- Fixed MinIO endpoint URL to include port from Vault
- Fixed LocalSessionManager to delegate to real SessionManager
- Restored botkb as minimal types-only crate (face code already in botmodelsbridge)
- Workspace root now only contains botlib, botschema, and separate projects (botui, botapp, etc.)
- All cross-crate path references recalculated
Refs: #513, #518, #520
- Move compiler (botbasic_compiler), drive (botdrive), KB, bootstrap, DNS,
automation, incus, package_manager, features, and remaining feature modules
from botserver to botcore/botdrive crates
- Convert keywords.rs files to mod.rs directories for consistency
- Add rbac and mail features to botsettings
- Wire script_runner in bootstrap state
- Export handleMentionInput, handleMentionKeydown, hideMentionDropdown to window object
- Fix chat-init.js to use window.handleMentionInput with proper checks
- Prevents ReferenceError when chat initializes
- Ensures suggestion buttons and switchers work correctly
- Remove lógica hasHtmlTags que injetava HTML cru
- Sempre usa escapeHtml para exibir conteúdo como texto
- Corrige problema de tags HTML aparecendo na página
- Remove streaming de chunks LLM, acumula resposta completa antes de enviar
- Corrige variável 'action' para 'actionData' no click handler de suggestions
- Adiciona fallback window.sendMessage() se WebSocket não estiver aberto
- Adiciona guard DOMContentLoaded no chat-init.js
- Adiciona cache-busting (?v=4) no chat.html
Impacto:
- start.bas executa corretamente ao conectar WebSocket
- HTML não é mais truncado (tags fecham corretamente)
- Sugestões executam tool invocations via WebSocket
- Generic workflow triggers on all commits to main
- No path restrictions - builds and deploys automatically
- Ensures HTML streaming fixes always deployed
- Restore paths filter to only trigger on relevant changes
- botserver/, botui/, botlib/, Cargo.toml, Cargo.lock
- Prevents unnecessary CI runs on unrelated changes
- Remove paths filter to run CI on all commits
- This ensures HTML streaming fixes get deployed automatically
- Previously only triggered on botserver/botui/botlib changes
- botui/chat-messages.js: HTML chunks now accumulated without rendering,
only showing loading indicator. When is_complete=true, full HTML
rendered at once. Text/markdown continues streaming normally.
- botserver/mod.rs: Remove unused html_buffer variable
- drive_monitor/monitor.rs: Change CHECK_INTERVAL_SECS from 1 to 2
- CI workflow: Fix paths to use target/fast/ instead of target/debug/
and target/release/
- botserver: implemented tag-aware streaming to prevent broken HTML chunks
- botserver: disabled automatic HTML-to-Markdown conversion to preserve rich design
- botserver/llm: added Claude 3.7 thinking/reasoning support
- botui: fixed chat-messages.js to allow rich HTML rendering and stop tag stripping
- botui: updated CI/CD to build botui in release mode with embedded UI