The downside of this is that the raw error gets reported to the user in the room, instead of just being logged.
.. and ensure that getSettings() always returns either a default empty settings object or an error.