I need some time to build all the tests again.
Anyway, if you send an encrypted message to yourself, you will see that only a plain text message without attachments works (do the test with signature included). You see the green squared message that it was decrypted, and the decrypted text.
Any other combination (html, attachments) fails to decrypt and you get a blank page.
The main issue with parsing the correct content type is the "^" character, which failed on my system. Maybe, Debian systems expect just a "\n" and instead the files also contain "\r". There is no issue removing the "^" and all works.
The issue with attachments is that the wrong (incomplete) mime_id was passed. Thus, decryption hung and you saw again the blank page. That's why I updated with the "1.2" value, which is the usual position of the text when there are attachments, and all worked. I saw this printing the structure of the message and comparing it to a text plain email without attachment.
Last, if the message contained a signature, it displayed the usual blank page again, because Roundcube parser does not take into account signatures. So you need to remove it from the body before passing it to Roundcube functions.
That's it.