openfrontio / openfrontio/OpenFrontIO
Base event tier, lifetime, and eviction on message importance
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 1.4k
- Avg merge
- 17h 43m
- Merged PRs (30d)
- 310
Description
## Purpose
Events that need a reaction expire and get evicted on the same rules as routine chatter.
---
## Objectives
Events you have to react to should stay up longer than routine ones, and shouldn't get pushed off screen by a burst of low value messages.
---
## Description
#3910 split the feed into two panels so high value notifications weren't mixed in with low value ones. That split decides where an event renders, but not how long it lives.
Everything expires on the same rule at `EventsDisplay.ts:215`, a flat 8 seconds. Eviction is by age too, tier 2 keeps the last 4 entries and the feed keeps the last 30. So a chat burst can push an inbound nuke warning off screen before you react to it.
My plan is to give each `MessageType` an importance level, then have the tier split, lifetime, and eviction read from that instead of the hardcoded `TIER_1_TYPES` set. Events that need a reaction get a longer lifetime and get skipped by the eviction caps. Nothing currently prominent gets demoted, it's the same membership split into two levels.
This doesn't overlap with the grouping work in #4516, that reduces volume by merging entries and this weights them.
I'm also able to keep the mapping client side if you'd rather not touch `src/core`.
---
Discord: Hurdan
Contributor guide
Assessment
This issue has not been assessed yet.