You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The core issue is that if admin_info_files is empty, you cannot recover the files by simply rerunning the Fetch SMF Files task.
Note that the admin_info_files structure itself contains info necessary to build the queries to reload its data column... So, no rows = no data...
This was designed as an extensible & configurable mechanism. We've only really used it for 4 files: current version info, latest version info, latest news & latest versions.
So... Is it worth it to be able to rebuild entirely with Fetch SMF Files???
Fixing this for 3.0 should be pretty simple. When the data is retrieved from the table, we can compare it to SMF\Db\Schema\v3_0\AdminInfoFiles::$initial_data. If something is missing, we can repopulate it on the fly. That wouldn't address missing data that was originally added by a mod, but it would at least allow us to recover if SMF's own data has gone missing.
Fixing this for 2.1 would be harder, though. The initial data for that table is only recorded in the install and upgrade SQL files for 2.1, which are deleted after they've been used. I suppose we could hard code the expected data into the PHP files somewhere, but I don't like that idea at all. I'm more inclined to leave the issue unaddressed for 2.1.
Activity
Sesquipedalian commentedon Aug 20, 2026
Fixing this for 3.0 should be pretty simple. When the data is retrieved from the table, we can compare it to SMF\Db\Schema\v3_0\AdminInfoFiles::$initial_data. If something is missing, we can repopulate it on the fly. That wouldn't address missing data that was originally added by a mod, but it would at least allow us to recover if SMF's own data has gone missing.
Fixing this for 2.1 would be harder, though. The initial data for that table is only recorded in the install and upgrade SQL files for 2.1, which are deleted after they've been used. I suppose we could hard code the expected data into the PHP files somewhere, but I don't like that idea at all. I'm more inclined to leave the issue unaddressed for 2.1.