Releases: fingerthief/minimal-chat
Release 6.2.5 Fluid Fusion - Enhanced User Experience and Audio Interact Mode Enhancements
Summary
This release brings significant improvements to user experience, audio interaction, and overall functionality. Key updates include enhanced avatar customization, improved dynamic scrolling, expanded language support for syntax highlighting, and major upgrades to the audio interaction system. The release also includes various bug fixes and performance optimizations.
Key Changes
-
Avatar Customization:
- Added ability to set AI avatar images via URL or file upload
- Introduced user message avatar image customization
- Added setting for avatar shape (circle or square)
-
UI/UX Improvements:
- Improved dynamic scroller size dependency calculation
- Added transitions throughout the app for a more cohesive experience
- Updated custom model selector to a filterable list box
- Moved saved custom configs to the Custom Models configuration tab
- Adjusted tooltip design for better visibility
-
Audio Interaction Enhancements:
- Implemented sentence-based TTS streaming in interact mode
- Added echo cancellation to reduce false triggers from TTS output
- Improved Interact Mode functionality and mobile usability
- Enhanced audio handling and playback control
-
Language Support:
- Expanded list of registered languages for syntax highlighting
-
Bug Fixes and Optimizations:
- Fixed issues with edit mode for messages
- Corrected custom API models to handle vision requests properly
- Improved context menu functionality for messages
- Enhanced custom config selection in various scenarios
-
Mobile Experience:
- Implemented different animation effects for mobile devices
This release focuses on enhancing the overall user experience, particularly in areas of customization, audio interaction, and mobile usability. The improvements to the audio system and interact mode provide a more responsive and efficient voice-based interaction, while the UI updates offer a more polished and intuitive interface.
Release 6.2.4 - Major Performance Boost and New WebLLM Models
Release 6.2.4 - Lunar Llama
Overview
I am excited to announce the release of version 6.2.4, codenamed "Lunar Llama". This release brings significant performance improvements, new features, and bug fixes to enhance the overall user experience.
Key Changes
Performance Improvements
-
Rewrote
formatMessage
Function:- Initialization Outside the Function: Reduced overhead by avoiding reinitialization of
MarkdownIt
and the highlight function on each call. - Efficient Content Combination: Improved performance by using
map
andjoin
instead ofreduce
with string concatenation. - Simplified Highlight Function: Reduced overhead by avoiding unnecessary try-catch blocks.
- Avoiding Regex for String Manipulation: Improved performance by using more efficient string manipulation methods instead of regex.
These changes collectively contributed to a significant performance improvement, making the function more efficient and maintainable. Benchmark results showed an approximate 96.40% improvement in execution time compared to the old version.
- Initialization Outside the Function: Reduced overhead by avoiding reinitialization of
Bug Fixes
- Fixed Code Syntax Highlighting Bug: Resolved issues with code syntax highlighting to ensure accurate and consistent rendering.
New Features
- PrimeVue Knob Control: Added a new PrimeVue Knob control for setting the max token value, providing users with a more intuitive and interactive way to adjust settings.
UI/UX Enhancements
- Updated Base PrimeVue Theme: Refreshed the base PrimeVue theme for a more modern look and feel.
- Condensed User Message Icons: Condensed user message icons into a context menu that can be toggled open, decluttering the interface and improving usability.
- Adjusted Toast Styling: Made adjustments to the styling of toasts to enhance visual consistency and clarity.
Conclusion
The 6.2.4 Lunar Llama release focuses on significant performance enhancements, new features, and critical bug fixes. I highly recommend upgrading to this version to benefit from the improved efficiency and enhanced user experience.
Thank you for your continued support and contributions!
Full Changelog: v6.2.3...v6.2.4
V6.2.3 Enhanced UI, PrimeVue Integration, and TTS Voice Configuration
Release Notes for Version 6.2.3
New Features
- TTS Voice Configuration Option: Added a new Text-to-Speech (TTS) voice configuration option, allowing users to select their preferred voice for TTS functionality. (#159)
General Improvements
-
PrimeVue Integration:
- Installed the latest PrimeVue stable build with themes.
- Registered PrimeVue components in
main.js
for use throughout the application. - Updated the mobile settings Sidebar component with the new PrimeVue Drawer component. (#46837738)
- Switched PrimeVue theme and refined transition animations for dialogs to have a subtle bounce. (#67c484c5)
- Integrated PrimeVue further into the application by aligning dropdown styles across the site and switching from slider switches to toggle buttons. (#cf981d38)
-
UI Enhancements:
- Aligned mobile header icon colors. (#4d81e217)
- Aligned dialog colors and refined dialog opening/closing transitions. (#8ef27d36, #eafa7875)
- Added additional icons for quick actions such as deleting or starting a new conversation, and editing user message bubbles. (#cf981d38)
- Updated mobile layout conversation dialog to be full height. (#eafa7875)
- Small UI tweaks including moving the mobile model selector tag closer to the bottom of the screen and adjusting the context menu icon position. (#2cfedd70)
Bug Fixes
-
Model Querying:
- Fixed a bug with querying available models for custom API configurations. (#4ce0ce36)
- Hotfixes for fetching available models upon selecting a new saved custom config. (#4bdec7dc, #90a0821e)
-
WebLLM Model Issues:
- Updated
web-llm-api-access
file to use the new messages object structure to maintain context in conversations. (#08477cb5) - Fixed issues related to WebLLM model and made UI tweaks. (#7ffba5e6)
- Updated
-
Console Errors:
- Fixed some console errors related to interact mode. (#2cfedd70)
Security
- Package Update:
- Updated the
braces
package version to fix a potential vulnerability that could cause uncontrolled resource consumption. (#96526233)
- Updated the
Documentation
- Readme:
- Condensed the README file for better readability and conciseness. (#d7ff168c)
Miscellaneous
- New Component:
- Created a new
SliderCheckbox
component to reduce code bloat. (#b7b58245)
- Created a new
Thanks for using MinimalChat, enjoy!
Full Changelog: v6.2.2...v6.2.3
v6.2.2 Enhanced File Management and Dialog Customization
Release Notes for Version 6.2.2
Release Date: June 8, 2024
I am pleased to announce the release of version 6.2.2, which includes significant improvements to the StoredFiles
component, enhancements to the DialogHeader
component, and various bug fixes and performance optimizations. Below are the detailed changes:
New Features:
- Model Selection Sidebar: Introduced a new model selecting experience with a sidebar for mobile layout, allowing users to select between models. [Commit 1945d33]
Enhancements:
-
StoredFiles Component:
- New transitions for opening and closing app dialogs.
- Mobile model selection is now done via a clean slide out panel above the settings dialog. This greatly improves available space for mobile use.
- Added filtering via text input for easier file management. [Commit caa6b4f]
- Introduced new data rows for file size (in kilobytes) and file type. [Commit caa6b4f]
- Added a quick action for downloading stored files. [Commit caa6b4f]
- Included a DataTable footer for quickly adding new files. [Commit caa6b4f]
- Updated file uploads to accept multiple files at once for batch uploads. [Commit caa6b4f]
- Tweaked column widths for better readability and aligned transitions for all dialogs for consistency. [Commit f1206c5]
-
DialogHeader Component:
-
Components Folder Restructure:
- Completed the reorganization of the components folder to improve maintainability and clarity. [Commit 44e5960]
- Added a new
MessageItem
component to represent a single message item. The previousMessageItem
component has been renamed toMessagesList
to accurately reflect its function. [Commit 44e5960]
Bug Fixes:
- Fixed an error caused by an incorrect attempt at accessing a value. [Commit 13ae329]
- Fixed issues related to expanding and closing configuration sections. [Commit 68cf145]
- Fixed a UX issue where users could not scroll the messages list if hovered over the padded left and right sides of the list. [Commit 2eceb45]
- Fixed the token count showing incorrect numbers caused by the new messages object structure. [Commit b4e1205]
- Fixed the issue with duplicate
addMessage
functions that had different logic. [Commit c55aea8]
Performance Improvements:
- Uninstalled unused packages, including testing suites, and deleted associated files to reduce overall application bloat. [Commit 1f62731]
- Removed unused files and global click event handler to improve performance and maintainability. [Commits 11958df, 828b849]
Updated StoredFiles Dialog
Updated Model Selector (Mobile Mode)
I hope these updates improve your experience using MinimalChat! As always, I appreciate your feedback and support.
Pull Requests
- Enhance File Management with IndexedDB Storage and Improve Speech Detection by @fingerthief in #145
- StoredFiles Component Improvements and Bugfixes by @fingerthief in #146
- Completed Components Folder Restructure and Added New MessageItem Component by @fingerthief in #147
- Improved StoredFiles Component, Multi-File Upload, and DialogHeader Enhancements by @fingerthief in #148
Full Changelog: v6.2.1...v6.2.2
Version 6.2.1: UI Design Overhaul, PDF Parsing, and Enhanced Vision Requests
New Features
- PDF File Parsing Support: Added the ability to parse PDF files and upload them as context to conversations. (#138)
- Audio Queueing: Implemented audio queueing to prevent overlap TTS tracks and modularized the InteractMode component. (#141)
Improvements
- Settings Dialog Refactor: Refactored the SettingsDialog template code into individual configuration section components for better maintainability. (#143)
- Vision Requests Enhancements: Updated vision requests to be saved to the conversation context and render the uploaded image on the screen. Vision requests are now integrated into the conversation flow, rather than being one-off requests. (#142)
- Messages List UI Design: Updated the UI design of the messages list with larger left and right paddings to focus interactions in the center. User messages are now uniquely different but distinct from LLM response messages. (#142)
- Conversations Panel Design Overhaul: Redesigned the conversations panel for a more streamlined and minimal look. This includes a new context menu, persistent "new conversation" option, and synchronized max tokens for titles across models. (#139)
- Enhanced ChatInput UI: Improved the ChatInput UI with a flex-based layout and an InteractMode button. (#140)
Bug Fixes
- Fixed Max Token Param: Corrected the
max_token
parameter name for GPT requests. (#139) - Fixed Overflow Bug: Addressed an overflow issue and moved the hover delete icon to the beginning of the text in the conversations panel. (#139)
- Fixed Click Issue: Resolved a click issue with the conversation panel context menu icon. (#139)
- Fixed Issue Importing Settings Files: Corrected an issue related to importing settings files. (#143)
- Fixed copyText Logic Issue: Updated
copyText
to handle the updated messages object structure.
UI/UX Enhancements
- Mobile Layout Adjustments: Made width adjustments for messages in mobile layout for better readability. (#142)
- Removed Redundant User Label: Removed the "user" label as it was deemed redundant, and updated message icons to be animated and scale up when hovered. (#142)
- Interact Mode Enhancements: Updated interact mode to read responses of vision requests and made various layout and design adjustments. (#142)
- Removed User Prompt for Image Upload: Eliminated the requirement for a user prompt when uploading an image to the conversation. (#143)
- Tooltip for Token Count: Added tooltips to show token count in the conversation list for a more informative UI. (#139)
- Final update removes tooltip and left data icon and instead display the token count directly below the title in a small font.
- Added Copy Icon for User Messages: Added copy icon to user messages.
Updated UI and Interact Mode Demo
compressed-demo.mp4
Thanks to @o-stahl for the continued work and improvements!
As always, thank you for your continued support and feedback!
v6.2.0 Introducing Hands-Free Conversations with Interactive Mode
Release Notes
Version: 6.2.0
Summary
We are pleased to announce the release of Interactive Mode in version 6.2.0. This new feature allows users to engage in fully hands-free conversations by leveraging text-to-speech (TTS) and speech-to-text (STT) technologies. Responses are played back via TTS with automatic speech detection, providing a seamless and natural conversational experience.
New Features
- Interactive Mode (experimental):
- Text-to-Speech (TTS) and Speech-to-Text (STT) Integration: Enables hands-free conversations by converting spoken words to text and text responses back to speech.
- Auto Speech Detection: Automatically detects when the user is speaking, allowing for a more natural conversational flow.
- Push to Talk Mode: An optional feature that can be enabled or disabled in the general settings for more controlled interactions.
- Dynamic Noise Floor: Implements a rolling average of the RMS value to maintain consistent speech detection across various microphone sensitivities.
- TTS Model Selection and Audio Playback Speed: Users can select different TTS models and adjust the audio playback speed for a more personalized experience.
- Whisper Temperature Slider: Added in the Interact Mode configuration section to improve accuracy for whisper requests.
Enhancements
- Configuration and UI Improvements:
- Default configuration sections are now closed for a cleaner initial look.
- Input boxes for slider controls have been replaced with minimal labels displaying the current value, reducing clutter.
- Side tab toggle size has been reduced to be less intrusive.
- Improved loading animation for the input box with a more vibrant color range.
- Reduced the max width of messages to avoid visual confusion.
- Slight color and list item tweaks in the ConversationDialog for better visual consistency.
Bug Fixes
- Fixed a bug causing the temperature sliders for GPT and Claude models to not be set on startup.
- Resolved an issue where polling for speech would continue indefinitely even after exiting Interact Mode.
- Fixed an annoyance in the settings page where viewing the general config section would unselect the current model.
- Addressed a bug causing the demo prompt to be re-saved on every reload.
- Fixed a bug generating titles for GPT models.
Miscellaneous
- Updated version information.
- Added support for Safari in Interact Mode.
- Enhanced the settings walkthrough and improved the mobile settings experience, including the ability to collapse model selections easily.
- Updated the application icon with higher resolution and slightly tweaked colors for a more polished look.
We hope you enjoy the new Interactive Mode and the improvements we've made. As always, we welcome your feedback to help us continue enhancing your experience.
Contributors
Massive thanks to @o-stahl for creating and implementing the new base Interactive Mode feature!
v6.1.6 - Comprehensive Settings Page Redesign and Enhancements
Highlights
This release (v6.1.6) brings a comprehensive redesign of the settings page, along with several key updates and improvements aimed at enhancing the user experience across both mobile and desktop platforms.
Key Updates
-
Settings Page Redesign
- Complete overhaul of the settings panel for improved usability and aesthetics.
- Consistent design updates across both mobile and desktop layouts.
- Enhanced user interface with a more intuitive layout.
-
DALL-E Configuration
- Added the missing DALL-E configuration section to the settings page.
- Introduced a "no model selected" indicator in the UI for better user guidance.
-
Walkthrough Adjustments
- Minor tweaks to the walkthrough process to enhance clarity.
- Removed the overlay effect from the mobile layout to improve visibility and interaction.
-
GPT Temperature Setting
- Removed the older calculation method for the GPT temperature setting as the value is now correctly set in the reference and storage directly.
-
Code Cleanup
- General code cleanup to improve maintainability and readability.
Visual Reference
Before Update:
After Update:
Mobile Version:
Conclusion
This release focuses on providing a smoother and more intuitive user experience, with a consistent and functional design across all devices. The redesign of the settings page, along with the added configurations and code improvements, ensures that users have a more efficient and pleasant interaction with the application.
Full Changelog: v6.1.5...v6.1.6
v6.1.5 Enhanced Mobile Experience and New User Onboarding
Overview
This release includes several updates and improvements aimed at enhancing mobile support, providing a new user walkthrough, fixing dependencies, and updating documentation and configuration files. Below is a summary of the key changes:
Key Changes
-
Mobile Enhancements:
- Improved Mobile Swipe Support: Users can now activate swipe actions from anywhere on the screen starting from the edge of the left or right side.
- New Quick Action Context Menu: Users can now press and hold anywhere on the messages list for a brief period of time and a context window will appear with quick options for starting a new conversation or deleting the current conversation.
- Improved Mobile PWA Support: Enhancements to the Progressive Web App (PWA) experience on mobile devices.
- Aligned Mobile Dialog Color Themes: Consistent color themes for dialogs on mobile.
-
New User Onboarding Experience:
- Guided Tutorial/Walkthrough: Introduced a guided tutorial that walks new users through the basic features of the application upon their first visit. This experience is tailored separately for desktop and mobile users to ensure a seamless and helpful onboarding process.
-
Code and Dependency Management:
- Dependency Fix: Addressed a dependency issue with the
got
package. - Uninstalled
got
Package: Removed thegot
package as it was no longer needed. - Moved Custom API Config Logic: Refactored custom API config logic into the
settings-utils
library for cleaner code organization.
- Dependency Fix: Addressed a dependency issue with the
-
General Updates:
- Application Icon and Build Tweaks: Updated the application icon and made minor tweaks to the build process. Fixed some theme issues.
- Documentation: Updated the
README.md
for better clarity and guidance. - CI/CD: Updated the
firebase-hosting-merge.yml
for continuous integration and deployment. - Animations Updated transitions and animations for various areas (conversations list, settings open, etc..) providing a more fluid experience.
-
Miscellaneous:
- Cache: Implemented caching strategies to improve performance.
- Higher Contrast Messages Option: Added an option that adds more distinct backgrounds to messages for users that prefer the message bubble look.
- Bug Fixes and Improvements:
- Fixed issues with message regeneration and browser model generation.
- Removed double compressions being done in the build process.
- Fixed bug in regen and edit previous message logic that caused double responses to be added to the conversation.
- Renamed components to follow a consistent naming format
ComponentNameHere.vue
.
Demos
Guided Walkthrough for New Users
screen-20240525-201728.mp4
Updated Mobile Experience
mobile-settings-conversations-interaction.mp4
New Mobile Quick Action Menu
mobile-quick-action-menu.mp4
Full Changelog: v6.1.4...v6.1.5
v6.1.4 Refactor Complete and Other Improvements
What's Changed
This release completes a large refactor of the ChatLayout
component. App functionality is now properly contained within the appropriate library file or component. This makes it much easier to understand the code structure and also just general cleanliness of the code.
As a result of all of these changes, performance has also improved again. Massively reducing the amount of event emitters being fired off due to the previous architecture and the use of spread operators in many areas that weren't needed. The UI is noticeably snappier when interacting (switching conversations etc..).
Improved build process to adjust caching and compressing methods and additional tree shaking has also helped reduced initial site loading and reloading times.
Pull Requests
- ChatLayout Refactor and Expanding Library Files Suite by @fingerthief in #125
- Fix Issues With Message Regens and Browser Model Message Generation by @fingerthief in #126
Full Changelog: v6.1.3...v6.1.4
v6.1.3 Code Refactoring and Site Loading and Caching Performance Improvements
Release Notes
Major Refactor and Component Optimization
This release features a significant refactor of the main application component, resulting in a more maintainable and streamlined ChatLayout
component. Numerous functions have been converted and moved into new dedicated library files, such as message-processing
and files-processing
and more. This reorganization not only reduces the size of the ChatLayout
component but also enhances its maintainability. Additionally, these library files now contain reusable exports for various functions related to the application's tasks.
Enhanced Bundling and Build Process
The application's bundling and build process has undergone extensive updates to boost site loading and caching performance. Key improvements include:
- Compressed Distribution Files: Achieving a substantially faster initial loading process.
- Tree Shaking: Ensuring only the necessary modules are included in the application.
- Improved PWA Compatibility: Enhanced support for Progressive Web Apps with Service Workers.
- Optimized Asset Caching: Proper caching of assets such as icons and fonts.
These enhancements contribute to significantly faster initial page loading and reload times, aligning with this projects goal of maintaining a lightweight and efficient application.
Pull Requests
- [Maintainability] Conversation Management Library Expansion and Message Sending Library Creation by @fingerthief in #119
- docs: update README.md by @eltociear in #120
- Further Refactor Chatlayout and Expand Libraries by @fingerthief in #121
- Added Tree Shaking to Build Process by @fingerthief in #122
New Contributors
- @eltociear made their first contribution in #120 (thanks!)
Full Changelog: v6.1.2...v6.1.3