-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Make typeahead code sharable with mobile app #13728
Comments
Hello @zulip/server-message-view, @zulip/server-refactoring members, this issue was labeled with the "area: message-editing", "area: refactoring" labels, so you may want to check it out! |
One thing we'll want to move here is |
This extracts get_emoji_matcher and all the functions it depended on, most of which were in composebox_typeahead.js. We also move remove_diacritics out of the people module. This is the first major step for zulip#13728.
This extracts get_emoji_matcher and all the functions it depended on, most of which were in composebox_typeahead.js. We also move remove_diacritics out of the people module. This is the first major step for zulip#13728.
This extracts get_emoji_matcher and all the functions it depended on, most of which were in composebox_typeahead.js. We also move remove_diacritics out of the people module. This is the first major step for zulip#13728.
This extracts get_emoji_matcher and all the functions it depended on, most of which were in composebox_typeahead.js. We also move remove_diacritics out of the people module. This is the first major step for #13728.
I haven't loaded all this into my brain yet, but just a ping to say there's a @zulip/shared-labeled issue involving diacritics: zulip/zulip-mobile#3710 🙂 |
Yeah, that's an issue we addressed in the webapp typeahead long ago, and part of a broad category of details that it'll be very nice to share the fix for. Zulip's webapp typeahead has probably had >250 commits to it. |
Hello @showell, you have been unassigned from this issue because you have not updated this issue or any referenced pull requests for over 14 days. You can reclaim this issue or claim any other issue by commenting Thanks for your contributions, and hope to see you again soon! |
These pieces are all done now (from #13739, I believe), so I think for emoji typeahead the next steps are on the mobile side: zulip/zulip-mobile#3833. Probably good for us to go and do that, for more practice doing this whole process end to end and to see if there's anything to adjust in it. But otherwise the next step on the webapp side is probably:
|
There's also a piece of people typeahead which is in the shared package and ripe for the mobile app to start using as shared: zulip/zulip-mobile#3710 |
Hello @Fingel, you have been unassigned from this issue because you have not updated this issue or any referenced pull requests for over 14 days. You can reclaim this issue or claim any other issue by commenting Thanks for your contributions, and hope to see you again soon! |
Closing as no longer planned given the mobile apps are being rewritten in Flutter. |
@timabbott remarked on zulip/zulip-mobile#3833:
I think this would be very fruitful! As Tim says, there's a lot of pure logic in there, and it encodes a lot of nuanced product choices that would be a lot of work to reimplement one by one in the mobile app. There's also some annoyances people regularly run into on mobile which the webapp has a nice feature that solves, like zulip/zulip-mobile#2603 and zulip/zulip-mobile#3710 -- so there's immediate gain to be had in the mobile experience by sharing this code, in addition to the maintainability benefits.
The roadmap for doing this would be a lot like our initial proof-of-concept for shared code, with
typing_status.js
(in #13253, #13315, zulip/zulip-mobile#3638, zulip/zulip-mobile#3662):static/shared/
. (Fortyping_status.js
this was the whole small file/module; here it'd probably be parts of several files.)@zulip/shared
NPM package (which comes fromstatic/shared/
, and replace our own implementations with calls to the shared code.Probably a good strategy would be to go for one kind of typeahead/autocomplete at a time. The most valuable are probably (a) people, and (b) emoji.
I just looked through the emoji typeahead in the webapp because of zulip/zulip-mobile#3833, and I think it'd be a good, fairly easy place to start. Specifically if we could share
get_emoji_matcher
from withincomposebox_typeahead
typeahead_helper.sort_emojis
I think that'd be productive -- and I think all of those appear to be pure, UI-independent functions that can be shared pretty much verbatim.
After that, we can perhaps tackle something like
composebox_typeahead.get_person_suggestions
. That one will take some refactoring to be shared.The text was updated successfully, but these errors were encountered: