The previous LaTeX preprocessing logic had a bug that could lead to incorrect rendering of mathematical equations. This commit refactors the logic to ensure that both block-level and inline equations are properly handled, improving the accuracy of LaTeX rendering in the application.
Adds a "Save" button to the edit message form in Playground, allowing users to save changes without immediately submitting them. This also introduces a new `isSend` flag to the `onEditFormSubmit` prop, enabling developers to control whether a message should be sent immediately or saved for later submission. This enhances flexibility and user control during the message editing process.
Adds LaTeX processing to the code, enabling the rendering of LaTeX equations within the application. This improves the user experience by allowing users to insert mathematical formulas directly into the content.
The LaTeX processing is implemented using a dedicated utility function that replaces LaTeX tags with appropriate MathJax syntax, ensuring seamless rendering. This change is expected to have a positive impact on the overall user experience, making the application more versatile and convenient for users who work with mathematical content.
Firefox does not allow extensions to run content scripts on PDF pages, so we have to work around this limitation. This commit adds a workaround that retrieves the PDF URL and type directly from the tab. This ensures that the extension can handle PDFs in Firefox while waiting for the bug in Firefox to be fixed.
Adds a button to the Hugging Face website allowing users to download models directly from the Page Assist extension. The button appears next to the copy snippet button on model pages. This allows users to easily pull models directly to their local machine for use with Ollama.
The button triggers a confirmation dialog, ensuring users understand the action before proceeding. The process leverages a background script to handle the actual download and displays a message during the download process.
Adds pin/unpin functionality to the chat history sidebar, allowing users to keep important conversations readily accessible. This improves user experience and helps organize past interactions.
This feature includes:
- Pin/unpin buttons in the chat history sidebar.
- Updated database schema to include `is_pinned` field for chat history items.
- Localized translations for pin/unpin actions.
- Updated UI to display pinned items at the top of the list.
The language detection mechanism has been removed to streamline the translation process and ensure a consistent user experience across all locales. This change aims to simplify the i18n setup and minimize potential complexities associated with dynamic language switching.
Adds a new "Download Code" button to the code block component, allowing users to download the code displayed for offline use.
This feature enhances user convenience and provides a more versatile experience for exploring and utilizing code snippets.
Refine the Playground's UI to improve user experience:
- Streamline chat window layout for better message readability
- Introduce a knowledge selection dropdown for easier context setting
- Improve image upload integration for a smoother workflow
- Optimize spacing and styling for a more polished visual appearance
Adds an HTML preview feature to the code block component, allowing users to view the rendered output of their HTML code snippets. This improves the user experience by providing a more interactive and informative way to understand the code.
Adds the "OpenAI" provider to the list of available OpenAI API providers, enabling users to connect to and use their own OpenAI API keys. This change expands the flexibility of the application, allowing users to leverage the power of OpenAI models directly without relying solely on the provided provider.
Shorten the displayed embedding model names in the knowledge settings by removing the "embedding" suffix. This improves readability and makes the table more concise.
Adds support for Ollama embedding, enabling the use of Ollama as an embedding model for RAG.
This allows users to leverage Ollama's advanced embedding capabilities for better document understanding and retrieval.
Adds model type support for chat and embedding models. This allows users to specify which type of model they want to use when adding custom models.
Additionally, this commit introduces a more descriptive interface for adding custom models, enhancing the clarity of the model selection process.
Updated dependencies to use Bun for package management and updated documentation to reflect the changes. Also updated the browser compatibility list to include LibreWolf and Zen Browser.
Update the user interface for the OpenAI settings to be more informative and consistent. Improved language around "OpenAI API Settings" to be more accurate and less technical. Also added a helpful tip for using LM Studio as a provider.
Refine settings layout for better visual flow, enlarge settings sidebar for easier viewing, and adjust model refresh logic for more responsive updates.
Refactor: Add more visual weight to the settings panel and optimize model refresh logic.
Refactor: Enhance the visual appeal of settings panel by increasing its width and improving model refresh behavior for better user experience.
Refactor embedding models and their handling to improve performance and simplify the process.
Add a new model selection mechanism, and enhance the UI for model selection, offering clearer and more user-friendly options for embedding models.
Refactor embeddings to use a common model for page assist and RAG, further improving performance and streamlining the workflow.
When using the LM Studio provider, the model selection modal was incorrectly appearing. This commit prevents the modal from appearing when the provider is set to LM Studio. This ensures that the user experience is consistent across all providers.
Adds support for LMStudio models, allowing users to access and use them within the application. This involves:
- Adding new functions to `db/models.ts` to handle LMStudio model IDs and fetch their information from the OpenAI API.
- Modifying the `ollamaFormatAllCustomModels` function to include LMStudio models in the list of available models.
- Introducing a timeout mechanism in `libs/openai.ts` to prevent API requests from hanging.
This change enhances the model selection experience, providing users with a wider range of models to choose from.
Make the loading state of OpenAI models more visually appealing and user-friendly by replacing the default `Spin` component with a more contextually relevant loading animation within a centered container. This provides a better visual cue to users while models are being fetched.
Add a provider selection dropdown to the OpenAI settings, enabling users to choose from pre-configured options like "Azure" or "Custom." This streamlines setup and allows for more flexibility in configuring OpenAI API endpoints. The dropdown pre-populates base URLs and names based on the selected provider.
The dropdown also automatically populates base URLs and names based on the selected provider, further simplifying the configuration process.