fix(conversation): Skip last message update when adding or removing participants#18657
Open
sudormant wants to merge 49 commits into
Open
fix(conversation): Skip last message update when adding or removing participants#18657sudormant wants to merge 49 commits into
sudormant wants to merge 49 commits into
Conversation
…ctivity flag for event dispatcher from false to true. This should help with chat state changes (users removed / added, moderators promoted / demoted) from triggering a reordering in the room list in Nextcloud Talk. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…tMetadaActivity for Rooms and Threads, similar to lastActivity. This also adds a database migration for the oc_talk_rooms and oc_talk_threads tables as well. Functions are introduced and prepared for later use. The use of the field lastActivity to signal when the last real message in a conversation appeared remains unchanged to keep the API stable. The intended use of this feature is to better distinguish between real messages (lastActivity) to notify and bump conversations in the thread list to the top, and other status / metadata related messages (lastMetadataActivity) like room state and participant list changes that shall get synced and be updated in the clients, but not trigger an activity bump of its conversations in the thread list. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…t will still go by last message activity, after introducing lastMetadataActivity, and not sort by last metadata changes in rooms like participant list updates. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…oms and Threads to use / set lastMetadataActivity instaed of lastActivity where appropriate, i.e. where system messages are signalled and not real chat messages. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…em messages like user added or removed, moderator promoted or demoted trigger an activity bump of the conversation in the list and move it to the top. This fix keeps activity bumps for real chat messages but won't bump the activity anymore for the aforementioned system messages. This fix also incorporates use of the new lastMetadataActivity field to update this information instead of lastActivity accordingly and can be expanded later on to handle other kind of messages differently. No changes client side are needed. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…s only to rooms, remove same handling from threads Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…ssageUpdate to be compatible with another pull request making this field private Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…e (like room creation) when deciding whether to bump activity Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com> Signed-off-by: sudormant <madcatcl2@gmx.de>
…e comments Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
…comments Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
Closed
8 tasks
Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
…preed into bugfix/11882/skipLastMessage
…ng a call The proxying server only accepted 200/400/404 from the host when joining a federated call. A 403 - returned by the host e.g. when start_calls restricts who may start calls and the federated participant is not allowed - was wrapped into a CannotReachRemoteException, so users saw what looked like a connection error instead of a permission error. Accept 403 as an expected status code, document it on the endpoint and regenerate the OpenAPI spec and types. Assisted-by: ClaudeCode:claude-fable-5 Signed-off-by: Pascal Kienast <info@pascalkienast.de>
… allowed When the signaling backend join path marks the first participant as in-call and that participant is not allowed to start the call, the ForbiddenException thrown by the RestrictStartingCalls listener escaped uncaught, so the HPB received an unstructured error instead of a proper backend error. SIP dial-in into a not-yet-started call is one way to reach this path. Catch the exception and return a structured 'start_call_not_allowed' backend error instead. Assisted-by: ClaudeCode:claude-fable-5 Signed-off-by: Pascal Kienast <info@pascalkienast.de>
…ll" settings Signed-off-by: Joas Schilling <coding@schilljs.com>
…y doesn't bump thread activity anymore Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
…ermission-error-handling fix(call): return proper permission errors when starting a call is not allowed
Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
…ests Signed-off-by: Joachim Bauch <bauch@struktur.de>
Signed-off-by: Joas Schilling <coding@schilljs.com>
This allows Talk to switch the mode so the all user ids arrays are skipped from various requests to allow scaling. Signed-off-by: Joas Schilling <coding@schilljs.com>
feat(signaling): Don't send all room userids in signaling server requests
… section Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Jan C. Borchardt <925062+jancborchardt@users.noreply.github.com>
Shorten device menu labels to Microphone, Speaker, Camera
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
…ead-v2 fix(tags): show unread conversations and active calls under collapsed section
Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
…anges Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
…ctivity flag for event dispatcher from false to true. This should help with chat state changes (users removed / added, moderators promoted / demoted) from triggering a reordering in the room list in Nextcloud Talk. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…tMetadaActivity for Rooms and Threads, similar to lastActivity. This also adds a database migration for the oc_talk_rooms and oc_talk_threads tables as well. Functions are introduced and prepared for later use. The use of the field lastActivity to signal when the last real message in a conversation appeared remains unchanged to keep the API stable. The intended use of this feature is to better distinguish between real messages (lastActivity) to notify and bump conversations in the thread list to the top, and other status / metadata related messages (lastMetadataActivity) like room state and participant list changes that shall get synced and be updated in the clients, but not trigger an activity bump of its conversations in the thread list. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…t will still go by last message activity, after introducing lastMetadataActivity, and not sort by last metadata changes in rooms like participant list updates. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…oms and Threads to use / set lastMetadataActivity instaed of lastActivity where appropriate, i.e. where system messages are signalled and not real chat messages. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…em messages like user added or removed, moderator promoted or demoted trigger an activity bump of the conversation in the list and move it to the top. This fix keeps activity bumps for real chat messages but won't bump the activity anymore for the aforementioned system messages. This fix also incorporates use of the new lastMetadataActivity field to update this information instead of lastActivity accordingly and can be expanded later on to handle other kind of messages differently. No changes client side are needed. Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…s only to rooms, remove same handling from threads Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…ssageUpdate to be compatible with another pull request making this field private Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
…e (like room creation) when deciding whether to bump activity Signed-off-by: Christian Lorang <madcatcl2@gmx.de>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com> Signed-off-by: sudormant <madcatcl2@gmx.de>
…e comments Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
…comments Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
Signed-off-by: Christian Lorang <christian.lorang@nextcloud.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
☑️ Resolves
AI (if applicable)
🖌️ UI Checklist
🖼️ Screenshots / Screencasts
🚧 Tasks
🏁 Checklist
🛠️ API Checklist
🚧 Tasks
🏁 Checklist
docs/has been updated or is not required