"Unknown error" constantly, seems tied to user preferences I have a user group called Content Loaders with limited permissions. After creating a test user in this group I got an "An unknown error occurred" message every time I navigated anywhere in the CP or saved a change (though both were successful). I started adding back permissions and when I re-enabled General > Perform Craft CMS and plugin updates, the errors went away. Not sure if this is a configuration issue on this new staging server, but everything else seems to be working. I can't find any posts about similar issues. Obviously I don't want people doing data entry to be able to perform Craft updates! ;) Anyone have a clue what might be causing this?

Possibly related: even with an admin account checking for updates just shows the spinner image endlessly. I have no problem checking for updates on my local install. This is running on DigitalOcean (with ServerPilot), Ubuntu 14.04.4 x64 with PHP 7.

The only errors I saw in craft.log (which I cleared before doing something that caused the cpanel error to appear) looked like this: 

2016/07/31 03:45:43 [error] [php] include([snipped path]craft/plugins/commerce/vendor/composer/../guzzle/guzzle/src/Guzzle/Http/Client.php): failed to open stream: No such file or directory ([snipped path]craft/app/vendor/composer/ClassLoader.php:412)
This was apparently caused by an almost complete but failed deployment of the app folder. Only a few files were missing/corrupted so Craft still worked other than the issue described. 

I replaced the entire craft/app folder (deleted it, unzipped Craft on the server and used mv) and updated the permissions. At this point I got the same error. The error continued to show up after disabling all plugins other than Commerce. But when I disabled Commerce I was able to check for updates again (Craft was already up to date), and under the limited user the errors no longer appear. Oddly, re-enabling Commerce changes nothing. I did encounter a PHP error when navigating within Commerce, so I followed similar steps to upload a fresh copy. Everything appears to be working correctly now.