Issue Description
If the user misconfigures the InMemoryStore, they cannot recovery from the broken configuration using the recovery mode, since even in recovery mode the api endpoint are still ratelimited, and the ratelimit implementation depends on the InMemoryStore to be properly configured.
Expected Behavior
User can enter the admin portal despite having a misconfigured InMemoryStore, and fix the configuration.
Actual Behavior
User cannot access the admin portal even in recovery mode.
Reproduction Steps
- bootstrap stalwart
- change the InMemoryStore configuration to something invalid, like a broken redis url
- try to recover from this situation by entering recovery mode
Relevant Log Output
ERROR Store not configured (store.not-configured) listenerId = "http-recovery", localPort = 8080, remoteIp = <redacted> remotePort = 50956, causedBy = "crates/store/src/dispatch/lookup.rs:111", causedBy = "crates/store/src/dispatch/lookup.rs:317", causedBy = "crates/common/src/auth/rate_limit.rs:35
Stalwart Version
v0.16.x
Installation Method
NixOS
Database Backend
RocksDB
Blob Storage
RocksDB
Search Engine
Internal
Directory Backend
Internal
I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.
on
I have searched this support forum (open and closed topics) and confirm this is not a duplicate.
on
I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.
on