collegevine / collegevine/confcrypt

Convert MonadError usages in Encryption into MonadThrow

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.