Contributing to one of my personal Bookmarks manager - and making it better for everyone
说明与用途
通过为 Raindrop.io 的缓存实现复合键,解决了在切换路由时集合被覆盖的问题,提升了离线使用体验。
问题
The Raindrop.io desktop app refreshed on every action and lost bookmark collections when offline, making it unusable for personal use.
结果
The PR fixed the cache key collision, allowing collections to persist offline and improving overall app reliability for users.
工作流
- 1. Clone Raindrop.io webapp and desktop repos. 2. Inspect cache implementation in webapp. 3. Identify that all non‑collection routes use key '0'. 4. Propose composite keys for collection routes. 5. Discuss with project maintainers via issue #253. 6. Implement composite key logic in cache access. 7. Test offline behavior and verify collections persist. 8. Submit PR with detailed explanation and tests.
证据
Webapp's bookmark cache is a KV store keyed by the first route segment: state.bookmarks.spaces[spaceId].
Collections get their own id collectionId key, but every non-collection route collapses onto the single key '0'.
Raised the issue at #253
- 记录日期: 2026-09-05T16:18:31.395Z