When I start @-mentioning people in JIRA, it's incredibly difficult to discern whether anything is actually happening or not. If the server takes several seconds to return a result, you have little to no idea that the feature is even active until you're rather bored of waiting.

        1. massively confused results.png
          massively confused results.png
          266 kB
        2. mentions-searches.har
          110 kB
        3. re-typed search.png
          re-typed search.png
          220 kB
        4. search result lag.png
          search result lag.png
          221 kB

            [JRASERVER-27998] Mentions can fail to show results

            Awesome - can't wait until this hits JAC!

            Mark Lassau (Inactive) added a comment - Awesome - can't wait until this hits JAC!

            sladey added a comment -

            Well done Daz and big thanks to Dave E for QA. This is my last comment on JAC where I avoided mentions

            sladey added a comment - Well done Daz and big thanks to Dave E for QA. This is my last comment on JAC where I avoided mentions

            I've re-QAd this on a real IE8/9 machine and I'm satisfied that the issues raised above are fixed. This certainly marks a big improvement in the scalability and usability of Mentions and my hat goes off to cdarroch for all of his hard work on this issue!

            David Elkan (Inactive) added a comment - I've re-QAd this on a real IE8/9 machine and I'm satisfied that the issues raised above are fixed. This certainly marks a big improvement in the scalability and usability of Mentions and my hat goes off to cdarroch for all of his hard work on this issue!

            Daz added a comment -

            pwyatt, I've committed fixes for the issues you mentioned to 5.1.1 and master. It's ready for another bout of punishment

            Daz added a comment - pwyatt , I've committed fixes for the issues you mentioned to 5.1.1 and master. It's ready for another bout of punishment

            Two issues so far, related:

            Issue 1:
            1) Type @username where "username" matches only one person.
            2) Defocus the window.
            3) Click back in the text field.
            4) Press enter and keep typing. The suggestions popup doesn't go away.

            Issue 2:
            1) Type @garbage where "garbage" matches no users.
            2) Defocus the window.
            3) Click back in the text field.
            4) Press enter and keep typing. A Javascript error is thrown - "$suggestions is undefined"

            Doesn't reproduce in dev mode.

            Penny Wyatt (On Leave to July 2021) added a comment - Two issues so far, related: Issue 1: 1) Type @username where "username" matches only one person. 2) Defocus the window. 3) Click back in the text field. 4) Press enter and keep typing. The suggestions popup doesn't go away. Issue 2: 1) Type @garbage where "garbage" matches no users. 2) Defocus the window. 3) Click back in the text field. 4) Press enter and keep typing. A Javascript error is thrown - "$suggestions is undefined" Doesn't reproduce in dev mode.

            Duplicate of JRA-27762 ?

            Mark Lassau (Inactive) added a comment - Duplicate of JRA-27762 ?

            Daz added a comment -

            The way Mentions is built is that it uses an InlineLayer class, which in turn retrieves its data from an AJAXContentRetriever. The way those two classes interop with each-other is such that the InlineLayer's contents are only ever updated (thus shown or not) when the AJAXContentRetriever receives a response from the server. The way this happens is through an incredibly convoluted and confusing chain of function calls internal to those two classes.

            Splitting the concern of updating the UI from retrieving data from the source seems near-impossible without rewriting significant parts of these two classes.

            Good luck to whoever tries to separate these concerns.

            Daz added a comment - The way Mentions is built is that it uses an InlineLayer class, which in turn retrieves its data from an AJAXContentRetriever . The way those two classes interop with each-other is such that the InlineLayer 's contents are only ever updated (thus shown or not) when the AJAXContentRetriever receives a response from the server. The way this happens is through an incredibly convoluted and confusing chain of function calls internal to those two classes. Splitting the concern of updating the UI from retrieving data from the source seems near-impossible without rewriting significant parts of these two classes. Good luck to whoever tries to separate these concerns.

            Daz added a comment -

            JRA-27898 speaks to the slowness on JAC and mentions the unresponsiveness of the UI. This issue details the UI problems.

            Daz added a comment - JRA-27898 speaks to the slowness on JAC and mentions the unresponsiveness of the UI. This issue details the UI problems.

            Daz added a comment -

            The '@' performance can be quite abysmal most of the time.


            It also gets incredibly confused as to whether it should search or not; if I alter the text near or around the '@' symbol, then move the caret, requests will still get fired.

            A lot.

            Daz added a comment - The '@' performance can be quite abysmal most of the time. It also gets incredibly confused as to whether it should search or not; if I alter the text near or around the '@' symbol, then move the caret, requests will still get fired. A lot.

              edalgliesh Eric Dalgliesh
              cdarroch Daz
              Affected customers:
              1 This affects my team
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: