Commit graph

220 commits

Author SHA1 Message Date
e2f1efef8c Fix window transparency and theme dropdown background issues
- Fixed chat footer background to use var(--surface) CSS variable instead of hardcoded colors, ensuring proper theme adaptation
- Fixed theme dropdown background by changing from var(--input-bg) to var(--surface) in theme-sentient.css
- Added CSS override rules in desktop.css to ensure dropdown uses correct background
- Added JavaScript fix in theme-manager.js to automatically apply correct dropdown background on theme load

This resolves issues where theme dropdown and chat footer had black backgrounds in light themes.
2026-03-03 08:27:17 -03:00
48d773c0b3 Fix window maximization and suggestion button visibility issues
All checks were successful
BotUI CI / build (push) Successful in 2m43s
- Fix window title hidden behind minibar when maximized
  - Adjust window top position to account for 28px minibar height
  - Adjust window height calculation to account for minibar
  - Set maximized window z-index to 9998 (below minibar's 9999)

- Remove transparency from chat window
  - Change window-header background from rgba to solid white
  - Remove backdrop-filter blur effect
  - Add explicit opacity rules to prevent transparency

- Hide background content when window is maximized
  - Add 'window-maximized' class to body when window is maximized
  - Add CSS rules to hide sidebar, desktop icons, and other background elements

- Hide initial suggestion buttons when dynamic suggestions displayed
  - Add 'has-suggestions' class to footer when suggestions are rendered
  - Add CSS rule to hide .quick-action-chip buttons when footer has 'has-suggestions' class
  - Update CSS version parameter to force cache reload
2026-03-02 18:05:47 -03:00
3e81991e8b feat: Add Phase 1 Code Editor UI component
All checks were successful
BotUI CI / build (push) Successful in 2m6s
- Add Monaco Editor vendor files (vs directory)
- Create editor.html component (631 lines)
- Full-featured code editor with:
  - Monaco Editor integration
  - File tree sidebar
  - Multi-file tab management
  - Syntax highlighting for HTML, CSS, JS, JSON, TS, BAS, Python, Rust, Markdown, etc.
  - Save/Publish functionality
  - Keyboard shortcuts
  - Status bar
  - Modified state tracking
  - Language auto-detection
  - Custom GB dark theme
2026-03-02 07:26:36 -03:00
b26d3ef4a5 feat: Add Phase 0 deployment UI in Vibe (CRITICAL)
All checks were successful
BotUI CI / build (push) Successful in 2m37s
Phase 0.3: Deployment UI
- Add deployment modal with internal/external options
- Create configuration forms for GB Platform and Forgejo
- Add JavaScript functions for modal handling
- Implement deployment execution flow
- Add real-time route preview

Features:
- Visual deployment target selection
- Internal deployment: route configuration, shared resources
- External deployment: repository name, custom domain, CI/CD toggle, app type
- User-friendly deployment status messages
2026-03-02 07:12:30 -03:00
dd6e1aa2bc style: Format vibe.html for better readability
All checks were successful
BotUI CI / build (push) Successful in 2m4s
- Improve indentation and line breaks in vibe.html
- No functional changes, only code formatting
2026-03-01 22:36:15 -03:00
0c2dd80f30 fix(theme): map sentient css variables properly to avoid black boxes on light themes
All checks were successful
BotUI CI / build (push) Successful in 3m57s
2026-02-28 13:28:56 -03:00
6bbfa2989e fix: change body height back to 100vh on desktop.html to fix gray cut-off at bottom 2026-02-28 12:15:08 -03:00
d13c82b7c8 fix: replace tailwind utility classes with custom css in window manager to ensure theme consistency 2026-02-28 12:09:04 -03:00
7279104bbc fix: final layout and theme fixes for absolute full screen without black frames 2026-02-28 12:01:44 -03:00
aef91abc1c fix: remove background grid pattern and ensure absolute full screen desktop 2026-02-28 11:25:16 -03:00
7a06f954fb fix: final pass of hardcoded CSS colors for seamless window manager theme support 2026-02-28 11:20:40 -03:00
8075f9701c fix: remove black frame caused by hardcoded window wrapper colors 2026-02-28 11:08:54 -03:00
4a2c28e252 fix: resolve background grid hardcoded colours and stray inline hex values 2026-02-28 11:06:40 -03:00
76ec8f9bb5 fix: resolve background grid hardcoded colours and stray inline hex values 2026-02-28 10:58:17 -03:00
a570d7bd11 fix: make desktop icons themable instead of hardcoded green squares 2026-02-28 10:26:44 -03:00
9444d3892c fix: make suite UI elements fully themable and resolve black frame on desktop-inner 2026-02-28 10:05:36 -03:00
afb13cb397 Clean up mock Vibe UI 2026-02-26 12:40:44 -03:00
7c1deca8ae fix: resolve infinite WebSocket reconnection loop
The ui_server proxies WebSocket connections. It was accepting the client's WebSocket connection (ws.onopen triggered on the client), but if it couldn't connect to the backend (or if the backend disconnected), it would drop the client connection right away (ws.onclose triggered).

The issue was that reconnectAttempts was being reset to 0 inside the ws.onopen handler. Because the connection was briefly succeeding before failing, the reconnectAttempts counter was resetting to 0 on every attempt, completely circumventing the exponential backoff mechanism and causing a tight reconnection loop.

Modified the WebSocket logic across all relevant UI components to delay resetting reconnectAttempts = 0. Instead of resetting immediately upon the TCP socket opening, it now safely waits until a valid JSON payload {"type": "connected"} is successfully received from the backend.
2026-02-25 10:15:47 -03:00
bfc8f4da77 fix: improve WebSocket reconnection logic and add debugging
- Add connection timeout (5s) to detect silent failures
- Log WebSocket close events with code and reason
- Prevent infinite reconnection loops after max attempts
- Clear connection timeout when WebSocket opens or closes
- Show user-friendly error after max reconnection attempts

This helps diagnose why WebSocket connections are failing
and prevents the infinite reconnection loop issue.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-24 22:11:26 -03:00
8bfe97e92e fix: allow anonymous chat connections when auth fails
- Modified chat auth failure handler to proceed with WebSocket connection
- Generates anonymous user_id and session_id using crypto.randomUUID()
- WebSocket handler already supports anonymous connections (creates UUIDs if not provided)
- Removes error notification and retry loop that prevented chat from working

This allows chat to work publicly without requiring authentication,
which is the expected behavior for public bots.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-24 21:47:09 -03:00
e89e87d2b2 fix: use full app paths for desktop icons (not partials)
- Reverted chat path from /suite/partials/chat.html to /suite/chat/chat.html (full app)
- Kept tasks path as /suite/tasks/tasks.html (full app, already correct)
- Kept vibe path as /suite/partials/vibe.html (no dedicated vibe directory exists yet)
- All other apps already using correct full app paths

The partials directory should only contain fragments for embedding in other pages,
not standalone apps. Desktop icons must load full apps into windows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-24 21:20:58 -03:00
76e8df36ee fix: correct desktop icon app paths for suite apps
- Fixed tasks.html: replaced incomplete file with content from partials/tasks.html
- Fixed vibe icon: renamed from "Mantis (Vibe)" to "Vibe" and updated path to /suite/partials/vibe.html
- Fixed chat icon: updated path from /suite/chat/chat.html to /suite/partials/chat.html
- Fixed tasks icon: updated path from /suite/tasks/tasks.html to /suite/partials/tasks.html
- Verified all other app paths (terminal, drive, editor, browser) are correct

All desktop icons now point to the correct app fragment files for the Window Manager.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-24 20:32:46 -03:00
09bb9ee55d fix(ui): resolve Cannot read properties of null (reading 'appendChild') in window-manager.js
- Lazy load workspace and taskbar containers to prevent crashes when WindowManager is instantiated in the head before the body DOM is ready
2026-02-24 19:49:04 -03:00
6d07aa4bdd fix(ui): resolve 404 asset paths and replace missing icons with SVGs
- Fixed 404 errors on desktop shell assets by explicitly routing to /suite/ absolute paths
- Replaced missing FontAwesome icons in window-manager.js with inline SVGs since CDNs are banned
2026-02-24 19:20:41 -03:00
2f53b65aeb feat(ui): implement Window Manager desktop shell based on BUILD V3 design
- Built custom vanilla JS Window Manager (window-manager.js)
- Replaced default.gbui with new desktop.html featuring Windows 95 spatial metaphor + Tailwind aesthetics
- Redesigned icons, taskbar, sidebar, and workspace to exactly match the target PDF layout
- Migrated Chat, Tasks, and Terminal into pure HTMX fragments to load seamlessly inside floating panels
- Added missing CSS rules to handle window rendering without CDNs
2026-02-24 19:02:48 -03:00
6afeeb311f chore: update htmx and suite_app javascript
All checks were successful
BotUI CI / build (push) Successful in 2m51s
2026-02-22 15:56:05 -03:00
756da22dd5 fix(ui): robust contrast calculation for named colors and variables
All checks were successful
BotUI CI / build (push) Successful in 3m22s
2026-02-20 20:37:47 -03:00
093f417ff7 fix(ui): dynamic suggestion text and borders contrast, cache busting
Some checks failed
BotUI CI / build (push) Failing after 5s
2026-02-20 17:43:28 -03:00
84684c6687 fix(ui): dynamic text contrast for chat balloons and suggestion chips 2026-02-20 17:08:41 -03:00
a7991dd3dc trigger ci on main branch for alm 2026-02-20 15:27:25 -03:00
138ad31a32 update: sync for alm 2026-02-20 12:59:02 -03:00
4987a15858 fix: Update chat UI theme management
Some checks failed
BotUI CI / build (push) Failing after 49m45s
2026-02-20 01:14:14 +00:00
785187868e fix(ui): prevent empty chat bubbles when message content is empty 2026-02-18 21:36:03 +00:00
68bb516ec2 fix(ui): disable dynamic theme dropdown injection entirely 2026-02-18 21:19:28 +00:00
ea8003e213 fix(ui): remove theme selector from suite layout and projector 2026-02-18 20:52:11 +00:00
a3747a794f fix(ui): remove floating menu button from minimal chat UI 2026-02-18 20:41:58 +00:00
e5796fa64c fix: remove theme selector button from minimal chat UI
- Non-logged users no longer see the theme toggle (⚙/🌙/☀️) button
- Theme still auto-detects based on system preference (light/dark)
- Logged-in users have a separate theme menu with preview in the suite
2026-02-18 20:31:50 +00:00
a8bff4e1a7 fix: Send tool display text instead of internal ID when clicking tools
All checks were successful
BotUI CI / build (push) Successful in 5m42s
Fixed issue where clicking a tool button sent the internal ID (e.g., "03-missa")
instead of the display text (e.g., " Agendar Missa") to the chat.

The bug was in chat.html where invoke_tool actions were sending action.tool
(the internal ID) instead of sugg.text (the user-friendly display text).

Now tool buttons work correctly on the first click without sending internal IDs.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 00:04:37 +00:00
f0aba607e9 feat: Use typewriter theme for cristo and make suggestion buttons smaller
All checks were successful
BotUI CI / build (push) Successful in 4m31s
- Change cristo bot default theme from mellowgold to typewriter
- Reduce suggestion button size: padding 6px 12px (was 10px 18px)
- Reduce font size to 12px (was 14px)
- Reduce min-height to 30px (was 40px)
- Reduce border-radius to 20px (was 24px)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 23:48:40 +00:00
cbbcc58ad7 fix: Avoid workspace conflict in Forgejo CI
All checks were successful
BotUI CI / build (push) Successful in 4m41s
Remove actions/checkout with custom path that causes multiple workspace
roots error. Clone botui repository directly in Setup Workspace step
instead of using checkout action.

Fixes error: "multiple workspace roots found in the same workspace"

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 23:26:37 +00:00
9b417bf4f2 fix: Remove body data-theme attribute to prevent CSS override
Some checks failed
BotUI CI / build (push) Has been cancelled
This fixes the issue where theme changes required a page refresh to apply
to the chat client area. The body element's data-theme attribute was
applying base.css theme rules that overrode the inline styles set by the
theme manager.

Changes:
- Add data-theme="sentient" to html element in base.html
- Remove body's data-theme attribute when loading themes in theme-manager.js
- This prevents base.css [data-theme="*"] selectors from overriding inline styles

Now both header and body background update immediately when switching themes.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 23:19:16 +00:00
8bb8f9d96a fix: Hide search bar and Drive/Tasks nav when logged out, improve theme switching
- Hide omnibox search bar when user is not logged in
- Hide Drive, Tasks, CRM, and Calendar navigation items when logged out
- Update theme manager to use correct CSS path (/suite/public/themes/)
- Improve theme switching to update all color variables including --color1/--color2
- Fix bot config color override logic to respect user's theme selection
- Add disconnect notification flag to prevent duplicate notifications

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 21:53:50 +00:00
ccee337522 chore: Bump asset versions for cache invalidation
Update JS asset version from 20260207 to 20260215 to force
browser cache reload after theme/logo fixes.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 21:34:59 +00:00
a29255c848 fix: Update theme selector to change chat colors and add login page logo
- Fix theme CSS path from /public/themes/ to /suite/public/themes/
- When user selects theme, update chat color variables to match
- Only apply bot config colors if user hasn't selected custom theme
- Add bot logo support to login page
- Add CSS styling for login logo image

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 21:33:18 +00:00
4f654dd95d fix(i18n): Invalidate cache to fix placeholder translations
All checks were successful
BotUI CI / build (push) Successful in 2m55s
- Increment CACHE_VERSION from v1 to v2
- Forces all users to fetch fresh translations from API
- Fixes issue where old cache with placeholders was overriding correct HTML
- Browser cache had stale translations from before i18n embed fix

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 20:05:28 +00:00
8732738622 chore: Remove CI workflow
All checks were successful
BotUI CI / build (push) Successful in 3m19s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 19:57:42 +00:00
8611472d4e ci: Add GitHub Actions CI workflow
All checks were successful
BotUI CI / build (push) Successful in 3m42s
- Add basic CI pipeline for Rust project
- Build, test, format check, and clippy

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 17:39:33 +00:00
fb66708cdc Debug: Add warning for missing translation keys
All checks were successful
BotUI CI / build (push) Successful in 4m13s
2026-02-14 12:25:53 +00:00
be802201fd feat(i18n): Add cache versioning to prevent stale translations
All checks were successful
BotUI CI / build (push) Successful in 3m45s
- Add CACHE_VERSION constant (v1)
- Include version in cache key to auto-invalidate old caches
- Update clearCache to handle versioned keys
- Add comment explaining when to increment version
2026-02-14 12:09:26 +00:00
4164b75c89 fix(i18n): Add comprehensive cache and fetch logging
All checks were successful
BotUI CI / build (push) Successful in 4m13s
2026-02-14 12:04:33 +00:00