* refactor(gui): Simplify FeedbackDialog component and enhance feedback submission process
- Consolidated state management for feedback input using a custom hook.
- Improved user interface for feedback submission by including clearer instructions
- Removed redundant code and improved overall component structure for better maintainability.
* refactor(gui): Enhance FeedbackDialog layout and add mail link
* feat(gui): Add error handling in feedback submission
* feat(docs): Add brand identity to docs
* feat(docs): Add Send Feedback page
* feat(tauri): build base for log export feature
* feat(tauri): update save_txt_files to use HashMap for file content
* feat(gui): Implement log export functionality
* fix(gui): adjust feedback dialog link to show docs page with instructions for mail feedback
* fix(gui): minor style adjustments to export logs button
* feat(gui, tauri): enhance log export functionality to include zip file naming
* fix(docs): clarify docs section about exporting logs
* feat(gui): initialize selected swap in SwapSelectDropDown with most recent swap
* fix(gui): parse logs correctly for saving to log file
* fix(gui): ensure to use the most recent swap info by using a specialized hook
* fmr
---------
Co-authored-by: Binarybaron <binarybaron@protonmail.com>
- GUI: Changed terminology from "swap providers" to "makers"
- GUI: For each maker, we now display a unique deterministically generated avatar derived from the maker's public key
- Implemented dual persistence strategy:
- **User Settings**: Persisted across app restarts using `tauri-plugin-store`.
- **Transient State**: Persisted across page reloads using `sessionStorage`.
- Added `settingsSlice` reducer for managing persistent user settings.
- Updated Redux store configuration to handle multiple persistence layers.
- Added a new Settings page in the GUI where users can specify custom Electrum RPC URLs for Bitcoin and Monero node URLs.
- Users can input their preferred Electrum server (`ssl://host:port`) and Monero daemon (`http://host:port`).
- Input fields include validation to ensure correct URL formats.
- Settings persist across application restarts using Tauri's storage plugin.
- A reset option is available to revert to default settings.
- Improved the Daemon Controller in the Help page:
- Renamed `RpcControlBox` to `DaemonControlBox` for clarity.
- Users can now start the daemon manually if it isn't running or has failed.
- Added a "Restart GUI" button to apply new settings immediately.
- Displayed the daemon's status within the controller.
- Upgraded Tauri and related plugins to stable version `2.0.0`:
- Updated `tauri`, `tauri-build`, and `tauri-utils` to `2.0.0`.
- Ensured compatibility with the latest stable release.
- Updated Tauri plugins to version `2.0.0`:
- `tauri-plugin-clipboard-manager`
- `tauri-plugin-shell`
- Added new plugins:
- `tauri-plugin-store` for settings persistence.
- `tauri-plugin-process` to enable application relaunch.
- Deferred Context initialization until explicitly triggered from the frontend.
- Moved Context setup from the `setup` function to a new `initialize_context` Tauri command.
- Allows the application to start without immediately initializing the backend context.
- Context initialization now considers user-provided settings for Electrum and Monero nodes.
- Introduced a `ValidatedTextField` component for form inputs with validation logic.
- Provides immediate feedback on input validity.
- Used in the Settings page for Electrum and Monero node URLs.
- If the user provides an override Monero remote daemon, we check if it reachable and on the correct network before starting the `monero-wallet-rpc`
- Changed `bitcoin_confirmation_target` type from `usize` to `u16`.
This PR:
- allows --change-address to be omitted and default to internal wallet address (https://github.com/comit-network/xmr-btc-swap/pull/1709). This is a change that is merged from upstream into our fork
- adds the necessary components for the tauri integration and the ui components to allow toggling between internal vs external refund address
Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
Co-authored-by: Einliterflasche <81313171+Einliterflasche@users.noreply.github.com>
Co-authored-by: Byron Hambly <byron@hambly.dev>