(fix): webhook secret constant-time compare
Golang lint / lint (pull_request) Successful in 2m53s
Golang lint / lint (push) Successful in 2m55s

(fix): observer rename, panic emits ErrorEvent
(refactor): Runner.Once removed, Scene.PluginName unexported
(doc): godoc hygiene pre-1.0.0
This commit is contained in:
2026-05-20 12:06:59 +03:00
parent 1e26d871b5
commit 61d0b1ebb8
29 changed files with 191 additions and 138 deletions
+12
View File
@@ -19,6 +19,18 @@ func (bot *Bot[T]) handle(parentCtx context.Context, u *tgapi.Update) {
defer func() {
if r := recover(); r != nil {
bot.logger.Errorln(fmt.Sprintf("panic in handle: %v", r))
var err error
var ok bool
if err, ok = r.(error); !ok {
err = fmt.Errorf("%v", r)
}
bot.safeEmitEvent(parentCtx, ErrorEvent{
UpdateID: u.UpdateID,
UpdateType: u.Type,
Err: err,
UserFacing: false,
})
}
}()
startTime := time.Now()