collegevine / collegevine/confcrypt
Convert MonadError usages in Encryption into MonadThrow
- Dominant language
- Haskell
- Stars
- 3
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
Confcrypt.Encryption makes use of `throwError` from `Control.Monad.Except`, which can have unpredictable behavior when parallelizing calls. Instead, it makes sense to use the `MonadThrow` class and associated `Control.Exception` infrastructure because these natively support asynchronous exceptions.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in Confcrypt.Encryption by locating its throwError usages and the related Control.Monad.Except imports. Review MonadThrow and Control.Exception, then update the module so it uses the requested exception infrastructure; done means Encryption no longer relies on MonadError for these errors and supports asynchronous exceptions as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- security
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100