Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #37

Merged
merged 57 commits into from
Jul 13, 2024
Merged

Dev #37

merged 57 commits into from
Jul 13, 2024

Conversation

GamerVII-NET
Copy link
Collaborator

No description provided.

gamerviihub and others added 30 commits June 2, 2024 05:43
The host URL used in the ResourceKeysDictionary file has been updated from a local address to a production address. Additionally, a minor formatting change was made in the OverviewPageViewModel file.
The git submodule update command in both the 'load-repositories.sh' and 'load-repositories.bat' scripts has been replaced with git clone. This allows for repositories 'GamerVII.Notification.Avalonia' and 'Gml.Client' to be cloned directly instead of being updated through submodules.
The system service has been updated to asynchronously load system data. Additional resource keys and corresponding translations have been added to the localization service. Several changes have been made to the application user interface including a new splash screen, application icon, and version number.
The update wraps the core logic of the OnSourceChanged method inside a try-catch block. In case of any exceptions during execution, they are captured and sent to Sentry for error tracking and troubleshooting. This ensures smoother runtime and easier debugging.
The host URL in the ResourceKeysDictionary file was changed from a local IP address to an external URL "https://gmlb.recloud.tech".
The update wraps the core logic of the OnSourceChanged method inside a try-catch block. In case of any exceptions during execution, they are captured and sent to Sentry for error tracking and troubleshooting. This ensures smoother runtime and easier debugging.
The host URL in the ResourceKeysDictionary file was changed from a local IP address to an external URL "https://gmlb.recloud.tech".
* Merge dev and master btanches (#28)

* Update host URL in ResourceKeysDictionary

The host URL used in the ResourceKeysDictionary file has been updated from a local address to a production address. Additionally, a minor formatting change was made in the OverviewPageViewModel file.

* Replace submodule update with git clone in scripts

The git submodule update command in both the 'load-repositories.sh' and 'load-repositories.bat' scripts has been replaced with git clone. This allows for repositories 'GamerVII.Notification.Avalonia' and 'Gml.Client' to be cloned directly instead of being updated through submodules.

* Update system service, resources, and application UI

The system service has been updated to asynchronously load system data. Additional resource keys and corresponding translations have been added to the localization service. Several changes have been made to the application user interface including a new splash screen, application icon, and version number.

* Update submodule link Gml.Client

* Add error tracking to AsyncStreamToImageLoader

The update wraps the core logic of the OnSourceChanged method inside a try-catch block. In case of any exceptions during execution, they are captured and sent to Sentry for error tracking and troubleshooting. This ensures smoother runtime and easier debugging.

* Update host URL and clean up code

The host URL in the ResourceKeysDictionary file was changed from a local IP address to an external URL "https://gmlb.recloud.tech".

* Add error tracking to AsyncStreamToImageLoader

The update wraps the core logic of the OnSourceChanged method inside a try-catch block. In case of any exceptions during execution, they are captured and sent to Sentry for error tracking and troubleshooting. This ensures smoother runtime and easier debugging.

* Update host URL and clean up code

The host URL in the ResourceKeysDictionary file was changed from a local IP address to an external URL "https://gmlb.recloud.tech".

---------

Co-authored-by: GamerVII-NET <[email protected]>

* Add GIF decoding functionality

Introduced several new classes to handle the decoding of GIF files. This includes reading the data stream and processing headers, frames, color tables, and extensions. Functionality for rendering frames and handling exceptions has also been implemented.

* Refactor code and optimize exceptions in gif decoder

Code for gif decoding has been refactored for improved readability and efficiency. The exception handling has been optimized for specific errors, such as LzwDecompressionException, contributing to better error reporting and debugging. Unnecessary comments and code have also been removed.

* Remove unnecessary whitespace in AsyncStreamToImageLoader

This commit eliminates a redundant line in the AsyncStreamToImageLoader class file. The change helps to maintain the cleanliness and readability of the code.

---------

Co-authored-by: GamerVII-NET <[email protected]>
Co-authored-by: GamerVII-NET <[email protected]>
Co-authored-by: s.bryzglov <[email protected]>
Co-authored-by: Anton Terentev <[email protected]>
This commit refactors LoginPageViewModel to change the type of _screen from IScreen to MainWindowViewModel. This allows the app to subscribe to the 'OnClosed' event of the main window, and dispose of connections when the window is closed to prevent memory leaks. AsyncStreamToImageLoader has also been updated to clear avatar image classes upfront and enhance filename checking mechanism to prevent non-loaded images.
Updated the background image's component in MainWindow.axaml file. Added a class attribute, which can be used for styling or Javascript manipulation in the future.
The first character of the document.svg file in the Gml.Launcher/Assets/Images directory was an invalid character and is now removed. This fix ensures that the SVG file is correctly formed and interprets as expected.
Added a new 'launcher' project to the Gml.Launcher.sln file and made adjustments to project settings for consistency. Additionally, commented out the language selection combo box in the SettingsPageView.axaml as it is currently not in use.
Furthermore, the debugging settings in App.axaml.cs have been updated to not debug mode, and the return value in case of null 'actualVersion' has been set to true in SplashScreenViewModel.cs.
The previous implementation executed the tasks for refreshing the drive, motherboard, and CPU lists sequentially. This was unnecessarily time-consuming. With the new implementation, these tasks are run concurrently using Task.WhenAll method for better performance and efficiency.
This update modifies the execution context for MainWindow in the Gml.Launcher App. Previously, it was running in non-debug mode. Now, it is set up to run in debug mode.
GamerVII-NET and others added 26 commits June 11, 2024 07:51
Improved the validation and error-handling approach for setting window size parameters. Now, the windowWidth and windowHeight values are only updated when numeric values are provided. If non-numeric values are input, they will be reset to default.
This commit updates the font styles across several components, improving text readability and consistency. It also switches the host URL in the ResourceKeysDictionary to a production-ready address.
This commit eliminates an extra space in the OverviewPageViewModel.cs file. The removal improves code readability and adheres to best coding practices.
Enhanced game profile features by adding support for system types, file and profile session handling functionalities. Changes in the IGameProfile interface allow for game sessions to be locally stored and accessed. Introduced ProfileState type in the ProfileState enum. Also updated functionality to include OS specifics in process creation. This update increases compatibility across different systems and aids in clearer session management.
Specifically, the update handles question mark in the value for noise string conversion and it also removes unnecessary spaces in ProfilePageView.axaml. Moreover, unnecessary comments in ProfilePageViewModel.cs are cleaned up and HTTP header in skin rendering is updated to include User-Agent information.
Changed the default skin URL to a new one, adjusted image and text alignment, and increased opacity of the profile gradient.
Refactored the Gml.Client module to enhance code readability and maintainability. This involved restructuring functions, renaming variables for clarity, and adding comments where necessary. No functional changes were made to ensure existing behavior is preserved.
# Conflicts:
#	src/Gml.Client
#	src/Gml.Launcher/Views/Components/GmlButton.axaml
#	src/Gml.Launcher/Views/Components/ServerInfo.axaml
Updated SplashScreenViewModel to include the process architecture in version checks. This helps ensure the correct software version is retrieved based on both OS type and architecture.
Change default settings handling in `OverviewPageViewModel` to use `SettingsInfo.Default` when no settings are found. Add screen dimensions and full-screen settings to profile creation details.
Updated the process restart commands to properly handle filenames with spaces or special characters on both Linux and Windows. For Linux, enclosed filenames within single quotes and adjusted the process start command. For Windows, added double quotes around filenames to ensure proper execution.
Renamed the method `PrepareLaunch` to `GetProfileInfo` for better clarity. Also, switched the host URL to the production endpoint in the ResourceKeysDictionary file. Commented out sample profile info in ProfileInfoComponent for a cleaner initialization.
Refactor the existing client-side logic to improve performance and readability. Adjust function naming and streamline data handling to reduce complexity.
Introduced a new UI component to display online server player counts and added corresponding localization entries. Also, included error handling for missing Java installations, displaying appropriate localized messages.
Updated ProfileUserControl from TemplatedControl to ItemsControl to support dynamic item presentations. Introduced a new Spacing property to allow custom spacing between items. Additionally, moved ProfileInfoComponent and GmlButton from the UserControl template to the ProfilePageView for better separation of concerns.
Introduce `UrlRedirectProperty` to handle URL redirections in controls. This property changes start a process to open the URL with the default system browser, enhancing the app's interactivity.
Reorganized the buttons on the ProfilePageView into a horizontal stack panel, adding a new Icon Additional button alongside the existing TextIcon Primary button. Both buttons execute the OpenLinkCommand with the same URL but have distinct visual styles.
@GamerVII-NET GamerVII-NET merged commit 83a7b8e into main Jul 13, 2024
1 check passed
GamerVII-NET pushed a commit that referenced this pull request Nov 25, 2024
* Add support for bug tracking and enhance profile management
* Add ability to change installation directory dynamically
GamerVII-NET added a commit that referenced this pull request Nov 25, 2024
* Handle IOException separately in ApiProcedures

Caught IOException explicitly to provide more granular error handling. This allows to throw the IOException immediately while preserving the behavior for general exceptions. Adjusted throttler release comment to remove redundant text.

* Enable output redirection in ApiProcedures

This commit updates the process start information in ApiProcedures.cs to redirect standard output and error. It also sets UseShellExecute to false and CreateNoWindow to true for better process control and visibility.

* Merge pull request #37

* Add support for bug tracking and enhance profile management
* Add ability to change installation directory dynamically

---------

Co-authored-by: Akemiko <[email protected]>
GamerVII-NET added a commit that referenced this pull request Nov 25, 2024
* Handle IOException separately in ApiProcedures

Caught IOException explicitly to provide more granular error handling. This allows to throw the IOException immediately while preserving the behavior for general exceptions. Adjusted throttler release comment to remove redundant text.

* Enable output redirection in ApiProcedures

This commit updates the process start information in ApiProcedures.cs to redirect standard output and error. It also sets UseShellExecute to false and CreateNoWindow to true for better process control and visibility.

* Merge pull request #37

* Add support for bug tracking and enhance profile management
* Add ability to change installation directory dynamically

* Enhance path handling with Path.GetFullPath()

Updated the SystemIOProcedures helper to use Path.GetFullPath for constructing and validating paths. This ensures absolute references, thereby enhancing path accuracy and security checks when manipulating directories and files.

* Add OAuth token authentication method

Implement a new authentication method using OAuth tokens across several classes to enhance security. This method allows users to authenticate using an access token, improving the flexibility and modernizing the authentication process.

* Add ProcessHelper to handle process module monitoring

Introduce ProcessHelper with a StartWatch method to observe and log module changes of a given process. This implementation uses reactive extensions to handle the monitoring and provides module addition and removal logging.

* Prevent overwriting files larger than 100MB.

Added a size check to skip overwriting files that are 100MB or larger in the `SystemIOProcedures` class. This change ensures large files are not unnecessarily replaced, optimizing performance and avoiding potential issues with large file handling.

* Fix potential crash in ProfileFileWatcher process termination

Ensure the process has not exited before attempting to kill it to prevent an InvalidOperationException. Added a try-catch block to safely handle exceptions if the process termination fails.

* Add README for Gml.Client setup and development

Created a comprehensive README guide for the Gml.Client project. It includes step-by-step instructions for cloning, setting up, building, running, and publishing the project, as well as contributing guidelines and additional resources.

---------

Co-authored-by: Akemiko <[email protected]>
Co-authored-by: GamerVII-NET <[email protected]>
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.

3 participants