User A and B are connected to the same pad and both are editing.
The connection of user A is unstable and reconnection logic triggers and there are pending edits from A. Etherpad renders all characters immediately, even when they are not accepted by the server yet. After successful reconnect, pending edits are not transmitted automatically, but as soon as the user does another change. Due to this the representation of what user A and B see can be completely different:
User A and B both see the pad text "test"
User A looses connectivity and before reconnect happens marks the whole pad text and deletes it, at some point reconnect is successful
-> User A's pad is empty
-> User B's pad still contains "test"
User B now edits the pad so it reads "this is a test. fun fun"
-> User A sees "this is a. fun fun"
User A deletes "fun"
-> User A's and B's pad is "this is a. fun"
IIRC in the past pending changesets were transmitted immediately.
Although it's not very problematic, the visual represantation should match.
User A and B are connected to the same pad and both are editing.
The connection of user A is unstable and reconnection logic triggers and there are pending edits from A. Etherpad renders all characters immediately, even when they are not accepted by the server yet. After successful reconnect, pending edits are not transmitted automatically, but as soon as the user does another change. Due to this the representation of what user A and B see can be completely different:
User A and B both see the pad text "test"
User A looses connectivity and before reconnect happens marks the whole pad text and deletes it, at some point reconnect is successful
-> User A's pad is empty
-> User B's pad still contains "test"
User B now edits the pad so it reads "this is a test. fun fun"
-> User A sees "this is a. fun fun"
User A deletes "fun"
-> User A's and B's pad is "this is a. fun"
IIRC in the past pending changesets were transmitted immediately.
Although it's not very problematic, the visual represantation should match.