Aipo で Microsoft Edge 向けに対応した内容

本日リリースされた Windows 10 に搭載されている新ブラウザ、Mirosoft Edge について、 Aipo で対応した内容についてです。

まず、User-Agent について

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0"

IE のバージョンを表す Trident が削除され、Chrome, Safari, Edge が追加されています。
ブラウザの挙動としましても、IE というよりモダンブラウザである Chrome に近いレンダリングをするようです。

以下の判定を入れました。

  public static boolean isEdgeBrowser(RunData rundata) {
    return isMatchUserAgent("Win", rundata)
      && (isMatchUserAgent("Edge", rundata));
  }

プログラム側の修正箇所では、マルチバイトのファイル名のファイルをアップロードすると、 ダウンロードの際に文字化けるといった問題がありました。   以下のコミットのように、Microsoft Edge でのアクセスの際には Windows-31J にエンコードしてファイル名を返すようにしています。
https://github.com/aipocom/aipo/commit/bd26dd25196377841338cce87e3fcc7c7656b4a4#diff-e8db7e75fced7e12e0265f6efd9c1dcb

デザイン面では大きな崩れはなかったのですが、カレンダーの調整を行っています。
https://github.com/aipocom/aipo/commit/04687cd4d8f141a8dd04b8f73cf9c3da1c4c42b9