collective / collective/pas.plugins.ldap

reset() is a public no-op and never flushes plugin caches

Open
#147 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.