-
Notifications
You must be signed in to change notification settings - Fork 37
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
MAUI: first steps #279
base: master
Are you sure you want to change the base?
MAUI: first steps #279
Conversation
f9cd7dd
to
a78cd9b
Compare
@webwarrior-ws let's fix the style of the welcomePage, in Linux it looks like this: |
Looking at same screenshot above, another issue: window title is not the same as geewallet (should be "geewallet", not "GWallet.Frontend.Maui" |
9f9db60
to
f38b168
Compare
62068cc
to
640922e
Compare
@webwarrior-ws nit: please fix all commit messages to use the word "scripts", not "Scripts", because this word is matching a folder name in the repo, and it should match its case to avoid any confusions. |
9a1456f
to
1d05cdf
Compare
Padding = Thickness(0.), | ||
BorderColor = Color.SeaShell) | ||
frame | ||
|
||
let private CreateWidgetsForAccount (currency: Currency) currencyLogoImg classId: BalanceWidgets = | ||
let accountBalanceLabel = CreateLabelWidgetForAccount LayoutOptions.Start | ||
// TODO: [FS0044] This construct is deprecated. The StackLayout expansion options are deprecated; please use a Grid instead. | ||
// Should remove #nowarn 44 after fixing this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@webwarrior-ws thanks for adding this comment, but looks like it is misplaced? shouldn't it be placed in function CreateLabelWidgetForAccount?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, because what causes a warning is usage of LayoutOptions.EndAndExpand
, which occurs on the next line
176bbe2
to
9377843
Compare
Added padding between labels in Maui/Gtk |
67c1e52
to
f7ee056
Compare
Save previous assigned color and use instead of Color.Default. This is needed because maui doesn't have Color.Default [1]. And this commit is workaround for that. [1] dotnet/Microsoft.Maui.Graphics#57
Use nuget source instead of Github packages so that there is no need for authentication anymore. Update maui submodule to point to CrossMaui/new branch.
Added stepsto upload generated APK file as CI artifact.
The new MAUI project was not included in the solution so you could not build it in VS4Mac. After trying it, it was giving a clang compiler error, that we avoid with a workaorund in the project file.
Currently crashes the app if using back arrow.
Build MAUI snap (snap_alpha job) in addition to XF snaps. Temporarily remove CI snap_aplha job dependencies. Make MAUI/Gtk app process console args, and if it's "--version", print version and exit without launching UI. Ignore Frontend.Maui in FindOffendingPrintfUsage function as it's not relevant for new .NET versions used by MAUI. Change app name on Gtk so that name can be used in dbus slots declaration in snap. Use snapcraft 7.x for MAUI and continue using snapcraft 6.x for XF.
As a workaround to issue 14 of [1]. [1] https://github.com/canonical/dotnet-snap/
Since dotnet-runtime-6.0 causes the following error when running snap: ``` Error: [/snap/gee-maui-preview/x1/usr/share/dotnet/host/fxr] does not exist ```
0116300
to
8f9c5be
Compare
The latter is just a secondary reason (in importance); mention both but emphasize on the navigation problem. |
a2c91ae
to
0e8ef0a
Compare
Switch to .NET8 to fix bug in Android when using back button in navigation bar crashes the app. Continue using .NET6 for GTK.
To include latest changes regarding Gtk application id. Use default MauiGtkApplication.Name derived from executable name.
Show navigation toolbar only after page is loaded in MAUI. Otherwise, navigation toolbar would show up briefly on old page (BalancesPage in our case) before switching to new page.
To latest version that uses NonUnique flag for Gtk.Application. This removes need for DBus communication, so removed DBus slot from snapcraft.yaml.
Just like it is on Xamarin.
Change Maui submodule to track Mali repository since this is what CrossMaui was renamed to.
Fix window title on Gtk platform.
Show navigation bar on ReceivePage after navigating to it as a result of sending transaction.
Set padding for buttons on Gtk to be consistent with other platforms as they have padding around buttons by default.
Determine frontend to be built in configure script and build it in make script. Have 2 variants of global.json (one for MAUI/Gtk with .NET6 and one for other MAUI platfoprms with .NET8) and choose appropriate one in configure script.
Fix spacing after "Amount" label in SendPage on Gtk platform so that it is the same as on other platforms.
Extracted installation of gtk workload and adding Maui nuget source to separate script to remove code duplication. Renamed DotNetVersion to DotNetVersionForMauiGtk and made it and GtkSharpVersion workflow-level env vars in CI.yml.
Fix WelcomePage layout on MAUI/Gtk by using Mali commit that has better approximation for Label desired size on Gtk.
Switch to using .NET 8 for all frontends. Use Maui 8 on Gtk. This unifies .NET versions and gets rid of .NET 6, which is nearing end of suport anyway. Update Microsoft.Extensions.DependencyInjection to v 8.0.0. This iss needed to avoid error: ``` error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.DependencyInjection from 8.0.0 to 6.0.0. Reference the package directly from the project to select a different version. ``` Install maui workloads on windows--dotnet8-* lanes so that Maui/Android can be built. Call fsxc with DOTNET_ROLL_FORWARD=Major to allow it to run under newer .NET version (we use .NET8 now, and fsxc is compiled for .NET6).
Fix layout regressions in BalancesPage on Maui/Gtk after upgrading to Maui 8.
Implemented workaround for incorrect width of some buttons on Gtk (which were stretched to window width) by introducing 3 columns to grids in ReceivePage and SendPage. Buttons are placed in central column, while other grid children span all 3 columns.
Fixed layout of date picker in WelcomePage on Maui/Gtk. It was way too tall, now it has height of about one line of text, like on other platforms.
Upload alpha (MAUI) snap package to snap store.
55a0d03
to
0b14ef9
Compare
Supersedes #274