"Not a valid UUID" on nil UUID

Feature(s) impacted

Search and filters.

Observed behavior

The FA front end does not accept the nil UUID as a valid UUID.

error screenshot

Expected behavior

It should be possible to use the nil UUID in searches.

Context

This is somewhat linked to “Not a valid UUID” except it is.

All in all, the recent support of UUIDs has broken some of our workflows.
Would it be possible to only check for the UUID format, without the version checks…?

  • Agent type & version: Express-sequelize, ^8.3.3

Hello @kll,

All in all, the recent support of UUIDs has broken some of our workflows.

Would it be possible to list the workflows it breaks so we can know if there are regressions we didn’t see.

I’m trying to reproduce your issue, and I’ll get back to you as soon as possible. :slight_smile:

I’m back to you, after further investigations. It seems that we forgot to handle this case. Thanks for the report !

For you to know, you can either search on null value by:

  • filling the filter with this

  • search on the value 00000000-0000-0000-0000-000000000000 if you filled with the uuid null value in your database as you mentionned. I’ll tell you when the issue will be solved (should be today).

Let me know if helps,
Kind regards

Thanks for your replies!

Basically, we used to often search or filter by id in various parts of the UI (segments, ad-hoc filters, etc…).
Since recently, it’s been impossible to search by ID due to the issue mentioned in this post.

All IDs in our database are either nil UUIDs or random ones, which only respect the general format (8 characters dash 4 characters dash 4 characters etc…) and not a specific version.

Replacing all our IDs is of course impossible, so we currently can’t use any ID-related feature on the forest front-end.

If nothing else, I’d prefer to avoid changing ID types to strings in the forest backend to stay close to our actual data types.

What I can suggest you is to create a smart field with something like:

field: 'stringId',
type: 'String',
get: (record) => {
  return '' + record.id;
}

It will convert the uuid field into a string that will allow you to search on whatever uuid you have in your database.

You will also need to change your referenceField to this newly created smart field.

Also, if you want a similar thread that perfoms the smart field creation + reference, you can find this subject here.

Let me know if it helps :pray:

You should now be able to search on the nil value, can you confirm ? :slight_smile:

1 Like