【GitHub】Branch protection ruleでRestrict who can push to matching branchesが効かなかった話

TL;DR

  • Include administratorsしない場合、自分がadminならRestrict who can push to matching branchesは機能しない

やりたかったこと

間違えてフォーク元にpushする事故を防ぐためBranch protection ruleを調べていた所、Restrict who can push to matching branchesという機能を見つけました。
これは下記の通り、push可能なユーザーを制限する機能という記述が有ります。

f:id:wrongwrongwrongwrong163377:20201002104732p:plain

一方、自分が試した所、この項目だけを弄ってもpushできてしまっていました。

対処

下記画像の通り、Include administratorsすることで問題を解決できました。
今回は全員がpushできないようにすることが目標だったので、ひとまずこれで解決しました。

f:id:wrongwrongwrongwrong163377:20201002104930p:plain

【プログラミング】Intellij IDEAでVueファイルの@エイリアスが解決できなかった問題への対処

TL;DR

  • Webpackのコンフィグファイル名を間違えていた

原因/対処法

Cmd + Shift + aPreferences -> Language & Frameworks -> JavaScript -> Webpackを開き、webpack configuration fileを確認した所、webpack.config.jsとなっているべき所がwebpack.common.jsとなっていたことが原因でした。
ファイル名を直した所機能するようになりました。

参考にさせて頂いた記事

【GitKraken】Refresh Token表示が出ても、まずは通信の失敗を疑うべきだった話

TL;DR

  • push開始後に通信の失敗が起こると下記の画像のようなRefresh Token表示が出る
  • 単純に通信に失敗しているだけだった場合、実際にはRefresh Tokenしなくてもよい

f:id:wrongwrongwrongwrong163377:20200909091934p:plain

本文

リモートワーク開始以降、自宅の回線やVPNの不安定さで通信に失敗する場面がしばしば有り、そのタイミングでpushしているとRefresh Token表示が出ることに気付きました(弊社はオンプレGHEでやっているため、pushにはVPNが必須です)。

実験した所、「push開始 -> VPN切断」の手順でやると再現できるようです。
実際は通信に失敗しているだけなので、Refresh Token操作をしなくても、リトライ or 回線を見直せば大丈夫です。

【プログラミング】JetBrains IDEでgradle.ktsプロジェクトがKotlin 1.4へのアップデート後Cannot access...となって壊れる状況への対処

問題

  • JetBrains IDEgradle.ktsで書いたプロジェクトを編集し、依存するKotlinのバージョンを1.4に上げた所、gradle.kts/Kotlin/Java全てのファイルがエラー表示となり、補完等が効かなくなった
  • エラーメッセージとしては、Cannot access...から始まる「例: java.lang.Stringにアクセスできない」というような旨が表示された

対処

前置き

File -> ProjectStructure」を開きます。 f:id:wrongwrongwrongwrong163377:20200829004421p:plain

原因らしきもの

ProjectStructure -> Project -> Project SDK」でJBRJava 11が選ばれていました。
JBRというのはIntellij IDEA向けに最適化の施されたJavaで、プロジェクトのSDKとしては不適切です。

見つけた情報を参考に.ideaフォルダを消したり、Invalidate Caches / Restart.したり、プロジェクトのSDKを変えたりしましたが、どうも何らかのタイミングでJBRJava 11に戻っているようでした。

f:id:wrongwrongwrongwrong163377:20200829004834p:plain
※修正後のため1.8が選ばれていますが、ここが11になるのを繰り返しました

対処法

ProjectStructure -> SDKs」を開き、JDK home pathjbrを含むJava 11-で消した上で、念のためInvalidate Caches / Restart.した所症状が収まりました。

f:id:wrongwrongwrongwrong163377:20200829004528p:plain

参考情報として、問題を起こしていた設定では、Classpathの中身が空っぽでした。
恐らく、これのせいで必要な情報が参照できなかったものと思われます。

f:id:wrongwrongwrongwrong163377:20200829005501p:plain

参考にさせて頂いた記事

Macのファイル選択ダイアログで大量のファイルを一気に選択するとファイルが抜ける

TL;DR

  • HTMLinput type="file"などでファイル選択ダイアログを出し、大量にファイルが入ったフォルダを開いた上でCtrl + Aなどで選択するとファイルが抜ける
    • 目安は500件以上
    • accept属性を付けると症状が酷くなる傾向あり
  • 以前から有る不具合で、macOS Catalina 10.15.6 (19G2021)でも継続して発生
  • ちょっと待ってから選択するなどすれば回避は可能

小並感

非同期処理が何か悪さしているんだと思います。
エッジケースですがちょっと怖い挙動ですね。

【プログラミング】JetBrains IDEで起動直後に固まって操作できなくなる問題への対処

TL;DR

  • IntelliJ IDEA 2020.2で起動直後に固まって操作できなくなる状況になった
    • PCの再起動、IDEAの再インストールは効果が無かった
  • 自分の場合は閉じる前に開いていたREADME.md(Markdownファイル)を消した所正常に操作できるようになった

問題

IntelliJ IDEA 2020.2(Windowsから利用)で起動直後に固まって操作できなくなる状況になりました。
PCの再起動、IDEAの再インストールは効果が有りませんでした。

フリーズするのはKotlin関係の処理のようでした。

対処

一応画面は表示されたので、そこで開いていたREADME.mdのファイルを消し、その上でプロセスのKill -> 再度起動した所、起動から時間が経っても正常に動作するようになりました。

雑感

IDEAMarkdown周りいい加減ちゃんとならないもんですかね……。
正確には覚えてませんが、相当前から正常に動いてる所を見た覚えが有りません。

【プログラミング】JetBrains IDEでvueファイルを編集しているときに固まる問題への対処

TL;DR

  • Intellij IDEA 2019.3で、大きめのvueファイルを編集するとハングアップするようになった
  • ランタイムをJDK8系からJDK11系に変更したところ症状が抑制された
  • 原因がJDK依存の問題か、JDK変更による処理効率アップかは不明

問題

Intellij IDEA 2019.3でソースの編集中にハングアップするという状況が度々(しかも段々悪化する形で)発生して困っていました。
以下の手順でthreadDumpを調べた所、どうもフリーズが発生するのはvueファイルの編集時のようでした。

対処

Intellij IDEA 2019.2系で日本語入力が不安定になる問題に絡めて、IDEAのランタイムをJDK8系にしていたことを思い出しました。

ここで、互換性問題や処理効率の向上を期待して、ランタイムをJDK11系にすることにしました。
変更は以下の手順で行いました。

結果

一応症状は落ち着きました。
原因に関しては詳しく調査しませんでしたが、一旦落ち着いているのでこれ以上の調査はしません。