-
Notifications
You must be signed in to change notification settings - Fork 134
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
Systematically survey message content for unimplemented features. #917
base: main
Are you sure you want to change the base?
Conversation
95688ba
to
5728c5f
Compare
e9133c3
to
43682cd
Compare
Should be ready for review once the CI passes |
ba7190e
to
b0d8d5a
Compare
Pushed some typo fixes. |
Still needs to support:
|
e87250c
to
1a20f60
Compare
Exciting!! Would it be easy to also include the number of messages with each feature, in the output of |
Yeah, it should be straightforward. |
1a20f60
to
66466f7
Compare
fbc0745
to
0bc1c06
Compare
This improves readability, especially in the .last case. Signed-off-by: Zixuan James Li <[email protected]>
A code block containing no grandchildren (i.e. a <div class="codehilite"> element containing an empty <pre> block) for some very dated messages can crash the parser if not handled. The affect messages in public https://chat.zulip.org history ranged from message ID 5020 to 29855, all in 2016. Signed-off-by: Zixuan James Li <[email protected]>
TODO: |
We will later use them to write CLI scripts for fetching messages. Signed-off-by: Zixuan James Li <[email protected]>
6b3e698
to
1007086
Compare
… features. We added 2 scripts. - fetch_messages.dart, the script that fetches messages from a given Zulip server, that does not depend on Flutter or other involved Zulip Flutter packages, so that it can run without Flutter. It is meant to be run first to produce the corpuses needed for surveying the unimplemented features. The fetched messages are formatted in JSON Lines format, where each individual entry is JSON containing the message ID and the rendered HTML content. The script stores output in separate files for messages from each server, because message IDs are not unique across them. - unimplemented_features_test.dart, a test that goes over all messages collected, parses then with the content parser, and report the unimplemented features it discovered. This is implemented as a test mainly because of its dependency on the content parser, which depends on the Flutter engine (and `flutter test` conveniently sets up a test device). The test can be run manually via: `flutter test --dart-define=corpusDir=path/to/corpusDir tools/content` See comments from the file for more instructions. Signed-off-by: Zixuan James Li <[email protected]>
1007086
to
08ecaef
Compare
In this revision, I moved to using |
For reviewing this, it might be helpful to test |
Some main benefits of adding both tools/content scripts to tools/check are that you don't need to manage your directories for storing the zuliprc files and corpuses, or specify any command line options for fetching message contents and running the unimplemented features test. The script is intended to be run manually, not as a part of the CI, because it is very slow, and it relies on some out of tree files like API configs (zuliprc files) and big dumps of chat history. Fixes: zulip#190 Signed-off-by: Zixuan James Li <[email protected]>
08ecaef
to
be9d79a
Compare
The public message history from CZO can be downloaded from this protected dropbox link. We probably will think of a better way of reusing this in the future. |
Currently a WIP. The code needs a bit of cleanup.