spreed icon indicating copy to clipboard operation
spreed copied to clipboard

fix(conversations): remove Delete conversation from quick actions conversation menu

Open ShGKme opened this issue 10 months ago • 6 comments

☑️ Resolves

  • There is a "Delete conversation" in the conversation list quick actions menu
  • Unlike leaving, it is a very destructive operation
  • IMO, it shouldn't be available in a conversation menu
  • Even with the confirmation dialog, a user may just quickly click "Confirm" without reading
    • There is a similar dialog on leaving which is not so dangerous
  • To reduce the risk of accidental deletion, I'd propose removing it from the close menu
  • A user can still remove conversation from the settings, where it is more obviously a destructive operation

Alternative - having double confirmation.

🖌️ UI Checklist

🖼️ Screenshots / Screencasts

🏚️ Before 🏡 After
image image

🏁 Checklist

  • [ ] 🌏 Tested with different browsers / clients:
    • [ ] Chromium (Chrome / Edge / Opera / Brave)
    • [ ] Firefox
    • [ ] Safari
    • [ ] Talk Desktop
    • [x] Not risky to browser differences / client
  • [ ] 🖌️ Design was reviewed, approved or inspired by the design team
  • [ ] ⛑️ Tests are included or not possible
  • [ ] 📗 User documentation in https://github.com/nextcloud/documentation/tree/master/user_manual/talk has been updated or is not required

ShGKme avatar Feb 18 '25 12:02 ShGKme

Alternative - having double confirmation.

We had some thoughts about that in another call. It e.g. would make sense to ask for further confirmation if the conversation is:

  • Having many chats (ours had 25k)
  • Having many shares (ours had 1.3k)
  • Is Old but still Current (first message from 2019, latest from 2025)

Instead of removing it, we could open the "Danger zone" area when click on Delete?

nickvergessen avatar Feb 18 '25 12:02 nickvergessen

Instead of removing it, we could open the "Danger zone" area when click on Delete?

Works for me, also makes it different from the "leave conversation" confirmation.

nimishavijay avatar Feb 19 '25 07:02 nimishavijay

Something like this should work then:

Conversation.vue:

emit('show-conversation-settings', { token: this.item.token, sectionId: 'dangerzone' })

ConversationSettingsDialog.vue:

handleShowSettings({ token, sectionId }) {
	...
	if (sectionId) {
		this.$nextTick(() => {
			document.getElementById(`settings-section_${sectionId}`).scrollIntoView()
		})
	}
}

Antreesy avatar Feb 24 '25 11:02 Antreesy

Something like this should work then

It should move the focus first, otherwise the user is moved back on keyboard navigation

document.getElementById(settings-section_${sectionId})

It is not a public API, can be broken on minor update

ShGKme avatar Feb 25 '25 11:02 ShGKme

can be broken on minor update

I just meant the approach. We can scroll to the Talk-defined header we know will exist in this place: DangerZone -> <h4>Delete conversation</h4>

Antreesy avatar Feb 25 '25 12:02 Antreesy

Something for 21.1?

nickvergessen avatar May 22 '25 09:05 nickvergessen