Skip to content

fix: make disable() namespaces round-trip through enable() - #1051

Open
arronKler wants to merge 1 commit into
debug-js:masterfrom
arronKler:fix/918-disable-enable-roundtrip
Open

arronKler wants to merge 1 commit into
debug-js:masterfrom
arronKler:fix/918-disable-enable-roundtrip

Conversation

@arronKler

Copy link
Copy Markdown

enable(disable()) should restore the same namespaces, including mid-string wildcards and skip patterns.

disable() historically rebuilt the namespace string from compiled regexes and only inverted a trailing .*?. A pattern such as *:error:* came back as .*?:error:*, which enable() then rejected (Invalid regular expression: Nothing to repeat).

Normalize that historic .*? encoding back to * when enabling and when rebuilding the disable() string, so the documented temporary-disable round-trip works for wildcards and skips.

Fixes #918

Historic enable() compiled '*' to '.*?'. disable() only inverted a
trailing wildcard, so patterns like "*:error:*" came back as
".*?:error:*" and enable() rejected them.

Normalize that encoding so enable(disable()) accepts mid-string
wildcards and skip namespaces.

Fixes debug-js#918
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment