Zaid-Ajaj / Fable.Remoting

Type-safe communication layer (RPC-style) for F# featuring Fable and .NET Apps
https://zaid-ajaj.github.io/Fable.Remoting/
MIT License
272 stars 55 forks source link

GET requests ignored after updating Fable tool to 4.13.0 #361

Closed martinbryant closed 4 months ago

martinbryant commented 4 months ago

Steps to replicate

Expected behaviour

Todos get loaded as before

Actual behaviour

The GET request for the Todos is not fired

Additional info

Works with Fable 4.12.2 POST requests work correctly I have another demo that has multiple GET requests and they are all ignored when firing as a Cmd in Elmish

martinbryant commented 4 months ago

After doing some quick digging I have located the issue

https://github.com/Zaid-Ajaj/Fable.Remoting/blob/c812705fbd95097191257ff288cdab409029807a/Fable.Remoting.Client/Proxy.fs#L181

Previous behaviour in Fable 4.12.2

inputArguments.[0] on an empty array

would result in undefined serialised to [null]

New behaviour in Fable 4.13.0

inputArguments.[0] on an empty array

result in an exception Index outside the bounds of an Array

Solution

Need some conditional logic around array accessors or tryIndex to prevent the exception