I've spent this summer working as a Google Summer of Code intern with Zulip. The goal of my project was mainly to document and enhance the Zulip API. I contributed to two of their repositories: Zulip Server and the python bindings for Zulip's REST API. I've had a great experience so far and I look forward to keep contributing to their codebase and explore their mobile and terminal apps as well. This summarises the work I've done so far.
- api: Add GET /users/{user_id}/subscription/{stream_id} endpoint. #15158
- api: Update type annotation in 'remove_subscriptions'. #600
- openapi/python_examples: Update examples for add/remove subscriptions. #15228
- api docs: Convert remaining JavaScript examples to use the tested system.#15523
- api: Implement DELETE /realm/emoji/{emoji_name}. #606
- api docs: Document /realm/profile_fields api endpoint. #15668
- api docs: Document POST /user_groups/{group_id}/members endpoint. #15825
- api: Return 'user_id' in 'POST /users' response. #16107
- api: Implement GET /users/{user_id}/subscriptions/{stream_id} endpoint. #617
- api: Refactor 'update_user_group_members' to take user_group_id outside group_data. #618
- openapi/javascript_examples.js: Automate validation of responses and rendering of JavaScript examples in the docs. #14776
- api: Document GET ../attachments api endpoint #14276
- api: Document GET ../messages/matches_narrow api endpoint #14206
- api: Add GET /users/{email} api endpoint. #16087
- api docs: Document Delete /realm/emoji/{emoji_name} endpoint. #15589
- api: Allow deleting custom emoji reaction with just its name. #15152
- [WIP] Create a directory of public communities on Zulip Cloud. #16193
- api: Add bindings for /realm/profile_fields and /realm/profile_fields/{field_id} api endpoints. #599
- api: Refactor GET /users endpoint. #546
- api docs: Update 'deactivate_user' and 'update_user' python examples. #15000
- api docs: Document POST /users/{user_id}/reactivate endpoint. #15028
- api: Implement GET /realm/presence endpoint. #581
- api: Implement POST /users/{user_id}/reactivate endpoint. #583
- default streams: Change add api to use stream_id. #14564
- api: Refactor get_members_backend to return a single bot's data. #14686
- api_code_examples: Fix buggy rendering of print statement in python examples. #14801
- api: Implement GET /attachments endpoint #562
- api: Refactor POST /messages/{message_id}/reactions endpoint #14292
- api: Implement GET /messages/matches_narrow endpoint #550
- api: Implement PATCH /users/{user_id} endpoint #570
- api: Implement DELETE /users/{user_id} api endpoint #572
- api: Refactor get_user_by_id to take keyword arguments #579