adventure: stay out of the room when TwinBee already said it
gogobee announces treasure finds, duels, mischief contracts and the Siege to the games room in TwinBee's voice, and files the same moments here as facts. Both land in the same room, so the realm heard every one of them twice, in two voices, minutes apart. Hold those types back from Matrix. They are stored and published on the site exactly as before, and the push alerts still fire; only the live priority beat and the digest sweep skip them, retired against the digest the same way a no_push backfill is. Types with no room announce behind them (zone clears, arrivals, deaths, milestones) are untouched and stay Pete's to report. room_silent_types overrides the default set; an explicit empty list turns the suppression off.
This commit is contained in:
@@ -69,6 +69,7 @@ type Server struct {
|
||||
pushHTTP *http.Client // SSRF-guarded client for Web Push delivery; built lazily by pushClient()
|
||||
adv config.AdventureConfig // gogobee adventure-news seam
|
||||
advPost PriorityPoster // posts priority adventure beats to Matrix; nil = web-only
|
||||
roomSilent map[string]bool // event types TwinBee announces itself: site yes, Matrix never
|
||||
channels []Channel // live sections: the catalogue minus anything gated off (adventure)
|
||||
|
||||
// Daily-rotated salt for the privacy-preserving unique-visitor estimate.
|
||||
@@ -144,7 +145,7 @@ func New(cfg config.WebConfig, sources []config.SourceConfig, postingEnabled boo
|
||||
live = append(live, ch)
|
||||
}
|
||||
|
||||
s := &Server{cfg: cfg, sources: infos, postingEnabled: postingEnabled, tpls: tpls, adminSubs: adminSubs, adv: adv, advPost: advPost, channels: live, hub: newGamesHub(), tableLocks: newStripedLocks(), tableGames: []tableGame{holdemTable{}, unoTable{}}}
|
||||
s := &Server{cfg: cfg, sources: infos, postingEnabled: postingEnabled, tpls: tpls, adminSubs: adminSubs, adv: adv, advPost: advPost, roomSilent: adv.RoomSilentSet(), channels: live, hub: newGamesHub(), tableLocks: newStripedLocks(), tableGames: []tableGame{holdemTable{}, unoTable{}}}
|
||||
|
||||
// Optional OIDC sign-in (Authentik). Discovery is a network call; if the
|
||||
// provider is unreachable at boot we log and serve anonymously rather than
|
||||
|
||||
Reference in New Issue
Block a user