Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support wasmJs. #1954

Merged
merged 32 commits into from
Dec 19, 2023
Merged

Support wasmJs. #1954

merged 32 commits into from
Dec 19, 2023

Conversation

colinrtwhite
Copy link
Member

No description provided.

@colinrtwhite colinrtwhite marked this pull request as ready for review December 19, 2023 05:22
@colinrtwhite colinrtwhite merged commit 16fa6ce into 3.x Dec 19, 2023
8 checks passed
@colinrtwhite colinrtwhite deleted the colin/wasm branch December 19, 2023 05:23
colinrtwhite added a commit that referenced this pull request Dec 30, 2023
* Change package from coil -> coil3.

* Revert changes to the changelog.

* Increase minsdk for coil-benchmark.

* Update POM.

* Dump API.

* Adjust naming.

* Fix coil-test compilation.

* Tweak samples.

* Migrate memory cache tests to common.

* Commonize more tests.

* Fix class name clashes.

* Fix manifest names.

* Fix test compilation.

* Fix incorrect crossfade configuration.

* More test fixes.

* Migrate a test to common.

* Fix spotless.

* Fix benchmark module compilation.

* Add JS resources impl.

* Build fixes.

* Improve test.

* Link bug ticket.

* Formatting.

* Test fixes.

* Fix test compilation.

* Use context global function in tests.

* Fix baseline profile and include coroutines and okio rules.

* Fix test.

* Test fixes.

* Fix instrumentation tests.

* Fix remaining tests.

* Add jsMain to coil-sample-compose.

* Tweak error message.

* Attempt to downgrade webpack.

* Formatting.

* Add work-around for Okio JS test issue.

* Migrate interceptor tests to common.

* Remove function usage.

* Remove obselete test.

* Tweak.

* Add fake disk cache to tests.

* Fix some NetworkFetcher tests.

* Fix more network tests.

* Fix test.

* Ignore test.

* Remove equals/hashCode overloads from decoder implementations.

* Improve Okio JS workaround.

* Bump dependencies.

* Add missing bundles.

* Rename coil-base -> coil-core and coil-compose-base coil-compose-core to align with Ktor, Coroutines, androidx, etc.

* Rename coil-singleton -> coil and coil-compose-singleton -> coil-compose.

* Bump Skiko.

* Add work-around for Kotlin JS implicit dependency issue.

* Change how the ImageLoader inside coil-sample-compose is initialized.

* Change how the ImageLoader inside coil-sample-compose is initialized.

* Rename android plugin configuration extensions.

* Rename android plugin configuration extensions.

* Spotless.

* Documentation.

* Fix sample compilation.

* Use Compose viewModel function.

* Improve image loader initialization in compose-sample.

* Use atomic in SingletonImageLoader.

* Use atomic delegate.

* Move samples to subfolder.

* Remove privateModules.

* Fix R8 files.

* Move remaining private projects into an internal subfolder.

* Fix build.

* Fixes for the JS sample.

* Fix JS sample.

* Fix android asset loading.

* Wait for onWasmReady.

* Add shared resources.

* Remove unused extension.

* Fix tests.

* Update dependencies.

* Update API.

* Use extension.

* Fix Kotlin JS workaround.

* Remove deprecated method.

* Fix the iOS sample.

* Rethrow Ktor exception is response body was closed prematurely.

* Rename file.

* Add TODO.

* Formatting.

* Guard against json parsing errors in the sample.

* Change Image API.

* Only use Resources in Image.asDrawable.

* Fix tests.

* Fix screenshot tests.

* Update POM.

* Fix tests.

* Fix tests.

* Fix tests.

* Spotless.

* Test script.

* Fix tests.

* Enable snapshot publication.

* Enable snapshot publication.

* Update Github actions.

* Use Java 17.

* Fix baseline profile generation.

* Add FakeImage to coil-test.

* Commonize FakeImageLoaderEngine tests.

* Fix class name conflicts.

* Use extension.

* Enable common tests on CI.

* Disable cache for checks task.

* Increase unit test timeout.

* Cancel in progress when new changes are pushed to branch.

* Use gradle-build-action.

* Add a separate assemble job.

* Fix params.

* Remove name.

* Assemble debug on unit tests.

* Remove CACHE_VERSION.

* Increase timeout.

* Only build the sample apps.

* Limit concurrency.

* Fix the iOS scheme name.

* Don't cancel in progress on main.

* Revert.

* Improve concurrency setup.

* Use older iPhone.

* Seed cache.

* Seed the cache.

* Seed the cache.

* Seed the cache.

* Force writing to the cache.

* Increase timeout.

* Remove assembleDebug.

* Disable Gradle cache for instrumentation tests.

* Remove AVD caching.

* Remove ImageSource.fileSystem default argument.

* Update skiko.

* Remove unnecessary dependency.

* Pass callback directly.

* Adjust dependency ordering.

* Update JS file system to always throw.

* Bump dependency.

* Remove kotlinx immutable collections dependency.

* Remove unnecessary Poko modifiers.

* Use a custom Poko annotation.

* Formatting.

* Fix API file.

* Remove equals/hashCode from transformations.

* Create custom hierarchy template.

* Convert Okio JS workaround into a task.

* Improve Okio JS workaround.

* Remove suppression.

* Remove unused dependency.

* Fix dependency on kotlinx.datetime.

* WIP wasmJs support.

* Fixes.

* Fix tests.

* Fix tests.

* Ensure MemoryCache.Key is immutable.

* Update Roborazzi.

* Fix tests.

* Fix tests.

* Ensure MemoryCache.Key is immutable.

* Update Roborazzi.

* Use poko's snapshots

* Prepare for Kotlin 2.0.

* Use symlink.

* Use common configuration.

* Use Node.js canary.

* Formatting.

* Add enableComposeMetrics to assemble Compose compiler metrics.

* Formatting.

* Remove JvmName annotations.

* Remaining changes.

* Replace several internal data classes with poko.

* Defensive copy.

* Add missing @JvmField annotations.

* Apply compose plugin to coil-core to workaround.

* Revert "Use poko's snapshots"

This reverts commit e2f8c8b.

* Update API.

* Pass the image request to the image request image factories.

* Add fixes.

* Enable experimental web application in each compose module.

* Simplify JS sample.

* Simplify wasm sample.

* Remove Compose compiler from coil-core.

* Use Okio 3.7.0 stable.

* Disable wasmJs tests.

* Remove custom node version.

* Revert "Disable wasmJs tests."

This reverts commit 44e146c.

* Revert "Remove custom node version."

This reverts commit 47cbb40.

* Disable wasm tests.

* Fix stuck test.

* Add after.

* Support wasmJs. (#1954)

* WIP wasmJs support.

* Fixes.

* Fix tests.

* Fix tests.

* Ensure MemoryCache.Key is immutable.

* Update Roborazzi.

* Use poko's snapshots

* Use symlink.

* Use common configuration.

* Use Node.js canary.

* Apply compose plugin to coil-core to workaround.

* Revert "Use poko's snapshots"

This reverts commit e2f8c8b.

* Update API.

* Add fixes.

* Enable experimental web application in each compose module.

* Simplify wasm sample.

* Remove Compose compiler from coil-core.

* Use Okio 3.7.0 stable.

* Disable wasmJs tests.

* Remove custom node version.

* Revert "Disable wasmJs tests."

This reverts commit 44e146c.

* Revert "Remove custom node version."

This reverts commit 47cbb40.

* Disable wasm tests.

* Fix stuck test.

* Add after.

* Use request context passed to drawable factories.

* Extract constant.

* Fix flaky test.

* Link Dokka ticket.

* Add a flag for wasm.

* Non null ImageRequest.fileSystem.

* Convert Transformation to an abstract class.

* Re-add equals/hashCode/toString implementations to CrossfadeTransition.

* Disable wasm tests.

* Remove atomicfu from the samples.

* Remove annotation.

* Fix missing constructor.

* Use macos-13 images on CI.

* Increase Gradle RAM.

* Tweak jvmargs.

* Make coil-compose composables skippable. (#1964)

* Make coil-compose composables skippable.

* Remove target from the default equality delegate.

* Add key factory to lazy list sample.

* Optimize sample grid logic.

* Documentation and allow CacheStrategy to suspend.

* Add docs.

* Add EqualityDelegate arguments to singleton composables.

* Increase metaspace size.

* Remove cache-read-only.

* Add test for AsyncImage data changes.

* Docs.

* Docs.

* Docs.

* Update Coroutines.

* Update Kotlin to 1.9.22.

* Extract ktor wasm version.

* Use lazy configuration.

* Use Ktor ByteReadChannel.copyTo on JVM.

* Revert "Use Ktor ByteReadChannel.copyTo on JVM."

This reverts commit c813466.

* Optimize with FileChannel on JVM/Android (#1973)

* Reapply "Use Ktor ByteReadChannel.copyTo on JVM."

This reverts commit 858432a.

* Optimize with fc

---------

Co-authored-by: GG Bond <whatever@tagkong.com>

* Docs.

* Update changelog.

* Tweak SingletonImageLoader to provide a common API for Compose Multiplatform. (#1976)

* Tweak SingletonImageLoader to provide a common API for Compose Multiplatform.

* Docs.

* Fix lint.

* Change API.

* Re-enable snapshots only for main.

---------

Co-authored-by: Vladimir Dostoyevskiy <99822064+VDostoyevskiy@users.noreply.github.com>
Co-authored-by: GG Bond <whatever@tagkong.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant