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

Threaded messages #2062

Merged
merged 48 commits into from
Dec 3, 2023
Merged

Conversation

Jamiras
Copy link
Member

@Jamiras Jamiras commented Nov 27, 2023

Replaces the inbox/outbox with threaded messages, wherein a conversation between two users about a single subject can be discussed (similar to forum posts). Most importantly, reply chains are grouped together and it's easy to see both sides of the conversation.

A new message is created the same as before, and supports full shortcode syntax and preview:
image

This immediately appears in the user's list (there's no longer a distinction between inbox and outbox):
image

It also appears in the recipient's list (as unread):
image

The recipient can open the message and reply to it. (the sender can also open it and send additional information).
image

The sender is notified of the new message as part of an updated thread:
image

Both users can view the entire thread and update it at any time:
image

Either user can delete the thread (which removes it from their list, but not the other participant's list).
image

If the other participant replies again, it reappears in the first user's list.
image

If both users delete the thread, it's removed from the database.

Copy link
Member

@luchaos luchaos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realize that my review got extremely long and I'm not sure I even addressed all things yet. If you want I can take care of those architectural changes. I wasn't expecting changes like this to be made until I refactored another feature to have some reference.

That said, it's wonderful to finally see some scripts being removed from /public. This is definitely going in the right direction imo.

app/Community/Models/Message.php Outdated Show resolved Hide resolved
app/Community/Models/Message.php Outdated Show resolved Hide resolved
app/Community/Models/Message.php Outdated Show resolved Hide resolved
app/Community/Listeners/NotifyMessageParticipants.php Outdated Show resolved Hide resolved
public/request/message/create.php Outdated Show resolved Hide resolved
resources/views/components/menu/account.blade.php Outdated Show resolved Hide resolved
app/Community/Listeners/NotifyMessageParticipants.php Outdated Show resolved Hide resolved
app/Community/Commands/SyncMessages.php Outdated Show resolved Hide resolved
app/Community/Models/Message.php Outdated Show resolved Hide resolved
app/Community/Models/Message.php Outdated Show resolved Hide resolved
resources/views/components/menu/account.blade.php Outdated Show resolved Hide resolved
app/Site/Actions/ClearAccountDataAction.php Outdated Show resolved Hide resolved
app/Community/RouteServiceProvider.php Outdated Show resolved Hide resolved
app/Community/Controllers/MessageThreadsController.php Outdated Show resolved Hide resolved
app/Community/Commands/SyncMessages.php Show resolved Hide resolved
app/Community/RouteServiceProvider.php Outdated Show resolved Hide resolved
app/Community/Commands/SyncMessages.php Outdated Show resolved Hide resolved
app/Community/Controllers/MessageThreadsController.php Outdated Show resolved Hide resolved
app/Community/Controllers/MessageThreadsController.php Outdated Show resolved Hide resolved
Copy link
Member

@luchaos luchaos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good template to go by for the other routes that are yet to be refactored 👏

@Jamiras Jamiras merged commit 783a02f into RetroAchievements:master Dec 3, 2023
5 checks passed
@Jamiras Jamiras deleted the threaded_messages branch December 3, 2023 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants