Change PERSISTENT alarms so they can keep triggering while the alarm condition is still true.
Current behavior requires the price to cross back and then cross the target again before the alarm can trigger again. This should remain unchanged for ONETIME, but PERSISTENT alarms should be able to re-trigger while the condition remains true.
Add optional grace period syntax to the trigger column:
ONETIME
PERSISTENT
PERSISTENT:<seconds>
Examples:
1 SOL ABOVE 92.0 ONETIME CRITICAL "CRITICAL: Solana liquidation risk!"
2 SOL ABOVE 70.0 PERSISTENT:600 INFO "Increase SOL short"
3 SOL BELOW 68.0 PERSISTENT:0 INFO "Decrease SOL short"
Rules:
ONETIME behavior should not change.
PERSISTENT should behave like PERSISTENT:0.
PERSISTENT:0 should trigger on every loop while the condition is true.
PERSISTENT:600 should trigger immediately when the condition becomes true, then at most once every 600 seconds while the condition remains true.
When the condition becomes false, the persistent alarm should reset so the next true condition triggers immediately again.
ONETIME:<seconds> should be invalid.
Negative or non-numeric grace periods should be invalid.
Change `PERSISTENT` alarms so they can keep triggering while the alarm condition is still true.
Current behavior requires the price to cross back and then cross the target again before the alarm can trigger again. This should remain unchanged for `ONETIME`, but `PERSISTENT` alarms should be able to re-trigger while the condition remains true.
Add optional grace period syntax to the trigger column:
```text
ONETIME
PERSISTENT
PERSISTENT:<seconds>
```
Examples:
```text
1 SOL ABOVE 92.0 ONETIME CRITICAL "CRITICAL: Solana liquidation risk!"
2 SOL ABOVE 70.0 PERSISTENT:600 INFO "Increase SOL short"
3 SOL BELOW 68.0 PERSISTENT:0 INFO "Decrease SOL short"
```
Rules:
* `ONETIME` behavior should not change.
* `PERSISTENT` should behave like `PERSISTENT:0`.
* `PERSISTENT:0` should trigger on every loop while the condition is true.
* `PERSISTENT:600` should trigger immediately when the condition becomes true, then at most once every 600 seconds while the condition remains true.
* When the condition becomes false, the persistent alarm should reset so the next true condition triggers immediately again.
* `ONETIME:<seconds>` should be invalid.
* Negative or non-numeric grace periods should be invalid.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Change
PERSISTENTalarms so they can keep triggering while the alarm condition is still true.Current behavior requires the price to cross back and then cross the target again before the alarm can trigger again. This should remain unchanged for
ONETIME, butPERSISTENTalarms should be able to re-trigger while the condition remains true.Add optional grace period syntax to the trigger column:
Examples:
Rules:
ONETIMEbehavior should not change.PERSISTENTshould behave likePERSISTENT:0.PERSISTENT:0should trigger on every loop while the condition is true.PERSISTENT:600should trigger immediately when the condition becomes true, then at most once every 600 seconds while the condition remains true.ONETIME:<seconds>should be invalid.