TextBox bug in iOS: Dictionary did not contain the given key

Fuse 1.6.1
Mac OS Sierra and High Sierra

This only happens on final build in iOS.
When you click on a TextBox after you pushed from a page with more than 4 text box the app crashes.

This is the Xcode Log:

2018-02-20 10:06:11.360544-0600 textinput[22199:9076547] [DYMTLInitPlatform] platform initialization successful
2018-02-20 10:06:11.413162-0600 textinput[22199:9076433] Metal GPU Frame Capture Enabled
2018-02-20 10:06:11.413619-0600 textinput[22199:9076433] Metal API Validation Enabled
2018-02-20 10:06:12.301643-0600 textinput[22199:9076433] [MC] Lazy loading NSBundle MobileCoreServices.framework
2018-02-20 10:06:12.302160-0600 textinput[22199:9076433] [MC] Loaded MobileCoreServices.framework
2018-02-20 10:06:12.328577-0600 textinput[22199:9076433] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2018-02-20 10:06:12.329617-0600 textinput[22199:9076433] [MC] Reading from public effective user settings.
2018-02-20 10:06:20.182227-0600 textinput[22199:9076433] Error: Uno.Exception: Dictionary did not contain the given key
libc++abi.dylib: terminating with uncaught exception of type uThrowable: Fuse.WrapException
(lldb) 

The only workaround I found was to have less than 4 TextBox in page 1

Here is the code ready to test. Build using fuse build -tios -d.
Happens in iOS simulator as well.

<App>
	<Router ux:Name="router" />
	<Navigator DefaultPath="p1">
		<Page ux:Template="p1" Color="#0007" >
			<JavaScript>
				function changePage(){router.push("p2")}
				module.exports = {changePage}
			</JavaScript>
			<StackPanel>
				<TextBox />
				<TextBox />
				<TextBox />
				<TextBox />
				<Button Text="Let's go" Clicked="{changePage}" />
			</StackPanel>
		</Page>
		<Page ux:Template="p2" Color="#0004" >
			<StackPanel>
				<TextBox />
				<TextBox />
				<TextBox />
				<TextBox />
				<TextBox />
				<TextBox />
			</StackPanel>
		</Page>
	</Navigator>
</App>

I have the same issue using TextInput! Fuse 1.6.1 Mac OS Sierra

Cristian Karmy wrote:

I have the same issue using TextInput! Fuse 1.6.1 Mac OS Sierra

Are you, by any chance, able to make a smaller reproduction case?

Hey!

I created new issue ticket.

Solved in 1.7 (with TextInput)

I can see it fixed as well but only using -DUSE_HARFBUZZ

Update: Adding another textbox or textinput (total of 5) in page 1 crashes the app again. Fuse 1.7 with and without -DUSE_HARFBUZZ

Is this some kind of memory limit?

I’m also crashing with an error from: "libc++abi.dylib: terminating with uncaught exception of type uThrowable: Fuse.WrapException
(lldb) "

But preceded by

“Error: Uno.Exception: Unexpected Uno.Exception —> Uno.Exception: Dictionary already contains the given key”

V1.7, High Sierra - happening on iOS with the fuse-compound/StreamingPlayer example

Fixed in Fuse 1.7.1. Thank you