Vishnu KS

Google Summer of Code 2017


I spent this summer doing Google Summer of Code with Zulip. This blog post summarizes the work that I did. All my work was to improve or add new features to the Zulip server. As a result I was able to work on a multitude of areas covering frontend, backened, management commands etc.

GSOC Image

Merged Pull Requests

NoPull Request
1Show detailed message why password is weak to user. #5500
2Refactor email confirmation pathways to use common error handling #5891
3Create helper to pass and parse coma separated emails to management commands #6194
4List realms and show only users in the selected realm. #6087
5Use get_realm in management commands #6026
6/apps/: Detect the user OS and show the appropriate app by default. #6192
7Add an PM from welcome bot on user creation. #5342
8Move all_users option to ZulipBaseCommand #6269
10Analytics: Add translation bundle and tags to stats page #5755
11Implemented a feature to show user presence and last seen time in user popover. #4487
12portico: Make backend validation errors similar to frontend. #5609
13Use POST instead of PUT in endpoints which are not idempotent #5721
14User .on(‘load’) instead of .load() #5930
15Send message only if notifications_stream is not deactived #6249
16Create list_realms command #6026
17Move add new default stream box to top. #4745
18docs: Update the path of Supervisor config file. #4700
19requirements: Add service_identity to scrapy.txt. #5465
20management: Use Realm.objects.get instead of get_realm. #5729
21create_user: Separate password help into multiple lines. #5736
NoPull Request
1Add get_user function #4868
2Add get_user_for_mgmt function #5022
3Replace get_user_profile_by_email with get_user in management commands #5737
4Eliminate get_user_profile in remaining management commands #5761
5Replace get_user_profile_by_email with get_user #5783
6Replace get_user_profile_by_email in analytics, webhooks and avatar #5808
7Use get_user in zilencer, messages, and users #5852
8Replace get_user_profile_by_email #5867
NoPull Request
1Python dependency upgrade #6169
2Python dependency upgrade #5450
NoPull Request
1Add ZulipTestCase.mit_user() function #4915
2Add example_email, mit_email + refactorings #4948
3Use mit_email and example_email in test_bots.py #4977
4Replace mit_user().email with mit_email(). #5014
5Use example_email function in zerver/tests #5041

Unmerged Pull Requests

NoPull RequestReason for not getting merged
1Make internal send private message take recipient user profile #5904We decided to go with an alternative approach as in #6175
2Refactor to get_user in zerver/mgmt/commands/ #5324We decided to go with an alternative approach as in #5735
3Use regex validation for full_name and realm_subdomain #5441Decided to not replicate the form checking logic in front end

Work Remaining