Skip to content

BIG UPDATE !! #365

@DavidPetrasek

Description

@DavidPetrasek

Try the new version here: https://github.com/DavidPetrasek/ChatBundle

Core functions tested and work fine!

I haven't created a PR, because I believe this package should be renamed to friendsofsymfony/chat-bundle. So I renamed it and if you agree with this change then I propose creating a new Github repository and making this one obsolete/archived and adding a short explanation with a link to the new repository at the begging of the README of the current repository.

What's new (or see the commits in the provided repo)

Codebase upgrade:

  • Now supports PHP 8.2 (tested in 8.3) and Symfony 7.2
  • Modern Symfony bundle structure
  • Migrate XML config to PHP config
  • Rename AppBundle to App
  • Update access modifiers: change protected to private where applicable
  • Replace PHPDocs (@var, @param, @return) with PHP type declarations
  • Introduce PHP attributes
  • Switch DateTime to DateTimeImmutable

New features:

  • Participant's status
  • readAt
  • deletedAt
  • Added optimized version for getFirst(Last)Message methods, specifically getFirst(Last)MessageByThread and getFirst(Last)MessageByThreadQueryBuilder which doesn't load the entire collection
  • getNbUnreadMessageByParticipantAndThread
  • getNbSentMessageByParticipantAndThread
  • getMessageByThreadQueryBuilder
  • getThreadsCreatedByParticipantQueryBuilder
  • getParticipantThreadsQueryBuilder
  • getUnreadMessageByParticipantQueryBuilder
  • Sent message is now automatically marked as read for the sender
  • getThread method in the Provider class doesn't mark the thread as read anymore
  • allow method chaining where missing
  • removed method escapeTerm in QueryFactory class which doesn't do anything. It was also a insecure/overhead to escape search strings as we already use/should use prepared statements.
  • Mark messages as deleted (for a single participant / for all)
  • When a thread/message is marked as deleted, it's not marked as read anymore. There is no way to tell if the participant has really read the thread/message. Even webmail clients like Hotmail and Gmail don't do this.

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