Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Filter terminal-unsafe characters through one helper: list and the status printer keep bidi overrides and zero-width characters that core policy::strip_unsafe drops

Offen Anfängerfreundlich
#1,860 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
83/100
Issue-Typ
Refactoring
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
cli, security

Rechercherichtung

Lies crates/socket-patch-core/src/policy/mod.rs und die Filter in crates/socket-patch-cli/src/commands/list.rs und crates/socket-patch-cli/src/ui/status.rs. Fasse die Filterung wie beschrieben zusammen und füge dann den Unit-Test für eine Beschreibung mit U+202E und U+200B hinzu; abgeschlossen ist die Arbeit, wenn diese Zeichen entfernt werden und die gewöhnliche Listenausgabe byte-identisch bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

agent:triaged arch-audit priority:p3 refactor

[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register comment.

Kind: refactor. Register ID: T23.

Problem

Three functions filter characters before they reach the terminal:

So core already decided that bidi and zero-width characters are unsafe in output. list, however, prints API-sourced patch descriptions and vulnerability summaries through the weaker filter, so a description carrying U+202E can still reorder what the user sees. I found this by reading the code; I did not run it.

Proposed change
  1. Make core policy::strip_unsafe (or a renamed printable) keep \n and \t, and normalize \r\n, as list::sanitize does. Move it to a neutral home, such as utils::text or the CLI ui layer if core does not need it.
  2. Call it from list::sanitize's callers and from StatusPrinter::println, and delete the two copies.
Size

3 files, about −15 lines plus one test.

Acceptance criteria
  • list output for ordinary text is byte-identical.
  • A new unit test shows that a description containing \u{202E} and \u{200B} is printed without them.
  • policy tests are unchanged.
Vorherrschende Sprache
Rust
Sterne
8
Forks
2
Ø Merge
19 Std. 12 Min.
Gemergte PRs (30 T.)
709

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus SocketDev/socket-patch

Alle Issues in SocketDev/socket-patch

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.