opened
Artur-
username_0
Using something like
```
	@ClientCallable
	public void markCompleted(Todo clientTodo, boolean completed) {
```

from JS, you have e.g.
```
this.$server.markCompleted(item, completed)
```
where in the JS world, it typically does not matter if `completed` is `false` or `undefined`. With Flow however, you will get
"INTERNAL ERROR"
if it's undefined because of
```
[qtp813364097-161] ERROR com.vaadin.flow.server.DefaultErrorHandler - 
java.lang.IllegalArgumentException: Null values are not allowed for primitive types but a 'null' value was received for parameter 1 which refers to primitive type 'boolean' in the method 'markCompleted' defined in the class '...'
```
Convert null to false for @ClientCallable booleans
issue
created
Legioth
username_1
A good question is whether we should have special logic for `null` (and `undefined`), or whether we should follow the full set of JS type coercion rules (i.e. converting basically everything except `""`, `0`, and `NaN` into `true`).

Another question is whether similar conversions should also be applied for e.g. `int` or `double` parameters.
comment
closed
mshabarov
username_2
issue