For example, if a user's name is "Simon Peyton Jones", we'll already match that name on the queries "Pey" or "Peyton", as well as on "Simon P". We should do so on "Peyton J" or "Peyton Jones", too. Similarly, if the user is looking for an emoji of a face in the moon and they start by typing ":moon", we'll show them both 🌝 "moon face" and 🌚 "new moon face", along with some other moon-related results. If they go on to make it ":moon " or ":moon f", though -- as one very naturally would in order to eliminate things like "waxing moon" and "moon ceremony" -- then we mysteriously eliminate 🌚 "new moon face". Instead, the query "moon f" should match both 🌚 and 🌝. Found this while comparing the web/shared implementation with the mobile implementation of emoji search. The new behavior here reflects what we already do for emoji search in mobile, both in the compose box's typeahead and in the add-a-reaction screen. The existing behavior here seems pretty annoying, so fixing it will be part of switching on mobile to the shared code (zulip/zulip-mobile#4636) without regressing the user experience. The current behavior was introduced, more or less, in 245d65eb9; then revised in |
||
|---|---|---|
| .. | ||
| icons | ||
| js | ||
| .gitignore | ||
| package.json | ||
| README.md | ||
The files in this subtree are part of the Zulip web frontend, and are also incorporated by the Zulip mobile app.
Note that the deployment cycles are different:
-
In the web app, this code is deployed in the same way as the rest of the web frontend: it's part of the server tree, and the browser gets it from the server, so the client is always running the same version the server just gave it.
-
In the mobile app, this code is deployed in the same way as the rest of the mobile app: it's bundled up into the app binary which is uploaded to app stores and users install on their devices. The client will be running the version built into their version of the mobile app, which may be newer, older, or simply different from the version on the server.
The mobile app always refers to a specific version of this code; changes to this code will appear in the mobile app only after a commit in the mobile app pulls them in.
To update the version of @zulip/shared on NPM, see the instructions in the mobile repo.