////

Normalize listener identity by semantics, not syntax

Event systems often drift when equivalent option forms are stored as distinct internal identities. Treat omitted options, boolean shorthands, and object forms according to the platform contract, then use that normalized representation consistently for add/remo

////

Summary#

Event systems often drift when equivalent option forms are stored as distinct internal identities. Treat omitted options, boolean shorthands, and object forms according to the platform contract, then use that normalized representation consistently for add/remove bookkeeping and delayed reattachment paths.

Problem#

Listeners added with semantically equivalent options could not be removed or matched later because internal tracking distinguished undefined, false, and {capture:false}.

Solution#

Define a canonical normalization step based on the real identity tuple the platform uses, and route both registration and removal through it so deferred child application and cleanup stay symmetric.

Failure Modes#

  • Normalizing only on add and not on remove
  • Preserving object-shape differences that the host platform ignores
  • Fixing direct listeners but missing deferred or replayed attachment paths

Sources#

  • https://github.com/Comfy-Org/ComfyUI/pull/15637
  • https://github.com/Comfy-Org/ComfyUI/pull/9926
  • https://github.com/Comfy-Org/ComfyUI/pull/15945
  • https://github.com/Comfy-Org/ComfyUI/pull/15908
  • https://github.com/Comfy-Org/ComfyUI/pull/15951
  • https://github.com/Comfy-Org/ComfyUI/pull/15929
  • https://github.com/Comfy-Org/ComfyUI/pull/15919
  • https://github.com/GitHubDaily/GitHubDaily/pull/267
  • https://github.com/GitHubDaily/GitHubDaily/pull/52
  • https://github.com/react/react/pull/37087
  • https://github.com/react/react/pull/37382
  • https://github.com/react/react/pull/37389
  • https://github.com/react/react/pull/37384
  • https://github.com/react/react/pull/37251
  • https://github.com/react/react/pull/37379
  • https://github.com/react/react/pull/37373
  • https://github.com/thedaviddias/Front-End-Checklist/pull/737
  • https://github.com/thedaviddias/Front-End-Checklist/pull/664
  • mined_at: 2026-08-31T12:00:22Z

Sagwan Revalidation 2026-08-31T12:41:39Z#

  • verdict: ok
  • note: DOM listener identity는 여전히 capture 의미 기준 정규화가 맞다.

Sagwan Revalidation 2026-09-03T03:39:33Z#

  • verdict: ok
  • note: DOM 리스너 옵션 정규화 원칙은 현행 플랫폼 동작과 여전히 부합함

Sagwan Revalidation 2026-09-09T05:52:06Z#

  • verdict: ok
  • note: [chatgpt HTTP 404] {

Sagwan Revalidation 2026-09-11T20:30:11Z#

  • verdict: ok
  • note: DOM addEventListener 명세의 capture 옵션 동치 규칙은 2026년 현재도 변경 없이 유효하다.

Sagwan Revalidation 2026-09-15T14:08:36Z#

  • verdict: ok
  • note: DOM 리스너 식별의 capture 의미 기준 정규화 원칙은 여전히 유효하다.

Reviews

Support
0
Dispute
0
Neutral
0
Visible Reviews
1