* chore: bump version to 0.20.0 [skip ci]
* revert: remove automatic skill dependency installation system
- Removed dependency installation loading state from SkillSetupWizard
- Reverted SkillRuntime dependency checking and installation methods
- Cleaned up dependency-related imports and event listeners
- Documented complete implementation in skills/todo.md for future work
The dependency installation system was causing unwanted loading states
when configuring skills. All functionality has been properly reverted
while preserving implementation details for future development.
* Refactor SkillManagementPanel to conditionally show action buttons based on connection status
- Added offline and setup-required states with informative messages
- Updated SkillSetupModal to use connection status for setup vs. manage mode
- Simplified mode logic for better UX and error handling in setup scenarios
* Update CLAUDE.md with new features, state slices, and code quality tools
- Document additions: Redux aiSlice, skillsSlice, teamSlice, and architecture updates
- Add ESLint, Prettier integrations with Husky hooks and GitHub workflows
- Update development commands from npm to yarn for consistency
- Expand key user groups and revise target audiences
- Include enhanced project structure, build outputs, and CI/CD updates
* chore: add simulation function for deep link testing in development
- Introduced a simulation function for deep links in the development environment to facilitate testing.
- The function allows developers to simulate deep link URLs without affecting production behavior.
* fix: resolve TypeScript compilation error and enhance skill session synchronization
- Fix unused parameter error in SkillManager.getSkillLoadParams() by prefixing with underscore
- Add support for session parameter passing in SkillRuntime.load() method
- Implement skill reloading capability for post-authentication updates
- Ensure proper connection status synchronization between skill setup and UI display
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: change skill button text from 'Configure' to 'Manage' for connected skills
- Update SkillsGrid button text to dynamically show based on connection status
- Connected skills now show 'Manage' button instead of 'Configure'
- Provides clearer user indication of skill state
- Improves UX for authenticated skills like Telegram
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: update documentation, download system and code formatting improvements
- Update Claude rules with improved project overview and command documentation
- Enhance download screen with better architecture detection and formatting
- Improve device detection utilities with multi-architecture support
- Add skills system troubleshooting documentation
- Code formatting improvements with better line breaks and spacing
- Optimize GitHub release asset parsing for platform-specific downloads
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: implement QuickJS skill runtime integration
- Added a new QuickJS skill runtime engine to manage skill execution within the application.
- Introduced commands for skill management, including discovery, starting, stopping, and querying skill states.
- Implemented a SQLite database bridge for each skill to handle data storage.
- Enhanced the application structure with new modules for runtime management, skill instances, and manifest parsing.
- Updated dependencies in Cargo.toml and Cargo.lock to support new features.
* refactor: improve code readability and formatting in DownloadScreen and deviceDetection
- Enhanced the button className formatting in DownloadScreen for better readability.
- Reformatted the fetchLatestRelease and parseReleaseAssetsByArchitecture functions in deviceDetection for improved clarity and maintainability.
- Utilized multiline formatting for complex conditions to enhance code structure.
* feat: integrate Rust-native Socket.io client for persistent connections
- Implemented a SocketManager in Rust to handle Socket.io connections, ensuring persistence across app backgrounding.
- Updated SocketProvider to connect/disconnect using Rust-native methods in Tauri mode.
- Enhanced Tauri event listeners for socket state changes and server events.
- Refactored socket handling logic to differentiate between web and Tauri modes, improving maintainability and clarity.
- Added new commands for connecting, disconnecting, and emitting events through the Rust socket.
* refactor: remove Telegram login commands and related functionality
- Deleted the startTelegramLogin and startTelegramLoginWithUrl functions from the Tauri commands.
- Removed associated references in the Rust command module and utility file.
- This cleanup simplifies the codebase by eliminating unused Telegram login features.
* feat: add cron scheduling functionality for skills
- Introduced a new CronScheduler to manage scheduled tasks for skills, allowing for cron expression parsing and execution.
- Added a cron bridge to expose scheduling methods to skill contexts, enabling skills to register, unregister, and list cron schedules.
- Updated the RuntimeEngine to initialize and manage the cron scheduler, ensuring it runs in the background.
- Enhanced skill instances to support cron scheduling through a new BridgeDeps structure.
- Updated dependencies in Cargo.toml and Cargo.lock to include the cron crate.
* feat: add Android support and enhance dependencies
- Introduced Android-specific build and run commands in package.json for Tauri.
- Updated Cargo.toml to include OpenSSL for Android and adjusted reqwest for cross-platform TLS support.
- Added new mobile capabilities configuration for Android and iOS.
- Implemented a foreground service in the Android app to maintain the Rust backend process.
- Added various Android resources including layouts, icons, and notification handling.
- Updated Cargo.lock with new dependencies for improved functionality.
* chore: update .gitignore and AndroidManifest.xml for deep link support
- Added .kotlin and .cargo to .gitignore to exclude Kotlin and Cargo build artifacts.
- Updated AndroidManifest.xml with comments for the deep link plugin, clarifying its auto-generated nature.
* feat: enhance store configuration for development testing
- Added functionality to auto-inject a JWT token from environment variables during development.
- Implemented automatic onboarding for users once their profile is fetched, improving the testing experience.
* feat: enhance socket connection handling and add Android logging support
- Updated the Rust socket connection command to accept an optional URL parameter, allowing for dynamic backend URL configuration.
- Integrated Android logging capabilities using the android_logger crate, ensuring logs are properly routed to logcat.
- Improved error handling in the SocketManager to log connection errors and successful connections for better debugging.
* feat: implement notification permission handling and enhance foreground service in Android
- Added runtime permission request for POST_NOTIFICATIONS in MainActivity to comply with API 33+ requirements.
- Updated RuntimeService to specify foreground service type for API 34+ compatibility.
- Improved logging levels in the Rust backend for better debugging and monitoring of socket connections and skill discovery.
* feat: integrate QuickJS skill management and service
- Added QuickJS skill hooks for retrieving and managing QuickJS skills from Redux.
- Implemented a QuickJS service to handle skill lifecycle, preferences, and IPC calls with the Rust backend.
- Enhanced the skills state in Redux to include QuickJS skills, enabling better management and state tracking.
- Updated the store configuration to persist QuickJS skills state across sessions.
- Introduced new commands in the Rust backend for enabling/disabling skills and managing preferences.
- Improved the SkillProvider to initialize the QuickJS service during app startup.
* refactor: transition skill management to QuickJS runtime
- Removed legacy skill catalog and loading logic, replacing it with QuickJS runtime integration for skill discovery and management.
- Updated SkillProvider to utilize QuickJS for skill registration and lifecycle management.
- Simplified skill data handling by directly invoking the Rust backend for skill operations.
- Enhanced error handling and logging for skill loading processes.
- Cleaned up unused interfaces and functions related to previous skill management methods.
* refactor: remove unused skill commands and plugins
- Deleted the skills command module and related functions to streamline the codebase.
- Removed dependencies on the tauri-plugin-shell and other unused plugins from Cargo.toml and Cargo.lock.
- Updated the authentication module by removing the exchange_token function and its associated structures.
- Simplified the capabilities configuration by eliminating shell-related permissions.
- Enhanced the runtime engine to support new JSON-RPC commands for skill data management.
* feat: expose whitelisted environment values to skills
- Added `platform.env(key)` function to retrieve whitelisted environment values for skills.
- Implemented `get_skill_env` function to provide access to `BACKEND_URL` and `PLATFORM`.
- Updated `get_backend_url` to check for `VITE_BACKEND_URL` before falling back to `BACKEND_URL`.
- Enhanced the QuickJS runtime to support the new environment functionality.
* feat: fix skills enable/disable flow, setup pipeline, and status derivation
- Add SkillSetup struct to Rust manifest and include setup field in
discovery response so the frontend knows which skills need setup
- Map setup field in SkillProvider discoverSkills()
- Fix SkillsGrid to use real hasSetup from manifest instead of hardcoding false
- Add contextual Enable/Setup/Configure/Retry buttons in management modal
- Add status indicator dots to compact skill table rows
- Fix deriveConnectionStatus to return "connected" for ready skills with
completed setup that don't push host state (e.g. cron-based skills)
- Add select option renderer in SkillManagementPanel for non-boolean options
- Add dotenvy crate to load .env file at Rust startup so env vars like
VITE_BACKEND_URL are available to the runtime engine and skills
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add platform support for skills and enhance manifest handling
- Introduced platform filtering for skills in the SkillManifest, allowing skills to specify supported platforms.
- Updated QuickJSManifest and runtime engine to handle platform checks, ensuring skills are only loaded on compatible platforms.
- Added new build and watch commands for skills in package.json to streamline development.
- Enhanced the Rust backend to log unsupported skills based on platform restrictions.
* feat: update skills submodule with TypeScript pipeline and test harness
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: transition from QuickJS to V8 runtime for skill management
- Replaced QuickJS with V8 (via deno_core) for improved JavaScript execution and WASM support.
- Updated skill management logic to utilize the new V8 runtime, including changes to the RuntimeEngine and skill instance handling.
- Enhanced manifest handling to support the new runtime and added platform compatibility checks.
- Introduced new dependencies and updated Cargo.toml to reflect changes in the skill execution environment.
- Refactored related modules and commands to align with the V8 integration, ensuring a seamless transition for skill operations.
* refactor: clean up dead code in IdbStorage and enhance ops module
- Removed unused `#[allow(dead_code)]` annotations from the IdbStorage struct and its methods to improve code clarity.
- Introduced new timer and WebSocket state management structures in the ops module, laying groundwork for future enhancements.
- Added timer and WebSocket operation functions, including `op_timer_start`, `op_timer_cancel`, and WebSocket connection handling, to support asynchronous operations.
* feat: implement high-level TDLib service with V8 integration
- Introduced a new `TdlibV8Service` to manage TDLib client instances using the V8 runtime.
- Added a `MockTdClient` for development and testing, simulating TDLib responses for various queries.
- Enhanced the bootstrap script to initialize and manage TDLib clients, including methods for sending queries and retrieving authentication states.
- Updated the `mod.rs` file to include the new service module and improved documentation for clarity.
- Refactored existing code to support the new TDLib integration, ensuring a seamless experience for skill management.
* refactor: update V8 runtime integration and platform handling
- Updated the V8 runtime integration to ensure it is only available on desktop platforms, with appropriate error handling for mobile.
- Refactored the `SocketManager` and command implementations to conditionally include desktop-only features, enhancing clarity and maintainability.
- Cleaned up the `Cargo.toml` to reflect the changes in V8 runtime availability and added relevant documentation.
- Removed dead code related to mobile platform handling in the TDLib integration, ensuring a streamlined codebase.
* chore: update skills submodule to latest commit
- Updated the skills submodule to the latest commit (19a18e8), ensuring alignment with recent changes and improvements in the codebase.
* refactor: transition from QuickJS to V8 runtime for skill management
- Updated the skills submodule to the latest commit, reflecting the transition from QuickJS to V8 for improved JavaScript execution.
- Refactored skill management logic to utilize the V8 runtime, including changes to the RuntimeEngine and skill instance handling.
- Enhanced manifest handling to support the new runtime and updated platform compatibility checks.
- Removed dead code related to QuickJS, ensuring a streamlined codebase.
- Updated comments and documentation to reflect the changes in runtime integration.
* feat: enhance logging and update timer operations in V8 integration
- Added logging for skill discovery and manifest processing in the V8 runtime, improving traceability during skill management.
- Updated timer operation functions to use new prefixed names (`op_ah_timer_start` and `op_ah_timer_cancel`) to avoid conflicts with deno_core built-ins.
- Implemented a mechanism to load .env files from various locations, ensuring environment variables are available for configuration.
- Enhanced the `get_backend_url` function to include debug logging for better visibility of the backend URL resolution process.
* chore: update skills submodule to latest commit and enhance logging
- Updated the skills submodule to the latest commit (54c40a1), ensuring alignment with recent changes.
- Added console logging for skill manifests during discovery in the SkillsGrid component to improve debugging and traceability.
* refactor: clean up and format code in DownloadScreen and SkillsGrid components
- Improved code readability by formatting multi-line statements in the DownloadScreen and SkillsGrid components.
- Removed unnecessary type imports in DownloadScreen for clarity.
- Enhanced the structure of the SkillsGrid component by adjusting the layout of JSX elements for better maintainability.
- Updated socketService to ensure consistent import order and improved logging in TauriSocket utility functions.
* chore: update development script in package.json
- Replaced the existing setup-python-sidecar script with a new dev:app script to streamline the development process for Tauri applications, enabling better debugging with RUST_BACKTRACE and RUST_LOG settings.
* refactor: update load method to accept additional parameters
- Modified the load method in SkillRuntime to accept an optional additionalParams argument, enhancing flexibility for skill loading.
- Ensured compatibility by using a fallback to an empty object when additionalParams is not provided.
* refactor: improve JSX structure in SkillsGrid component
- Enhanced the formatting of the connection status indicator in the SkillsGrid component for better readability.
- Adjusted the indentation and spacing to maintain consistent code style and improve maintainability.
* docs: update CLAUDE.md with V8 runtime migration and Android support
- Document complete V8 runtime transition from QuickJS with deno_core integration
- Add comprehensive V8 Runtime System section covering core components and bridge system
- Document Android platform support with RuntimeService and notification handling
- Update Rust backend documentation with new runtime management commands
- Add skills development commands and enhanced debugging options
- Document platform differences between desktop V8 runtime and mobile limitations
- Update Recent Changes section with major runtime transition details
- Add Android-specific platform gotchas and socket management guidance
- Reflect enhanced Socket.io integration with Rust-native client
- Update Key Patterns to include V8 skills runtime and platform considerations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Steven Enamakel <enamakel@vezures.xyz>
Co-authored-by: Claude <noreply@anthropic.com>
* chore: bump version to 0.20.0 [skip ci]
* chore: bump version to 0.21.0 [skip ci]
* Add workflow to build and package Android APK
* fix: fix package-android job issues in CI workflow
- Add PR branch ref to checkout step for consistent behavior
- Add missing frontend build step with VITE_* env vars before Android build
- Split APK build into signed/unsigned steps to avoid signing with missing keystore
- Add environment: Production for access to environment-scoped secrets/variables
- Fix wrong auth token ($GH_TOKEN -> $XGH_TOKEN) in release asset upload
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: fix package-android job issues in CI workflow
- Add PR branch ref to checkout step for consistent behavior
- Add missing frontend build step with VITE_* env vars before Android build
- Split APK build into signed/unsigned steps to avoid signing with missing keystore
- Add environment: Production for access to environment-scoped secrets/variables
- Fix wrong auth token ($GH_TOKEN -> $XGH_TOKEN) in release asset upload
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* chore: add simulation function for deep link testing in development
- Introduced a simulation function for deep links in the development environment to facilitate testing.
- The function allows developers to simulate deep link URLs without affecting production behavior.
* feat: implement QuickJS skill runtime integration
- Added a new QuickJS skill runtime engine to manage skill execution within the application.
- Introduced commands for skill management, including discovery, starting, stopping, and querying skill states.
- Implemented a SQLite database bridge for each skill to handle data storage.
- Enhanced the application structure with new modules for runtime management, skill instances, and manifest parsing.
- Updated dependencies in Cargo.toml and Cargo.lock to support new features.
* refactor: improve code readability and formatting in DownloadScreen and deviceDetection
- Enhanced the button className formatting in DownloadScreen for better readability.
- Reformatted the fetchLatestRelease and parseReleaseAssetsByArchitecture functions in deviceDetection for improved clarity and maintainability.
- Utilized multiline formatting for complex conditions to enhance code structure.
* feat: integrate Rust-native Socket.io client for persistent connections
- Implemented a SocketManager in Rust to handle Socket.io connections, ensuring persistence across app backgrounding.
- Updated SocketProvider to connect/disconnect using Rust-native methods in Tauri mode.
- Enhanced Tauri event listeners for socket state changes and server events.
- Refactored socket handling logic to differentiate between web and Tauri modes, improving maintainability and clarity.
- Added new commands for connecting, disconnecting, and emitting events through the Rust socket.
* refactor: remove Telegram login commands and related functionality
- Deleted the startTelegramLogin and startTelegramLoginWithUrl functions from the Tauri commands.
- Removed associated references in the Rust command module and utility file.
- This cleanup simplifies the codebase by eliminating unused Telegram login features.
* feat: add cron scheduling functionality for skills
- Introduced a new CronScheduler to manage scheduled tasks for skills, allowing for cron expression parsing and execution.
- Added a cron bridge to expose scheduling methods to skill contexts, enabling skills to register, unregister, and list cron schedules.
- Updated the RuntimeEngine to initialize and manage the cron scheduler, ensuring it runs in the background.
- Enhanced skill instances to support cron scheduling through a new BridgeDeps structure.
- Updated dependencies in Cargo.toml and Cargo.lock to include the cron crate.
* feat: add Android support and enhance dependencies
- Introduced Android-specific build and run commands in package.json for Tauri.
- Updated Cargo.toml to include OpenSSL for Android and adjusted reqwest for cross-platform TLS support.
- Added new mobile capabilities configuration for Android and iOS.
- Implemented a foreground service in the Android app to maintain the Rust backend process.
- Added various Android resources including layouts, icons, and notification handling.
- Updated Cargo.lock with new dependencies for improved functionality.
* chore: update .gitignore and AndroidManifest.xml for deep link support
- Added .kotlin and .cargo to .gitignore to exclude Kotlin and Cargo build artifacts.
- Updated AndroidManifest.xml with comments for the deep link plugin, clarifying its auto-generated nature.
* feat: enhance store configuration for development testing
- Added functionality to auto-inject a JWT token from environment variables during development.
- Implemented automatic onboarding for users once their profile is fetched, improving the testing experience.
* feat: enhance socket connection handling and add Android logging support
- Updated the Rust socket connection command to accept an optional URL parameter, allowing for dynamic backend URL configuration.
- Integrated Android logging capabilities using the android_logger crate, ensuring logs are properly routed to logcat.
- Improved error handling in the SocketManager to log connection errors and successful connections for better debugging.
* feat: implement notification permission handling and enhance foreground service in Android
- Added runtime permission request for POST_NOTIFICATIONS in MainActivity to comply with API 33+ requirements.
- Updated RuntimeService to specify foreground service type for API 34+ compatibility.
- Improved logging levels in the Rust backend for better debugging and monitoring of socket connections and skill discovery.
* feat: integrate QuickJS skill management and service
- Added QuickJS skill hooks for retrieving and managing QuickJS skills from Redux.
- Implemented a QuickJS service to handle skill lifecycle, preferences, and IPC calls with the Rust backend.
- Enhanced the skills state in Redux to include QuickJS skills, enabling better management and state tracking.
- Updated the store configuration to persist QuickJS skills state across sessions.
- Introduced new commands in the Rust backend for enabling/disabling skills and managing preferences.
- Improved the SkillProvider to initialize the QuickJS service during app startup.
* refactor: transition skill management to QuickJS runtime
- Removed legacy skill catalog and loading logic, replacing it with QuickJS runtime integration for skill discovery and management.
- Updated SkillProvider to utilize QuickJS for skill registration and lifecycle management.
- Simplified skill data handling by directly invoking the Rust backend for skill operations.
- Enhanced error handling and logging for skill loading processes.
- Cleaned up unused interfaces and functions related to previous skill management methods.
* refactor: remove unused skill commands and plugins
- Deleted the skills command module and related functions to streamline the codebase.
- Removed dependencies on the tauri-plugin-shell and other unused plugins from Cargo.toml and Cargo.lock.
- Updated the authentication module by removing the exchange_token function and its associated structures.
- Simplified the capabilities configuration by eliminating shell-related permissions.
- Enhanced the runtime engine to support new JSON-RPC commands for skill data management.
* feat: expose whitelisted environment values to skills
- Added `platform.env(key)` function to retrieve whitelisted environment values for skills.
- Implemented `get_skill_env` function to provide access to `BACKEND_URL` and `PLATFORM`.
- Updated `get_backend_url` to check for `VITE_BACKEND_URL` before falling back to `BACKEND_URL`.
- Enhanced the QuickJS runtime to support the new environment functionality.
* feat: fix skills enable/disable flow, setup pipeline, and status derivation
- Add SkillSetup struct to Rust manifest and include setup field in
discovery response so the frontend knows which skills need setup
- Map setup field in SkillProvider discoverSkills()
- Fix SkillsGrid to use real hasSetup from manifest instead of hardcoding false
- Add contextual Enable/Setup/Configure/Retry buttons in management modal
- Add status indicator dots to compact skill table rows
- Fix deriveConnectionStatus to return "connected" for ready skills with
completed setup that don't push host state (e.g. cron-based skills)
- Add select option renderer in SkillManagementPanel for non-boolean options
- Add dotenvy crate to load .env file at Rust startup so env vars like
VITE_BACKEND_URL are available to the runtime engine and skills
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add platform support for skills and enhance manifest handling
- Introduced platform filtering for skills in the SkillManifest, allowing skills to specify supported platforms.
- Updated QuickJSManifest and runtime engine to handle platform checks, ensuring skills are only loaded on compatible platforms.
- Added new build and watch commands for skills in package.json to streamline development.
- Enhanced the Rust backend to log unsupported skills based on platform restrictions.
* feat: update skills submodule with TypeScript pipeline and test harness
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: transition from QuickJS to V8 runtime for skill management
- Replaced QuickJS with V8 (via deno_core) for improved JavaScript execution and WASM support.
- Updated skill management logic to utilize the new V8 runtime, including changes to the RuntimeEngine and skill instance handling.
- Enhanced manifest handling to support the new runtime and added platform compatibility checks.
- Introduced new dependencies and updated Cargo.toml to reflect changes in the skill execution environment.
- Refactored related modules and commands to align with the V8 integration, ensuring a seamless transition for skill operations.
* refactor: clean up dead code in IdbStorage and enhance ops module
- Removed unused `#[allow(dead_code)]` annotations from the IdbStorage struct and its methods to improve code clarity.
- Introduced new timer and WebSocket state management structures in the ops module, laying groundwork for future enhancements.
- Added timer and WebSocket operation functions, including `op_timer_start`, `op_timer_cancel`, and WebSocket connection handling, to support asynchronous operations.
* feat: implement high-level TDLib service with V8 integration
- Introduced a new `TdlibV8Service` to manage TDLib client instances using the V8 runtime.
- Added a `MockTdClient` for development and testing, simulating TDLib responses for various queries.
- Enhanced the bootstrap script to initialize and manage TDLib clients, including methods for sending queries and retrieving authentication states.
- Updated the `mod.rs` file to include the new service module and improved documentation for clarity.
- Refactored existing code to support the new TDLib integration, ensuring a seamless experience for skill management.
* refactor: update V8 runtime integration and platform handling
- Updated the V8 runtime integration to ensure it is only available on desktop platforms, with appropriate error handling for mobile.
- Refactored the `SocketManager` and command implementations to conditionally include desktop-only features, enhancing clarity and maintainability.
- Cleaned up the `Cargo.toml` to reflect the changes in V8 runtime availability and added relevant documentation.
- Removed dead code related to mobile platform handling in the TDLib integration, ensuring a streamlined codebase.
* chore: update skills submodule to latest commit
- Updated the skills submodule to the latest commit (19a18e8), ensuring alignment with recent changes and improvements in the codebase.
* refactor: transition from QuickJS to V8 runtime for skill management
- Updated the skills submodule to the latest commit, reflecting the transition from QuickJS to V8 for improved JavaScript execution.
- Refactored skill management logic to utilize the V8 runtime, including changes to the RuntimeEngine and skill instance handling.
- Enhanced manifest handling to support the new runtime and updated platform compatibility checks.
- Removed dead code related to QuickJS, ensuring a streamlined codebase.
- Updated comments and documentation to reflect the changes in runtime integration.
* feat: enhance logging and update timer operations in V8 integration
- Added logging for skill discovery and manifest processing in the V8 runtime, improving traceability during skill management.
- Updated timer operation functions to use new prefixed names (`op_ah_timer_start` and `op_ah_timer_cancel`) to avoid conflicts with deno_core built-ins.
- Implemented a mechanism to load .env files from various locations, ensuring environment variables are available for configuration.
- Enhanced the `get_backend_url` function to include debug logging for better visibility of the backend URL resolution process.
* chore: update skills submodule to latest commit and enhance logging
- Updated the skills submodule to the latest commit (54c40a1), ensuring alignment with recent changes.
- Added console logging for skill manifests during discovery in the SkillsGrid component to improve debugging and traceability.
* refactor: clean up and format code in DownloadScreen and SkillsGrid components
- Improved code readability by formatting multi-line statements in the DownloadScreen and SkillsGrid components.
- Removed unnecessary type imports in DownloadScreen for clarity.
- Enhanced the structure of the SkillsGrid component by adjusting the layout of JSX elements for better maintainability.
- Updated socketService to ensure consistent import order and improved logging in TauriSocket utility functions.
* chore: update development script in package.json
- Replaced the existing setup-python-sidecar script with a new dev:app script to streamline the development process for Tauri applications, enabling better debugging with RUST_BACKTRACE and RUST_LOG settings.
* refactor: update load method to accept additional parameters
- Modified the load method in SkillRuntime to accept an optional additionalParams argument, enhancing flexibility for skill loading.
- Ensured compatibility by using a fallback to an empty object when additionalParams is not provided.
* refactor: improve JSX structure in SkillsGrid component
- Enhanced the formatting of the connection status indicator in the SkillsGrid component for better readability.
- Adjusted the indentation and spacing to maintain consistent code style and improve maintainability.
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* chore: bump version to 0.20.0 [skip ci]
* revert: remove automatic skill dependency installation system
- Removed dependency installation loading state from SkillSetupWizard
- Reverted SkillRuntime dependency checking and installation methods
- Cleaned up dependency-related imports and event listeners
- Documented complete implementation in skills/todo.md for future work
The dependency installation system was causing unwanted loading states
when configuring skills. All functionality has been properly reverted
while preserving implementation details for future development.
* Refactor SkillManagementPanel to conditionally show action buttons based on connection status
- Added offline and setup-required states with informative messages
- Updated SkillSetupModal to use connection status for setup vs. manage mode
- Simplified mode logic for better UX and error handling in setup scenarios
* Update CLAUDE.md with new features, state slices, and code quality tools
- Document additions: Redux aiSlice, skillsSlice, teamSlice, and architecture updates
- Add ESLint, Prettier integrations with Husky hooks and GitHub workflows
- Update development commands from npm to yarn for consistency
- Expand key user groups and revise target audiences
- Include enhanced project structure, build outputs, and CI/CD updates
* fix: resolve TypeScript compilation error and enhance skill session synchronization
- Fix unused parameter error in SkillManager.getSkillLoadParams() by prefixing with underscore
- Add support for session parameter passing in SkillRuntime.load() method
- Implement skill reloading capability for post-authentication updates
- Ensure proper connection status synchronization between skill setup and UI display
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: change skill button text from 'Configure' to 'Manage' for connected skills
- Update SkillsGrid button text to dynamically show based on connection status
- Connected skills now show 'Manage' button instead of 'Configure'
- Provides clearer user indication of skill state
- Improves UX for authenticated skills like Telegram
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: update documentation, download system and code formatting improvements
- Update Claude rules with improved project overview and command documentation
- Enhance download screen with better architecture detection and formatting
- Improve device detection utilities with multi-architecture support
- Add skills system troubleshooting documentation
- Code formatting improvements with better line breaks and spacing
- Optimize GitHub release asset parsing for platform-specific downloads
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
- Introduced Maps to track unique architectures for Windows, macOS, Linux, and Android.
- Enhanced logic to prefer more specific filenames when adding links to the architecture arrays.
- Converted Maps back to arrays for final output, improving the efficiency of the asset parsing process.
- Improved the logic for cleaning up application names by removing version and tag patterns more effectively.
- Ensured that double separators and trailing/leading separators are properly handled.
- Enhanced the package-and-publish workflow to clean up the application name by removing version and tag patterns.
- Updated the installer name from "Telegram Air" to "AlphaHuman" in the DMG creation script.
- Changed the publish directory from './deploy' to './dist' to align with the new build output structure.
- This adjustment ensures that the correct files are deployed to GitHub Pages.
- Added 'cname' for custom domain support and set 'force_orphan' to true for deployment.
- These changes enhance the deployment process for GitHub Pages by ensuring proper domain handling.
- Updated quotes in the deploy-gh-pages.yml file for consistency, changing double quotes to single quotes.
- This change improves readability and maintains uniformity across the workflow configuration.
- Introduced a new workflow to automate deployment to GitHub Pages upon successful completion of the version bump workflow.
- Configured steps for checking out code, setting up Node.js, installing dependencies, building the frontend, and deploying to both the gh-pages and main branches.
This addition enhances the deployment process and ensures that the latest changes are reflected on GitHub Pages automatically.
- Standardized quotes in YAML files for better readability.
- Introduced a new workflow to automatically update the changelog on pushes to the develop branch, enhancing project documentation.
- Added architecture and README files to provide an overview of the project and its features.
These changes improve the maintainability and clarity of the project workflows and documentation.
- Changed project name from 'tauri-app' to 'AlphaHuman' in Cargo.toml and Cargo.lock.
- Updated project description to reflect the new branding.
- Adjusted version extraction in the GitHub Actions workflow to use the version from package.json instead of Cargo.toml.
These changes align the project with its new identity and improve the workflow configuration.
- Set the owner and repo fields directly in the package-and-publish job to 'alphahumanxyz' and 'alphahuman', respectively.
- This change simplifies the workflow configuration by removing dependencies on previous steps for these values.
These updates enhance the clarity and maintainability of the workflow.
- Added 'Production' environment specification to the package-and-publish job for improved clarity.
- Introduced GITHUB_TOKEN from secrets to the environment variables to enhance token management.
These changes contribute to a more secure and organized workflow configuration.
- Removed the redundant GITHUB_TOKEN variable from the package-and-publish job to streamline the workflow configuration.
- Ensured that the GITHUB_TOKEN is consistently set in the environment variables.
These changes enhance the clarity and maintainability of the workflow.
- Added GITHUB_TOKEN to the environment variables for the package-and-publish job to enhance token management.
- Removed redundant githubToken variable to streamline the workflow configuration.
These changes improve the security and clarity of the workflow.
- Updated cache keys in both build and package-and-publish workflows to reference 'src-tauri/Cargo.lock' instead of using a wildcard pattern.
- Changed quotes from single to double for consistency across the workflows.
These changes enhance clarity and maintainability of the workflow configurations.
- Added 'Production' environment specification to the create-release, package-tauri, and publish-release jobs for clarity.
- Included XGH_TOKEN in the environment variables for create-release and publish-release jobs to streamline token management.
These updates improve the workflow's structure and security for release processes.
- Changed the tag name format to remove the "air_" prefix for consistency.
- Added environment variables for Telegram bot and Sentry integration to the build step.
These updates enhance the workflow's clarity and functionality.
- Updated quotes from single to double in the GitHub Actions package-and-publish workflow for consistency.
- Adjusted environment variable names for clarity.
These changes improve code readability and maintainability across the workflow.
- Changed the URL of the "skills" submodule to point to the new repository location at https://github.com/alphahumanxyz/skills.
This update ensures that the project references the correct submodule repository.