You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add a workaround for mislaunched CancellationExceptions silently killing Coroutines {
https://betterprogramming.pub/the-silent-killer-thats-crashing-your-coroutines-9171d1e8f79bKotlin/kotlinx.coroutines#3658 (comment)https://kotlinlang.org/docs/exception-handling.html
}
- Create the "Neutral" state for when CancellationExceptions are wrongfully launched (Refer to the above links to know when and how that happens)
- Add an Architecture that uses both By Layer and By Feature separation of concerns (https://www.youtube.com/watch?v=16SwTvzDO0A)
- Refactor dependencies between modules
- Remove datasource dependency from midfield (a.k.a domain)
- Create specific feature modules inside each base layer (ui, midfield (domain) and datasource (data/model))
- Bump dependency versions to newer ones
- Turn common dependencies into bundles
- Replace multiple dependency references with Bundles
- Refactor code
- Remove all occurences of suspend functions being executed using runBlocking from the project
- Remove runBlocking from the project
- Remove fundamental features (Pagination, Upper views management etc...) (Temporarily until I implement them back, but in Compose)
- Create specific modules for both JVM and Integrated/UI tests (The old way, JVM tests had access to Integrated/UI test dependencies and vice-versa, now that's sorted out)
- Split Remote datasource models from Local datasource models (Then, there would be only one class having both kotlin.serialization and Room annotations)
- Create mapping from Remote datasource model to Local datasource model (Entity)
- Create mapping from Local datasource model to clean model (No external dependencies referenced) (Plain Old Kotlin Object)
KNOWN ISSUES:
1- There's no pagination anymore (It will be re-implemented in the future using Paging Compose)
2- There may be UI inconsistencies when CancellationExceptions are launched intentionally or not (Will be addressed in the future)
FEATURES:
No new features have been introduced
Copy file name to clipboardExpand all lines: modules/common/core/src/main/java/githubprofilesearcher/caiodev/com/br/githubprofilesearcher/core/extensions/ViewModel.kt
Copy file name to clipboardExpand all lines: modules/common/core/src/test/kotlin/githubprofilesearcher/caiodev/com/br/githubprofilesearcher/core/ValueCastingTest.kt
Copy file name to clipboardExpand all lines: modules/common/datasource/datasource/src/main/kotlin/githubprofilesearcher/caiodev/com/br/githubprofilesearcher/datasource/di/DatasourceDI.kt
0 commit comments