From eefbe097c0e810bbda4108b4235b32bf0456b06f Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 19 Feb 2021 21:40:09 +0900 Subject: [PATCH 01/23] Resolve #7222 --- locales/ja-JP.yml | 1 + src/client/pages/search.vue | 1 + src/client/ui/chat/index.vue | 14 +++++++++++++- src/server/api/endpoints/notes/search.ts | 15 ++++++++++++++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 680e70f61e..51a82a32b9 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -704,6 +704,7 @@ editCode: "コードを編集" apply: "適用" receiveAnnouncementFromInstance: "インスタンスからのお知らせを受け取る" emailNotification: "メール通知" +inChannelSearch: "チャンネル内検索" _email: _follow: diff --git a/src/client/pages/search.vue b/src/client/pages/search.vue index ed92243cd2..5e79531b20 100644 --- a/src/client/pages/search.vue +++ b/src/client/pages/search.vue @@ -28,6 +28,7 @@ export default defineComponent({ limit: 10, params: () => ({ query: this.$route.query.q, + channelId: this.$route.query.channel, }) }, }; diff --git a/src/client/ui/chat/index.vue b/src/client/ui/chat/index.vue index 79c0d53074..44f47447a7 100644 --- a/src/client/ui/chat/index.vue +++ b/src/client/ui/chat/index.vue @@ -99,7 +99,10 @@
{{ instanceName }}
- +
@@ -26,19 +26,19 @@
Process
-
{{ number(deliver.activeSincePrevTick) }}
+
{{ number(deliver.activeSincePrevTick) }}
Active
-
{{ number(deliver.active) }}
+
{{ number(deliver.active) }}
Delayed
-
{{ number(deliver.delayed) }}
+
{{ number(deliver.delayed) }}
Waiting
-
{{ number(deliver.waiting) }}
+
{{ number(deliver.waiting) }}
@@ -79,10 +79,15 @@ export default defineComponent({ waiting: 0, delayed: 0, }, + prev: {}, faExclamationTriangle, }; }, created() { + for (const domain of ['inbox', 'deliver']) { + this.prev[domain] = JSON.parse(JSON.stringify(this[domain])); + } + this.connection.on('stats', this.onStats); this.connection.on('statsLog', this.onStatsLog); @@ -99,6 +104,7 @@ export default defineComponent({ methods: { onStats(stats) { for (const domain of ['inbox', 'deliver']) { + this.prev[domain] = JSON.parse(JSON.stringify(this[domain])); this[domain].activeSincePrevTick = stats[domain].activeSincePrevTick; this[domain].active = stats[domain].active; this[domain].waiting = stats[domain].waiting; @@ -152,6 +158,16 @@ export default defineComponent({ > div:first-child { opacity: 0.7; } + + > div:last-child { + &.inc { + color: var(--warn); + } + + &.dec { + color: var(--success); + } + } } } } From 53c7077d1d78b535ab04a55ec5c508c1bab83034 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 20 Feb 2021 11:15:08 +0900 Subject: [PATCH 05/23] =?UTF-8?q?ChatUI=E3=81=A7=E9=81=B8=E6=8A=9E?= =?UTF-8?q?=E3=81=97=E3=81=9F=E3=82=BF=E3=82=A4=E3=83=A0=E3=83=A9=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=82=92=E8=A8=98=E6=86=B6=E3=81=99=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/ui/chat/index.vue | 4 +++- src/client/ui/chat/store.ts | 4 ++++ src/client/ui/chat/widgets.vue | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/client/ui/chat/index.vue b/src/client/ui/chat/index.vue index 44f47447a7..1d455927a0 100644 --- a/src/client/ui/chat/index.vue +++ b/src/client/ui/chat/index.vue @@ -150,6 +150,7 @@ import { router } from '@/router'; import { sidebarDef } from '@/sidebar'; import { search } from '@/scripts/search'; import copyToClipboard from '@/scripts/copy-to-clipboard'; +import { store } from './store'; export default defineComponent({ components: { @@ -189,7 +190,7 @@ export default defineComponent({ data() { return { - tl: 'home', + tl: store.state.tl, lists: null, antennas: null, followedChannels: null, @@ -236,6 +237,7 @@ export default defineComponent({ this.currentChannel = channel; }); } + store.set('tl', this.tl); }, { immediate: true }); }, diff --git a/src/client/ui/chat/store.ts b/src/client/ui/chat/store.ts index a869debd61..389d56afb6 100644 --- a/src/client/ui/chat/store.ts +++ b/src/client/ui/chat/store.ts @@ -10,4 +10,8 @@ export const store = markRaw(new Storage('chatUi', { data: Record; }[] }, + tl: { + where: 'deviceAccount', + default: 'home' + }, })); diff --git a/src/client/ui/chat/widgets.vue b/src/client/ui/chat/widgets.vue index 6becaa22e3..6b12f9dac9 100644 --- a/src/client/ui/chat/widgets.vue +++ b/src/client/ui/chat/widgets.vue @@ -10,7 +10,7 @@ diff --git a/src/client/ui/chat/note.vue b/src/client/ui/chat/note.vue index 315f5c91e3..9312b99d27 100644 --- a/src/client/ui/chat/note.vue +++ b/src/client/ui/chat/note.vue @@ -1091,6 +1091,7 @@ export default defineComponent({ > .poll { font-size: 80%; + max-width: 500px; } > .renote { diff --git a/src/client/ui/chat/notes.vue b/src/client/ui/chat/notes.vue index fb9f8fe260..3a169cc20a 100644 --- a/src/client/ui/chat/notes.vue +++ b/src/client/ui/chat/notes.vue @@ -8,7 +8,7 @@
- + @@ -19,7 +19,7 @@
- + diff --git a/src/server/web/boot.js b/src/server/web/boot.js index 2bd306ea94..993b770ab1 100644 --- a/src/server/web/boot.js +++ b/src/server/web/boot.js @@ -11,6 +11,10 @@ 'use strict'; +window.onerror = (e) => { + document.documentElement.innerHTML = '問題が発生しました。'; +}; + // ブロックの中に入れないと、定義した変数がブラウザのグローバルスコープに登録されてしまい邪魔なので (async () => { const v = localStorage.getItem('v') || VERSION; From bd046f7670ff92a2eb3f026762fcb9fc9392e525 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 21 Feb 2021 13:34:17 +0900 Subject: [PATCH 19/23] Update dependencies :rocket: --- package.json | 32 ++++----- yarn.lock | 199 +++++++++++++++++++++++++++------------------------ 2 files changed, 122 insertions(+), 109 deletions(-) diff --git a/package.json b/package.json index 42f986cda3..6b03ab3d59 100644 --- a/package.json +++ b/package.json @@ -62,9 +62,9 @@ "@types/is-url": "1.2.28", "@types/js-yaml": "4.0.0", "@types/jsdom": "16.2.6", - "@types/jsonld": "1.5.2", + "@types/jsonld": "1.5.3", "@types/katex": "0.11.0", - "@types/koa": "2.11.7", + "@types/koa": "2.13.0", "@types/koa-bodyparser": "4.3.0", "@types/koa-cors": "0.0.0", "@types/koa-favicon": "2.0.19", @@ -77,8 +77,8 @@ "@types/koa__router": "8.0.4", "@types/markdown-it": "12.0.1", "@types/matter-js": "0.14.10", - "@types/mocha": "8.2.0", - "@types/node": "14.14.25", + "@types/mocha": "8.2.1", + "@types/node": "14.14.31", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.0", "@types/nprogress": "0.2.0", @@ -110,23 +110,23 @@ "@typescript-eslint/parser": "4.14.2", "@vue/compiler-sfc": "3.0.5", "abort-controller": "3.0.0", - "apexcharts": "3.24.0", + "apexcharts": "3.25.0", "autobind-decorator": "2.4.0", "autosize": "4.0.2", "autwh": "0.1.0", - "aws-sdk": "2.840.0", + "aws-sdk": "2.848.0", "bcryptjs": "2.4.3", "blurhash": "1.1.3", "broadcast-channel": "3.4.1", "bull": "3.20.1", "cafy": "15.2.1", - "cbor": "6.0.1", + "cbor": "7.0.1", "chalk": "4.1.0", "chart.js": "2.9.4", "cli-highlight": "2.1.10", "commander": "4.1.1", "content-disposition": "0.5.3", - "core-js": "3.8.3", + "core-js": "3.9.0", "crc-32": "1.2.0", "css-loader": "5.0.2", "cssnano": "4.1.10", @@ -134,8 +134,8 @@ "diskusage": "1.1.3", "double-ended-queue": "2.1.0-0", "escape-regexp": "0.0.1", - "eslint": "7.19.0", - "eslint-plugin-vue": "7.5.0", + "eslint": "7.20.0", + "eslint-plugin-vue": "7.6.0", "eventemitter3": "4.0.7", "feed": "4.2.2", "fibers": "5.0.0", @@ -163,7 +163,7 @@ "jsdom": "16.4.0", "json5": "2.2.0", "json5-loader": "4.0.1", - "jsonld": "3.3.0", + "jsonld": "4.0.1", "jsrsasign": "8.0.20", "katex": "0.12.0", "koa": "2.13.1", @@ -194,7 +194,7 @@ "parsimmon": "1.16.0", "pg": "8.5.1", "portscanner": "2.2.0", - "postcss": "8.2.5", + "postcss": "8.2.6", "postcss-loader": "5.0.0", "prismjs": "1.23.0", "probe-image-size": "6.0.0", @@ -218,7 +218,7 @@ "rimraf": "3.0.2", "rndstr": "1.0.0", "s-age": "1.1.2", - "sass": "1.32.6", + "sass": "1.32.8", "sass-loader": "11.0.1", "seedrandom": "3.0.5", "sharp": "0.27.1", @@ -234,11 +234,11 @@ "throttle-debounce": "3.0.1", "tinycolor2": "1.4.2", "tmp": "0.2.1", - "ts-loader": "8.0.16", + "ts-loader": "8.0.17", "ts-node": "9.1.1", "tslint": "6.1.3", "tslint-sonarts": "1.9.0", - "typeorm": "0.2.30", + "typeorm": "0.2.31", "typescript": "4.1.5", "ulid": "2.3.0", "url-loader": "4.1.1", @@ -254,7 +254,7 @@ "vue-style-loader": "4.1.2", "vuedraggable": "4.0.1", "web-push": "3.4.4", - "webpack": "5.21.2", + "webpack": "5.23.0", "webpack-cli": "4.5.0", "websocket": "1.0.33", "ws": "7.4.3", diff --git a/yarn.lock b/yarn.lock index 783e17d4a7..91cfdacce3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,13 @@ # yarn lockfile v1 +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/code-frame@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" @@ -36,6 +43,15 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== +"@babel/highlight@^7.10.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/highlight@^7.8.3": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" @@ -587,10 +603,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/jsonld@1.5.2": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/jsonld/-/jsonld-1.5.2.tgz#6de5589f72a73be07f2d0a99a39337f4c4518a78" - integrity sha512-e6mgulD3RB3lrjGN6Vvu3ixpRSZ2Qwvsm0oSQIuHsAQUvRklrqnmvKNNyXcQTh/PbB+TrHVVmdLHeYFCH52QnA== +"@types/jsonld@1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@types/jsonld/-/jsonld-1.5.3.tgz#5bef463655522eef0530db0011bdc119573b759b" + integrity sha512-xDjKgwTBOrdevh46a6dota4Lusrn0R6lC1EKEQkBhTrOx4xzGpQKZ/JsXPx7NP2N9qVj7AYo6k5ubWtXAYJkLw== "@types/katex@0.11.0": version "0.11.0" @@ -679,10 +695,10 @@ "@types/koa-compose" "*" "@types/node" "*" -"@types/koa@2.11.7": - version "2.11.7" - resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.11.7.tgz#3b38f3b9faa66315a84890a771d166fb36463100" - integrity sha512-1iXJZZWCePoMe9LGSIPWsu5k5RI4ooXijW78c+nljMn3YbUts8PXoEESu1OeFmrazLPl1l97vTxzwvmH32TWVQ== +"@types/koa@2.13.0": + version "2.13.0" + resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.0.tgz#6356c48521c0941103b6fcfb97bb01426a99d56d" + integrity sha512-hNs1Z2lX+R5sZroIy/WIGbPlH/719s/Nd5uIjSIAdHn9q+g7z6mxOnhwMjK1urE4/NUP0SOoYUOD4MnvD9FRNw== dependencies: "@types/accepts" "*" "@types/content-disposition" "*" @@ -748,10 +764,10 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/mocha@8.2.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.0.tgz#3eb56d13a1de1d347ecb1957c6860c911704bc44" - integrity sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ== +"@types/mocha@8.2.1": + version "8.2.1" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.1.tgz#f3f3ae4590c5386fc7c543aae9b78d4cf30ffee9" + integrity sha512-NysN+bNqj6E0Hv4CTGWSlPzMW6vTKjDpOteycDkV4IWBsO+PU48JonrPzV9ODjiI2XrjmA05KInLgF5ivZ/YGQ== "@types/node-fetch@2.5.8": version "2.5.8" @@ -766,10 +782,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.13.tgz#9e425079799322113ae8477297ae6ef51b8e0cdf" integrity sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ== -"@types/node@14.14.25": - version "14.14.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93" - integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ== +"@types/node@14.14.31": + version "14.14.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" + integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== "@types/nodemailer@6.4.0": version "6.4.0" @@ -1531,10 +1547,10 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -apexcharts@3.24.0: - version "3.24.0" - resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.24.0.tgz#0fc513e940448524ae9702d39ec287567522d1eb" - integrity sha512-iT6czJCIVrmAtrcO90MZTQCvC+xi6R6Acf0jNH/d40FVTtCfcqECuKIh5iAMyOTtgUb7+fQ8rbadH2bm1kbL9Q== +apexcharts@3.25.0: + version "3.25.0" + resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.25.0.tgz#f3f0f9f344f997230f5c7f2918408aa072627496" + integrity sha512-uM7OF+jLL4ba79noYcrMwMgJW8DI+Ff28CCQoGq23g25z8nGSQEoU+u12YWlECA9gBA5tbmdaQhMxjlK+M6B9Q== dependencies: svg.draggable.js "^2.2.2" svg.easing.js "^2.0.0" @@ -1790,10 +1806,10 @@ autwh@0.1.0: dependencies: oauth "0.9.15" -aws-sdk@2.840.0: - version "2.840.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.840.0.tgz#f5529c9bd3bf0be7f8e855a23ff9c12b1705418f" - integrity sha512-ngesHJqb0PXYjJNnCsAX4yLkR6JFQJB+3eDGwh3mYRjcq9voix5RfbCFQT1lwWu7bcMBPCrRIA2lJkkTMYXq+A== +aws-sdk@2.848.0: + version "2.848.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.848.0.tgz#5e7706ddd30a55a2d5a5b64c29682a757607ee64" + integrity sha512-c/e5kaEFl+9aYkrYDkmu5mSZlL+EfP6DnBOMD06fH12gIsaFSMBGtbsDTHABhvSu++LxeI1dJAD148O17MuZvg== dependencies: buffer "4.9.2" events "1.1.1" @@ -1885,11 +1901,6 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bignumber.js@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" - integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== - binary-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" @@ -2240,13 +2251,12 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cbor@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-6.0.1.tgz#f559abb1b986f54fb9cb1a6855085847bcc1cd61" - integrity sha512-gVJ2e/DFInWOriOUqNyrZe5xN8RSK49X7G+pLalz32GwKs1xHNXtrkcbV5K4+Z2X7qJiv6f700PnUEaJoIEPGQ== +cbor@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-7.0.1.tgz#b939a0ae1ce9bb76338e1d193ab2ccd9a85d55d0" + integrity sha512-+SVEDS4B2x9aat+if8rtUbm8WdxArH2/tVKiSD8eCxy7hnVNlESd4EQQM16EOFrUCvSHECscsvq61N1FPejZtw== dependencies: - bignumber.js "^9.0.1" - nofilter "^1.0.4" + nofilter "^2.0.0" center-align@^0.1.1: version "0.1.3" @@ -2866,10 +2876,10 @@ copy-to@^2.0.1: resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= -core-js@3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" - integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== +core-js@3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" + integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -3799,15 +3809,15 @@ escodegen@^1.14.1: optionalDependencies: source-map "~0.6.1" -eslint-plugin-vue@7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.5.0.tgz#cc6d983eb22781fa2440a7573cf39af439bb5725" - integrity sha512-QnMMTcyV8PLxBz7QQNAwISSEs6LYk2LJvGlxalXvpCtfKnqo7qcY0aZTIxPe8QOnHd7WCwiMZLOJzg6A03T0Gw== +eslint-plugin-vue@7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.6.0.tgz#ea616e6dfd45d545adb16cba628c5a992cc31f0b" + integrity sha512-qYpKwAvpcQXyUXVcG8Zd+fxHDx9iSgTQuO7dql7Ug/2BCvNNDr6s3I9p8MoUo23JJdO7ZAjW3vSwY/EBf4uBcw== dependencies: eslint-utils "^2.1.0" natural-compare "^1.4.0" semver "^7.3.2" - vue-eslint-parser "^7.4.1" + vue-eslint-parser "^7.5.0" eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" @@ -3834,12 +3844,12 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.19.0: - version "7.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.19.0.tgz#6719621b196b5fad72e43387981314e5d0dc3f41" - integrity sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg== +eslint@7.20.0: + version "7.20.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" + integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== dependencies: - "@babel/code-frame" "^7.0.0" + "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.3.0" ajv "^6.10.0" chalk "^4.0.0" @@ -3851,7 +3861,7 @@ eslint@7.19.0: eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" - esquery "^1.2.0" + esquery "^1.4.0" esutils "^2.0.2" file-entry-cache "^6.0.0" functional-red-black-tree "^1.0.1" @@ -3905,10 +3915,10 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.1, esquery@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" @@ -5729,10 +5739,10 @@ json5@^2.1.2, json5@^2.1.3: dependencies: minimist "^1.2.5" -jsonld@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-3.3.0.tgz#1b03fe1458f9ffc2918fc30e90320343c988d07b" - integrity sha512-0y/rctORxwlezPw/vHp+vbR2qTqHSwt9weZK3RjtDYSzmbGjtQlJZuHduCBfIoXggXPvlnI/2EjYcoyzDD/WRw== +jsonld@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-4.0.1.tgz#b8d464ae94bf00b54a219a99782cb488c49842d5" + integrity sha512-ltEqMQB37ZxZnsgmI+9rqHYkz1M6PqUykuS1t2aQNuH1oiLrUDYz5nyVkHQDgjFd7CFKTIWeLiNhwdwFrH5o5A== dependencies: canonicalize "^1.0.1" lru-cache "^5.1.1" @@ -5740,7 +5750,6 @@ jsonld@3.3.0: rdf-canonize "^2.0.1" request "^2.88.0" semver "^6.3.0" - xmldom "0.1.19" jsprim@^1.2.2: version "1.4.1" @@ -6827,10 +6836,10 @@ nodemailer@6.4.18: resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.18.tgz#2788c85792844fc17befda019031609017f4b9a1" integrity sha512-ht9cXxQ+lTC+t00vkSIpKHIyM4aXIsQ1tcbQCn5IOnxYHi81W2XOaU66EQBFFpbtzLEBTC94gmkbD4mGZQzVpA== -nofilter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" - integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== +nofilter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-2.0.0.tgz#57a2d7c6fcd34dd396f490d6942c4f58640b5823" + integrity sha512-i3ck2PUWBa+trsGGBvwS3msnTowbFei5G++BgpOpT7y7VTrprXphMQP5svTdsMLdttKDZFo+5RqVWRqhmf+BwQ== noop-logger@^0.1.1: version "0.1.1" @@ -8157,10 +8166,10 @@ postcss-zindex@^2.0.1: postcss "^5.0.4" uniqs "^2.0.0" -postcss@8.2.5, postcss@^8.2.4: - version "8.2.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.5.tgz#3c75149ada4e93db9521913654c0144517f77c9a" - integrity sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg== +postcss@8.2.6: + version "8.2.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" + integrity sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg== dependencies: colorette "^1.2.1" nanoid "^3.1.20" @@ -8185,6 +8194,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3 source-map "^0.6.1" supports-color "^6.1.0" +postcss@^8.2.4: + version "8.2.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.5.tgz#3c75149ada4e93db9521913654c0144517f77c9a" + integrity sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg== + dependencies: + colorette "^1.2.1" + nanoid "^3.1.20" + source-map "^0.6.1" + postgres-array@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" @@ -9125,10 +9143,10 @@ sass-loader@11.0.1: klona "^2.0.4" neo-async "^2.6.2" -sass@1.32.6: - version "1.32.6" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.6.tgz#e3646c8325cd97ff75a8a15226007f3ccd221393" - integrity sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ== +sass@1.32.8: + version "1.32.8" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.8.tgz#f16a9abd8dc530add8834e506878a2808c037bdc" + integrity sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ== dependencies: chokidar ">=2.0.0 <4.0.0" @@ -10249,10 +10267,10 @@ trace-redirect@1.0.6: resolved "https://registry.yarnpkg.com/trace-redirect/-/trace-redirect-1.0.6.tgz#ac629b5bf8247d30dde5a35fe9811b811075b504" integrity sha512-UUfa1DjjU5flcjMdaFIiIEGDTyu2y/IiMjOX4uGXa7meKBS4vD4f2Uy/tken9Qkd4Jsm4sRsfZcIIPqrRVF3Mg== -ts-loader@8.0.16: - version "8.0.16" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.16.tgz#a60311f01f015518e1cfbb5698e6ca8830cd2391" - integrity sha512-Cr9ywsgg1n8cjGjIogHLPlqe3WJUHzuJaqwNo5I596KpIqekKzxvSENbrXeOypHcXSPPsr8hV6mglngyXvcKrg== +ts-loader@8.0.17: + version "8.0.17" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.17.tgz#98f2ccff9130074f4079fd89b946b4c637b1f2fc" + integrity sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w== dependencies: chalk "^4.1.0" enhanced-resolve "^4.0.0" @@ -10403,10 +10421,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typeorm@0.2.30: - version "0.2.30" - resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.30.tgz#a0df2256402cbcdde8049a244437560495ce9b38" - integrity sha512-qpr8AO3Phi6ZF7qMHOrRdNisVt8jE1KfmW0ooLFcXscA87aJ12aBPyB9cJfxGNjNwd7B3WIK9ZlBveWiqd74QA== +typeorm@0.2.31: + version "0.2.31" + resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.31.tgz#82b8a1b233224f81c738f53b0380386ccf360917" + integrity sha512-dVvCEVHH48DG0QPXAKfo0l6ecQrl3A8ucGP4Yw4myz4YEDMProebTQo8as83uyES+nrwCbu3qdkL4ncC2+qcMA== dependencies: "@sqltools/formatter" "1.2.2" app-root-path "^3.0.0" @@ -10756,16 +10774,16 @@ vue-color@2.8.1: material-colors "^1.0.0" tinycolor2 "^1.1.2" -vue-eslint-parser@^7.4.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.4.1.tgz#e4adcf7876a7379758d9056a72235af18a587f92" - integrity sha512-AFvhdxpFvliYq1xt/biNBslTHE/zbEvSnr1qfHA/KxRIpErmEDrQZlQnvEexednRHmLfDNOMuDYwZL5xkLzIXQ== +vue-eslint-parser@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.5.0.tgz#b68221c55fee061899afcfb4441ec74c1495285e" + integrity sha512-6EHzl00hIpy4yWZo3qSbtvtVw1A1cTKOv1w95QSuAqGgk4113XtRjvNIiEGo49r0YWOPYsrmI4Dl64axL5Agrw== dependencies: debug "^4.1.1" eslint-scope "^5.0.0" eslint-visitor-keys "^1.1.0" espree "^6.2.1" - esquery "^1.0.1" + esquery "^1.4.0" lodash "^4.17.15" vue-json-pretty@1.7.1: @@ -10904,10 +10922,10 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@5.21.2: - version "5.21.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.21.2.tgz#647507e50d3637695be28af58a6a8246050394e7" - integrity sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg== +webpack@5.23.0: + version "5.23.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.23.0.tgz#9ed57e9a54b267b3549899271ad780cddc6ee316" + integrity sha512-RC6dwDuRxiU75F8XC4H08NtzUrMfufw5LDnO8dTtaKU2+fszEdySCgZhNwSBBn516iNaJbQI7T7OPHIgCwcJmg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" @@ -11150,11 +11168,6 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmldom@0.1.19: - version "0.1.19" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.19.tgz#631fc07776efd84118bf25171b37ed4d075a0abc" - integrity sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw= - xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" From 3fa1d2bfc0aff0c94fd299f79e5e072161697bf3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 21 Feb 2021 13:38:03 +0900 Subject: [PATCH 20/23] fix for lint --- src/client/scripts/paging.ts | 2 -- src/server/api/stream/channels/messaging.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/client/scripts/paging.ts b/src/client/scripts/paging.ts index a8f122412c..6e3da94124 100644 --- a/src/client/scripts/paging.ts +++ b/src/client/scripts/paging.ts @@ -192,8 +192,6 @@ export default (opts) => ({ this.items = this.items.slice(-opts.displayLimit); this.more = true; } - } else { - } this.items.push(item); // TODO diff --git a/src/server/api/stream/channels/messaging.ts b/src/server/api/stream/channels/messaging.ts index 7279da3ece..4c41dc820b 100644 --- a/src/server/api/stream/channels/messaging.ts +++ b/src/server/api/stream/channels/messaging.ts @@ -98,7 +98,7 @@ export default class extends Channel { @autobind public dispose() { this.subscriber.off(this.subCh, this.onEvent); - + clearInterval(this.emitTypersIntervalId); } } From 3c7a02af1e82d7346dcae2e81dd6fe72fbcb32bd Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 21 Feb 2021 13:38:16 +0900 Subject: [PATCH 21/23] 12.71.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6b03ab3d59..cbc9f06aae 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "misskey", "author": "syuilo ", - "version": "12.70.0", + "version": "12.71.0", "codename": "indigo", "repository": { "type": "git", From 852e4db958ee21e57c10ac786a51ebd8b14cbb74 Mon Sep 17 00:00:00 2001 From: tamaina Date: Sun, 21 Feb 2021 14:35:54 +0900 Subject: [PATCH 22/23] WORK IN PROGRESS --- src/client/account.ts | 9 +++++---- src/client/components/notification.vue | 4 ++-- src/client/init.ts | 4 ++-- src/client/scripts/unison-reload.ts | 16 ++++++++++++---- yarn.lock | 5 ----- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/client/account.ts b/src/client/account.ts index 1ba7a28908..c539673c0d 100644 --- a/src/client/account.ts +++ b/src/client/account.ts @@ -17,6 +17,7 @@ const data = localStorage.getItem('account'); export const $i = data ? reactive(JSON.parse(data) as Account) : null; export async function signout() { + waiting(); localStorage.removeItem('account'); //#region Remove account @@ -42,7 +43,7 @@ export async function signout() { document.cookie = `igi=; path=/`; if (accounts.length > 0) login(accounts[0].token); - else location.href = '/'; + else unisonReload(true); } export async function getAccounts(): Promise<{ id: Account['id'], token: Account['token'] }[]> { @@ -92,16 +93,16 @@ export function refreshAccount() { return fetchAccount($i.token).then(updateAccount); } -export async function login(token: Account['token'], href?: string) { +export async function login(token: Account['token'], redirect?: string) { waiting(); if (_DEV_) console.log('logging as token ', token); const me = await fetchAccount(token); localStorage.setItem('account', JSON.stringify(me)); await addAccount(me.id, token); - if (href) { + if (redirect) { reloadChannel.postMessage('reload'); - location.href = href; + location.href = redirect; return; } diff --git a/src/client/components/notification.vue b/src/client/components/notification.vue index 4ae8547162..b30cc54088 100644 --- a/src/client/components/notification.vue +++ b/src/client/components/notification.vue @@ -115,14 +115,14 @@ export default defineComponent({ this.connection = os.stream.useSharedConnection('main'); + // 既読処理 + // notification.isReadは更新しないので注意 this.connection.on('readAllNotifications', () => { this.readObserver.unobserve(this.$el); - this.notification = markNotificationRead(this.notification); }); this.connection.on('readNotifications', notificationIds => { if (notificationIds.includes(this.notification.id)) { this.readObserver.unobserve(this.$el); - this.notification = markNotificationRead(this.notification); } }) } diff --git a/src/client/init.ts b/src/client/init.ts index f31f161cef..a04fe810ac 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -66,7 +66,7 @@ import { search } from '@/scripts/search'; import { isMobile } from '@/scripts/is-mobile'; import { getThemes } from '@/theme-store'; import { initializeSw } from '@/scripts/initialize-sw'; -import { reloadChannel } from '@/scripts/unison-reload'; +import { reload, reloadChannel } from '@/scripts/unison-reload'; import { deleteLoginId } from '@/scripts/login-id'; import { getAccountFromId } from '@/scripts/get-account-from-id'; @@ -120,7 +120,7 @@ if (defaultStore.state.reportError && !_DEV_) { document.addEventListener('touchend', () => {}, { passive: true }); // 一斉リロード -reloadChannel.addEventListener('message', () => location.reload()); +reloadChannel.addEventListener('message', reload); //#region SEE: https://css-tricks.com/the-trick-to-viewport-units-on-mobile/ // TODO: いつの日にか消したい diff --git a/src/client/scripts/unison-reload.ts b/src/client/scripts/unison-reload.ts index 92556aefaa..c50650452d 100644 --- a/src/client/scripts/unison-reload.ts +++ b/src/client/scripts/unison-reload.ts @@ -1,10 +1,18 @@ // SafariがBroadcastChannel未実装なのでライブラリを使う import { BroadcastChannel } from 'broadcast-channel'; -export const reloadChannel = new BroadcastChannel<'reload'>('reload'); +export const reloadChannel = new BroadcastChannel('reload'); // BroadcastChannelを用いて、クライアントが一斉にreloadするようにします。 -export function unisonReload() { - reloadChannel.postMessage('reload'); - location.reload(); +export function unisonReload(redirectToRoot?: boolean) { + reloadChannel.postMessage(!!redirectToRoot); + reload(); +} + +export function reload(redirectToRoot?: boolean) { + if (redirectToRoot) { + location.href = '/'; + } else { + location.reload(); + } } diff --git a/yarn.lock b/yarn.lock index 029d093777..91cfdacce3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5042,11 +5042,6 @@ idb-keyval@5.0.2: resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-5.0.2.tgz#243cf2b7db1bee2a8a41b78c14a18a85db0e1646" integrity sha512-1DYjY/nX2U9pkTkwFoAmKcK1ZWmkNgO32Oon9tp/9+HURizxUQ4fZRxMJZs093SldP7q6dotVj03kIkiqOILyA== -idb-keyval@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-5.0.1.tgz#d3913debfb58edee299da5cf2dded6c2670c05ef" - integrity sha512-bfi+Znn6oSPPgGcVUj2tYMIOQ5TD6V1qj50SdKQecGZx9lqUATcQ7ArHOt9sPcEhACoYe//yr2igmS6SMc59SA== - ieee754@1.1.13, ieee754@^1.1.13, ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" From 4522c752ee95aa943d72365cb6ebd80cc1df35c8 Mon Sep 17 00:00:00 2001 From: tamaina Date: Sun, 21 Feb 2021 14:45:20 +0900 Subject: [PATCH 23/23] fix --- src/client/scripts/unison-reload.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/scripts/unison-reload.ts b/src/client/scripts/unison-reload.ts index c50650452d..05ce2db829 100644 --- a/src/client/scripts/unison-reload.ts +++ b/src/client/scripts/unison-reload.ts @@ -4,12 +4,12 @@ import { BroadcastChannel } from 'broadcast-channel'; export const reloadChannel = new BroadcastChannel('reload'); // BroadcastChannelを用いて、クライアントが一斉にreloadするようにします。 -export function unisonReload(redirectToRoot?: boolean) { +export function unisonReload(redirectToRoot: boolean = false) { reloadChannel.postMessage(!!redirectToRoot); reload(); } -export function reload(redirectToRoot?: boolean) { +export function reload(redirectToRoot: boolean = false) { if (redirectToRoot) { location.href = '/'; } else {