Commit graph

21523 commits

Author SHA1 Message Date
Johann150 6583c3a2be
add oauth documentation 2022-11-27 11:30:34 +01:00
Johann150 51f1bbf54c
server: handle invalid URLs in comparison 2022-11-26 16:45:09 +01:00
Johann150 f43be69035
server: implement OAuth discovery (RFC 8414) 2022-11-26 16:45:09 +01:00
Johann150 e76cafdc6e
implement OAuth PKCE
This implements Proof Key for Code Exchange a.k.a. RFC 7636.
2022-11-26 16:45:08 +01:00
Johann150 0d3f67ba09
check redirect URIs 2022-11-26 16:45:08 +01:00
Johann150 51a4e7fb53
server: allow to grant tokens with more restricted privileges
This also simplifies API authentication a bit by not having to fetch
the App that is related to a token.

The restriction of 1 token per app is also lifted. This was not a
constraint in the database but it was enforced by the code and
kinda wrong schema the auth_session table had.
2022-11-26 16:45:06 +01:00
Johann150 54320af4b3
docs: read scope descriptions from locale strings 2022-11-26 16:41:40 +01:00
Johann150 c2493a7326
client: fix auth page layout
This also includes better rendering when no permissions are requested.

Also removed the app's id from the page as it makes no sense to show
this to a user.

Changelog: Fixed
2022-11-26 16:41:40 +01:00
Johann150 2144c9aa27
server: add missing auth/deny endpoint
This endpoint is hinted at in the client, but is not actually defined
in the backend. This commit defines it.
2022-11-26 16:41:40 +01:00
Johann150 ddad1edbd1
expire AuthSessions after 15 min 2022-11-26 16:41:39 +01:00
Johann150 a868bc4411
update OpenAPI docs to OAuth 2022-11-26 16:41:39 +01:00
Johann150 d3f2e13b27
add API route for OAuth access token retrieval 2022-11-26 16:41:39 +01:00
Johann150 f670de1a29
make authorization token granting OAuth 2.0 compatible
This is basically a shim on top of the existing API.
Instead of the 3rd party, the web UI generates the authorization session.

The data that the API returns is slightly adjusted so that only one
API call is necessary instead of two.
2022-11-26 16:41:38 +01:00
Johann150 6de3771943
meta: add mailmap to merge authors 2022-11-26 16:32:52 +01:00
Johann150 f9ba3ab996
client: fix undefined variable when searching for handle 2022-11-26 16:26:38 +01:00
Johann150 d0c504ec85
server: fix unknown variable in signin endpoint 2022-11-25 19:09:08 +01:00
Johann150 062cba1b3c
server: fix undefined variable for instance actor 2022-11-25 19:05:37 +01:00
Norm c7255dbea0
Update dockerfile to node 18.12.1 2022-11-25 02:07:21 -05:00
Norm f817d45210
update eslint and typescript-eslint 2022-11-25 02:07:21 -05:00
Norm b67799ad3f
BREAKING: Remove support for Node 16.x and upgrade to TypeScript 4.9
Now that Node 18 is the new LTS version of Node, it should be safe to
support ES2022 features. The install docs have already been updated to
recommend Node 18.x in 41a710854e.

This will break support on Node 16.x and earlier.

Also update TypeScript to 4.9 which contains various typechecking
improvements: https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/

Ref: FoundKeyGang/FoundKey#238
Changelog: Changed
2022-11-25 02:07:21 -05:00
@m33@pasta.ga 7f4117371a Translated using Weblate (French)
Currently translated at 98.3% (1363 of 1386 strings)

Co-authored-by: m33 <m33_akkomadev@tok715.net>
Translate-URL: http://translate.akkoma.dev/projects/foundkey/foundkey/fr/
Translation: Foundkey/foundkey
2022-11-25 06:52:59 +00:00
Norm 2b71328c6c
meta: Update to Yarn 3.3.0 2022-11-22 01:07:12 -05:00
Johann150 7ee6a09cf2
fix errors from quote string removal
The parse5 tree does not have the full DOM methods and attributes.
2022-11-21 19:43:56 +01:00
Weblate 0f6cf83add Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://translate.akkoma.dev/projects/foundkey/foundkey/
Translation: Foundkey/foundkey
2022-11-20 22:15:47 +00:00
Johann150 9e2553909e
server: use time constants 2022-11-20 23:15:40 +01:00
Johann150 66a7c62342 activitypub: remove akkoma quote URLs
Changelog: Fixed
2022-11-20 20:48:15 +00:00
Norm 512351746f Merge pull request 'Add LibreTranslate support' (#224) from libretranslate into main
Reviewed-on: FoundKeyGang/FoundKey#224
Changelog: Added
2022-11-20 16:21:17 +00:00
hayabusa 19ee132930
client: files in some states could not be dropped and uploaded
* Fixed association between dropEffect and effectAllowed as well as the submission form
* Fixed that strings can be dropped

Reviewed-on: https://github.com/misskey-dev/misskey/pull/9114
Changelog: Fixed
2022-11-20 16:17:26 +01:00
Johann150 3c4302cf3b
client: close webhook settings page automatically
Changelog: Fixed
2022-11-20 12:33:04 +01:00
Johann150 e59706e36f
client: delete webhooks
Changelog: Added
2022-11-20 12:29:17 +01:00
Johann150 0e0411f9e0
client: fix editing webhooks
Co-authored-by: hayabusa <s.hashimoto@hs-sh.net>
Changelog: Fixed
2022-11-20 11:41:21 +01:00
kabo2468 b7f32be512
server: don't nyaize quoted lines
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Changelog: Changed
2022-11-20 11:15:03 +01:00
Johann150 aefb11959f
fix: translator settings on admin/meta endpoint 2022-11-20 10:37:50 +01:00
Norm 3deec7d30a
docs: make yarn required in install guide
Since the move to Yarn workspaces in
10caf861e8, the package.json scripts rely
on Yarn being available to function properly due to the use of
workspaces.

Because of this, Yarn has basically been required to be able to properly
set up and run FoundKey. Using `npx yarn` probably won't work anymore
with modern yarn versions.
2022-11-19 23:22:11 -05:00
Norm cfe0f3ca67
client: Add LibreTranslate support
This adds a new "Translation Settings" page to the admin interface where
the admin can configure the instance's translation settings. The
existing settigns for DeepL translation settings will now be located in
that page alongside the new LibreTranslate stuff.

Also made the translation service settings localizable, which funnily
enough was not already the case.
2022-11-19 23:00:33 -05:00
Norm 8cde66b8ac
backend: Add LibreTranslate support 2022-11-19 23:00:33 -05:00
Norm 4952e29ac8 Merge pull request 'client: improve search' (#244) from search into main
Reviewed-on: FoundKeyGang/FoundKey#244
2022-11-20 03:54:30 +00:00
Johann150 d02a51525f
client: improve account deletion question
The message may be confusing when used by an adminstrator because it
said "your account".
2022-11-19 20:24:28 +01:00
Johann150 47b0e292ef
clean up unused query parameters from router 2022-11-19 19:44:05 +01:00
Johann150 33e09b9901
client: remove user search from explore page
User search is now located on the general search page.
Also cleaned up other unused code.

Changelog: Removed
2022-11-19 19:34:25 +01:00
Johann150 a7f3133f89
client: search page for notes and users
This replaces the previous search box and allows for more narrowed
down searches.

Changelog: Added
2022-11-19 19:28:19 +01:00
Johann150 d86f826458
client: remove scripts/search 2022-11-19 19:21:06 +01:00
Johann150 7ffe2181a9
server: use host parameter in note search without elasticsearch
Changelog: Fixed
2022-11-19 17:33:27 +01:00
Johann150 4183c429e6
server: rewrite skipped instances query in raw SQL
This should hopefully improve performance somewhat.

Reviewed-on: FoundKeyGang/FoundKey#230
Changelog: Changed
2022-11-18 22:02:47 +01:00
Norm acdb4cde54 Update copyright info
- Add copyright for FoundKey cotributors
- Replace Misskey reference with FoundKey
2022-11-18 20:43:58 +00:00
Norm e1def3ae9e
client: fix federate blocks option not showing 2022-11-18 15:11:11 -05:00
Johann150 41a710854e
docs: update install guide to node 18
Node.js 18 is not technically required yet but it makes sense to
already recommend the newer version for new installs.

Ref: FoundKeyGang/FoundKey#238
2022-11-18 20:59:14 +01:00
Johann150 28aa440bcc
server: correctly await promises when updating server info
When not awaiting promises, truncating the table and inserting again
can sometimes not work due to race conditions.
2022-11-18 20:52:19 +01:00
Johann150 508cb00147
client: fix drive upload
Using `addFile` here will add the file twice because the file is
also added through the streaming API handler.
2022-11-18 20:17:42 +01:00
Norm 71b3b5a60c backend: implement not forwarding block activities (#212)
Fixes FoundKeyGang/FoundKey#211

Commits pulled from https://github.com/misskey-dev/misskey/pull/7799

Changelog: Added
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Co-authored-by: Johann150 <johann.galle@protonmail.com>
Co-authored-by: Francis Dinh <normandy@biribiri.dev>
Reviewed-on: FoundKeyGang/FoundKey#212
2022-11-17 21:24:38 +00:00