* feat(daemon): introduce daemon host configuration management
- Updated the daemon service to support a new configuration structure for managing tray visibility.
- Added functions to load and save daemon host configuration from a JSON file.
- Implemented Tauri commands to retrieve and update the daemon host configuration.
- Enhanced the service management logic to account for legacy application labels and improve compatibility on macOS.
- Refactored executable resolution logic to streamline the process of locating the daemon executable across platforms.
* feat(daemon): enhance daemon host configuration with tray visibility settings
- Added functionality to load and save daemon host configuration, specifically for managing the visibility of the daemon tray icon.
- Implemented UI components in both DaemonHealthPanel and TauriCommandsPanel to toggle the tray visibility setting.
- Integrated Tauri commands to retrieve and update the daemon host configuration, improving user control over the daemon's display options.
- Enhanced loading states and error handling for better user feedback during configuration updates.
* fix(local-ai): update default model IDs for local AI configuration
- Changed default model IDs from `qwen2.5:1.5b` and `qwen3-vl:2b` to `gemma3:4b-it-qat` for chat and vision models, ensuring consistency in local AI settings.
* feat(core): enhance macOS service management and CLI thread stack size
- Added dynamic configuration for thread stack size in the CLI, allowing customization via the `OPENHUMAN_CORE_THREAD_STACK_SIZE` environment variable.
- Improved macOS service management by validating the LaunchAgent plist and ensuring it is installed before starting the service.
- Enhanced error handling and logging for service loading and plist validation, improving user feedback and reliability.
* feat(app): initialize Tauri + React + TypeScript project structure
- Added essential project files including package.json, tsconfig.json, and Vite configuration for a Tauri application using React and TypeScript.
- Created initial HTML template and CSS styles for the application interface.
- Included .gitignore to exclude build artifacts and environment-specific files.
- Established basic README documentation to guide setup and development.
* feat(cli): refactor command structure for core CLI
- Replaced the existing CLI command structure with a new design using `clap` for better organization and extensibility.
- Introduced a `CoreCli` struct with subcommands for various operations including server management, health checks, and configuration settings.
- Updated command handling to support new subcommands for settings and accessibility operations, enhancing the CLI's functionality.
- Modified the core process handling to reflect the new command structure, ensuring compatibility with the updated CLI design.
* chore(eslint): add 'app/**' to ignored paths in ESLint configuration
- Updated the ESLint configuration to include the 'app/**' directory in the list of ignored paths, ensuring that files in this directory are not linted during the development process.
* chore(prettier): add 'app' directory to .prettierignore
- Updated the .prettierignore file to include the 'app' directory, preventing formatting checks on files within this path during development.
* feat(cli): integrate clap_complete for shell command completions
- Added support for generating shell completion scripts using `clap_complete`, enhancing the CLI's usability.
- Introduced new subcommands for generating completions and updated command structures to accommodate this feature.
- Implemented a new `capture_image_ref` command in the accessibility module for direct image reference capture.
- Enhanced the `Tools` command structure to include screenshot functionalities, improving CLI tool management.
* refactor: replace TinyHumans memory client with local SQLite implementation
- Removed references to the TinyHumans memory client and its dependencies from Cargo.toml and Cargo.lock.
- Introduced a new local memory client using SQLite for persistent storage, including methods for storing, querying, and managing memory documents and chunks.
- Updated memory management commands to work with the new local implementation, ensuring compatibility with existing functionality.
- Enhanced error handling and logging for memory operations, improving overall reliability and user feedback.
* chore: update subproject commit reference in skills
* fix: update default model URL and artifact name for Qwen AI configuration
- Changed the default download URL to the new GGUF format for Qwen3-1.7B.
- Updated the default artifact name to reflect the new naming convention for the model.
* feat(local-ai): add prompt functionality to local AI service
- Introduced a new `LocalAiPromptParams` struct for handling prompt requests.
- Implemented the `prompt` method in the `LocalAiService` to process prompts with optional token limits and a no-think mode.
- Updated the Tauri command `openhuman_local_ai_prompt` to invoke the new prompt functionality.
- Enhanced the Local Model panel to include a UI for testing custom prompts, allowing users to input prompts and view responses.
- Added error handling for prompt execution in the UI, improving user feedback during interactions.
* feat(local-ai): enhance backend configuration and support for multiple runtimes
- Added `backend_preference` field to `LocalAiConfig` for specifying preferred runtime.
- Implemented backend resolution logic to select between CPU, Metal, CUDA, and Vulkan based on user preference and feature availability.
- Updated `LocalAiStatus` to include fields for tracking active backend and performance metrics.
- Introduced runtime backend enumeration and support functions to manage backend capabilities.
- Enhanced Cargo.toml files to include features for Metal, CUDA, and Vulkan support in both core and Tauri projects.
* feat(local-ai): enhance model inference and backend status reporting
- Updated `LocalAiService` to include backend status tracking with `active_backend` and `backend_reason` fields.
- Improved inference methods to accept a `no_think` parameter, allowing for more flexible prompt processing.
- Enhanced latency and token metrics tracking during inference, providing better performance insights.
- Adjusted default token limits for various inference methods to optimize user experience.
* feat(local-ai): enhance inference methods and status reporting
- Updated inference methods in `LocalAiService` to include a `no_think` parameter for improved prompt processing.
- Added backend status tracking with `active_backend`, `backend_reason`, and performance metrics such as `last_latency_ms`, `prompt_toks_per_sec`, and `gen_toks_per_sec`.
- Enhanced the UI in `LocalModelPanel` to display backend status and performance metrics, improving user experience and transparency.
- Adjusted token limits for various inference methods to optimize functionality.
* refactor(local-ai): update local AI configuration and model defaults
- Removed the `mistralrs` dependency and related configurations from `Cargo.toml` and `LocalAiConfig`.
- Changed default model provider from `mistralrs` to `ollama`, updating associated default values for model ID, download URL, and artifact name.
- Simplified backend handling in `LocalAiService`, ensuring consistent use of the `ollama` provider for model management and status reporting.
- Enhanced `LocalAiStatus` to reflect the new provider and model path format.
* feat(local-ai): expand local AI capabilities with new inference methods and asset management
- Introduced new parameters and methods for vision prompting, embedding, transcription, and text-to-speech (TTS) functionalities in the Local AI service.
- Enhanced the LocalAiConfig structure to support additional model IDs and preload options for various capabilities.
- Updated the LocalModelPanel UI to facilitate user interaction with new AI features, including asset status and download triggers.
- Implemented backend commands for managing local AI assets and their statuses, improving overall functionality and user experience.
* feat(local-ai): implement model download and asset management features
- Added methods for downloading STT and TTS models, including configuration for download URLs in LocalAiConfig.
- Enhanced the LocalAiService with a new `download_all_models` method to manage model downloads and status updates.
- Introduced error handling for model availability checks, marking the service as degraded if downloads fail.
- Updated dispatch logic to trigger full model downloads, improving the initialization process for local AI services.
* chore(format): apply pre-push formatting for local-ai updates
* feat(accessibility): add vision summary and flush functionalities
- Implemented new commands for fetching recent vision summaries and flushing the vision queue in the accessibility module.
- Enhanced the AccessibilityEngine to manage vision state, including queue depth and last vision summary.
- Updated the AccessibilityPanel UI to display vision state and recent summaries, allowing users to trigger flush actions.
- Added Redux state management for vision-related data, including loading states and error handling.
- Expanded onboarding steps to include user consent for local model usage, improving privacy and resource management awareness.
* feat: add messaging channel configuration and routing support
- Introduced a new 'Channels' section in the MiniSidebar for navigating to messaging settings.
- Added a Messaging Channels panel in SettingsHome for configuring Telegram and Discord authentication modes.
- Implemented channel connection management in MessagingPanel, including connection status updates and error handling.
- Created a routing utility to resolve preferred authentication modes for messaging channels.
- Enhanced socket service to handle real-time updates for channel connection statuses.
- Added API service for managing channel connections, including connect and disconnect functionalities.
- Updated thread API to support outbound routing based on the selected messaging channel.
* feat(local-ai): update default vision model and enhance audio transcription capabilities
- Changed the default vision model from `qwen2.5vl:3b` to `moondream:1.8b` in the local AI configuration.
- Implemented a new function `openhumanLocalAiTranscribeBytes` for transcribing audio from byte arrays, improving flexibility in audio input handling.
- Enhanced the `Conversations` component to support voice recording and transcription, including state management for recording and playback.
- Added error handling and user feedback for audio transcription processes, improving overall user experience.
* refactor(accessibility): improve code formatting and readability in AccessibilityEngine
- Reformatted code in the AccessibilityEngine for better readability, including consistent indentation and line breaks.
- Enhanced the clarity of the `analyze_frame_with_vision` function signature by spreading parameters across multiple lines.
- Improved the readability of temporary path creation in the `capture_screen_image_ref` function.
* feat(accessibility): implement permission request functionality and enhance accessibility features
- Added a new command to request specific accessibility permissions on macOS, including screen recording, accessibility, and input monitoring.
- Updated the AccessibilityPanel and onboarding steps to utilize the new permission request functionality, improving user experience and compliance with macOS requirements.
- Introduced a MemoryWorkspace component for managing memory documents, enhancing the intelligence features of the application.
- Refactored related Redux actions and state management to support the new permission handling and memory functionalities.
* feat(skills): enhance skill synchronization metrics and UI display
- Added synchronization summary text to the SkillsGrid and SkillCard components, providing users with insights on sync counts, local data size, and last sync time.
- Implemented a new function to derive skill sync summary text based on skill state and sync statistics.
- Updated the SkillsGrid to display sync metrics in a new column, improving the visibility of synchronization status.
- Enhanced the SkillManager to manage sync statistics, including tracking sync durations and local data metrics.
- Refactored Redux state management to include persistent sync metrics for each skill, ensuring accurate reporting and user feedback.
* feat(cron): implement cron job management features in settings
- Added new commands for listing, updating, removing, running, and retrieving run history of cron jobs.
- Introduced a dedicated CronJobsPanel for managing scheduled jobs, enhancing user interface for cron job configuration.
- Updated navigation components to include links to the new cron jobs settings.
- Enhanced the core server to support cron job operations, ensuring integration with existing functionality.
- Implemented error handling and user feedback for cron job actions, improving overall user experience.
* refactor(cron): streamline error handling and improve code readability
- Simplified error handling in cron job management functions by removing unnecessary line breaks.
- Enhanced the readability of the `dispatch` function in the core server by consolidating related code.
- Improved formatting in the AccessibilityEngine for better consistency and clarity in permission requests.
* fix(docs): update image format in README and replace JPG with PNG
- Changed the image reference in README.md from JPG to PNG format for better compatibility.
- Removed the old JPG file and added the new PNG file to the documentation directory.
* feat(core): add in-process mistral.rs local AI runtime (qwen3.5-1b)
* style: apply pre-push formatting for local-ai changes
* feat: add Local Model panel and navigation support
- Introduced a new Local Model panel for managing local AI runtime, including status monitoring and download options.
- Updated settings navigation to include 'local-model' route.
- Enhanced AIPanel and Home components to integrate local model management features.
- Improved error handling in Tauri commands for local AI operations.
- Updated subproject reference in skills.
* fix: enhance error handling in local model management
- Improved error handling mechanisms in the Local Model panel to provide clearer feedback during AI runtime operations.
- Updated relevant components to ensure consistent error reporting and user notifications.
- Refactored code to streamline error management processes across local model features.
* feat(local-ai): improve local runtime bootstrap, status UX, and qwen defaults
* feat(core): introduce CoreRunMode for process management
- Added CoreRunMode enum to support in-process and child process execution modes.
- Updated CoreProcessHandle to manage tasks and child processes based on the selected run mode.
- Enhanced process spawning logic to differentiate between in-process server and dedicated core binary execution.
- Improved error handling for process readiness checks in both run modes.
* refactor: clean up unused imports and streamline runtime module exports
- Removed unused HashMap import from runtime.rs to enhance code clarity.
- Updated runtime module exports to only include necessary components, simplifying the interface for consumers.
- Changed variable name in llm_generator.rs for clarity without altering functionality.
* refactor: streamline runtime module exports by consolidating imports
* refactor: remove mobile platform support and update documentation
- Updated CONTRIBUTING.md and SECURITY.md to reflect the removal of Android and iOS support, focusing on desktop platforms only.
- Modified AGENTS.md and MEMORY.md to clarify the platform capabilities of OpenHuman as a desktop application.
- Adjusted various Rust files to eliminate references to mobile platforms, including socket management and platform detection logic.
- Removed mobile-specific code from SkillsGrid and Skills components, ensuring the application is tailored for desktop usage.
- Deleted unused iOS and Android assets and configurations from the Tauri project structure.
* chore: remove zeroclaw mentions and mobile support paths
* chore: update dependencies and remove unused packages
- Removed several unused dependencies from package.json, including `@tauri-apps/plugin-shell`, `@types/react-router-dom`, `immer`, `qrcode.react`, and `@testing-library/user-event`.
- Updated the Vite configuration to exclude `telegram` from the optimizeDeps include list.
- Cleaned up yarn.lock by removing references to deleted packages.
- Deleted outdated GitHub Actions workflows for macOS ARM64 build, package and publish, and update changelog.
* refactor: consolidate CLI binaries and update configurations
- Renamed the main binary from `openhuman-core` to `openhuman` for consistency across the project.
- Removed the `openhuman-cli` and `openhuman-core` binaries, consolidating functionality into the new `openhuman` binary.
- Updated build configurations in GitHub Actions and Tauri to reflect the new binary name and paths.
- Adjusted the Tailwind and Vite configurations to point to the correct HTML and source directories.
- Introduced a new method in the Rust core server for handling JSON-RPC calls, enhancing the API structure.
* chore: update subproject commit reference in skills
* chore: update Rust test workflow and improve CLI command formatting
- Modified the GitHub Actions workflow to include a new job for running Rust tests in the workspace.
- Updated the `test:rust` command in `package.json` to run tests for the entire workspace.
- Refactored CLI command definitions in `openhuman.rs` for improved readability by consolidating struct fields into single lines.
* chore: enhance E2E testing scripts and workflows
- Updated `.prettierignore` to exclude the `rust-core` directory.
- Added new E2E testing commands in `package.json` for running all flows and improved formatting commands to include `cargo fmt`.
- Enhanced GitHub Actions workflows to streamline E2E testing, including new scripts for running individual specs and all flows sequentially.
- Refactored existing E2E scripts to utilize a common function for running tests, improving maintainability and readability.
- Introduced a new script for resolving Node.js and Appium dependencies, ensuring compatibility for E2E tests.
- Cleaned up and simplified existing E2E scripts by removing redundant code and consolidating functionality.
* chore: update GitHub Actions workflows for Tauri build process
- Modified build and release workflows to reference the correct target directory for Rust binaries, ensuring compatibility with the Cargo workspace structure.
- Adjusted caching configuration in the test workflow for consistency and improved readability.
- Standardized environment variable formatting in the test workflow to enhance clarity.
* fix: standardize string formatting in GitHub Actions workflows
- Updated the test workflow to use single quotes for cache configuration and environment variables, enhancing consistency across the file.
* chore: add Cargo.toml and Cargo.lock for rust-core workspace
- Introduced a new workspace for the rust-core module with its own Cargo.toml.
- Added Cargo.lock to manage dependencies for the rust-core module.
- Updated .gitignore to exclude the target directory generated by Cargo.
- Modified GitHub Actions workflow to build from the new rust-core path instead of src-tauri.
* feat: enhance memory and authentication models in rust-core
- Added new `memory` module to handle persistent memory operations for skills, including methods for storing and querying skill data.
- Introduced `models` module with `auth` and `socket` submodules to manage user session and socket connection states.
- Updated `lib.rs` to include new modules and ensure proper integration within the rust-core workspace.
- Modified `eslint.config.js` to ignore target directories in linting processes.
* feat: integrate Tauri and QuickJS support in rust-core
- Added `tauri` and `rquickjs` as optional dependencies in `Cargo.toml` to enable Tauri integration and JavaScript execution.
- Introduced `CronScheduler` and `PingScheduler` modules for managing scheduled tasks and health checks for skills.
- Implemented `MemoryState` struct for shared app-state management in the memory client.
- Updated the runtime module to include new schedulers and ensure proper integration with Tauri features.
- Enhanced the skill registry to support new functionalities related to skill management and communication.
* chore: update ESLint configuration and refactor Rust module imports
- Added 'rust-core/**' to ESLint ignore list to streamline linting processes.
- Refactored import paths in Rust modules to directly reference the `memory` module, enhancing clarity and maintainability.
- Improved formatting in JavaScript files for better readability and consistency.
* refactor: rename rust-core to openhuman-core and update dependencies
- Renamed the `rust-core` module to `openhuman-core` across all files for consistency.
- Updated `Cargo.lock` to include `openhuman-core` as a new dependency and removed `rust-core`.
- Adjusted import paths in the codebase to reflect the new module name, ensuring all references are updated.
- Enhanced the Tauri integration by modifying dependencies in `src-tauri/Cargo.toml` to point to `openhuman-core`.
* refactor: simplify platform detection using match statements
- Replaced multiple if-else statements with match expressions in `current_platform`, `get_platform`, and `register` functions for improved readability and maintainability.
- Removed unnecessary conditional compilation for Android and iOS in the `SocketManager` and `tauri_bridge` modules, streamlining the codebase.
- Enhanced the `send_notification` function to handle platform checks more efficiently.
* refactor: update platform detection to use std::env::consts
- Replaced `cfg!(target_os = "os_name")` checks with `std::env::consts::OS` for improved clarity and consistency across the codebase.
- Added `rppal` as an optional dependency in `Cargo.toml` for Raspberry Pi support.
- Cleaned up platform-specific code in various modules, enhancing maintainability.
* refactor: streamline platform-specific code and improve readability
- Replaced conditional compilation with `std::env::consts::OS` checks in various modules to enhance clarity and maintainability.
- Simplified platform detection logic in `available_disk_space_mb`, `ensure_arduino_cli`, and `open_in_brave` functions.
- Updated `screenshot_command_exists` test to conditionally skip based on the operating system.
- Cleaned up unnecessary `#[cfg]` attributes, focusing on a more consistent approach across the codebase.
* feat: introduce comprehensive AI configuration and memory management
- Added multiple configuration files for OpenHuman AI, including `AGENTS.md`, `BOOTSTRAP.md`, `CONSCIOUS_LOOP.md`, `IDENTITY.md`, `MEMORY.md`, `README.md`, `SOUL.md`, `TOOLS.md`, and `USER.md` to define agent roles, onboarding processes, identity, memory management, and tool capabilities.
- Implemented an encryption layer for AI memory storage in `encryption.rs`, utilizing AES-256-GCM for secure data handling.
- Updated `lib.rs` to include the new AI module structure, enhancing the overall architecture and maintainability of the codebase.
* refactor: update dependencies and configuration for improved structure
- Removed `android_logger` and related packages from `Cargo.lock` and `Cargo.toml`, streamlining the dependency list.
- Adjusted the `APP_IDENTIFIER` constant in `config.rs` to reflect the new application identifier.
- Updated resource paths in `tauri.conf.json` for better organization.
- Enhanced platform-specific dependency management in `Cargo.toml` for clarity and maintainability.
* fix(core): gate ai module behind tauri-host feature
* refactor: update AI loading mechanisms and improve platform handling
- Refactored the AI configuration loading in `loader.ts` and `tools/loader.ts` to utilize Tauri commands for desktop environments, enhancing performance and reliability.
- Updated paths for AI markdown files to reflect the new `rust-core` structure.
- Introduced a new end-to-end test for Tauri command interactions in `tauriCoreBridge.e2e.test.ts`.
- Cleaned up platform-specific code across various modules, ensuring a more consistent approach to handling desktop and web contexts.
* feat: add sidecar core binary build and staging for Tauri bundler
- Implemented build steps for the sidecar core binary in multiple workflows, targeting both x86_64-unknown-linux-gnu and aarch64-apple-darwin architectures.
- Added staging steps to copy the built binaries into the Tauri resources directory, ensuring proper integration for application bundling.
- Updated relevant workflows to enhance the build process and streamline artifact management.
* refactor: enhance AI loading logic for Tauri integration
- Updated `loader.ts` and `tools/loader.ts` to prioritize Tauri commands for loading configurations in desktop environments, with a fallback to bundled markdown files for web contexts.
- Adjusted test mocks to reflect the new file paths for tools markdown.
- Improved test setup to mock Tauri API behavior accurately.
* docs: update CLAUDE.md and remove Android build scripts from package.json
- Added a new section in CLAUDE.md detailing the runtime scope, clarifying that Tauri is desktop-only and should not include mobile or web branches.
- Removed Android development and build scripts from package.json to streamline the project for desktop platforms only.
* refactor: streamline import statements and enhance test mock structure
- Reordered import statements in `loader.ts` and `tools/loader.ts` for consistency.
- Simplified mock implementation in `tauriCoreBridge.e2e.test.ts` to improve readability and maintainability.
- Added external binary configuration in `build.rs` to support resource management during local builds.
* test: stabilize core/unit test paths and tauri build-test config
* chore: update subproject commit reference in skills
* chore: update Tauri build configuration to include custom environment variable
- Modified the Tauri build command in the GitHub Actions workflow to set a custom configuration for updater artifacts, enhancing the build process for the x86_64-unknown-linux-gnu target.
* fix: remove standalone bins from Cargo.toml to fix Tauri bundler failure
Tauri's bundler reads all [[bin]] entries from Cargo.toml and tries to
copy them into the app bundle, even when gated behind required-features.
This caused CI to fail with "openhuman-cli does not exist" because only
the OpenHuman binary was compiled.
- Remove openhuman-cli and openhuman-core [[bin]] entries from Cargo.toml
- Add autobins = false to prevent Cargo auto-discovering src/bin/*.rs
- Remove --bin OpenHuman flag from build/package-and-publish/release workflows
- In release.yml, inject [[bin]] entries temporarily for standalone build step
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: move standalone bins out of src/bin/ to prevent Tauri auto-discovery
Tauri CLI and Cargo both auto-discover src/bin/*.rs as binary targets,
regardless of autobins = false. Moving the files to src/standalone/
ensures they are completely invisible to the Tauri bundler.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: disable updater artifacts in build workflow
The build workflow is a CI check and doesn't have TAURI_SIGNING_PRIVATE_KEY.
Pass a config override to disable createUpdaterArtifacts for this workflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: clear updater pubkey in build workflow to skip signing
The updater plugin has a pubkey configured which triggers signing even
with createUpdaterArtifacts disabled. Clear the pubkey via config override.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: skip bundling in build workflow with --bundles none
The CI build check only needs to verify compilation succeeds, not
produce signed bundles. Using --bundles none skips the bundler entirely,
avoiding the TAURI_SIGNING_PRIVATE_KEY requirement.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: implement Conscious Loop for proactive actionable item extraction
- Introduced a new background process that periodically recalls skill memory and extracts actionable items using LLM.
- Created `CONSCIOUS_LOOP.md` for LLM prompt structure and guidelines.
- Added `useConsciousItems` hook to manage and fetch actionable items from the `conscious` memory namespace.
- Updated `Intelligence` page to integrate and display actionable items from the Conscious Loop.
- Enhanced error handling and event emissions for better UI feedback during analysis runs.
* docs: update Conscious Loop documentation and enhance command structure
- Added detailed descriptions for `ConsciousLoopStartedEvent`, `ConsciousLoopCompletedEvent`, and `ConsciousLoopErrorEvent`.
- Expanded function documentation for `conscious_loop_run` and `conscious_loop_run_inner`, including parameters and logic flow.
- Introduced `conscious_loop_timer` details and error handling improvements.
- Modified `memory.rs` to expose `extract_namespaces_from_documents` as `pub(crate)`.
- Updated `mod.rs` and `lib.rs` to include new commands and timer setup.
- Clarified design decisions and event protocol for better understanding of the Conscious Loop functionality.
- Included formatting, linting, and compilation checks for JavaScript and Rust.
- Specified tools and commands for verifying code quality before marking tasks complete.
Updated error handling in chat commands to reduce redundant event emissions by logging errors instead. Enhanced error reporting for HTTP client and inference response failures. Added frontend logic to prevent duplicate error messages in the UI.
- Ensured the `messages` view updates when a new message is added to the currently selected thread.
- Simplified `useEffect` logic in `Conversations.tsx` to always set the selected thread for consistent message synchronization.
- Removed redundant `setSelectedThread` call during message dispatch to prevent state management issues.
- Improved table formatting in the `sdk-rust-e2e-test-run.md` and `tinyhumansai-sdk.md` files for better readability.
- Ensured consistent alignment and spacing across various sections to enhance user experience.
- Updated the TinyHumans AI SDK version in Cargo.lock and Cargo.toml.
- Added new documentation files for the Rust SDK E2E test run and TinyHumans AI SDK reference.
- Updated the skills subproject commit reference.
- Refactored memory client methods for improved functionality and consistency.
- Upgraded Tauri CLI version from 2.9.6 to 2.10.0 in package.json and yarn.lock.
- Modified build commands in various workflow files to include the `--bin OpenHuman` argument, ensuring the correct binary is targeted during builds for macOS and Linux.
- Streamlined argument handling in the build workflows for consistency across platforms.
- Eliminated several functions related to thread selection, creation, deletion, and purging to simplify the Conversations component.
- Introduced a new variable to manage the selected thread's tool timeline, enhancing the component's state management.
- Improved code readability by reducing complexity and focusing on essential functionality.
- Bumped OpenHuman version in Cargo.lock from 0.49.11 to 0.49.12.
- Cleaned up the release workflow by standardizing argument formatting for better consistency across platforms.
- Made minor formatting adjustments in Conversations component for improved readability.
* refactor: update Conversations component and routing logic
- Replaced the Conversations component rendering in AppRoutes with a redirect to the conversations list.
- Simplified the Conversations component by removing unused imports and state variables.
- Introduced default thread creation logic to ensure a conversation is always available.
- Streamlined the effect hooks for managing thread selection and message fetching.
* refactor: remove TDLib integration and clean up related code
- Eliminated TDLib-related code and comments across multiple files to streamline the project.
- Updated build logic to remove unnecessary checks for TDLib resources.
- Refined comments for clarity regarding background service shutdown and storage mechanisms.
- Adjusted the QuickJS runtime support module to reflect the removal of TDLib integration.
* refactor conversations to single default thread UI
- Updated the OpenHuman version in Cargo.lock from 0.49.8 to 0.49.11.
- Adjusted the release workflow to conditionally pass the `--bin OpenHuman` argument only on macOS, improving compatibility for Linux packaging.
* refactor: update AI configuration handling and remove OpenClaw integration
- Replaced OpenClaw context injection with direct AI configuration retrieval methods.
- Introduced new functions for fetching and refreshing AI configuration, enhancing modularity.
- Cleaned up the AIPanel component to utilize the new configuration structure.
- Removed obsolete OpenClaw-related files and logic to streamline the codebase.
- Added new TODO items for future enhancements in the documentation.
* docs: add PR template and update AI authoring rules
- Introduced a new pull request template in `.github/pull_request_template.md` to standardize PR submissions.
- Updated CLAUDE.md to require the use of the new PR template for all pull requests.
- Added a rule in AGENTS.md specifying that agents must adhere to the PR template when suggesting content.
* chore: update subproject commit and refine pre-push script
- Updated the subproject commit reference in the skills directory.
- Refined the pre-push script to improve formatting and linting checks, ensuring automatic fixes are applied when issues are detected.
* refactor: improve label formatting in AIPanel component
- Adjusted label formatting in the AIPanel component for better readability by breaking long lines into multiple lines.
- Ensured consistent styling for labels related to personality, safety rules, tools, and skills overview.
- Updated the release workflow to ensure the `--bin OpenHuman` argument is correctly passed to Cargo by adding an additional separator. This change addresses an issue with Yarn v1 stripping the argument layer, improving the build process for standalone binaries.
- Commented out macOS build configurations in the release workflow to focus on ensuring the flow works correctly.
- Added steps to build and upload standalone CLI binaries for `openhuman-core` and `openhuman-cli`.
- Updated `Cargo.toml` to require the `standalone-bins` feature for both binaries, streamlining the build process.
- Eliminated the Tauri integration files and related functions to streamline the tools discovery process.
- Updated the tools discovery logic to utilize a mock registry instead of relying on Tauri, enhancing compatibility and simplifying the workflow.
- Adjusted comments in the release workflow to reflect the changes in tools discovery and removed references to the now-removed Tauri binary.
- Updated comments in the GitHub Actions release workflow to clarify the handling of feature-gated binaries for macOS codesigning.
- Removed unnecessary required features for `openhuman-core` and `openhuman-cli` in Cargo.toml to streamline the configuration.
- Modified the Tauri signing key configuration in the GitHub Actions workflow to allow fallback to an updater private key if the primary key is not set.
- Added comments in the release workflow to clarify the handling of app binaries and feature-gated helper binaries for macOS codesigning.
- Updated the public key in the Tauri configuration for the updater plugin to a new value for improved security.
- Updated the Tauri command in both discover-tools.js and tauri-integration.js to include the new '--features tools-discovery-bin' option for enhanced tool discovery.
- Bumped OpenHuman version to 0.49.5 in Cargo.lock to reflect dependency updates.
- Added required features for openhuman-tools-discovery, openhuman-core, and openhuman-cli in Cargo.toml to support the new functionality.
- Introduced a new GitHub Actions workflow for building Tauri applications on macOS Apple Silicon (aarch64).
- Created a script to facilitate local execution of the macOS ARM64 build process, including handling secrets and environment variables.
- Updated existing workflows to replace the APPLE_APP_SPECIFIC_PASSWORD with a more generic APPLE_PASSWORD for consistency.
- Modified example secrets file to reflect the new password structure.