diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index c6e5329c2..9a32dac94 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -29,6 +29,8 @@ jobs: steps: - uses: actions/checkout@v2 + with: + submodules: true - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: @@ -48,6 +50,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + submodules: true - uses: actions/setup-node@v1 with: node-version: 12.x diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..9246e09b8 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "misskey-assets"] + path = misskey-assets + url = https://github.com/misskey-dev/assets.git diff --git a/Dockerfile b/Dockerfile index 1e8584551..8c655c4c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,7 @@ RUN apk add --no-cache \ python3 \ zlib-dev +RUN git submodule update --init COPY package.json yarn.lock .yarnrc ./ RUN yarn install COPY . ./ diff --git a/docs/docker.en.md b/docs/docker.en.md index 93eee8e4b..adeafe3d3 100644 --- a/docs/docker.en.md +++ b/docs/docker.en.md @@ -83,10 +83,11 @@ Just `docker-compose up -d`. GLHF! 1. `git stash` 2. `git checkout master` 3. `git pull` -4. `git stash pop` -5. `docker-compose build` -6. Check [ChangeLog](../CHANGELOG.md) for migration information -7. `docker-compose stop && docker-compose up -d` +4. `git submodule update --init` +5. `git stash pop` +6. `docker-compose build` +7. Check [ChangeLog](../CHANGELOG.md) for migration information +8. `docker-compose stop && docker-compose up -d` ### How to execute [cli commands](manage.en.md): `docker-compose run --rm web node built/tools/mark-admin @example` diff --git a/docs/docker.fr.md b/docs/docker.fr.md index 7abd46335..840e5b5a2 100644 --- a/docs/docker.fr.md +++ b/docs/docker.fr.md @@ -50,10 +50,11 @@ Utilisez la commande `docker-compose up -d`. GLHF! 1. `git stash` 2. `git checkout master` 3. `git pull` -4. `git stash pop` -5. `docker-compose build` -6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration -7. `docker-compose stop && docker-compose up -d` +4. `git submodule update --init` +5. `git stash pop` +6. `docker-compose build` +7. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration +8. `docker-compose stop && docker-compose up -d` ### Comment exécuter des [commandes](manage.fr.md) `docker-compose run --rm web node built/tools/mark-admin @example` diff --git a/docs/docker.ja.md b/docs/docker.ja.md index 15b1a944a..c660a9041 100644 --- a/docs/docker.ja.md +++ b/docs/docker.ja.md @@ -83,10 +83,11 @@ docker-compose run --rm web yarn run init 1. `git stash` 2. `git checkout master` 3. `git pull` -4. `git stash pop` -5. `docker-compose build` -6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する -7. `docker-compose stop && docker-compose up -d` +4. `git submodule update --init` +5. `git stash pop` +6. `docker-compose build` +7. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する +8. `docker-compose stop && docker-compose up -d` ### cliコマンドを実行する方法: diff --git a/docs/docker.zh.md b/docs/docker.zh.md index a842fcb0c..5a494ea11 100644 --- a/docs/docker.zh.md +++ b/docs/docker.zh.md @@ -83,10 +83,11 @@ docker-compose run --rm web yarn run init 1. `git stash` 2. `git checkout master` 3. `git pull` -4. `git stash pop` -5. `docker-compose build` -6. 检查 [更新日志](../CHANGELOG.md) 以获取升级迁移信息。 -7. `docker-compose stop && docker-compose up -d` +4. `git submodule update --init` +5. `git stash pop` +6. `docker-compose build` +7. 检查 [更新日志](../CHANGELOG.md) 以获取升级迁移信息。 +8. `docker-compose stop && docker-compose up -d` ### 如何执行 [控制台指令](manage.zh.md): `docker-compose run --rm web node built/tools/mark-admin @example` diff --git a/docs/setup.en.md b/docs/setup.en.md index bb72fcda1..dfe50a660 100644 --- a/docs/setup.en.md +++ b/docs/setup.en.md @@ -131,11 +131,12 @@ You can check if the service is running with `systemctl status misskey`. ### How to update your Misskey server to the latest version 1. `git checkout master` 2. `git pull` -3. `yarn install` -4. `NODE_ENV=production yarn build` -5. `yarn migrate` -6. Restart your Misskey process to apply changes -7. Enjoy +3. `git submodule update --init` +4. `yarn install` +5. `NODE_ENV=production yarn build` +6. `yarn migrate` +7. Restart your Misskey process to apply changes +8. Enjoy If you encounter any problems with updating, please try the following: 1. `yarn clean` or `yarn cleanall` diff --git a/docs/setup.fr.md b/docs/setup.fr.md index 7f4795eec..f38c7a8ea 100644 --- a/docs/setup.fr.md +++ b/docs/setup.fr.md @@ -126,9 +126,10 @@ Vous pouvez vérifier si le service a démarré en utilisant la commande `system ### Méthode de mise à jour vers la plus récente version de Misskey 1. `git checkout master` 2. `git pull` -3. `yarn install` -4. `NODE_ENV=production yarn build` -5. `yarn migrate` +3. `git submodule update --init` +4. `yarn install` +5. `NODE_ENV=production yarn build` +6. `yarn migrate` ---------------------------------------------------------------- diff --git a/docs/setup.ja.md b/docs/setup.ja.md index e8bae56f4..5681ee8c5 100644 --- a/docs/setup.ja.md +++ b/docs/setup.ja.md @@ -133,9 +133,10 @@ yarn run init ### Misskeyを最新バージョンにアップデートする方法: 1. `git checkout master` 2. `git pull` -3. `yarn install` -4. `NODE_ENV=production yarn build` -5. `yarn migrate` +3. `git submodule update --init` +4. `yarn install` +5. `NODE_ENV=production yarn build` +6. `yarn migrate` なにか問題が発生した場合は、`yarn clean`または`yarn cleanall`すると直る場合があります。 diff --git a/docs/setup.zh.md b/docs/setup.zh.md index 50664706b..26a72f0d0 100644 --- a/docs/setup.zh.md +++ b/docs/setup.zh.md @@ -131,11 +131,12 @@ yarn run init ### 如何将您的 Misskey 服务器升级至最新版本 1. `git checkout master` 2. `git pull` -3. `yarn install` -4. `NODE_ENV=production yarn build` -5. `yarn migrate` -6. 重启您的 Misskey 进程来应用改变。 -7. 尽情享受吧! +3. `git submodule update --init` +4. `yarn install` +5. `NODE_ENV=production yarn build` +6. `yarn migrate` +7. 重启您的 Misskey 进程来应用改变。 +8. 尽情享受吧! 如果您在更新时遇到任何问题,请尝试以下操作: 1. `yarn clean` 或是 `yarn cleanall` diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index b456f7b1d..428cfc1fd 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -779,6 +779,7 @@ translate: "翻訳" translatedFrom: "{x}から翻訳" accountDeletionInProgress: "アカウントの削除が進行中です" usernameInfo: "サーバー上であなたのアカウントを一意に識別するための名前。アルファベット(a~z, A~Z)、数字(0~9)、およびアンダーバー(_)が使用できます。ユーザー名は後から変更することは出来ません。" +aiChanMode: "藍モード" keepCw: "CWを維持する" _accountDelete: @@ -1189,6 +1190,7 @@ _widgets: jobQueue: "ジョブキュー" serverMetric: "サーバーメトリクス" aiscript: "AiScriptコンソール" + aichan: "藍" _cw: hide: "隠す" diff --git a/misskey-assets b/misskey-assets new file mode 160000 index 000000000..0179793ec --- /dev/null +++ b/misskey-assets @@ -0,0 +1 @@ +Subproject commit 0179793ec891856d6f37a3be16ba4c22f67a81b5 diff --git a/src/client/pages/settings/general.vue b/src/client/pages/settings/general.vue index cfa8107d2..f8e8e6b24 100644 --- a/src/client/pages/settings/general.vue +++ b/src/client/pages/settings/general.vue @@ -45,6 +45,10 @@ + + {{ $ts.aiChanMode }} + + @@ -149,6 +153,7 @@ export default defineComponent({ enableInfiniteScroll: defaultStore.makeGetterSetter('enableInfiniteScroll'), useReactionPickerForContextMenu: defaultStore.makeGetterSetter('useReactionPickerForContextMenu'), squareAvatars: defaultStore.makeGetterSetter('squareAvatars'), + aiChanMode: defaultStore.makeGetterSetter('aiChanMode'), }, watch: { @@ -184,6 +189,10 @@ export default defineComponent({ this.reloadAsk(); }, + aiChanMode() { + this.reloadAsk(); + }, + showGapBetweenNotesInTimeline() { this.reloadAsk(); }, diff --git a/src/client/store.ts b/src/client/store.ts index 4c4a7d93e..e4b762873 100644 --- a/src/client/store.ts +++ b/src/client/store.ts @@ -210,6 +210,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'device', default: '' }, + aiChanMode: { + where: 'device', + default: false + }, })); // TODO: 他のタブと永続化されたstateを同期 diff --git a/src/client/tsconfig.json b/src/client/tsconfig.json index ac7ef7ddf..7a26047dd 100644 --- a/src/client/tsconfig.json +++ b/src/client/tsconfig.json @@ -21,7 +21,8 @@ "baseUrl": ".", "paths": { "@/*": ["../*"], - "@client/*": ["./*"] + "@client/*": ["./*"], + "@lib/*": ["../../lib/*"], }, "typeRoots": [ "node_modules/@types", diff --git a/src/client/ui/default.vue b/src/client/ui/default.vue index 23b63114c..eef693fae 100644 --- a/src/client/ui/default.vue +++ b/src/client/ui/default.vue @@ -54,12 +54,14 @@ + + @@ -458,5 +477,15 @@ export default defineComponent({ overflow: auto; background: var(--bg); } + + > .ivnzpscs { + position: fixed; + bottom: 0; + right: 0; + width: 300px; + height: 600px; + border: none; + pointer-events: none; + } } diff --git a/src/client/widgets/aichan.vue b/src/client/widgets/aichan.vue new file mode 100644 index 000000000..06c49090a --- /dev/null +++ b/src/client/widgets/aichan.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/client/widgets/index.ts b/src/client/widgets/index.ts index 38cb85494..51a82af08 100644 --- a/src/client/widgets/index.ts +++ b/src/client/widgets/index.ts @@ -19,6 +19,7 @@ export default function(app: App) { app.component('MkwJobQueue', defineAsyncComponent(() => import('./job-queue.vue'))); app.component('MkwButton', defineAsyncComponent(() => import('./button.vue'))); app.component('MkwAiscript', defineAsyncComponent(() => import('./aiscript.vue'))); + app.component('MkwAichan', defineAsyncComponent(() => import('./aichan.vue'))); } export const widgets = [ @@ -40,4 +41,5 @@ export const widgets = [ 'jobQueue', 'button', 'aiscript', + 'aichan', ]; diff --git a/webpack.config.ts b/webpack.config.ts index 296813caa..e9f3aa6e4 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -164,6 +164,7 @@ module.exports = { ], alias: { '@client': __dirname + '/src/client', + '@lib': __dirname + '/lib', '@': __dirname + '/src', 'const.styl': __dirname + '/src/client/const.styl' }