Commit graph

168 commits

Author SHA1 Message Date
Namekuji
3ddcffd169
enhance: emoji width and height 2023-05-19 22:26:13 -04:00
Kaity A
59307392d4
add experimental feature gate 2023-05-13 23:41:36 +10:00
syuilo
6bc07036ac
feat: 投稿したコンテンツのAIによる学習を軽減するオプションを追加
Co-authored-by: GitHub <syuilo>
2023-05-10 20:50:21 -07:00
April John
3800eb8980 Feat: new internal post visibility "hidden" 2023-05-05 15:16:10 +02:00
Kaity A
a7c9400a42
Merge remote-tracking branch 'origin/develop' into hk/edit-federation 2023-05-02 18:24:54 +10:00
Kaity A
6eed038028
fix poll voting causing edit revisions. 2023-05-01 03:17:38 +10:00
Kaity A
627a71701f
Implement inbound note edit federation 2023-05-01 02:29:50 +10:00
Namekuji
9bc872dc00
format 2023-04-30 08:08:45 -04:00
Namekuji
ba734a9f3c
instance silence 2023-04-30 07:27:55 -04:00
Kaity A
914355c644
Add Libre Translate support 2023-04-30 11:09:51 +10:00
Kainoa Kanter
437a6e29a5 chore: formatting 2023-04-07 22:46:10 -07:00
naskya
a624aeebe3 feat: per-user boost muting (#9825)
Cherry-picked from FoundKey/c414f24a2c ([commit](c414f24a2c))

This allows us to hide specified users' boosts from the timelines (the boosts will still be visible on their user page).

Co-authored-by: Hélène <pleroma-dev@helene.moe>
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9825
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
2023-04-08 05:44:36 +00:00
ThatOneCalculator
daba80177a
feat: push notifs button
Co-authored-by: Tamania <tamaina@hotmail.co.jp>
2023-04-03 20:36:59 -07:00
Kaity A
a66eac0e5b
Separate cat-avatar mode and speak-as-cat nyanification 2023-04-02 21:24:12 +10:00
ThatOneCalculator
e9b45260b5
chore: 🎨 format 2023-04-01 21:10:31 -07:00
kabo2468
b717f6d6ff
fix: don't nyaize quoted text 2023-03-31 23:30:57 +09:00
ThatOneCalculator
d5cafde7d1
Revert "refactor: nyaize on the frontend"
This reverts commit aff90b3ef2.
2023-03-23 09:06:32 -07:00
amy bones
1f840aa7b9
fix: max user profile length to db field length
Resolves: #9749
2023-03-22 02:10:43 -07:00
ThatOneCalculator
aff90b3ef2
refactor: nyaize on the frontend 2023-03-19 19:59:00 -07:00
naskya
1c0d4546f7 feat: set license information for custom emojis (#9719)
Closes: #9711 (please check this issue first)

I cherry-picked two commits ([1](8ae9d2eaa8), [2](ed51209172)) from [Misskey](https://github.com/misskey-dev/misskey) and made a few changes.
「ライセンス」should be written as "License" in the following screenshots, but it has not yet been translated.

It would be nice if we could include multiple lines of text, but I just ported what's been implemented so far in Misskey not to mess things up.

This is my first pull request (aside from typo correction). Feel free to point out any issues!

![](https://cdn.discordapp.com/attachments/823878222897741868/1086372711841935440/2023-03-18_042011.png)
![](https://cdn.discordapp.com/attachments/823878222897741868/1086373178214981853/01.png)
![](https://cdn.discordapp.com/attachments/823878222897741868/1086373336709341246/2023-03-18_042629.png)

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9719
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
2023-03-19 07:22:28 +00:00
ThatOneCalculator
2117977d88
fix: when count is actually 0 2023-03-19 00:13:30 -07:00
s1idewhist1e
36281ec413 feat: Make follower counts for remote users correct (#9705)
#9293

Not sure if this is the right approach for this

Co-authored-by: s1idewhist1e <trombonedude05@gmail.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9705
Co-authored-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
Co-committed-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
2023-03-17 01:16:31 +00:00
Kaity A
a432661e3c Expand caption limit to 1500 characters 2023-03-05 16:51:44 +10:00
Kaity A
4ca445b587 Implementation of an instances wide antenna source. (#9604)
This PR contains new source for antenna posts, which is a list of instance hostnames to process all posts from.

Using this mode, a user can filter for keywords on an instance wide basis.

This change includes a new antenna source called `instances` and a new database column in the `antenna` table called `instances` to store the instance names.

On the antenna editor, there's also an "Add an instance" finder dialog to allow users to search through the known instance hostnames.

Co-authored-by: Kaity A <supakaity@blahaj.zone>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9604
Co-authored-by: Kaity A <supakaity@noreply.codeberg.org>
Co-committed-by: Kaity A <supakaity@noreply.codeberg.org>
2023-02-12 01:20:17 +00:00
ThatOneCalculator
fcc59cd35f
chore: Rome Formatting 2023-02-10 15:41:19 -08:00
cutestnekoaqua
717aa899b1
feat: v1 Mastodon API
This commit adds (maybe unstable) support for Mastodons v1 api
also some v2 endpoints, maybe I miss stuff, I dont know.
We will need to test this but it should be kinda stable
and work like (old) butter.

Co-authored-by: Natty <natty.sh.git@gmail.com>
Co-authored-by: cutls <web-pro@cutls.com>
2023-02-09 23:21:50 +01:00
ThatOneCalculator
81cd7600f7
lavaforge --> codeberg until lavaforge is ready 2023-01-19 16:18:17 -08:00
ThatOneCalculator
cd1679934a
chore: lavaforge links 2023-01-15 13:18:10 -08:00
ThatOneCalculator
6b00abf05c
refactor: 🎨 rome 2023-01-12 20:40:33 -08:00
ThatOneCalculator
1223aa0a01
fix: 🐛 Poll choice length 256
Co-authored-by: Syuilo <Syuilotan@yahoo.co.jp>
Closes #9433
2023-01-10 08:48:10 -08:00
Kainoa Kanter
508b33e503 Admin set default reactions (#9404)
Co-authored-by: ThatOneCalculator <kainoa@t1c.dev>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9404
2023-01-05 04:06:48 +00:00
Kainoa Kanter
8717f93453 Update 'packages/backend/src/models/repositories/instance.ts' 2022-12-26 14:48:34 +00:00
Francis Dinh
d9b7219404
Block subdomains of blocked hosts 2022-12-24 14:46:09 -05:00
Cleo
b1933d00b9 Merge pull request '[Chore] Partial translating of ActivityPub/Boot code + Formatting' (#9229) from prettykool/calckey:develop into develop
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9229
2022-12-18 21:01:22 +00:00
ThatOneCalculator
944eadca8f
refactor: new repo link 2022-12-18 10:12:24 -08:00
PK
845dfc3838
Translate portions of backend/src/remote/activitypub, the suspend-user service, and the boot process.
Some of these weren't translated so I thought I'd do 'em cause why not ¯\_(ツ)_/¯
2022-12-15 12:44:03 -06:00
Kainoa Kanter
ed02d089ed Merge branch 'develop' into account_migration 2022-12-12 01:51:17 +00:00
ThatOneCalculator
a11fd6971d
fix liked pages endpoint 2022-12-11 14:50:16 -08:00
cutestnekoaqua
2694baf85d fix remote move queue 2022-12-07 18:16:37 +01:00
cutestnekoaqua
f47813cf0e fixed it for good 2022-12-07 01:15:32 +01:00
cutestnekoaqua
42ebbec813 found my DB mistakes 💀 2022-12-07 00:09:12 +01:00
Cleo
170957ef05 Merge pull request 'just using merge bc easier' (#9185) from recieve_moveto into account_migration
Reviewed-on: https://codeberg.org/thatonecalculator/calckey/pulls/9185
2022-12-06 16:56:12 +00:00
cutestnekoaqua
8ff823eca6 commit 1 of 2 of fixing the Account migration to Calckey 2022-12-06 17:46:08 +01:00
ThatOneCalculator
77d088ee12 movedTo -> movedToUri 2022-12-04 17:20:36 -08:00
ThatOneCalculator
8ab290b708 cleo ide moment 2022-12-04 12:53:55 -08:00
Kainoa Kanter
0e8b155e07 Merge pull request 'develop' (#9178) from develop into account_migration
Reviewed-on: https://codeberg.org/thatonecalculator/calckey/pulls/9178
2022-12-04 06:26:26 +00:00
Cleo
dcda17d6f2 Display moved info.
It already fetches the moved to info on regular user fetches, now only the notification of a new "moved to" is missing.

Signed-off-by: cutestnekoaqua <waterdev@galaxycrow.de>
Co-authored-by: Mary Strodl <ipadlover8322@gmail.com>
Signed-off-by: cutestnekoaqua <waterdev@galaxycrow.de>
2022-11-30 20:29:01 +01:00
ThatOneCalculator
3078137596 temp notification api fix, thank you @supakaity 2022-11-26 09:31:54 -08:00
Cleo John
268b4da2cd Add movedToUri and knownAs to DB model user 2022-11-24 11:39:40 +00:00
Cleo John
37b24bfcb3 db migration for moved to 2022-11-24 11:32:25 +00:00
ThatOneCalculator
9daf4db0cb feat: Page drafts 2022-11-18 19:24:05 -08:00
syuilo
eb9d50ec70 improve performance (merge deepClone from Misskey dev) 2022-11-18 17:28:58 -08:00
ThatOneCalculator
8eecacec4f AVIF support 2022-11-14 18:53:38 -08:00
ThatOneCalculator
b0e1c3d866 meta 2022-09-13 20:23:52 -07:00
ThatOneCalculator
afa87c1cab chore: ♻️ about-misskey -> about-calckey 2022-09-10 12:25:22 -07:00
ThatOneCalculator
7095abf728 Obliteration of Ai-chan 🐱🔫 2022-08-08 14:58:27 -07:00
ThatOneCalculator
31e9279c70 More Calckey branding 2022-08-05 14:07:40 -07:00
ThatOneCalculator
b3a50187b1 Recommended timeline! 2022-07-28 21:28:13 -07:00
ThatOneCalculator
1129a2ec8c Custom splash icons! 2022-07-27 10:25:30 -07:00
ThatOneCalculator
4d22797624 Custom MOTD! 2022-07-27 09:46:35 -07:00
Johann150
20763a84ee Merge: enhance privacy of notes
https://akkoma.dev/FoundKeyGang/FoundKey/pulls/14
2022-07-25 13:36:44 -07:00
ThatOneCalculator
64ef31f8db Calckey as software name, finally! 2022-07-19 10:49:43 -07:00
ThatOneCalculator
fcb91702d9 Merge remote-tracking branch 'nullobsi/secure-fetch' into develop 2022-07-18 20:50:15 -07:00
ThatOneCalculator
3609c2784d Calckey 2022-07-18 19:00:45 -07:00
nullobsi
2bf2eac765
Add Secure Mode and Private Mode
- Add instance actor
- Add private mode, which uses an allowlist
- Add Secure Mode, restricts access to blocked instances
2022-07-17 15:25:39 -07: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
syuilo
bc2c40a6ca refactor and performance improvements 2022-03-26 17:19:27 +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
eb9e6d230f perf(server): reduce db query 2022-03-21 01:22:00 +09:00
syuilo
513c83e374 delete needless instance drive columns 2022-03-07 21:20:14 +09:00
syuilo
2442592ef1 feat: アンケート終了通知
Resolve #4664
2022-03-06 16:06:27 +09:00
syuilo
e68278f93e feat: 時限ミュート
#7677
2022-03-04 20:23:53 +09:00
syuilo
ba4ef23d6b feat: instance default theme 2022-03-01 23:58:01 +09:00
tamaina
e314be5b59
Fix avatar/banner proxy (#8346)
* Fix avatar/banner proxy

Co-authored-by: mei23 <m@m544.net>

* use getAvatarUrl

* fix

* join avatar and banner to improve performance

* join

* Update hybrid-timeline.ts

* fix

Co-authored-by: mei23 <m@m544.net>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-02-27 13:59:10 +09:00
syuilo
d071d18dd7
refactor: Use ESM (#8358)
* wip

* wip

* fix

* clean up

* Update tsconfig.json

* Update activitypub.ts

* wip
2022-02-27 11:07:39 +09:00
syuilo
f003289816 refactor 2022-02-25 20:03:17 +09:00
syuilo
a1c7c1fb49 remove max note text length setting
Resolve #8323
2022-02-20 16:07:43 +09:00
tamaina
fd8f8162e1
SchemaTypeの型計算量を削減 (#8332)
* schema typeの型計算量を削減

* reduce some type error

* wip

* fix

* clean up

* more shrink
2022-02-19 23:21:28 +09:00
syuilo
510de87607
refactor: use ajv instead of cafy (#8324)
* wip

* wip

* Update abuse-user-reports.ts

* Update files.ts

* Update list-remote.ts

* Update list.ts

* Update show-users.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update update.ts

* Update search.ts

* Update reactions.ts

* Update search.ts

* wip

* wip

* wip

* wip

* Update update.ts

* Update relation.ts

* Update available.ts

* wip

* wip

* wip

* Update packages/backend/src/server/api/define.ts

Co-authored-by: Johann150 <johann.galle@protonmail.com>

* Update define.ts

* Update define.ts

* typo

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update update.ts

* wip

* Update signup.ts

* Update call.ts

* minimum for limit

* type

* remove needless annotation

* wip

* Update signup.ts

* wip

* wip

* fix

* Update create.ts

Co-authored-by: Johann150 <johann.galle@protonmail.com>
2022-02-19 14:05:32 +09:00