devのバグを壊しました


私は小さいregexを固定しました


おいそこ!私はsiddharth shyniben、13歳のdevだけで趣味のコーディングです.私は参加して、このポストを書きました.

オープンソースの背景


私は4年後にコーディングを開始しました.その時、私のコードは私のコンピュータだけになっていました.一度、私は2年前にGithubを使用し始めたと発見しました.突然、誰もが私のコードを見ることができるバグを報告し、貢献する.私はgithubページを使用してサイトをホストできました.
Githubはオープンソースに私を紹介しました.オープンソースが私にとって有益だったのを見て(そして他の皆さん)、私はほとんどすべての仕事をオープンソーシングし始めました.

このバグについて


バグは非常に単純なものであり、ほとんどのあなたはそれを見ていない可能性があります.

ナビゲーションリンク上のSVGを検出するための悪い正規表現 唐名14334



omenking
掲示される
恐ろしいエラー:

問題のコード:
class NavigationLink < ApplicationRecord
  SVG_REGEXP = /<svg .*>/i.freeze

Testing with rubular

So the problem is that the Regex expects svg text to be all on a single line:

When exporting svg from illustrator it will sometimes insert a XML schema tag first.

Yep Single line formatting fixed it:

When you use Forem to create a new community, you get to customize the sidebar, including the icons of the links. There is a function to validate the icon SVG, which looked like this:

/<svg .*>/i
しかし、この正規表現はマルチラインSVGにマッチしないので、SVGのすべての改行を手動で削除しなければならなかった.

ハウツーとスタイル


バグは、単純に単一のフラグを追加する必要が粉砕していた:
/<svg .*>/im

ナビゲーションリンク:マルチラインSVGを許可するためにregexを修正 -



SiddharthShyniben
掲示される

PRはどんなタイプですか。(該当するすべてを確認する)

  • [リ]リファクタ
  • [機能]
  • バグ修正
  • []最適化
  • []ドキュメントの更新
  • 説明


    SVGをテストするために使用される正規表現がマルチラインSVGにマッチすることを許します.修正14334

    関連チケット


    残高14334

    QAの指示、スクリーンショット、録音


    Na

    UIアクセシビリティの懸念?


    Na

    追加/更新テスト?

  • はい
  • [ x ] no ,そしてこれが理由です.このテストがあるかどうかわからない
  • [ X ]私はテストを書くの助けが必要です
  • [ Foremコアチーム]この変更はどうやって伝えられるのでしょうか?


    このPRは、FORMメンバーやクリエイターに影響を与える変更を導入しますか
    開発プロセス、または当社の内部チームのいずれか?もしそうならば
    この変化を知る必要がある人々と共有します.
  • 更新しましたDeveloper Docs //
    Admin Guide , or
    Storybook (クレヨンコンポーネント用)
  • [] readmeを更新したか、インラインドキュメントを追加しました
  • エントリを追加しました
    CHANGELOG.md
  • 私は、この変化をChangelog
    またはforem.dev ポスト
  • 私はこの変更を内部チームと適切に共有します
  • 私はこの変更をどのようにコミュニケーションし、助けを必要としているかよくわからない
  • []この変更は通信する必要はありません.
    この行がなぜ必要でないのかについての詳細をこの行に置き換えてください
    共有
  • [オプション]実行するために必要なポスト展開タスクはありますか?


    Na

    [オプション] GIF最高のこのPRについて説明するか、どのように感じさせるか。



    View on GitHub

    反射


    これはかなり基本的な問題であり、私はこれは暖かさを考慮することができますので、ここで言うことは何もありません.しかし、私はもう一つの問題を取り上げました、そして、私がそれについて書くとき、私は詳述します:D.
    つの超重要な隠れ家は、一度、1つのプログラミング言語を学ぶ、ほとんどの他のものはかなり使いやすいです.私はルビーでゼロの経験があるが、推測?私は2バグ(前のバグスマッシュから1つ)を粉砕しました.だから、あなたがプログラミング言語を使用していないので心配している場合-使用して心配しないでください、それはそれを学ぶために一日未満かかることがあります.これは多くの物に当てはまる.

    開発コミュニティバグバグスマッシュの提案


    その他のバグスマッシュ!あなたがOSSに貢献するとき、本当に素晴らしい感じがあります!多分、あなたはこれを季節的なものにすることができました:D