Git Product home page Git Product logo

signalandroid's People

Contributors

2-4601 avatar agrajaghh avatar asamk avatar backspace avatar cascheberg avatar cherryasphalt avatar cool-appz avatar dan-yoo avatar eikowagenknecht avatar erinb90 avatar feurenard avatar g-harel avatar haffenloher avatar joeykrim avatar mcginty avatar mcloo avatar meskio avatar moxie0 avatar nrizzio avatar passy avatar radu-raicea avatar rhodey avatar riset avatar s0 avatar shelbaz avatar thoughtbox avatar tinloaf avatar trolldemorted avatar unrulygnu avatar veeti avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

signalandroid's Issues

Setting nicknames in a conversation

As an user, I want to be able to set another user’s nickname in a conversation or a chat.

[SP: 8]
[Priority: High]
[Risk: Medium]

  1. #37 : Create Mockups
  2. #38 : Provide a public interface (backend) to set nicknames
  3. #39 : Implement UI components to allow user to set nickname in conversation settings

Total: 7h

Investigate the feasibility of using OkBuck wrapper

Check the feasibility, and introduce OkBuck wrapper, if possible, to replace gradle in development environment. The purpose of using such library is to reduce the build time required after introducing new modifications to the code base. Such practice is followed by teams at Uber, Whatsup, and Facebook

Estimated time: 2h

Add indication of pinned messages in conversation

As an user, I want to differentiate between pinned and not pinned messages in my conversations.

[SP: 8]
[Priority: Medium]
[Risk: Low]

  1. #24 : Create mockups for new UI features
  2. #25 : Change MessageRecord to add a Pinned indication
  3. #26 : Make pin status visible in the ConversationActivity - UI
  4. #27 : Refactor pin/unpin icon in ActionBar (remove database call)

Total: 15h

Run the application

As a developer, I want to be able to run the application.

[SP: 1]
[Priority: High]
[Risk: Low]

Task 1: Install dependencies for Signal (0h)
Task 2: Create documentation about how to run the application (3h) -> (shelbaz)
Total: 3h

Show pinned images

As an user, I want to pin images (as opposed to just text messages).

[SP: 8]
[Priority: high]
[Risk: low]

  1. #28 : Create mockups showing pinned media
  2. #29 : Unblock pinned mms method
  3. #30 : Make sure attachment data is available in the record
  4. #31 : Update the ui to support images
  5. #46 : Create mockups for new look
  6. #50 : Block Audio/Video pinning
  7. #51 : On click, display pinned images in full screen

Total: 13-24h

Pinned Messages Improvements

As an user, I want to have a better experience using the pinned messages functionality of my app.

User Stories:
#19 Add indication of pinned messages in conversation
#20 Show pinned images
#21 Having the phone number show up if SMS
#22 Improve the pinned messages view UI (differentiate between sent and received, make messages smaller)
#23 Remove icon/menu-item for pinned messages in group chats

Change nickname displaying throughout the app

As an user, I want to see the selected nickname in every instance I would see the username.

[SP: 3]
[Priority: High]
[Risk: High]

  1. #40 : Modify the name getter to take the nickname if it is set, otherwise get contact

Total: 3h

Bug: Nicknames are not permanent (URGENT)

Original names get displayed instead of the nicknames once the app is restarted.
Goal: Make the nicknames persistent beyond the current session.

Reasons: Once the app starts, it reads the nickname values as null even though the database is properly filled.

Target Classes: RecipientSettings

Having the phone number show up if SMS

As an user, I want to see the phone number of the sender of pinned messages in my pinned messages screen (as opposed to a blank space).

[SP: 0]
[Priority: High]
[Risk: Low]

No sub-tasks.
Time to complete: 2h

Setting Nicknames

As a user, I want to be able to set nicknames to my contacts so that I can use different names than on my contact list.

User Stories:
#34 Setting nicknames in a conversation
#35 Change nickname displaying throughout the app
#36 Removing a nickname

All message type pin functionality support

As a user, I want to be able to pin all type of messages in regular conversations, and group conversations.

[SP: 3]
[Priority: High]
[Risk: Low]

#80 : Create Mockups
#58 : Allow pinning/unpinning any type of messages (2h) -> (veken1199)
#62 : Allow displaying any type pinned messages in pinned messages activity (1h) -> (veken1199)
#55 : Fix the bug : The app breaks when I pin my own text message in a group chat (1h) -> (veken1199)
#63: Allow fully functional pin feature in group chat (1h) -> (veken1199)
#85: UI Tests (5h) -> (veken1199, g-harel )

Total: 10h

Acceptance tests:

TASK INPUTS EXPECTED OUTPUT STATUS
Pinning my own text message in group chat The user sends a text message in a group chat The user can pin that message in the group chat and is able to see it in the pinned messages activity PASS
Pinning and unpinning video in a conversation received or sent video file in a conversation The user is able to pin and unpin the video file and then retrieve it in the pinned messages activity PASS
Pinning and unpinning audio in a conversation received or sent audio file in a conversation The user is able to pin and unpin the audio file and then retrieve it in the pinned messages activity PASS
Pinning and unpinning documents in a conversation received or sent document file in a conversation The user is able to pin and unpin the document file and then retrieve it in the pinned messages activity PASS
Pinning and unpinning documents in a group chat received or sent document file in a group chat The user is able to pin and unpin the document file and then retrieve it in the pinned messages activity PASS
Pinning and unpinning audio in a group chat received or sent audio file in a group chat The user is able to pin and unpin the audio file and then retrieve it in the pinned messages activity PASS
Pinning and unpinning video in a group chat received or sent video file in a group chat The user is able to pin and unpin the video file and then retrieve it in the pinned messages activity PASS
Loading the content of an audio file in pinned messages activity A pinned received or sent audio file in a conversation or group chat The user is able to load and listen the pinned audio file in pinned messages activity when they click on it PASS
Loading the content of a video file in pinned messages activity A pinned received or sent video file in a conversation or group chat The user is able to load and play the pinned video file in pinned messages activity when they click on it PASS
Loading the content of a document file in pinned messages activity A pinned received or sent document file in a conversation or group chat The user is able to load and view the pinned document file in pinned message activity when they click on it PASS

Removing a nickname

As an user, I want to be able to remove another user’s nickname.

[SP: 2]
[Priority: High]
[Risk: Low]

  1. #41 : Provide a public interface to unset the nickname
  2. #42 : Implement UI components to allow user to unset nickname in conversation settings

Total: 3h

Code Snippets

As a user, I want to be able to send and view code snippets in 1-1 conversation and group chat in a well-formatted views

Setup Travis CI

As a developer, I want to run CI tests to verify the correctness of my code.

[SP: 3]
[Priority: Low]
[Risk: Medium]

Task 1: Setup Travis CI (1h) -> (Radu-Raicea)
Task 2: Implement an automated test pipeline that is triggered after every commit/push (10h) -> (shelbaz, Radu-Raicea)
Total: 11h

UI for search conversation

As a user, I want to interact with an UI to search for messages in my conversations.

[SP: 20]
[Priority: High]
[Risk: Medium]

#67 Create mockups (2h) -> (Radu-Raicea)
#68 Add search bar UI (Display search bar UI and return to previous UI) (6h) -> (erinb90, shelbaz)
#69 Add method to highlight parts of messages (3h) -> (g-harel)
#70 Display result messages (6h) -> (Dan-Yoo, Radu-Raicea)
#71 Add scroll between messages (3h) -> (g-harel)
#72 Create espresso tests (delayed to Sprint 5) (7h) -> (shelbaz, g-harel)

Total: 27h

Acceptance tests

TASK INPUTS EXPECTED OUTPUT STATUS
Search UI 1-1 Conversation with search mode deactivated When the user clicks "Search conversation", an empty search bar is displayed PASSED
Search UI 1-1 Conversation with search mode activated User can deactivate the search mode and go back to the original conversation view by pressing the "back" button PASSED
Search UI Message position When messages matched the search term, the Recycler View should scroll to the provided position PASSED
Search UI Searched string The Conversation item should highlight matching substrings PASSED
Search UI Matched messages The Recycler view should move the view to the next message in the conversation that matches the search term when "next button" is clicked PASSED
Search UI Matched messages The Recycler view should move up "older messages" the view to the previous message in the conversation that matches the search term when "up button" is clicked PASSED
Search UI Matched messages The Recycler view should move the view to the next message in the conversation that matches the search term when "down button" is clicked PASSED
Search UI Matched messages A toast is displayed when the user clicks on the "up button" when oldest messages containing the search term is reached PASSED
Search UI Matched messages A toast is displayed when the user clicks on the "down button" when newest messages containing the search term is reached PASSED

Improve the pinned messages view UI

As an user, I want to have a visually pleasing UI for my pinned messages.

[SP: 5]
[Priority: High]
[Risk: Low]

  1. #32 : Create mockups for new look
  2. #33 : Implement view out of the mockups

Total: 8h

Pinned Messages

As a user, I want to be able to have pinned messages to save important messages.

User Stories:
#10 Unpinning Pinned Messages
#11 Displaying Pinned Messages
#12 Selecting and Pinning Messages

Release 1 Report

The Release 1 Report must be handed in at the end of Sprint 2.

Here are the tasks that must be done for it:
Task 1: Count story points completed for each member of the team (everyone)
Task 2: Elevator pitch description at a high level (Shawn)
Task 3: Velocity (Radu)
Task 4: Plan up to next release (Radu, Gabriel)
Task 5: Write one paragraph here to describe the architecture and the diagrams (Radu - Shawn)
Task 6: Discussion about the frameworks used in the app (Dan)
Task 7: List 2 most important parts of the code that we changed (Erin)
Task 8: Continuous integration description (Shawn, Gabriel)

Release 1 demo on Monday, Feb 12 from 11:30 am to 12:00 pm.

Search Conversations

As a user, I want to be able to search messages in conversations to find something said earlier in the conversation.

User Stories:
#66 UI for search conversation
#73 Backend for search

Make the architectural diagrams

As a developer, I want to view architectural diagrams to understand how the application works.

[SP: 13]
[Priority: Medium]
[Risk: High]

Task 1: Verify with TA if the diagrams can have smaller scope due to size of app (0h)
Task 2: Create overall layers diagram (21h) -> (g-harel, Dan-Yoo, veken1199)
Task 3: Component Diagram using a tool (18h) -> (g-harel, veken1199, erinb90)
Task 4: Create mockups (5h) -> (Dan-Yoo)
Task 5: Create the task diagram (2h) -> (erinb90, Radu-Raicea)
Total: 46h

Travis-git error logging improvement

As we discussed previously, It will be nice to see, on GitHub, why my ci build has failed. for example, which test has failed, how many passed, etc

Unpinning Pinned Messages

As a user, I want to unpin a pinned message.
[SP: 8]
[Priority: Medium]
[Risk: Low]

1- Expose an interface to the Activities to unpin a message (4h) -> (g-harel, Dan-Yoo, veken1199)
2- Implement a solution to delete relative info from the persistence entity (4h) -> (g-harel, Dan-Yoo, veken1199)
3- Add unpin button to top menu bar (2h) -> (erinb90, Radu-Raicea, shelbaz)
4- Link unpin to interface created (2h) -> (erinb90, Radu-Raicea, shelbaz)
Total: ?
5- Reflect the changes after unpin message is completed (3h) -> (erinb90, Radu-Raicea, shelbaz)
Total: 15h

Selecting and Pinning Messages

As a user, I want to select and pin a message.

[SP: 8]
[Priority: High ]
[Risk: low]

1- Expose an interface to the Activities for pinning messages functionality (6h) -> (g-harel, Dan-Yoo, veken1199)
2- Come up with a persistent system to store pinned messages (5h) -> (g-harel, Dan-Yoo, veken1199)
3- Add pin button to top menu bar (2h) -> (erinb90, Radu-Raicea, shelbaz)
4- Link pin button to interface created (4h) -> (erinb90, Radu-Raicea, shelbaz)
Total: 17h

Displaying Pinned Messages

As a user, I want to display all pinned messages.

[SP: 5]
[Priority: High]
[Risk: Low]

1- Expose an interface to the Activities to load all pinned message (4h) -> (g-harel, Dan-Yoo, veken1199)
2- Add conversation options menu item to view pinned messages (3h) -> (erinb90, Radu-Raicea, shelbaz)
3- Create a new activity for the pinned message view (2h) -> (erinb90, Radu-Raicea, shelbaz)
4- Link menu item with new activity (1h) -> (erinb90, Radu-Raicea, shelbaz)
5- Implement a solution to read and filter the pinned messages from the persistence entity (5h) -> (g-harel, Dan-Yoo, veken1199)
6- Create fragments for text bubbles (5h) -> (erinb90, Radu-Raicea, shelbaz)
Total: 20h

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.