-
Notifications
You must be signed in to change notification settings - Fork 164
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
feat(backend): add scheduled send functionality #1091
base: master
Are you sure you want to change the base?
feat(backend): add scheduled send functionality #1091
Conversation
7aaffb2
to
0c58a6a
Compare
Will this work with JMAP as well? |
0c58a6a
to
0aef136
Compare
Yes, anything we add for IMAP, we should check JMAP support as well. Overall, it is built on top of IMAP, so it should work but please check if the new Scheduled folder is OK for JMAP. Overall, the code is good but I have one concern - it only sends out while you are actively using Cypht and it seems to warn of unsent/scheduled messages each time you leave a page (onbeforeunload). That would be annoying for the end user. I believe this comment #576 (comment) proposes using sendAt support from jmap servers or scheduled send - if it is supported, we use it, if not, we fallback to a more annoying option. At any rate, it should be configurable. This could be fully-supported in the Cypht-Tiki integration where there could be a Tiki command run periodically in the scheduler that checks and sends scheduled messages. |
@kroky I added a commit to fix issue concerning onbeforeunload event and also add the option to change schedule time or send the message immediately. Can you check please. |
36599a8
to
2da4ff4
Compare
@amaninyumu1 If you need help with JMAP, please reach out to @Shadow243 as he set up a JMAP server for testing. |
45374ae
to
bdf9d5d
Compare
cf0574d
to
af1c185
Compare
@amaninyumu1 "This branch has conflicts that must be resolved" |
141f8d9
to
16293f5
Compare
16293f5
to
41c9b95
Compare
41c9b95
to
3fb7802
Compare
@amaninyumu1 This branch has conflicts that must be resolved |
3fb7802
to
e725bcc
Compare
Hello @marclaporte , @kroky I resolved the conflicts. please review |
There are still conflicts and I believe big part of the reason is #1266 - @jacob-js , can you check if some handlers in this PR need to be updated according to the router changes you did in 1266? |
6409b31
to
d36293a
Compare
Hello @mercihabam I just added a new commit to fix server error Uncaught Error: Call to undefined method Hm_Mailbox::get_mailbox_status() which occurred after rebasing with the master branch. Please review |
For the video demonstration I am blocked by this error server |
modules/smtp/modules.php
Outdated
foreach ($ids as $msg_part) { | ||
list($imap_server_id, $msg_id, $folder) = explode('_', $msg_part); | ||
$cache = Hm_IMAP_List::get_cache($this->cache, $imap_server_id); | ||
$imap = Hm_IMAP_List::connect($imap_server_id, $cache); |
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.
Now that EWS has been merged to master, we bypass direct imap object usage from Hm_IMAP_List in all handler modules and instead use Hm_Mailbox which is a bridge between handlers and imap/ews implementation classes. Please update this code according to what is currently present in imap handler_modules after merging (or rebasing) latest mater.
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.
Note that in order to merge upstream changes successfully, it is not only a matter of resolving the conflicts but understanding the upstream changes and doing local changes to your code accordingly.
@amaninyumu1 can you fix? |
f2b7589
to
45924cf
Compare
Hello @marclaporte , @mercihabam , @kroky , @josaphatim . After making several adjustments to this PR, I noticed that the expected results caused unexpected contingencies, making it difficult to achieve the initially defined objectives. I will identify and recover the essential changes made in this PR. |
a1cad15
to
0a93bf2
Compare
…modules/imap/functions.php
Removed redundant showRoutingToast() and hideRoutingToast() calls in reload_and_redirect function as navigate() handles them. Streamlined the process for scheduling and snoozing actions.
…or: Call to undefined method Hm_Mailbox::get_mailbox_status()
…modules/imap/functions.php
3b4f9f1
to
cfb9c78
Compare
e12e4a2
to
d89ccfe
Compare
120c24c
to
a973e4c
Compare
a973e4c
to
2b80186
Compare
issue
issue