-
Notifications
You must be signed in to change notification settings - Fork 293
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
Communication
: Allow user to save messages for later
#9705
base: develop
Are you sure you want to change the base?
Conversation
…nel-jumping' into bugfix/communication/adjust-channel-jumping
…on/adjust-channel-jumping
…on/adjust-channel-jumping
…ion/save-message-for-later
…re/communication/save-message-for-later
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on TS1, each functionality works as described. Maybe it would be nice to be able to delete from "Saved messages" inside of the "saved messages" tab as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on TS3. Works as described, also moving the messages between the different tabs and unmarking them as bookmarks worked without problems.
Checklist
General
Server
Client
Motivation and Context
Currently, the user has no option to store messages for later reference. This leads to them having to use other tools than artemis to create reminders for certain tasks. In slack, this is done by the "Save message for later" feature.
Description
I added the option for the user to save messages for later. This is done by adding a new model "saved_post" which keeps track of which user stored which message, similar to a pivot table. The model has the following structure:
id - Primary key
user_id - The ID of the user that stored the message
post_id - The ID of the saved post
post_type - An identifier to tell the system if the stored post is an "answer_post" or a "post"
status - An identifier to tell the system in which status the post is. Is used to mark posts as "In Progress", "Completed" or "Archived".
completed_at - The date and time when a post was marked as completed or archived. May be used for cleanup.
In the client, I added a new tab to the communication modules sidebar called "Saved Messages". There, the user can view the stored messages. To store a message, I added a new icon next to the edit icon, which can be used to store a message.
For cleanup I added the SavedPostSchedule Service, which will delete archived/completed SavedPosts after 100 days. Additionally, it will try to clean up orphaned SavedPosts, since they are not connected via foreign key to the posts. (If someone for example manually deletes a post from the database)
Known Issues for followup PRs:
Addresses #9697
Addresses #9639
Steps for Testing
Prerequisites:
Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.
Review Progress
Performance Review
Code Review
Manual Tests
Exam Mode Test
Performance Tests
Test Coverage
Client
Server
Screenshots
Summary by CodeRabbit
Release Notes
New Features
SavedPost
entity to track saved posts and their statuses.Bug Fixes
Documentation
Tests