To reproduce, use the quickstart-chat demo app, but modify the Messages table in your module:
#[table(name = message, public)]
pub struct Message {
#[auto_inc]
#[primary_key]
id: i32,
sender: Identity,
sent: Timestamp,
text: String,
}
When the client receives a message, the call stack overflows due to an infinite loop.
From digging into the code, I found that the culprit was in src/lib/alebraic_type.ts, the intoMapKey function. That switch statement does not have a case for I32, so it falls back on the default, which triggers that loop.