On non-clustered installations the semantics of error handling Futures is different than for clustered installations. The result for non-clustered installations is that when an error happens querying history (or querying file paths for browse, branches, etc.) an exception is thrown during the construction of the query future rather than the resolution of the future. The construction of the futures is not guarded by try/catch and the end result to the user is that no content appears. The intent of this page is to still render parts of the page which succeed in having their content loaded, particularly the ability the access the Actions > Manage button.
To reproduce:
- Configure a non-clustered environment with a repository
- Remove a recent changeset from the repository's on-disk state
- Navigate to the repository's main page
The result is a page with the error but no other controls:
Additionally, this specific error occurs when trying to query recent history of the repository, of which the history is no longer used on this page. This query can be outright removed, reducing the chance of an error happening and possibly improving the loading of the page.