Commit Graph

82 Commits

Author SHA1 Message Date
syuilo
65cd605b73
Achievements (#9665)
* wip

* Update ja-JP.yml

* wip

* wip

* Update MkAchievements.vue

* wip

* 🎨

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2023-01-21 13:14:55 +09:00
syuilo
afc0be6790 enhance: playのscriptの文字数制限を緩和 2023-01-19 09:06:11 +09:00
syuilo
91bbb67e4a プロフィールの文字数制限を緩和 2023-01-16 06:05:58 +09:00
syuilo
30fced38c4 refactor: rename instance.caughtAt to instance.firstRetrievedAt 2023-01-16 05:02:38 +09:00
syuilo
81f11d8f86 refactor: rename role.options -> role.policies 2023-01-15 20:52:53 +09:00
syuilo
518b3e2f73 ロールの各オプションに優先度を設定できるように 2023-01-15 19:10:39 +09:00
syuilo
4151087d3c フォロワー数、フォロー数もConditional roleで利用できるように 2023-01-14 08:27:23 +09:00
syuilo
6458239a7c remoteDriveCapacityMbをロールに統合 2023-01-13 11:14:07 +09:00
syuilo
c5c40a73b7 feat: conditional role
Resolve #9539
2023-01-13 11:03:54 +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
789d61d175 enhance(server): アンケート選択肢の文字数制限を緩和
Resolve #9511
2023-01-10 16:41:38 +09:00
syuilo
462acc9eee カスタム絵文字一覧情報をmetaから分離 2023-01-09 15:50:25 +09:00
syuilo
2e2ed1385f delete pollVote notification 2023-01-08 10:54:45 +09:00
syuilo
ebe340d510
MisskeyPlay (#9467)
* wip

* wip

* wip

* wip

* wip

* Update ui.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* wip

* 🎨

* wip

* ✌️
2023-01-05 13:59:48 +09:00
syuilo
4d0859ce7f drop latestStatus of instance 2023-01-03 09:03:04 +09:00
syuilo
c8bd139713 drop lastCommunicatedAt of instance 2023-01-03 09:00:42 +09:00
syuilo
7093573f0c drop latestRequestSentAt of instance 2023-01-03 08:48:00 +09:00
syuilo
6f648fc058 clean up 2022-12-31 08:51:35 +09:00
syuilo
b2d6561bc6 enhance(server): clean emoji response 2022-12-31 08:43:13 +09:00
syuilo
912791b3ab
refactor: 絵文字URLを引き回すのをやめる (#9423) 2022-12-29 10:14:44 +09:00
syuilo
f44a7e2536 refactor 2022-12-25 14:22:23 +09:00
syuilo
3e81913b6a feat: introduce retention-rate aggregation 2022-12-25 09:09:46 +09:00
syuilo
b11f8b0aae chore: fix reporisotry name 2022-12-25 08:30:13 +09:00
syuilo
b648c4bc4d chore: fix reporisotry name 2022-12-25 08:27:06 +09:00
tamaina
4ecc42744c
enhance: Implement the toggle to (or not to) close push notifications when notifications or messages are read (#9219)
* create file

* wip

* fix

* wip

* tabun dekita

* ✌️

* implement subscribe push notification button to tutorial

* check-exists→show-registration

* add column sendReadMessage

* fix migration file

* sw api

* change PushNotificationService

* wip

* ✌️

* fix tutorial footer flex
2022-12-18 01:59:59 +09:00
syuilo
6bb194de54 refactor(server): move RepositoryModule into models directory 2022-12-08 17:19:37 +09:00
CyberRex
1309367884
Add Cloudflare Turnstile CAPTCHA support (#9111)
* Add Cloudflare Turnstile CAPTCHA support

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

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

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2022-10-13 09:19:57 +09:00
syuilo
aa3ca438a2 fix type 2022-09-24 10:46:52 +09:00
syuilo
b75184ec8e
なんかもうめっちゃ変えた 2022-09-18 03:27:08 +09:00
syuilo
75d516011b enhance: make active email validation configurable 2022-07-09 15:05:55 +09:00
syuilo
e560601815
feat: auto nsfw detection (#8840)
* feat: auto nsfw detection

* ✌️

* Update ja-JP.yml

* Update ja-JP.yml

* ポルノ判定のしきい値を高めに

* エラーハンドリングちゃんとした

* Update ja-JP.yml

* 感度設定を強化

* refactor

* feat: add video support for auto nsfw detection

* rename: image -> media

* .js

* fix: add missing error handling

* fix: use valid pathname instead of using filename due to invalid usage

* perf(nsfw-detection): decode frames

* disable detection of video for some reasons

* perf(nsfw-detection): streamify detection process for video

* disable disallowUploadWhenPredictedAsPorn option

* fix(nsfw-detection): improve reliability

* fix(nsfw-detection): use Math.ceil instead of Math.round

* perf(nsfw-detection): delete tmp frames after used

* fix(nsfw-detection): FSWatcher does not emit ready event

* perf(nsfw-detection): skip black frames

* refactor: strip exists check

* Update package.json

* めっちゃ変えた

* lint

* Update COPYING

* オプションで動画解析できるように

* Update yarn.lock

* Update CHANGELOG.md

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2022-07-07 21:06:37 +09:00
CyberRex
cd07eb222e
Add additional drive capacity change support (#8867)
* Add additional drive capacity change support

* Update packages/backend/src/server/api/endpoints/admin/drive-capacity-override.ts

Co-authored-by: Johann150 <johann@qwertqwefsday.eu>

* 🎨

* show instance default capacity in placeholder

* fix

* update api/drive

* fix

* remove :

* fix lint

Co-authored-by: Johann150 <johann@qwertqwefsday.eu>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2022-07-05 00:21:01 +09:00
syuilo
dd426735a0 feat: moderation note 2022-07-03 00:15:03 +09:00
syuilo
eccc90c843
feat: Log user ips (#8872)
* wip

* store ip and headers

* Update admin-file.vue

* require admin for view ip/headers

* IP (recent) 消した

* admin必須

* opt in

* clean ips periodically

* respect logging setting in drive/files/create
2022-07-02 15:12:11 +09:00
syuilo
7d8a70f99e fix(api): fix instance schema 2022-06-28 12:16:11 +09:00
syuilo
164d4a9825 fix(api): add missing themeColor property of instance 2022-06-28 10:40:49 +09:00
syuilo
f880d0631c tweak client 2022-06-21 17:55:38 +09:00
syuilo
4efee455b1 fix(server): faviconUrl of federated instance is missing 2022-06-21 14:28:43 +09:00
Johann150
7db09103e7
chore: synchronize visibility checks (#8687)
* reuse single meId parameter

* unify code style

Use template string to avoid having to use escaped quote marks.

* fix: follower only notes are visible to mentioned users

This synchronizes the visibility rules with the Notes.isVisibleForMe
method from packages/backend/src/models/repositories/note.ts

* add comment
2022-06-11 16:14:44 +09:00
syuilo
89419c05b2 use node 16 2022-06-04 17:26:56 +09:00
Johann150
804fa33535
refactor: improve code quality (#8751)
* remove unnecessary if

`Array.prototype.some` already returns a boolean so an if to return
true or false is completely unnecessary in this case.

* perf: use count instead of find

When using `count` instead of `findOneBy`, the data is not
unnecessarily loaded.

* remove duplicate null check

The variable is checked for null in the lines above and the function
returns if so. Therefore, it can not be null at this point.

* simplify `getJsonSchema`

Because the assigned value is `null` and the used keys are only
shallow, use of `nestedProperty.set` seems inappropriate. Because the
value is not read, the initial for loop can be replaced by a `for..in`
loop.

Since all keys will be assigned `null`, the condition of the ternary
expression in the nested function will always be true. Therefore the
recursion case will never happen. With this the nested function can be
eliminated.

* remove duplicate condition

The code above already checks `dragging` and returns if it is truthy.
Checking it again later is therefore unnecessary.

To make this more obvious the `return` is removed in favour of using
an if...else construct.

* remove impossible "unknown" time

The `ago` variable will always be a number and all non-negative numbers
are already covered by other cases, the negative case is handled with
`future` so there is no case when `unkown` could be achieved.
2022-05-29 15:15:52 +09:00
Johann150
8d5c9e96e4
fix: assume remote users are following each other (#8734)
Misskey does not know if two remote users are following each other.
Because ActivityPub actions would otherwise fail on followers only
notes, we have to assume that two remote users are following each other
when an interaction about a remote note occurs.
2022-05-25 23:17:00 +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
syuilo
84b183a9f6 refactor: use structuredClone for deep clone 2022-04-23 12:38:02 +09:00
syuilo
d338ea2591 fix ogp rendering and refactor 2022-04-17 21:18:18 +09:00
syuilo
d39465085c refactor: fix type 2022-04-17 12:59:41 +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
syuilo
8e5f2690f2
feat: Webhook (#8457)
* feat: introduce webhook

* wip

* wip

* wip

* Update CHANGELOG.md
2022-04-02 15:28:49 +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