Browser Support / Wasm Threading & Cross-Origin Isolation (COI) Failure
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- vite, wasm, webpack
- Ambito
- build-system, web-dev
Direzione di ricerca
Inizia riproducendo i problemi del browser con il modulo Wasm sotto Vite e Webpack, verificando il comportamento di COI e la risoluzione del binario Wasm e dello script del Worker. Il lavoro è considerato completato quando è stata documentata o implementata una strategia ufficiale concordata per una build non basata sui thread o per un packaging affidabile basato sui thread, e il caricamento nel browser è stato verificato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hello team,
We are using your NAPI-RS Wasm module and face two major blockers for browser SDK usage:
1. Wasm Threading Requires Unfeasible Server Configuration
The module's use of Wasm Threads/SharedArrayBuffer forces the browser to require Cross-Origin Isolation (COI).
Error: DataCloneError: SharedArrayBuffer transfer requires self.crossOriginIsolated.
Impact: This imposes a mandatory COOP/COEP HTTP header setup on all end-users, which is unacceptable for a public SDK.
2. Packaging/Loading Failure
Standard bundlers (Vite/Webpack) fail to reliably resolve and load the necessary Wasm binary and its Worker script in the browser environment.
Request for Seamless Browser Solution
We need an official strategy to eliminate these deployment blockers. Please provide guidance or a configuration change for NAPI-RS to support one of the following:
A. Max Compatibility Build (No COI Required):
Goal: A non-threaded Wasm build that uses traditional data transfer, allowing the module to work out-of-the-box in any browser environment (no COOP/COEP required).
B. Improved Threaded Distribution:
Goal: A packaging solution that makes the Wasm binary and Worker files seamlessly resolvable by common bundlers, even if COOP/COEP is still required.
Your help in making this module browser-friendly is appreciated.
- Lingua principale
- TypeScript
- Stelle
- 372
- Fork
- 45
- Merge medio
- 3g 6h
- PR unite (30g)
- 6
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di napi-rs/package-template
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
napi-rs/package-template#451 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
napi-rs/package-template#430 · 9 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
napi-rs/package-template#371 · 2 reazioni ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
napi-rs/package-template#348 ·
-
Segmentation faultAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
napi-rs/package-template#346 · 2 commenti ·
Tutte le issue di napi-rs/package-template
Issue simili
-
[analytics-core] getQueryParams does not decode `+` as space and truncates values containing `=`Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
amplitude/Amplitude-TypeScript#2179 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
ci good first issue severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
TMHSDigital/GH-Arcade#111 ·
-
AsnIntegerConverter.toASN coerces strings with +value, rounding integers outside safe-integer rangeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PeculiarVentures/asn1-schema#189 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100