zulip/static
Wesley Aptekar-Cassels 673af19a4d typeahead: Always rank exact string match first.
Previously, exact matches could be pushed off the typeahead list in the
case where there were more prefix matches that happened to rank first,
which is confusing to the user: if an emoji, for instance, falls into
this category, it will never show up in typeahead, which is easy to
confuse with the emoji not existing.

This isn't a perfect fix — there are still cases where it's hard to find
emojis because the prefix-space is very crowded, but it does fix a
category of surprising and frustrating behaviour.

This doesn't come completely without downside - it means that the exact
match emoji will jump to the front of the list, which changes what is
currently conceptually a "filtering" operation to a "filtering and
sorting" operation, but it seems on the whole to be a more ideal
experience. This is particularly notable in the non-typeahead emoji
picker, which uses the same codepath, but this change seems somewhat
desirable even there, since it allows the user to type the name of an
emoji and press enter and have that emoji show up, without having to
visually confirm that they aren't inadvertently selecting a
prefix-matching emoji.

A better solution to this in the long term might be ordering emoji
results by shortest-first as a tiebreaker for alphabetical ordering,
since that should provide the same behaviour while keeping the mental
model as "filtering" (since the sort order won't change as the user
types), but this seems like a reasonable first pass, and changing to
shortest-first ordering after making this change won't break any muscle
memory for existing users.
2021-02-25 17:55:54 -08:00
..
assets docs: Fix more capitalization issues. 2020-10-23 11:46:55 -07:00
audio notificaiton_sounds: Add some atonal sounds created by @stwime. 2021-02-05 12:28:20 -08:00
generated
html logo: Update Zulip logo. 2020-07-16 01:37:08 -07:00
images dependencies: Upgrade Source Sans Pro font to Source Sans 3. 2021-02-23 14:55:33 -08:00
js narrow_title: Correct title of RT and all messages narrow. 2021-02-25 17:32:51 -08:00
shared typeahead: Always rank exact string match first. 2021-02-25 17:55:54 -08:00
styles recent_topics: Stop last_msg_time_header::after from overflowing. 2021-02-25 17:33:01 -08:00
templates recent_topics: Stop last_msg_time_header::after from overflowing. 2021-02-25 17:33:01 -08:00
third markdown: Fix flickering of embedded link inside Italic. 2020-11-06 10:09:15 -08:00
.gitignore dependencies: Replace moment.js with date-fns. 2021-02-05 11:04:32 -08:00