Commit graph

719 commits

Author SHA1 Message Date
s1idewhist1e
8d1251b977
fix email validation 2023-04-30 22:57:10 -07:00
s1idewhist1e
6f32efd898
Wrap note fetching in a try/catch 2023-04-30 22:11:15 -07:00
Namekuji
74b1bead52
Merge branch 'develop' into instance-silence 2023-04-30 17:52:05 -04:00
ThatOneCalculator
4b1fa90c8f
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
c3d747e42d 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
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
a1645ddc5b
can overlap with blocked hosts 2023-04-30 09:04:29 -04:00
Namekuji
51858ae473
add toggler 2023-04-30 09:01:42 -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
fruye
a18e1cccc6 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
1865a9c204 Revert "[Fix] Properly replace koa-fix-trailing-slashes with inhouse script (#9870)"
This reverts commit 2cdaad588c.
2023-04-27 16:32:37 -07:00
Kainoa Kanter
431a08d06e Revert "Merge pull request '[feat] Replace Koa-FavICO with a smaller router' (#9853) from daikei/calckey:modularize-favico into develop"
This reverts commit 4f6cae7643, reversing
changes made to 64a737d001.
2023-04-27 16:25:13 -07:00
fruye
f8178a9535 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
e5fcde758f 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
a44fee3aae
fix? 2023-04-26 19:58:26 -07:00
ThatOneCalculator
8e22a211d1
fix: add route 2023-04-26 19:51:25 -07:00
ThatOneCalculator
0a2335ff75
feat: frontend interface for post-account creation email verification 2023-04-26 19:44:38 -07:00
Namekuji
eebfdf8559 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
a6761ec278
see if this works 2023-04-25 18:21:15 -07:00
ThatOneCalculator
9b129be524
throw different error if following is null 2023-04-25 08:31:05 -07:00
ThatOneCalculator
b2e80db219
revert messaging room 2023-04-24 15:45:34 -07:00
naskya
df8294bde3 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
1a39e7a48e feat: Implement reading Announcements from MastoAPI 2023-04-23 22:17:02 +02:00
ThatOneCalculator
c6f0047aed
reaction settings auto reload 2023-04-19 20:46:37 -07:00
daikei
2cdaad588c [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
c0fe351bed
Revert "[Fix] remove-trailing-slashes with inhouse script (#9869)"
This reverts commit 07db141fc0.
2023-04-17 01:22:31 -07:00
ThatOneCalculator
1ed5ff7caf
Revert "formatting"
This reverts commit b32e1b56fa.
2023-04-17 01:22:25 -07:00
ThatOneCalculator
b32e1b56fa
formatting 2023-04-17 01:03:56 -07:00
daikei
07db141fc0 [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
1824b27e16
chore: formatting 2023-04-14 15:35:18 -07:00
daikei
1b9a776220 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
46864916d9
Allow to mute my own boosts 2023-04-12 15:52:46 +09: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
Namekuji
b03479c7b4 fix id of move activity 2023-04-07 06:39:29 -04:00
Kainoa Kanter
0f6e7056b7 days for featured 2023-04-06 22:48:07 -07:00
Kainoa Kanter
1d57a0da15 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
7fb130b06e formatting 2023-04-06 18:56:46 -07:00
amy bones
15b1109947
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
006bfbd42b 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
daba80177a
feat: push notifs button
Co-authored-by: Tamania <tamaina@hotmail.co.jp>
2023-04-03 20:36:59 -07:00
Kainoa Kanter
3e334dea24 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
3d93458d8b
Requested limit to be fulfilled if possible 2023-04-04 02:50:53 +10:00
amy bones
b28ba9f82f
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
a66eac0e5b
Separate cat-avatar mode and speak-as-cat nyanification 2023-04-02 21:24:12 +10:00
ThatOneCalculator
bb6d04f9c3
fix import 2023-04-01 23:28:55 -07:00
ThatOneCalculator
e9b45260b5
chore: 🎨 format 2023-04-01 21:10:31 -07:00
ThatOneCalculator
4e843f2949
fix: 🛂 no longer need 2fa for webauthn 2023-04-01 21:04:22 -07:00
Kaitlyn Allan
a3fa0a2f9c Clarify variable names 2023-04-01 22:49:14 +10:00
Kaitlyn Allan
b96fe57793 Improve performance of charts
Fix some undefined !== deleted issues
2023-04-01 21:42:03 +10:00
ThatOneCalculator
acfc88389a
formatting 2023-03-30 19:10:03 -07:00
ThatOneCalculator
12769bd1ab
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
c58ce6c53b 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
09aeb6e2f5
nyaa 2023-03-30 17:31:29 +02:00
Cleo
a3c0d56600 „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
50aa4667bb
temporary set import limit to infinity for debug 2023-03-29 19:16:39 +02:00
cutestnekoaqua
d5c80e74de
feat: experimental post import 2023-03-28 23:33:16 +02:00
ThatOneCalculator
5b575c67ed
fix? 2023-03-24 13:14:41 -07:00
ThatOneCalculator
434e2f24e9
feat: post metadata uses full @
Closes #9660
2023-03-23 18:03:50 -07:00
ThatOneCalculator
f80dcca6d5
feat: masto api add display name 2023-03-23 16:16:27 -07:00
cutestnekoaqua
4714e966f1
Masto api :) 2023-03-22 17:43:05 +01:00
cutestnekoaqua
30bc16daba
allow client credentials not just for tapbots 2023-03-22 14:40:59 +01:00
ThatOneCalculator
43bca8ed38
validate blank messages on backend 2023-03-19 20:03:49 -07:00
Kaitlyn Allan
1b134467ed Fix error saving drive file caption > 512 chars 2023-03-19 20:06:24 +10:00
ThatOneCalculator
749117a2ce
cli images 2023-03-19 02:33:44 -07:00
ThatOneCalculator
0fa22b8598
fix cli more 2023-03-19 02:08:08 -07:00
ThatOneCalculator
2dcf88b732
feat: spruce up CLI 2023-03-19 01:59:33 -07:00
Kaity A
706b4ae602 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
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
cutestnekoaqua
025f149440
pass auth to metadata 2023-03-18 13:06:49 +01:00
cutestnekoaqua
04c1b395b4
fix: intermediarily convert ids 2023-03-18 12:23:03 +01:00
cutestnekoaqua
624d3c399f
add 404 as replacements 2023-03-18 12:09:43 +01:00
fruye
1239db9ac8 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
fcbee6d3f5 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
e198a34cd0 Small fix to Masto ID conversion code 2023-03-13 00:44:38 -04:00
Luna
7236aa4a3a Sorta kinda handle client_credentials auth flow 2023-03-11 23:19:17 -05:00
Luna
c81d6ecc1e
Proxy object IDs for Mastodon API to prevent Calckey ID format incompatibilities 2023-03-11 16:02:35 -05:00
Luna
e2ebe83238
Convert limit parameter to int for certain Mastodon account endpoints 2023-03-11 16:02:35 -05:00
Luna
b7ffa05848
Enable multipart for masto oauth endpoints to fix Ivory 2023-03-11 16:02:35 -05:00
Kaity A
a432661e3c Expand caption limit to 1500 characters 2023-03-05 16:51:44 +10:00
cutestnekoaqua
980d447561
parse full multipart data to media endpoints 2023-03-01 15:53:40 +01:00
cutestnekoaqua
c74f4942d3
fix import 2023-03-01 15:07:35 +01:00
cutestnekoaqua
548381734a
some quick fixes 2023-03-01 15:04:01 +01:00
Cleo John
7ffd99497c fix errors 2023-02-28 17:38:48 +01:00
Cleo John
05acb51da2 more mastodon work 2023-02-28 17:23:04 +01:00
CutestNekoAqua
19d84a73ac aa 2023-02-23 17:38:18 +01:00
CutestNekoAqua
0be450d95f meow? 2023-02-23 17:20:34 +01:00
CutestNekoAqua
41d696c6ca maybe buffer? 2023-02-23 17:13:35 +01:00
CutestNekoAqua
91df15209a this is the sign I need a break 2023-02-23 17:07:49 +01:00
CutestNekoAqua
1728419130 move file upload to new router 2023-02-23 17:02:02 +01:00
CutestNekoAqua
cc44cc9da7 oh ich hab verkackt 2023-02-23 16:57:21 +01:00
CutestNekoAqua
2dbbd1d39d use multer upload instead 2023-02-23 16:55:38 +01:00
CutestNekoAqua
2c6368afc4 update thingy? 2023-02-23 16:42:57 +01:00
CutestNekoAqua
8dd610a6a1 lol 2023-02-23 16:34:16 +01:00
CutestNekoAqua
37d6039c1e fixed what ever calc did here, masto app didnt 2023-02-23 16:32:21 +01:00
CutestNekoAqua
3281b194e4 ?? 2023-02-23 16:26:33 +01:00
CutestNekoAqua
726e469e23 await the instance meta 2023-02-23 16:12:53 +01:00
CutestNekoAqua
bb27ce997e import config 2023-02-23 15:58:54 +01:00