-
-
Notifications
You must be signed in to change notification settings - Fork 121
Description
We've had some problems over on the p5 Web Editor with upgrading from ^3.2.0 to ^3.5.0.
I've traced it back to the Decode function and the changes that were made there to support the limit option.
console-feed/src/Transform/index.ts
Lines 18 to 23 in 19a2c05
| export function Decode(data: any): Message { | |
| const decoded = replicator.decode(JSON.stringify(data)) | |
| // remove __console_feed_remaining__ | |
| decoded.data.pop() | |
| return decoded | |
| } |
The problem is that sometimes the messages which we are decoding do not have a __console_feed_remaining__0 entry at the end of the data array. This could be due to improper usage on our end. But the Decode function will always remove the last element of the data array regardless of what the element actually is. The code would be safer if it validated the entry before removing it, using code similar to this:
console-feed/src/Component/react-inspector/index.tsx
Lines 199 to 202 in 19a2c05
| if (typeof data === 'string' && data.includes(REMAINING_KEY)) { | |
| name = REMAINING_KEY | |
| data = data.split(REMAINING_KEY)[1] | |
| } |