<InstantSearch> - unable to restore `uiState`?

I have the following code:

[arrrrghhh…this thing isn’t letting me post my code! Keeps giving me a 403 when I add a code block with some React tags]

Code as text is here.

Even though my log statement for firstRender USE CACHE displays and the value I am passing into setUiState() has what I believe to be valid data (image below), the state is not updating and the next render shows that uiState is empty. Do I need to initialize all of the widgets within <ProjectListResults />?

What I’m trying to accomplish is to cache the current uiState, allow the user to navigate elsewhere (e.g. the details screen for one of the results), and then return to the search page exactly where they left off (same query, same facets, same page number). Is there a easier/better/smarter way than trying to cache the uiState each render and restore it on first render?