Add: compatibility viewer

This commit is contained in:
Cutls 2019-09-30 02:22:44 +09:00
parent dfb0f79c92
commit a9f55aa64f
3 changed files with 173 additions and 1 deletions

View File

@ -299,6 +299,7 @@ function login(url) {
misskeyLogin(url);
return;
}
$("#compt").hide()
if ($('#linux:checked').val() == "on") {
var red = "urn:ietf:wg:oauth:2.0:oob"
} else {
@ -327,6 +328,7 @@ function login(url) {
localStorage.setItem("client_id", json["client_id"]);
localStorage.setItem("client_secret", json["client_secret"]);
$("#auth").show();
versionChecker(url)
$("#add").hide();
postMessage(["openUrl", auth], "*")
if ($('#linux:checked').val() == "on") { } else {
@ -334,7 +336,71 @@ function login(url) {
}
}
}
}
function versionChecker(url) {
var start = "https://" + url + "/api/v1/instance";
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
var version = json.version
if (version) {
var reg = version.match(/^[0-9]\.[0-9]\.[0-9]/u);
if (reg) {
reg = reg[0]
versionCompat(url, reg, json.title, version)
}
}
});
}
function versionCompat(url, ver, title, real) {
$("#compt-instance").text(title)
$("#compt-ver").text(real)
$("#compt-list").html("")
var start = "../../source/version.json";
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
var complete = false
var ct = 0
Object.keys(json).forEach(function (key) {
var data = json[key];
if (data) {
if (key != ver && !complete) {
for (var i = 0; i < data.length; i++) {
var e = ""
if (i == 0) {
e = "(" + key + ")"
}
$("#compt-list").append('<li>' + data[i] + e + '</li>')
ct++;
e = ""
}
} else if (!complete) {
complete = true
}
}
var lastkey = key
});
if (lang.language == "ja" && ct > 0) {
$("#compt").show()
}
});
}
//これが後のMisskeyである。

88
app/source/version.json Normal file
View File

@ -0,0 +1,88 @@
{
"latest":[],
"3.0.0": [
"プロフィールディレクトリの表示",
"ホワイトリスト式のトレンドタグ(3.0の機能)",
"Featuredハッシュタグの追加",
"ホームタイムラインと通知タイムラインの未読管理"
],
"2.9.3": [],
"2.9.2": [],
"2.9.1": ["オーディオのアップロードと再生"],
"2.9.0": ["ユーザーごとの通知のフィルター"],
"2.8.4": [],
"2.8.3": [],
"2.8.2": [],
"2.8.1": ["blurhashによる閲覧注意画像表示"],
"2.8.0": [
"アンケートの作成と投票",
"keybase等のアカウント認証対応",
"検索のオフセット等",
"ブロックされているアカウントを表示したときに「ブロックされています」と表示"
],
"2.7.4": [],
"2.7.3": [],
"2.7.2": [],
"2.7.1": [],
"2.7.0": ["プロフィールディレクトリのユーザー追加", "時間指定投稿"],
"2.6.5": [],
"2.6.4": [],
"2.6.3": [],
"2.6.2": [],
"2.6.1": [],
"2.6.0": [
"ダイレクトメールだけのタイムラインの表示",
"詳細画面の「これより後のタイムライン」の利用",
"タイムラインにおけるカードの表示"
],
"2.5.2": [],
"2.5.1": [],
"2.5.0": ["リプライ数のカウント", "プロフィールに紹介する"],
"2.4.5": [],
"2.4.4": [],
"2.4.3": ["フィルター機能", "フォローレコメンデーション"],
"2.4.2": [],
"2.4.1": [
"削除して再編集の画像を下書きに戻す",
"検索時のトゥート数のグラフ等の表示(v2 search)",
"トゥート内のURLからトゥートやアカウントの情報を開く",
"設定ページから製作者のアカウント情報を開く",
"TheDeskお知らせに添付されたトゥートを開く",
"Glance TLやtootsearchのトゥートやアカウント情報を表示する"
],
"2.4.0": [
"プロフィールのフィールド(4つの項目)を見る",
"プロフィールにカスタム絵文字を使用する"
],
"2.3.3": [],
"2.3.2": [],
"2.3.1": [],
"2.3.0": [
"トゥートに埋め込まれたYouTubeやニコ動などをその場で再生する",
"ローカル(メディア)と連合(メディア)タイムライン"
],
"2.2.0": [],
"2.1.3": [],
"2.1.2": [],
"2.1.0": [
"リスト機能",
"アカウント移行機能(移行された通知)",
"Glance TLのストリーミング"
],
"2.0.0": ["カスタム絵文字"],
"1.6.1": [],
"1.6.0": ["トゥートのピン留め"],
"1.5.1": [],
"1.5.0": ["Mastodonのサーバー規定値による投稿範囲の変更"],
"1.4.7": [],
"1.4.6": [],
"1.4.5": [],
"1.4.4": [],
"1.4.3": [],
"1.4.2": [],
"1.4.1": ["ユーザーによるドメインブロック"],
"1.3.3": [],
"1.3.2": [],
"1.3.1": [],
"1.3.0": []
}

View File

@ -61,6 +61,19 @@
.first .hide-first {
display: none;
}
#compt {
margin-top: 20px;
margin-bottom: 50px;
border: 1px solid;
border: 1px solid;
padding: 5px;
}
#compt li {
list-style-type: disc;
margin-left: 20px;
}
</style>
<meta charset="utf-8">
@@comment-start@@
@ -120,6 +133,11 @@
@@codepastewarn@@<br>
<input type="text" id="code" placeholder="@@codepaste@@">
<button class="btn waves-effect" onclick="code()">Auth</button><br>
<div id="compt" style="display:none">
<h5>ログイン前に必ずご確認ください</h5>
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span>のため以下の機能がご利用いただけません。
<ul id="compt-list"></ul>
</div>
</div>
<div id="misskeylogin" style="display:none">
<h5>AppSecret</h5>