Difficulty upgrading from 9.0.2.2

I tried to upgrade from 9.0.2.2 to 9.0.4, which died midway because of a php timeout, I should have used occ.

So I restored the web folder from 8.2.2, I dont know why, I wasn't thinking clearly. Then did an occ upgrade. This succeeded but the site didn't work. The error I was receiving was Class 'OCA\FederatedFileSharing\AppInfo\Application' not found in /var/www/owncloud/ocs/routes.php on line 102

I deleted the owncloud folder, restored from my 9.0.2.2 backup, then did an occ upgrade. Now I get PHP Fatal error: Call to undefined method OCA\Federation\AppInfo\Application::setupCron() in /var/www/owncloud/apps/federation/appinfo/update.php on line 23 and the upgrade appears to have failed.

Any help would be appreciated.

See:

https://github.com/owncloud/core/issues/25552

how to do a correct upgrade which solves this issue.

Confirming this issue:

Updating <federation> ...
An unhandled exception has been thrown:
Error: Call to undefined method OCA\Federation\AppInfo\Application::setupCron() in /var/www/owncloud/apps/federation/appinfo/update.php:23
Stack trace:
#0 /var/www/owncloud/lib/private/legacy/app.php(1192): include()
#1 /var/www/owncloud/lib/private/Updater.php(374): OC_App::updateApp('federation')
...

It shouldn't be needed to confirm this. Have a look at the already posted issue there which shows a possible solution.