Skip to content

Conversation

@esatiyev
Copy link

@esatiyev esatiyev commented Aug 22, 2025

This PR replaces my earlier PR #264.
As requested, I created a new PR instead of updating the previous one. It includes all the previous changes plus the requested updates and improvements.

Summary of updates

  • Realtime API support: Added WebRTC-based client for low-latency streaming with tool loading and event hooks.
  • Mode chooser: Introduced a startup selector to load either the Realtime or Assistant API once.
  • Shared modules: Centralized common logic for resource loading, UI helpers, and MAVLink, etc.
  • UI modernization: Improved design with dark theme support and more consistent layouts across desktop and mobile.

All changes have been tested locally.

Chat WebTool Screenshot 1 Chat WebTool Screenshot 2

gsoc_test_video.webm

rmackay9 and others added 25 commits July 24, 2025 17:44
…msg typo; changed label's for to match input id
- Added and Fixed functions to set, get, delete, and check wakeup timers
- Implemented get_mode_mapping function
- Fixed minor UI design issue
- Updated handleTranscription to add FormData field language=en to enforce English in Whisper transcription
…UI change

- Added case 22 in mavlink_msg_handler for handling PARAM_VALUE messages
- Converted handle_function_call to async
- Added functions for use in handle_function_call:
  - get_parameter
  - get_all_parameters
  - get_parameter_description
  - set_parameter
  - get_mavlink_message
  - get_available_mavlink_messages
- Made small UI adjustments
- Made small UI adjustments
…perties of null (reading 'apiKey')

Added a new “Connect AI” button so users can initialize the assistant before sending messages

Linked the button to the connection routine and exposed the function globally for other modules

Updated audio transcription to ensure a connection to OpenAI exists before sending the audio for processing
- Add "Start New Chat" button and support for restoring previous chat sessions with thread id
- Display prompt to continue or reset previous sessions on page load
- Introduce chat busy state to prevent race conditions; disable UI controls during chat operations
- Remove unnecessary functions for arming/disarming vehicle
- Enhance parameter metadata loading
- Clean up labels, error handling, and general code structure
and added mavftp

(cherry picked from commit 90dfb75)
- Added OpenAI Realtime API integration alongside Assistant API
- Unified both into a single webtool with mode chooser (user selects once)
- Improved chat handling:  prevent repeated actions
- Modernized UI layout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants