Commit graph

1675 commits

Author SHA1 Message Date
Norm f2f547172e
backend: improve documentation of pin/update functions 2022-10-16 18:06:22 -04:00
Norm f17485d8a2
backend: add type annotations to delete.ts 2022-10-16 17:14:30 -04:00
Norm 70eec26b74
bump versions in all package.json files 2022-10-16 11:46:12 -04:00
Chloe Kudryavtsev 811d5cd0d7 Merge pull request 'deliver Delete activities to all known instances' (#198) from deliver-delete-everyone into main
Reviewed-on: FoundKeyGang/FoundKey#198
2022-10-16 13:46:23 +00:00
Chloe Kudryavtsev d762143b89 backend: fixup missing deadTime and incorrect import 2022-10-16 09:32:01 -04:00
Chloe Kudryavtsev 21c1e5c06c backend: simplify suspended and dead queries
This should also have better latency due to being a single query.
Furthermore, it's no longer a linear scan, since host is indexed.
Would be cool to simplify it further to a single query for blocks also...
Why exactly are blocks not in the db?
2022-10-16 09:22:05 -04:00
Chloe Kudryavtsev 91a4f38871 backend: add automatic dead instance detection
It works by having a day-long cache of
"when did we last successfully communicate with this instance?"
Anything over a specified threshold (1 month) will act as though the instance
is suspended - all outgoing jobs are dropped on processing.
The day-long cache is in place because the ordering is necessarily a
linear scan.
Once an instance comes back online, we will detect that is the case as soon as
we receive an activity from them (which will update the "last communicated at")
field.

Potential future TODOs:
* Improve the caching system, it's actually pretty inefficient as it is.
  CacheBox with a call override?
* Think of ways to make it not-a-linear-scan, since the instances table can get
  pretty big. It's around 4500 on toast cafe.

ChangeLog: Added
2022-10-16 12:16:04 +00:00
Johann150 756ecbb1f7
fix type error 2022-10-16 04:20:11 +02:00
Johann150 48023a0814
add link to external CSS snippets 2022-10-14 17:11:06 +02:00
Johann150 8721e8844a
client: fix vue warning
> Invalid prop: type check failed for prop "modelValue". Expected String | Number, got Null
2022-10-14 16:55:37 +02:00
Johann150 4b98677141
client: add aliases for beverage box emoji
Every time I want to use it I had to figure out it's called a
"beverage box". And that happened often because I follow Tlapka.
2022-10-14 15:11:47 +02:00
Johann150 177f34b02e
client: remove unused ref 2022-10-12 20:59:26 +02:00
Johann150 79c70c1017
allow to export only selected emoji
Changelog: Added
2022-10-12 01:50:14 +02:00
Johann150 cb0b14ba2d
backend: allow to export only specific emoji 2022-10-12 01:49:53 +02:00
Johann150 7ea6deb19b
client: only show emoji as selected in select mode
When exiting select mode and emoji are selected, the green border was
still being displayed even after exiting select mode again.
2022-10-12 01:48:57 +02:00
Johann150 6d0cfe42f2
client: make hard coded strings in emoji admin panel internationalized
Changelog: Fixed
2022-10-12 01:36:53 +02:00
Johann150 7cd11e7afd
fix function name 2022-10-11 21:26:20 +02:00
Johann150 0b8fa2665c
use DISTINCT instead of GROUP BY
This should have better performance for large recordsets.

Ref: FoundKeyGang/FoundKey#198 (comment)
2022-10-11 20:15:59 +02:00
Johann150 421b42d07d
backend: send delete activity to all known instances
closes FoundKeyGang/FoundKey#190

Changelog: Added
2022-10-11 19:32:26 +02:00
Norm 9a503273fb Merge pull request 'refactor meta API endpoint' (#196) from refactor/api/meta into main 2022-10-11 17:20:51 +00:00
Norm 20a6140e9a Merge pull request 'backend: Cleanup prelude directory' (#199) from backend-cleanup-prelude into main
Reviewed-on: FoundKeyGang/FoundKey#199
2022-10-11 14:47:40 +00:00
Norm c29e24c103 client: Fix reports not showing in control panel
Closes: FoundKeyGang/FoundKey#194
Changelog: Fixed
2022-10-11 14:45:24 +00:00
Chloe Kudryavtsev 6d58d5ed3b fixup: muted-renotes review round 1 2022-10-11 10:42:39 +00:00
Chloe Kudryavtsev 897658c188 import publishUserEvent in mute renote APIs 2022-10-11 10:42:39 +00:00
Chloe Kudryavtsev 590a8b98d9 fixup renoteMuting stream filter being overzealous 2022-10-11 10:42:39 +00:00
Chloe Kudryavtsev dd5100d124 add streaming events for renotemuting and blocking 2022-10-11 10:42:39 +00:00
Chloe Kudryavtsev 3d9df839a5 add down-migration for renote mutes 2022-10-11 10:42:39 +00:00
Hélène c414f24a2c feat: per-user renote muting
Changelog: Added
2022-10-11 10:42:39 +00:00
Johann150 2c411d59f4
client: use cached instance information 2022-10-11 10:46:25 +02:00
Michcio 60600729df
backend: Fix import of sanitize-html
I'm not sure how it managed to work so far, but the function is the default
export, using the namespace like a function should not have worked,
maybe something under the hood was correcting it back
2022-10-11 10:41:50 +02:00
Norm 683b0cfa82
backend: remove unused prelude modules
Much of these modules are no longer used in the backend. They seem to be
from before the code was organized in packages.
2022-10-11 01:53:34 -04:00
Norm c65559872b
backend: add missing return type annotation in array.ts 2022-10-11 01:51:17 -04:00
Norm 02079593d5 client: Switch to upstream browser-image-resizer version
This should reduce package install times since the pre-built version
from npmjs is used instead of having to build from source.
2022-10-11 03:28:11 +00:00
Norm e8ed254e4d
client: fix types in tab.vue 2022-10-10 22:42:17 -04:00
Norm 08c65e9797
client: auto-fix lints in tab and page-header 2022-10-10 18:55:33 -04:00
Norm 13a3581817
Merge branch 'refactor/use-null-coalesce-etc'
Reviewed-on: FoundKeyGang/FoundKey#195
2022-10-10 18:44:19 -04:00
Johann150 808c43377e
refactor: use nullish coalescing & optional chaining
Changes several places to use the afforementioned constructs in favour of
ternary expressions.
2022-10-11 00:39:27 +02:00
Johann150 8920eeb86a
ActivityPub: allow all known shared inboxes to be addressed
This is oriented on this paragraph from the AP spec:

> Additionally, if an object is addressed to the Public special collection,
> a server MAY deliver that object to all known sharedInbox endpoints
> on the network.
2022-10-11 00:27:43 +02:00
Norm 91c043689b Merge pull request 'backend: Fix imports from weird paths' (#192) from Michcio/FoundKey-0x7f:extensionless-imports into main
Reviewed-on: FoundKeyGang/FoundKey#192
2022-10-10 18:58:54 +00:00
Michcio 30faeb73d2 backend: Fix type errors in genId
I checked on NodeJS locally and `Math.min` was coercing the Dates to numbers,
I'm just making it more obvious (to the typechecker as well)
2022-10-10 20:50:04 +02:00
Michcio dc510c6834 Fix imports from weird paths
These imports were breaking in TS error checking and VS Code, because
imports need to have an extension to be valid, apparently
2022-10-10 20:45:45 +02:00
Michcio a91bbed34e
Make it impossible to start initializing Vue before DOM exists 2022-10-10 14:22:48 -04:00
Johann150 4f9504d135
client: fetch meta via GET 2022-10-10 17:36:50 +02:00
Johann150 9022ab9f2a
backend: ignore detail parameter on meta endpoint
Also allow meta endpoint to be fetched via GET.

Changelog: Removed
2022-10-10 17:36:13 +02:00
Johann150 b018b05c5c
add type annotations 2022-10-08 15:10:14 -04:00
Johann150 b95f90eb15
client: refactor marquee component to composition API 2022-10-08 15:10:14 -04:00
Johann150 64e3239566
client: refactor super-menu component to composition API 2022-10-07 11:28:49 +02:00
Johann150 8311b30b4c
client: fix tolerance for future timestamp 2022-10-07 09:38:44 +02:00
Norm 27cf3c4e05
client: Fix relative timestamps 2022-10-05 02:17:32 -04:00
Norm c20352b22e
backend: update THRESHOLD constants to use time constants 2022-10-05 00:54:16 -04:00
Norm 9084864b34
backend: translate comments in const.ts 2022-10-05 00:52:52 -04:00
Norm def5eb0d2e Merge pull request 'client: remove click-anime directive' (#185) from remove-anime into main 2022-10-05 04:41:32 +00:00
Johann150 6ef9069a2f
client: refactor components/tab.vue to composition API
Refactoring this component could be done after changing its method of
receiving the list of available tabs by using slots to using an
ordinary parameter. This was possible because all uses of this
component just provided text as the tab labels.

Also removed unused imports of this component.

Also removed the use of the click-anime directive.

Reviewed-on: FoundKeyGang/FoundKey#184
2022-10-04 21:25:20 +02:00
Johann150 c5f07ef66c
client: fix notification settings displaying empty
The default value was chosen incorrectly in commit
ab84457c0e. To be backward compatible
the default value has to include all available notification types.
2022-10-04 21:14:00 +02:00
Johann150 a79506d895
client: add default props for form link 2022-10-04 21:13:22 +02:00
Johann150 36a0f0c480
client: mark properties with defaults as optional 2022-10-04 20:42:12 +02:00
Johann150 06e40246db
client: mark properties with defaults as optional 2022-10-04 20:35:55 +02:00
Norm 9dddb1eb6d client: Use named constants for time calculations (#183)
Constants were borrowed from `const.ts` from the backend but also
includes `WEEK`, `MONTH`, and `YEAR` constants as well.

Co-authored-by: Francis Dinh <normandy@biribiri.dev>
Reviewed-on: FoundKeyGang/FoundKey#183
2022-10-04 18:05:41 +00:00
Johann150 f4f83cb091
client: remove click-anime directive 2022-10-04 20:01:14 +02:00
Johann150 93f54e3258
client: refactor components/tab.vue to composition API
Refactoring this component could be done after changing its method of
receiving the list of available tabs by using slots to using an
ordinary parameter. This was possible because all uses of this
component just provided text as the tab labels.

Also removed unused imports of this component.

Also removed the use of the click-anime directive.
2022-10-04 19:54:27 +02:00
Norm 4ab9312392
client: fix post-form.vue
This fixes an issue where the post form hangs after posting.
2022-10-04 13:04:07 -04:00
Johann150 1592420406
fix: don't provide null for header tabs 2022-10-04 17:39:57 +02:00
Johann150 b28c34b57d
fix types in classic UI widgets 2022-10-04 17:23:26 +02:00
Johann150 a593dcb003
client: refactor page-header
Fix a missing import.

Refactor all refs to use $ref.
2022-10-04 16:51:40 +02:00
Johann150 9abf8d467d
client: fix lints 2022-10-04 12:21:10 +02:00
Johann150 764c2ded23
client refactor: remove separate admin settings page header 2022-10-04 10:58:45 +02:00
Norm a6d1284423 backend: change Misskey -> FoundKey and use absolute import in index.ts 2022-10-03 20:04:06 +00:00
Johann150 398f43731d
client: replace one more "Misskey" 2022-10-03 20:42:24 +02:00
Johann150 c0b6b3f273
client: remove unused header tabs and actions 2022-10-03 20:42:14 +02:00
Norm 8ccc22bb35 Merge pull request 'refactor expiring data and expire signins after 60 days' (#180) from expire-data into main
Reviewed-on: FoundKeyGang/FoundKey#180
2022-10-03 18:27:13 +00:00
Michcio ffcb840e06
Fix type in thread muting 2022-10-03 13:24:27 -04:00
Johann150 198058b19a
add user visible note that login history expires
The display variant where no signin history items are present has been
made shorter and more appropriate.
2022-10-03 18:44:34 +02:00
Norm 4394957a5a
client: auto-fix lints 2022-10-03 03:05:53 -04:00
Norm 0b26d96776
Merge PR 'client: discard drafts that are just the default state' (#182)
Reviewed-on: FoundKeyGang/FoundKey#182
2022-10-03 02:53:13 -04:00
Johann150 a7f9e244f3
merge: allow redis family to be specified as a string
Reviewed-on: FoundKeyGang/FoundKey#165
2022-10-02 18:46:34 +02:00
Johann150 883554d902
client: update link to online translations 2022-10-02 18:40:46 +02:00
Johann150 def1e6396c
fixup: simplify check because there is never an initial poll 2022-10-02 16:13:37 +02:00
Johann150 2e07477398
client: discard drafts that are just the default state
Changelog: Changed
2022-10-02 15:52:39 +02:00
Johann150 be19ea610f
client: refactor components/ripple.vue to composition API 2022-10-02 13:10:32 +02:00
Johann150 5b7a06675f
refactor expiring data and expire signins after 60 days
closes FoundKeyGang/FoundKey#176

Changelog: Added
2022-10-02 00:18:07 +02:00
Johann150 f571f61c2d
client: don't use filename as alt text
This partially reverts commit e9ab42c10a
as explained at <FoundKeyGang/FoundKey#178 (comment)>.
2022-10-01 22:39:58 +02:00
Johann150 e995bd5673
bacakend: prefer absolute over relative imports
There are still many places where import paths with `..` are used and
maybe should use absolute paths also.
2022-10-01 10:22:56 -04:00
Johann150 b9f20ca16d
client: prefer absolute over relative imports 2022-10-01 10:22:56 -04:00
Johann150 41e7af1662
client refactor: merge script/i18n.ts into i18n.ts
The file i18n.ts was basically only a few lines that call into
scripts/i18n.ts. Instead of having the extra file it is just as good to
have the relevant code for i18n in one file. Since i18n.ts is
imported in many client components, while scripts/i18n.ts was only
imported in i18n.ts, the latter seems better to keep.

Added some more comments and translated the Japanese comments to
English.
2022-10-01 10:22:56 -04:00
Kayden Tebau e9ab42c10a
Alt text in image viewer 2022-09-30 13:59:26 -07:00
Norm 8ca544c45d
remove outgoingAddressFamily 2022-09-30 11:05:50 -04:00
Norm 29164740b9
fix warning message 2022-09-30 11:05:50 -04:00
Norm 508748ac0d
backend: refactor Redis option loading 2022-09-30 11:05:49 -04:00
Norm 5a52532c99
allow redis family to be specified as a string
This makes it consistent with `outgoingAddressFamily`, reducing
potential confusion.

For compatibility reasons, numbers are still permitted for `redis.family`
with the following mapping:
- `dual` = `0`
- `ipv4` = `4`
- `ipv6` = `6`

Changelog: Changed
2022-09-30 11:05:49 -04:00
Norm 465b72ab53 Merge pull request 'increase image description limit to 2048 characters' (#174) from bigger-image-description into main
Reviewed-on: FoundKeyGang/FoundKey#174
2022-09-29 07:28:00 +00:00
Norm 79662272ba
foundkey-js: update test domain to foundkey.test 2022-09-27 22:38:09 -04:00
Norm 54b717a3f4
client: Update repo url from Misskey to FoundKey
Changelog: Changed
2022-09-27 22:38:09 -04:00
Norm 80468b1529
foundkey-js: Change Misskey import to foundkey 2022-09-27 22:38:09 -04:00
Norm 6e8dcc4599
client: fix various lint issues
Mostly adding in missing return types and removing unused imports.
2022-09-26 15:14:09 -04:00
Norm 1ed9b15342
client: fix types for instance.ts 2022-09-26 15:05:35 -04:00
Norm c608f0b4c2
client: fix lints in about.emojis.vue 2022-09-26 15:02:22 -04:00
Norm 356d226171
client: fix lints in my-antennas pages 2022-09-26 02:31:44 -04:00
Norm 59428a49ce client: refactor container.vue to composition api (#164)
Co-authored-by: Francis Dinh <normandy@biribiri.dev>
Co-authored-by: Johann150 <johann.galle@protonmail.com>
Reviewed-on: FoundKeyGang/FoundKey#164
2022-09-25 22:26:19 +00:00
Puniko 186d693385
increase image description limit to 2048 characters
Changelog: Changed
2022-09-24 14:32:07 -04:00
Norm f35b856dfa
backend: fix quotes lint in thread-muting/create.ts 2022-09-23 23:02:39 -04:00
Michcio 2bb8642a2c backend: Fix thread muting queries
findOne != findOneBy
2022-09-25 15:08:12 +02:00
Norm 87f1b0cabc
client: fix inline translations 2022-09-24 22:13:31 -04:00
Norm 9470e12424 Merge pull request 'Revert "Use native shell commands for clean/clean-all"' (#170) from revert-native-clean into main
Reviewed-on: FoundKeyGang/FoundKey#170
2022-09-23 22:15:29 +00:00
Norm dba63e4000 Merge pull request 'mute notifications in muted threads' (#119) from mute-notifications into main
Reviewed-on: FoundKeyGang/FoundKey#119
Changelog: Changed
Fixes: #12
2022-09-22 19:52:32 +00:00
Norm d9a64d0a22 Revert "Use native shell commands for clean/clean-all"
This reverts commit 5fb294e7d7.

This will allow the clean/clean-all command to work on Windows once again.
2022-09-22 13:48:06 -04:00
Johann150 772d4618a6
remove global variables for i18n 2022-09-21 13:29:08 -04:00
Norm 1b92f580cb
backend: fix imports in queue/types.ts 2022-09-21 13:18:17 -04:00
Johann150 0022a7befb
backend: proper error messages for creating accounts
Admins will now get proper error messages when they try to create a
new user account and an error occurs.

Changelog: Fixed
2022-09-21 17:58:42 +02:00
Johann150 cc5a197785
do not create muted notification types in respective threads 2022-09-21 17:54:36 +02:00
Johann150 87411a6ed8
enhance: more descriptive info message 2022-09-21 17:54:36 +02:00
Johann150 ab84457c0e
client: use new API 2022-09-21 17:54:15 +02:00
Norm 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
Johann150 321bd24b98
api: handle muting notification types 2022-09-21 15:52:34 +02:00
Johann150 58aa7d36aa
refactor: use noteNotificationTypes 2022-09-21 15:52:34 +02:00
Johann150 35fd970c4a
add column: muted types in thread 2022-09-21 15:52:14 +02:00
Norm 26449d4944
backend: fix ApiError lints 2022-09-21 13:34:36 +02:00
Norm 78fd2ee38b
Merge branch 'backend-translate-source-lang'
Reviewed-on: FoundKeyGang/FoundKey#160
2022-09-20 23:55:21 -04:00
Norm 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
Michcio 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
Norm 8446fa4fca
backend: fixup foundkey ascii logo formatting in base template 2022-09-19 22:53:39 -04:00
Norm 2628f35012
client: fix lints in scripts/hotkey.ts 2022-09-19 18:49:59 -04:00
Norm ee46d32602
client: refactor folder.vue to composition api 2022-09-19 22:42:23 +02:00
Johann150 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
Johann150 fab7cdb85c
client: re-add instance list to admin panel
closes FoundKeyGang/FoundKey#162
2022-09-19 21:33:11 +02:00
Norm 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
Michcio 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
Johann150 d5b0100d31
fix: add missing import for XValue 2022-09-19 15:11:59 +02:00
Michcio 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
Johann150 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
Norm 668181fb44
refactor: token-generate-window.vue to composition api 2022-09-18 21:12:35 +02:00
Johann150 26396f9900
client: Refactor gallery-post-preview.vue to composition API
Reviewed-on: FoundKeyGang/FoundKey#154
2022-09-17 23:09:11 +02:00
Johann150 790740ab2c
improve translation: document -> documentation 2022-09-17 22:59:39 +02:00
Johann150 1e9e1e8b9c
fix loading max emoji count when unlimited 2022-09-16 17:25:05 +02:00
Johann150 bcb93aec14
client: make emoji amount slider more intuitive
Changelog: Changed
2022-09-16 17:21:09 +02:00
Norm 75901301e2
client: fix typo in about.vue 2022-09-15 18:58:04 -04:00
Norm de8f2b3c63
foundkey-js: add bannerUrl to LiteInstanceMetadata 2022-09-15 18:57:49 -04:00
Norm 5814825c91
client: fix various lints 2022-09-15 18:56:05 -04:00
Norm 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
Norm d1a29ce87e
Merge branch 'feat/default-note-visibility'
Reviewed-on: FoundKeyGang/FoundKey#67
2022-09-15 17:43:35 -04:00
Johann150 106e14700f
client: include renote in visibility computation
Changelog: Changed
2022-09-15 17:42:04 -04:00
Johann150 17fa488eb9
refactor: move visibility computation to foundkey-js
Changelog: Changed
2022-09-15 17:39:51 -04:00
Chloe Kudryavtsev 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
Johann150 a932f91c04
client: improve error message for empty gallery posts
closes FoundKeyGang/FoundKey#153

Changelog: Fixed
2022-09-15 22:01:16 +02:00
Norm 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
Norm 4d01ece286
refactor: fix remaining lints in backend daemons 2022-09-14 10:40:04 -04:00
Norm 846ca03a7c
client: refactor sidebar-for-mobile.vue to composition api 2022-09-14 12:02:18 +02:00
Norm 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
Norm 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
Norm 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
Norm e507b1b888 backend: localize strings for service integrations
Currently only the 'connected' and 'disconnected' strings are translated.
2022-09-13 17:18:18 -04:00
Johann150 f4ee76d017
client: default instance ticker name to instance's domain name
Changelog: Fixed
2022-09-13 20:22:10 +02:00
Norm 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
Norm 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
Johann150 9b7a0b574e
update foundkey-js readme 2022-09-13 17:17:47 +02:00
Johann150 677c1df597
rename foundkey-js imports to foundkey 2022-09-13 17:17:46 +02:00
Norm 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
Norm 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
Johann150 7ceb96b148
limit id length of all incoming activities 2022-09-12 18:30:53 +02:00
Norm 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
Norm 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
Johann150 7854abb741
remove unusable setting to send error reports
Changelog: Removed
2022-09-12 10:37:59 +02:00
Johann150 515957ee74
render HTML mentions correctly
Reviewed-on: FoundKeyGang/FoundKey#145
Changelog: Fixed
2022-09-11 21:39:49 +02:00
Norm 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
Norm 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
Norm 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
Norm d9f443c6c1 client: refactor radio.vue to composition api 2022-09-10 18:04:40 +00:00
Norm 8d5966c0bc
backend: add return types to load.ts functions 2022-09-10 13:52:23 -04:00
Norm ebc4daa6c2
refactor: number-diff.vue to composition api 2022-09-10 12:25:58 -04:00
Norm 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
Michcio 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
Norm f0a2d368a3
foundkey-js: use re-export syntax 2022-09-10 02:05:56 -04:00
Norm 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
Norm 9a34e0b2b1
build: update typescript and related packages 2022-09-08 23:00:36 -04:00
Norm 3d789c8251
update vue to 3.2.39 2022-09-08 21:52:45 -04:00
Norm dde4086811
fix(foundkey-js): use default import for eventemitter3 2022-09-08 21:06:38 -04:00
Norm 674f91109f
foundkey-js: add remaining file extensions to local imports 2022-09-08 21:00:57 -04:00
Norm 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
Norm 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
Norm 199622b415
add check if ids.length > 0 before executing query 2022-09-08 17:47:23 -04:00
Norm 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
Norm 29c7e7e859
backend: fix types in boot/{master, worker}.ts 2022-09-08 17:28:15 -04:00
Johann150 42132963cf
refactor(backend): remove types.ts in favour of foundkey-js 2022-09-08 23:27:25 +02:00
Johann150 aa62c1d7a7
refactor(backend): use foundkey-js constants 2022-09-08 22:27:27 +02:00
Norm 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
Norm c33655bc4f backend: fix table name used in toHtml 2022-09-08 17:14:23 +00:00
Norm c469a17623
client: refactor info.vue to composition api 2022-09-08 04:10:28 -04:00
Norm 55d20a72b7
backend: add types and use named exports for daemons 2022-09-08 01:33:47 -04:00
Norm 4ad53f232a
backend: move @types/pg to devDependencies 2022-09-07 14:20:22 -04:00
Norm 0e49c726ec
backend: add @types/pg for pg type definitions 2022-09-07 14:19:03 -04:00
Norm f21e1afaa4
backend: fix query for mentionedUsers 2022-09-07 13:34:38 -04:00
Norm 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
Norm 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
Johann150 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
Johann150 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
Norm f94ed5e8a6 foundkey-js: remove room api endpoints
Changelog: Removed
2022-09-07 08:30:28 +00:00
Norm 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
Norm 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
Michcio 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