dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22k stars 1.72k forks source link

IllegalArgumentException .NET MAUI 8 RC 2 #18251

Closed SorenBech2 closed 3 months ago

SorenBech2 commented 11 months ago

Description

In an .NET MAUI app I tried to compile using 8 RC 2. Compile works fine but get a:

IllegalArgumentException Maximum number of items supported by BottomNavigationView is 5. Limit can be checked with BottomNavigationView#getMaxItemCount()

I have a a TabBar with 14 lines. It works fine on .NET MAUI 7 (Android shows 4 and wraps/creates a menu list (three dots above each other) to expand, as per specification.

Apparently, the wrapping does not work in .NET 8

Steps to Reproduce

Create a Tabbar with more than 5 lines (or perhaps as many as 14) Compile and run.

Link to public reproduction project repository

No response

Version with bug

8.0.0-rc.2.9373

Is this a regression from previous behavior?

Yes, this used to work in .NET MAUI

Last version that worked well

7.0.96

Affected platforms

Android

Affected platform versions

Android 13 (have not tested on prior versions

Did you find any workaround?

No

Relevant log output

Stack trace captured by Sentry:

com.google.android.material.navigation.NavigationBarMenu in addInternal at line 67
androidx.appcompat.view.menu.MenuBuilder in add at line 478
mono.java.lang.RunnableImplementor in n_run
mono.java.lang.RunnableImplementor in run at line 31
android.os.Handler in handleCallback at line 942
android.os.Handler in dispatchMessage at line 99
android.os.Looper in loopOnce at line 226
android.os.Looper in loop at line 313
android.app.ActivityThread in main at line 8757
java.lang.reflect.Method in invoke
com.android.internal.os.RuntimeInit$MethodAndArgsCaller in run at line 571
com.android.internal.os.ZygoteInit in main at line 1067

Full stacktrace:

Java.Lang.IllegalArgumentException: Maximum number of items supported by BottomNavigationView is 5. Limit can be checked with BottomNavigationView#getMaxItemCount()
   at Java.Interop.JniEnvironment.InstanceMethods.CallObjectMethod(JniObjectReference instance, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 19992
   at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualObjectMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:line 867
   at AndroidX.AppCompat.View.Menu.MenuBuilder.Add(Int32 group, Int32 id, Int32 categoryOrder, ICharSequence title) in C:\a\_work\1\s\generated\androidx.appcompat.appcompat\obj\Release\net6.0-android\generated\src\AndroidX.AppCompat.View.Menu.MenuBuilder.cs:line 810
   at Android.Views.IMenuExtensions.Add(IMenu self, Int32 groupId, Int32 itemId, Int32 order, String title) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.IMenu.cs:line 187
   at Microsoft.Maui.Controls.Platform.BottomNavigationViewUtils.SetupMenu(IMenu menu, Int32 maxBottomItems, List`1 items, Int32 currentIndex, BottomNavigationView bottomView, IMauiContext mauiContext) in D:\a\_work\1\s\src\Controls\src\Core\Platform\Android\BottomNavigationViewUtils.cs:line 107
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Android.App.SyncContext.<>c__DisplayClass2_0.<Post>b__0() in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.App/SyncContext.cs:line 36
   at Java.Lang.Thread.RunnableImplementor.Run() in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:line 36
   at Java.Lang.IRunnableInvoker.n_Run(IntPtr jnienv, IntPtr native__this) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Java.Lang.IRunnable.cs:line 84
   at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V(_JniMarshal_PP_V callback, IntPtr jnienv, IntPtr klazz) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 26
  --- End of managed Java.Lang.IllegalArgumentException stack trace ---
java.lang.IllegalArgumentException: Maximum number of items supported by BottomNavigationView is 5. Limit can be checked with BottomNavigationView#getMaxItemCount()
    at com.google.android.material.navigation.NavigationBarMenu.addInternal(NavigationBarMenu.java:67)
    at androidx.appcompat.view.menu.MenuBuilder.add(MenuBuilder.java:478)
    at crc64fcf28c0e24b4cc31.ButtonHandler_ButtonClickListener.n_onClick(Native Method)
    at crc64fcf28c0e24b4cc31.ButtonHandler_ButtonClickListener.onClick(ButtonHandler_ButtonClickListener.java:31)
    at android.view.View.performClick(View.java:7506)
    at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1211)
    at android.view.View.performClickInternal(View.java:7483)
    at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
    at android.view.View$PerformClick.run(View.java:29334)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

  --- End of managed Java.Lang.IllegalArgumentException stack trace ---
java.lang.IllegalArgumentException: Maximum number of items supported by BottomNavigationView is 5. Limit can be checked with BottomNavigationView#getMaxItemCount()
    at com.google.android.material.navigation.NavigationBarMenu.addInternal(NavigationBarMenu.java:67)
    at androidx.appcompat.view.menu.MenuBuilder.add(MenuBuilder.java:478)
    at crc64fcf28c0e24b4cc31.ButtonHandler_ButtonClickListener.n_onClick(Native Method)
    at crc64fcf28c0e24b4cc31.ButtonHandler_ButtonClickListener.onClick(ButtonHandler_ButtonClickListener.java:31)
    at android.view.View.performClick(View.java:7506)
    at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1211)
    at android.view.View.performClickInternal(View.java:7483)
    at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
    at android.view.View$PerformClick.run(View.java:29334)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
ghost commented 11 months ago

Hi @SorenBech2. We have added the "s/needs-repro" label to this issue, which indicates that we require steps and sample code to reproduce the issue before we can take further action. Please try to create a minimal sample project/solution or code samples which reproduce the issue, ideally as a GitHub repo that we can clone. See more details about creating repros here: https://github.com/dotnet/maui/blob/main/.github/repro.md

This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

SorenBech2 commented 10 months ago

Pls see code in repository https://github.com/SorenBech2/TabbarTest for reproducing error.

To reproduce: Run app, select LogIN7Out page and push Login/Out btn. Try reducing the number of tabs to 6. Then the error will occur when LogIn/Out is being pushed twice - not once.

Pls let me know if I can provide any further info to illuminate this issue.

Andy-Donegan commented 10 months ago

@SorenBech2 We have just upgrated to .Net 8 Preview from working in .Net 7 and standard Visual Studio 2022. We are now getting the exact same error. We manipulate our Tab Bar as different pages are visible/not visible dependant upon what configuration our App connects to. This worked perfectly in .Net 7 but now just calling TabBars visible/invisible creates this fall over.

Visutronik commented 10 months ago

@SorenBech2 We get the same exception after upgrade to .Net 8. Our app has 12 menus and the most of them has 2-4 submenus. Everything works fine with .Net 7

FrankVDL2471 commented 10 months ago

Same issue here after an upgrade from .Net 7.0 to .Net 8.0

The issue does not show up on the first view

When navigating back , the error occurs

cos-gk commented 9 months ago

Unfortunately, this issue is still present in the release version 8.0.0 and currently blocks us from implementing a login workflow. We don't do any dynamic changing of the shell or tabs either. All we do is to navigate to the login page (Shell.Current.GoToAsync("///login")) at some point and when we log back in and the shell is supposed to render the tabs again, the exception comes up.

DDHSchmidt commented 9 months ago

Could this be the reintroduction of an old Xamarin.Forms bug?

SorenBech2 commented 9 months ago

@PureWeen I wonder if there are any progress/update on this issue. Current Visul Studio 17.8.3 gives a different error (Visual Studio freezes up and App gives a ANR), but other than that no error message. Difficult to progress based on this.

SorenBech2 commented 8 months ago

Hi @samhouts Does your update mean, that this issue is being worked on? We are getting close to production time, and being unable to upgrade .NET version is a show stopper. Would really appriciate a status on this?

FrankVDL2471 commented 8 months ago

Updated to 8.0.101 but this error still occurs When can we expect a fix for this ?

rdieske commented 7 months ago

I receive this error, when i navigate between different pages on Andorid. Steps in my case are:

  1. Navigate to a page A which shows the bottom tabs.
  2. Navigating to page B, which doesnΒ΄t show the tabs
  3. Navigate back to page A, where the tabs should be shown again -> but here it is crashing the app with the given error
jskeet commented 6 months ago

It's a shame to see this regression (of what I'd consider pretty core functionality) is still present over 4 months later. I do understand the team is no doubt working hard on other aspects.

For those looking for a workaround: I wasn't previously using flyouts at all. I've wrapped all my previous shell content in one giant <FlyoutItem FlyoutDisplayOptions="AsMultipleItems">, and set Shell.TabBarIsVisible="false" (both in AppShell.xaml). It's now harder to switch between "tabs" (bring up flyout menu then select, as opposed to selecting directly) but at least the functionality is back.

kevinxufei commented 6 months ago

Verified this issue with Visual Studio 17.10.0 Preview 2. Can repro on Android platform with sample project(https://github.com/SorenBech2/TabbarTest). Screenshot 2024-03-13 110327

durandt commented 6 months ago

Hi,

I get the same error when changing language (culture) in my app. Changing culture raises an event. Every LocalizedString (custom class) will then raise OnPropertyChanged on the "Text" string property that contains the string value for the said culture. Shell tabs title is bound to such a property.

When the event is triggered, I get the following StackTrace:

Java.Lang.IllegalArgumentException: Maximum number of items supported by BottomNavigationView is 5. Limit can be checked with BottomNavigationView#getMaxItemCount() at Java.Interop.JniEnvironment.InstanceMethods.CallObjectMethod(JniObjectReference instance, JniMethodInfo method, JniArgumentValue args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 19992 at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualObjectMethod(String encodedMember, IJavaPeerable self, JniArgumentValue parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:line 867 at AndroidX.AppCompat.View.Menu.MenuBuilder.Add(Int32 group, Int32 id, Int32 categoryOrder, ICharSequence title) in C:\a_work\1\s\generated\androidx.appcompat.appcompat\obj\Release\net6.0-android\generated\src\AndroidX.AppCompat.View.Menu.MenuBuilder.cs:line 810 at Android.Views.IMenuExtensions.Add(IMenu self, Int32 groupId, Int32 itemId, Int32 order, String title) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.IMenu.cs:line 187 at Microsoft.Maui.Controls.Platform.BottomNavigationViewUtils.SetupMenu(IMenu menu, Int32 maxBottomItems, List`1 items, Int32 currentIndex, BottomNavigationView bottomView, IMauiContext mauiContext) in D:\a_work\1\s\src\Controls\src\Core\Platform\Android\BottomNavigationViewUtils.cs:line 107 at System.Threading.Tasks.Task.<>c.b128_0(Object state) at Android.App.SyncContext.<>c__DisplayClass2_0.b0() in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.App/SyncContext.cs:line 36 at Java.Lang.Thread.RunnableImplementor.Run() in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:line 36 at Java.Lang.IRunnableInvoker.n_Run(IntPtr jnienv, IntPtr native__this) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Java.Lang.IRunnable.cs:line 84 at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V(_JniMarshal_PP_V callback, IntPtr jnienv, IntPtr klazz) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 26 --- End of managed Java.Lang.IllegalArgumentException stack trace --- [...]

It clearly points at BottomNavigationViewUtils.cs:line 107 (SetupMenu) which was changed by #12889 (ping @PureWeen ) var menuItem = menu.Add(0, MoreTabId, 0, moreString);

In my case it seems that the Title change may be creating new tab items and the following change in #12889 image May not be removing the previous more-item before adding it again.

That's a lot of wild guesses so I will try to bring up a repro ASAP.

Best regards,

durandt commented 6 months ago

Workaround: Only use 5 tab items (4 tab items + own more-page on fifth tab). We were already doing this on iOS due to some more-tab related bugs, so easy fix to switch to the same behaviour in our Android app too.

VladSnap commented 6 months ago

It's strange how a bug like this still isn't a high priority to fix.

I couldn't upload my android app to the store because: when checking the publish report, I received the same error, although everything works in the emulator and on a mobile device.

But this problem was reproducible when I made edits with a hot reload.

shadowfoxish commented 5 months ago

Started seeing this as well after upgrading from, 7 to 8. In my case, it is happening in a very specific sequence of events involving the Display Action Sheet built-in. My Shell has a few FlyoutItems with multiple sub-tabs of related content. The first one, where I display the DisplayActionSheet is on a ShellContent page that has 3 siblings (so 4 tabs at the bottom of the screen). There is another FlyoutItem that has 6 sub-ShellContents. (These display normally, and 'condense' into a hamburger menu as expected...)

Once I've opened the DisplayActionSheet, and then dismiss it, if I switch to the other ShellContent in a different FlyoutItem hierarchy that happens to have more than 4 siblings (6 in all), the error occurs.

bigcords commented 4 months ago

I'm getting the same issue...page a shows 4 tabs with additional tabs behind a 'more' tab. I navigate to page 2, which has less tabs and it's fine. When I navigate back to page 1 I get the error: Java.Lang.IllegalArgumentException: 'Maximum number of items supported by BottomNavigationView is 5. Limit can be checked with BottomNavigationView#getMaxItemCount()'

When it errors, the UI refreshes and the old tabs haven't been cleared and new ones have been appended.

FrankVDL2471 commented 4 months ago

When can we expect an solution for this, this is realy a blokker for me.

Create a Shell app containting a single FlyoutItem containing multiple tabs (more then 5) In de code behind, add some logic to toggle the 'IsVisible" of some of the tabs.

The first time it works just fine The seconds time you invoice the logic, siwitching other menuitems, the error will occure and the app crashes

jfversluis commented 3 months ago

Hey friends!

A pull request is open for this issue now, you can pull down the NuGet packages for it to test it out and let us know if that fixes it. I made a short video about it to guide you through it.

Note that you do not want to use this version in production, test if the issue is resolved and it has no other side-effects and let us know if it worked for you! The PR is still in progress at the time of writing this so there might be coming updates to it after which you will want to test again.

Your early feedback is appreciated πŸ™

jskeet commented 3 months ago

A pull request is open for this issue now, you can pull down the NuGet packages for it to test it out and let us know if that fixes it. I made a short video about it to guide you through it.

I've just tried this, and it fixed the issue in my app. I only spent a couple of minutes checking the rest of the functionality, but it looks okay. Thanks to @kubaflo for the fix and @jfversluis for the video explaining how to test it.

SorenBech2 commented 3 months ago

Hi Gerald

Thank you very much for this. Very good to se progress on this issue - and thank you Jakub Florkowski for your efforts. Highly appreciated!

I have an issue following your video though. You mention, that the artifacts should be reachable through the "Details" button on the MAUI Public check. However, there is no "Details" button on the MAUI Public check. The check list in Github for the issue only includes a "Details" button for licence/cla (screen short attached). Is this an error or just because check is in progress and pulling the artifacts is premature at this stage?

[cid:5921727b-b72f-4c4b-b2cd-96d9f36ab725]

Med venlig hilsen / Best regards

SΓΈren Bech

Marmorvej 35

DK-2100 København Ø

+45 4076 5050

@.***


From: Gerald Versluis @.> Sent: Thursday, May 23, 2024 3:03 PM To: dotnet/maui @.> Cc: SΓΈren Bech @.>; Mention @.> Subject: Re: [dotnet/maui] IllegalArgumentException .NET MAUI 8 RC 2 (Issue #18251)

Hey friends!

A pull requesthttps://github.com/dotnet/maui/pull/22589 is open for this issue now, you can pull down the NuGet packages for it to test it out and let us know if that fixes it. I made a short videohttps://www.youtube.com/watch?v=B2FOBjZKm9k&list=PLfbOp004UaYW2u0am9IhB_c3pWExLen42 about it to guide you through it.

Note that you do not want to use this version in production, test if the issue is resolved and it has no other side-effects and let us know if it worked for you! The PR is still in progress at the time of writing this so there might be coming updates to it after which you will want to test again.

Your early feedback is appreciated πŸ™

β€” Reply to this email directly, view it on GitHubhttps://github.com/dotnet/maui/issues/18251#issuecomment-2127053296, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2Y4YKXC7BSPEHI32CKL2T3ZDXSIXAVCNFSM6AAAAAA6L7TYSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRXGA2TGMRZGY. You are receiving this because you were mentioned.Message ID: @.***>

jfversluis commented 3 months ago

@SorenBech2 you might have looked at a time where a new build was triggered or something. Typically it should be there :)

From our testing the fix looks good so I think it will be merged soon and should be part of a next service release.

Thanks everyone for the input here!

SorenBech2 commented 3 months ago

Hi Gerald et all

Yes, I probably did since now I have been able to download the artifacts.

The patches solves the Tabbar issue, however, they have a side effect. They introduce a new error. I'm working on a reproduction, but just wanted to give you a heads up. Issue explained below.

In XML I have a Border. Inside the Border I have a Grid. The last row of the grid includes a Label where the Text is binding to a string variable in the viewmodel. When updating the string to a length of more than one line, the grid expands and so does the border to include the new line (see screen shots below): https://1drv.ms/i/s!AuhJYcrqWX9emM0OvQf95bTXIPXN9g [https://fdzwhg.am.files.1drv.com/y4m9wnVT9fTyZG4VA_JkU6HrYx8NR1Kq-RR14KgJsYyG82EVUaYxkCHZHHLyKx4Mhm_LzG_ZMbN-H8HuLGBWvHO80pjzEo0MDncOqNBtgL16UphlRM7oOH84sZA8NqmQdW3FKfEAHVAC4hGLIq_OTSWhuQntXr9xgtub1XwZCxnE9emgiFg1GGUVddJB-rMWqT-wmoSzGnscvXdy4F1Ttrrzw?width=200&height=150&cropmode=center] [https://res.public.onecdn.static.microsoft/assets/mail/file-icon/png/cloud_blue_16x16.png]Border (grid) with one line in Fee includes.JPEG when "Choose cancellation insurance "Yes" button is pushed, the "Fee includes" line expand to two lines and the border extends to include the two lines as shown below: https://1drv.ms/i/s!AuhJYcrqWX9emM0QWTwKNvzsAu4xGQ [https://hvjcvg.am.files.1drv.com/y4myJHQ4rQSdFtM6Nc37HqZizLh3baLWIeTwN52vIKydq2WV6JV9tf5E_QzjvCmW0ootffcoMUXI4tednOi4gw38GrmTC6hlnemAaxAejkyw5NT7JCIk7Cm0UX5t7AApM02s6-nammZKscVmqDEFn8uSeanSm_qEoF5Kza34Bq6Mi_yhJTtEjcxF37l3tLDZSqjWNkrpDzaI7QwgvUKBSvsBg?width=200&height=150&cropmode=center] [https://res.cdn.office.net/assets/mail/file-icon/png/cloud_blue_16x16.png]Border (grind) with two lines in Fee includes.JPEG

Above result is achieved with:       Microsoft.Maui.Controls v. 8.0.40       Microsoft.Maui.Controls.Compatibility v. 8.0.40       Microsoft.Maui.Controls.Maps v. 8.0.40       VS 2022 Proff. v. 17.9.7

When updating Microsoft.Maui.Controls to version 8.0.60 - cl.net8.24277.1 the following error occurs: When "Choose cancellation insurance" "Yes" button is pushed, the "Fee includes" line expand to two lines, but the border does not extend enough to include the two lines as shown below: https://1drv.ms/i/s!AuhJYcrqWX9emM0RtItn8o6FVh0iQQ [https://uwxqpq.am.files.1drv.com/y4m0fC-kB1mMPuT8DYe0g_dx4lfVObp5cIfOhxhqhm9qnKLuY9MisRuSGPaAlS4daTGqkGY9x3VAIAKhu5LCdpa_WIsVfVFldR1vSSWp9kQutxRD20PlSfwkMgY3FW3dzfz1F6xdnsH2RKpiUFCpTysW4SUnu8ppPQPLJ8nsz-fggXlYkRjOaHrVwyOyVrCpeZmRN8gMP4DGI58kmbe-zkEdw?width=200&height=150&cropmode=center] [https://res.public.onecdn.static.microsoft/assets/mail/file-icon/png/cloud_blue_16x16.png]Border (grid) with two lines in Fee includes.JPEG Oddly enough, the border extends somewhat (half a line or so) and the margin to the border below extends as well - which it should not.

The error occurs when Microsoft.Maui.Controls is updated. It makes no difference if Microsofr.Maui.Control.Compatibility and Microsoft.Maui.Control.Maps are updated or not.

As mentioned, I'm working on a repro version, but wanted to give a heads up.

Med venlig hilsen / Best regards

SΓΈren Bech

Marmorvej 35

DK-2100 København Ø

+45 4076 5050

@.***


From: Gerald Versluis @.> Sent: Tuesday, May 28, 2024 4:11 PM To: dotnet/maui @.> Cc: SΓΈren Bech @.>; Mention @.> Subject: Re: [dotnet/maui] IllegalArgumentException .NET MAUI 8 RC 2 (Issue #18251)

@SorenBech2https://github.com/SorenBech2 you might have looked at a time where a new build was triggered or something. Typically it should be there :)

From our testing the fix looks good so I think it will be merged soon and should be part of a next service release.

Thanks everyone for the input here!

β€” Reply to this email directly, view it on GitHubhttps://github.com/dotnet/maui/issues/18251#issuecomment-2135318492, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2Y4YKUXVJPWYL5LDTXSBHLZESGBBAVCNFSM6AAAAAA6L7TYSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZVGMYTQNBZGI. You are receiving this because you were mentioned.Message ID: @.***>

SorenBech2 commented 3 months ago

Hi Gerald

I have now developed a reproduction version that highlights the issue - and found a second issue with missing update of radio buttons.

I have added text in the code that explains the issues.

To reproduce the issues, download SorenBech2/TabbarTest: For testing IllegalArgumentException .NET MAUI 8 RC 2 (Issue #18251) (github.com)https://github.com/SorenBech2/TabbarTest

The code is set up to previous version (8.0.40) where there are no issues (with border and radio buttons). In order reproduce the issues go to TabbarTest.csproj and follow the instructions below:

                   

                                                                                                                           

When the app is compiled (Android) and launched, press the first tab (Border Test). On the Border Test page press the Yes an No buttons to provoke the issues.

I hope this displays the issues in an easy to understand manner. If questions pls. don't hesitate.

Med venlig hilsen / Best regards

SΓΈren Bech

Marmorvej 35

DK-2100 København Ø

+45 4076 5050

@.***


From: Gerald Versluis @.> Sent: Tuesday, May 28, 2024 4:11 PM To: dotnet/maui @.> Cc: SΓΈren Bech @.>; Mention @.> Subject: Re: [dotnet/maui] IllegalArgumentException .NET MAUI 8 RC 2 (Issue #18251)

@SorenBech2https://github.com/SorenBech2 you might have looked at a time where a new build was triggered or something. Typically it should be there :)

From our testing the fix looks good so I think it will be merged soon and should be part of a next service release.

Thanks everyone for the input here!

β€” Reply to this email directly, view it on GitHubhttps://github.com/dotnet/maui/issues/18251#issuecomment-2135318492, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2Y4YKUXVJPWYL5LDTXSBHLZESGBBAVCNFSM6AAAAAA6L7TYSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZVGMYTQNBZGI. You are receiving this because you were mentioned.Message ID: @.***>