When retention timer hits, make event "invisible"
This means we support invisible messages now (but currently have no means for admin to manually mark messages as such)
This commit is contained in:
parent
b00c734f37
commit
2d6f5d3df8
1 changed files with 11 additions and 3 deletions
|
|
@ -873,7 +873,11 @@ export default {
|
|||
* Set events to display. At the same time, filter out messages that are past rentention period etc.
|
||||
*/
|
||||
setEvents(events) {
|
||||
this.events = this.removeTimedOutEvents(events);
|
||||
this.events = this.filterOutOldAndInvisible(events);
|
||||
},
|
||||
|
||||
filterOutOldAndInvisible(events) {
|
||||
return this.removeTimedOutEvents(events.filter((e) => e.messageVisibility().visible));
|
||||
},
|
||||
|
||||
updateRetentionTimer(maybeEvent) {
|
||||
|
|
@ -901,14 +905,18 @@ export default {
|
|||
}
|
||||
return events.filter((e) => {
|
||||
if (maxLifetime > 0 && !e.isState()) { // Keep all state events
|
||||
return e.getLocalAge() < maxLifetime;
|
||||
if (e.getLocalAge() < maxLifetime) {
|
||||
return true;
|
||||
}
|
||||
e.applyVisibilityEvent({ visible: false, eventId: e.getId(), reason: null});
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
},
|
||||
|
||||
onRetentionTimer() {
|
||||
const events = this.removeTimedOutEvents(this.events);
|
||||
const events = this.filterOutOldAndInvisible(this.events);
|
||||
if (events.length != this.events.length) {
|
||||
this.events = events; // Changed
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue