SIGN IN SIGN UP

fix(debounce): handle removed config during execution (#4788)

## Description

Prevent debounce timeout execution from panicking when the function has
been updated and its debounce configuration was removed after the
debounce item was queued.

StartExecution still needs a key while rotating the stored debounce
pointer. Treat a missing debounce config like an omitted debounce key
and fall back to the function ID.

Adds a regression test that exercises StartExecution with a persisted
debounce item and a current function definition without debounce
configuration.

## Testing

Before the fix:

go test -count=1 -run ^TestStartExecutionWithRemovedDebounceConfig$
./pkg/execution/debounce

Failed with a nil-pointer panic in debouncer.debounceKey, reached from
debouncer.StartExecution.

After the fix:

go test -count=1 -run ^TestStartExecutionWithRemovedDebounceConfig$
./pkg/execution/debounce
    go test -count=1 ./pkg/execution/debounce

Both pass.

## Release note

Prevent debounce timeout execution from crashing after debounce
configuration is removed from a function.

## Migration note

None.
B
Bruno Scheufler committed
e405defa8048daf9edabbca2664b6c1e90221702
Parent: a54673a
Committed by GitHub <noreply@github.com> on 8/27/2026, 4:44:05 AM