Hello everyone,
We’ve just introduced a breaking change to the default behavior of searches and filters. Historically, when you’ve done a search by a null value (for instance, “search for users” where “dog = ”), the search constraint would be dropped and the search would return all users, regardless of the status of their “dog” field.
Following this change, the default behavior in this situation will to return only those users whose dog field is empty. This is useful if, for instance, you are explicitly searching for users without dogs. Note that the new behavior only applies to messages that make sense: you can search for “dog is equal to null”, but not “date is less than null”. The latter search constraint will be discarded as erroneous.
In cases where you’d prefer the legacy behavior, useful for instance in a situation where the user has left a search parameter blank, just check the “Ignore empty constraints” checkbox:
The same behavior applies to filters as well as searches.
We imagine some of you may now want to go through your app and look for places where you are performing searches whose behavior is affected by this change, for instance, all the places you you “do a search for” something, or define a constraint “dog is equal” to something. To this end, we recently added the ability to search the app by datasources and messages.
As with all breaking changes, the new default behavior is opt-in, available as an upgrade to version 5. You will be prompted to upgrade the next time you login, but you can also switch versions in the versions tab of settings.