Giter Site home page Giter Site logo

Comments (3)

GuillaumeSalles avatar GuillaumeSalles commented on June 1, 2024

Hi @jiwon79,

First of all, thank you for the detailed bug report and patience.

Liveblocks packages and packages version
@liveblocks/[email protected]
@liveblocks/[email protected]

I believe this issue is also present on the latest version, but can you confirm you see the same behavior after upgrading? We recommend having the same version for both @liveblocks/react and @liveblocks/client.

Unfortunately, we have a few LiveList issues including that one that requires a deeper refactoring to be able to fix them properly. We have plans to do that, but not in the short term. Could you explain what is your use case and why consecutive move are frequently done in your product? Maybe there is a workaround that we can help you find

from liveblocks.

enk0de avatar enk0de commented on June 1, 2024

Hi! Thank you for response. I am on the same team with @jiwon79


We recommend having the same version for both @liveblocks/react and @liveblocks/client.

A: We are already using same version for @liveblocks/react, @liveblocks/client.

Why consecutive move are frequently done in your product

A: We are creating a Figma-like Design Tool. We have a "Stack" feature, in which user can move index element in Stack. Then when user moving element index in Stack quite fastly, blinking issue appears.


Did you know that there are also serious history management issues? History Undo/Redo doesn't work well. If you go back to the days before history.undo() immediately after creating an item, all history records will be deleted, or you can use the History. This problem occurs in liveblocks official demo page too (https://liveblocks.io/document/storage)

from liveblocks.

enk0de avatar enk0de commented on June 1, 2024

i found that the logic at case of ServerMsgCode.UPDATE_STORAGE in room.ts_handleServerMessage causes the local state to mutate. Shouldn't updates be ignored If both remote event trigger source and the client are same? (updating storage is initiated by the client itself)

          case ServerMsgCode.UPDATE_STORAGE: {
            const applyResult = applyOps(message.ops, false);
            for (const [key, value] of applyResult.updates.storageUpdates) {
              updates.storageUpdates.set(
                key,
                mergeStorageUpdates(updates.storageUpdates.get(key), value)
              );
            }
            break;
          }

from liveblocks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.