Commit Graph

735 Commits

Author SHA1 Message Date
ThatOneCalculator
5cc0ecf215 re-enable post imports 2023-05-05 13:27:52 -07:00
naskya
4bb2751460 Merge branch 'develop' into fix/word-mutes 2023-05-05 14:01:14 +00:00
April John
0bbd8c10ef fix: dont stream hidden posts over websocket 2023-05-05 15:53:05 +02:00
April John
feebae8a3d hide hidden posts in websocket streams 2023-05-05 15:50:50 +02:00
April John
13b5a0052e Feat: new internal post visibility "hidden" 2023-05-05 15:16:10 +02:00
April John
0be60ac6c4 Fix: properly handle timeline db errors 2023-05-05 14:30:08 +02:00
naskya
1b0fc8f2fc Remove the code snippets which didn't work 2023-05-05 16:58:42 +09:00
naskya
9e62df0c8f Fix channel bug 2023-05-05 07:47:03 +09:00
naskya
4207ff51e7 Merge branch 'develop' into fix/word-mutes 2023-05-04 05:36:29 +00:00
naskya
775eb75428 Differentiate soft mutes and hard mutes 2023-05-04 14:20:06 +09:00
naskya
d09fc8be2b Refactor hard word mutes 2023-05-04 13:17:37 +09:00
Kaity A
5bfe6c0730 Merge remote-tracking branch 'origin/develop' into hk/edit-federation 2023-05-02 18:24:54 +10:00
ThatOneCalculator
eec5c86cb3 disable post imports for now 2023-05-01 23:08:35 -07:00
ThatOneCalculator
f6428ca16b max import posts twice a month 2023-05-01 21:54:15 -07:00
ThatOneCalculator
2d0ace0685 chore: formatting 2023-05-01 20:32:18 -07:00
Kainoa Kanter
6a1ba9f07c Merge pull request 'Fix: 500 server error when attempting to fetch followers-only reply as guest' (#9983) from s1idewhist1e/calckey:issue/9075 into develop
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9983
2023-05-01 19:38:16 +00:00
s1idewhist1e
b1bbc3ac8e fix email validation 2023-04-30 22:57:10 -07:00
s1idewhist1e
45ef53994c Wrap note fetching in a try/catch 2023-04-30 22:11:15 -07:00
Namekuji
2072d41fcd Merge branch 'develop' into instance-silence 2023-04-30 17:52:05 -04:00
ThatOneCalculator
1eb19b6988 fix(ap): Use unique identifier for each follow request
Closes #9677

Co-authored-by: GitHub <hutchisr>
2023-04-30 13:26:51 -07:00
fruye
0cf2e71b2e Use numeric ids everywhere in mastodon API (#9970)
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9970
Co-authored-by: fruye <fruye@unix.dog>
Co-committed-by: fruye <fruye@unix.dog>
2023-04-30 19:34:52 +00:00
Kaity A
89716480e5 fix poll voting causing edit revisions. 2023-05-01 03:17:38 +10:00
Kaity A
6a509637d5 Implement inbound note edit federation 2023-05-01 02:29:50 +10:00
Namekuji
cec5813ab2 can overlap with blocked hosts 2023-04-30 09:04:29 -04:00
Namekuji
f2a8d1f680 add toggler 2023-04-30 09:01:42 -04:00
Namekuji
ce60660128 instance silence 2023-04-30 07:27:55 -04:00
Kaity A
f9a72e1ea6 Add Libre Translate support 2023-04-30 11:09:51 +10:00
fruye
05b2f9b89d fix: Declare /api/v1/accounts/relationships before /api/v1/accounts/:id
Previously the 'relationships' part was considered to be an account id
and was handled by completely different API endpoint.
2023-04-28 20:03:06 +02:00
Kainoa Kanter
b8875beefa Revert "[Fix] Properly replace koa-fix-trailing-slashes with inhouse script (#9870)"
This reverts commit 2cdaad588c82508734d04c2169503782dfe8556a.
2023-04-27 16:32:37 -07:00
Kainoa Kanter
fd91a878c1 Revert "Merge pull request '[feat] Replace Koa-FavICO with a smaller router' (#9853) from daikei/calckey:modularize-favico into develop"
This reverts commit 4f6cae76434d927920ae8eac5fad6b72336f29ac, reversing
changes made to 64a737d001ca9781ae8bb6995cad69219cba3831.
2023-04-27 16:25:13 -07:00
fruye
14e59f2401 fix: Get list titles from Form data when creating and updating lists
This change will actually make it possible for Mastodon clients to
create and rename lists, as they send the title in a Form data instead
of a query string.

https://docs.joinmastodon.org/methods/lists/#form-data-parameters
2023-04-27 22:42:10 +02:00
fruye
67b0e9e2dc fix: Make statusModel created_at fields be ISO 8601 strings
This makes the 'Reactions to this post' status (seen when viewing
a status context) send the correct data type for `created_at` fields.

https://docs.joinmastodon.org/entities/Account/#created_at
https://docs.joinmastodon.org/entities/Status/#created_at
2023-04-27 21:54:51 +02:00
ThatOneCalculator
e4ca9590bd fix? 2023-04-26 19:58:26 -07:00
ThatOneCalculator
36aef5a063 fix: add route 2023-04-26 19:51:25 -07:00
ThatOneCalculator
ab61c62f54 feat: frontend interface for post-account creation email verification 2023-04-26 19:44:38 -07:00
Namekuji
dda66daedd feat: reserved usernames (#9917)
This PR adds a feature to prevent users from creating a new account with a reserved username such as root, admin, system, proxy, info, etc...

Reserved usernames can be configured via the config file.

The administrator can create an account with a reserved username via the first setup screen or the control panel.

The existing account of reserved usernames will not be affected.

Co-authored-by: Namekuji <nmkj@mx.kazuno.co>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9917
Co-authored-by: Namekuji <nmkj@noreply.codeberg.org>
Co-committed-by: Namekuji <nmkj@noreply.codeberg.org>
2023-04-26 20:06:18 +00:00
ThatOneCalculator
af4a2f2313 see if this works 2023-04-25 18:21:15 -07:00
ThatOneCalculator
f6d1fa8519 throw different error if following is null 2023-04-25 08:31:05 -07:00
ThatOneCalculator
2b033a813f revert messaging room 2023-04-24 15:45:34 -07:00
naskya
fdb4575f15 fix: boost muting in the recommended timeline (#9906)
Closes: #9905
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9906
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
2023-04-24 19:47:56 +00:00
fruye
2ef30e0152 feat: Implement reading Announcements from MastoAPI 2023-04-23 22:17:02 +02:00
ThatOneCalculator
45b3e5635d reaction settings auto reload 2023-04-19 20:46:37 -07:00
daikei
ebb93328d5 [Fix] Properly replace koa-fix-trailing-slashes with inhouse script (#9870)
This follows up #9869, with an awaited ``next()``, fixing the script.

> I'm looking to remove another 5kb package, replacing it with an in-house script. The commit i'm proposing translates the entire job of koa-remove-trailing-slashes into a 206 byte script that gets the job done well.

(just to show the code does work)
![](https://s3.kitsunes.club/storage/41c7854d-d01e-4f4c-94dd-8b651e2d7367.gif)

Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9870
Co-authored-by: daikei <daikei@noreply.codeberg.org>
Co-committed-by: daikei <daikei@noreply.codeberg.org>
2023-04-17 22:36:22 +00:00
ThatOneCalculator
79d9b1bf13 Revert "[Fix] remove-trailing-slashes with inhouse script (#9869)"
This reverts commit 07db141fc0f1d0c55a930378f3adc81f23dbda44.
2023-04-17 01:22:31 -07:00
ThatOneCalculator
4a7a79c3d5 Revert "formatting"
This reverts commit b32e1b56fa0acda38a91f2851aea398204d02417.
2023-04-17 01:22:25 -07:00
ThatOneCalculator
e006d96aac formatting 2023-04-17 01:03:56 -07:00
daikei
1df7458d4e [Fix] remove-trailing-slashes with inhouse script (#9869)
I'm looking to remove another 5kb package, replacing it with an in-house script. The commit i'm proposing translates the entire job of `koa-remove-trailing-slashes` into a 206 byte script that gets the job done well.

Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9869
Co-authored-by: daikei <daikei@noreply.codeberg.org>
Co-committed-by: daikei <daikei@noreply.codeberg.org>
2023-04-17 08:02:29 +00:00
ThatOneCalculator
24c23c6474 chore: formatting 2023-04-14 15:35:18 -07:00
daikei
74a43b7478 replace koa-favicon with a small patch of code
This should remove a needless dependency and replace it with a tiny, simple koa router
2023-04-14 16:18:50 +00:00
naskya
58b3950680 Allow to mute my own boosts 2023-04-12 15:52:46 +09:00
Kainoa Kanter
1affde0a8c chore: formatting 2023-04-07 22:46:10 -07:00
naskya
0ef179e35f 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
Namekuji
177e9a50b2 fix id of move activity 2023-04-07 06:39:29 -04:00
Kainoa Kanter
dac3b02a3f days for featured 2023-04-06 22:48:07 -07:00
Kainoa Kanter
37d82c3b75 Merge pull request 'feat: give reason for soft word mutes' (#9815) from amybones/calckey:feat_soft_mute_reasons into develop
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9815
2023-04-07 05:07:24 +00:00
Kainoa Kanter
d92cfb8cdf formatting 2023-04-06 18:56:46 -07:00
amy bones
3819e921cc feat: give reason for soft mutes
Bad UX when a post is muted and it just says "Some chick said something". Now
provide some context too to help people decide if they want to view something
potentially triggering.
2023-04-05 21:28:26 -07:00
amybones
89e27d8418 fix: toggling the blocking state from the instance-info admin view (#9809)
Because the admin meta information was never loaded on this page, no amount of toggling the block or suspend sliders on the instance-info page (e.g. `https://calckey.example.com/instance-info/instance.tld`) will result in the instance actually being added to the blocklist. You could still do it from the bulk blocklist management page, but that can get unwieldy quickly if you just want to do a quick block of an instance.

Co-authored-by: amy bones <amy@spookygirl.boo>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9809
Co-authored-by: amybones <amybones@noreply.codeberg.org>
Co-committed-by: amybones <amybones@noreply.codeberg.org>
2023-04-04 03:46:23 +00:00
ThatOneCalculator
3e7d64ac4b feat: push notifs button
Co-authored-by: Tamania <tamaina@hotmail.co.jp>
2023-04-03 20:36:59 -07:00
Kainoa Kanter
8cdadd70ba Merge pull request 'Require timeline endpoints to return the requested limit of notes.' (#9805) from supakaity/hajkey:hk/notes-pagination into develop
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9805
2023-04-03 17:02:01 +00:00
Kaity A
d7e253eb62 Requested limit to be fulfilled if possible 2023-04-04 02:50:53 +10:00
amy bones
3f3bf0a9e7 fix: changing passwords, 2fa, and password resets.
The argon2 usage was only implemented for sign-ins which broke a bunch of other
endpoints and features.
2023-04-03 05:14:50 -07:00
Kaity A
eaa6bc2da3 Separate cat-avatar mode and speak-as-cat nyanification 2023-04-02 21:24:12 +10:00
ThatOneCalculator
c5522d0207 fix import 2023-04-01 23:28:55 -07:00
ThatOneCalculator
33718bdd5d chore: 🎨 format 2023-04-01 21:10:31 -07:00
ThatOneCalculator
cb1b13e879 fix: 🛂 no longer need 2fa for webauthn 2023-04-01 21:04:22 -07:00
Kaitlyn Allan
52f06a2e14 Clarify variable names 2023-04-01 22:49:14 +10:00
Kaitlyn Allan
a86f8d4911 Improve performance of charts
Fix some undefined !== deleted issues
2023-04-01 21:42:03 +10:00
ThatOneCalculator
19c4a59513 formatting 2023-03-30 19:10:03 -07:00
ThatOneCalculator
5be627b869 feat: 🔒 add argon2 support
Passwords will be automatically re-hashed on sign-in. All new password hashes will be argon2 by default.  This uses argon2id and is not configurable. In the very unlikely case someone has more specific needs, a fork is recommended.  ChangeLog: Added  Co-authored-by: Chloe Kudryavtsev <code@toast.bunkerlabs.net>

Breaks Calckey -> Misskey migration, but fixes Foundkey -> Calckey migration
2023-03-30 19:09:44 -07:00
s1idewhist1e
981d3ee725 Refactor: use rust for native mastodon id conversion (#9786)
This uses [napi-rs](https://napi.rs/) to allow for automatic generation of node bindings for the native code.

I also changed the `isolatedModules` TS flag to false to allow for `static enum` to be shared across modules. It doesn't seem to be necessary for the build system that CK uses.

Currently this method does not work with ID generators with longer IDs. Likely the best solution is to add another key in the database.

Some benchmarks for 1 million conversions:

```
	node, x1_000_000: 2.847s
	rust, x1_000_000: 1.265s
```

There are still optimizations that can be made, but I think this is a good starting point and a good way to bring rust into the CK stack.

Co-authored-by: s1idewhist1e <trombonedude05@gmail.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9786
Co-authored-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
Co-committed-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
2023-03-31 01:58:28 +00:00
cutestnekoaqua
cf5671cb05 nyaa 2023-03-30 17:31:29 +02:00
Cleo
69daa49403 „packages/backend/src/server/api/endpoints/i/import-posts.ts“ ändern
Signed-off-by: Cleo <cutestnekoaqua@noreply.codeberg.org>
2023-03-30 09:12:51 +00:00
cutestnekoaqua
b9b693c233 temporary set import limit to infinity for debug 2023-03-29 19:16:39 +02:00
cutestnekoaqua
624f305d9c feat: experimental post import 2023-03-28 23:33:16 +02:00
ThatOneCalculator
cdcd4320a9 fix? 2023-03-24 13:14:41 -07:00
ThatOneCalculator
8d1c7c787c feat: post metadata uses full @
Closes #9660
2023-03-23 18:03:50 -07:00
ThatOneCalculator
21061b6803 feat: masto api add display name 2023-03-23 16:16:27 -07:00
cutestnekoaqua
abfbb15fef Masto api :) 2023-03-22 17:43:05 +01:00
cutestnekoaqua
d8fe02042c allow client credentials not just for tapbots 2023-03-22 14:40:59 +01:00
ThatOneCalculator
7420f6ce56 validate blank messages on backend 2023-03-19 20:03:49 -07:00
Kaitlyn Allan
ebef0b14c6 Fix error saving drive file caption > 512 chars 2023-03-19 20:06:24 +10:00
ThatOneCalculator
c1da33a658 cli images 2023-03-19 02:33:44 -07:00
ThatOneCalculator
26cbcba6a6 fix cli more 2023-03-19 02:08:08 -07:00
ThatOneCalculator
472164f573 feat: spruce up CLI 2023-03-19 01:59:33 -07:00
Kaity A
77c12cba8d Add sonic full-text search support (#9714)
This pull request adds support for the [sonic](https://github.com/valeriansaliou/sonic) full text indexing server into Calckey.

In addition to this, a stateful endpoint has been added that will completely (re-)index all notes into any (elasticsearch and/or sonic) indexing server defined in your config at `/api/admin/search/index-all`. It can (optionally) take input data to define the starting point, such as:

```
{"cursor": "9beg3lx6ad"}
```

Currently if both sonic and elasticsearch are defined in the config, sonic will take precedence for searching, but both indexes will continue to be updated for new note creations. Future enhancements may include the ability to choose which indexer to use (or combine multiple).

Co-authored-by: Kaitlyn Allan <kaitlyn.allan@enlabs.cloud>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9714
Co-authored-by: Kaity A <supakaity@noreply.codeberg.org>
Co-committed-by: Kaity A <supakaity@noreply.codeberg.org>
2023-03-19 08:26:47 +00:00
naskya
94eb321431 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
cutestnekoaqua
3122701186 pass auth to metadata 2023-03-18 13:06:49 +01:00
cutestnekoaqua
3e748cb401 fix: intermediarily convert ids 2023-03-18 12:23:03 +01:00
cutestnekoaqua
9c0416df65 add 404 as replacements 2023-03-18 12:09:43 +01:00
fruye
3d7868c9dc fix: Parse mastoAPI limit argument in more places & Improve converting arguments to boolean (#9716)
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9716
Authored-by: fruye <fruye@unix.dog>
Signed-off-by: Cleo John <waterdev@galaxycrow.de>
Co-authored-by: fruye <fruye@unix.dog>
Co-committed-by: fruye <fruye@unix.dog>
2023-03-17 13:58:01 +00:00
fruye
b62b1d43d6 fix: Run to boolean conversion in mastoAPI public and hashtag timelines
The `only_media` query parameter in `/api/v1/timelines/public` and
`/api/v1/timelines/tag/:hashtag` was previously passed directly as-is to
the Misskey API, which made it pretty upset because it was receiving a
string named 'true' instead of the value 'true'.

Needed for pleromaFE to display a timeline.
2023-03-15 23:09:19 +01:00
Luna
f02b1429e9 Small fix to Masto ID conversion code 2023-03-13 00:44:38 -04:00
Luna
75fd6d068d Sorta kinda handle client_credentials auth flow 2023-03-11 23:19:17 -05:00
Luna
2d7225a179 Proxy object IDs for Mastodon API to prevent Calckey ID format incompatibilities 2023-03-11 16:02:35 -05:00
Luna
07d45c6a70 Convert limit parameter to int for certain Mastodon account endpoints 2023-03-11 16:02:35 -05:00
Luna
bd15a1d8d6 Enable multipart for masto oauth endpoints to fix Ivory 2023-03-11 16:02:35 -05:00
Kaity A
be4d51fcad Expand caption limit to 1500 characters 2023-03-05 16:51:44 +10:00
cutestnekoaqua
a176e5b9aa parse full multipart data to media endpoints 2023-03-01 15:53:40 +01:00
cutestnekoaqua
83216f0b3b fix import 2023-03-01 15:07:35 +01:00