Just setup a fresh 7.3 cluster across the board. Everything was working but I deleted an old heartbeat index and now my Uptime dashboard just spins. The index recreated correctly and I can view all heartbeats on the Discover dashboard but nothing on Uptime. I just get the loading screen and it never stops. Everything is set to defaults. Index pattern is default 7.3 index pattern. Template is there.
I got it to work. I reindexed heartbeat to a temporary index, deleted all heartbeat-* indices and templates, stopped heartbeat and ran setup again to reimport template and recreate index. I then reindexed my data back from temporary and everything works again.
Apologies for the delay here. This is something we're working to address but will need changes for ES core.
The central issue here is that if a beat has its indices deleted while running it will write directly to an alias and auto-create an index with the wrong mapping.
I've opened https://github.com/elastic/kibana/issues/43071 to track the creation of a better error message.