Button/Rule error: "logger[level] is not a function"

This error happens when trying to execute a Button on a very long table view (13,000+ rows) with many rows selected:
(NOTE that it works fine when fewer rows are selected)

image

// Normalize Email
const fibery = context.getService('fibery')
for (const entity of args.currentEntities) {
    const email = entity['Email']
    const email2 = email.trim().toLowerCase()
    if (email !== email2) {
        // console.log(`Normalize email: (${entity['Public Id']}) "${email}" => "${email2}"`)
        await fibery.updateEntity(entity.type, entity.id, {
            'Email': email2
        })
    }
}

I’ve noticed the same problems using buttons on large data sets as mentioned here

It’s a rather consistent problem although I never know what size is safe to operate on in one action. I’ve found scripting to be the best bet for more than 4000 records.

1 Like

Hi~
That’s the bug on our side - an error will be fixed :muscle:

However, that won’t solve the original issue. The timeout is 60 seconds for now. And large volume operations need to be batched.
We will think about how to make errors more friendly and how to improve performance in the future :slight_smile:

2 Likes