Commit Graph

352 Commits

Author SHA1 Message Date
syuilo e161b71651 update deps 2022-05-14 14:57:51 +09:00
Johann150 89c5fd0931
perf: fix caching (#8660)
The cache implementation did previously not store the results of the
computation and was thus not a cache at all. This can cause a significant
number of database queries each time someone with a large number of
followers does something that causes an activity to be federated.
2022-05-14 13:28:27 +09:00
Johann150 31c73fdfa2
chore: synchronize code and database schema (#8577)
* chore: remove default null

null is always the default value if a table column is nullable, and typeorm's
@Column only accepts strings for default.

* chore: synchronize code with database schema

* chore: sync generated migrations with code
2022-05-05 22:45:22 +09:00
tamaina a89003b57a
refactor: use Vite to build instead of webpack (#8575)
* update stream.ts

* https://github.com/misskey-dev/misskey/pull/7769#issuecomment-917542339

* fix lint

* clean up?

* add app

* fix

* nanka iroiro

* wip

* wip

* fix lint

* fix loginId

* fix

* refactor

* refactor

* remove follow action

* clean up

* Revert "remove follow action"

This reverts commit defbb416480905af2150d1c92f10d8e1d1288c0a.

* Revert "clean up"

This reverts commit f94919cb9cff41e274044fc69c56ad36a33974f2.

* remove fetch specification

* renoteの条件追加

* apiFetch => cli

* bypass fetch?

* fix

* refactor: use path alias

* temp: add submodule

* remove submodule

* enhane: unison-reloadに指定したパスに移動できるように

* null

* null

* feat: ログインするアカウントのIDをクエリ文字列で指定する機能

* null

* await?

* rename

* rename

* Update read.ts

* merge

* get-note-summary

* fix

* swパッケージに

* add missing packages

* fix getNoteSummary

* add webpack-cli

* ✌️

* remove plugins

* sw-inject分離したがテストしてない

* fix notification.vue

* remove a blank line

* disconnect intersection observer

* disconnect2

* fix notification.vue

* remove a blank line

* disconnect intersection observer

* disconnect2

* fix

* ✌️

* clean up config

* typesを戻した

* Update packages/client/src/components/notification.vue

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* disconnect

* oops

* Failed to load the script unexpectedly回避
sw.jsとlib.tsを分離してみた

* truncate notification

* Update packages/client/src/ui/_common_/common.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* clean up

* clean up

* キャッシュ対策

* Truncate push notification message

* クライアントがあったらストリームに接続しているということなので通知しない判定の位置を修正

* components/drive-file-thumbnail.vue

* components/drive-select-dialog.vue

* components/drive-window.vue

* merge

* fix

* Service Workerのビルドにesbuildを使うようにする

* return createEmptyNotification()

* fix

* i18n.ts

* update

* ✌️

* remove ts-loader

* fix

* fix

* enhance: Service Workerを常に登録するように

* pollEnded

* URLをsw.jsに戻す

* clean up

* wip

* wip

* wip

* wip

* wip

* wip

* ✌️

* use import

* fix

* install rollup

* use defineAsyncComponent.

* fix emojilist

* wip use defineAsyncComponent

* popup(import -> popup(defineAsyncComponent(() => import

* draggable?

* fix init import

* clean up

* fix router

* add comment

* ✌️

* ✌️

* ✌️

* remove webpack

* update vite

* fix boot sequence

* Revert "fix boot sequence"

This reverts commit e893dbf37aed83bf9f12e427d98c78a7065b4a39.

* revert boot import

* never make two app div

* ;

* remove console.log

* change clientEntry sequence

* fix

* Revert "fix"

This reverts commit 12741b3d89950a31dbb1bb81477ddb27b0e9951a.

* fix

* add comment https://github.com/misskey-dev/misskey/pull/8575#issuecomment-1114239210

* add log

* add comment

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-05-01 22:51:07 +09:00
Johann150 6ed010b192
fix _misskey_content of quote renotes (#8533) 2022-05-01 19:23:34 +09:00
MeiMei 60391ff37e
fix: Add rel attribute to host-meta (#8583)
* Add rel attribute to host-meta

* CHANGELOG
2022-05-01 19:14:14 +09:00
tamaina 766559c6e9
feat: Improve Push Notification (#7667)
* clean up

* ev => data

* refactor

* clean up

* add type

* antenna

* channel

* fix

* add Packed type

* add PackedRef

* fix lint

* add emoji schema

* add reversiGame

* add reversiMatching

* remove signin schema (use Signin entity)

* add schemas refs, fix Packed type

* wip PackedHoge => Packed<'Hoge'>

* add Packed type

* note-reaction

* user

* user-group

* user-list

* note

* app, messaging-message

* notification

* drive-file

* drive-folder

* following

* muting

* blocking

* hashtag

* page

* app (with modifying schema)

* import user?

* channel

* antenna

* clip

* gallery-post

* emoji

* Packed

* reversi-matching

* update stream.ts

* https://github.com/misskey-dev/misskey/pull/7769#issuecomment-917542339

* fix lint

* clean up?

* add app

* fix

* nanka iroiro

* wip

* wip

* fix lint

* fix loginId

* fix

* refactor

* refactor

* remove follow action

* clean up

* Revert "remove follow action"

This reverts commit defbb416480905af2150d1c92f10d8e1d1288c0a.

* Revert "clean up"

This reverts commit f94919cb9cff41e274044fc69c56ad36a33974f2.

* remove fetch specification

* renoteの条件追加

* apiFetch => cli

* bypass fetch?

* fix

* refactor: use path alias

* temp: add submodule

* remove submodule

* enhane: unison-reloadに指定したパスに移動できるように

* null

* null

* feat: ログインするアカウントのIDをクエリ文字列で指定する機能

* null

* await?

* rename

* rename

* Update read.ts

* merge

* get-note-summary

* fix

* swパッケージに

* add missing packages

* fix getNoteSummary

* add webpack-cli

* ✌️

* remove plugins

* sw-inject分離したがテストしてない

* fix notification.vue

* remove a blank line

* disconnect intersection observer

* disconnect2

* fix notification.vue

* remove a blank line

* disconnect intersection observer

* disconnect2

* fix

* ✌️

* clean up config

* typesを戻した

* Update packages/client/src/components/notification.vue

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* disconnect

* oops

* Failed to load the script unexpectedly回避
sw.jsとlib.tsを分離してみた

* truncate notification

* Update packages/client/src/ui/_common_/common.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* clean up

* clean up

* キャッシュ対策

* Truncate push notification message

* クライアントがあったらストリームに接続しているということなので通知しない判定の位置を修正

* components/drive-file-thumbnail.vue

* components/drive-select-dialog.vue

* components/drive-window.vue

* merge

* fix

* Service Workerのビルドにesbuildを使うようにする

* return createEmptyNotification()

* fix

* i18n.ts

* update

* ✌️

* remove ts-loader

* fix

* fix

* enhance: Service Workerを常に登録するように

* pollEnded

* URLをsw.jsに戻す

* clean up

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-04-30 21:52:07 +09:00
dependabot[bot] 1c6d5ddf81
chore(deps): bump ejs from 3.1.6 to 3.1.7 in /packages/backend (#8560)
Bumps [ejs](https://github.com/mde/ejs) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/mde/ejs/releases)
- [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mde/ejs/compare/v3.1.6...v3.1.7)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-30 00:16:40 +09:00
tamaina 12a3c6872f
enhance: ドライブに画像ファイルをアップロードするときオリジナル画像を破棄してwebpublicのみ保持するオプション (#8216)
* wip

* Update packages/client/src/os.ts

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* メニューをComposition API化、switchアイテム追加
クライアントサイド画像圧縮の準備

* メニュー型定義を分離 (TypeScriptの型支援が効かないので)

* disabled

* make keepOriginal to follow setting value

* ✌️

* fix

* fix

* ✌️

* WEBP

* aaa

* ✌️

* webp

* lazy load browser-image-resizer

* rename

* rename 2

* Fix

* clean up

* add comment

* clean up

* jpeg, pngにもどす

* fix

* fix name

* webpでなくする ただしサムネやプレビューはwebpのまま (テスト)

* 動画サムネイルはjpegに

* エラーハンドリング

* ✌️

* v2.2.1-misskey-beta.2

* browser-image-resizer#v2.2.1-misskey.1

* ✌️

* fix alert

* update browser-image-resizer to v2.2.1-misskey.2

* lockfile

Co-authored-by: mei23 <m@m544.net>
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
2022-04-28 11:14:03 +09:00
tamaina 065324d30b
Fix #8535 Excessive stack ... 'SchemaTypeDef<?>' (#8547)
* Fix #8535 Excessive stack ... 'SchemaTypeDef<?>'

Co-authored-by: acid-chicken <root@acid-chicken.com>

* add comment

* clean up

Co-authored-by: acid-chicken <root@acid-chicken.com>
2022-04-27 10:49:00 +09:00
Johann150 b9e3267198
fix: Promises -> Promise (#8545) 2022-04-25 15:14:13 +09:00
Johann150 7e28c396b9
enhance: only render public notes in HTML template (#8527)
* only render public notes in HTML template

* fix missing import
2022-04-24 14:17:09 +09:00
tamaina 1b2ba09be0
fix: Fix schema key type error #8517 (#8538) 2022-04-24 11:43:15 +09:00
syuilo fd13173eaf bump jsrsasign 2022-04-23 12:48:26 +09:00
Johann150 92d249210d
chore(lint): fix type definitions for jsrsasign (#8528)
* fix type definitions for jsrsasign

The @types/jsrsasign is not available in exactly the same version as the jsrsa
package misskey uses, so i used an earlier patch version of the same package.

* update yarn.lock
2022-04-23 12:45:36 +09:00
dependabot[bot] 29b9d8998a
chore(deps): bump moment from 2.24.0 to 2.29.3 in /packages/backend (#8531)
Bumps [moment](https://github.com/moment/moment) from 2.24.0 to 2.29.3.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/2.29.3/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.24.0...2.29.3)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-23 12:39:44 +09:00
syuilo 84b183a9f6 refactor: use structuredClone for deep clone 2022-04-23 12:38:02 +09:00
syuilo 70958a9f77 update node to 18 2022-04-23 12:37:44 +09:00
syuilo 9f3650b0ef update deps 2022-04-23 12:29:26 +09:00
xianon 60620bdb25
fix: アンテナ、クリップ、リストの表示を速くする (#8518)
* アンテナノートを取得するクエリがタイムアウトしないように速くする

* テーブル名を直接指定しないようにする

* クリップの取得を速くする

* リストの取得を速くする
2022-04-19 22:59:39 +09:00
Johann150 3cf226d534
await promises (#8519) 2022-04-19 18:46:41 +09:00
syuilo d338ea2591 fix ogp rendering and refactor 2022-04-17 21:18:18 +09:00
syuilo ce51ef5df5 refactor 2022-04-17 21:01:02 +09:00
syuilo 31e5c5f69a refactor
Resolve #8467
2022-04-17 20:58:37 +09:00
syuilo ff8313b48b refactor 2022-04-17 20:51:59 +09:00
syuilo 02bb36cdc4 refactor: fix type 2022-04-17 20:44:21 +09:00
syuilo 6b31ea1992 refactor: fix type 2022-04-17 17:30:27 +09:00
syuilo 31b216f667 refactor: fix type 2022-04-17 14:42:13 +09:00
syuilo a671f9102d refactor: fix type 2022-04-17 13:31:45 +09:00
syuilo 2d2b3edaaf refactor: fix type 2022-04-17 13:26:31 +09:00
syuilo 1ee757cc5f refactor: fix type 2022-04-17 13:21:07 +09:00
syuilo 3770bb6576 Streaming経由でのAPIリクエストを削除 2022-04-17 13:19:05 +09:00
syuilo ddd655c0c1 refactor: fix type 2022-04-17 13:14:29 +09:00
syuilo e0a4864bea refactor: fix type 2022-04-17 13:01:30 +09:00
syuilo d39465085c refactor: fix type 2022-04-17 12:59:41 +09:00
syuilo 44a01c4b5a refactoe 2022-04-16 17:19:30 +09:00
syuilo 4907dc91f7 lint 2022-04-16 17:18:51 +09:00
rinsuki 1d193b9a04
refactor: move typings to devDependencies (#8500) 2022-04-16 01:28:59 +09:00
syuilo e598d46c31 Update settings.json 2022-04-15 21:33:00 +09:00
syuilo 2c1689c798 chore: add import/order rule for eslint 2022-04-15 15:05:43 +09:00
syuilo 08ff4926c7 enhance(client): show loading icon on splash screen
Close #8481
2022-04-11 23:11:11 +09:00
syuilo fd4ec81bcb update deps 2022-04-11 22:48:04 +09:00
syuilo 9f7cdb4bc7 refactor 2022-04-08 19:01:38 +09:00
syuilo daa0ca72a7 fix(api): parameter validation of users/show was wrong 2022-04-06 00:04:25 +09:00
syuilo 45c457b8b3 chore: fix lint on windows 2022-04-05 21:32:14 +09:00
syuilo ec3be7e4d3 enhance(webhook): add userId to payload 2022-04-03 22:42:01 +09:00
syuilo f8e6f3cc73 improve webhook 2022-04-03 22:36:30 +09:00
syuilo 7f5d189528 fix type 2022-04-03 16:40:47 +09:00
syuilo ff9a074ab6 fix type 2022-04-03 16:35:36 +09:00
syuilo 91f4ec3747 fix types 2022-04-03 16:30:22 +09:00
syuilo 41c2aed7dc chore: fix lint 2022-04-03 15:33:22 +09:00
syuilo 433505df48 fix e2e test 2022-04-03 15:14:26 +09:00
Johann150 c8935b32f8
fix: validation (better #8456) (#8461)
* Revert "revert 484e023c0"

This reverts commit c03b70c949.

* also allow pure renote

* fix checks for pure renote
2022-04-03 13:57:26 +09:00
syuilo 408d54f2eb fix(api): admin/update-meta was not working 2022-04-03 13:54:22 +09:00
Andreas Nedbal f9b5d92176
Fix: Adjust ESLint calls to properly interpret globs (#8462)
* fix(backend): rename .eslintrc.js to .eslintrc.cjs

* fix(backend): wrap lint path glob in quotation marks

* fix(client): wrap lint path glob in quotation marks

* chore(workflow): make lint workflow use Node 16
2022-04-02 22:52:26 +09:00
syuilo c03b70c949 revert 484e023c0 2022-04-02 16:47:53 +09:00
syuilo 6b6464a659 fix syntax error 2022-04-02 15:31:11 +09:00
syuilo 8e5f2690f2
feat: Webhook (#8457)
* feat: introduce webhook

* wip

* wip

* wip

* Update CHANGELOG.md
2022-04-02 15:28:49 +09:00
Johann150 1033e8e57f
fix(federation): avoid duplicate activity delivery (#8429)
* prefer shared inbox over individual inbox

* no new shared inbox for direct recipes

* fix type error
2022-04-02 15:16:35 +09:00
Johann150 484e023c0c
enhance(doc): required input fields (#8456)
* remove empty file

If the endpoint is to be implemented later, the file can be added back,
but for now it is confusing to have an empty file.

* enhance(doc): document defaults

Default for `isPublic` is based on the database schema default value.
Defaults for `local` and `withFiles` are based on the behaviour of the endpoint.

* enhance(doc): explain nullable emoji category

* fix: make nullable if default is null

* enhance(doc): explain mute attribute expiresAt

* fix: define required fields

- `notes/create`: the default for `text` has been removed because ajv can not handle
  `default` inside of `anyOf`, see
  https://ajv.js.org/guide/modifying-data.html#assigning-defaults
  and the default value cannot be `null` if text is `nullable: false` in the `anyOf`
  first alternative.
- `notes/create`: The `mediaIds` property has been marked as deprecated because it
  has the same behaviour as using `fileIds`, but the implementation tries to handlè
  `fileIds` first.
- The result schema for `admin/emoji/list` has been altered because the `host`
  property will always be `null` as it is filtered this way in the database query.
  See packages/backend/src/server/api/endpoints/admin/emoji/list.ts line 67.

* enhance(doc): explain nullable hostname

* update changelog

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-04-02 15:04:36 +09:00
syuilo 39302bf0ea fix(server): admin/meta is not working
Fix #8455
2022-04-01 19:17:19 +09:00
syuilo 11ccb98c93 update deps 2022-04-01 19:13:40 +09:00
syuilo 4e63022a49 fix(server): add missing import 2022-03-29 18:46:59 +09:00
dependabot[bot] 7ccb9226ef
chore(deps): bump follow-redirects in /packages/backend (#8314)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-27 16:42:05 +09:00
dependabot[bot] 122d5ea529
Bump nanoid from 3.1.30 to 3.3.1 in /packages/backend (#8426)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.30 to 3.3.1.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.1.30...3.3.1)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-27 16:41:26 +09:00
syuilo 4e139d2aae fix query 2022-03-27 16:16:13 +09:00
syuilo d113aae217 update deps 2022-03-27 15:34:34 +09:00
Johann150 a6f6ddc34e
limit federation of reactions on direct notes (#8448) 2022-03-27 13:57:04 +09:00
syuilo e6f455a9bb fix null in query 2022-03-26 19:48:22 +09:00
syuilo fa1a53270e refactor 2022-03-26 19:33:18 +09:00
syuilo 17589843da perf(server): use cached user info in getUserFromApId 2022-03-26 19:09:57 +09:00
syuilo 8cbfc047bb refactor 2022-03-26 18:42:37 +09:00
syuilo 475cee9029 perf(server): reduce db query when get notifications 2022-03-26 18:22:55 +09:00
syuilo 3cac8e0f6f perf(server): improve deliver performance 2022-03-26 17:43:08 +09:00
syuilo bc2c40a6ca refactor and performance improvements 2022-03-26 17:19:27 +09:00
dependabot[bot] 7a4c3bab7e
chore(deps): bump minimist from 1.2.5 to 1.2.6 in /packages/backend (#8447)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-26 15:35:10 +09:00
syuilo 1c67c26bd8
refactor: migrate to typeorm 3.0 (#8443)
* wip

* wip

* wip

* Update following.ts

* wip

* wip

* wip

* Update resolve-user.ts

* maxQueryExecutionTime

* wip

* wip
2022-03-26 15:34:00 +09:00
syuilo 41c87074e6 .js 2022-03-25 16:35:24 +09:00
syuilo 889a890ac5 update deps 2022-03-25 16:32:10 +09:00
syuilo ac8c66f5ab perf(server): refactor and performance improvements 2022-03-25 16:27:41 +09:00
syuilo 22b56ac65c refactor 2022-03-25 13:11:52 +09:00
syuilo 083b913dd2 refactor 2022-03-25 01:51:34 +09:00
syuilo d0a346ed8a refactor: separate meta api for admin or not 2022-03-25 01:50:28 +09:00
Johann150 725b78349a
recognize null in _misskey_content for notes (#8440) 2022-03-23 03:16:04 +09:00
Ehsan Javadynia 08bace6c7d
Resolve #7208 (#7226)
add decrement replies count on delete note and a test for that
2022-03-22 22:48:33 +09:00
MeiMei ba9563b983
Use unique id for Undo (#8434) 2022-03-22 00:39:00 +09:00
syuilo 9320c1699a perf(server): disable some antenna features to improve performance 2022-03-22 00:07:43 +09:00
syuilo ff19640171 perf(server): reduce db query 2022-03-21 20:43:43 +09:00
syuilo 81ee9025fb tweak log 2022-03-21 05:45:09 +09:00
syuilo 0d05f05610 chore: add note 2022-03-21 05:43:52 +09:00
syuilo 21de5c4a9c perf(server): reduce db query 2022-03-21 05:42:11 +09:00
syuilo 131ff24e53 .js 2022-03-21 05:33:06 +09:00
syuilo b6da0e9b92 .js 2022-03-21 05:31:04 +09:00
syuilo 836ae732f6 perf(server): cache nodeinfo to reduce db query 2022-03-21 05:26:42 +09:00
syuilo 6f2e93c6a1 perf(server): reduce db query 2022-03-21 05:21:37 +09:00
syuilo eb9e6d230f perf(server): reduce db query 2022-03-21 01:22:00 +09:00
syuilo aebd77ad38 perf(server): reduce db query 2022-03-20 15:44:49 +09:00
Kainoa Kanter f68b646878
Fix: warn about outdated NodeJS fixed (#8388)
* Fix #8387

* update changelog

Co-authored-by: Johann150 <johann.galle@protonmail.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-03-20 01:34:45 +09:00
syuilo 544b5ba838
perf(server): reduce memory usage of redis 2022-03-19 19:34:04 +09:00
syuilo 815c8bf4c8 update deps 2022-03-19 19:22:58 +09:00