* feat: add update channel functionality for beta testing
- Introduced a new IPC channel for setting the update channel.
- Implemented logic in AppUpdater to handle update channel changes.
- Updated settings to include a beta testing toggle, allowing users to switch between stable and beta update channels.
- Enhanced the settings UI to reflect the new beta testing option.
* add i18n
* update i18n
* update i18n
* refactor: rename update channel to feed URL and update related functionality
- Changed IPC channel from App_SetUpdateChannel to App_SetFeedUrl.
- Updated AppUpdater to set feed URL instead of update channel.
- Modified preload and settings to reflect the new feed URL functionality.
- Added constants for production and early access feed URLs.
* refactor: remove setAutoUpdate method from API
- Eliminated the setAutoUpdate method from the API object in preload index, streamlining the IPC communication interface.
* refactor: update early access feed URL and improve tooltip descriptions
- Changed EARLY_ACCESS_FEED_URL to point to the latest GitHub release.
- Simplified the setEarlyAccess function to directly set the feed URL.
- Added tooltips for early access settings in multiple languages to inform users about potential instability and the need for data backup.
* feat(migrate): add early access setting to state configuration
- Introduced a new state setting 'earlyAccess' and initialized it to false in the migration configuration.
* fix(i18n): update early access tooltip translations for clarity
- Revised the tooltip descriptions for the early access feature in English, Simplified Chinese, and Traditional Chinese to enhance clarity and ensure consistency in messaging regarding potential instability and the importance of data backup.
* feat: introduce FeedUrl enum for centralized feed URL management
- Added a new enum `FeedUrl` in the constants file to define production and early access feed URLs.
- Updated relevant IPC handlers and services to utilize the `FeedUrl` enum for type safety and consistency.
- Refactored the configuration manager to include methods for getting and setting the feed URL using the new enum.
* feat(settings): initialize early access and auto-update settings in AboutSettings component
- Added initialization for early access and auto-check update settings in the AboutSettings component to enhance user configuration options.
---------
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>
* Add support for TokenFlux image generation service
This commit integrates TokenFlux as a new painting provider with dynamic
form generation based on model schemas, real-time generation polling,
and full painting history management.
Key features:
- Dynamic form rendering from JSON schema input parameters
- Model selection with pricing display
- Real-time generation status polling
- Integration with existing painting workflow and file management
- Provider-specific painting state management
The implementation follows existing patterns from other painting pages
while adding TokenFlux-specific functionality like schema-based form
generation and asynchronous polling for generation results.
* Add image upload support and comparison view to TokenFlux
Implements file upload handling for image parameters with base64
conversion, random seed generation, and side-by-side comparison
layout when input images are present.
* Refactor TokenFlux to use service class and components
Extract form rendering logic to DynamicFormRender component and API
logic to TokenFluxService class. Simplifies the main component by
removing duplicate code for model fetching, image generation polling,
and form field rendering.
* Refactor TokenFlux to fix state management and polling
- Change painting field from modelId to model for consistency
- Fix updatePaintingState to use functional state updates
- Add automatic polling for in-progress generations on mount
- Group models by provider in the selection dropdown
- Separate prompt from other input params in form data handling
- Improve error handling in the paintings store
* Auto-select first model when models are loaded
* Add image generation UI localization strings
Add translation keys for model selection, input parameters, image
labels, pricing display, and form validation across all supported
locales (en-us, ja-jp, ru-ru, zh-cn, zh-tw). Update TokenFluxPage
component to use localized strings instead of hardcoded English text.
* fix: Add a right border to the first child of the ImageComparisonSection
* style: Remove padding from UploadedImageContainer in TokenFluxPage
* feat: Implement caching for TokenFlux model fetching and update image upload handling
* feat: Enhance localization support by adding language context handling in TokenFluxPage
* refactor: Simplify layout structure in TokenFluxPage by removing unnecessary SectionGroup components and improving section title styling
---------
Co-authored-by: kangfenmao <kangfenmao@qq.com>
refactor(auto-update): streamline update check logic and enhance error handling
- Moved update check logic from IPC handler to AppUpdater class for better organization.
- Improved error handling during update checks to ensure graceful failure.
- Removed redundant conditions in the AboutSettings component for cleaner rendering.
* feat(auto-update): improve auto-update toggle functionality
- Added setAutoUpdate method in AppUpdater to control auto-update behavior.
- Updated IPC handler to set auto-update status based on user preference.
- Modified AboutSettings component to conditionally display update options based on auto-check setting.
* update autoupdate position
- Improve error logging in AppUpdater with more detailed error information and timestamps
- Remove duplicate MCPServer type import in Inputbar component
- Modify AppUpdater to separate update dialog logic
- Add new IPC handler for manually showing update dialog
- Update renderer hooks and store to track downloaded update state
- Switch import for UpdateInfo from electron-updater to builder-util-runtime