Skip to content

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

Open

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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