This is a bit more complex than other narrows (#72, #250, #251) for a couple of reasons:
It calls for some UI of its own, for the user to enter the search they want.
The messages themselves should have a bit more data, to highlight the text within them that matched the query. This comes from the server as match_content and match_subject fields on the message objects; see https://zulip.com/api/get-messages .
For a first version, the search UI can be at the same level as in zulip-mobile, which means fairly crude: it doesn't support anything more than a text search. Ideally we'd support the richer range of searches that Zulip supports in general, complete with UI for the various kinds of filters, but that can be a followup issue.
The UI also calls for some care with concurrency and asynchronicity. See zulip-mobile's implementation.
Probably as a followup, we should make it easy to search shared history in addition to searching personal history. The zulip-flutter equivalent of zulip/zulip-mobile#5732.
This is a bit more complex than other narrows (#72, #250, #251) for a couple of reasons:
match_content
andmatch_subject
fields on the message objects; see https://zulip.com/api/get-messages .For a first version, the search UI can be at the same level as in zulip-mobile, which means fairly crude: it doesn't support anything more than a text search. Ideally we'd support the richer range of searches that Zulip supports in general, complete with UI for the various kinds of filters, but that can be a followup issue.
The UI also calls for some care with concurrency and asynchronicity. See zulip-mobile's implementation.