Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate messages, files, and replies to seen_by architecture #5474

Closed
eloquence opened this issue Sep 2, 2020 · 4 comments · Fixed by #5505
Closed

Migrate messages, files, and replies to seen_by architecture #5474

eloquence opened this issue Sep 2, 2020 · 4 comments · Fixed by #5505

Comments

@eloquence
Copy link
Member

eloquence commented Sep 2, 2020

As part of adding SecureDrop Client support for highlighting sources with unseen submissions (freedomofpress/securedrop-client#187), we need to make server-side changes to record which journalist has seen a message, file, or reply. This breaks down into two main tasks:

  • this issue: migrating the existing downloaded status and business logic to seen_by (for messages, files, and replies);

  • issue Add API endpoints for seen_by #5475: adding API endpoints for updating and retrieving seen_by status

For now, this issue will have no user-facing impact on Journalist Interface users.

Definitions

"Seen" message, file, or reply:

  • in the Journalist Interface: message/reply/file download was initiated via browser by a specific user, or reply was sent by a specific user
  • in the SecureDrop Client: message/reply/file widget (!) was displayed in conversation view by a specific user

“Read”: terminology currently used in the Journalist Interface to indicate that a submission has been downloaded by any user

Technical specification

A working draft specification can be found here:
https://docs.google.com/document/d/1szPEKI1gTpRiM_YI87plKgiW39T7zT4Y4HG0uFnsJD4/edit#heading=h.5llqq3xyh04w

Functional requirements

The following requirements are in scope of this issue:

  • "Seen by" attribution: When I download a submission or reply via the Journalist Interface, it is recorded as seen by me in the database.

  • Replies are always seen: When I send a reply via the Journalist Interface, it is recorded as seen by me in the database.

  • Feature equivalence: The behavior of the Journalist Interface remains the same as it is today:

    • "Unread" submissions or replies are those that have not been seen by any journalist
    • I can continue to use the "Download Unread" features of the Journalist Interface as before.
    • "Unread" submissions continue to be highlighted as such in the Journalist Interface.
    • When I migrate an existing SecureDrop installation, all data about which submissions have been downloaded is still displayed in the Journalist Interface in the same manner as before.
@prateekj117
Copy link
Contributor

@eloquence If I am right, this issue will be about adding the seen_by in models and adding logic in the Journalist interface (which is accessed by browser), and the issue #5475 is for adding API endpoints for seen_by so that it can be used in SecureDrop Client.

I would like to contribute to this. I can start with adding seen_by in the models and start making its logic for the Journalist Interface.

@kushaldas
Copy link
Contributor

@prateekj117 this issue/feature (and related ones) will require heavy involvement from the maintainers as we are designing totally new things based on the user research.

@prateekj117
Copy link
Contributor

@kushaldas ok cool. I will look into some other issues.

@eloquence
Copy link
Member Author

(Removed from the board because #5505, which is tracked on our current sprint, is expected to fully resolve this issue as specified.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants