In Progress
Status Update
Comments
va...@google.com <va...@google.com> #2
Some additional observations:
- It seems it has only a chance to happen on the first start after fresh install
- According to Crashlytics the number of crashes = number of affected users. Which could mean it only happens once on the first run and never again.
- Also we do have backups disabled
Can there be a race? Given the code of the Okio ReadScope
seems the file doesn't exist when it's tried to be opened, but exists shortly after that
return try {
fileSystem.read(
file = path
) {
serializer.readFrom(this)
}
} catch (ex: FileNotFoundException) {
if (fileSystem.exists(path)) {
throw ex
}
serializer.defaultValue
}
mg...@google.com <mg...@google.com> #3
Any update on the issue?
mg...@google.com <mg...@google.com> #4
We have the same issue. Did you try to update to 1.1.1?
mg...@google.com <mg...@google.com>
ap...@google.com <ap...@google.com> #5
Update to 1.1.1 doesn't help.
Description
While
saveable
depends on aSaver
implementation,saved
depends on aKSerializer
. Both are valid options, depending on project needs (e.g., adding a KotlinX Serialization dependency might be undesirable).To smooth the transition between these APIs, we want to enable using
Saver
as aKSerializer
and vice versa.This would allow using
Serializable
classes insaveable
, andSaveable
data insaved
.Since
Saver
returns a type accepted byBundle
, andencodeToSavedState
returns aBundle
, we can theoretically wrap one within the other for compatibility with both APIs at the cost of an wrapper instance.The goal is to determine the best way to handle this interoperability.