Spending the summer working on Zulip, specifically Zulip Mobile, has been an amazing and enriching
experience for me! I am very thankful to my mentors for guiding through the process of contributing
to the project. In this document, I describe the contributions that I made to zulip-mobile
during
the summer.
A significant portion of my work was to add user-facing features to Zulip's React Native app. The
Zulip mobile app has several features missing when compared to the web-app, and during the summer,
when new features were added to Zulip ( such as new markdown elements like time
and spoiler
), those
had to be added to the app too. One of my larger projects during the summer was working on a 'sharing'
feature for Android devices. Using this feature, people can share content like text, images and documents
from other apps directly with Zulip, instead of manually opening the app and selecting the files. Apart
from these, I also worked on fixing bugs and general app improvements.
Below, I list my contributions made during the summer, in two sections - merged PRs and open PRs. The individual PRs and the linked issue threads contain more details.
- Update Fresco to fix animated GIFs in the lightbox
- Show an error on sending message when not caught up
- Give early error when server URL is an email address in login screen
- Support for
time
markdown elements - Update build-run instructions in docs
- Move "edit message" state to be local UI state in the chat screen
- Download images with correct names and MIME types in the lightbox
- Handle receiving shares from other apps ( UI/ Logic without activating the feature )
- Fix misaligned loading spinner
- Toggle header & footer on tapping the entire view in the lightbox
- Fix copying links to clipboard in the message list
- Add more troubleshooting info for build and run in docs
- Warn on @-mentioning someone who won't see it because not subscribed
- Send user ID for users having same full name in people auto complete
- View uploaded files without needing to be logged in to the realm in the browser
- Make it more clear that contributions are welcome in the readme
- Store fetched messages in Redux store in the search screen
- Handle receiving shares from other apps ( Activation of the feature )
- Add ability to mark messages in bulk, mute topics
- Add 'Reply with mention' option in action sheet
- Start sending messages on regaining connectivity
- Use material tabs for bottom navigation
- Allow viewing message edit history
- Add support for displaying spoilers
- Introduce new edit message UI
- Show file upload progress
All these PRs can be viewed in GitHub here.