Commit Graph

716 Commits

Author SHA1 Message Date
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
CutestNekoAqua 42a0c1b4a1 import multer 2023-02-23 15:55:28 +01:00
CutestNekoAqua d0a3c2c2b7 remove not needed middleware handlers 2023-02-23 15:46:12 +01:00
CutestNekoAqua f5537af8a1 aaa 2023-02-23 00:31:14 +01:00