SauceLLC / sauce4zwift

Sauce for Zwift™
GNU General Public License v3.0
106 stars 26 forks source link

Parse and handle to special Event tags/hashtags for data culling #40

Closed mayfield closed 1 year ago

mayfield commented 1 year ago

In order to provide event organizers with some control over how Sauce is used in their events we can look for strings matching the commonly accepted hashtag grammar in the tail of an event description. A set of predefined tags detected in the event description which are added by the event organizer can stipulate what things Sauce should hide or not provide for any athletes in that event. Namely to provide data culling actions which the event organizer doesn't want participants or onlookers to be privy to such a heart rate data, or W'bal estimations.

The term tag in in this context can refer to two different mechanisms. The unofficial hashtag grammar used in an event description text (described above) and also an official tag added by Zwift HQ in the event tags field, found in the data response from the events APIs.

While event organizers don't have direct control over this official tags field, it is another way that Zwift HQ can influence control over Sauce, but in this case without having to resort to placing specially formatted text in the event description. Note that this is exactly how HUD-less events are conducted today. A tag of hidethehude is placed in the event tags field which the game (and Sauce) respond to accordingly.

The list of tags Sauce looks for must be advertised properly so event organizers are aware of them. We should place this list somewhere prominent in the README, as well as create a linkable webpage so that event organizers can quickly refer to it and share it.