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

Typing set in CB and accepting it quickly is putting at or select_columns in the node #6908

Closed
2 tasks
sylwiabr opened this issue May 31, 2023 · 11 comments · Fixed by #7032
Closed
2 tasks
Assignees
Labels
--bug Type: bug p-high Should be completed in the next sprint

Comments

@sylwiabr
Copy link
Member

Discord username

No response

What type of issue is this?

Intermittent – Occurring irregularly

Is this issue blocking you from using Enso?

  • Yes, I can't use Enso because of this issue.

Is this a regression?

  • Yes, previous version of Enso did not have this issue.

What issue are you facing?

set.to.at.mov

Expected behaviour

node should contain method that was typed

How we can reproduce it?

  1. open CB connected to a table (occurs more repeatably on bigger workflows like Colorado COVID example)
  2. type set and press enter quickly

Screenshots or screencasts

No response

Logs

No response

Enso Version

nightly 31.05

Browser or standalone distribution

Standalone distribution (local project)

Browser Version or standalone distribution

standalone

Operating System

MacOS

Operating System Version

No response

Hardware you are using

No response

@farmaazon
Copy link
Contributor

farmaazon commented Jun 2, 2023

Even after #6875 it still reproducible, however, I'm not able to put at. select_columns is put only if I had a node returning Table selected when opening CB.

The strange thing is, that when typing slowly, at no point select_columns is selected. Perhaps it some race between "rearrange entries", "accept selected entry", and "select best match".

@farmaazon farmaazon added the p-high Should be completed in the next sprint label Jun 5, 2023
@farmaazon farmaazon moved this from ❓New to 📤 Backlog in Issues Board Jun 5, 2023
@MichaelMauderer MichaelMauderer moved this from 📤 Backlog to 🔧 Implementation in Issues Board Jun 6, 2023
@enso-bot
Copy link

enso-bot bot commented Jun 7, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-06):

Progress: Was unable to test the fix for #6724 locally and this was taking too much time. So now I will wait for the merged PR to be available in a cloud release before following up. Started investigating the wrong selection of items from the CB when typing fast. It should be finished by 2023-06-09.

Next Day: Next day I will be working on the #6908 task. Find root cause of the wrong selection.

@enso-bot
Copy link

enso-bot bot commented Jun 8, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-07):

Progress: Investigating the wrong selection of items from the CB when typing fast. So far, I've found that there is an additional update to sorting/filtering to the CB content between the confirmation of selection and the selection being applied, followed by an async update notification. But due to the architecture and size of the CB it is difficult to trace the events and the state of the CB. It should be finished by 2023-06-09.

Next Day: Next day I will be working on the #6908 task. Find root cause of the wrong selection.

@enso-bot
Copy link

enso-bot bot commented Jun 8, 2023

Michael Mauderer reports a new STANDUP for today (2023-06-08):

Progress: Investigating the wrong selection of items from the CB when typing fast. Seems that the updates sorting is unrelated to the issue, and instead, the actual identity of the emitted selection changes depending on the timing of the CB selection. Tracing the changes to the selected item and how it is generated and changed in the time after the selection is made. It should be finished by 2023-06-09.

Next Day: Next day I will be working on the #6908 task. Find root cause of the wrong selection.

@enso-bot
Copy link

enso-bot bot commented Jun 12, 2023

Michael Mauderer reports a new 🔴 DELAY for today (2023-06-12):

Summary: There is 4 days delay in implementation of the Typing set in CB and accepting it quickly is putting at or select_columns in the node (#6908) task.
It will cause 0 days delay for the delivery of this weekly plan.

2 days weekend + 2 days delay.

Delay Cause: Issue was trickier to debug than expected due to the complexity of component browser and asynchronous update interactions. In this case, debugging also altered the observable events and was hiding/altering the issue in some circumstances.

Possible solutions: Better tooling for debugging FRP events throughout the application, e.g., full logging to capture all state + tool that can filter what is shown.

@enso-bot
Copy link

enso-bot bot commented Jun 12, 2023

Michael Mauderer reports a new STANDUP for the provided date (2023-06-09):

Progress: Found the events that caused the difference. It appears that we (a) rely on some default values of the View of the component browser to choose the selected item, but we also (b) update the view asynchronously, so key events can be processed before the visible part of the component browser is updated and we (c) defer processing the key processing by a delay to avoid too many updates.
Looking into the proper solution to make sure this is correctly handled. It should be finished by 2023-06-13.

Next Day: Next day I will be working on the #6908 task. Find fix for root cause of the wrong selection.

@enso-bot
Copy link

enso-bot bot commented Jun 14, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-13):

Progress: After some more failing ideas and more debugging, I found the working solution based on changed delay times and additional refresh on input editing. It should be finished by 2023-06-13.

Next Day: Next day I will be working on the #6908 task. Open PR and start next task.

@enso-bot
Copy link

enso-bot bot commented Jun 14, 2023

Michael Mauderer reports a new STANDUP for the provided date (2023-06-12):

Progress: Tried several solutions that did not work, but after talking to Adam we have a more promising approach that I will try next. It should be finished by 2023-06-13.

Next Day: Next day I will be working on the #6908 task. Implement working solution for wrong selection.

@farmaazon farmaazon moved this from 🔧 Implementation to 👁️ Code review in Issues Board Jun 15, 2023
@enso-bot
Copy link

enso-bot bot commented Jun 15, 2023

Michael Mauderer reports a new 🔴 DELAY for today (2023-06-15):

Summary: There is 2 days delay in implementation of the Typing set in CB and accepting it quickly is putting at or select_columns in the node (#6908) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Turns out the fix I had was not actually correct and only working by mistake. New fix needs to be investigated and implemented.

@enso-bot
Copy link

enso-bot bot commented Jun 15, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-14):

Progress: Implemented a first fix after discussing with Adam. But it turns out this fix is not quite right, while it does seem to fix the behaviour, after some more examination, it does so only coincidentally. Further investigation is needed to find the correct solution. It should be finished by 2023-06-15.

Next Day: Next day I will be working on the #6908 task. Implement working solution for wrong selection.

@enso-bot
Copy link

enso-bot bot commented Jun 16, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-15):

Progress: Found the correct solution. It was related to the order that events are processed when committing the node and correct handling of the cached text changes. Correct implementation is ready for PR. It should be finished by 2023-06-15.

Next Day: Next day I will be working on the #6908 task. Start next task.

@MichaelMauderer MichaelMauderer moved this from 👁️ Code review to 🌟 Q/A review in Issues Board Jun 19, 2023
@farmaazon farmaazon moved this from 🌟 Q/A review to 🟢 Accepted in Issues Board Jun 22, 2023
@mergify mergify bot closed this as completed in #7032 Jun 22, 2023
mergify bot pushed a commit that referenced this issue Jun 22, 2023
Fixes #6908

Fast typing leads to a race condition where the end of the node editing can happen where the state of the CB is not caught up yet. This leads to two issues:

1. The wrong selection is made, as the View of the Component Browser has not been updated yet, but the selection from there is used to determine how the node is created.
2. Processing of the keys is aborted early, while still waiting for additional key input.

This is now fixed.

https://github.com/enso-org/enso/assets/1428930/dce82bb3-1c25-4a67-988a-d74469dc8fcd
@farmaazon farmaazon moved this from 🟢 Accepted to 🗄️ Archived in Issues Board Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--bug Type: bug p-high Should be completed in the next sprint
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants