Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shell - debouncedUpdateLg cannot handle paralleled lg update requests #2247

Closed
7 tasks
yeze322 opened this issue Mar 12, 2020 · 3 comments
Closed
7 tasks

Shell - debouncedUpdateLg cannot handle paralleled lg update requests #2247

yeze322 opened this issue Mar 12, 2020 · 3 comments
Assignees
Labels
R9 Release 9 - May 15th, 2020 Type: Engineering

Comments

@yeze322
Copy link
Contributor

yeze322 commented Mar 12, 2020

Describe the bug

In a parralleled scenario, deboundcedUpdateLg api will lose changes.

Scenario:
Moves lg template A from 'D1.lg' to 'D2.lg', fires 2 paralleled api calls:

  1. create template A' in 'D2.lg'
  2. delete template A from 'D1.lg'

In this case, the first request will be cancelled.

Version

Browser

  • Chrome
  • Safari
  • Firefox
  • Edge

OS

  • macOS
  • Windows
  • Ubuntu

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

Screenshots

Additional context

@yeze322 yeze322 added the Needs-triage A new issue that require triage label Mar 12, 2020
yeze322 added a commit that referenced this issue Mar 12, 2020
cwhitten added a commit that referenced this issue Mar 12, 2020
* dump real lg content before paste them

* implement lg resources walker

* update lg walker api

* split insertNodes from pasteNodes

* fix tslint

* change copyUtils ExtarnelAPI interface

* migrate to new api format

* create real lg template when pasting

* renaming

* update walkLgResources

* create lgTemplates for moved actions

* hack the debounce issue #2247

* Fix build

* Fix lint

Co-authored-by: Ze Ye <zeye@microsoft.com>
Co-authored-by: zeye <2295905420@qq.com>
cwhitten added a commit that referenced this issue Mar 12, 2020
* Implement Move

* Rmemove dependency on query string

* fix: sort action ids correctly (#2217)

* sort actionIds by tree path order

* filter invalid ids and update test cases

* fix: make MoveSelection work (not target master) (#2234)

* make MoveSelection work

* add comments

* initialDialogShape as a function

* feat: visual/move with lgapi (#2258)

* dump real lg content before paste them

* implement lg resources walker

* update lg walker api

* split insertNodes from pasteNodes

* fix tslint

* change copyUtils ExtarnelAPI interface

* migrate to new api format

* create real lg template when pasting

* renaming

* update walkLgResources

* create lgTemplates for moved actions

* hack the debounce issue #2247

* Fix build

* Fix lint

Co-authored-by: Ze Ye <zeye@microsoft.com>
Co-authored-by: zeye <2295905420@qq.com>

Co-authored-by: zeye <2295905420@qq.com>
Co-authored-by: Ze Ye <zeye@microsoft.com>
@yeze322
Copy link
Contributor Author

yeze322 commented Mar 13, 2020

Possible solutions:

  1. use well-managed immutable states + observer
  2. event stream

@hibrenda hibrenda added R9 Release 9 - May 15th, 2020 and removed Needs-triage A new issue that require triage labels Mar 14, 2020
@hibrenda hibrenda added this to Editor(Visual, From) in R9 Mar 16, 2020
@hibrenda hibrenda moved this from Editor(Visual, From) to Shell / Electron in R9 Mar 16, 2020
@yeze322
Copy link
Contributor Author

yeze322 commented Mar 17, 2020

Another hack I found in composer codebase (1y ago hacked by Andy)
image
It should also be addressed here

@cwhitten
Copy link
Member

cwhitten commented Apr 3, 2020

addressed via #2348

@cwhitten cwhitten closed this as completed Apr 3, 2020
R9 automation moved this from Shell / Electron to Done Apr 3, 2020
Sprint25 automation moved this from In progress to Done Apr 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
R9 Release 9 - May 15th, 2020 Type: Engineering
Projects
No open projects
R9
  
Done
Sprint25
  
Done
Development

No branches or pull requests

5 participants