Commit Graph

63 Commits

Author SHA1 Message Date
ThatOneCalculator
80ae73f543 Merge remote-tracking branch 'misskey/develop' into develop 2022-07-21 23:43:30 -07:00
xianon
fed327b437 リモートユーザーを正しくブロックできるように修正する (#9027) 2022-07-22 15:41:31 +09:00
ThatOneCalculator
31da3c16c3 Properly apply star is like patch 2022-07-19 15:23:26 -07:00
nullobsi
8f6605eb63 Add Secure Mode and Private Mode
- Add instance actor
- Add private mode, which uses an allowlist
- Add Secure Mode, restricts access to blocked instances
2022-07-17 15:25:39 -07:00
yzhe819
2d69600539 chore: fix lint errors (#8981) 2022-07-10 19:47:29 +09:00
Johann150
d78b20ba07 fix lints 2022-06-24 12:44:22 +02:00
Johann150
ebd33b9281 fix: render empty note content correctly
Instead of coercing to `null`, coercing to an empty string should simplify handling.
2022-06-16 12:51:44 +02:00
Johann150
efe35ea9e0 fix: correctly render note text
Fix a regression from #8787 that was previously fixed in #8440.
2022-06-16 12:32:09 +02:00
Johann150
c7a2c42cc2 enhance(federation): use ActivityPub defined property in favour of proprietary property. (#8787)
* add activitypub `source` property

* parse MFM from new `source` attribute
2022-06-10 14:31:58 +09:00
syuilo
3661d1bc33 fix bug 2022-06-04 15:15:44 +09:00
Johann150
102012aa9d fix: add id for activitypub follows (#8689)
* add id for activitypub follows

* fix lint

* fix: follower must be local, followee must be remote

Misskey will only use ActivityPub follow requests for users that are local
and are requesting to follow a remote user. This check is to ensure that
this endpoint can not be used by other services or instances.

* fix: missing import

* render block with id

* fix comment
2022-06-04 13:52:42 +09:00
Johann150
86c04c4489 fix: ensure resolver does not fetch local resources via HTTP(S) (#8733)
* refactor: parseUri types and checks

The type has been refined to better represent what it actually is. Uses of
parseUri are now also checking the parsed object type before resolving.

* cannot resolve URLs with fragments

* also take remaining part of URL into account

Needed for parsing the follows URIs.

* Resolver uses DbResolver for local

* remove unnecessary use of DbResolver

Using DbResolver would mean that the URL is parsed and handled again.
This duplicated processing can be avoided by querying the database directly.

* fix missing property name
2022-06-04 11:29:20 +09:00
Johann150
336eea9d93 fix: correctly render empty note text (#8746)
Ensure that the _misskey_content attribute will always exist. Because
the API endpoint does not require the existence of the `text` field,
that field may be `undefined`. By using `?? null` it can be ensured
that the value is at least `null`.

Furthermore, the rendered HTML of a note with empty text will also be
the empty string. From git blame it seems that this behaviour was added
because of a Mastodon bug that might have previously existed. Hoever,
this seems to be no longer the case as I can find mastodon posts that
have empty content.

The code could be made a bit more succinct by using the null coercion
operator.
2022-06-03 23:18:44 +09:00
Johann150
ec47b46423 refactor: improve code quality (#8751)
* remove unnecessary if

`Array.prototype.some` already returns a boolean so an if to return
true or false is completely unnecessary in this case.

* perf: use count instead of find

When using `count` instead of `findOneBy`, the data is not
unnecessarily loaded.

* remove duplicate null check

The variable is checked for null in the lines above and the function
returns if so. Therefore, it can not be null at this point.

* simplify `getJsonSchema`

Because the assigned value is `null` and the used keys are only
shallow, use of `nestedProperty.set` seems inappropriate. Because the
value is not read, the initial for loop can be replaced by a `for..in`
loop.

Since all keys will be assigned `null`, the condition of the ternary
expression in the nested function will always be true. Therefore the
recursion case will never happen. With this the nested function can be
eliminated.

* remove duplicate condition

The code above already checks `dragging` and returns if it is truthy.
Checking it again later is therefore unnecessary.

To make this more obvious the `return` is removed in favour of using
an if...else construct.

* remove impossible "unknown" time

The `ago` variable will always be a number and all non-negative numbers
are already covered by other cases, the negative case is handled with
`future` so there is no case when `unkown` could be achieved.
2022-05-29 15:15:52 +09:00
Johann150
fef27a1e92 chore: remove unused imports 2022-05-28 21:17:23 +02:00
Johann150
d6046c75aa fix: wrong type for isVisibleForMe 2022-05-24 10:12:42 +02:00
Johann150
848ac5a75d fix(activitypub): add authorization checks (#8534)
* fix spelling

* fix(activitypub): add authorization checks
2022-05-19 20:40:16 +09:00
syuilo
8609c11944 refactor 2022-04-17 21:01:02 +09:00
syuilo
b2bc3a020f refactor
Resolve #8467
2022-04-17 20:58:37 +09:00
syuilo
1c12f0e16c refactor: fix type 2022-04-17 20:44:21 +09:00
syuilo
c905bb6cbf refactor: fix type 2022-04-17 13:26:31 +09:00
syuilo
264fd9f4af refactor: fix type 2022-04-17 13:14:29 +09:00
syuilo
3a2a9e3031 refactor: fix type 2022-04-17 12:59:41 +09:00
syuilo
343555038f lint 2022-04-16 17:18:51 +09:00
syuilo
457286ad2b fix type 2022-04-03 16:40:47 +09:00
syuilo
2dca8fef31 fix type 2022-04-03 16:35:36 +09:00
syuilo
2e9afc526d fix types 2022-04-03 16:30:22 +09:00
syuilo
f4f6a76ecc chore: fix lint 2022-04-03 15:33:22 +09:00
syuilo
23053d812d fix syntax error 2022-04-02 15:31:11 +09:00
Johann150
ec9e0db07a fix(federation): avoid duplicate activity delivery (#8429)
* prefer shared inbox over individual inbox

* no new shared inbox for direct recipes

* fix type error
2022-04-02 15:16:35 +09:00
syuilo
54e1c7f60e perf(server): use cached user info in getUserFromApId 2022-03-26 19:09:57 +09:00
syuilo
1dfee2467a refactor 2022-03-26 18:42:37 +09:00
syuilo
3b54ff4173 perf(server): improve deliver performance 2022-03-26 17:43:08 +09:00
syuilo
523ee14a73 refactor: migrate to typeorm 3.0 (#8443)
* wip

* wip

* wip

* Update following.ts

* wip

* wip

* wip

* Update resolve-user.ts

* maxQueryExecutionTime

* wip

* wip
2022-03-26 15:34:00 +09:00
syuilo
921299b02f perf(server): refactor and performance improvements 2022-03-25 16:27:41 +09:00
Johann150
37486e7ba6 recognize null in _misskey_content for notes (#8440) 2022-03-23 03:16:04 +09:00
MeiMei
d35101c12b Use unique id for Undo (#8434) 2022-03-22 00:39:00 +09:00
syuilo
161461f352 perf(server): reduce db query 2022-03-21 05:42:11 +09:00
syuilo
c1ce301d24 perf(server): reduce db query 2022-03-20 15:44:49 +09:00
xianon
db64fe0ef2 リレーが動作するように修正する (#8396) 2022-03-12 13:21:04 +09:00
syuilo
02f4d97987 fix esm 2022-03-01 01:26:32 +09:00
syuilo
218e756555 fix esm 2022-03-01 01:24:50 +09:00
tamaina
13cc69fe1c Fix avatar/banner proxy (#8346)
* Fix avatar/banner proxy

Co-authored-by: mei23 <m@m544.net>

* use getAvatarUrl

* fix

* join avatar and banner to improve performance

* join

* Update hybrid-timeline.ts

* fix

Co-authored-by: mei23 <m@m544.net>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-02-27 13:59:10 +09:00
syuilo
94228778c9 refactor: Use ESM (#8358)
* wip

* wip

* fix

* clean up

* Update tsconfig.json

* Update activitypub.ts

* wip
2022-02-27 11:07:39 +09:00
syuilo
036c9571e2 refacator: fix typw 2022-02-19 14:53:33 +09:00
nullobsi
92e94d688c feat: Option to show replies in timeline (rebase #7685) (#8202)
* Add an option for timeline replies. Credit to Emilis (puffaboo)

* update db on request
2022-02-06 16:02:48 +09:00
syuilo
71f817d9aa refactor 2022-02-04 11:10:53 +09:00
syuilo
7868d202f8 refactor 2022-02-03 21:43:53 +09:00
syuilo
591f53fd06 refactor 2022-02-03 21:20:25 +09:00
syuilo
5414944b21 refactor: fix type 2022-01-26 18:42:14 +09:00