collective / collective/pas.plugins.ldap
reset() is a public no-op and never flushes plugin caches
- Dominant language
- Python
- Stars
- 13
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
Found during the 2.0.0 release-readiness review (see #144).
`LDAPPlugin.reset()` (`src/pas/plugins/ldap/plugin.py`, ~line 210) is declared `@security.public` (with the author's own `# really public??` note) and does nothing (`# XXX flush caches`).
Cache invalidation handlers exist but are never wired to `reset()`:
- `RequestPluginCache.invalidate`
- `VolatilePluginCache.invalidate`
### Suggestion
Either wire `reset()` to flush the plugin cache via the `IPluginCacheHandler` adapter, or remove the dead public method. Also reconsider whether it should be public.
Severity: non-critical.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at src/pas/plugins/ldap/plugin.py around LDAPPlugin.reset() and trace the IPluginCacheHandler adapter wiring. Read RequestPluginCache.invalidate and VolatilePluginCache.invalidate to determine how cache flushing is expected to work. Done means resolving whether reset() is retained and public, and ensuring the chosen behavior consistently invalidates the plugin caches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authentication, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100