humanmade / Cavalcade

A better wp-cron. Horizontally scalable, works perfectly with multisite.
https://engineering.hmn.md/projects/cavalcade/
Other
529 stars 46 forks source link

Multibyte characters in args break when unserialising #85

Open roborourke opened 5 years ago

roborourke commented 5 years ago

Jobs containing args that contain multibyte unicode characters such as emoji can't be run as after they're serialised they do not unserialise correctly.

rmccue commented 5 years ago

I believe this is an issue with the table and/or column encoding not supporting utf8mb4?

roborourke commented 5 years ago

Yeah doesn't look like the db table creation scripts force utf8mb4.

roborourke commented 5 years ago

Time for an upgrade_database_3() function I think.

peterwilsoncc commented 5 years ago

I’ve started working on a third version of the DB scheme in #86 to account for the new preflight filters.

I might split it out the DB upgrade in to its own PR and incorporate this to avoid multiple upgrade steps.

WordPress core does some voodoo to support multibyte characters in older versions of MySQL.

I figure we can leave out the voodoo and limit the check to make sure the server supports multibyte characters. Without such support, Cavalcade doesn’t support the characters in arguments