Commit graph

65 commits

Author SHA1 Message Date
tamaina 18dbcfa0b0
test(server): add validation test of api:notes/create (#10090)
* fix(server): notes/createのバリデーションが効いていない
Fix #10079

Co-Authored-By: mei23 <m@m544.net>

* anyOf内にバリデーションを書いても最初の一つしかチェックされない

* ✌️

* wip

* wip

* ✌️

* RequiredProp

* Revert "RequiredProp"

This reverts commit 7469390011.

* add api:notes/create

* fix lint

* text

* ✌️

* improve readability

---------

Co-authored-by: mei23 <m@m544.net>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-26 11:28:05 +09:00
syuilo ea04778649 feat: in-channel featured note
Resolve #9938
2023-02-25 18:26:35 +09:00
tamaina e4336f5b76
fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする (#9911)
* fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする

* NO_SUCH_FILE
2023-02-24 16:32:01 +09:00
syuilo 7ce0f79f7f chore(server): tweak notes/featured api 2023-02-19 17:50:14 +09:00
tamaina e8c5307f66
perf(client): ウェルカムページを最適化 (#9960)
* perf(client): ウェルカムページの最適化

* remove max
2023-02-17 12:38:30 +09:00
Kagami Sascha Rosylight 8f9ce23e52
style(backend): fix all eslint errors (#9967) 2023-02-17 10:56:59 +09:00
Kagami Sascha Rosylight 63df2c851e
refactor: remove all unused imports (#9951)
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-02-16 23:09:41 +09:00
syuilo 1b21bad202 refactor 2023-02-13 15:50:22 +09:00
syuilo 451bc0b444 refactor: fix types 2023-02-12 18:47:30 +09:00
syuilo 1139632f95 fix(server): 自分のノートをお気に入りに登録しても実績解除される問題を修正 2023-02-05 14:30:07 +09:00
syuilo ee74df6823 fix(server): improve security 2023-02-04 18:21:07 +09:00
syuilo 0c12e80106 perf(server): cache blocking 2023-02-04 12:40:40 +09:00
tamaina 7c3143b8e5
enhance(backend): enhance SchemaType handling of anyOf (#9762)
* enhance(backend): enhance anyOf handling

* clean up
2023-02-01 20:04:01 +09:00
syuilo d4fb201d05 fix(server): node-fetchおよびgotを使う以前の実装に戻す
see #9710
2023-01-25 12:00:04 +09:00
syuilo 26ae2dfc0f add achievement 2023-01-22 08:00:42 +09:00
syuilo 81f11d8f86 refactor: rename role.options -> role.policies 2023-01-15 20:52:53 +09:00
syuilo 2047449294 enhance(server): add rate limits for some endpoints 2023-01-14 20:21:03 +09:00
syuilo 7df3ca7388 enhance(server): add rate limits for some endpoints 2023-01-14 15:59:15 +09:00
tamaina 978a9bbb3b
perf(backend): Use undici instead of node-fetch and got (#9459)
* Implement? HttpFetchService

* ✌️

* remove node-fetch

* fix

* refactor

* fix

* gateway timeout

* UndiciFetcherクラスを追加 (仮コミット, ビルドもstartもさせていない)

* fix

* add logger and fix url preview

* fix ip check

* enhance logger and error handling

* fix

* fix

* clean up

* Use custom fetcher for ApRequest / ApResolver

* bypassProxyはproxyBypassHostsに判断を委譲するように

* set maxRedirections (default 3, ApRequest/ApResolver: 0)

* fix comment

* handle error s3 upload

* add debug message

* no return await

* Revert "no return await"

This reverts commit b5b0dc58a3.

* reduce maxSockets

* apResolverのUndiciFetcherを廃止しapRequestのものを使う、 add ap logger

* Revert "apResolverのUndiciFetcherを廃止しapRequestのものを使う、 add ap logger"

This reverts commit 997243915c.

* add logger

* fix

* change logger name

* safe

* デフォルトでUser-Agentを設定
2023-01-12 21:03:02 +09:00
syuilo 2470afaa2e
Role (#9437)
* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* Update create.ts

* wip

* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update CHANGELOG.md

* wip

* wip

* Update delete.ts

* Update delete.ts

* wip

* wip

* wip

* Update account-info.vue

* wip

* wip

* Update settings.vue

* Update user-info.vue

* wip

* Update show-file.ts

* Update show-user.ts

* wip

* wip

* Update delete.ts

* wip

* wip

* Update overview.moderators.vue

* Create 1673500412259-Role.js

* wip

* wip

* Update roles.vue

* 色

* Update roles.vue

* integrate silence

* wip

* wip
2023-01-12 21:02:26 +09:00
syuilo 91ced90fb2 fix imports 2023-01-09 08:58:16 +09:00
MeiMei 10e526ba56
fix: Escape SQL LIKE (#9493)
* SQL LIKE escape

* CHANGELOG
2023-01-08 20:32:17 +09:00
syuilo 2e2ed1385f delete pollVote notification 2023-01-08 10:54:45 +09:00
syuilo 6f51e7300e ✌️ 2023-01-01 09:35:14 +09:00
syuilo 22ccb0fa71 refactor 2022-12-04 10:16:03 +09:00
syuilo 0f7cbb5922 fix type 2022-09-24 10:39:17 +09:00
syuilo 614b11951b refactor 2022-09-24 07:15:16 +09:00
syuilo 01d4d55e78 fix import type 2022-09-21 05:33:11 +09:00
syuilo 567c550120 lint 2022-09-20 05:32:18 +09:00
syuilo b75184ec8e
なんかもうめっちゃ変えた 2022-09-18 03:27:08 +09:00
syuilo 972b03f842 perf: allow get for notes/reactions 2022-07-05 19:16:21 +09:00
syuilo 52a1ec9af1 enhance(server): アンケートを新しい順にソート 2022-07-02 12:34:22 +09:00
Johann150 5728350267
fix: always respect instance mutes (#8854)
* fix: muted user query also checks instances

This way it can be ensured that the instance mute is used everywhere it
is required without checking the whole codebase again. Muted users and
muted instances should be used together anyways.

* fix lint
2022-06-25 14:23:59 +09:00
syuilo 963f538728 lint fixes 2022-06-14 18:01:23 +09:00
Johann150 21d54f2758
fix: validate text is not empty
fix #8747
2022-05-28 17:26:17 +02:00
Johann150 037ca92275
fix: postgres type error
Fix a bug introduced in #8659. Solution was already tested there.
2022-05-15 11:32:00 +02:00
Johann150 4b872856c2
fix: keep file order (#8659) 2022-05-14 15:09:10 +09:00
xianon 60620bdb25
fix: アンテナ、クリップ、リストの表示を速くする (#8518)
* アンテナノートを取得するクエリがタイムアウトしないように速くする

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

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

* リストの取得を速くする
2022-04-19 22:59:39 +09:00
syuilo ff8313b48b refactor 2022-04-17 20:51:59 +09:00
syuilo 1ee757cc5f refactor: fix type 2022-04-17 13:21:07 +09:00
syuilo e0a4864bea refactor: fix type 2022-04-17 13:01:30 +09:00
syuilo 9f7cdb4bc7 refactor 2022-04-08 19:01:38 +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
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 c03b70c949 revert 484e023c0 2022-04-02 16:47:53 +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 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 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