mantisbt-plugins / Announce

Announcements plugin for MantisBT, lets privileged accounts create and post announcements that can be shown to users on a global or per-project basis, and allow users to dismiss individual messages.
MIT License
20 stars 14 forks source link

The old announcments sometimes will show #47

Closed jl33 closed 5 years ago

jl33 commented 5 years ago

Sometimes old announcments will showing again,which those announcments were exceeded the "time of live". I use the newest version 2.4.0 of Ammounce with Mantisbt 2.17.0.

dregad commented 5 years ago

When an announcement is updated, it will show again users who dismissed it.

I don't know if this is your scenario, but without detailed steps to reproduce, this is the only explanation I can think of at the moment.

As a side note, you should upgrade Mantis to 2.17.2 to patch a few security issues (see changelog).

jl33 commented 5 years ago

Thank you for your answer. Indeed, I have to dismiss it, and no longer see the announcment again. But,what does the "Time to Live" mean? I thought the "Time to Live" means that an announcment will automatically disappear after the time has elapsed,even the user do not dismiss it.

dregad commented 5 years ago

I thought the "Time to Live" means that an announcment will automatically disappear after the time has elapsed,even the user do not dismiss it.

Yes that's exactly what it is. Note that the plugin makes no difference between a "manual" dismissal, and the "automatic" one (i.e. after timeout).

jl33 commented 5 years ago

Finally,I test and find out the key point. The "Time to Live" is only useful for announcments that not check the "Dismissable" checkbox. So there is no bug, just a misunderstand. Thank you!

dregad commented 5 years ago

The "Time to Live" is only useful for announcments that not check the "Dismissable" checkbox.

That's not fully correct. Time to live can also be used with Dismissable announcements; in that case the user can either dismiss the message by clicking the X, or wait until the timeout expires.

Anyway, thanks for the feedback.

jl33 commented 5 years ago

Time to live can also be used with Dismissable announcements; in that case the user can either dismiss the message by clicking the X, or wait until the timeout expires.

I found "Time to Live" actually means while I open and stop at a specific page, and wait for that time pass, then the announcement will disappear. But, if I open and go to another page before the time ended, the announcement will appear on every new page. This is what I saw. And more, unless wait for an announcement disappear ---- wait for time ended on one page ---- I will always see the announcement, never disappear.

dregad commented 5 years ago

You're absolutely right. It works with a timer on the page, which is starts when the page loads.

Maintaining the timer across several pages within the user's session would be quite complicated, especially considering that as you reach another page, another announcement might be displayed (if there is more than one active, it is selected randomly).