* Make <UploadProgress /> Wasm-compatible
* add changeset
* Fix <DownloadLink /> not to prefetch the data in the Wasm mode
* add changeset
* Fix <DownloadLink /> to check the `window` object existence for SSR
* Lite: Fix and improve the file upload progress SSE (#6978)
* Update the Wasm ASGI connection to be able handle ReadableStream, which is used for example in <Upload />"
* Fix wasm_proxied_fetch() not to pass a leading '?' in the query_string to WorkerProxy.httpRequest() because it's required by the ASGI spec
* Fix FileUploadProgress.update() to merge a new item to the existing one in the queue
* Fix the SSE stream async task in the /upload_progress endpoint removing an unreached code block. `await asyncio.sleep()` has been moved from the unreached block to a live location, so the stream cadence has been reduced
* Fix `FileUploadProgress` to manage the `is_done` flag independent from the queue because it has a different semantics and checking it is a priority over reading other progress events to abort the SSE stream when uploading is done
* Refactoring
---------
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Ali Abdalla <ali.si3luwa@gmail.com>
* Fix vite.config.js detecting the development mode
* Fix the imports of @gradio/theme in js/app/src/lite/index.ts
* [WIP] Install Pydantic V1 and mock the RootModel class
* Remove Wasm WebSocket implementations
* Move ASGI-HTTP conversion logic from the worker to the worker-proxy so we have fine controls on the ASGI connection at the worker-proxy level for the HTTP stream connection impl in the future
* Fix asgi-types.ts
* Create `WasmWorkerEventSource` and inject the `EventSource` creation in @gradio/client
* Mock Pydantic V2's BaseModel
* Fix Pydantic V1 installation
* Make <ImageUploader /> and <ImagePreview /> Wasm-compatible
* Create `getHeaderValue()`
* Create `<DownloadLink />` for Wasm-compatible download and fix `<ImagePreview />` to use it
* Make `gr.Video()` Wasm-compatible avoiding unnecessary execution of ffprobe
* Move `<DownloadLink />` to @gradio/wasm and use it in `<VideoPreview />` too
* Fix `<DownloadLink />` making `href` optional and adding `rel="noopener noreferrer"`
* Make the download button of `<StaticAudio>` and `<Code />` Wasm-compatible
* Make the download button of `<FilePreview />` Wasm-compatible
* Improve the RootModel mock class for `.model_dump()` and `.model_json_schame()` to work
* Make `<UploadProgress />` Wasm-compatible
* Fix `WorkerProxy.httpRequest()` to use `decodeURIComponent()` to process `path` and `query_string`
* Fix `<InteractiveAudio />` to make its upload feature Wasm-compatible
* [WIP] Revert "Make `<UploadProgress />` Wasm-compatible"
This reverts commit f96b4b7d5e92bb488cfe1939d25063366f714178.
* Fix Image styles
* Fix `<AudioPlayer />`'s `create_waveform()` to be Wasm-compatible
* add changeset
* formatting
* Fix js/image/shared/Image.svelte to render <img> immediately
* Fix js/image/shared/Image.svelte to avoid race condition
* Fix js/image/shared/Image.svelte
* Fix js/image/shared/Image.svelte
* Fix js/image/shared/Image.svelte removing unnecessary styles
* Fix js/video/shared/Video.svelte to use the passed immediately without waiting for the async resolution
---------
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: aliabd <ali.si3luwa@gmail.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
* Use a special fake hostname for the API access when the page is opened via the `file:` protocol
* Move js/app/src/lite/url.ts -> js/wasm/svelte/host.ts
* Add a comment
* Move js/wasm/svelte/host.ts -> js/wasm/network/host.ts
* add changeset
* Add a comment
* add changeset
* Update js/wasm/package.json adding a ESM subpath
* Fix `is_self_host()`
---------
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
* Create a Wasm-compatible <Image> component in @gradio/lite and use it in @gradio/image/example/Image.svelte
* add changeset
* Fix Image styling
* Move js/wasm/svelte/Image.svelte -> js/image/static/Image.svelte
* Shorten CSS class name
* Create Wasm-compatible video components
* add changeset
* Move the Wasm-compatible `Image` from `static` to `shared`
* Create Wasm-compatible audio components
* Fix `resolve_wasm_src()` to return the passed `src` as-is when the URL is not HTTP or refering to remote
* add changeset
* Fix `resolve_wasm_src()`
---------
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>