-
-
Notifications
You must be signed in to change notification settings - Fork 261
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
feat: Missing Methods and Implementations after v4.0. #402
Conversation
- Removed `xmlns:m` namespace declaration for `UraniumUI.Icons.MaterialSymbols` in `AppShell.xaml`. - Replaced `ImageButton` with `Button` for delete button in `AppShell.xaml`. - Updated `Tab` elements in `AppShell.xaml` to use image icons. - Conditionally set database path in `DataBaseService.cs` based on `NET9_0`. - Added `<AppxSymbolPackageEnabled>false</AppxSymbolPackageEnabled>` to `Dimmer-MAUI.csproj`. - Added new property groups for configurations and target frameworks in `Dimmer-MAUI.csproj`. - Changed active debug framework and profile to Windows in `Dimmer-MAUI.csproj.user`. - Updated version in `Package.appxmanifest` from `0.4.0.0` to `0.5.0.0`. - Updated publish settings in `MSIX-win-x64.pubxml` and `MSIX-win10-x86.pubxml`. - Added new SVG and PNG icon files. - Conditionally compile code for Android and Windows in various services and view models based on `NET9_0`. - Updated `MediaPlaybackControlsView.xaml` to use new image sources and added triggers for shuffle state. - Fixed issues in `SingleSongShellPageD.xaml.cs` and `SingleSongShell.xaml`. - Updated `Parse.csproj` to support multiple target frameworks and added a conditional target framework for Windows. - Added new publish profile `FolderProfile.pubxml`. - Updated `Resources.Designer.cs` to use `StronglyTypedResourceBuilder` version "17.0.0.0".
- AppShell.xaml: Added TouchDownCommand, removed redundant elements. - AppShell.xaml.cs: Made ToggleFlyout calls synchronous, added empty event handler. - SongsManagementService.cs: Explicit constructor call for SongModel. - Dimmer-MAUI.csproj: Changed RuntimeIdentifier to win10-x64. - Dimmer-MAUI.csproj.user: Updated debug settings for Windows. - GeneralStaticUtilities.cs: Added null check for item.FilePath. - LyricsService.cs: Improved null handling, added .lrc parsing. - ArtistsSection.HomePageVM.cs: Handled nullability, added partial methods. - ArtistsPageD.xaml: Added DataTrigger for Label styling. - ArtistsPageD.xaml.cs: Refactored ArtistView_TouchDown. - DimmerWindow.xaml.cs: Updated version subtitle to v0.5.1. - MainPageD.xaml: Added TouchDown event handler, simplified Image binding. - MainPageD: Added isPointerEntered field, implemented PointerEntered method. - SingleSongShellPageD.xaml: Updated IsAnimationPlaying, added SfChipGroup. - SingleSongShellPageD.xaml.cs: Added chip click handler, debugging using directive. - ArtistsPageM.xaml.cs: Removed async from ResetSongs_TapPressed, added background color changes. - Added pragma directives to suppress warnings, added comments for refactoring.
Updated target frameworks and project references: - `ParseLiveQuery.Test.csproj` to `v4.8` - `ParseLiveQuery.csproj` to `net9.0` - Removed `Parse` and `WebSocketSharp` references, added `System.Text.Json` and `websocketsharp.core` - Updated `Parse.csproj` to use `OpenCover` v4.7.1221 Refactored `ParseLiveQueryClient.cs`: - Switched to `System.Text.Json` for JSON parsing - Added `_clientKey` field and updated constructor - Updated methods to use `ParseClient.Instance` for various operations - Adopted file-scoped namespace syntax Updated other client operations: - Replaced `Json.Encode` with `JsonSerializer.Serialize` in `SessionClientOperation.cs` and `UnsubscribeClientOperation.cs` - Updated `SubscribeClientOperation.cs` to use `ParseClient.Instance.CreateObjectWithoutData<T>(null).ClassName` Enhanced `ObjectServiceExtensions.cs`: - Added validation and error handling in `GetFieldForPropertyName` method - Included `System.Diagnostics` namespace Updated Visual Studio solution: - Made compatible with Visual Studio 17 - Removed `ParseLiveQuery.Test` project, added `Parse` project
Updated App.xaml.cs to initialize platform-specific shells and replaced Console.WriteLine with Debug.WriteLine. Enhanced AppShell.xaml and AppShellMobile.xaml with new tabs and routes. Expanded IFlowsService.cs with new methods for user accounts and synchronization. Renamed and refactored FlowService.cs with extensive updates for user authentication, data synchronization, and error handling. Added project references and updated FlowHub-MAUI.csproj and FlowHub-MAUI.sln. Refactored data models in FlowModel.cs and enhanced HomePageVM.cs with new properties and commands. Updated various XAML files for improved UI and data binding. Refactored multiple files in ParseLiveQuery to use file-scoped namespaces, improved formatting, and updated WebSocket implementation. Enhanced MutableObjectState, ParseObject, and related classes with new properties, error handling, and logging. Updated ParseUser.cs and service extensions for better user management.
The changes primarily involve refactoring methods to use block bodies instead of expression bodies across multiple files. This improves readability and maintainability by making the code more consistent and easier to debug. Key changes include: - Refactored methods in various files such as `HomePageVM.cs`, `ConnectClientOperation.cs`, `ParseLiveQueryClient.cs`, `CacheController.cs`, `ParseAddOperation.cs`, `ParseObjectCoder.cs`, `ParseCommandRunner.cs`, `ParseConfiguration.cs`, `ParseObject.cs`, `ParseQuery.cs`, `ParseUser.cs`, `ParseUserController.cs`, `AnalyticsServiceExtensions.cs`, `CloudCodeServiceExtensions.cs`, `ConfigurationServiceExtensions.cs`, `InstallationServiceExtensions.cs`, `ObjectServiceExtensions.cs`, `ParseExtensions.cs`, `ParseFileExtensions.cs`, `ParseQueryExtensions.cs`, `ParseRelationExtensions.cs`, `ParseUserExtensions.cs`, `PushServiceExtensions.cs`, `QueryServiceExtensions.cs`, `RoleServiceExtensions.cs`, `SessionsServiceExtensions.cs`, and `UserServiceExtensions.cs` to use block bodies. - Added logging and debug statements in some files to track changes and improve clarity. - Introduced hardcoded values for user credentials in `HomePageVM.cs` and added logging for user authentication status changes. - Added null checks and validation logic in some methods to ensure robustness.
Will Do Docs later
Upgraded to .NET 9 - MAUI
Refactored `ParseInstallation` to add `writeOnlyKeys` set and restrict deletion. Added `DeleteAsync` override to throw `InvalidOperationException` on delete attempts. Updated `OnSettingValue` to prevent setting `writeOnlyKeys` to null. Refactored `ParseObjectClassController`: - Changed from nested to top-level internal class. - Moved properties (`ReservedParseObjectClassName`, `Mutex`, `Classes`, `RegisterActions`) out of nested class. - Improved readability of methods (`GetClassName`, `GetType`, `GetClassMatch`, `AddValid`, `RemoveClass`, `AddRegisterHook`, `Instantiate`, `GetPropertyMappings`, `AddIntrinsic`). - Enhanced `AddValid` for clearer type registration and error handling. - Simplified `AddIntrinsic` for cleaner intrinsic type registration.
- All Currently Written tests are updated to test the latest code - Parse previously targeted only .NET 9+, now it does .NET6+ - Did some "Todo" along the side. - Ensured all tests while updated, still pass as intended.
- Sets base compatibility to .NET 5+ (versions 5, 6, 7, 8, 9), including support for .NET MAUI, ensuring broader platform compatibility. - Enables compatibility for Live Queries with the updated base compatibility. - Completed most, if not all, TODOs, including implementing additional unit tests to cover newly introduced concepts. - Finalized remaining TODOs and ensured all functionality is thoroughly tested.
Co-authored-by: Daniel <[email protected]>
…anges to test to avoid warnings
- Parse Should now work as expected on every single front (only missing piece was correct data decoding. Handled now) Updated Parse LQ to v2.0 Now Using RX.NET instead of subs (will polish more with time) Sample LiveChat example has been fully updated with how to use methods. Will update again to provide examples in more robust situations where ReactiveX and LINQ is a step up against other platforms. (You can now combine subs and get notified only when even more sub specific conditions are fulfilled)
Simplified target frameworks to net8.0 in project files. Updated exception type in SessionControllerTests. Removed exception handling in ParseDataDecoder's Decode method making previous UT fail. LogOutAsync UT will fail, but only because I could not mock it properly for testing despite it working. Handled HTTP 410 status code in ParseCommandRunner.
It used to freeze app before but doesn't now. - SignUpAsync now returns the Signed up user after completion - Renamed LoginAsync() to LoginWithAsync() and SignUpAsync() to SignUpWithAsync(). - Finished removing old codes. - Possibily fixed all OLD Unity issues.
- Fixed an issue where logging out WILL logout but the test failed. - Fixed issues where Parse Relations/Pointers never worked after v4.0 (incomplete decoding) - Added about 70+ tests to help improve code coverage at least in the very critical part. Code should be more reliable now 👍🏾
Thanks for opening this pull request!
|
Here I would either have to add .net7, 8 and 9 in parse and test or you would remove them from checks. |
Amazing work! Could you please split this PR into individual PRs that are scoped to a single issue? Essentially a PR for each of the points that you outlined in #402 (comment). Please see here why. |
I will close this PR myself afterall. Whenever I post a commit along with my own passes then I see it fails here, I have to figure out, making me break stuff. PRs #403 and #404 are all good. This PR truly, simply adds more tests for coverage as I wanted to help on that end too. |
Fixed a logout issue where logging out WILL logout but the test failed.
Fixed issues where Parse Relations/Pointers never worked after v4.0 (incomplete decoding)
Added about 70+ tests to help improve code coverage at least in the very critical parts.
closes Missing methods in Parse .NET SDK 4.0 #397
closes Parse.ParseUser.LogOutAsync test fails #400 too
Redid this PR and fixed conflicts
Code should be more reliable now 👍🏾