summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/web/app/boot.js25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/web/app/boot.js b/src/web/app/boot.js
index 612e73e885..5067600c6c 100644
--- a/src/web/app/boot.js
+++ b/src/web/app/boot.js
@@ -1,13 +1,6 @@
-/*
-MISSKEY BOOT LOADER
-
-Misskeyを起動します。
-1. 初期化
-2. ユーザー取得(ログインしていれば)
-3. アプリケーションをマウント
-*/
-
-// LOAD DEPENDENCIES
+/**
+ * boot
+ */
const riot = require('riot');
require('velocity');
@@ -18,7 +11,9 @@ const mixins = require('./common/mixins.ls');
const checkForUpdate = require('./common/scripts/check-for-update.ls');
require('./common/tags.ls');
-// MISSKEY ENTORY POINT
+/**
+ * MISSKEY ENTORY POINT!
+ */
document.domain = CONFIG.host;
@@ -64,26 +59,33 @@ module.exports = callback => {
if (cachedMe != null) {
localStorage.removeItem('me');
}
+
fetchme(i, false, fetched);
}
function fetched(me) {
if (me != null) {
riot.observable(me);
+
if (me.data.cache) {
localStorage.setItem('me', JSON.stringify(me));
+
me.on('updated', () => {
// キャッシュ更新
localStorage.setItem('me', JSON.stringify(me));
});
}
}
+
mixins(me);
+
const init = document.getElementById('init');
init.parentNode.removeChild(init);
+
const app = document.createElement('div');
app.setAttribute('id', 'app');
document.body.appendChild(app);
+
try {
callback(me);
} catch (e) {
@@ -113,6 +115,7 @@ function fetchme(token, silent, cb) {
if (res.status !== 200) {
return signout();
}
+
res.json().then(i => {
me = i;
me.token = token;