Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Keep member names with non-UTF-8 bytes distinct

Open
#68 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
15/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
data

Research direction

The payload names no files, so start by finding where member and loose-file names are decoded from bytes as UTF-8 with replacement. Read the review of #23 for the options raised. The first step is a maintainer decision on the key scheme (byte keys or a fixed decoding), not a code change. Done means that decision is recorded and a test shows two names differing only in invalid bytes stay distinct.

Written by the indexing model from the issue text.

Description

Member and loose-file names are decoded as UTF-8 with replacement, so two names that differ only in bytes that are not valid UTF-8 collapse into one, and neither can be requested by its real name. On macOS, a loose file whose name is stored in decomposed form (NFD) does not match the same name requested in composed form. No shipped file is affected; user-made content can be.

Options raised in the review of #23: byte keys that lower-case ASCII only, or one fixed decoding (such as Windows-1252) applied on both sides.

Dominant language
Rust
Stars
0
Forks
0
Avg merge
1h 1m
Merged PRs (30d)
128

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RustyZoo/RustyZoo

All issues in RustyZoo/RustyZoo

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.