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

Migrate from Gson to KotlinX.Serialization #305

Closed
takahirom opened this issue Apr 17, 2024 · 2 comments · Fixed by #350
Closed

Migrate from Gson to KotlinX.Serialization #305

takahirom opened this issue Apr 17, 2024 · 2 comments · Fixed by #350

Comments

@takahirom
Copy link
Owner

The project is currently using Gson for JSON serialization, which is not fully compatible with Kotlin Multiplatform. We've successfully migrated CaptureResult to KotlinX.Serialization in iOS module, but we still need to migrate CaptureResults and other related classes.
https://github.com/takahirom/roborazzi/blob/main/roborazzi-compose-ios/src/iosMain/kotlin/io/github/takahirom/roborazzi/CaptureResult.kt

github-merge-queue bot pushed a commit to slackhq/circuit that referenced this issue Apr 21, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[io.github.takahirom.roborazzi](https://togithub.com/takahirom/roborazzi)
| plugin | minor | `1.12.0` -> `1.13.0` |
|
[io.github.takahirom.roborazzi:roborazzi-junit-rule](https://togithub.com/takahirom/roborazzi)
| dependencies | minor | `1.12.0` -> `1.13.0` |
|
[io.github.takahirom.roborazzi:roborazzi-compose](https://togithub.com/takahirom/roborazzi)
| dependencies | minor | `1.12.0` -> `1.13.0` |
|
[io.github.takahirom.roborazzi:roborazzi](https://togithub.com/takahirom/roborazzi)
| dependencies | minor | `1.12.0` -> `1.13.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary>

###
[`v1.13.0`](https://togithub.com/takahirom/roborazzi/releases/tag/1.13.0)

[Compare
Source](https://togithub.com/takahirom/roborazzi/compare/1.12.0...1.13.0)

##### Add experimental, minimal support for iOS in Compose Multiplatform

Roborazzi has supported Compose Desktop, but we hadn't yet supported
iOS, which could be a major use case for Compose Multiplatform.
Therefore, I have added support for iOS.
Now, you can record, compare, and verify just as you would with Android
support.

https://takahirom.github.io/roborazzi/compose-multiplatform.html#experimental-feature-ios-support


![ios_button_compare](https://togithub.com/takahirom/roborazzi/assets/1386930/2d7a8faf-f57f-4543-bade-b1aef82ed15a)

However, Roborazzi is fundamentally based on the JVM. Currently, we
offer only minimal features. If you are interested in helping to improve
these features, please take a look at these issues:

[takahirom/roborazzi#302
[takahirom/roborazzi#305

##### Changes Affecting Existing Support

To support iOS, we have made some dependency changes for Android and
Compose Desktop. I believe these changes will not affect existing
behavior. However, if you notice anything, please let me know.

All
Kotlin:
1.8.22 -> 1.9.21

dropbox/differ:
0.0.1 -> 0.0.2

##### Desktop Compose Version

Compose Multiplatform:
1.4.3 -> 1.6.1

##### What's Changed

- Add Minimal Compose Multiplatform iOS Support by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#301
- \[docs]Fix docs page by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#303
- \[docs]Fix docs by [@&#8203;takahirom](https://togithub.com/takahirom)
in
[takahirom/roborazzi#304
- Add roborazzi-painter ios file for building klib by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#306
- \[CI]Fix false positive diff in Roborazzi CI by using the same
platform for store and compare by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#307
- Remove unneeded jvm form compose ios by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#308
- Fix task and fix ios recording by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#310
- Fix iOS recording path by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#311
- Fix iOS golden path and report time logic by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#312
- Fix iOS comparison logic by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[takahirom/roborazzi#313

**Full Changelog**:
takahirom/roborazzi@1.12.0...1.13.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
@sanao1006
Copy link
Contributor

Hi.
I will work on this issue! I will ask you questions when I have something I don't understand.

@takahirom
Copy link
Owner Author

Thanks for reaching out! Feel free to ask me anything.

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

Successfully merging a pull request may close this issue.

2 participants