Skip to content

Conversation

@sowjanyakch
Copy link
Contributor

@sowjanyakch sowjanyakch commented Jan 12, 2026

Resolve #5634

  • Schedule messages with a long click on the send button.
  • Able to edit, reschedule, delete, send now scheduled messages from long press menu of the scheduled message.
  • Complete composable scheduled messages view and use native emoji picker.
Screenshot 2026-01-19 at 18 10 36 Screenshot 2026-01-19 at 18 11 03 Screenshot 2026-01-21 at 19 18 59 Screenshot 2026-01-19 at 18 38 48 Screenshot 2026-01-19 at 19 35 59

🚧 TODO

  • ...

🏁 Checklist

  • ⛑️ Tests (unit and/or integration) are included or not needed
  • 🔖 Capability is checked or not needed
  • 🔙 Backport requests are created or not needed: /backport to stable-xx.x
  • 📅 Milestone is set
  • 🌸 PR title is meaningful (if it should be in the changelog: is it meaningful to users?)

@sowjanyakch sowjanyakch marked this pull request as draft January 12, 2026 08:25
@sowjanyakch sowjanyakch force-pushed the feat/5634/scheduledMessages branch 5 times, most recently from 8a6b5c5 to 59b45c3 Compare January 20, 2026 11:17
@sowjanyakch sowjanyakch marked this pull request as ready for review January 20, 2026 11:18
@sowjanyakch sowjanyakch force-pushed the feat/5634/scheduledMessages branch 2 times, most recently from ff39280 to 568c89b Compare January 20, 2026 11:43
@sowjanyakch sowjanyakch changed the title Feat/5634/scheduled messages Feat: Schedule messages Jan 20, 2026
@sowjanyakch sowjanyakch self-assigned this Jan 20, 2026
@sowjanyakch sowjanyakch added the 3. to review Waiting for reviews label Jan 20, 2026
Copy link
Collaborator

@mahibi mahibi left a comment

Choose a reason for hiding this comment

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

open a chat
see that there is an endless loop:

2026-01-21 10:33:45.652 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  <-- 200 https://xxxxxxxx.com/ocs/v2.php/apps/spreed/api/v1/chat/5845852403/schedule (175ms)
2026-01-21 10:33:45.653 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  server: nginx
2026-01-21 10:33:45.654 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  date: Wed, 21 Jan 2026 09:33:44 GMT
2026-01-21 10:33:45.654 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  content-type: application/json; charset=utf-8
2026-01-21 10:33:45.654 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-request-id: FJhH4va9pyZQNmF5fBhT
2026-01-21 10:33:45.654 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  cache-control: no-cache, no-store, must-revalidate
2026-01-21 10:33:45.654 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  content-security-policy: default-src 'none';base-uri 'none';manifest-src 'self';frame-ancestors 'none'
2026-01-21 10:33:45.655 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  feature-policy: autoplay 'none';camera 'none';fullscreen 'none';geolocation 'none';microphone 'none';payment 'none'
2026-01-21 10:33:45.655 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-robots-tag: noindex, nofollow
2026-01-21 10:33:45.655 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-user-id: marcel2
2026-01-21 10:33:45.655 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  strict-transport-security: max-age=15768000; includeSubDomains; preload
2026-01-21 10:33:45.656 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  referrer-policy: no-referrer
2026-01-21 10:33:45.656 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-content-type-options: nosniff
2026-01-21 10:33:45.656 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-frame-options: SAMEORIGIN
2026-01-21 10:33:45.656 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-permitted-cross-domain-policies: none
2026-01-21 10:33:45.656 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-robots-tag: noindex, nofollow
2026-01-21 10:33:45.656 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  x-xss-protection: 1; mode=block
2026-01-21 10:33:45.658 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":[]}}
2026-01-21 10:33:45.659 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  <-- END HTTP (74-byte body)
2026-01-21 10:33:45.699 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  --> GET https://xxxxxxxx.com/ocs/v2.php/apps/spreed/api/v1/chat/5845852403/schedule
2026-01-21 10:33:45.699 32164-4051  okhttp.OkHttpClient     com.nextcloud.talk2                  I  Authorization: ██
Image

This screen definitely needs a description in the header. At least "Scheduled messages" as first header and "In [conversationame]" as seconds header.

Image

please align the icon with web (use the clock icon, not calendar):

Image

the component for the ripple effect should be extended, it's quite small?
Also it would be better to keep it marked. This would make it more clear that the usr has to click on "Schedule message" afterwards. At first i was confused that clicking a time did not close the dialog and apply the selection.

Image Image

The scheduled messages should be ordered by date and time. And also show the date, not only the time.

Image Image

@sowjanyakch sowjanyakch added 1. to develop Accepted and waiting to be taken care of (should be only set by nextcloud employees) and removed 3. to review Waiting for reviews labels Jan 21, 2026
@sowjanyakch sowjanyakch marked this pull request as draft January 21, 2026 18:33
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
@sowjanyakch sowjanyakch force-pushed the feat/5634/scheduledMessages branch from 568c89b to 4147442 Compare January 21, 2026 18:39
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
@sowjanyakch sowjanyakch force-pushed the feat/5634/scheduledMessages branch from 4147442 to a55877d Compare January 21, 2026 18:46
@github-actions
Copy link
Contributor

APK file: https://www.kaminsky.me/nc-dev/android-artifacts/5690.apk

qrcode

To test this change/fix you can simply download above APK file and install and test it in parallel to your existing Nextcloud app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1. to develop Accepted and waiting to be taken care of (should be only set by nextcloud employees)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement UI for scheduled messages

3 participants