Commit graph

1443 commits

Author SHA1 Message Date
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
Michcio 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
Norm 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
Norm a16d7d9dc2
foundkey-js: fix no-param-reassign lint in acct.ts 2022-09-06 11:36:21 -04:00
Norm 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
Norm 5939c90b84
update eslint plugins 2022-09-06 11:19:34 -04:00
Norm 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
Michcio fa69ab5945 client: Fix typo in media caption code 2022-09-06 14:07:42 +02:00
Michcio 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
Norm 5fb294e7d7
Use native shell commands for clean/clean-all 2022-09-05 04:43:40 -04:00
Norm 40683b0e10
update tsc-alias 2022-09-05 04:28:08 -04:00
Norm d23b5faeda
foundkey-js: update tsd dependency 2022-09-05 03:20:53 -04:00
Norm 892ea5e2bf
upgrade eslint and typescript-related dependencies
Changelog: Changed
2022-09-05 03:15:16 -04:00
Norm 19f8f095c7
client: add return types to functions 2022-09-04 19:31:11 -04:00
Norm db5019d3ec
client: fix various lints
Mostly removing unused imports and adding function return types
2022-09-04 15:42:07 -04:00
Michcio 13ce1f0d4e backend: Fix async types in boot 2022-09-04 11:24:04 +02:00
Norm d1f3353771
client: fix various lints 2022-09-03 22:14:30 -04:00
Norm 6c4655693e
auto-fix lints with eslint 2022-09-03 21:56:57 -04:00
Norm 500c0be179 client: fix alt text for non-image files
Reviewed-on: FoundKeyGang/FoundKey#106
Changelog: Fixed
2022-09-03 23:37:28 +00:00
Johann150 039f6db40a
client: consolidate about & notifications pages
Reviewed-on: FoundKeyGang/FoundKey#104
Changelog: Changed
2022-09-04 00:30:02 +02:00
Johann150 00c8eff611
Client: alt text dialog properly handles non-images
Changelog: Changed
2022-09-04 00:07:41 +02:00
Johann150 525c8391a6
rename prop: image -> file 2022-09-03 23:56:41 +02:00
Norm 892a900aee
remove dead code 2022-09-03 17:55:54 -04:00
Norm e1ebd1f75f
revert tsconfig declaration to false 2022-09-03 17:50:33 -04:00
Norm 74ee7c84d6
make defult about page tab 'overview' if invalid 2022-09-03 17:39:55 -04:00
Norm 29e3d8175f
make tab default to 'all' if not valid 2022-09-03 17:31:14 -04:00
Michcio c04b34ba67
Enable incremental builds 2022-09-03 15:37:54 -04:00
Norm f0ba8d1877
Make mentions and direct notes accessible via url fragments 2022-09-03 15:15:42 -04:00
Norm f2ebf77ab1
re-add federation and emojis to menu 2022-09-03 15:15:30 -04:00
Norm 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
Johann150 5e320e49ab
client: improve emoji picker search
Reviewed-on: FoundKeyGang/FoundKey#101
Changelog: Added
2022-09-03 16:37:20 +02:00
Norm 89f26173c3
client: fix fetching value in photos.vue 2022-09-03 00:20:26 -04:00
Norm 8f775defaf
client: fix lints in photos.vue 2022-09-03 00:19:02 -04:00
Johann150 2ed46aaebb
fix: check visibility when serving Like activity 2022-09-02 14:34:32 +02:00
Johann150 375323bc25
update parameter type and docs 2022-09-02 14:28:55 +02:00
Johann150 0c5869805a
fix type typo 2022-09-02 09:36:31 +02:00
Chloe Kudryavtsev 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
Chloe Kudryavtsev 33ed6e98a7 client: make emoji picker suggestion count configurable 2022-09-01 13:20:20 -04:00
Chloe Kudryavtsev 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
Norm b2625cbafc
foundkey-js: update and translate README 2022-08-31 19:18:56 -04:00
Norm c5cf19cc20 fix build 2022-08-31 13:40:41 -04:00
Norm 58ecb72b82 fix typo in url-preview-popup 2022-08-31 12:30:04 -04:00
Johann150 c1530fe9e5
refactor url-preview-popup to composition API 2022-08-31 14:53:17 +02:00
Norm b712623aa4
fix lints in post-form-attaches and drive.file 2022-08-31 07:01:03 -04:00
Norm 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
Norm 9a22905e85
client: refactor classic.header.vue to composition api 2022-08-30 16:45:53 -04:00
Norm 20f45e0179
client: refactor user-preview to composition api 2022-08-30 18:08:55 +02:00
Norm 2669fc4380
pin dependencies 2022-08-29 20:36:01 -04:00
Norm 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
Norm 12c811514d
client: refactor page-preview to composition api 2022-08-29 16:07:34 -04:00
Johann150 14b90668b9
merge: use separate component for birthday dates
FoundKeyGang/FoundKey#92
2022-08-29 07:35:36 +02:00
Norm 9f3d5a7aad
foundkey-js: document change to es modules 2022-08-28 17:17:40 -04:00
Norm 50f8c6e751
foundkey-js: fix mislabeled changes in changelog 2022-08-28 17:11:13 -04:00
Norm 98d6fc216c
foundkey-js: Update changelog to Keep a Changelog format 2022-08-28 17:07:56 -04:00
Norm 6315ebc45b
fix: vue/attributes-order lint in instance-ticker 2022-08-28 16:52:13 -04:00
Norm b50c1d145a
foundkey-js: remove old contributing guide 2022-08-28 15:42:07 -04:00
Norm 1d380ae344
use i18n.t instead of $t 2022-08-28 15:38:49 -04:00
Norm b66ae3847b
refactor: use separate component for birthday dates
Resolves: FoundKeyGang/FoundKey#90
2022-08-28 15:27:39 -04:00
Johann150 218c3a527d
merge: improve emoji picker UI performance 2022-08-28 19:22:35 +02:00
Johann150 0fd89e3ab7
remove unneeded files from foundkey-js 2022-08-28 18:32:45 +02:00
vib 62ff65fbf4
perf: use v-once in emoji picker window 2022-08-28 18:49:13 +03:00
Norm 41414b4576
chore: remove s-age dependency
This isn't being used anymore since
4e41fa8767.
In any case, age calculation really doesn't need to involve a 3rd party
library.

Ref: FoundKeyGang/FoundKey#90
2022-08-28 11:35:18 -04:00
Norm 10caf861e8 Merge pull request 'Workspaces refactor' (#86) from refactor/workspaces into main
Reviewed-on: FoundKeyGang/FoundKey#86
2022-08-28 14:46:45 +00:00
Norm d36d9692b8
foundkey-js: use prepack instead of prepare 2022-08-26 18:05:16 -04:00
Norm dd9dc497fb
fix some deps 2022-08-26 18:04:53 -04:00
Norm bc0f0bf08f
add foundkey-js to each workspace package.json 2022-08-26 16:38:41 -04:00
Norm 247a01dfe6
remove subproject yarn.locks 2022-08-26 16:05:11 -04:00
Norm 6bb3f39c36
migrate to Yarn 3.2.3 2022-08-26 15:24:29 -04:00
Norm 6bccbc0d6d
switch to yarn for scripts and move start to backend 2022-08-26 12:48:55 -04:00
Norm 13b2cba980
foundkey-js: mark as module 2022-08-26 02:44:05 -04:00
Norm 622731d1bd
sw: switch to foundkey-js 2022-08-26 01:35:33 -04:00
Norm 237c29a4b8
backend: move to foundkey-js 2022-08-26 01:34:22 -04:00
Norm ebaa1960bf
foundkey-js: remove github files 2022-08-26 01:30:24 -04:00
Norm a424426857
client: Use foundkey-js instead of misskey-js 2022-08-26 01:25:56 -04:00
Norm 7420aab1b6
chore: update foundkey-js package.json 2022-08-26 00:53:12 -04:00
Norm 33146ffa5e
Fix paths for twemoji and font-awesome 2022-08-26 00:31:17 -04:00
Norm b230dc98a9
fix import path for TreeAdapter 2022-08-26 00:15:21 -04:00
Norm c1242cfde2
Fix build errors 2022-08-25 23:36:08 -04:00
Norm b558716fa1 Add 'packages/foundkey-js/' from commit '637c6f1411c9c03f204f21da12e1f8e390d05cb8'
git-subtree-dir: packages/foundkey-js
git-subtree-mainline: aa144e803c
git-subtree-split: 637c6f1411
2022-08-25 21:39:55 -04:00
Norm 7b33ee807e
refactor: window.vue to composition api 2022-08-25 21:28:14 -04:00
Chloe Kudryavtsev 2e3bd6ddc2 feat: show real local info in instance ticker
add software info to client meta-config, "Foundkey" as default site name
2022-08-25 21:22:02 +00:00
Johann150 09ebbe1d49 show software name and version in instance ticker 2022-08-25 21:22:02 +00:00
Johann150 a74cd802fe
enhance: don't cut off long instance names
Instead of silently cutting of the name of the instance this should
properly ellipsize the name at the end of the available space.
2022-08-25 18:22:40 +02:00
Johann150 f9eaf56491
refactor: add missing semicolons to type 2022-08-25 18:02:30 +02:00
Johann150 75545b4b87
merge: refactor: slot.vue to composition api
FoundKeyGang/FoundKey#82
2022-08-25 10:36:20 +02:00
Johann150 523d366ca3
refactor: remove unnecessary array map 2022-08-25 00:10:54 +02:00
Johann150 4f2a9f8911
refactor: adjust HTML mention microformat
Adjust the federated HTML microformat to the one that is documented
at <https://docs.joinmastodon.org/spec/microformats/>, namely adding
the missing surrounding tag with the class `h-card`.
2022-08-25 00:06:11 +02:00
Johann150 f119914b98
refactor: use optional chaining and nullish coalescing 2022-08-25 00:06:11 +02:00
Norm 6fed87f85d
fix pagination.vue lints 2022-08-22 23:16:56 -04:00
Norm b0fdedb264
fix lints in folder.vue 2022-08-22 22:04:49 -04:00
Norm 8e5a350f1b Simplify fetching object in resolver.ts
this.user will always be true, so we aren't doing unsigned fetches.
2022-08-21 13:13:34 -04:00
Norm 77bfc2450d Remove signToActivityPubGet option
Makes it so that all requests are signed, equivalent to
signToActivityPubGet always being true.
2022-08-21 12:38:43 -04:00
Norm 1521bc881c refactor: renote-button to composition api 2022-08-21 06:38:14 +00:00
Norm 7621e5461f
refactor: button.vue to composition api
Disabled require-default-prop for the to prop since it's only used when
link is true.

use null as default for props.to

FoundKeyGang/FoundKey#79
2022-08-21 00:19:39 +02:00
Norm 6fde66df1a refactor: emoji to composition api 2022-08-20 21:46:13 +00:00
Norm 5152ff89ee
refactor: slot.vue to composition api 2022-08-20 16:08:20 -04:00
Norm f236653c26
add return type to toggle in checkbox.vue 2022-08-20 14:15:36 -04:00
Norm 16e9cf91f7 refactor: url.vue to composition api 2022-08-20 15:34:17 +00:00
Johann150 6a3d98fbc1
refactor: remove reaction-icon component
The removed component does not contain any special script or styling.
It's template only contains a MkEmoji. To remove this unnecessary
indirection, the components was replaced with the MkEmoji component.
2022-08-20 16:03:09 +02:00
Norm ffc23ae458
refactor: post-form-dialog.vue to composition api 2022-08-20 00:58:17 -04:00
Norm e8414e8c8d
refactor: formula-core.vue to composition api 2022-08-19 16:02:51 -04:00
Norm b3b8e56092
refactor: formula.vue to composition api 2022-08-19 15:58:16 -04:00
Norm aa56cf5813
Fix lints in timeline and sub-note-content 2022-08-19 15:36:22 -04:00
Norm b79cb711ac
add return type to tick() in time.vue 2022-08-19 15:05:24 -04:00
Norm fd2028df48
fix: nonblock-statement-body-position lint in time.vue 2022-08-19 14:44:56 -04:00
Johann150 0965d3cbd9
merge: simplify pages
FoundKeyGang/FoundKey#49
2022-08-19 09:16:49 +02:00
Norm 27c56a4dcc Merge pull request 'security: update multer to 1.4.5-lts.1' (#69) from fix/multer-security into main
Reviewed-on: FoundKeyGang/FoundKey#69
2022-08-18 17:39:33 +00:00
Johann150 5d41384708
fix: await promises in migration 2022-08-18 18:26:17 +02:00
Johann150 01a4f3a7b8
enhance page editor
Using a plain textarea looks ugly and it is very small by default. Using
a MkTextarea fixes this.

For the readonly view, the individual fields should respectively be readonly.
2022-08-18 17:34:21 +02:00
Johann150 7ae5d6b1b8
backend: fix packing pages 2022-08-18 17:34:20 +02:00
Johann150 c781210ea1
fix router for new page editor path 2022-08-18 17:34:20 +02:00
Johann150 c0b0720ede
add best effort migration for pages 2022-08-18 17:34:20 +02:00
Johann150 5489ce4053
client: siplify page display 2022-08-18 17:34:19 +02:00
Johann150 b662ce8460
client: simplify page editor 2022-08-18 17:34:18 +02:00
Johann150 90d35b951f
adjust types & api for pages 2022-08-18 17:32:01 +02:00
Johann150 bc79d721c8
remove client code related to pages 2022-08-18 17:31:51 +02:00
Johann150 1ca6ad080c
fix: binding is not defined 2022-08-18 15:15:17 +02:00
Johann150 b137a39160
merge: remove promo notes
FoundKeyGang/FoundKey#62
2022-08-18 14:26:48 +02:00
Norm f30e02dc73 security: update multer to 1.4.5-lts.1
This version of multer contains a fix for
CVE-2022-24434 which affects a transitive dependency.

> This affects all versions of package dicer. A malicious attacker can
> send a modified form to server, and crash the nodejs service. An
> attacker could sent the payload again and again so that the service
> continuously crashes.

Ref: https://nvd.nist.gov/vuln/detail/CVE-2022-24434
2022-08-18 01:37:39 -04:00
Norm 74c71f5ce5
Remove twitter embed
Fixes FoundKeyGang/FoundKey#46
2022-08-17 12:35:11 -04:00
Johann150 298febeb9c
enhance: add re-collapsing to quoted notes 2022-08-15 22:28:29 +02:00
Norm 1cb5856f7c Fix birthday time offset and date locale
The user's configred birthday is stored as UTC time, so use that for display as well.
This means the birthday won't be shown as a day behind or ahead depending on the user's browser timezone.

Also use the locale configured in the user's client settings in Misskey for date formatting.
2022-08-15 13:11:53 -04:00
Johann150 a07b464690
fix missed parentheses 2022-08-14 17:32:25 +02:00
Johann150 4e41fa8767
refactor user page to use MkTime component 2022-08-14 14:46:18 +02:00
Johann150 5548b585df
refactor MkTime component
Add the datetime property to the HTML5 time tag for a machine readable
timestamp.

Add the ability to display only the date or the time.

Change the computation of the relative time string to have precision
based on the format chosen based on the choice above. Also changed the
threshold for what is considered a date in the future so people do not
see "future" on notes they just created and thus try to stop them from
time traveling.
2022-08-14 14:14:29 +02:00
Johann150 39b85f4a08
client: remove _prId_
That property was set on promo notes in the backend. Since it is no longer
being used it should also be removed from the client.
2022-08-14 13:14:17 +02:00
Johann150 f0bdd9666f
remove empty import statements 2022-08-14 12:26:18 +02:00
Johann150 c8afce6b2c
fix blocking of remote accounts
The property name was misspelled.
2022-08-14 11:33:08 +02:00
Chloe Kudryavtsev 9e6bc30a66 client: remove unused windowHeader references
All of them exist in separate header/body components.
Changed to have the entire component have the same background,
rather than setting it twice.
2022-08-12 21:25:06 +00:00
Chloe Kudryavtsev 8d99f69c90 client: remove _acrylic
Acrylic is defined as having a background
similar to panel + transparency and backdrop.
Simply change everything that is _acrylic to be _panel instead.
2022-08-12 21:25:06 +00:00
Norm 7abad139f8 fix: uploadFile when folder is undefined
In uploadFile, folder can be undefined when uploading to the parent
folder.
2022-08-12 21:21:38 +00:00
Johann150 e028a852f6
remove more code referencing promo notes 2022-08-12 19:39:48 +02:00