[3.0] Misc fixes - #9302
Conversation
cbac018 to
a73718e
Compare
a73718e to
dd318d6
Compare
|
Okay, I think I am done messing with this PR. @sbulen, would you care to test whether it solves the problem of not being logged after the upgrader exits? |
8be3518 to
1f2c789
Compare
2.1 => 3.0
|
|
Well, phooey. I must have broken something in my tinkering after I first pushed. I suppose that's what I get for trying to code while sleepy. |
1f2c789 to
b868cf2
Compare
|
2.1 => 3.0Getting a different WSOD:
PHP error log reflects the above. MySQL & Apache logs clear. Upgrade.log:
|
b868cf2 to
a5aef7c
Compare
|
That should be fixed now. The cause was just a silly mistake on my part. If you could test again, @sbulen, that would be lovely! |
|
Note this branch currently has merge conflicts. |
2.0 utf8 => 3.0:Completed successfully, I think, but got this upon transfer to forum.
Some nits:
Upgrade log(bottom):
2.0 MariaDB => 3.0:Completed successfully, but scores of errors when navigating the newly upgraded forum:
Some nits:
|
I suspect that is due to the incomplete theme changes. Once all that is complete, we'll check this again.
The fix for that is pending in #9524.
Was there a backtrace for that?
Were there still some old code files kicking around? I'm trying to figure out how you could have wound up with anything in 3.0 asking for the karma_edit permission. |
|
I think this:
...is happening when you do NOT check the 'Delete all karma settings and info from the DB' box. |
Signed-off-by: Jon Stovell <jonstovell@gmail.com>
Signed-off-by: Jon Stovell <jonstovell@gmail.com>
Ah, yes, I do see now that there are a couple of places where database queries retrieve permissions from the tables and processes them while simply assuming that they are defined in the list of known permissions. For the karma_edit permission, I've dealt with this by adding it to the permissions list as a hidden permission. I've also added backward compatibility code that checks for any orphan permissions in the tables and automatically adds them to the list of known permissions. That should cover the case of any custom permissions added by mods that were written for previous versions of SMF. |
Signed-off-by: Jon Stovell <jonstovell@gmail.com>
7f354ec to
33aec9b
Compare
|
Latest commit should fix the UserDataset errors. |
|
The errors in the RemoveTempAttachments task seem to be completely unrelated to the UserDataset errors, despite the correlation you noticed. The RemoveTempAttachments errors indicate that the value of |
Signed-off-by: Jon Stovell <jonstovell@gmail.com>
942e049 to
e1b2fae
Compare
|
The ones that fail have a simple string, e.g.: I'm pretty sure all versions of SMF prior to 2.1 would leave attachmentUploadDir as a simple string like this if there were only one entry. The 2.1 upgrader had to figure that out... When doing attachment processing, it needed to support restarts/reruns - so it might be a string, it might be a json array, it might be a serialized array. Upgrader attachment processing prior to the JSON conversion step had to handle all 3 possibilities. SMF/other/upgrade_2-1_mysql.sql Line 434 in d3f84fa Note in the above code 'currentAttachmentUploadDir' tells you it's navigating an array... It doesn't exist if it's still just a string... If set, you know it must be json or serialized. Quirky... And leave it in a state where the JSON conversion step could work. SMF/other/upgrade_2-1_mysql.sql Line 608 in d3f84fa |
|
For a fun romp down memory lane... |
|
Let me know if you want me to retest now, or if you want to think about the attachment directory... |
|
Maybe a 2.1 cleanup task that ensures it's ready for the json conversion? |
Is now idempotent (meaning, running the step again won't change anything) and can handle every possible format that the value might have been in before. Signed-off-by: Jon Stovell <jonstovell@gmail.com>
Signed-off-by: Jon Stovell <jonstovell@gmail.com>
Signed-off-by: Jon Stovell <jonstovell@gmail.com>
Signed-off-by: Jon Stovell <jonstovell@gmail.com>
|
There, that should fix the attachments stuff.
Test away, @sbulen! |
|
Derp. Yeah, looks like I forgot a use statement. I'll fix it when I'm back at a computer. |






Maintenance::$contextwith just plain oldUtils::$context. Upon closer inspection, I realized that there was neither any need nor any benefit to having a separate version of$context; it just caused headaches when using other code, such asSecurityToken::create(), that is already designed to work withUtils::$context.