Actually, there was a political game played here by the mayor. The city and convention organizers had a go/no go meeting at the drop dead date for the convention contract. The city agreed the event could go on, and the convention agreed to follow a list of safety precautions (masks, spacing, temperature checks, etc.). The convention center itself is huge, so there would be plenty of room, even if the full 6000 attendees were there (which was unlikely). At that point, the convention would have to pay a huge penalty if they cancelled (which is why they had the meeting). The city then didn't waited until the 11th hour, and cancelled on them.
I don't disagree in cancelling, but the city should have done that at the meeting with the convention organizers. They could have mutually cancelled, and would have had time to make alternate arrangements - going virtual or moving to a less affected location. They shouldn't have said 'no problem' with agreement to specific precautions, proceed as if the event was a 'go', then cancel at the last minute.
Granted - I put a big part of the blame on the Republican state convention. They should have pushed to get out of the contract, and move the event elsewhere. More than that, they never should have scheduled the event in Houston to begin with, where they would be vulnerable to this type of gamesmanship.