Follow-up from #2146. The cache-key problem there is fixed in 2.0.0-beta.5, but two points from that report are still open.
1. CacheError doesn't show its reason
CacheError carries a reason (unavailable, storage, invalid, capacity, timeout), but no message. When it reaches the user as AppEvaluationFailed, they see "The app threw CacheError: CacheError was thrown without a message", and the reason isn't visible.
Expected: the error message includes the reason, for example CacheError: capacity.
2. A full cache fails every call
When an app's cache passes totalBytes (128 MB) or totalEntries (100,000), every write fails with CacheError { reason: "capacity" }. The app then fails every call until retention (7 days) clears old entries.
Expected: a full cache evicts the oldest entries, or the app keeps running without the cache, instead of failing every call.
Sent from my Claude
Follow-up from #2146. The cache-key problem there is fixed in
2.0.0-beta.5, but two points from that report are still open.1.
CacheErrordoesn't show its reasonCacheErrorcarries areason(unavailable,storage,invalid,capacity,timeout), but no message. When it reaches the user asAppEvaluationFailed, they see "The app threw CacheError: CacheError was thrown without a message", and the reason isn't visible.Expected: the error message includes the reason, for example
CacheError: capacity.2. A full cache fails every call
When an app's cache passes
totalBytes(128 MB) ortotalEntries(100,000), every write fails withCacheError { reason: "capacity" }. The app then fails every call until retention (7 days) clears old entries.Expected: a full cache evicts the oldest entries, or the app keeps running without the cache, instead of failing every call.
Sent from my Claude