Skip to content

feat(reply_private): Enhance reply private quote#17069

Merged
nickvergessen merged 6 commits intonextcloud:mainfrom
existentialcoder:iss-6301
Mar 31, 2026
Merged

feat(reply_private): Enhance reply private quote#17069
nickvergessen merged 6 commits intonextcloud:mainfrom
existentialcoder:iss-6301

Conversation

@existentialcoder
Copy link
Copy Markdown
Contributor

@existentialcoder existentialcoder commented Feb 12, 2026

☑️ Resolves

🖌️ UI Checklist

  • Handle privatereply by passing the parentToken for a new message send and schedule

🖼️ Screenshots / Screencasts

https://streamable.com/9e1rzv

🏁 Checklist

  • 🌏 Tested with different browsers / clients:
    • Chromium (Chrome / Edge / Opera / Brave)
    • Firefox
    • Safari
    • Talk Desktop
    • Integrations with Files sidebar and other apps
    • 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

🛠️ API Checklist

🚧 Tasks

  • Introduce replyToToken on sendMessage and scheduleMessage on ChatController
  • Create a message with special verb private_reply to store all the parent details

🏁 Checklist

  • ⛑️ Tests (unit and/or integration) are included or not possible
  • 📘 API documentation in docs/ has been updated or is not required
  • 🔖 Capability is added or not needed

Comment thread lib/Chat/ChatManager.php Outdated
@nickvergessen nickvergessen added enhancement feature: chat 💬 Chat and system messages feature: api 🛠️ OCS API for conversations, chats and participants feature: frontend 🖌️ "Web UI" client labels Feb 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

(If you believe you should not receive this message, you can add yourself to the blocklist.)

Comment thread src/components/MessagesList/MessagesGroup/Message/MessagePart/MessageBody.vue Outdated
Comment thread src/store/messagesStore.js
Comment thread src/types/openapi/openapi.ts
Copy link
Copy Markdown
Contributor

@Antreesy Antreesy left a comment

Choose a reason for hiding this comment

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

Please split your changes into at least three commits for readability:

  • PHP changes
  • regenerated openapi files (json ans ts)
  • Frontend changes

Comment thread lib/Controller/ChatController.php
Comment thread lib/Controller/ChatController.php Outdated
@existentialcoder existentialcoder force-pushed the iss-6301 branch 2 times, most recently from ff89ef6 to 569561e Compare March 14, 2026 21:26
@existentialcoder
Copy link
Copy Markdown
Contributor Author

Please split your changes into at least three commits for readability:

  • PHP changes
  • regenerated openapi files (json ans ts)
  • Frontend changes

Have done this. Kindly re-review and let me know if all your existing comments are addressed and test cases work.

Comment thread lib/Model/Message.php Outdated
Copy link
Copy Markdown
Member

@nickvergessen nickvergessen left a comment

Choose a reason for hiding this comment

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

Some small comments, but mostly fine backend-wise.

Would be good to have integration tests, but can also do that in a follow up

Comment thread lib/ResponseDefinitions.php
Comment thread lib/Controller/ChatController.php Outdated
Comment thread lib/Controller/ChatController.php Outdated
Comment thread lib/Controller/ChatController.php
Comment thread lib/Controller/ChatController.php Outdated
Comment thread lib/Chat/Parser/PrivateReply.php Outdated
@existentialcoder
Copy link
Copy Markdown
Contributor Author

existentialcoder commented Mar 16, 2026

Some small comments, but mostly fine backend-wise.

Would be good to have integration tests, but can also do that in a follow up

I would like to take this as a follow-up as this PR got already big enough. Addressed all the comments, otherwise :)

Copy link
Copy Markdown
Contributor

@Antreesy Antreesy left a comment

Choose a reason for hiding this comment

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

I really like the feature, but it should have a good ground to continue maintain and build from (e.g. we can use the same approach later to forward messages). At the moment I'm not fond of constructing the message object on client side, esp. if it breaks older and mobile clients

Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread src/stores/chatExtras.ts Outdated
Comment thread src/stores/chatExtras.ts Outdated
Comment thread src/stores/chatExtras.ts
Comment thread src/components/MessageQuote.vue Outdated
Comment thread src/components/MessageQuote.vue Outdated
@existentialcoder
Copy link
Copy Markdown
Contributor Author

I really like the feature, but it should have a good ground to continue maintain and build from (e.g. we can use the same approach later to forward messages). At the moment I'm not fond of constructing the message object on client side, esp. if it breaks older and mobile clients

Have made all UI changes on top of @nickvergessen 's API change. Let me know if this is good to go now @Antreesy

Copy link
Copy Markdown
Contributor

@Antreesy Antreesy left a comment

Choose a reason for hiding this comment

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

Mostly minor comments from frontend side. Otherwise works fine, even render on old clients seems acceptable to me (visible text, non-working link is ok)

Regarding visual - we can discuss with designers and take over a follow-up after merge. I think we shouldn't show the full message, 2-3 lines can be enough

Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread src/components/MessageQuote.vue Outdated
Comment thread src/components/MessageQuote.vue Outdated
Comment thread src/components/MessageQuote.vue Outdated
Comment thread src/components/MessageQuote.vue Outdated
Comment thread src/components/MessageQuote.vue Outdated
Copy link
Copy Markdown
Contributor

@Antreesy Antreesy left a comment

Choose a reason for hiding this comment

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

Last iteration, I hope. Noticed a couple of things to pay attention to and revert leftovers from previous chages, otherwise that's a green light from me =)

Comment thread src/services/CapabilitiesManager.ts Outdated
Comment thread lib/Capabilities.php
Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread src/components/NewMessage/NewMessage.vue Outdated
Comment thread lib/Controller/ChatController.php
@existentialcoder
Copy link
Copy Markdown
Contributor Author

Last iteration, I hope. Noticed a couple of things to pay attention to and revert leftovers from previous chages, otherwise that's a green light from me =)

This is done

Antreesy

This comment was marked as resolved.

@existentialcoder existentialcoder force-pushed the iss-6301 branch 2 times, most recently from adaf1a1 to 6575b43 Compare March 28, 2026 11:10
Comment thread src/components/MessageQuote.vue Outdated
existentialcoder and others added 6 commits March 31, 2026 17:56
Signed-off-by: existentialcoder <shravanayyappa@gmail.com>
Signed-off-by: existentialcoder <shravanayyappa@gmail.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
@nickvergessen
Copy link
Copy Markdown
Member

@nickvergessen nickvergessen merged commit 593dd11 into nextcloud:main Mar 31, 2026
75 of 79 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement feature: api 🛠️ OCS API for conversations, chats and participants feature: chat 💬 Chat and system messages feature: frontend 🖌️ "Web UI" client feedback-requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reply privately does not quote message

3 participants