Commit graph

2170 commits

Author SHA1 Message Date
8c690622a1
client: fix drive item updates inserting duplicates
The issue was that the detection in the drive component did not see the
contents of `paginationElem.items` because the ref was not properly
exposed. The value of the exposed property was a Proxy of an empty
array that was not a reference to the actual items array. Thus, when
checking if the item already exists or not, it never saw the item and
added it as if new.

closes FoundKeyGang/FoundKey#367
closes FoundKeyGang/FoundKey#368

Changelog: Fixed
2023-04-02 00:00:49 +02:00
83fec649ea
client: refactor drive stream API code 2023-04-01 23:53:51 +02:00
079a9e29ce
server: replace IRC with issue tracker as preferred feedback
The IRC channel is not a reliable means of communication for feedback
because I don't use it (regularly).
2023-04-01 15:10:12 +02:00
7914fcfef2
client: open links in new tab
If links are clicked while holding Ctrl or clicked with middle mouse
button, they will be opened in a new tab.

Changelog: Fixed
2023-03-31 22:19:01 +02:00
1472c21cb6
activitypub: properly handle all scopes for renotes
This was not implemented because of concerns raised in
https://github.com/misskey-dev/misskey/issues/8261
about Mastodon incorrectly interpreting the scope on renotes.
However this bug seems to be fixed so it can now be implemented.

See also https://github.com/misskey-dev/misskey/pull/10291

Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com>
2023-03-31 07:59:20 +02:00
7a0c2acdf6
client: reposition drive search toggle 2023-03-29 19:02:22 +02:00
e9f68e65b7
server: fix rate limit for adding reactions
Adding a reaction may delete a previous reaction to the same note,
thus consequently this needs to be in the rate limiting group if this
happens. Otherwise the rate limit can be circumvented.

Changelog: Fixed
2023-03-28 22:50:04 +02:00
48405fba3b
server: fix rate limit error propagation
Changelog: Fixed
2023-03-28 22:49:58 +02:00
1171567db2
server: remove unused API parameters
Changelog: Removed
2023-03-28 19:36:10 +02:00
6179b2e5f0
server: add pagination to file attachment timeline
As a side effect this also makes the notes appear in chronological order.

Changelog: Changed
2023-03-27 20:46:26 +02:00
3747d7ecb1
client: add page 'notes with file attached' 2023-03-27 18:43:49 +02:00
e4932085a7
client: use switch instead of if/else chain 2023-03-27 17:36:52 +02:00
6722ccfc64
client: remove separate empty drive/empty folder messages
These messages are wrong when using the newly added filter and there
are no filtering results. Instead of adding yet another separate
message for an empty pagination, just show the default empty thingy
the pagination component provides already.
2023-03-26 13:40:26 +02:00
134c3b43e6
implement filtering and sorting in drive
The `sort` parameter for /api/drive/show is now more unified with
other endpoints which use +createdAt for sort instead of +created.

closes FoundKeyGang/FoundKey#109

Changelog: Added
2023-03-26 12:03:43 +02:00
aac6a93bae
client: center drive loading ui 2023-03-26 11:05:56 +02:00
7401a0b400
client: fix drive pagination parameters 2023-03-26 11:05:56 +02:00
68f9e3e0dd
server: change pagination of drive/show endpoint
This changes the pagination of the drive/show API endpoint to use the
offset variant of pagination and allows to specify a sorting.

closes FoundKeyGang/FoundKey#362
2023-03-26 11:05:55 +02:00
94d1cf75aa
server: unify drive object types in database
Minor adjustment: The 'name' columns have the same max length.

Major adjustment: Rename both columns to be "parentId" and update
all references of this name in the backend. API parameters are not
changed, since that would be an unnecessary breaking change.
2023-03-26 11:05:55 +02:00
701054b86e
replace NBSP with SP
How did this get here in the first place?
2023-03-26 10:57:12 +02:00
77602203b2
client: replace error UUIDs with error codes
The error UUIDs were removed from the backend and trying to match against the IDs
no longer works. This can produce confusing UI behaviour when displaying errors.

closes FoundKeyGang/FoundKey#363

Changelog: Fixed
2023-03-26 10:55:27 +02:00
0ef05427c8
client: fix move notification locale string 2023-03-23 21:46:00 +01:00
aa428bd1a4
client: display moved information on profile 2023-03-23 21:46:00 +01:00
c1f7ad0c14
server: add movedTo to packed user 2023-03-23 21:45:59 +01:00
e78069d904
server: implement moveTo property on actors
Co-authored-by: Mary Strodl <ipadlover8322@gmail.com>
Co-authored-by: amybones <amy@spookygirl.boo >
2023-03-23 21:43:50 +01:00
72b8489ae7
client: display move notification 2023-03-23 21:10:17 +01:00
5ad18c8626
server: add migration for movedTo user/notif 2023-03-23 21:10:16 +01:00
910976a55b
server: implement receiving Move activities
For now only creates notifications.
2023-03-23 21:10:15 +01:00
3c2092935c
server: add object hint to resolvePerson 2023-03-23 21:10:14 +01:00
3311bd866b
add move notification type 2023-03-23 21:10:08 +01:00
c8a07e58f8
server: update summaly
- updates got (CVE-2022-33987)
- now properly preview XHTML pages

Changelog: Security
2023-03-23 20:32:31 +01:00
f1d7357e75
server: fix undefined variable in getOneApId
This is a fixup for commit 48fd543d0f.

closes FoundKeyGang/FoundKey#365
2023-03-22 18:30:56 +01:00
48363a90ef
client: fix undefined variable in drive component
closes FoundKeyGang/FoundKey#360
2023-03-21 19:25:41 +01:00
59da6063cb
client: fix download button in wavesurfer
closes FoundKeyGang/FoundKey#356
2023-03-19 13:05:05 +01:00
d3fbe5e382
BREAKING server: refactor streaming API data structures
Since looking up a channel by ID should be the most often needed use
case, the data structure is now more optimized towards this. The code
is also simplified by using optional chaining where possible.

In this vein, the server will now enforce that channel IDs are unique
and not reused.

Changelog: Changed
2023-03-19 12:39:57 +01:00
7e4148880b
server: improve comments in streaming API 2023-03-19 11:09:56 +01:00
806f757cc8
client: remove unused import 2023-03-19 11:00:45 +01:00
ed9b9210a9
server: remove some casting to any 2023-03-19 10:45:57 +01:00
af49f811c1
client: refactor away a variable 2023-03-19 10:26:51 +01:00
5391ae4a1b
client: list custom themes first 2023-03-19 10:26:37 +01:00
3cf728a664
client: don't use refs for themes
I am not sure why ref's were used here before, since all changes to
those refs could only be from the same page the user was already on.
It seems the ColdDeviceStorage.ref was causing some circular thingies
that went wrong.

closes FoundKeyGang/FoundKey#353

Changelog: Fixed
2023-03-19 10:15:19 +01:00
742fa37e2b
server: show worker mode in process name
Changelog: Added
2023-03-19 09:39:33 +01:00
00332ed37f
client: fix drive file selection
closes FoundKeyGang/FoundKey#358
2023-03-19 09:28:31 +01:00
ae0a7b668f
client: return themes when fetching them 2023-03-18 10:34:25 +01:00
Richard "EpicKitty" Bowey
79a9b04d25
put the migration in its place 2023-03-17 16:16:41 +01:00
32beda4344
server: improve error message for invalidating follows
This error was broken out to be a separate error code and message.

Changelog: Changed
2023-03-16 20:42:02 +01:00
d6837814d9
Merge branch 'drive-api-combined'
Reviewed-on: FoundKeyGang/FoundKey#297
2023-03-13 19:30:24 +01:00
syuilo
1274af05a4
remove unused instance settings 2023-03-12 16:28:07 +01:00
6a17dcf4de
server: refactor to group deletion deliveries
The `quiet` argument has been removed from `deleteNote` (or `deleteNotes`
respectively) since it was not used anywhere and it does not seem a good
idea to not update statistics in some cases.

This should also fix an issue where cascade deletions mean that statistics
are not properly updated or streaming clients not properly informed of
deletions. This case was seemingly not considered before, even though
there was some handling for cascade deleted notes.

This is going to improve how cascade deletion impacts the delivery queue,
because cascade-deleted notes will now be grouped for delivery.

Changelog: Fixed
2023-03-12 12:37:20 +01:00
383ea40704
server: add function to deliver multiple activities to a relay 2023-03-11 22:23:42 +01:00
e52cf25489
server: use named export for deleteNote 2023-03-11 09:54:46 +01:00
1bce487965
activitypub: allow to group elements for delivery 2023-03-11 09:42:14 +01:00
78c93c5539
server: clean up activitypub deliver code 2023-03-11 09:42:14 +01:00
2164fda2fb
server: do AP sent statistics in request function 2023-03-11 09:42:05 +01:00
4f6d6b681e
client: remove unused assets 2023-03-08 22:34:24 +01:00
0d470387dd
client: replace misskey icon 2023-03-08 22:32:05 +01:00
d0a021c868
client: properly center instance information 2023-03-08 21:22:11 +01:00
f455075efc
fixup: add missing import of copyToClipboard
This is a fixup for commit 74c2b79df1.
2023-03-06 00:50:01 +01:00
95afbf11ab
client: show follow button when not logged in
Changelog: Added
2023-03-06 00:41:24 +01:00
fbfbe4a72e
client: show remote interaction dialog for follow button
Changelog: Fixed
2023-03-06 00:41:16 +01:00
57241cdffe
client: remove unused code 2023-03-05 23:35:18 +01:00
8e1adfa03a
reduce remote interact dialog width 2023-03-05 14:26:02 +01:00
2759cd8174
fix formatting on remote url link 2023-03-05 14:15:24 +01:00
74c2b79df1
remove key-value component from remote interaction dialog 2023-03-05 14:10:41 +01:00
79ec44aa2c
fix variable name 2023-03-05 12:24:35 +01:00
f2350e6eba
client: add remote interaction dialog 2023-03-04 00:37:28 +01:00
49ae56a9e9
client: refactor to pleaseLoginOrRemote 2023-03-04 00:08:12 +01:00
5a263ec2c3
client: refactor pleaseLogin to pleaseLoginOrPage 2023-03-04 00:01:17 +01:00
559a17cf26
add FIXME comment 2023-03-03 23:54:42 +01:00
ee2860e894
improve docs 2023-03-03 23:36:15 +01:00
a750c7ad57
server: remove unused avgColor attribute from types 2023-03-03 21:36:21 +01:00
5aa5344f2e
docs: fix schema definitions 2023-03-03 21:12:44 +01:00
e2063f4ff9
fix: correctly parse quotes 2023-02-24 23:47:50 +01:00
145a949480
client: show own pages as first tab 2023-02-24 20:28:19 +01:00
c4c97f19b6
client: fix follow requests pagination
Changelog: Fixed
2023-02-24 19:47:52 +01:00
57e4971214
Revert "server: fix return of visibilityQuery function"
This reverts commit 32f4bee5e8.

It is the right thing to do in theory, but it doesn't work.
I hate typeorm.
2023-02-21 21:16:28 +01:00
32f4bee5e8
server: fix return of visibilityQuery function 2023-02-21 21:04:38 +01:00
c8731333ba
server: add new deepl languages
DeepL now also supports Norwegian (Bokmål) and Korean.

Ref: https://www.deepl.com/en/blog/welcome-korean-and-norwegian
Changelog: Added
2023-02-21 18:24:29 +01:00
0a7352eda9
server: add diagnostics for failing visibility 2023-02-20 21:08:58 +01:00
c777c2ed04
fix: perform visibility query in second stage 2023-02-20 21:08:58 +01:00
8f5952bb7d
server: handle note visibility in SQL
This allows to check visibility recursively, which should hopefully
solve problems with timelines not showing up properly.

Changelog: Changed
2023-02-20 21:08:47 +01:00
73d546372e
refactor: replace import paths containing ../ in API server
This is a big one...
2023-02-19 23:36:15 +01:00
e701bdadbe
foundkey.js: adjust API endpoints for user administration 2023-02-19 23:36:14 +01:00
2fda599a86
client: adjust API endpoints for user administration 2023-02-19 23:36:13 +01:00
bfd1adf761
BREAKING server: restructure endpoints related to user administration
- `admin/abuse-user-reports` -> `admin/reports/list`
- `admin/delete-all-files-of-a-user` -> `admin/users/delete-all-files`
- `admin/resolve-abuse-user-report` -> `admin/reports/resolve`
- `admin/accounts/create` -> `admin/users/create`
- `admin/accounts/delete` -> `admin/users/delete`
- `admin/show-user` -> `admin/users/show`
- `admin/show-users` -> `admin/users`
- `admin/silence-user` -> `admin/users/silence`
- `admin/suspend-user` -> `admin/users/suspend`
- `admin/unsilence-user` -> `admin/users/unsilence`
- `admin/unsuspend-user` -> `admin/users/unsuspend`
- `admin/reset-password` -> `admin/users/reset-password`

Changelog: Changed
2023-02-19 23:36:13 +01:00
41aa5cd18f
fix typo 2023-02-19 23:32:36 +01:00
17c9a9374d
fixup: server: parse quote tag syntax
This is a fixup for commit 5893a44ff5.
2023-02-19 19:41:11 +01:00
f103c86d0a
client: show waveform on audio player
Reviewed-on: FoundKeyGang/FoundKey#345
Changelog: Added
2023-02-19 16:25:08 +01:00
a6461e74d6 yay typo 2023-02-19 15:38:29 +01:00
5dd2b9ff61 fix duration format and add hours 2023-02-19 15:36:01 +01:00
98acca0a31 instead of ref 2023-02-19 15:27:20 +01:00
b85e60df0f pause music while seeking 2023-02-19 15:22:53 +01:00
add309f189 v-else 2023-02-19 15:05:22 +01:00
3acf127e1d
client: improved module tracker file detection
Reviewed-on: FoundKeyGang/FoundKey#344
Changelog: Fixed
2023-02-19 15:03:44 +01:00
3152630f27 cleanup audioEl and volumechange 2023-02-19 15:03:40 +01:00
4de0b4e4ca use includes instead of some 2023-02-19 15:01:23 +01:00
2da92eb075 lets do some wavesurfin' :3c 2023-02-19 11:44:18 +01:00
105aa511ce
Revert "client: display post content behind UI"
It doesn't work and the z-index behaviour is confusing me :(

This reverts commits 2525b59bb6
and 89757363f0.
2023-02-19 10:48:11 +01:00
eb6dbca9fd additional detection with mime-types in module tracker 2023-02-19 10:29:20 +01:00
89757363f0
fixup: client: display post content behind UI
This is a fixup for commit 2525b59bb6.
2023-02-18 19:11:49 +01:00
3e9dd7957d
server: dont error on generating empty RSS feed
Changelog: Fixed
2023-02-18 17:43:27 +01:00
0cf8f78e23
client: fix attached files and account switcher combination
fixes FoundKeyGang/FoundKey#342

Changelog: Fixed
2023-02-18 12:30:45 +01:00
0db3f1f8ed
client: re-add flag to require approval for bot follows
This flag was already implemented in the server but not accessible
in the native client for some reason.

Changelog: Added
2023-02-18 11:31:01 +01:00
2525b59bb6
client: display post content behind UI 2023-02-18 11:17:42 +01:00
8993d83114
replace more misskey & github branding 2023-02-17 12:49:04 +01:00
fd8fc301b4
client: fix border radius on icon on welcome page
The border radius on the welcome page clipped the foundkey floofer.
2023-02-16 21:49:47 +01:00
6aeb033507
client: change Misskey to Foundkey 2023-02-16 21:49:02 +01:00
acaca35ff7
client: fix authentication error in RSS widgets
closes FoundKeyGang/FoundKey#341

Changelog: Fixed
2023-02-15 20:42:40 +01:00
bf445964b5
improve documentation for fetch-rss endpoint
Changelog: Fixed
2023-02-15 20:42:24 +01:00
1ffa4b08e0
client: reformat notification component
who the hell is supposed to read this
2023-02-11 19:25:51 +01:00
c9d395961e
server: refactor packing User 2023-02-11 19:17:11 +01:00
3a7e8cfe50
server: check instance description length limit
Changelog: Fixed
2023-02-11 19:16:28 +01:00
b8796cb1fa
activitypub: remove _misskey_votes property
This is a duplication of `replies.totalItems` and seems unnecessary,
it is even only parsed by Misskey if the afforementioned property is
not available.

Changelog: Removed
2023-02-11 17:49:12 +01:00
68bc2e314b
activitypub: remove _misskey_reaction property
This property is duplicated by the `content` property so seems unnecessary.

Changelog: Removed
2023-02-11 17:43:44 +01:00
fff93c6965
activitypub: remove _misskey_content attribute
As already noted back in https://github.com/misskey-dev/misskey/pull/8787
the intention was to replace the `_misskey_content` attribute with the
ActivityPub-defined `source` property. Misskey and by extension Foundkey
have shipped with the `source` property and the respective parsing for
quite a while so it seems reasonable to remove it now.

Changelog: Removed
2023-02-11 17:25:24 +01:00
7c89e99243
fix registry migration
It can happen that registry items were created at exactly the same time for some reason.
2023-02-11 12:52:28 +01:00
6ed13ea9a7
fix typo, the 2nd 2023-02-11 10:23:15 +01:00
6a40ef3569 fix typo
tfw no building before push
2023-02-10 20:35:09 -05:00
syuilo
09fe55379e
client: check input for aiscript
af1c9251fc
5f3640c7fd

Co-authored-by: Johann150 <johann.galle@protonmail.com>
Changelog: Fixed
2023-02-10 20:06:31 +01:00
27b912b9b0
security: check schema for URL previews
Changelog: Fixed
2023-02-10 20:06:18 +01:00
48fd543d0f
security: check URL schema of AP URIs
Changelog: Fixed
2023-02-10 20:06:12 +01:00
syuilo
af272ce358
fix(server): validate filename and emoji name to improve security
0d7256678e

Co-authored-by: Johann150 <johann.galle@protonmail.com>
Changelog: Fixed
2023-02-10 20:05:53 +01:00
c1ae134c0a
security: make sure there is no SQL insertion 2023-02-10 18:31:23 +01:00
3ad6323c23
fix registry migration
closes FoundKeyGang/FoundKey#337
2023-02-05 20:37:06 +01:00
3489c8ac3a
fix: loading config 2023-02-04 23:24:05 +01:00
44f02fa3ec
update documents for new release 2023-02-04 22:22:00 +01:00
d655bda30c
add foundkey floofer 2023-02-04 22:15:28 +01:00
839daea887
remove mi-white.png asset 2023-02-04 18:08:19 +01:00
41c42f96f0
BREAKING server: disable deliver rate limit by default
The deliver rate limit seems to cause a lot of performance problems,
presumably because of the overhead the rate limit has. It also does
not really make sense to rate limit outgoing because we are requesting
from different servers anyway.

fixes FoundKeyGang/FoundKey#190

Changelog: Changed
2023-02-04 17:57:52 +01:00
9a6bb8be7d
server: default config items on load 2023-02-04 17:56:15 +01:00
1adf88b090
fixup: OpenGraph data generation
This is a fixup for commits 39fb7e5946 and be30e70344.
2023-02-04 16:44:30 +01:00
28c11ca7af
refactor isPureRenote to foundkey-js 2023-02-04 16:42:36 +01:00
9458045c8f
server: refactor note/renote rendering to separate file 2023-02-04 15:32:25 +01:00
a8c0e1f827
fix migration for note.url unique index
fixes FoundKeyGang/FoundKey#331

Co-authored-by: Johann150 <johann.galle@protonmail.com>
2023-02-04 11:03:29 +01:00
63665e8bd1
client: replace array concat with Array.prototype.flat 2023-02-04 00:33:23 +01:00
85a68a5eee
activitypub: properly render CW only quotes
Changelog: Fixed
2023-02-04 00:27:43 +01:00
0bb4a6af50
client: fix quotes with only a CW
Changelog: Fixed
2023-02-04 00:22:52 +01:00
a45908c1cb
client: check quoteId for canPost computation
fixes FoundKeyGang/FoundKey#334

Changelog: Fixed
2023-02-03 23:12:12 +01:00
ca257d7d0c
server: remove application level websocket ping
Changelog: Removed
2023-02-03 11:48:46 +01:00
30c26abde7
server: add websocket ping mechanism
fixes FoundKeyGang/FoundKey#336

Changelog: Fixed
2023-02-03 11:47:54 +01:00
17324e1e94
server: add unique constraint for registry items
fixes FoundKeyGang/FoundKey#335
2023-02-03 00:27:33 +01:00
8b98c9f2f4
server: remove unused 'domain' column 2023-02-02 23:29:24 +01:00
be30e70344
server: add more OpenGraph data, remove custom misskey meta tags
Changelog: Changed
2023-02-01 23:18:10 +01:00
39fb7e5946
server: improve OpenGraph data for note attachments
With this change, not all files will be proclaimed to be image files. Only
images, videos and audio files will be represented with OpenGraph data.

More properties for these files will also be represented, e.g. image alt text.

However, if the note has a CW or any of the files are marked sensitive, none
of the files will be used.

The users profile picture will not be used any more.

Changelog: Changed
2023-02-01 22:53:32 +01:00
75b14124f2
server: improve variable naming 2023-02-01 11:30:53 +01:00
7480e27c0c
server: remove twitter links from HTML templates
Since the twitter integration has been removed, this will never be true
and can therefore be removed.
2023-02-01 11:27:27 +01:00
2d32bc33d7
server: fix error for invalid URLs in profile fields
Co-authored-by: Chloe Kudryavtsev <code@code.bunkerlabs.net>
2023-01-30 19:24:15 +01:00
bb3ec8bafe Revert "server: fix user deletion race condition"
This reverts commit cc83cbe523, reversing
changes made to 8abd3ebec7.

This changeset contains:
* multiple type errors
* a foreign key incompatibility
* breaks outgoing note federation (in at least two ways)
2023-01-30 14:59:24 +01:00
6fd80816fa
client: remove unused property from MFM component 2023-01-29 14:29:58 +01:00
cc83cbe523
server: fix user deletion race condition
Changelog: Fixed
Ref: https://github.com/misskey-dev/misskey/issues/7506
2023-01-29 12:53:29 +01:00
8abd3ebec7
client: remove notification forwarding to service worker
This was an interim measure, but now that push notifications are always enabled,
this should not be necessary any more and the service worker should receive
all notifications automatically.
2023-01-29 12:39:26 +01:00