Commit graph

1515 commits

Author SHA1 Message Date
ab84457c0e
client: use new API 2022-09-21 17:54:15 +02:00
7ea052aa25
backend: set moduleResolution to Node16 in tsconfig
This lets us catch any import errors in the backend as it now lines up
with Node's ESM module resolution.
2022-09-21 11:33:57 -04:00
321bd24b98
api: handle muting notification types 2022-09-21 15:52:34 +02:00
58aa7d36aa
refactor: use noteNotificationTypes 2022-09-21 15:52:34 +02:00
35fd970c4a
add column: muted types in thread 2022-09-21 15:52:14 +02:00
26449d4944
backend: fix ApiError lints 2022-09-21 13:34:36 +02:00
78fd2ee38b
Merge branch 'backend-translate-source-lang'
Reviewed-on: FoundKeyGang/FoundKey#160
2022-09-20 23:55:21 -04:00
a0e859ebcb
client: Make MFM cheatsheet interactive again
This reverts commit 9f0f5d1ab1.

Commit cb87d03fe9 made the preview_*
variables const and non-reactive likely by accident, which resulted in
build errors and the examples no longer interactive.

This makes the preview variables reactive, allowing the examples to be
interactive once again.

Changelog: Fixed
2022-09-20 14:13:37 -04:00
9f0f5d1ab1 client: Fix rollup error "This assignment will throw"
Mfm cheat sheet was using constants in v-model.
I additionally set the textareas to readonly because now the
examples don't pretend to be interactive anymore.
2022-09-20 12:48:46 +02:00
8446fa4fca
backend: fixup foundkey ascii logo formatting in base template 2022-09-19 22:53:39 -04:00
2628f35012
client: fix lints in scripts/hotkey.ts 2022-09-19 18:49:59 -04:00
ee46d32602
client: refactor folder.vue to composition api 2022-09-19 22:42:23 +02:00
17f3dafd6b
client: bring targetLang into correct format
Now that stricter API validation has been added, it will be necessary
to modify the target language in the client so the API will not fail
with a validation error.
2022-09-19 22:20:50 +02:00
fab7cdb85c
client: re-add instance list to admin panel
closes FoundKeyGang/FoundKey#162
2022-09-19 21:33:11 +02:00
d5d8affc33 backend: allow for source lang to be overridden in note/translate
This adds a new optional `sourceLang` parameter to the `notes/translate`
endpoint. If not set, the old behaviour is used, else this sets the
`source_lang` parameter to the DeepL API call which makes it use the
source language specified instead of using autodetection.

Changelog: Changed
Ref: FoundKeyGang/FoundKey#33
2022-09-19 14:57:20 +00:00
d8a8306603 client: Sort emojis by query similarity in fuzzy picker (#156)
Co-authored-by: Chloe Kudryavtsev <code@toast.bunkerlabs.net>
Co-authored-by: Michcio <public+git@meekchopp.es>
Reviewed-on: FoundKeyGang/FoundKey#156
Changelog: Changed
Co-authored-by: Michcio <michcio@noreply.akkoma>
Co-committed-by: Michcio <michcio@noreply.akkoma>
2022-09-19 14:43:12 +00:00
d5b0100d31
fix: add missing import for XValue 2022-09-19 15:11:59 +02:00
7b7d4f5467
Allow files storage path to be set explicitly
Also added to the example config file - Johann150

Co-authored-by: Johann150 <johann.galle@protonmail.com>
Changelog: Added
2022-09-19 11:54:24 +02:00
f0b91a62c9
fix HTTP GET parameters in OpenAPI docs
HTTP GET parameters are not to be specified in the requestBody but in
the parameters. This commit fixes that although admittedly it is kind
of a bodge and not perfect, but it is a start.

Changelog: Fixed
2022-09-19 10:54:23 +02:00
668181fb44
refactor: token-generate-window.vue to composition api 2022-09-18 21:12:35 +02:00
26396f9900
client: Refactor gallery-post-preview.vue to composition API
Reviewed-on: FoundKeyGang/FoundKey#154
2022-09-17 23:09:11 +02:00
790740ab2c
improve translation: document -> documentation 2022-09-17 22:59:39 +02:00
1e9e1e8b9c
fix loading max emoji count when unlimited 2022-09-16 17:25:05 +02:00
bcb93aec14
client: make emoji amount slider more intuitive
Changelog: Changed
2022-09-16 17:21:09 +02:00
75901301e2
client: fix typo in about.vue 2022-09-15 18:58:04 -04:00
de8f2b3c63
foundkey-js: add bannerUrl to LiteInstanceMetadata 2022-09-15 18:57:49 -04:00
5814825c91
client: fix various lints 2022-09-15 18:56:05 -04:00
4da09fc9fb
foundkey-js: update LiteInstanceMetadata fields
Ads were removed in #5, and some client components need the
icon/favicon URLs.

Changelog: Changed
2022-09-15 18:55:46 -04:00
d1a29ce87e
Merge branch 'feat/default-note-visibility'
Reviewed-on: FoundKeyGang/FoundKey#67
2022-09-15 17:43:35 -04:00
106e14700f
client: include renote in visibility computation
Changelog: Changed
2022-09-15 17:42:04 -04:00
17fa488eb9
refactor: move visibility computation to foundkey-js
Changelog: Changed
2022-09-15 17:39:51 -04:00
d434343a09
client: fix default-selected reply scopes
As a side-effect, I remove the broken "remember privacy scope" setting.

Co-authored-by: Johann150 <johann.galle@protonmail.com>
Changelog: Fixed
2022-09-15 17:38:00 -04:00
a932f91c04
client: improve error message for empty gallery posts
closes FoundKeyGang/FoundKey#153

Changelog: Fixed
2022-09-15 22:01:16 +02:00
cf24cd8809
client: remove @vue/compiler-sfc from package.json
Per the @vue/compiler-sfc description on npmjs.com[1]:
> Note: as of 3.2.13+, this package is included as a dependency of the
> main vue package and can be accessed as vue/compiler-sfc. This means
> you no longer need to explicitly install this package and ensure its
> version match that of vue's. Just use the main vue/compiler-sfc deep
> import instead.

[1]: https://www.npmjs.com/package/@vue/compiler-sfc
2022-09-14 23:39:57 -04:00
4d01ece286
refactor: fix remaining lints in backend daemons 2022-09-14 10:40:04 -04:00
846ca03a7c
client: refactor sidebar-for-mobile.vue to composition api 2022-09-14 12:02:18 +02:00
f4b9244a88
client: refactor sparkle.vue to composition api 2022-09-14 10:54:50 +02:00
Chloe Kudryavtsev
2e8e475f32
client: remove ai mode
Changelog: Removed
2022-09-14 10:48:54 +02:00
63f47ada04 Merge pull request 'client: refactor info.vue to composition api' (#131) from refactor/client-info.vue into main
Reviewed-on: FoundKeyGang/FoundKey#131
2022-09-14 04:34:02 +00:00
3cbdac7621 Merge pull request 'chore: Change Misskey references to Foundkey' (#142)
Reviewed-on: FoundKeyGang/FoundKey#142
Changelog: Changed
2022-09-13 21:20:12 +00:00
e507b1b888 backend: localize strings for service integrations
Currently only the 'connected' and 'disconnected' strings are translated.
2022-09-13 17:18:18 -04:00
f4ee76d017
client: default instance ticker name to instance's domain name
Changelog: Fixed
2022-09-13 20:22:10 +02:00
57f4312a27
chore: Change Misskey references to Foundkey
Also remove the contributors list from about-foundkey (renamed from
about-misskey).

Some comments that referenced Misskey were also translated to English.

Closes: FoundKeyGang/FoundKey#141
2022-09-13 13:19:36 -04:00
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
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
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
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
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
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
db5019d3ec
client: fix various lints
Mostly removing unused imports and adding function return types
2022-09-04 15:42:07 -04:00
13ce1f0d4e backend: Fix async types in boot 2022-09-04 11:24:04 +02:00
d1f3353771
client: fix various lints 2022-09-03 22:14:30 -04:00
6c4655693e
auto-fix lints with eslint 2022-09-03 21:56:57 -04:00
500c0be179 client: fix alt text for non-image files
Reviewed-on: FoundKeyGang/FoundKey#106
Changelog: Fixed
2022-09-03 23:37:28 +00:00
039f6db40a
client: consolidate about & notifications pages
Reviewed-on: FoundKeyGang/FoundKey#104
Changelog: Changed
2022-09-04 00:30:02 +02:00
00c8eff611
Client: alt text dialog properly handles non-images
Changelog: Changed
2022-09-04 00:07:41 +02:00
525c8391a6
rename prop: image -> file 2022-09-03 23:56:41 +02:00
892a900aee
remove dead code 2022-09-03 17:55:54 -04:00
e1ebd1f75f
revert tsconfig declaration to false 2022-09-03 17:50:33 -04:00
74ee7c84d6
make defult about page tab 'overview' if invalid 2022-09-03 17:39:55 -04:00
29e3d8175f
make tab default to 'all' if not valid 2022-09-03 17:31:14 -04:00
c04b34ba67
Enable incremental builds 2022-09-03 15:37:54 -04:00
f0ba8d1877
Make mentions and direct notes accessible via url fragments 2022-09-03 15:15:42 -04:00
f2ebf77ab1
re-add federation and emojis to menu 2022-09-03 15:15:30 -04:00
9e0936284c
Re-add in mentions and direct notes to menu 2022-09-03 14:29:55 -04:00
syuilo
018aa6381d
enhance(client): メニュー整理
Resolve #6389
Fix #8035
2022-09-03 14:13:08 -04:00
5e320e49ab
client: improve emoji picker search
Reviewed-on: FoundKeyGang/FoundKey#101
Changelog: Added
2022-09-03 16:37:20 +02:00
89f26173c3
client: fix fetching value in photos.vue 2022-09-03 00:20:26 -04:00
8f775defaf
client: fix lints in photos.vue 2022-09-03 00:19:02 -04:00
2ed46aaebb
fix: check visibility when serving Like activity 2022-09-02 14:34:32 +02:00
375323bc25
update parameter type and docs 2022-09-02 14:28:55 +02:00
0c5869805a
fix type typo 2022-09-02 09:36:31 +02:00
ed8e346ff9 client: delay/batch emoji picker searches
This is particularly important for users that set limit to 0 (unlimited).
2022-09-01 13:38:07 -04:00
33ed6e98a7 client: make emoji picker suggestion count configurable 2022-09-01 13:20:20 -04:00
538e81db56 client: optimize, simplify and smartify emoji picker search
The query is split up on spaces, and we search for each of those terms,
in order, anywhere in the emoji name or any aliases/keywords.

This is done in a single filter pass against a compiled regex,
making the process reasonably performant.
Based on rough estimates, it should be between 2 and 5x faster
than the old implementation, depending on several factors.

There is a natural space left in to sort by relevancy (not done yet).
It should also be easy to make the number of matches shown configurable.
The number of matches is relevant, especially pre-sort.
Another consideration is to delay the calculation by up to 300ms.
2022-09-01 08:21:43 -04:00
b2625cbafc
foundkey-js: update and translate README 2022-08-31 19:18:56 -04:00
c5cf19cc20 fix build 2022-08-31 13:40:41 -04:00
58ecb72b82 fix typo in url-preview-popup 2022-08-31 12:30:04 -04:00
c1530fe9e5
refactor url-preview-popup to composition API 2022-08-31 14:53:17 +02:00
b712623aa4
fix lints in post-form-attaches and drive.file 2022-08-31 07:01:03 -04:00
157eab2dee
foundkey-js: make DriveFile.comment nullable
There's a few places in the client code that checks for a null comment,
suggesting this field may be set to null.
2022-08-31 06:55:31 -04:00
9a22905e85
client: refactor classic.header.vue to composition api 2022-08-30 16:45:53 -04:00
20f45e0179
client: refactor user-preview to composition api 2022-08-30 18:08:55 +02:00
2669fc4380
pin dependencies 2022-08-29 20:36:01 -04:00
97b9a00105
security: update dependencies
- file-type: 17.1.2 -> 18.0.0
- got: 12.1.0 -> 12.3.1
- sharp: 0.29.3 -> 0.30.7
2022-08-29 20:33:40 -04:00
12c811514d
client: refactor page-preview to composition api 2022-08-29 16:07:34 -04:00
14b90668b9
merge: use separate component for birthday dates
FoundKeyGang/FoundKey#92
2022-08-29 07:35:36 +02:00
9f3d5a7aad
foundkey-js: document change to es modules 2022-08-28 17:17:40 -04:00
50f8c6e751
foundkey-js: fix mislabeled changes in changelog 2022-08-28 17:11:13 -04:00
98d6fc216c
foundkey-js: Update changelog to Keep a Changelog format 2022-08-28 17:07:56 -04:00
6315ebc45b
fix: vue/attributes-order lint in instance-ticker 2022-08-28 16:52:13 -04:00
b50c1d145a
foundkey-js: remove old contributing guide 2022-08-28 15:42:07 -04:00
1d380ae344
use i18n.t instead of $t 2022-08-28 15:38:49 -04:00
b66ae3847b
refactor: use separate component for birthday dates
Resolves: FoundKeyGang/FoundKey#90
2022-08-28 15:27:39 -04:00
218c3a527d
merge: improve emoji picker UI performance 2022-08-28 19:22:35 +02:00
0fd89e3ab7
remove unneeded files from foundkey-js 2022-08-28 18:32:45 +02:00