Skip to content

Consider not restricting message deletions to be soft deletes #6

@AreebaAziz

Description

@AreebaAziz

Currently the specifications require that deleted messages (and edited messages) are not actually removed from the chat, but marked as deleted and it is up to the client UI to display the message as deleted.

There can be several cases where end-users may not wish their messages to be soft deletes. For example: accidentally sending sensitive information in the chat (eg. yubikey accidental presses), sending an embarrassing message. With the current specs the participants of the chat can still read the original messages.

There is the issue that we only want users to append to the chat file for security reasons. If they can only append they cannot rewrite original messages.

I have a potential concept that may solve the issue? If interested you can view it here (with diagrams and a demo): https://github.com/AreebaAziz/event-based-chat/tree/solid-demo

Essentially:

  • end-users send an HTTP PATCH request to the server for new event (such as a new message, delete a message)
  • the server either
    • appends the event to the event_log (soft delete)
    • enqueues the event in a FIFO queue (hard delete)
  • another component which could be within the Pod Provider listens for changes in either the event_log file or the FIFO queue depending on the type of channel. On a new event, it updates a generated_chat file with the updated chat.
  • clients listen for changes to the generated_chat file only

I have a working conceptual demo in the Github repo if you are interested, otherwise we can just discuss the soft vs hard delete.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions