Skip to content

Filtering after a uuid field on a react client doesn't work #5073

@ClemensWon

Description

@ClemensWon

I added a uuid field to the person column from the react template project.
Then I tried to filter after the id field.

module

const spacetimedb = schema({
  person: table(
    { public: true },
    {
      id: t.uuid(),
      name: t.string(),
    },
  ),
});

client

 const sampleId = Uuid.parse("019e4174-c1bf-7000-8000-000062f0678a");
 const [people] = useTable(tables.person.where((row) => row.id.eq(sampleId)));

This resulted in the following type error

No overload matches this call. Overload 1 of 2,
(literal: LiteralValue & Uuid): BooleanExpr<TableToSchema<"person", TableSchema<CoerceRow<{ id: UuidBuilder; name: StringBuilder; }>, []>>>
, gave the following error. Argument of type Uuid is not assignable to parameter of type
LiteralValue & Uuid
. Type Uuid is not assignable to type
Timestamp & Uuid
. Type Uuid is missing the following properties from type Timestamp: timestamp_micros_since_unix_epoch, microsSinceUnixEpoch, toMillis, toDate, and 2 more. Overload 2 of 2,
(value: never): BooleanExpr<any>
, gave the following error. Argument of type Uuid is not assignable to parameter of type never. (ts 2769)

as well as the following runtime error

Uncaught TypeError: BigInt value can't be serialized in JSON
    literalValueToSql query.ts:871
    valueExprToSql query.ts:844
    booleanExprToSql query.ts:809
    renderSelectSqlWithJoins query.ts:367
    toSql query.ts:211
    toSql query.ts:58
    useTable useTable.ts:88
    App App.tsx:15
    React 11
    workLoop scheduler.development.js:266
    flushWork scheduler.development.js:239
    performWorkUntilDeadline scheduler.development.js:533

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions