Those of us attending the Trump campaign event in Tulsa on Saturday evening were able to see all the colour and character of one of his typical rallies.
There were women in red, white and blue cowboy hats, cut-off jeans and fringed boots. The guy in the red-brick "build the wall" suit turned up, as did perennial warm-up act Diamond and Silk. Mike Lindell, better known as "My Pillow" impresario, worked the crowd, hugging and posing for selfies.
The "Make America Great Again" hats, the Hillary Clinton "lock her up" chants, the ear-piercing soundtrack heavy on Rolling Stones, Elton John and Frank Sinatra - squint, and it felt like the kind of raucous celebration that powered Trump to the White House in 2016 and buoyed him through the ups and downs of his presidency.
The only thing missing, really, was the capacity crowd - the kind the president was bragging he always gets just two days ago - as vast swathes of blue upper-deck seats remained empty even as Trump entered the stage.
Blame the coronavirus for discouraging people from attending, as cases spike in Tulsa and elsewhere. Blame protesters - as the Trump campaign did - for supposedly blocking access to the rally site. Blame mischievous liberals for claiming they flooded the Trump team with fake ticket requests, encouraging the campaign to prepare for massive overflow crowds.
Whatever the reason, those massive crowds simply didn't materialise.
- Protesters topple statues across US
- Four reasons why this was a bad week for Trump
- Tulsa confronts violent past ahead of Trump rally
Both Mike Pence and Donald Trump cancelled speeches at an outdoor venue that sat mostly unfilled. It wasn't a bad turnout, particularly given the circumstances, but when your campaign boasts of more than a million RSVPs, it's an embarrassing look to hit way, way below that mark.
Campaign manager Brad Parscale was one of those boasting the loudest, and given that he was already reported to be on shaky ground with the president, his continued tenure may be in serious jeopardy. This rally was reportedly planned by aides to break the president out from a few weeks of gloominess. Instead, it may further sour his mood.
As for Trump's speech, it was also a throwback to his 2016 campaign heyday - part sounding board for new political themes and part crowd-sourced therapy session, as the mostly mask-less crowd roared and laughed to the president's delight.
He attacked Joe Biden, his presumptive Democratic opponent, as a globalist, a career politician and a "helpless puppet of the radical left". He criticised the Supreme Court, Germany, contractors that tried to charge too much for a new Air Force One jet, bird-killing windmills, protesters who pull down statues and a "military-industrial complex" upset that he wasn't dropping bombs on other countries.
He said Democratic Congresswoman Ilhan Omar, a Somali refugee, "was telling us how to run our country" and blamed China for giving the US the "kung flu" virus.
He opened with a nearly 10-minute complaint about the unfair treatment he received from the media after making a slow walk down a ramp following his speech at the West Point graduation.
"They blame the president for everything," he would later grouse.
Missing was any acknowledgment of the particular moment the US finds itself in, with mass protests across the country against institutional racism and the use of excessive force by law enforcement. Despite having 25 members of the campaign's "Black Voices" advisory board in attendance, he made no mention of the 1921 Tulsa massacre, when a white mob murdered an estimated 300 of the town's black residents.
The closest Trump came was in claiming that, thanks to his criminal justice reform efforts, increased funding for historically black colleges and the once-low black unemployment rate, he had done more for the black community in four years than Biden had done in his 47 years in public office.
"Racial justice begins with Joe Biden's retirement from public life," the president quipped - the only time he mentioned "racial justice" in his speech.
Instead, Trump's remarks were mostly a combination of greatest hits and new riffs, as the president searched for a way to energise his base while landing a punch or two on a Democratic opponent who is proving - at least at this point - to be more difficult to dent than Hillary Clinton, who still gets the loudest jeers from the rally crowds.
For a campaign to steady itself amid sagging polls and a public increasingly uneasy about the direction of the nation, the president may have needed more than a comfort-blanket rally that harkens back to better days and seemed more like a rehash than a reboot.