-
Notifications
You must be signed in to change notification settings - Fork 3
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
refactor: clone to prevent shallow copy #25
Conversation
Code Coverage
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything here looks pretty good. I only noticed 2 things.
- Style does not have a clone option. I think for consistency and to ensure nothing is at risk of a shared config, it would be good to put a clone option on it.
- For the code coverage, it's looking for tests on the new clone functions, so can we add a
testClone
to each set of tests for config, style, data, events, and viewstate?
## 1.0.0 (2024-02-27) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([d3004fd](d3004fd))
🎉 This PR is included in version 1.0.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## 1.0.0-ci-semantic-release.1 (2024-02-28) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([d3004fd](d3004fd))
🎉 This PR is included in version 1.0.0-ci-semantic-release.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## 1.0.0-ci-semantic-release.1 (2024-02-29) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([d3004fd](d3004fd))
## 1.0.0-ci-semantic-release.1 (2024-02-29) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([d3004fd](d3004fd))
## 1.0.0-ci-semantic-release.1 (2024-02-29) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([d3004fd](d3004fd))
🎉 This PR is included in version 1.0.0-ci-semantic-release.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## 1.0.0-ci-semantic-release.1 (2024-03-02) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([d3004fd](d3004fd))
## 1.0.0-ci-semantic-release.1 (2024-03-02) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([d3004fd](d3004fd))
🎉 This PR is included in version 1.0.0-ci-semantic-release.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## 1.0.0-minSdkMatch.1 (2024-04-03) ### Features * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * page type ([#26](#26)) ([c79e439](c79e439)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([#21](#21)) ([a9a3fb8](a9a3fb8))
🎉 This PR is included in version 1.0.0-minSdkMatch.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## 1.0.0-develop.1 (2024-04-11) ### Features * accessibility ([#31](#31)) ([20644c8](20644c8)) * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * create a snapshot workflow ([#22](#22)) ([5bc02da](5bc02da)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * modal updates ([#28](#28)) ([101ade5](101ade5)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * page type ([#26](#26)) ([c79e439](c79e439)) * session id and device id ([#30](#30)) ([a7208eb](a7208eb)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * correct urls ([#32](#32)) ([f72ffda](f72ffda)) * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * prevent empty values ([#29](#29)) ([b7b746f](b7b746f)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([#21](#21)) ([a9a3fb8](a9a3fb8))
🎉 This PR is included in version 1.0.0-develop.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## 1.0.0 (2024-05-14) ### Features * accessibility ([#31](#31)) ([20644c8](20644c8)) * add instance_id ([#4](#4)) ([d72ccee](d72ccee)) * base of GitHub workflows ([#5](#5)) ([c32defe](c32defe)) * create a snapshot workflow ([#22](#22)) ([5bc02da](5bc02da)) * debounce config updates ([#24](#24)) ([7d0a043](7d0a043)) * jetpack compose demo ([#10](#10)) ([a47065e](a47065e)) * modal updates ([#28](#28)) ([101ade5](101ade5)) * package pre-release ([#14](#14)) ([d63f834](d63f834)) * page type ([#26](#26)) ([c79e439](c79e439)) * remove session id and device id ([#35](#35)) ([20367ca](20367ca)) * session id and device id ([#30](#30)) ([a7208eb](a7208eb)) * update message view to use its own instance id ([#20](#20)) ([9efb3bb](9efb3bb)) * use nested coroutine to prevent blocking ([#19](#19)) ([b06039c](b06039c)) * xml demo ([#6](#6)) ([4b33504](4b33504)) ### Bug Fixes * allow messages to be updated any time ([#34](#34)) ([ef69ce9](ef69ce9)) * correct urls ([#32](#32)) ([f72ffda](f72ffda)) * general analytics fixes ([#36](#36)) ([ff2ac5a](ff2ac5a)) * modal analytics fixes ([#37](#37)) ([c95246f](c95246f)) * remove kotlinter ([1550f44](1550f44)) * update shared data ([#7](#7)) ([2fa1ea1](2fa1ea1)) * update tracking format ([#33](#33)) ([dc8dd61](dc8dd61)) ### Code Refactoring * adjust logo alignment ([#23](#23)) ([6347be3](6347be3)) * clone to prevent shallow copy ([#25](#25)) ([acfc3ff](acfc3ff)) * prevent destroying modal on close ([#3](#3)) ([ae7e032](ae7e032)) * prevent empty values ([#29](#29)) ([b7b746f](b7b746f)) * radio offer type and other things ([#11](#11)) ([960a48a](960a48a)) * route changes ([#13](#13)) ([6434e30](6434e30)) * use dot getters and setters ([#9](#9)) ([84316bb](84316bb)) ### Continuous Integration * change os ([#38](#38)) ([f7da086](f7da086)) * functional tests ([#16](#16)) ([51d9ec6](51d9ec6)) * lint and test ([#8](#8)) ([8a22f0b](8a22f0b)) * update semantic release ([#21](#21)) ([a9a3fb8](a9a3fb8))
🎉 This PR is included in version 1.0.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Description
Verify if sharing a config class across multiple messages can cause an unexpected impact.
Clone data class to prevent shallow copy on complex objects
Screenshots
Testing instructions