You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Edited
Few days ago @scofalik wrote a long text about engine complexity and debugging hell. He has already created a nice tool that enables logging a lot of useful informations to the console, but in many cases the amount of information is not enough to replay the bug. It's also hard to replay the bugs manually since they are complicated.
My proposal is to create a plugin for ckeditor5 that can filter and parse the logs and be able to replay logged operations on the initial state.
This plugin may expose following methods:
applyDeltas( numberOfDeltas ) - runs next n deltas, breaks when hits a bug.
applyNextDelta() - applies next delta. Warns if there're no deltas to replay.
applyAllDeltas() - applies all deltas, breaks when hit a bug.
play( timeout ) and stop() - plays deltas until the error occurs.
It could be used to write complex integration / regression tests as well.
This plugin doesn't require so much work:
Improve logs, especially the logs from the insert operation.
Write a plugin for debugging.
Create a method that gets text from the history (?) property from the ckeditor5 initialisation object.
Create a method that filters the logs and returns only operations.
Create a method that parses operation logs and returns array of operation instances.
Create methods that can inject operations into editor.
Edited
Few days ago @scofalik wrote a long text about engine complexity and debugging hell. He has already created a nice tool that enables logging a lot of useful informations to the console, but in many cases the amount of information is not enough to replay the bug. It's also hard to replay the bugs manually since they are complicated.
My proposal is to create a plugin for ckeditor5 that can filter and parse the logs and be able to replay logged operations on the initial state.
This plugin may expose following methods:
applyDeltas( numberOfDeltas )
- runs next n deltas, breaks when hits a bug.applyNextDelta()
- applies next delta. Warns if there're no deltas to replay.applyAllDeltas()
- applies all deltas, breaks when hit a bug.play( timeout )
andstop()
- plays deltas until the error occurs.It could be used to write complex integration / regression tests as well.
This plugin doesn't require so much work:
history
(?) property from the ckeditor5 initialisation object.It covers https://github.com/ckeditor/ckeditor5-engine/issues/821.
WDYT?
The text was updated successfully, but these errors were encountered: