Commit graph

94 commits

Author SHA1 Message Date
9fdcd4505d chore: update botlib and botserver submodules 2026-01-12 14:14:03 -03:00
3331bfb0bf chore: update botui submodule 2026-01-12 14:05:24 -03:00
c3ebbf5433 feat(botui): implement CSS lazy loading for faster index.html load
- Add css-loader.js utility for on-demand stylesheet loading
- Load critical CSS sync (app.css, base.css, theme-sentient.css)
- Load non-critical CSS async (components, partials, apps-extended)
- Add CSS links to all app HTML files for per-screen loading
- Reduces initial payload from ~60K lines to ~5.7K lines
2026-01-12 14:01:33 -03:00
0e88ac0132 Update botui: fix theme cascade for office suite 2026-01-11 21:09:19 -03:00
7b12848955 Update botui: fix light theme loading for office suite 2026-01-11 20:59:17 -03:00
70f2a46d06 Update botui: add theme support to all 18 themes for office suite 2026-01-11 20:54:44 -03:00
c1f8015946 Update botui: fix sentient theme for office suite 2026-01-11 20:38:44 -03:00
412ac0af48 Update botui submodule: theme support for office suite apps 2026-01-11 20:28:49 -03:00
210e0ac2bb Update botserver submodule 2026-01-11 20:10:59 -03:00
50ce8e2201 Update botserver submodule: fix overlapping route panic 2026-01-11 18:49:17 -03:00
8222cffb62 Fix all compilation errors and warnings for MS Office compatibility
- Fix umya-spreadsheet API: set_vertical_split/set_horizontal_split
- Fix CommentText to use get_rich_text() for text extraction
- Fix Fill.get_pattern_fill() and get_foreground_color() Option handling
- Fix alignment enum matching with HorizontalAlignmentValues/VerticalAlignmentValues
- Add missing Slide fields: transition_config, media
- Remove unused imports and variables across docs, slides, sheet modules
- Remove unused constants in security protection modules
- Fix irrefutable if let patterns in docs/storage.rs
- Update PROMPT.md with memory management section

0 warnings, 0 errors
2026-01-11 18:29:28 -03:00
38191c8dd9 chore: Update botserver submodule with Phase 4-5 features 2026-01-11 12:28:03 -03:00
8d7a79a290 chore: Update botserver submodule with Phase 3 features 2026-01-11 12:13:29 -03:00
ed6ddc8f6a chore: Update submodule pointers 2026-01-11 12:02:08 -03:00
b93e6ccc7d Update botserver submodule - umya-spreadsheet for Excel 2026-01-11 10:02:27 -03:00
252372c916 Update submodule references for MS Office compatibility 2026-01-11 09:57:00 -03:00
762e347e77 MS Office 100% Compatibility - Phase 1 Implementation
- Add rust_xlsxwriter for Excel export with formatting support
- Add docx-rs for Word document import/export
- Add PPTX export support with slides, shapes, and text
- Update sheet/docs/slides storage modules for Office format handling
- Fix collaboration modules (borrow issues, rand compatibility)
- Remove umya-spreadsheet dependency (using rust_xlsxwriter instead)
- Add ooxmlsdk dependency for future Office 2021 features
- Fix type mismatches in slides storage (ElementContent, SlideBackground)
- UI already theme-aware with --sentient-* CSS variables
- Clean M365-like interface (no sidebars, document-focused)

TODO.md Progress:
 Module refactoring (sheet/docs/slides split into multiple files)
 UI/UX - Clean editor experience (no sidebar, theme variables)
 Phase 1 Excel - rust_xlsxwriter export with styles
 Phase 2 Word - docx-rs import/export HTML conversion
 Phase 3 PowerPoint - PPTX export with slides/shapes
 Phase 4 Drive Integration - endpoints partially wired
2026-01-11 09:55:58 -03:00
8ca8227d14 feat(security): complete Security Protection Module implementation
 All phases completed:

Phase 1 - Backend (botserver):
- Protection module with manager, API routes, tool integrations
- Lynis, RKHunter, Chkrootkit, Suricata, LMD support
- Routes registered in main.rs

Phase 2 - Frontend (botui):
- Security page with Protection tab
- Removed unused askama dependencies

Phase 3 - Documentation (botbook):
- Comprehensive protection-tools.md documentation
- Added to SUMMARY.md

Phase 4 - BASIC Keywords:
- 8 new keywords for scripting security operations
- security_protection.rs with ETL functions

Closes security protection TODO.
2026-01-10 20:33:16 -03:00
4cd0a081c2 chore: update submodule references 2026-01-10 17:32:46 -03:00
cf1b735a4b fix(auth): align auth middleware anonymous paths with RBAC config
- Remove broad /api/auth anonymous path that was matching /api/auth/me
- Add specific anonymous paths: /api/auth/login, /api/auth/refresh, /api/auth/bootstrap
- Remove /api/auth/logout, /api/auth/2fa/* from anonymous (require auth)
- Fix /api/auth/me returning 401 for authenticated users

The issue was auth middleware treating /api/auth/me as anonymous due to
prefix matching on /api/auth, while RBAC correctly required authentication.
2026-01-10 17:30:35 -03:00
d6866ab73a chore: update botui submodule 2026-01-10 14:19:42 -03:00
308e1f53e3 chore: update botserver submodule with complete RBAC routes 2026-01-10 14:13:42 -03:00
e148f96544 chore: update botserver submodule 2026-01-10 14:07:46 -03:00
7d75b24286 chore: update botui submodule for HTMX auth fix 2026-01-10 14:00:57 -03:00
f37b95aead chore: update submodules for RBAC and API client 2026-01-10 11:48:31 -03:00
96da9be213 chore: update botserver submodule for RBAC middleware 2026-01-10 11:42:07 -03:00
4d04b56f4a chore: update botserver submodule for auth fixes 2026-01-10 11:15:14 -03:00
d614b26729 chore: update submodule references for i18n fixes 2026-01-10 10:54:39 -03:00
5794b8608c fix: add /api/auth to anonymous paths for chat session creation
- Fix 401 Unauthorized on /api/auth?bot_name=default endpoint
- Allow anonymous users to create chat sessions without prior authentication
- Fix i18n.js DOM timing issue - wait for document.body before attaching listeners
2026-01-10 10:49:19 -03:00
53822731f8 Update submodules with security protection module 2026-01-10 09:41:39 -03:00
965ece9852 Add security protection module with sudo-based privilege escalation
- Create installer.rs for 'botserver install protection' command
- Requires root to install packages and create sudoers config
- Sudoers uses exact commands (no wildcards) for security
- Update all tool files (lynis, rkhunter, chkrootkit, suricata, lmd) to use sudo
- Update manager.rs service management to use sudo
- Add 'sudo' and 'visudo' to command_guard.rs whitelist
- Update CLI with install/remove/status protection commands
- Create comprehensive botbook documentation
- Update SUMMARY.md with protection-tools entry

Security model:
- Installation requires root (sudo botserver install protection)
- Runtime uses sudoers NOPASSWD for specific commands only
- No wildcards in sudoers - exact command specifications
- Tools run on host system, not in containers
2026-01-10 09:40:52 -03:00
04f8faed81 Update TODO.md - mark all phases complete
- Phase 5 verification complete
- Add ExtractedAuthData to key types
- Update auth.rs changes description
2026-01-10 07:00:05 -03:00
471c1ef58c Mark Phase 5.1 compilation test as complete 2026-01-10 06:49:39 -03:00
dc940de905 Fix auth middleware compilation and complete Phase 5 verification
- Fix JwtKey::from_secret to use &str instead of &[u8]
- Fix auth_middleware_with_providers to avoid holding &Request across await
- Add ExtractedAuthData struct for thread-safe auth data extraction
- Remove duplicate require_permission_middleware export from rbac_middleware
- Fix check_route_access argument order in rbac_middleware
- Remove unused auth_config field from ZitadelAuthProviderAdapter
- Remove unused imports (body::Body, http::Request, AuthError)
- Make check_permission_string public for middleware use
- Add missing jwt_manager, auth_provider_registry, rbac_manager fields to AppState

Phase 5.1 compilation test: PASSED (0 warnings, 0 errors)
2026-01-10 06:49:18 -03:00
497d42258e Fix dropdown menu duplicates and reorder items
- Fix CSS breakpoints to sync header tabs with dropdown menu visibility
- Add missing apps (docs, sheet, slides, social) to hide/show logic
- Remove incorrect paper breakpoint (not in header tabs)
- Reorder dropdown: dynamic items first (header tab apps), then static items
- Move People after dynamic items (after social)
- Remove duplicate Social entry from dropdown menu
- All 26 suite app folders have menu entries (no orphans)
2026-01-09 21:19:43 -03:00
ba74a9a6e5 Fix compilation errors: add missing struct fields and fix type mismatches
- LargeOrgOptimizer: add partition_manager field
- DataPartition: add organization_id, partition_key, start_range, end_range, created_at fields
- AuthError::InvalidToken: change to tuple variant with String, fix all call sites
- FallbackAttemptTracker: add first_attempt_at field
- OrganizationRbacService: add user_groups and user_direct_permissions fields
- RekognitionService: add liveness_sessions field and LivenessSession struct
2026-01-08 23:38:21 -03:00
0c58e30d93 chore: Update botserver submodule with compilation fixes 2026-01-08 15:35:21 -03:00
79656c1b72 chore: Update botserver submodule with video module implementation 2026-01-08 13:45:05 -03:00
42263bd37e Add TODO.md for video module and update all submodules
Submodule updates:
- botapp: safe_command module, desktop sync improvements
- botbook: RBAC docs, white-label, security, channel setup docs
- botlib: i18n localization support (en, es, pt-BR)
- botserver: video module, RBAC, security, billing, contacts, learn, social
- bottemplates: HR and productivity templates
- botui: admin, dashboards, learn, social, video UI
2026-01-08 13:16:29 -03:00
b2b5bf01bb Remove completed TODO and cleanup 2026-01-08 12:11:26 -03:00
37dae7d724 feat: double-click .bas files in drive opens designer automatically
- Add isBasicFile() and openInDesigner() functions in drive.js
- Remove .bas from inline editor, redirect to designer with bucket/path params
- Update designer FileQuery to include bucket parameter
- Add load_from_drive() function to fetch .bas content from MinIO
- Fix designer initialization for HTMX dynamic loading
- Parse URL params from both query string and hash fragment
- Add parseBasicCodeToNodes() to convert BASIC code to visual nodes
- Support TALK, HEAR, SET, IF, FOR, CALL, WAIT, GET, PARAM commands
- Add saveToDrive() to save changes back to original location
- Fix createNode() to return the created node
- Add generateBasCode() for converting nodes back to BASIC
2026-01-05 11:06:38 -03:00
3493018a76 Update submodule references 2026-01-03 23:00:54 -03:00
334ec3ccfe Fix apps dropdown menu positioning near the grid button
- Changed apps-dropdown right position from 60px to 0 in app.css
- Wrapped apps button and dropdown in a container with position:relative
- Moved dropdown to be a sibling of the button inside the container
- Removed duplicate dropdown from header-right section
2026-01-03 17:18:58 -03:00
2ba67c982e Update botserver: add migration for bot database_name 2026-01-02 19:56:52 -03:00
9f851a5783 Update botserver: per-bot database creation 2026-01-02 19:35:12 -03:00
1a27c28b2c Update botserver: dynamic table check in all db_api handlers 2026-01-02 19:19:07 -03:00
4143653f10 Update botserver: clean LLM output for generated files 2026-01-02 19:15:23 -03:00
267b237091 Update botserver: serve vendor files from MinIO 2026-01-02 18:26:42 -03:00
9891c4ab7e Update botserver: dynamic table support for app_generator 2026-01-02 18:20:12 -03:00
576f38eadd Update botserver: rewrite CDN URLs to local paths 2026-01-02 18:12:38 -03:00