[BUG]: Plain text with underscores or asterisks gets formatted as Markdown

Offen
#127 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
Ein halber Tag
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
dart, flutter
Bereich
mobile

Rechercherichtung

The payload names no files or tests, so start in the Flutter client's message rendering path and find where Markdown is parsed for sent messages. Reproduce by sending a message with an unmatched underscore and a partial Markdown opener, which the report says gets formatted. Done means unclosed or stray markers render as plain text while complete Markdown still formats correctly. The issue has no agreed expected behaviour, so confirm the intended rule with the maintainers before changing the parser.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

area: mobile bug good first issue

Context

Messages are rendered with MarkdownBody (flutter_markdown_plus). Ordinary text containing _, * or similar is sometimes treated as Markdown, e.g. snake_case_names, 2*3*4, or a lone _ at the start, so it shows up oddly formatted or with characters missing.

Steps to reproduce

  1. Send my_file_name and other_file_name.
  2. Send 2*3*4 = 24.
  3. Send _not closed.

What to do

  • Find which inputs render incorrectly (add them to a widget test).
  • Fix it, e.g. by restricting the Markdown extensions in use, requiring word boundaries for _ emphasis, or escaping unpaired markers before rendering.
  • Intentional Markdown (**bold**, _italic_, `code`) must still work.

Where to look

mobile/lib/widgets/chat_page_widgets.dart (MarkdownBody around line 228, _markdownStyle).

Vorherrschende Sprache
Dart
Sterne
9
Forks
5
Ø Merge
49 Min.
Gemergte PRs (30 T.)
34

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

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 CommandLineCoding/Elephant

Alle Issues in CommandLineCoding/Elephant

Ähnliche Issues

Weitere Issues zu Dart

Neue Issues direkt in Ihr Postfach

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