danniehansen/activity-timer

"Start timer" stops reacting | PluginData length of 4096 characters exceeded

Closed this issue · 3 comments

When I reach 80 time intervals into the card's "Manage time", button "Start timer" stops reacting & browser's JS console outputs this:

Uncaught (in promise) Error: PluginData length of 4096 characters exceeded. See: https://developers.trello.com/v1.0/reference#section-size-limit
    u host-handlers.js:180
    A util.js:26
    _settlePromiseFromHandler promise.js:510
    _settlePromiseAt promise.js:584
    _drainQueue async.js:128
    _drainQueues async.js:133
    drainQueues async.js:15
    U schedule.js:19
    Q async.js:18
    <anonymous> async.js:149
    <anonymous> power-up.min.js:1
    <anonymous> power-up.min.js:1

Hi @VitaliyAdamkov ,

Thanks for reporting this. Unfortunately there isn't much we can do. I've taken care of reducing the footprint of the data - but as it appears in edge cases it isn't enough.

But that being said.. we can definitely improve the actual UI when this occurs - so that it doesn't appear broken. Ideally we should show some kind of message that it have exceeded the plugin data length on the card it-self. I will use this issue to improve on this.

Additionally I'll investigate if there is anything we can do about the plugin data.

Personally been using Activity timer in production on a 5 man team since the creation of it - & never hit it's limits. Could you put some words on how you came to have 80+ recordings on the same card? Just to understand the use case - would be very insightful.

Hi @danniehansen ,
Np. Ok then, I'll try to manage my time less precisely %)
47h wasted on task maybe is too much also.

@VitaliyAdamkov I've worked in a better handler for when this issue surfaces. If plugin data is exceeded then we first try to remove the current time tracker so you're not stuck in some sort of tracking loop. If this is a success we'll inform the user about what was wrong. If we could not stop the loop we'll inform the user about this as well. Any other exception occurring while stopping the timer will now .. you guessed it .. :) also notify the user about a unrecognized error and how to report it.

Appreciate you reporting this. Hopefully this should help others understand the issue when it happens.