Commit graph

1362 commits

Author SHA1 Message Date
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
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
f0a2d368a3
foundkey-js: use re-export syntax 2022-09-10 02:05:56 -04: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
c33655bc4f backend: fix table name used in toHtml 2022-09-08 17:14:23 +00:00
55d20a72b7
backend: add types and use named exports for daemons 2022-09-08 01:33:47 -04: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
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
f94ed5e8a6 foundkey-js: remove room api endpoints
Changelog: Removed
2022-09-07 08:30:28 +00:00
7b4ebd2715 backend: remove room data from user
Rooms were remove a while back in upstream Misskey. This removes the
associated data left over in the database.

Changelog: Removed
2022-09-07 08:30:28 +00:00
f51f900115 Merge pull request 'sw: Remove fetch handler from service worker' (#116)
Reviewed-on: FoundKeyGang/FoundKey#116
Changelog: Fixed
2022-09-07 08:10:06 +00:00
026941ce77 sw: Remove fetch handler from service worker
In current state, service worker overloads every "connection error"
kind of reaction to a plaintext 200 saying "Offline.", which leads
to terribly undebuggable situations as the browser decides to cache
this as an image, and then someone's pfp is broken literally
forever unless you Ctrl+Shift+R every time you reload frontend.

This change removes the handler, because it is unclear how we even
benefit from it being there.
2022-09-06 23:24:23 +02:00
abef030a24 build: Move resolutions sections to workspace package.json
Yarn throws a warning on every `yarn install` that the resolutions
from respective packages' manifests are ignored.
2022-09-06 23:18:15 +02:00
5a9d4a3759
client: update dependencies
- Update Vue to 3.2.38
- Update Vite to 3.1.0
- Update cropperjs
2022-09-06 14:15:46 -04:00
a16d7d9dc2
foundkey-js: fix no-param-reassign lint in acct.ts 2022-09-06 11:36:21 -04:00
6e4dbc1053
sw: fix eslintrc
ESLint was throwing erroneous errors, likely because the parser wasn't
properly specified.
2022-09-06 11:23:46 -04:00
5939c90b84
update eslint plugins 2022-09-06 11:19:34 -04:00
6c256c5934 Merge pull request 'client: Fix style scoping in MkMention' (#113) from Michcio/FoundKey-0x7f:fix/mention-style-scoped into main
Reviewed-on: FoundKeyGang/FoundKey#113
Changelog: Fixed
2022-09-06 13:01:04 +00:00
fa69ab5945 client: Fix typo in media caption code 2022-09-06 14:07:42 +02:00
6b289915ef client: Fix style scoping in MkMention
isMe class wasn't applying properly, because the use was not scoped
while the definition was scoped (and thus renamed to isMe_fksljfs).
2022-09-06 13:56:54 +02:00
5fb294e7d7
Use native shell commands for clean/clean-all 2022-09-05 04:43:40 -04:00
40683b0e10
update tsc-alias 2022-09-05 04:28:08 -04:00
d23b5faeda
foundkey-js: update tsd dependency 2022-09-05 03:20:53 -04:00
892ea5e2bf
upgrade eslint and typescript-related dependencies
Changelog: Changed
2022-09-05 03:15:16 -04:00
19f8f095c7
client: add return types to functions 2022-09-04 19:31:11 -04:00