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

Merge develop and master branches #90

Merged
merged 37 commits into from
Nov 28, 2024
Merged

Merge develop and master branches #90

merged 37 commits into from
Nov 28, 2024

Conversation

GamerVII-NET
Copy link
Collaborator

No description provided.

GamerVII-NET and others added 30 commits October 16, 2024 16:04
Replace incorrect 'TextureSkinGuid' checks with 'TextureCloakGuid' in MinecraftHandler. This ensures that cloak textures are correctly processed whenever the provided cloak GUID is not empty.
This change ensures that the Cape property is ignored if its value is null when serializing to JSON. This helps prevent sending unnecessary data and can potentially reduce payload size in API responses.
Added validation to ensure the user's access token matches the token provided in the request header. Adjusted the condition to return a 403 Forbidden status if the token is invalid or missing.
* Add `TextureProtocol` to settings

Added a `TextureProtocol` property in various settings and repository classes to support different texture protocols. Adjusted the MinecraftHandler to construct URLs based on the `TextureProtocol`.

* Add TextureProtocol to Settings

Introduce TextureProtocol property in SettingsReadDto and update database migrations and associated code to support this new field. This change ensures consistency and proper handling of the TextureProtocol across the application.
Updated the tests to use the shared _httpClient instead of creating a new HttpClient instance. Also added Gml.Backend.Tests to InternalsVisibleTo in the Gml.Web.Api.csproj file for better integration and testing.
* Add UUID replacement in skin service URL

In the AuthIntegrationHandler, the player's UUID is now also being replaced in the texture skin URL, along with the player's name. This update provides more accurate and specific data for each player's skin service URL.

* Refactor profile and Minecraft handling logic

Updated ProfileHandler and MinecraftHandler methods for cleaner implementation and removed unnecessary Console.WriteLine calls. Adjusted SystemService's key handling to use OpenSSL for key generation and simplified options usage in MinecraftHandler.

* Update Gml.Core processing logic

Refactor the core processing logic to improve performance and readability. This change also includes minor bug fixes and code cleanup to enhance maintainability.

* Update configuration settings for API performance

Optimized API response times by adjusting cache configurations and request throttling settings. These changes aim to improve the overall user experience and reduce server load.

* Refactor launcher upload API and simplify build process

Removed 'osType' from upload launcher version API endpoint and added 'osArch'. Simplified the launcher build process by subscribing to build logs and handling exceptions more gracefully. Also, added logging functionality in BaseHub for better event tracking.

* Update dependency version in Gml.Core

Upgraded the Gml.Core library dependency to the latest version. This change addresses compatibility issues and improves performance.

* Correct Russian message casing

Updated the log message to correct the casing of the Russian word "лаунчер" to "Лаунчер". This improves readability and maintains a consistent style in user-facing messages.

* Add endpoint to retrieve launcher builds

Introduced a new DTO (`LauncherBuildReadDto`) and associated mapping profile (`LauncherMapper`). Added an endpoint in `EndpointsExtensions` to get launcher builds using a new handler method in `LauncherUpdateHandler`.

* Refactor `UploadLauncherVersion` to use build name

Replaced OS type and architecture parameters with build name in `UploadLauncherVersion` method for better clarity. This change ensures the correct build version is processed and enhances error handling for invalid or missing build names. Also restructured `LauncherVersion` to a struct and added a `Clone` method for deep copying.

* Remove unused imports from LauncherVersion.cs

This commit cleans up the LauncherVersion.cs file by removing unused imports. This helps in reducing clutter and potential confusion, improving code readability and maintainability.

* Remove password validation and add null checks.

Removed password validation rules from PlayerAuthDtoValidator to simplify the authentication flow. Added null checks in UnicoreCMSAuthService and enhanced the handling of missing passwords in AuthIntegrationHandler for better robustness.

* Update data processing logic in Gml.Core

Refactor the data processing method to improve efficiency and readability. Reduced redundant calculations and optimized loop structures.

* Update submodule link Gml.Core

* Add LaunchVersion property to ProfileReadInfoDto

This commit introduces a new property, 'LaunchVersion', to the ProfileReadInfoDto class. This update is necessary to store and retrieve the launch version information for profiles. It ensures that all relevant versioning details are included in the profile data transfer object.

* Add release creation and Docker image upload to workflow

Enhance the GitHub Actions workflow to include a step for creating a release and uploading the Docker image as a release asset. This ensures that each build is tagged, and the respective Docker image is available for download directly from the release assets.

* Fix trailing newline in docker-package-publish.yml

Added a newline at the end of the docker-package-publish.yml file for consistency and to adhere to POSIX standards.

* Update FileHandler and ProfileReadInfoDto to improve error handling and add profile state

Add `HeaderDictionary` parameter to `DownloadFileStream` method calls in `FileHandler` for more detailed error responses. Enhance `ProfileReadInfoDto` by including the `State` property to represent profile status.

* Add logging for compile start in GitHubLauncherHub

This change introduces a log message at the beginning of the compile process in `GitHubLauncherHub.cs`. It helps in tracking when the compilation starts, which can be useful for debugging and performance monitoring.

* Update default branch names in GitHubService

Changed the fallback branch names to "main" and "dev" instead of "main" and "dev-new". This ensures consistency with the actual branch naming conventions in our repositories.

* Fix build process logging in GitHubLauncherHub

Add a log message before starting the build process to provide clarity and assist in debugging. Ensure consistent spacing and remove unnecessary blank lines for better readability.

* Update data processing logic in Gml.Core

Refactor the data handling functions to improve efficiency. Fixed a bug where data was not being correctly parsed under certain conditions.

* Update typo in Gml.Core file

Corrected a spelling error in the documentation comments. This improves readability and ensures consistency across the codebase.

* Update submodule link Gml.Core

* Formatting test

* Update submodule link Gml.Core

* Add server handling functionality

Introduced server handling with creation and retrieval endpoints. Added CreateServerDto and its validator along with ServerMapper for data transformations. Updated dependency injection and endpoint mappings to include the new functionalities.

* Add functionality to remove servers from game profiles

Introduced a new method `RemoveServer` in `ServersHandler.cs` to allow server removal from specified profiles. Added a corresponding endpoint in `EndpointsExtensions.cs` with detailed descriptions and authorization requirements.

* Refactor server creation response object

Replaced success message with a detailed server DTO in the response. This improves the clarity of the response by providing more information about the created server.

* Remove obsolete comments in TextureServiceDtoValidator

Deleted outdated and commented-out validation logic in TextureServiceDtoValidator. Also cleaned up a redundant comment in HttpClientsExtensions regarding environment variable usage.

* Rename server parameter in endpoint mapping

Updated the DELETE endpoint to use 'serverNamesString' instead of 'serverNames' for clarity in the server removal route. This ensures consistency with the parameter naming conventions.

* Add notification handling and endpoints

Introduced NotificationHandler and INotificationsHandler for handling notifications. Added NotificationHub for real-time updates and mapped new endpoints in EndpointsExtensions. These changes enhance the notification system within the application.

* Update notification message title in NotificationHandler

Changed the title in the response message from "Доступные версии Minecraft" to "Список уведомлений" to better reflect the content provided by the notifications history. This improves clarity and user understanding.

* Limit notification history and refine NotificationHub.

Fetch only the last 50 notifications to optimize performance. Introduced a thread-safe collection to manage active connections in NotificationHub and added error handling for notification broadcasts.

* Update GitHub URLs to new repository locations

Changed URLs in `GitHubLauncherHub`, `GitHubService`, and `GitHubIntegrationHandler` to reflect the new repository locations. This helps ensure all code references the correct, updated GitHub repositories.

* Update submodule URLs to new repository location

Changed the URLs of submodules to reflect the updated repository under the Gml-Launcher organization. This ensures that the project links to the correct repositories for fetching the latest source code.

* Refactor NotificationHub to use NotificationController

Extracted connection management logic into a new NotificationController class. This improves code modularity and reusability while keeping NotificationHub focused on handling SignalR events. Updated dependency injection to include the new controller.

* Switch to retrieving tags and add NotificationReadDto

Refactored the GitHub service to fetch repository tags instead of branches and updated related method signatures. Introduced a new DTO, `NotificationReadDto`, to encapsulate notification data, enhancing readability and structure.

* Add platform support to GitHubLauncherHub and API

Enhanced the GitHubLauncherHub to accept platform types during compilation. Added a new endpoint to fetch available platforms for the launcher. Updated handlers and endpoints to support these changes.

* Add authorization requirements to launcher endpoints

This commit updates the launcher-related endpoints to require authorization. This change ensures that only authenticated users can access the endpoints for getting the actual launcher version, launcher builds, and launcher platforms. This enhancement improves the security of the API.

* Handle exceptions and add notifications to GitHubLauncherHub

Wrapped major operations in try-catch blocks within GitHubLauncherHub to handle exceptions and send error notifications. Included new logs and client messages to provide better feedback during download and compilation processes. Also, refined exception handling in LauncherUpdateHandler and cleaned up unused lines in EndpointsExtensions.

* Add notification messages after profile operations

This commit adds notification messages for profile creation, updates, and deletions. It ensures that users are informed via notifications whenever these operations are successfully completed.

* Add success message for profile deletion

Previously, the success message for profile deletions was missing. A condition was added to append a message indicating which profiles were deleted successfully. This enhances feedback for deletion operations.

* Simplify notification retrieval logic

Removed the unnecessary limitation of taking the last 50 notifications. This change ensures that all historical notifications are fetched, potentially improving the comprehensiveness of the data retrieved.

* Fix profile deletion message formatting

Corrected the format of the deletion message in ProfileHandler to include profile names within quotes and added colons for clarity. This change improves readability and ensures the message aligns with the expected notification format.

* Update submodule link Gml.Core

* Update GitHub version in test cases

Changed GitHub version from "master" to "v0.1.0-beta1" in the test scenarios. This ensures the test cases are aligned with the updated versioning scheme.

* Remove scheduled trigger from Docker publish workflow

The workflow will no longer run on a scheduled basis; it will now only trigger on pushes to the master branch. This change streamlines the workflow by eliminating unnecessary scheduled runs.

* Update submodule link Gml.Core

* Update submodule link Gml.Core

* Remove release creation and asset upload from workflow

The steps for creating a GitHub release and uploading the Docker image as a release asset have been removed from the docker-package-publish.yml workflow. This simplifies the workflow and removes unnecessary steps related to release management.

* Add NamelessMC authentication service support

Introduced NamelessMCAuthService to handle NamelessMC authentication. Updated the dependency injection configuration and AuthServiceFactory to include the new service.

* Hotfix. Remove authorization requirement from launcher version endpoint

The `RequireAuthorization` method was removed from the `Get actual launcher version` endpoint. This change makes the endpoint accessible without any authentication, simplifying access to the launcher version information.

* Update Update submodule link Gml.Core

* Remove unused NamelessMC auth and add profiles event subscription

Removed the unused handling for `AuthType.NamelessMC` in `AuthServiceFactory.cs`. Added a subscription to the `ProfilesChanged` event in `LauncherHub` to refresh profiles on change.

* Add validation for DiscordRpcUpdateDto

Introduce `DiscordRpcValidator` to ensure data validity for `DiscordRpcUpdateDto`. Inject the validator in `DiscordHandler` to handle validation before updating DiscordRPC integrations.

* Update description length validation in ProfileUpdateDto

Changed the maximum length of the description from 1000 to 255 characters. This adjustment aligns with our database constraints and ensures consistency in input data validation methods.

* Update submodule link Gml.Core

* Update submodule link Gml.Core

* Feature/rate limit (#67)

* Add rate limiting to API

Introduced a RateLimitExtension for configuring global rate limiting on the API. Updated ApplicationExtensions to use the rate limiter and simplified GmlManager setup through a new configuration method.

* Add GmlConfigurationExtension for Gml manager configuration

Introduce a new static class `GmlConfigurationExtension` that provides an extension method for configuring `IGmlManager` in `IServiceCollection`. It initializes `GmlManager` with project settings and restores launcher settings.

* Add Folder WhiteList endpoints and validation

Implemented endpoints for adding and removing folders from the white list in Files. Created `FolderWhiteListValidator` and `FolderWhiteListDto` for validation purposes. Updated launch settings and `ValidatorsExtensions` to register the new validator.

* Add FolderWhiteList to profiles and validation

Introduced FolderWhiteList to the BaseProfile and IGameProfile models. Updated handlers to allow adding and removing folders to the white list. Adjusted validation rules for folder paths, and created a new DTO for folder read operations.

* Update folder whitelist to use IFolderInfo interface

Replaced `string` type for folder whitelist with `IFolderInfo` across the codebase for consistency and extensibility. Implemented `IFolderInfo` interface and `LocalFolderInfo` class, and adjusted the necessary files to reflect these changes.

* Update Gml.Core or Gml.Web.Api

* Add notifications clearing endpoint

Introduce an endpoint for deleting all notifications and align associated storage constants. Updated `INotificationProcedures` and `NotificationProcedures` to support clearing notifications.

* Update submodule link Gml.Core

* Switch List to FrozenSet for DTO collections

Updated methods in FileHandler and IFileHandler to use FrozenSet instead of List for DTO collections. This change ensures immutability and improves performance by preventing modifications and optimizing lookups. Adjusted validation and processing logic accordingly.

* Switch to FrozenSet for whitelist validators

Updated the FolderWhiteListValidator and FileWhiteListValidator to use FrozenSet instead of List for improved performance and immutability. Additionally, the application URL in launchSettings.json has been changed to reflect the new server IP address.

* Disable rate limiting in API

Commented out rate limiting configuration in the `RateLimitExtension.cs` and disabled `UseRateLimiter` middleware in `ApplicationExtensions.cs`.

* Update submodule link Gml.Core

* Update submodule link Gml.Core

* Update submodule link Gml.Core

* Update submodule link Gml.Core

* #70 Switch from FrozenSet to List for white list validators

Modified the validators and handlers for FileWhiteListDto and FolderWhiteListDto to use List instead of FrozenSet. This change enhances compatibility and simplifies the handling of white lists by using the more common List structure.

* #71 Allow spaces and hyphens in profile names

Updated profile name validation to permit spaces and hyphens, in addition to alphanumeric characters. This enhancement ensures a more flexible and user-friendly naming convention across various profile-related DTO validators.

* #71 Allow spaces and hyphens in profile names

Updated profile name validation to permit spaces and hyphens, in addition to alphanumeric characters. This enhancement ensures a more flexible and user-friendly naming convention across various profile-related DTO validators.

* Add GameArguments property to ProfileUpdateDto

This new property allows users to specify additional game-related arguments when updating their profile. It ensures better customization and flexibility for various user preferences and needs related to game settings.

* Add GameArguments property to ProfileUpdateDto

This new property allows users to specify additional game-related arguments when updating their profile. It ensures better customization and flexibility for various user preferences and needs related to game settings.

* Add support for game arguments in profile procedures

Extended profile management functionality to include game arguments. Updated method signatures and relevant handlers to accept and process the new game arguments parameter. This ensures profiles can now be configured with specific game arguments alongside existing JVM arguments.

* Fix typo in error message

Correct a typo in the error message when determining the OS type in ProfileHandler.cs. The word "оперционной" was changed to "операционной" for accuracy.

* Create Base implementation sentry

* Add support for Sentry event handling and decompression

Introduced DTOs for Sentry events, event length, and modules. Implemented `CompressionService` to handle GZip decompression. Updated `SentryHandler` to process compressed Sentry data, deserialize JSON objects, and capture exceptions with `gmlManager`.

* Update submodule link Gml.Core

* Update JSON parsing in SentryHandler

Replaced newline splitting with Environment.NewLine to improve compatibility. Added logic to handle additional file content if present, ensuring robust JSON processing and enhancing the handling of Sentry events.

* Update split method to handle both line breaks

Replaced Environment.NewLine with explicit character array to handle both carriage return and line feed in SentryHandler.cs. This ensures proper splitting of uncompressed content across different environments.

* Format Sentry DTO properties and remove extra whitespace

Change the type of 'pause_durations' from List<int> to List<double> for precision. Also added 'query_string' property in Request class and removed unnecessary blank lines in SentryHandler.

* Refactor SentryHandler and fix allocated bytes type

Removed unused imports and simplified if statements in SentryHandler for better code readability. Changed AllocatedBytes type from int to long in SentryModulesDto to handle larger values.

* Enhance SentryHandler with additional bug tracking details.

Added new fields for capturing detailed memory info, user details, and exception stack traces in bug reports. This extends the scope of captured data to provide more comprehensive diagnostics.

* Fix null reference issue in SentryHandler StackTrace.

Updated the mapping of Stacktrace frames to handle potential null values and avoid null reference exceptions. Also renamed a lambda parameter for clarity.

* Update submodule link Gml.Core

* Refactor Sentry stack trace extraction

Changed stack trace extraction to use thread values directly, simplifying the flow. This enhances code readability and aligns with standard practices. Removed unnecessary extra comma for cleaner output.

* Add Sentry integration and exception handling test

Integrated Sentry SDK into the testing project to capture and report exceptions. Added new test to verify Sentry DSN configuration and ensure exceptions are captured correctly. Updated Sentry URL and adjusted relevant assertions.

* Add AutoMapper support for folder whitelist operations

Introduced AutoMapper to the AddFolderWhiteList and RemoveFolderWhiteList methods for folder DTO mapping. Also amended the IFileHandler interface and updated mapping profiles accordingly.

* Refactor bug tracking to use ConcurrentDictionary

Replaced ConcurrentBag with ConcurrentDictionary for thread-safe bug tracking. Updated storage methods to buffer and write bugs in bulk for improved performance and reliability. Added bug IDs for unique identification.

* Update SentryHandler to handle null exception values

Ensured that ExceptionReport fields in SentryHandler have default "Not Found" values when null. This improves the robustness of the error reporting by preventing null reference exceptions. Additionally, it ensures that all exception details are consistently reported.

* Add endpoint to retrieve all Sentry bugs

Implemented a new GET endpoint at /api/v1/sentry to fetch all bugs from Sentry. This includes creating a handler method GetBugs in SentryHandler to interface with the bug tracker.

* Fix redundant null-coalescing operator in SentryHandler.

Removed unnecessary null-coalescing operator after frame conversion in SentryHandler. This ensures that the frames array is always properly initialized and matches the subsequent property setting.

* Add endpoint to retrieve bug details by ID

Introduced a new endpoint in SentryHandler to fetch bug details using its ID. Updated EndpointsExtensions to map this new route and included appropriate metadata for API documentation.

* Fix Sentry data handling in SentryHandler.cs

Add default values for null ServerName and Username fields. Replace Threads.Values with Exception.Values for correct StackTrace extraction and handle possible null values in stack trace list.

* Update submodule link Gml.Core

* Add null checks and new DTOs for Sentry integration

Updated SentryHandler to add null checks for AbsPath and IpAddress. Introduced new DTOs and domain classes to handle Sentry errors with enhanced structure.

* Refactor SentryBugs and add SentryGraphic class

Renamed properties in SentryBugs to be more descriptive and added the Graphics property to include a collection of SentryGraphic. Introduced the SentryGraphic class to represent graphical data with Count and Date fields.

* Update submodule link Gml.Core

* Refactor bug response to include grouped Sentry error data.

Grouped bug data by exception type and added user and monthly counts. Removed the unnecessary collection of IBugInfo bugs from SentryBugs class, optimizing data structure.

* Add endpoint to fetch Sentry exceptions by type

Introduce a new API endpoint to retrieve bugs grouped by specific exception type from Sentry. This allows users to query and get summarized data on bugs based on the exception type, alongside relevant metadata.

* Add new Sentry DTO classes and refactor handler logic

Introduce SentryOperationSystem and SentryExceptionReadDto classes to better structure the data. Refactor the SentryHandler to utilize these new classes, improving code readability and maintainability by grouping related data more effectively.

* Add Label to SentryGraphic and localize response messages

Introduced a new property, Label, in the SentryGraphic class. Updated response messages in SentryHandler to use localized Russian strings for better user comprehension.

* Remove Label property from SentryGraphic, add auth to Sentry API

Removed the unused Label property from the SentryGraphic class to streamline data handling. Added authorization requirements to Sentry-related endpoints to enhance security and restrict access.

* Change date grouping logic in Sentry handling

Replaced 'Date' with 'Month' in the SentryGraphic class to reflect a finer granularity of grouping by day instead of month. Adjusted the group-by logic in SentryHandler to support this change, ensuring the data aggregation now properly reflects daily counts.

* Update Sentry endpoint to handle bug creation

Changed the Sentry endpoint to use a descriptive method for adding bug info instead of getting messages. The summary and description were also updated to reflect this new functionality.

* Add new endpoints for filtering and statistics in Sentry

Introduced new endpoints to filter Sentry errors and retrieve statistics for the last three months and overall summary. Added necessary DTOs and mappings to support these operations. Updated existing methods to enhance functionality and ensure proper integrations.

* Filter bugs by project type and ensure complete stats.

Added project type filtering to GetFilteredBugs method. Enhanced stats generation in GetLastSentryErrors to provide complete date range coverage even for missing dates.

* Add access token support for user authentication

Added an `AccessToken` property to `BaseUserPassword` class and implemented `AuthWithToken` method in `AuthIntegrationHandler` to enable authentication using access tokens. Also updated `EndpointsExtensions` to include a new endpoint for checking token validity.

* Refactor bug retrieval to support date filtering

Modified the `GetBugs` method in `SentryHandler` to accept a `SentryFilterDto` for date-based filtering and updated the endpoint to POST for enhanced functionality. Adjusted documentation to reflect these changes, focusing on error retrieval rather than just bugs.

* Feature/skin provider (#78)

* Add endpoints for fetching user skins and cloaks

Introduced new GET endpoints to retrieve user skin and cloak textures. Enhanced metadata and profile handling by incorporating HttpContext. Corrected minor typos and updated launch settings.

* Update test console info

* Update unit test Restore

* Disable ProfileInfoTest

* Feature/skin provider (#77)

* Update submodule link Gml.Core

* Add endpoints for fetching user skins and cloaks

Introduced new GET endpoints to retrieve user skin and cloak textures. Enhanced metadata and profile handling by incorporating HttpContext. Corrected minor typos and updated launch settings.

* Update submodule link Gml.Core

* Update test console info

* Update unit test Restore

* Disable ProfileInfoTest

* Re-enable and update profile assertions

Re-enabled previously commented out assertions in the profile test case. This ensures that the profile data is correctly deserialized and validated.

* Add endpoint for fetching detailed profile information

Introduce a new POST endpoint `/api/v1/profiles/details` to retrieve detailed information about a game profile. Includes validation of input data and structured response with profile details, requiring authorization.

* Add texture endpoint to GmlManager configuration

Extended GmlManager and related settings to include a new texture endpoint parameter, defaulting to "http://gml-web-skins:8085". Updated environment variables handling and profile name validation to support additional characters like spaces and dashes.

* Update submodule link Gml.Core

* Set new environment variable and adjust method return

Added the SERVICE_TEXTURE_ENDPOINT environment variable for tests and changed PostsAsync path in test methods. Removed exception throwing for missing environment variables, now returning an empty string instead.

* Update Update submodule link Gml.Core

* Update submodule link Gml.Core

* Remove Address and Port properties from ServerReadDto

This commit refines the ServerReadDto model by removing the Address and Port properties. This change simplifies the data transfer object and aligns better with current application requirements.

* Fix endpoint URL in MinecraftHandler

Update the URL for the cape texture from 'skins' to 'capes' to resolve incorrect resource reference. This ensures the proper endpoint is accessed for retrieving the cape textures for users.

* Add endpoint to filter Sentry errors by date range

Implemented a new method `GetFilterListSentry` in SentryHandler to retrieve Sentry errors filtered by a date range. Updated EndpointsExtensions to map to this new endpoint.

* Add exception property to SentryExceptionReadDto and fix typo

Introduced a new property `Exception` in the `SentryExceptionReadDto` class to store exception types. Also corrected a typo from `OsVeriosn` to `OsVersion` in the `SentryHandler` class. These changes ensure accurate data representation and bug grouping.

* Enable project type filtering for SentryHandler bugs

Restored the filtering of bugs by project type before grouping by exception type. This ensures that only bugs relevant to the specified project type are considered in the exceptions grouping process.

---------

Co-authored-by: akemiko <[email protected]>
Changed the protocol used for constructing texture URLs to be dynamically set based on launcher settings. This ensures more flexibility and configurability for texture URL generation.
Introduced a new migration that adds a TextureProtocol column to the Settings table. Updated the DatabaseContextFactory to support SQLite connections and modified appsettings.json with the SQLite connection string.
Added TextureCloakUrl, TextureSkinGuid, and TextureCloakGuid to PlayerReadDto for better data representation. Also, integrated user session creation in AuthIntegrationHandler to ensure sessions are handled appropriately.
Refactored `SentryHandler` to group exceptions by both type and value data. Added a method to build detailed stack trace strings and included it in the `SentryExceptionReadDto`. Also fixed an inconsistency in `MinecraftHandler.cs`.
The `TextureProtocol` column has been removed from the `Settings` table migration script. This change affects both the migration and its corresponding designer file, ensuring the table structure and its representation in the code are updated consistently.
Added a new GET endpoint to fetch user info based on username. Introduced PlayerTextureDto, extended PlayerReadDto, and updated mappings in PlayerMapper for AuthUser to PlayerTextureDto.
Upgrade Newtonsoft.Json package to version 13.0.3 across projects. Introduce new classes for AzuriomAuthResult and UnicoreAuthResult to deserialize authentication responses. Update launch settings to use localhost for development.
Introduced a new Ban class and updated the User class to use it, allowing for more detailed handling of user bans. Enhanced the AuthIntegrationHandler to return specific error messages based on auth results, improving feedback for failed authentication attempts.
Updated AzuriomAuthService to handle additional cases for banned users by checking HTTP request status and response content. Added a message indicating the user is banned.
Updated launchSettings.json to prevent automatic browser launch for both HTTP and HTTPS profiles. This change aims to streamline the debugging process by allowing the developer to manually open the browser if needed.
Refactor SettingsRepository to improve settings retrieval performance by simplifying the GetSettings method. Modify Profile DTOs and handlers to include the IsEnabled property. Ensure hub endpoints require authorization for better security.
Changed the SERVICE_TEXTURE_ENDPOINT from "http://gml-web-skins:8085" to "http://localhost:5086" for both http and https profiles. This ensures the application points to the correct local endpoint for texture services.
Create a README.md for the Gml.Web.Api project outlining its purpose and documentation links. Also, introduce Qodana configuration and GitHub Actions workflow for code quality analysis.
Introduce project overview, badges, and documentation links in the new README.md file. This provides essential information about the RESTful API and quick references to official documentation.
Changed the `SettingsRepository` to provide an `IObservable<Settings>` property for notifying settings updates. Updated the corresponding method to ensure the observer can react to changes immediately.
Added a try-catch block around file streaming logic to handle potential exceptions. Errors are logged and captured into the bug tracking system, ensuring issues are monitored and addressed.
Inserted a call to `CreateUserSessionAsync` in the `AuthIntegrationHandler` to create a user session whenever a player object is processed. This change ensures user sessions are properly managed and tracked within the application.
Changed Build method in ILauncherProcedures to return a boolean indicating success. Added observable logs for download progress and improved error handling in various parts. This provides better insight and control over build and download operations.
Refactor GitHub cloning process to use git CLI for downloading projects. Improve error handling and logging. Adjust launch settings and streamline project paths in related files.
Added an apt-get command to install Git in both the build and runtime stages of the Dockerfiles. This change ensures that Git is available for cloning repositories or other operations, facilitating smoother builds and deployments. Removed the unused Java installation stage to simplify the Dockerfile.
@GamerVII-NET GamerVII-NET merged commit 939b67a into master Nov 28, 2024
1 check passed
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