Skip to content

Latest commit

 

History

History
101 lines (83 loc) · 5.95 KB

guest-js-10-02-2024.md

File metadata and controls

101 lines (83 loc) · 5.95 KB

Agenda

N/A

Attendees

Attendee
Calvin Prewitt
Guy Bedford
Tomasz Andrzejak
Saul Cabrera
Luke Wagner
Till Schneidereit
Victor Adossi

Notes

Notes

StarlingMonkey

  • Presented slides on StarlingMonkey during Plumbers Summit
  • Some enthusiasm from Microsoft which
  • Few inflight PRs
    • Inflight initialization
    • Abstracted configuration system (componentize-js can use this, other tools pass through to the internal CLI arg parser to invoke SM init)
    • Updated to the latest WASI
    • (landed) Fix to finalization system – all builtins now have working finalizer support
      • Rust Url usage can now be cleaned up from JS side properly
  • Project boards
  • Rust bindings
    • (Luke) If Rust has async bindings (preview3), possibly we can get some more async-ification for free?
      • (Guy) There’s an open PR to support rust bindings, and ideally this is what we’d use
      • In terms of bindings, with the componentize-js upstreaming, componentize-js can likely integrate more closely
      • -Technically- we do support async (sync-fiied async), but un-sync-ified async would be ideal as well.
      • (Luke)
      • (Guy) Current Streams implementation is on a fork of Spidermonkey, mostly due to a refactor (move from js to dom folder) made code depend on stuff that we don’t need.
        • How to fix this in the long term is an open question.
        • Spidermonkey people in this meeting would help towards figuring out how to share
      • (Luke) WebIDL to Rust bindings would help and encourage sharing
      • (Guy) Do they have a WebIDL binding generator as well?
      • (Luke) Yes, part of the dom tree
        • a Rust bindings generator could share the frontend, with a distinct backend
        • Instead of having to change the cycle collector, maybe we could garbage collect (i.e. like Oilpan)
        • (Guy) There’s also a lot of builtins and string functions/etc
        • (Luke) Yes, the gecko custom string implementation
        • (Guy) Hard to resolve in a way that’s non-disruptive
        • (Luke) Maybe instead of trying to reuse, it could be built on Rust and separate from the Gecko related code to start
        • (Guy) So sharing IDL functionality, and also taking the fork and upstreaming to the StarlingMonkey side
  • (Luke) And possibly even w/ Preview3 it could be Rust

Tomasz (“tomash”) introduction

  • New from Microsoft, likely to be contributing to StarlingMonkey likely starting from next month

Zulip Channels

Jco

  • (Guy) Following discussion from the last meeting at Plumbers Summit, it likely makes more sense for componentize-js to move into StarlingMonkey
    • There’s been a complaint about componentize-js pulling in unnecessary things for hosts
  • jco is squarely a host consideration, where componentize-js might make more sense as a part of StarlingMonkey
  • Documentations updates
    • Some examples that were going to go into component-docs are now going into examples folder for jco
    • (Guy) In the past the problem we’ve had
    • When componentize-js moves into StarlingMonkey we’ll need to update again
  • One more update for CompoentizeJS, Golem has contributed a new type generation utility stub generation for StarlingMonkey
    • bytecodealliance/jco#503
    • Scaffolding/Stub generation would also be very useful for onboarding new users
      • Something that generates code that imports generated types and uses them in stubs.

ComponentizeJS

  • Now running on Latest WASI
  • (Guy) Updated to Orca project (orca-wasm)
    • They’ve completely replicated walrus – we might be able to switch to and recommend them instead
    • They originally were working on instrumentation code (wamm), and ended up re-implementing walrus functionality
    • Does not yet support full DWARF but has name section remapping
    • Does not choke on debug builds

Questions

  • (Victor) Where should a stub generation bindgen solution go? wit-bindgen?
    • (Guy) jco currently owns it’s bindgen/generation code
    • If in the future there’s a problem with jco contributions it might make sense to move it upstream, but now it’s likely easier to test everything somewhat close to the jco project.
  • (Till) WebIDL Bindings generator work is underway