Skip to content

Represent native empty, nullable, and operation-specific results accurately #392

Closed

Description

@jderochervlk

Part of #382 — v1.0.0 alpha readiness.

Confirmed cases

The following signatures omit valid native states or attribute a property/result to the wrong object/operation:

The review's isolated Chromium probes confirmed these native outcomes; existing compilation alone does not validate them.

Acceptance criteria

  • Add explicit empty-string variants where the native closed enum includes them, consistently across duplicate definitions.
  • Make Canvas and Web Locks callbacks account for null without losing their successful-value types.
  • Give IndexedDB open/delete requests operation-correct result types.
  • Remove the false Notification instance field and retain/test the static accessor.
  • Add runtime regressions for defaults, unsupported MIME types, zero-sized canvas encoding, contended optional locks, database deletion, and static permission access.
  • Add compile/negative fixtures enforcing the corrected contracts and update affected examples.
  • Preserve native failure behavior; do not solve these cases with unchecked casts or invented fallback values.

Coordination

Use the regression infrastructure in #383. Source fixes can be developed in parallel, but this issue should close with executed regression coverage, not only a successful compile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions