Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

クリッカブルURLの仕様変更に対するロールバック要求 #1915

Open
takeyamajp opened this issue Feb 24, 2023 · 19 comments
Open
Assignees
Labels
💩degradation🧻🚽 デグレ (前に動いていた機能が動かなくなった) document ドキュメント

Comments

@takeyamajp
Copy link
Contributor

問題内容

バージョン 2.4.1 から 2.4.2 の間に登録された次の Issue と Pull request が対応誤りだと思われるため、コミット内容のロールバックを求めます。
もしどうしても対応が必要だと考える場合でも、いったんゼロベースに戻してから改めて検討していただきたく思います。

クリッカブルURL機能から実行可能ファイルを直接実行できるのは仕様かどうか #1705
ブラウザでURLを開く機能の改善 #1708

■サクラエディタの機能の誤認について。
まず、Pull request のタイトルと目的に書かれている「ブラウザで URL を開く機能」は、サクラエディタの機能を誤認しています。
サクラエディタでいう「クリッカブルURL」とはヘルプにも書かれている通りのシンプルな機能です。

ヘルプ:クリッカブルURL(リンク先の最上部を参照)
テキスト中のURLをダブルクリックすると、Windowsのシェルを介して関連付けされたアプリケーション(Webブラウザ等)にURLを渡します。

注意していただきたいのは「Webブラウザ等」とは、機能が実行された結果の一例であるという事です。
厳密に「Windowsのシェルを介して関連付けされたアプリケーション」とは、exeやbatなどWindows標準で実行可能なファイル拡張子と、Windowsの以下の設定内容を指しています。

  • 設定 -> アプリ -> 既定のアプリ -> ファイルの種類ごとに既定のアプリを選ぶ
  • 設定 -> アプリ -> 既定のアプリ -> プロトコルごとに既定のアプリを選ぶ

■クリッカブルURLの仕様について。
現在のサクラエディタは、初回起動時に「テキストのタイプ別設定」に「正規表現キーワード」を2つ初期登録しています。

ヘルプ:タイプ別設定 『正規表現キーワード』プロパティ(リンク先の最下部を参照)
/\b[a-zA-Z]:\[\w-.\/$%~]*/k
/\B\\[\w-
.\/$%~]+/k

このいずれかの正規表現にマッチする文字列が「クリッカブルURL」としてサクラエディタ上でリンク表示されます。
そして、それをダブルクリックしたときに前述したWindowsの関連付け設定に従ってリンクを開く仕様になっていました。

もし問題があるとしても、仕様の根幹を変えるのではなく、初期登録する正規表現の修正を検討するべきだったと思います。

問題のカテゴリ

  • 仕様の問題
  • プログラムの動作上の問題
    • 正式リリース版

環境情報

  • サクラエディタバージョン
    2.4.2
@berryzplus
Copy link
Contributor

このPR見てます?

#1708#1702 の改善と言ってるので、ロールバックするなら #1702 も対象になりそうです。

こういう使い方をしたいから削除された機能を元に戻して欲しい
であれば理解できるかも知れません。

@takeyamajp
Copy link
Contributor Author

exeを実行する使い方はともかく、最低限ヘルプに書かれているようなシェルを通した使い方はしたいから、削除された機能を元に戻して欲しいです。

それと、CodeFactor は OS command injection の可能性を指摘しているようですが、それはあくまで「Possible = 可能性」であり「実際に攻撃することが難しい」ならツールの指摘は無視することもできます。
個人的に、この機能は利便性と危険性とのバランスの上に成り立っている機能で、本質的にはWindowsのエクスプローラやデスクトップ上に表示されているローカルファイルやショートカットをダブルクリックする事と変わらないと思っています。

@berryzplus berryzplus added 🐛bug🦋 ■バグ修正(Something isn't working) document ドキュメント 💩degradation🧻🚽 デグレ (前に動いていた機能が動かなくなった) labels Jun 4, 2023
@berryzplus
Copy link
Contributor

関連PRをまとめてrevertするか、ドキュメント記載との差異を埋めるか、ドキュメントを直すか。

なんらかの対処が要ると思います。

@beru
Copy link
Contributor

beru commented Sep 10, 2023

元の動作が良いというユーザー向けに共通設定にチェックボックスの項目を追加するのはどうでしょうか?
デフォルトではチェックが付いていない状態で良いと思います。

@berryzplus
Copy link
Contributor

過去のコミット内容のロールバック要求

issueタイトルが意味不明ですね。

自分も当初はおかしなタイトルのissueをたくさん作りました。
いまになって振り返ると「これじゃ対応できない」の気持ちも少し分かります。

結局、何が困るんでしたっけ?

困りごとを正しく文章化するスキルはレアなので、
可能であれば「何に困っているか」を共有いただけるとありがたいです。

@beru
Copy link
Contributor

beru commented Jul 14, 2024

クリッカブルURLの話と少しずれますが、メニューのファイル > ブラウズの動作を確認してみました。

バージョン 取得元 動作
v2.2.0.1 https://sakura-editor.github.io/old_download.html にリンクが張られている 現在サクラエディタで開いているファイルを関連付けしているアプリで開く
v2.4.2 https://github.com/sakura-editor/sakura/releases/tag/v2.4.2 現在サクラエディタで開いているファイルをWebブラウザで開く

ヘルプのブラウズの説明 link を見ると関連付けされたアプリで開くという事なので、それと一致しない挙動になっていると思います。

@takeyamajp
Copy link
Contributor Author

実際に困っているのは途中で書かせてもらった「クリッカブルURL機能」が使えなくなった事でした。
しかし、本質的な問題はこのプロジェクトに必要のないプログラム修正が加えられた事で、それを明確にしたくてこのようなタイトルにしました。

・CodeFactorの警告を消すためだけにプログラムを修正し、実害があるかどうかを検証していない。
・サクラエディタの機能や仕様を正しく理解せずプログラム修正している。

それと「外部から見た動作が変わるようなプログラム修正」をリファクタリングと呼ぶのは止める事をおすすめします。
一般的にリファクタリングと書かれるとアプリの仕様は変わらないと思ってしまいます。

@beru
Copy link
Contributor

beru commented Jul 14, 2024

クリッカブルURLの説明 link に書かれている通りに タイプ別設定 『正規表現キーワード』プロパティ の画面で正規表現 /.*/k 色指定 URL の正規表現キーワードを追加して確認してみました。

バージョン 動作
v2.2.0.1 関連付けしているアプリで開く。URLスキームが付いてなくても開ける。
v2.4.2 Webブラウザで開く。URLスキームが付いてないと開けない。

@beru
Copy link
Contributor

beru commented Jul 14, 2024

実際に困っているのは途中で書かせてもらった「クリッカブルURL機能」が使えなくなった事でした。
しかし、本質的な問題はこのプロジェクトに必要のないプログラム修正が加えられた事で、それを明確にしたくてこのようなタイトルにしました。

気持ちは伝わるのですが、他のIssueが同じようなタイトルで作成された場合の事を考えてみてください。Issue一覧画面を見た時にそういうタイトルのIssueが並んでいたら見分けが付きにくくないでしょうか?

@takeyamajp
Copy link
Contributor Author

あまりに基本的な問題だと思ったので、タイトルに結論を書くことに不自然を感じませんでした。

似たようなタイトルのissueが並んでいて区別が付かないという状況は、同じ問題が繰り返し発生しているという事になります。
今そうなる事を心配するより、将来そうならないようにプロジェクトを管理する事を考えるべきではないでしょうか。

@beru
Copy link
Contributor

beru commented Jul 15, 2024

自分がもしタイトルを付けるとしたら「ブラウズとクリッカブルURLで関連付けされたアプリケーションで開くことが出来なくなってしまっている」にします。

あまりに基本的な問題だと思ったので、タイトルに結論を書くことに不自然を感じませんでした。

正直それはちょっと性急だと思いますね。

似たようなタイトルのissueが並んでいて区別が付かないという状況は、同じ問題が繰り返し発生しているという事になります。
今そうなる事を心配するより、将来そうならないようにプロジェクトを管理する事を考えるべきではないでしょうか。

問題報告を行うIssueのタイトルはその問題の内容を表したものにしましょう、という事が私が伝えたい内容です。

なお同じ問題を扱うIssueが既に存在するのに、それに関する別のIssueを作成するというのはそれは重複 (Duplicated) になるので好ましくないです。プロジェクトによっては管理者によってチケットがCloseされます。

@k-takata
Copy link
Member

タイトルに結論を書くのは別に構わないと思うのですが、今のタイトルだとどのコミットに対するロールバック要求なのかが全く分からないという点で結論としても不適切です。私なら「クリッカブルURLの仕様変更に対するロールバック要求」とします。

プロジェクト運営に関する話があるならプログラム修正の話とは分けて、Discussionsなどでした方が良いのではと思います。

@takeyamajp takeyamajp changed the title 過去のコミット内容のロールバック要求 クリッカブルURLの仕様変更に対するロールバック要求 Jul 15, 2024
@takeyamajp
Copy link
Contributor Author

タイトルを修正しました。

対象を限定していなかったのは、限定すればその箇所だけ対処される予感がしたからです。
しかし本文には特定のコミットしか挙げていないので矛盾していましたね。

@berryzplus berryzplus removed the 🐛bug🦋 ■バグ修正(Something isn't working) label Jul 18, 2024
@berryzplus
Copy link
Contributor

#1965 (comment) で具体的なユースケースが提示されたので、何が発生しているかは理解しました。
が、このissueについては意味不明だと思ってます。

もしどうしても対応が必要だと考える場合でも、いったんゼロベースに戻してから改めて検討していただきたく思います。

ゼロベースに戻して開発しなおしたほうが良さそうな機能は他にもたくさんあります。
英語対応とかミニマップとかCSV対応とか。
何気にUNICODE対応ですら、適切な対応であるとは言い難いです。

それを踏まえて、発生している問題への対処でなく全revertを提案する意味がわかりません。

#1965 、どなたかレビューできますか?ぼくには無理です。

@takeyamajp
Copy link
Contributor Author

ゼロベースとはコミット前のリビジョンという意味で、クリッカブルURL機能をゼロから考え直すという意味ではありません。

#1965は、対応誤りのコミットをロールバックする事を求めていて、もし対応が必要だと考える理由が少しでもあるなら、それをしっかりと示してから改めて検討して欲しいと書いています。

@takeyamajp
Copy link
Contributor Author

issue番号を間違いました。#1965ではなく#1915でした。

@berryzplus
Copy link
Contributor

berryzplus commented Sep 7, 2024

image
github issue に投稿したコメントは修正できますよ。

@takeyamajp
Copy link
Contributor Author

コメントが修正できる事は知っています。
このissue内では安易に修正せず新規ポストした方が良いと思ってそうしました。
それだけ色々と警戒しているということです。

@berryzplus
Copy link
Contributor

ついやりかえしてしまいました。すみません。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💩degradation🧻🚽 デグレ (前に動いていた機能が動かなくなった) document ドキュメント
Projects
None yet
Development

No branches or pull requests

5 participants