fabulous-dev / fabulous.mauicontrols Goto Github PK
View Code? Open in Web Editor NEWDeclarative UIs for .NET MAUI Controls with F# and MVU, using Fabulous
Home Page: https://docs.fabulous.dev/maui
License: Apache License 2.0
Declarative UIs for .NET MAUI Controls with F# and MVU, using Fabulous
Home Page: https://docs.fabulous.dev/maui
License: Apache License 2.0
I created a new project with the Fabulous Maui.Controls Blank
template from Fabulous.MauiControls.Templates
and
haven't touched the project after generating from the template, but when I try and run on iPad it seems to be running in "phone compatibility mode":
The default C# Maui template is not affected by this issue and has exactly the same info.plist:
Related Discord chat:
https://discord.com/channels/716980335593914419/1048984411808477254/1068185242134925312
During the startup of the TicTacToe sample, a Win32 (?) exception apparently crashes the app and the debugger unsuccessfully tries to attach. Without debugger the app window appears briefly and disappears again. For the Android target the app starts normally
Steps to reproduce:
Hello everyone, in the first place, thank for your great work with fabulous. I really love MVU in mobile world.
About the issue: I am trying to use a NavigationPage in my App. I have done it before in Xamarin without problems, but here I have an exception doing the same way. I have looked for examples or documentation, but unfortunately didn't found a valid one. In the code will remove the un-needed parts leaving only the view + Back navigated Msg.
This has been tested in iOS device with OS 17.2.
Fabulous 2.0.4
Fabulous.MauiControls 8.0.2
namespace OrganizationMember.MobileApp.Publishing.Channel.MobileParts
open Fabulous
[<RequireQualifiedAccess>]
module FeedActivity =
type State = private {
CurrentLanguage: Language
SubscribedChannels: Id list
LoadingSubscribedChannels: Deferred<unit>
Posts: Post.MobileParts.IndexContentView.State option
ChannelPostDetails: Post.MobileParts.DetailsContentView.State option
ImageZoomGalleryActivity: Publishing.Upload.MobileParts.GalleryZoomActivity.State option
Consumer: ConsumerActivity.State
}
type ConsumerMsg = private ConsumerMsg of ConsumerActivity.Msg
[<RequireQualifiedAccess>]
type Msg =
| LoadSubscribedChannelIds of AsyncOperationStatus<Id list>
| Posts of Post.MobileParts.IndexContentView.Msg
| Consumer of ConsumerMsg
| ChannelPostDetails of Post.MobileParts.DetailsContentView.Msg
| ImageZoomGalleryActivity of Publishing.Upload.MobileParts.GalleryZoomActivity.Msg
| Open of OrganizationMember.Consuming.DomainClient.Post.PublicTypes.Item
| OpenFormSubmissionActivity of Publishing.Common.Form.Id
| OpenZoomGalleryActivity of Index: int * ImagesSource: string list
| UpdatePostItemDownstream of OrganizationMember.Consuming.DomainClient.Post.PublicTypes.Item
| UpdatePollItemDownstream of Publishing.Common.Poll.Id
| UpdateFormItemsDownstream of Publishing.Common.Form.Id list
| BackNavigated
let update (dependencies: Dependencies) msg (state: State) =
let whenPostsMessage' msg = ...
let loadSubscribedChannelIds' (operation: AsyncOperationStatus<Id list>) = ...
let whenConsumer' msg = ...
let whenPostDetails' msg = ...
let whenImageZoomGalleryMessage' msg = ...
let whenOpenZoomGalleryMessage' (index, images) = ...
let whenOpenPost' item =
let currentDateTime = dependencies.CurrentDateTime ()
let channelPostDetailsActivity, cmd = Post.MobileParts.DetailsContentView.init state.CurrentLanguage currentDateTime item
let cmd = Cmd.map Msg.ChannelPostDetails cmd
{ state with
ChannelPostDetails = Some channelPostDetailsActivity }, cmd, Intent.None
let whenBackNavigated' () =
match state.ChannelPostDetails, state.ImageZoomGalleryActivity with
| _, Some _ ->
{ state with ImageZoomGalleryActivity = None }, Cmd.none, Intent.None
| Some _, _ ->
{ state with
ImageZoomGalleryActivity = None
ChannelPostDetails = None }, Cmd.none, Intent.None
| None, None ->
// La otra posibilidad, es quitar la actividad de show y siempre los detalles.
state, Cmd.none, Intent.None
match msg with
| Msg.Posts msg ->
whenPostsMessage' msg
| Msg.LoadSubscribedChannelIds operation ->
loadSubscribedChannelIds' operation
| Msg.Open msg ->
whenOpenPost' msg
| Msg.ChannelPostDetails msg ->
whenPostDetails' msg
| Msg.ImageZoomGalleryActivity msg ->
whenImageZoomGalleryMessage' msg
| Msg.Consumer (ConsumerMsg msg) ->
whenConsumer' msg
| Msg.BackNavigated ->
whenBackNavigated' ()
let view state (dispatch: Msg -> 'Msg) =
let messages = FeedActivityMessages.build state.CurrentLanguage
let header =
(AppTitles.muted(messages.AboutFeed) |> View.Border)
let header =
(View.HStack(0.0) {
header.fillHorizontal()
})
.padding(left=10.0, right=10.0, top=10.0, bottom=5.0)
.fillHorizontal()
.background(AppColors.white)
let header = header |> View.AnyView
(View.NavigationPage() {
match state.Posts with
| Some posts ->
Post.MobileParts.IndexContentView.view header posts (dispatch << Msg.Posts)
| None ->
AppTitles.centeredLabel messages.Loading
|> View.ContentPage
|> _.automationId("channels.feed.alternativeToPostsIndex")
match state.ChannelPostDetails with
| Some post ->
Post.MobileParts.DetailsContentView.view post (dispatch << Msg.ChannelPostDetails)
| None ->
()
match state.ImageZoomGalleryActivity with
| Some galleryState ->
Publishing.Upload.MobileParts.GalleryZoomActivity.view galleryState (dispatch << Msg.ImageZoomGalleryActivity)
| None ->
()
})
.onBackNavigated(dispatch Msg.BackNavigated)
.onBackButtonPressed(dispatch Msg.BackNavigated)
.hideNavigationBarSeparator(true)
.hasNavigationBar(false)
.barBackgroundColor(AppColors.barPrimaryBackground)
.barTextColor(AppColors.white)
.automationId("channel.feed")
On iOS simulator and iOS device I open a Post (push a new page in the navigationPage) and then go back the app crash: it seems that is trying to find a page that does not exists during the diffing process.
Here is the log:
2023-12-18 19:18:31.357427+0100 OrganizationMember.MobileApp[26831:650412] Microsoft.iOS: Socket error while connecting to IDE on [127.0.0.1:10000](http://127.0.0.1:10000/): Connection refused
2023-12-18 19:18:33.774395+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabApplication
2023-12-18 19:18:33.798318+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabNavigationPage
2023-12-18 19:18:33.809637+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabContentPage
2023-12-18 19:18:33.812306+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:33.815343+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:33.816050+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Image
2023-12-18 19:18:33.840817+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for BoxView
2023-12-18 19:18:33.842160+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:33.842697+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:33.845370+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:33.845911+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:33.847050+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Button
2023-12-18 19:18:33.853676+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] updateNavigationPagePages: Inserting page with index '0' and automationId = ''
2023-12-18 19:18:34.633429+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.633701+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.633929+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.634149+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.634541+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.636134+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.636536+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.637820+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.639189+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:34.643852+0100 OrganizationMember.MobileApp[26831:650370] SESSION TOKEN ACQUIRED SILENTLY: ExpiresOn: 18/12/2023 19:27:22 +00:00, Token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlQxU3QtZExUdnlXUmd4Ql82NzZ1OGtyWFMtSSJ9.eyJhdWQiOiJlZmM2NTMwNi0xM2E3LTQxMjgtOGRhYi0zN2EyZjY3M2IxYjciLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vNDZlMDRmMmItMDkzZS00YWQwLWE5OWYtMDMzMWFhNTA2ZTEyL3YyLjAiLCJpYXQiOjE3MDI5MjMyMTQsIm5iZiI6MTcwMjkyMzIxNCwiZXhwIjoxNzAyOTI3MTE0LCJhaW8iOiJBVVFBdS84VkFBQUFYTVZ1NnpEQnJ4UnhLaGlINXFTTWxDTysvWEZ6SkN3Y3NDVXp6ekFmc0Rodno1Smt0R3UxTlVMT2RlTU4zRC9xaTdDV0ZKcFFxMklpc0VRWllWWDVrZz09IiwibmFtZSI6Ikxlb24gUG96bywgUGVkcm8gKEV4dGVybmFsKSIsIm9pZCI6IjljNzRkM2MxLWMyOGQtNDE4NS04M2Y4LWQ1NTc3MDBjMjI5MSIsInByZWZlcnJlZF91c2VybmFtZSI6InBlZHJvLmxlb25Ac2l4LWdyb3VwLmNvbSIsInJoIjoiMC5BWUVBSzBfZ1JqNEowRXFwbndNeHFsQnVFZ1pUeHUtbkV5aEJqYXMzb3ZaenNiZUJBR2MuIiwic3ViIjoiQUdScEtocUJad1FLdnZURDZXZjd6dFBtT2d2QmhidGdqdUNRb1UzNmwtQSIsInRpZCI6IjQ2ZTA0ZjJiLTA5M2UtNGFkMC1hOTlmLTAzMzFhYTUwNmUxMiIsInV0aSI6IjA3a0VhTEJMVEVtdUhsazU1MDVQQUEiLCJ2ZXIiOiIyLjAifQ.eSUIXgvk1_wzwOvICc-tu5hMKx-428PVICwp81F0qYhxMVEPigHWrs6Lz-0bgrUbT8YtfZsyWlnW4PePD4WjMFpkkbd8Dna_IT1_jtc3FVbhuqi-lDl1EWP_ZALu2xSagMHciUViJqeUcAX13mTrIFp8kD8zwUm6Oa-Df0A_m5EEbSQxrH-5sBvkVOUyATB36CzShGeyrjdyRC0399MJslVIu3Se0VbBvENpz6haeblBaNpqGcHQa0oUdPsFYV7noFh_75XjyiAwHzifH112VItFqd94bweEd6ZmRsSGylXkuRq9w-0N9pjt4tmt0WNVBJHrTpM_At-tFaY83la1bA
2023-12-18 19:18:34.781194+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabNavigationPage
2023-12-18 19:18:34.781846+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabFlyoutPage
2023-12-18 19:18:34.783697+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabNavigationPage
2023-12-18 19:18:34.784028+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabContentPage
2023-12-18 19:18:34.784900+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:34.785672+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] updateNavigationPagePages: Inserting page with index '0' and automationId = 'channels.feed.alternativeToPostsIndex'
2023-12-18 19:18:34.787016+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabContentPage
2023-12-18 19:18:34.787852+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:34.790802+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] updateNavigationPagePages: Inserting page with index '0' and automationId = ''
2023-12-18 19:18:34.859247+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:34.859997+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'channels.feed.alternativeToPostsIndex'
2023-12-18 19:18:35.143525+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:35.143873+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabContentPage
2023-12-18 19:18:35.144381+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for RefreshView
2023-12-18 19:18:35.145655+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for ContentView
2023-12-18 19:18:35.146503+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CollectionView
2023-12-18 19:18:35.147772+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:35.148659+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:35.149399+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.150278+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:35.150601+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.154377+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Replacing page at index '0'. Old automationId = 'channels.feed.alternativeToPostsIndex', new automationId = 'posts.index'
2023-12-18 19:18:35.255479+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:35.255819+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:35.264468+0100 OrganizationMember.MobileApp[26831:650439] Mailboxprocessor count: 0
2023-12-18 19:18:35.780427+0100 OrganizationMember.MobileApp[26831:650370] dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. N3icu6number4impl20AffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE, N3icu6number4impl30PropertiesAffixPatternProviderE.
2023-12-18 19:18:35.788716+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:35.789050+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:35.790599+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:35.792422+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:35.792693+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.795805+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:35.796306+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CarouselView
2023-12-18 19:18:35.797206+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.797786+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Grid
2023-12-18 19:18:35.798541+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:35.798889+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:35.799231+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.799593+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.800238+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.915515+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.954476+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:35.955682+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:35.955978+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:35.956256+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:35.956517+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.957124+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:35.957377+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CarouselView
2023-12-18 19:18:35.957887+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.958242+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Grid
2023-12-18 19:18:35.958539+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:35.958793+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:35.959013+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.959433+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:35.959910+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.015676+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.101190+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.101506+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.119120+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:36.119433+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.119724+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.120015+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:36.120267+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.121007+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.121277+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CarouselView
2023-12-18 19:18:36.122158+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.122551+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Grid
2023-12-18 19:18:36.122786+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:36.123058+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.123292+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.124272+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.124743+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.182081+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.204706+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.204995+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.214626+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:36.214928+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.215196+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.215425+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:36.215676+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.216240+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.216467+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CarouselView
2023-12-18 19:18:36.216871+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.217190+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Grid
2023-12-18 19:18:36.217422+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:36.217710+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.217937+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.218282+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.218738+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.278052+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.307333+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.307660+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.327496+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.327791+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.343978+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.344279+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.363251+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.363555+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.377884+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:36.378193+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.378496+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.378752+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:36.379011+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.379617+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.379873+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CarouselView
2023-12-18 19:18:36.380283+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.380624+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Grid
2023-12-18 19:18:36.380860+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:36.381093+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.381329+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.381788+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.382275+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.439759+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for ContentView
2023-12-18 19:18:36.440082+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Image
2023-12-18 19:18:36.473947+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.474247+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.481403+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:36.481693+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.481978+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.482227+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FlexLayout
2023-12-18 19:18:36.482479+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.483040+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:36.483283+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CarouselView
2023-12-18 19:18:36.484185+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.485613+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Grid
2023-12-18 19:18:36.485866+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:36.486128+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:36.486352+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.486721+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.487160+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:36.548536+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for ContentView
2023-12-18 19:18:36.548847+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Image
2023-12-18 19:18:36.576622+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.576956+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.596694+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.597002+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.616942+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.617236+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:36.634393+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:36.634708+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:43.922281+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for ContentView
2023-12-18 19:18:43.922616+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Image
2023-12-18 19:18:43.949176+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:43.949479+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:44.026879+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:44.027318+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:44.028312+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for FabContentPage
2023-12-18 19:18:44.028604+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for ContentView
2023-12-18 19:18:44.028842+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:44.029337+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for ScrollView
2023-12-18 19:18:44.030164+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:44.030410+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:44.030659+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:44.031154+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for VerticalStackLayout
2023-12-18 19:18:44.031404+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for CarouselView
2023-12-18 19:18:44.032414+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Border
2023-12-18 19:18:44.032647+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Grid
2023-12-18 19:18:44.032923+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for HorizontalStackLayout
2023-12-18 19:18:44.033193+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:44.033425+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:44.033761+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:44.034231+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:44.035464+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Inserting page with index '1' and automationId = 'posts.details'
2023-12-18 19:18:44.086065+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:44.086358+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:44.086783+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '1' and automationId = 'posts.details'
2023-12-18 19:18:44.108053+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:44.108357+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:44.108791+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '1' and automationId = 'posts.details'
2023-12-18 19:18:44.112054+0100 OrganizationMember.MobileApp[26831:650437] Mailboxprocessor count: 1
2023-12-18 19:18:44.239969+0100 OrganizationMember.MobileApp[26831:650370] The behavior of the UICollectionViewFlowLayout is not defined because:
2023-12-18 19:18:44.240247+0100 OrganizationMember.MobileApp[26831:650370] the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values.
2023-12-18 19:18:44.241368+0100 OrganizationMember.MobileApp[26831:650370] The relevant UICollectionViewFlowLayout instance is <Microsoft_Maui_Controls_Handlers_Items_CarouselViewLayout: 0x10405cd00>, and it is attached to <UICollectionView: 0x108e63000; frame = (0 0; 393 260); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x600000ec9320>; backgroundColor = UIExtendedGrayColorSpace 0 0; layer = <CALayer: 0x6000045876c0>; contentOffset: {0, 0}; contentSize: {0, 0}; adjustedContentInset: {0, 0, 0, 0}; layout: <Microsoft_Maui_Controls_Handlers_Items_CarouselViewLayout: 0x10405cd00>; dataSource: <Microsoft_Maui_Controls_Handlers_Items_CarouselViewController: 0x10405cf60>>.
2023-12-18 19:18:44.241550+0100 OrganizationMember.MobileApp[26831:650370] Make a symbolic breakpoint at UICollectionViewFlowLayoutBreakForInvalidSizes to catch this in the debugger.
2023-12-18 19:18:44.243629+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Label
2023-12-18 19:18:44.342459+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:44.342769+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:44.343317+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '1' and automationId = 'posts.details'
2023-12-18 19:18:44.353770+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:44.354103+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:44.354565+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '1' and automationId = 'posts.details'
2023-12-18 19:18:44.362790+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:44.363145+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:44.363820+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '1' and automationId = 'posts.details'
2023-12-18 19:18:44.369152+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for ContentView
2023-12-18 19:18:44.370168+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for Image
2023-12-18 19:18:44.370752+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] Creating view for TapGestureRecognizer
2023-12-18 19:18:48.925947+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = ''
2023-12-18 19:18:48.926273+0100 OrganizationMember.MobileApp[26831:650370] --- [Debug] [NavigationPage] applyDiffNavigationPagePages: Updating page with index '0' and automationId = 'posts.index'
2023-12-18 19:18:48.964336+0100 OrganizationMember.MobileApp[26831:650370]
Unhandled Exception:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Fabulous.Maui.NavigationPageUpdaters.applyDiffNavigationPagePages[ValueTuple`2](ValueTuple`2 _arg1, WidgetCollectionItemChanges diffs, IViewNode node)
at [email protected](ValueTuple`2 arg00@, WidgetCollectionItemChanges diffs, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at Fabulous.Maui.NavigationPageUpdaters.applyDiffNavigationPagePages[ValueTuple`2](ValueTuple`2 _arg1, WidgetCollectionItemChanges diffs, IViewNode node)
at [email protected](ValueTuple`2 arg00@, WidgetCollectionItemChanges diffs, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at Fabulous.Reconciler.update(FSharpFunc`2 canReuseView, FSharpValueOption`1 prevOpt, Widget next, IViewNode node)
at Fabulous.ViewAdapters.OnStateChanged@209[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(Unit unitVar0)
at [email protected]()
at Microsoft.Maui.ApplicationModel.MainThread.BeginInvokeOnMainThread(Action action)
at [email protected](FSharpFunc`2 action)
at Fabulous.ViewAdapters.ViewAdapter`3[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].OnStateChanged(StateChangedEventArgs args)
at Fabulous.ViewAdapters.-ctor@165[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(StateChangedEventArgs arg00)
at Microsoft.FSharp.Control.CommonExtensions.SubscribeToObservable@2281[[Fabulous.StateStore.StateChangedEventArgs, Fabulous, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null]].System.IObserver<'T>.OnNext(StateChangedEventArgs args) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 2283
at Microsoft.FSharp.Control.FSharpEvent`1[[Fabulous.StateStore.StateChangedEventArgs, Fabulous, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null]].Trigger(StateChangedEventArgs arg) in D:\a\_work\1\s\src\FSharp.Core\event.fs:line 175
at Fabulous.Runners.Runner`4[[Microsoft.FSharp.Core.Unit, FSharp.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].dispatch(Msg msg)
at Fabulous.ViewAdapters.viewAdapter@248[[Microsoft.FSharp.Core.Unit, FSharp.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(Msg arg00)
at Fabulous.ViewAdapters.ViewAdapter`3[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Dispatch[Object](Object msg)
at Fabulous.ViewAdapters.treeContext@179[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(Object arg00)
at Fabulous.Dispatcher.dispatch[Object](IViewNode node, Object msg)
at Microsoft.FSharp.Control.FSharpEvent`2[[System.EventHandler, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.EventArgs, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Trigger(Object sender, EventArgs args) in D:\a\_work\1\s\src\FSharp.Core\event.fs:line 141
at <StartupCode$Fabulous-MauiControls>[email protected](NavigationEventArgs arg00)
at Microsoft.FSharp.Control.CommonExtensions.SubscribeToObservable@2281[[Microsoft.Maui.Controls.NavigationEventArgs, Microsoft.Maui.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].System.IObserver<'T>.OnNext(NavigationEventArgs args) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 2283
at Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.h@462[[Microsoft.Maui.Controls.NavigationEventArgs, Microsoft.Maui.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Invoke(Object _arg1, NavigationEventArgs args) in D:\a\_work\1\s\src\FSharp.Core\seqcore.fs:line 462
at <StartupCode$Fabulous-MauiControls>[email protected](Object delegateArg0, NavigationEventArgs delegateArg1)
at Microsoft.Maui.Controls.NavigationPage.RemoveAsyncInner(Page page, Boolean animated, Boolean fast)
at Microsoft.Maui.Controls.Handlers.Compatibility.NavigationRenderer.UpdateFormsInnerNavigation(Page pageBeingRemoved)
at Microsoft.Maui.Controls.Handlers.Compatibility.NavigationRenderer.ParentingViewController.DidMoveToParentViewController(UIViewController parent)
at ObjCRuntime.Runtime.ThrowException(IntPtr gchandle) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Runtime.cs:line 2594
at UIKit.UIApplication.UIApplicationMain(Int32 argc, String[] argv, IntPtr principalClassName, IntPtr delegateClassName) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:line 60
at UIKit.UIApplication.Main(String[] args, Type principalClass, Type delegateClass) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:line 94
at OrganizationMember.MobileApp.Program.main(String[] args) in /Users/pedro/work/orgcaster/product/Consuming/OrganizationMember.MobileApp/Platforms/iOS/Program.fs:line 8
2023-12-18 19:18:48.967041+0100 OrganizationMember.MobileApp[26831:650370] Unhandled managed exception: Index was outside the bounds of the array. (System.IndexOutOfRangeException)
at Fabulous.Maui.NavigationPageUpdaters.applyDiffNavigationPagePages[ValueTuple`2](ValueTuple`2 _arg1, WidgetCollectionItemChanges diffs, IViewNode node)
at [email protected](ValueTuple`2 arg00@, WidgetCollectionItemChanges diffs, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at Fabulous.Maui.NavigationPageUpdaters.applyDiffNavigationPagePages[ValueTuple`2](ValueTuple`2 _arg1, WidgetCollectionItemChanges diffs, IViewNode node)
at [email protected](ValueTuple`2 arg00@, WidgetCollectionItemChanges diffs, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at Fabulous.Reconciler.update(FSharpFunc`2 canReuseView, FSharpValueOption`1 prevOpt, Widget next, IViewNode node)
at Fabulous.ViewAdapters.OnStateChanged@209[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(Unit unitVar0)
at [email protected]()
at Microsoft.Maui.ApplicationModel.MainThread.BeginInvokeOnMainThread(Action action)
at [email protected](FSharpFunc`2 action)
at Fabulous.ViewAdapters.ViewAdapter`3[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].OnStateChanged(StateChangedEventArgs args)
at Fabulous.ViewAdapters.-ctor@165[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(StateChangedEventArgs arg00)
at Microsoft.FSharp.Control.CommonExtensions.SubscribeToObservable@2281[[Fabulous.StateStore.StateChangedEventArgs, Fabulous, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null]].System.IObserver<'T>.OnNext(StateChangedEventArgs args) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 2283
at Microsoft.FSharp.Control.FSharpEvent`1[[Fabulous.StateStore.StateChangedEventArgs, Fabulous, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null]].Trigger(StateChangedEventArgs arg) in D:\a\_work\1\s\src\FSharp.Core\event.fs:line 175
at Fabulous.Runners.Runner`4[[Microsoft.FSharp.Core.Unit, FSharp.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].dispatch(Msg msg)
at Fabulous.ViewAdapters.viewAdapter@248[[Microsoft.FSharp.Core.Unit, FSharp.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(Msg arg00)
at Fabulous.ViewAdapters.ViewAdapter`3[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Dispatch[Object](Object msg)
at Fabulous.ViewAdapters.treeContext@179[[OrganizationMember.MobileApp.App.State, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[OrganizationMember.MobileApp.App.Msg, OrganizationMember.MobileApp, Version=2.0.62.0, Culture=neutral, PublicKeyToken=null],[Fabulous.Maui.IFabApplication, Fabulous.MauiControls, Version=8.0.2.0, Culture=neutral, PublicKeyToken=null]].Invoke(Object arg00)
at Fabulous.Dispatcher.dispatch[Object](IViewNode node, Object msg)
at Microsoft.FSharp.Control.FSharpEvent`2[[System.EventHandler, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.EventArgs, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Trigger(Object sender, EventArgs args) in D:\a\_work\1\s\src\FSharp.Core\event.fs:line 141
at <StartupCode$Fabulous-MauiControls>[email protected](NavigationEventArgs arg00)
at Microsoft.FSharp.Control.CommonExtensions.SubscribeToObservable@2281[[Microsoft.Maui.Controls.NavigationEventArgs, Microsoft.Maui.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].System.IObserver<'T>.OnNext(NavigationEventArgs args) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 2283
at Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.h@462[[Microsoft.Maui.Controls.NavigationEventArgs, Microsoft.Maui.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Invoke(Object _arg1, NavigationEventArgs args) in D:\a\_work\1\s\src\FSharp.Core\seqcore.fs:line 462
at <StartupCode$Fabulous-MauiControls>[email protected](Object delegateArg0, NavigationEventArgs delegateArg1)
at Microsoft.Maui.Controls.NavigationPage.RemoveAsyncInner(Page page, Boolean animated, Boolean fast)
at Microsoft.Maui.Controls.Handlers.Compatibility.NavigationRenderer.UpdateFormsInnerNavigation(Page pageBeingRemoved)
at Microsoft.Maui.Controls.Handlers.Compatibility.NavigationRenderer.ParentingViewController.DidMoveToParentViewController(UIViewController parent)
at ObjCRuntime.Runtime.ThrowException(IntPtr gchandle) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Runtime.cs:line 2594
at UIKit.UIApplication.UIApplicationMain(Int32 argc, String[] argv, IntPtr principalClassName, IntPtr delegateClassName) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:line 60
at UIKit.UIApplication.Main(String[] args, Type principalClass, Type delegateClass) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:line 94
at OrganizationMember.MobileApp.Program.main(String[] args) in /Users/pedro/work/orgcaster/product/Consuming/OrganizationMember.MobileApp/Platforms/iOS/Program.fs:line 8
=================================================================
Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0x104389f55 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_dump_native_crash_info
0x1043288ee - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_handle_native_crash
0x104680b98 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : sigabrt_signal_handler.cold.1
0x104389890 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_runtime_setup_stat_profiler
0x10381d37d - /usr/lib/system/libsystem_platform.dylib : _sigtramp
0x0 - Unknown
0x7ff80014cd30 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libsystem_c.dylib : abort
0x1037be0b7 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libxamarin-dotnet-debug.dylib](http://organizationmember.mobileapp.app/libxamarin-dotnet-debug.dylib) : xamarin_unhandled_exception_handler
0x1044274b4 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_invoke_unhandled_exception_hook
0x1043284ef - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_handle_exception_internal
0x104326535 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_handle_exception
0x10439e389 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : interp_throw
0x10439c4dc - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : interp_throw_ex_general
0x104396705 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_interp_exec_method
0x10438b7e3 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : interp_runtime_invoke
0x104471908 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_runtime_invoke_checked
0x1044790db - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_runtime_exec_main_checked
0x1042ddf52 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libmonosgen-2.0.dylib](http://organizationmember.mobileapp.app/libmonosgen-2.0.dylib) : mono_jit_exec
0x1037d1bba - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/libxamarin-dotnet-debug.dylib](http://organizationmember.mobileapp.app/libxamarin-dotnet-debug.dylib) : xamarin_main
0x102080964 - /Users/pedro/Library/Developer/CoreSimulator/Devices/F4E5ADD4-9B23-42C2-9783-15147DCEC445/data/Containers/Bundle/Application/200FC1CC-7CD1-4322-A522-262E51CAC062/[OrganizationMember.MobileApp.app/OrganizationMember.MobileApp](http://organizationmember.mobileapp.app/OrganizationMember.MobileApp) : main
0x102a023e0 - Unknown
0x1031073a6 - Unknown
=================================================================
Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x1037027ce):0x1037027be ff ff c3 90 90 90 b8 48 01 00 02 49 89 ca 0f 05 .......H...I....
0x1037027ce 73 08 48 89 c7 e9 ec 99 ff ff c3 90 90 90 b8 53 s.H............S
0x1037027de 00 00 02 49 89 ca 0f 05 73 08 48 89 c7 e9 d4 99 ...I....s.H.....
0x1037027ee ff ff c3 90 90 90 b8 83 01 00 02 49 89 ca 0f 05 ...........I....
=================================================================
Managed Stacktrace:
=================================================================
=================================================================
After running my App with the Fabulous + Fabulous.MauiControls source file It happens here (line 187 of NavigationPage.fs for version tagged as 8.0.2), where we can find this code:
| WidgetCollectionItemChange.Remove(index, prevWidget) ->
let prevPage = pages[index]
I have been able to reproduce the same issue in two different environments with MacOSx Sonoma 14.2 + Rider 2023.3.1 + NET 8.0 with :
~ % ~/.dotnet/dotnet workload list
Id. de carga de trabajo instalada Versión del manifiesto Origen de la instalación
-------------------------------------------------------------------------------------------
maui-android 8.0.3/8.0.100 SDK 8.0.100
ios 17.0.8490/8.0.100 SDK 8.0.100
android 34.0.52/8.0.100 SDK 8.0.100
Thanks for your help
BR
Main page says "For a starter guide see our Get Started with Fabulous.MauiControls."
But https://fabulous.dev/maui.controls/get-started is a 404.
Impact: my Hello World exploration of Fabulous is temporarily blocked.
I was going through the sample app via dotnet new fabulous-mauicontrols and I noticed that the dotnet_bot.png image flickers every time I click the Click Me button. Is this a known issue?
Short-term impact is minimal (I don't expect to have a ton of images in my first application). No known workarounds.
I have been following the instructions here: https://docs.fabulous.dev/maui/get-started#install-the-templates
I get stuck here:
$ dotnet build -f net7.0-ios -t run
MSBuild version 17.7.3+4fca21998 for .NET
MSBUILD : error MSB1004: Specify the name of the target.
Full command line: '/usr/local/share/dotnet/sdk/7.0.403/MSBuild.dll -maxcpucount -verbosity:m -target:Restore -t run -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,/usr/local/share/dotnet/sdk/7.0.403/dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,/usr/local/share/dotnet/sdk/7.0.403/dotnet.dll'
Switches appended by response files:
Switch: -t
For switch syntax, type "MSBuild -help"
Context:
$ dotnet --version
7.0.403
https://docs.fabulous.dev/maui/get-started#install-the-templates
The command in the docs failed for me
dotnet new install Fabulous.MauiControls.Templates
This worked instead:
dotnet new --install Fabulous.MauiControls.Templates
And this:
dotnet new list
Should be this:
dotnet new --list
Happy to send a PR!
$ dotnet --version
6.0.401
Code:
namespace DebugView
open Fabulous
open Fabulous.Maui
open type Fabulous.Maui.View
module App =
let mutable id = 0
type Item =
{
Name: string
Detail: string
}
static member create () =
let i = {Name= $"Dummy{id}"; Detail="Dummy Dum"}
id <- id + 1
i
type Model = { Items: Item list }
type Msg =
| Add
| RemoveLast
let init () = { Items = [Item.create()] }, Cmd.none
let removeLast =
function
| [] -> []
| l -> List.removeAt (l.Length-1) l
let update msg model =
match msg with
| Add -> {model with Items = List.append model.Items [Item.create()]}, Cmd.none
| RemoveLast -> {model with Items = removeLast model.Items}, Cmd.none
let view model =
Application(
ContentPage(
(VStack(){
ListView model.Items (fun i -> TextCell(i.Name).detailText(i.Detail))
HStack(){
Button("Add", Add)
Button("Remove Last", RemoveLast)
}
})
)
)
let program = Program.statefulWithCmd init update view
On Windows Machine target, whether I click Add or Remove, the app crash: it seems that any attempt to modify ListView's items results in a crash (Win32 exception)
Here is the log:
Debug: Unhandled exception: System.ArgumentException: Value is an invalid value for ItemTemplate (Parameter 'value')
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value, Boolean fromStyle, Boolean checkAccess)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value)
at [email protected](FSharpValueOption`1 _arg1, FSharpValueOption`1 newValueOpt, IViewNode node)
at Fabulous.ScalarAttributeDefinitions.CreateAttributeData@73-1.Invoke(FSharpValueOption`1 oldValueOpt, FSharpValueOption`1 newValueOpt, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](a _arg1, WidgetCollectionItemChanges diffs, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at Fabulous.Reconciler.update(FSharpFunc`2 canReuseView, FSharpValueOption`1 prevOpt, Widget next, IViewNode node)
at [email protected](Unit unitVar0)
Debug: Unhandled exception: System.ArgumentException: Value is an invalid value for ItemTemplate (Parameter 'value')
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value, Boolean fromStyle, Boolean checkAccess)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value)
at [email protected](FSharpValueOption`1 _arg1, FSharpValueOption`1 newValueOpt, IViewNode node)
at Fabulous.ScalarAttributeDefinitions.CreateAttributeData@73-1.Invoke(FSharpValueOption`1 oldValueOpt, FSharpValueOption`1 newValueOpt, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](a _arg1, WidgetCollectionItemChanges diffs, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at Fabulous.Reconciler.update(FSharpFunc`2 canReuseView, FSharpValueOption`1 prevOpt, Widget next, IViewNode node)
at [email protected](Unit unitVar0)
at [email protected]()
at Microsoft.Maui.ApplicationModel.MainThread.BeginInvokeOnMainThread(Action action)
at [email protected](FSharpFunc`2 arg00)
at Fabulous.ViewAdapters.ViewAdapter`3.OnStateChanged(StateChangedEventArgs args)
'DebugView.exe' (CoreCLR: clrhost): Loaded 'D:\Projects\_Apps\DebugView\DebugView\bin\Debug\net7.0-windows10.0.19041.0\win10-x64\AppX\System.IO.Compression.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Debug: Unhandled exception: System.ArgumentException: Value is an invalid value for ItemTemplate (Parameter 'value')
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value, Boolean fromStyle, Boolean checkAccess)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value)
at [email protected](FSharpValueOption`1 _arg1, FSharpValueOption`1 newValueOpt, IViewNode node)
at Fabulous.ScalarAttributeDefinitions.CreateAttributeData@73-1.Invoke(FSharpValueOption`1 oldValueOpt, FSharpValueOption`1 newValueOpt, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](a _arg1, WidgetCollectionItemChanges diffs, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at [email protected](WidgetDiff diff, IViewNode node)
at Fabulous.ViewNode.Fabulous.IViewNode.ApplyDiff(WidgetDiff& diff)
at Fabulous.Reconciler.update(FSharpFunc`2 canReuseView, FSharpValueOption`1 prevOpt, Widget next, IViewNode node)
at [email protected](Unit unitVar0)
at [email protected]()
at Microsoft.Maui.ApplicationModel.MainThread.BeginInvokeOnMainThread(Action action)
at [email protected](FSharpFunc`2 arg00)
at Fabulous.ViewAdapters.ViewAdapter`3.OnStateChanged(StateChangedEventArgs args)
at [email protected](StateChangedEventArgs arg00)
at Microsoft.FSharp.Control.CommonExtensions.SubscribeToObservable@2281.System.IObserver<'T>.OnNext(T args) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 2283
at Microsoft.FSharp.Control.FSharpEvent`1.Trigger(T arg) in D:\a\_work\1\s\src\FSharp.Core\event.fs:line 175
at Fabulous.Runners.Runner`4.dispatch(msg msg)
The program '[11072] DebugView.exe' has exited with code 3221226107 (0xc000027b).
On Android, with both emulator (Android 10.0, API 29) and my phone (Android 6.0 API 23);
after a while adding and removing items, I get a System.Exception:'ItemTemplate count has exceeded the limit of 23 Please make sure to reuse DataTemplate objects
I can't get the WebView control to render anything, not even hardcoded HTML. I've created a sample project by creating a new project with dotnet new fabulous-mauicontrols -n WebViewTest
and replaced the ScrollView
with the following code:
VStack(spacing = 5.) {
Label("Title")
Label("Date")
WebView(html = "<html><body><p>Test Test Test</p></body></html>")
WebView(url = "http://www.google.com")
Label("After WebView")
}
Debugging the app with the profile "Windows Machine" I can only see the labels, but not the WebView:
Here's the solution I used:
WebViewTest.zip
As part of #25 . I notice this on the GroupedCollectionView
The Markdown Link: Get Started with Fabulous.MauiControls leads to 404.
I have a WebViewer, with which I want to display HTML from RSS feeds. This generally works, but for one of the feeds I'm testing with I get some HTML that contains an image with src set to some address using the HTTP protocol (not HTTPS). I suspect that the initial "load" probably happens in HTTPS (even though I directly provide the HTML, not just some URL), and the img with the HTTP src won't get loaded because of that. I found some article about this (https://learn.microsoft.com/en-us/dotnet/maui/android/platform-specifics/webview-mixed-content?view=net-maui-8.0) and think I applied it correctly, but still, the image is not loaded. What am I doing wrong?
I've created a sample project to demonstrate the problem: WebViewMixedContentTest.zip
Here's the relevant sample code that demonstrates the problem:
let html = """<img src="http://www.qwantz.com/comics/comic2-4374.png"
title='hesternal means "of or pertaining to yesterday" and long-time dino comics readers already know and love and use "nudiustertian", meaning "the day before yesterday". you can tell a long-time dino comics readers by how hodie they sound AND ARE!!'
data-sanitized-class="comic">
<br>
<img src="https://www.qwantz.com/comics/comic2-4374.png"
title='hesternal means "of or pertaining to yesterday" and long-time dino comics readers already know and love and use "nudiustertian", meaning "the day before yesterday". you can tell a long-time dino comics readers by how hodie they sound AND ARE!!'
data-sanitized-class="comic">"""
let view model =
Application(
ContentPage(
let webViewRef = ViewRef<Microsoft.Maui.Controls.WebView>()
let webViewControl = WebView(html = html)
.reference(webViewRef)
.gridRow (1)
match webViewRef.TryValue with
| None -> ()
| Some webView -> webView.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>()
.SetMixedContentMode(MixedContentHandling.AlwaysAllow) |> ignore
webViewControl
)
)
This produces the following output on my emulated android device as well as my android phone, where the first image is not displayed, while the second one is:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.