Work Product: Google Summer of Code 2020 with Zulip
Link to all Pull Requests
Link to all merged commits
search: Resume project to integrate search pills.
message view: Fix various message list's rare race conditions.
- Updates the previously merged search pills related code with the new navbar re-design changes and fixes the bugs related to search pills and the pills widget.
- Refactor and de-duplicate the search and search legacy code paths along with various UI UX improvements. Done by merging the search-related functions which were previously extracted as legacy functions, merging the CSS blocks and simplifies the two test files.
message view: Add loading indicators and fix several bugs with the message feed.
- Preserves message list's integrity by displaying newly received messages in order. Implemented by discarding the rendering of the event and re-fetching on scroll to prevent a second race condition.
- Fixes a re-rendering issue for locally echoed messages. Implemented by updating data synchronously while rerendering remains deferred.
- Updates the UI when message resend acknowledgment is received from events path before requests success path.
stream settings: Add support for adding all members of another stream.
- Display the new bottom loading indicator for fetching new messages and fix bugs with the message loading indicators. Required changing logic about decisions related to displaying indicators to each individual view.
- Refactors logic and fixes bugs with multiple message feed notices to be displayed at the appropriate view.
stream settings: Re-design stream edit page.
- We re-use our input pills widget to make it easier to mass subscribe users to a stream.
- Includes relevant extractions and creation of new files for the stream pills feature along with updation to the existing user pills typeahead.
- Also includes the creation of a new
stream_edit.js unit test file.
WIP - streameditbranch
notifications: Topics I Follow.
- Preparatory refactoring for the redesign of the stream settings page. Also includes the extraction and adding of the organizational settings save/discard widget.
- Status: Work in Progress.
settings: Miscellaneous Bug Fixes
- Version 1: Adds a new notifications category for followed topics (topics where the user has posted before, future versions would give control to users to follow/un-follow topics).
- Email, push notifications and wildcard mentions along the with UI and API changes have been implemented and Desktop and Audible notifications yet to be implemented.
- Status: Currently on hold due to performance-related issues.
- Minor notification settings and stream settings related frontend bug fixes.