mikel / mikel/mail

RFC 2231 continuations percent-decode unencoded segments

Open
#1,685 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
3.7k
Forks
934
PR merge metrics
No merged PRs in 30d

Description

## Problem

Parameter continuation assembly percent-decodes every segment once any continuation is encoded. RFC 2231 marks encoding per segment, so literal percent sequences in unencoded segments are incorrectly transformed.

Prepared commit `63c621f8a0722c36d151561edfd4502a385f9a56` decodes only segments carrying the encoded marker while retaining ordering, charset and mixed-continuation behavior.

External models cover encoded/unencoded mixtures, literal percent bytes, Unicode and shuffled segments. The unchanged 1,837-example suite passes on both Rubies; package and Action Mailer integration pass.

CONTRIBUTING requires regression specs, so this report does not open a source-only PR or modify tests.

Contributor guide

Open the contributing guide

Research direction

Search the Ruby mail parser for RFC 2231 parameter continuation assembly, then inspect the existing continuation regression specs and run the 1,837-example suite on both supported Rubies. Done means only segments marked as encoded are percent-decoded, while ordering, charset handling, mixed continuations, and integration behavior remain unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.