-
Notifications
You must be signed in to change notification settings - Fork 260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add possibility to send scheduled emails. #6215
Conversation
I think this should be merged into feature/outbox |
absolutely! sorry, was a automatic motion |
57cb451
to
8709cf3
Compare
8709cf3
to
b78e22a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good otherwise 🚀
b78e22a
to
d55415a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pattern with the radios seems very weird to me..
I think this is yet another case where a split button would make a whole lotta sense. Why are we resisting them so much? Everyone uses them and while I agree that they should be avoided when possible, sometimes there are very good reasons to use them.
Also, why squeeze important features such as this into little menus instead of giving them more space with a dialog based flow?
Screen.Recording.2022-04-11.at.09.55.01.mov
Sorry for the late criticism, I know it's late for any change to happen, I'm just raising honest concerns I have since I'm seeing this here again.
Woah this looks great already! :D I have some small feedback and some questions:
I think other than that it looks great!
@marcoambrosini a dialogue was the original idea as well, but the new composer would be in a modal, so another modal on top of that would be weird, as pointed out by @ChristophWurst
I think it is kinda confusing, especially since we don't really use it anywhere as of now, and many of our users may not be super fluent with technology. I do agree that we can use it in super niche cases, though. But for this particular case a split button that opens a modal on top of another modal seems like a terrible idea. Amazing work @JuliaKirschenheuter and cc @jancborchardt for any more feedback |
@nimishavijay what's confusing is that basically those radios already act like a split button, in the sense that they modify the outcome of pressing the send button, but the UI doesn't reflect that at all. In my mind, only the "custom" option would open a modal with the datetimepicker. Gmail's composer is also a modal and there's no weirdness per se in having a modal on top of another modal. Or at least it's much less weird than having 3 levels of horizontal navigation within our busy popovers. (all actions -> "scheduler" -> datetimepicker). I don't see how that proposal is a "terrible idea" or in any way less desirable than this |
That's a good point. Right now there is only a difference between "Send now" and "Send later" because the text in the button changes from "Send" to "Send later". Is this enough?
Well you're right, ideally not only the custom date picker but this entire send later flow would be in a modal just like Gmail, and it's not ideal to have everything buried in the action menu. But Gmail's composer is not a modal like ours, it's a little popover window looking thing in the corner which doesn't dim the background or block interactions with the background. The new Mail composer opens a modal which does both of these things. If we do the composer also like Gmail, then having a modal for the send later would make perfect sense :) We don't use a modal on top of another modal anywhere else either (and if we do I think we should change that). It's only because we already have a blocking modal that we fit everything into the action menu. I think we could incorporate more split buttons into our UI, as long as we think about if it is really needed. |
Gmail also has the centered modal, you can have it either way. Anyway I don't want to pollute this pr anymore. I just wanted to raise a general concern that we can move into a separate design discussion about split buttons and this habit we have of squeezing complex flows into little menus. I apologise again for the noise. |
@marcoambrosini could you open a separate issue about this in the Vue components? :) Ideally also collecting other cases where this would be useful, so we can see that/if it makes sense as a pattern. (For the record for here: The 3-dot menu basically already acts as if it’s a split button. It’s not like "Send later" is a thing that is sooo common. So it’s nice that it’s all in one menu with attachments etc, so you see it when you do other things too. In Gmail it’s actually very strange, having the split button, to only have 1 item in there.) |
d55415a
to
9648819
Compare
done
well, unfortunately it is not possible to style a label right now
done
done done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Things I noticed during testing:
- Editing a scheduled message in the outbox will reset the
sendAt
timestamp. I have to select the original date and time manually on each edit. I have a fix ready and can push it if this is indeed a bug/not intended. - Editing a message and sending it again will yield a second/duplicate entry in the outbox. The old message should be deleted in favor of the new version. I did not test if both actually get sent.
- I can't schedule a message for the same hour. I can only select the next hour in the date-time picker. E.g. at 11:02 I can only schedule a message starting from 12:00. Ideally I should be able to schedule it for 11:30 and such. (Might be fixed by Bump @nextcloud/vue from 4.3.0 to 5.3.1 #6219).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
src/components/OutboxComposer.vue
is an emtpy file -> 💥
Ok, push it please
Hm, i have tested it and i can. Could you post some screenshots? |
9648819
to
5f871c6
Compare
I already fixed it locally and can push a commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Scheduled sending dialogue:
- Dialogue is very hidden, I couldn't find it at all at first. (Discussion)
- The default options are a bit far into the future, I would like to see one option to send in half an hour or an hour.
Custom date time option:
- I can't choose a date time in the next hour that has already started. So right now, I have no way to send a mail at 11:30, because the slot from 11 to 12 is not available.
- Don't force the user to use the datetime picker but also let them manually input the date and time via keyboard. This is also an accessibility issue.
- In the datetime picker, scroll to the time slot that is choosable, don't start at midnight. (Follow up)
Confirmation Dialogue
- Change the confirmation dialogue to "Message scheduled for xx.xx.xxxx xx:xx" or similar when scheduling a message (Follow up). Currently it says:
Outbox
6a8ad00
to
bf1eb2b
Compare
Add few action buttons for pre-defined time to send. Add a new submenu for scheduled time. Compute a time to send as a timestamp. Correct the styles. Add disabled parameters to Datetimepicker. Dispatch sendMessage only if sendAt is not available. Fix saving attachments. Fix sending workflow for scheduled messages. Correct locale at DatetimePicker. Correct the confirmation dialogue. Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
bf1eb2b
to
168be7f
Compare
resolves #1626
Add few action buttons for pre-defined time to send.
Add a new submenu for scheduled time.
Compute a time to send as a timestamp.
Correct the styles.
Add disabled parameters to Datetimepicker.
Dispatch sendMessage only if sendAt is not available.
Fix saving attachments.
Fix sending workflow for scheduled messages.
Correct locale at DatetimePicker.
Correct the confirmation dialogue.
Outdated:
after discussion #1626 (comment) set label to one-line, like this
Final version: