Nanosync / pe

0 stars 0 forks source link

Entering commands is very unresponsive #6

Open Nanosync opened 4 years ago

Nanosync commented 4 years ago

Steps to reproduce:

  1. Try to enter commands

Some commands that cause hanging:

Reason: According to the developer guide's NFRs:

  1. The system should respond within two seconds after user types in a command.

Sometimes, it takes 3+ seconds for the application to respond while typing commands. I suspect that it is due to the autocompletion highlight feature. This causes a lot of inconvenience to the user.

nus-pe-bot commented 4 years ago

Team's Response

The issue is not very clear.

It seems there are 2 problems that are reported.

  1. A delay longer than 3s after entering a command.
  2. Unresponsivness of the application while typing. Suspectedly due to the autocompletion highlight feature.

Addressing possible issue 1.

I am unable to reproduce this flaw.

Refering to the steps to reproduce, the steps provided are not sufficient to properly replicate this issue.

I have attmpeted to replicate this issue with the following steps:

  1. Entering a hundred valid addexpense commands
  2. Enter statstrend sd/11-11-2018 ed/12-12-2018 mode/category several times.

I have not been able to achieve the same issue of the application hanging taking these steps.

Addressing possible issue 2 I have not been able to observe any delay while typing.

Regarding the syntax highlighting feature specifically. There is no computations for how the text should be highlighted being done until the user has stopped typing for over 300 milliseconds. This delay was to reduce unnecessary computations every time the user updates the text in the command box. More information regarding the intentional delay and be found here in the Developer Guide.

Regarding the suggestion/autocompletion feature. This requires computation of the suggestions every time a character is typed in order for the suggestions to be intuitive. I suspected that any delay would be due to the Argument Tokenizer which was used in the implemtation of the feature being unable to properly parse a long string quickly. I tried to typing in a very long valid command but was unable to observe any unresponsiveness.

addexpense p/123 c/food d/123123i1u2c 19u23891u23189 u2918u2189u23c 192u39182 nu391u239182u3n9182uc39123u9182 u3n1923u19283u919p238nu1293u12938u12p983 uc123912u39182u39123u19823u1n9283u1p23918u239182u3p19238u12n938u12p39182u3n19283u12381un2p3981u23p182n183u123n1u2381un239182u3p182cnu319283un1p238u1n2p381un23p1823nu1p238u1p238u123p981u1928 1p291p29 81n2p918u23p9812un3p19283u1p29831p29831

As I was unable to reproduce the issue, I have categorized this issue as such.

Items for the Tester to Verify

:question: Issue response

Team chose [response.CannotReproduce]

Reason for disagreement: [replace this with your reason]