dolphin icon indicating copy to clipboard operation
dolphin copied to clipboard

[WIP] IOS/Network/KD: Implement Scheduler

Open noahpistilli opened this issue 1 year ago • 6 comments

The goal of this PR is to implement KD's scheduler in its entirety. This includes async tasks at specified intervals, as well as full mail implementation.

As the scope of this PR is pretty big, I am opening this as a draft so I can get feedback and reviews as development continues. Currently I have implemented a basic async scheduler and an async worker, as well as a basic implementation of the NWC24_CHECK_MAIL_NOW Ioctl.

noahpistilli avatar Apr 10 '23 20:04 noahpistilli

This is really cool. For getting this to work, do we need to do NAND dumps off of two separate Wiis and setup WiiLink on each Dolphin instance, or is there a way to test this with a singular NAND or a test server to send mail to?

JMC47 avatar Apr 27 '23 02:04 JMC47

Right now I am working with a singular NAND and a test server which works fine as logs will tell us if there were any errors. You will need a second NAND to see if mail receives, which in my testing it does. RiiConnect24 should be fine for that.

noahpistilli avatar Apr 27 '23 04:04 noahpistilli

Another thing, you can also sent to email addresses which works in my testing.

noahpistilli avatar Apr 28 '23 14:04 noahpistilli

The saving of mail is a WIP, however it is in a state where Wii -> Wii communication is functional. I would like for people to test this out. Email -> Wii is not implemented yet.

How to test receiving

You will need the RiiConnect24 Mail installed onto a NAND dump with the person you want to send to already friended (Friend Reg is not implemented yet).

Have that friend send a message to you and wait roughly 10 minutes from the time they sent it, then boot up Dolphin and wait 1 minute for the scheduler to check for mail.

If all went well, the message should appear in the message board.

You can also reply to the message and it should send.

noahpistilli avatar May 10 '23 00:05 noahpistilli

If you need to update curl, could you split that out into a separate PR and state your reasoning? (I guess our version could use a bump anyway...)

AdmiralCurtiss avatar May 28 '23 21:05 AdmiralCurtiss

Was planning to split it, the reason is because the current version does not support sending MIME in requests, which is what one of the mail endpoints requires.

noahpistilli avatar May 28 '23 21:05 noahpistilli