fix(alerts): защитить тест правила общим замком Telegram

This commit is contained in:
Denozordec committed 2026-10-03 18:20:29 +07:00
1 parent 9c1d14635a
commit dc5594ca7c
9 files changed
+110 -61

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
// Shared between Telegram settings and rule preview; never stores credentials.
const pending=new Set<string>(),listeners=new Set<()=>void>()
const key=(source:string)=>"mm:alerts-telegram-pending:"+source
export function telegramPending(source:string){try{return pending.has(source)||sessionStorage.getItem(key(source))==="true"}catch{return pending.has(source)}}
export function subscribeTelegramPending(listener:()=>void){listeners.add(listener);return()=>{listeners.delete(listener)}}
export function setTelegramPending(source:string,value:boolean){if(value)pending.add(source);else pending.delete(source);try{if(value)sessionStorage.setItem(key(source),"true");else sessionStorage.removeItem(key(source))}catch{/* Memory guard survives section navigation. */}for(const listener of listeners)listener()}