Commit graph

21194 commits

Author SHA1 Message Date
2c24f8a9ef backend: make toHtml tests async
PRs #84, #134, and #136 changed toHtml to be async, but the test was not
updated to reflect that.
2022-09-13 15:20:25 +00:00
9b7a0b574e
update foundkey-js readme 2022-09-13 17:17:47 +02:00
677c1df597
rename foundkey-js imports to foundkey 2022-09-13 17:17:46 +02:00
fbe3972bc6
docker: add built foundkey-js files to container
Changelog: Fixed
2022-09-13 09:42:41 -04:00
9d15b7b5a2 Merge pull request 'foundkey-js: Sync possible endpoints from backend' (#149) from Michcio/FoundKey-0x7f:fkjs/endpoints-sync into main
Reviewed-on: FoundKeyGang/FoundKey#149
Changelog: Changed
2022-09-12 18:42:46 +00:00
193674ce03 Merge pull request 'backend: increase requestId max size for GNU Social' (#147) from fix/gnusocial-follow-request-ids into main
Reviewed-on: FoundKeyGang/FoundKey#147
Fixes: #146
Changelog: Fixed
2022-09-12 17:48:37 +00:00
7ceb96b148
limit id length of all incoming activities 2022-09-12 18:30:53 +02:00
1120b6959d
backend: increase requestId max size for GNU Social
GNU Social's follow request IDs are larger than the 128 character limit
of the follow_request.requestId column. This prevents follow requests
from GNU Social instances from being handled by Foundkey instances.

The solution is to make the requestId column larger.

Fixes FoundKeyGang/FoundKey#146
2022-09-12 11:38:55 -04:00
64f7a52d1a
client: Extend Emoji list
Add @Johann150 's patch from Misskey-Extras:
> Adds the "pudding" synonym to the custard emoji, and also newly adds regional indicator emojis to the list. These are displayed as letters if alone. Note that these become the national flags if put next to each other, so the behaviour might be confusing to some people.

Co-authored-by: Johann150 <johann.galle@protonmail.com>
Reviewed-on: FoundKeyGang/FoundKey#148
Changelog: Added
2022-09-12 10:52:59 +02:00
7854abb741
remove unusable setting to send error reports
Changelog: Removed
2022-09-12 10:37:59 +02:00
406be6b213
chore: remove title_float.svg
This was only being used in the old README.
2022-09-11 19:39:23 -04:00
09818f425c
add note about selecing specific columns 2022-09-11 22:01:42 +02:00
515957ee74
render HTML mentions correctly
Reviewed-on: FoundKeyGang/FoundKey#145
Changelog: Fixed
2022-09-11 21:39:49 +02:00
a2fad7ce61
backend: fix mentionedUsers and userInfo queries
Turns out `getMany` doesn't work with the specific query used, so use
`getRawMany` instead.

Also fixup the predicate used in userInfo to use the correct field
names.
2022-09-11 15:28:35 -04:00
syuilo
4b3cf7834b
server: ensure only own notifications can be marked as read
Exploiting this before should already have been rather difficult because you
would need to know or guess the notification's ID. It is also of relatively
low security impact.

Changelog: Fixed
2022-09-11 20:52:38 +02:00
c926b4fbcc Merge pull request 'backend: Fix appendChildren TypeError' (#136) from fix/backend-to-html-typeerror into main
Reviewed-on: FoundKeyGang/FoundKey#136
Changelog: Fixed
2022-09-11 18:31:22 +00:00
9bcc247421
backend: Fix appendChildren TypeError
In #134, the mention `MfmNode` handler was made async to allow the
mentionedUsers query to be used there. This however changed the return
type of that handler to be a `Promise`, causing a `TypeError` in
`appendChildren`.

This fixes the `TypeError` by making every handler and the `appendChildren`
function also async and awaiting on the processed children.

This also attempts to fix the types issue with handlers by casting to
the newly defined `HandlerFunc` type instead of to `any`.
2022-09-11 14:29:37 -04:00
d9f443c6c1 client: refactor radio.vue to composition api 2022-09-10 18:04:40 +00:00
8d5966c0bc
backend: add return types to load.ts functions 2022-09-10 13:52:23 -04:00
ebc4daa6c2
refactor: number-diff.vue to composition api 2022-09-10 12:25:58 -04:00
70c12158f7 Merge pull request 'backend: add types and use named exports for daemons' (#127) from fix/backend-daemons-types into main
Reviewed-on: FoundKeyGang/FoundKey#127
2022-09-10 14:23:30 +00:00
d65b073192 foundkey-js: Sync possible endpoints from backend
I noticed while trying to pick up work on mkbread on a train that the
translate endpoint was missing so here it is now.

I just copy-pasted the list of endpoints in the order that they were
in in the backend and copied back the existing type annotations.
It doesn't feel reasonable to invest more time in the typings if
we might have a chance at creating the one-source-of-truth elseway.
2022-09-10 12:43:19 +02:00
f0a2d368a3
foundkey-js: use re-export syntax 2022-09-10 02:05:56 -04:00
12bc89b7ce Merge pull request 'foundkey-js: fix build errors' (#135) from fix/foundkeyjs-build-errors into main
Reviewed-on: FoundKeyGang/FoundKey#135
2022-09-09 23:08:29 +00:00
dde6f5eb55
foundkey-js: fix build errors
The use of `"moduleResolution": "Node16"` is to make TS use the same
module resolution as Node does when using ESM modules.

`reconnecting-websocket`'s TS definition files were copied over but
wrapped in a `declare module` block to make TS properly accept
using the default import directly without using `.default`.

I also decided to look into `autobind-decorator`'s source code and
figured that I could use the `boundMethod` annotation directly instead
of using the `autobind` default export.
2022-09-09 00:08:21 -04:00
9a34e0b2b1
build: update typescript and related packages 2022-09-08 23:00:36 -04:00
3d789c8251
update vue to 3.2.39 2022-09-08 21:52:45 -04:00
dde4086811
fix(foundkey-js): use default import for eventemitter3 2022-09-08 21:06:38 -04:00
674f91109f
foundkey-js: add remaining file extensions to local imports 2022-09-08 21:00:57 -04:00
106c643f85
foundkey-js: use file extensions in imports
Technically, ESM modules require imports to include file extensions.

For whatever reason this didn't seem to be required when importing into
the client, but it does seem to be required for use in the backend.
2022-09-08 20:51:41 -04:00
f50b31b847 Merge pull request 'backend: move mentionedUsers query to mention handler' (#134) from fix/backend-toHtml-mentionedUsers into main
Reviewed-on: FoundKeyGang/FoundKey#134
2022-09-08 22:07:45 +00:00
199622b415
add check if ids.length > 0 before executing query 2022-09-08 17:47:23 -04:00
714ce60980 Merge pull request 'backend: fix types in boot/{master, worker}.ts' (#128) from fix/backend-boot-types into main
Reviewed-on: FoundKeyGang/FoundKey#128
2022-09-08 21:29:01 +00:00
29c7e7e859
backend: fix types in boot/{master, worker}.ts 2022-09-08 17:28:15 -04:00
42132963cf
refactor(backend): remove types.ts in favour of foundkey-js 2022-09-08 23:27:25 +02:00
aa62c1d7a7
refactor(backend): use foundkey-js constants 2022-09-08 22:27:27 +02:00
19e29c3465
backend: move mentionedUsers query to mention handler
The mentionedUsers query was being run on every post, regardless of
whether a mention was in it or not.

This resulted in an SQL query ending in `WHERE userId IN ()` which is
not allowed in PostgreSQL.

Reference: FoundKeyGang/FoundKey#132
Changelog: Fixed
2022-09-08 16:17:35 -04:00
736c21a80a Merge pull request 'backend: fix table name used in toHtml' (#133) from fix/backend-toHtml into main
Reviewed-on: FoundKeyGang/FoundKey#133
Changelog: Fixed
2022-09-08 18:18:07 +00:00
c33655bc4f backend: fix table name used in toHtml 2022-09-08 17:14:23 +00:00
c469a17623
client: refactor info.vue to composition api 2022-09-08 04:10:28 -04:00
55d20a72b7
backend: add types and use named exports for daemons 2022-09-08 01:33:47 -04:00
058d414fff docs: add migration guide
Includes tag-merge workflow from @toast 's post at
https://mk.toast.cafe/notes/93o9n4tfsi
2022-09-08 05:09:15 +00:00
4ad53f232a
backend: move @types/pg to devDependencies 2022-09-07 14:20:22 -04:00
0e49c726ec
backend: add @types/pg for pg type definitions 2022-09-07 14:19:03 -04:00
bd11b9d818
Revert "ci: combine install and lint/build tasks"
This reverts commit 759d031a5f.

This was originally to solve some issues with builds during the
workspace refactor in FoundKeyGang/FoundKey#86
but this didn't end up being the root cause, so it may actually be
better to split these tasks again.
2022-09-07 14:02:45 -04:00
f21e1afaa4
backend: fix query for mentionedUsers 2022-09-07 13:34:38 -04:00
ad73d01986
client: remove "Disable AiScript on Pages" setting
In #49, the AiScript functionality was removed from pages as they've
been simplified to a simple textarea.

This setting now effectively does nothing as a result.

Changelog: Removed
2022-09-07 13:07:03 -04:00
0d02914de4
client: fix lints in general.vue
Removed some unused variables and added return type to reloadAsk
2022-09-07 12:57:39 -04:00
7a981de883
refactor: remove note.mentionedRemoteUsers column
The column mentionedRemoteUsers on the note table in the database is
firstly in the wrong type since it contains JSON data but is typed as
text. Secondly it seems redundant, since that data can be acquired by
using the note.mentions column to fetch the respective data instead.

Co-authored-by: Francis Dinh <normandy@biribiri.dev>
2022-09-07 14:43:04 +02:00
3bdbbcadd9
adjust MFM to HTML conversion
Removed the misc/get-note-html module which was only used in one place.
Instead of it, the general MFM to HTML functionality has been improved to
take care of the use cases of that module as well.

Co-authored-by: Francis Dinh <normandy@biribiri.dev>
2022-09-07 14:42:39 +02:00