summaryrefslogtreecommitdiff
path: root/src/remote/activitypub
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-08-19 21:55:45 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-08-19 21:55:45 +0900
commit42cc93dd0f189995f29fc87d2734fc809105a7cf (patch)
tree7a74658a76d71d4c07bf89a7028fa1786af0e13e /src/remote/activitypub
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadsharkey-42cc93dd0f189995f29fc87d2734fc809105a7cf.tar.gz
sharkey-42cc93dd0f189995f29fc87d2734fc809105a7cf.tar.bz2
sharkey-42cc93dd0f189995f29fc87d2734fc809105a7cf.zip
fix: mochaが動かないため拡張子なしに戻した
Diffstat (limited to 'src/remote/activitypub')
-rw-r--r--src/remote/activitypub/audience.ts10
-rw-r--r--src/remote/activitypub/db-resolver.ts16
-rw-r--r--src/remote/activitypub/deliver-manager.ts6
-rw-r--r--src/remote/activitypub/kernel/accept/follow.ts10
-rw-r--r--src/remote/activitypub/kernel/accept/index.ts10
-rw-r--r--src/remote/activitypub/kernel/add/index.ts8
-rw-r--r--src/remote/activitypub/kernel/announce/index.ts10
-rw-r--r--src/remote/activitypub/kernel/announce/note.ts20
-rw-r--r--src/remote/activitypub/kernel/block/index.ts8
-rw-r--r--src/remote/activitypub/kernel/create/index.ts12
-rw-r--r--src/remote/activitypub/kernel/create/note.ts12
-rw-r--r--src/remote/activitypub/kernel/delete/index.ts8
-rw-r--r--src/remote/activitypub/kernel/delete/note.ts12
-rw-r--r--src/remote/activitypub/kernel/flag/index.ts10
-rw-r--r--src/remote/activitypub/kernel/follow.ts8
-rw-r--r--src/remote/activitypub/kernel/index.ts38
-rw-r--r--src/remote/activitypub/kernel/like.ts8
-rw-r--r--src/remote/activitypub/kernel/read.ts10
-rw-r--r--src/remote/activitypub/kernel/reject/follow.ts10
-rw-r--r--src/remote/activitypub/kernel/reject/index.ts10
-rw-r--r--src/remote/activitypub/kernel/remove/index.ts8
-rw-r--r--src/remote/activitypub/kernel/undo/announce.ts8
-rw-r--r--src/remote/activitypub/kernel/undo/block.ts8
-rw-r--r--src/remote/activitypub/kernel/undo/follow.ts12
-rw-r--r--src/remote/activitypub/kernel/undo/index.ts16
-rw-r--r--src/remote/activitypub/kernel/undo/like.ts8
-rw-r--r--src/remote/activitypub/kernel/update/index.ts12
-rw-r--r--src/remote/activitypub/logger.ts2
-rw-r--r--src/remote/activitypub/misc/get-note-html.ts4
-rw-r--r--src/remote/activitypub/misc/html-to-mfm.ts6
-rw-r--r--src/remote/activitypub/misc/ld-signature.ts4
-rw-r--r--src/remote/activitypub/models/image.ts14
-rw-r--r--src/remote/activitypub/models/mention.ts10
-rw-r--r--src/remote/activitypub/models/note.ts52
-rw-r--r--src/remote/activitypub/models/person.ts50
-rw-r--r--src/remote/activitypub/models/question.ts12
-rw-r--r--src/remote/activitypub/models/tag.ts4
-rw-r--r--src/remote/activitypub/perform.ts6
-rw-r--r--src/remote/activitypub/renderer/accept.ts4
-rw-r--r--src/remote/activitypub/renderer/add.ts4
-rw-r--r--src/remote/activitypub/renderer/announce.ts4
-rw-r--r--src/remote/activitypub/renderer/block.ts4
-rw-r--r--src/remote/activitypub/renderer/create.ts4
-rw-r--r--src/remote/activitypub/renderer/delete.ts4
-rw-r--r--src/remote/activitypub/renderer/document.ts4
-rw-r--r--src/remote/activitypub/renderer/emoji.ts4
-rw-r--r--src/remote/activitypub/renderer/follow-relay.ts6
-rw-r--r--src/remote/activitypub/renderer/follow-user.ts6
-rw-r--r--src/remote/activitypub/renderer/follow.ts6
-rw-r--r--src/remote/activitypub/renderer/hashtag.ts2
-rw-r--r--src/remote/activitypub/renderer/image.ts4
-rw-r--r--src/remote/activitypub/renderer/index.ts10
-rw-r--r--src/remote/activitypub/renderer/key.ts6
-rw-r--r--src/remote/activitypub/renderer/like.ts10
-rw-r--r--src/remote/activitypub/renderer/mention.ts6
-rw-r--r--src/remote/activitypub/renderer/note.ts22
-rw-r--r--src/remote/activitypub/renderer/person.ts22
-rw-r--r--src/remote/activitypub/renderer/question.ts8
-rw-r--r--src/remote/activitypub/renderer/read.ts6
-rw-r--r--src/remote/activitypub/renderer/reject.ts4
-rw-r--r--src/remote/activitypub/renderer/remove.ts4
-rw-r--r--src/remote/activitypub/renderer/undo.ts4
-rw-r--r--src/remote/activitypub/renderer/update.ts4
-rw-r--r--src/remote/activitypub/renderer/vote.ts10
-rw-r--r--src/remote/activitypub/request.ts8
-rw-r--r--src/remote/activitypub/resolver.ts12
66 files changed, 332 insertions, 332 deletions
diff --git a/src/remote/activitypub/audience.ts b/src/remote/activitypub/audience.ts
index 1ced62e50a..7feef5ee7a 100644
--- a/src/remote/activitypub/audience.ts
+++ b/src/remote/activitypub/audience.ts
@@ -1,9 +1,9 @@
-import { ApObject, getApIds } from './type.js';
-import Resolver from './resolver.js';
-import { resolvePerson } from './models/person.js';
-import { unique, concat } from '../../prelude/array.js';
+import { ApObject, getApIds } from './type';
+import Resolver from './resolver';
+import { resolvePerson } from './models/person';
+import { unique, concat } from '../../prelude/array';
import * as promiseLimit from 'promise-limit';
-import { User, IRemoteUser } from '@/models/entities/user.js';
+import { User, IRemoteUser } from '@/models/entities/user';
type Visibility = 'public' | 'home' | 'followers' | 'specified';
diff --git a/src/remote/activitypub/db-resolver.ts b/src/remote/activitypub/db-resolver.ts
index b73ac1e52a..289b6f0ee8 100644
--- a/src/remote/activitypub/db-resolver.ts
+++ b/src/remote/activitypub/db-resolver.ts
@@ -1,11 +1,11 @@
-import config from '@/config/index.js';
-import { Note } from '@/models/entities/note.js';
-import { User, IRemoteUser } from '@/models/entities/user.js';
-import { UserPublickey } from '@/models/entities/user-publickey.js';
-import { MessagingMessage } from '@/models/entities/messaging-message.js';
-import { Notes, Users, UserPublickeys, MessagingMessages } from '@/models/index.js';
-import { IObject, getApId } from './type.js';
-import { resolvePerson } from './models/person.js';
+import config from '@/config/index';
+import { Note } from '@/models/entities/note';
+import { User, IRemoteUser } from '@/models/entities/user';
+import { UserPublickey } from '@/models/entities/user-publickey';
+import { MessagingMessage } from '@/models/entities/messaging-message';
+import { Notes, Users, UserPublickeys, MessagingMessages } from '@/models/index';
+import { IObject, getApId } from './type';
+import { resolvePerson } from './models/person';
import escapeRegexp = require('escape-regexp');
export default class DbResolver {
diff --git a/src/remote/activitypub/deliver-manager.ts b/src/remote/activitypub/deliver-manager.ts
index b4b2df6ee4..d37f97a447 100644
--- a/src/remote/activitypub/deliver-manager.ts
+++ b/src/remote/activitypub/deliver-manager.ts
@@ -1,6 +1,6 @@
-import { Users, Followings } from '@/models/index.js';
-import { ILocalUser, IRemoteUser, User } from '@/models/entities/user.js';
-import { deliver } from '@/queue/index.js';
+import { Users, Followings } from '@/models/index';
+import { ILocalUser, IRemoteUser, User } from '@/models/entities/user';
+import { deliver } from '@/queue/index';
//#region types
interface IRecipe {
diff --git a/src/remote/activitypub/kernel/accept/follow.ts b/src/remote/activitypub/kernel/accept/follow.ts
index 393516addf..1afb733ab5 100644
--- a/src/remote/activitypub/kernel/accept/follow.ts
+++ b/src/remote/activitypub/kernel/accept/follow.ts
@@ -1,8 +1,8 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import accept from '@/services/following/requests/accept.js';
-import { IFollow } from '../../type.js';
-import DbResolver from '../../db-resolver.js';
-import { relayAccepted } from '@/services/relay.js';
+import { IRemoteUser } from '@/models/entities/user';
+import accept from '@/services/following/requests/accept';
+import { IFollow } from '../../type';
+import DbResolver from '../../db-resolver';
+import { relayAccepted } from '@/services/relay';
export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => {
// ※ activityはこっちから投げたフォローリクエストなので、activity.actorは存在するローカルユーザーである必要がある
diff --git a/src/remote/activitypub/kernel/accept/index.ts b/src/remote/activitypub/kernel/accept/index.ts
index 354bd4f6e1..5c6f81b2e3 100644
--- a/src/remote/activitypub/kernel/accept/index.ts
+++ b/src/remote/activitypub/kernel/accept/index.ts
@@ -1,8 +1,8 @@
-import Resolver from '../../resolver.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import acceptFollow from './follow.js';
-import { IAccept, isFollow, getApType } from '../../type.js';
-import { apLogger } from '../../logger.js';
+import Resolver from '../../resolver';
+import { IRemoteUser } from '@/models/entities/user';
+import acceptFollow from './follow';
+import { IAccept, isFollow, getApType } from '../../type';
+import { apLogger } from '../../logger';
const logger = apLogger;
diff --git a/src/remote/activitypub/kernel/add/index.ts b/src/remote/activitypub/kernel/add/index.ts
index 9a2fac1e74..b33be0cc85 100644
--- a/src/remote/activitypub/kernel/add/index.ts
+++ b/src/remote/activitypub/kernel/add/index.ts
@@ -1,7 +1,7 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import { IAdd } from '../../type.js';
-import { resolveNote } from '../../models/note.js';
-import { addPinned } from '@/services/i/pin.js';
+import { IRemoteUser } from '@/models/entities/user';
+import { IAdd } from '../../type';
+import { resolveNote } from '../../models/note';
+import { addPinned } from '@/services/i/pin';
export default async (actor: IRemoteUser, activity: IAdd): Promise<void> => {
if ('actor' in activity && actor.uri !== activity.actor) {
diff --git a/src/remote/activitypub/kernel/announce/index.ts b/src/remote/activitypub/kernel/announce/index.ts
index 7e2e73bdd5..581357e577 100644
--- a/src/remote/activitypub/kernel/announce/index.ts
+++ b/src/remote/activitypub/kernel/announce/index.ts
@@ -1,8 +1,8 @@
-import Resolver from '../../resolver.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import announceNote from './note.js';
-import { IAnnounce, getApId } from '../../type.js';
-import { apLogger } from '../../logger.js';
+import Resolver from '../../resolver';
+import { IRemoteUser } from '@/models/entities/user';
+import announceNote from './note';
+import { IAnnounce, getApId } from '../../type';
+import { apLogger } from '../../logger';
const logger = apLogger;
diff --git a/src/remote/activitypub/kernel/announce/note.ts b/src/remote/activitypub/kernel/announce/note.ts
index 9a6402e3b8..b6ec090b99 100644
--- a/src/remote/activitypub/kernel/announce/note.ts
+++ b/src/remote/activitypub/kernel/announce/note.ts
@@ -1,13 +1,13 @@
-import Resolver from '../../resolver.js';
-import post from '@/services/note/create.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import { IAnnounce, getApId } from '../../type.js';
-import { fetchNote, resolveNote } from '../../models/note.js';
-import { apLogger } from '../../logger.js';
-import { extractDbHost } from '@/misc/convert-host.js';
-import { fetchMeta } from '@/misc/fetch-meta.js';
-import { getApLock } from '@/misc/app-lock.js';
-import { parseAudience } from '../../audience.js';
+import Resolver from '../../resolver';
+import post from '@/services/note/create';
+import { IRemoteUser } from '@/models/entities/user';
+import { IAnnounce, getApId } from '../../type';
+import { fetchNote, resolveNote } from '../../models/note';
+import { apLogger } from '../../logger';
+import { extractDbHost } from '@/misc/convert-host';
+import { fetchMeta } from '@/misc/fetch-meta';
+import { getApLock } from '@/misc/app-lock';
+import { parseAudience } from '../../audience';
const logger = apLogger;
diff --git a/src/remote/activitypub/kernel/block/index.ts b/src/remote/activitypub/kernel/block/index.ts
index 9e4f1b316e..4fd1e07b9b 100644
--- a/src/remote/activitypub/kernel/block/index.ts
+++ b/src/remote/activitypub/kernel/block/index.ts
@@ -1,7 +1,7 @@
-import { IBlock } from '../../type.js';
-import block from '@/services/blocking/create.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import DbResolver from '../../db-resolver.js';
+import { IBlock } from '../../type';
+import block from '@/services/blocking/create';
+import { IRemoteUser } from '@/models/entities/user';
+import DbResolver from '../../db-resolver';
export default async (actor: IRemoteUser, activity: IBlock): Promise<string> => {
// ※ activity.objectにブロック対象があり、それは存在するローカルユーザーのはず
diff --git a/src/remote/activitypub/kernel/create/index.ts b/src/remote/activitypub/kernel/create/index.ts
index 4aa10d85df..a44a6ced2b 100644
--- a/src/remote/activitypub/kernel/create/index.ts
+++ b/src/remote/activitypub/kernel/create/index.ts
@@ -1,9 +1,9 @@
-import Resolver from '../../resolver.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import createNote from './note.js';
-import { ICreate, getApId, isPost, getApType } from '../../type.js';
-import { apLogger } from '../../logger.js';
-import { toArray, concat, unique } from '../../../../prelude/array.js';
+import Resolver from '../../resolver';
+import { IRemoteUser } from '@/models/entities/user';
+import createNote from './note';
+import { ICreate, getApId, isPost, getApType } from '../../type';
+import { apLogger } from '../../logger';
+import { toArray, concat, unique } from '../../../../prelude/array';
const logger = apLogger;
diff --git a/src/remote/activitypub/kernel/create/note.ts b/src/remote/activitypub/kernel/create/note.ts
index b0a7be5ea5..5dda85d0f5 100644
--- a/src/remote/activitypub/kernel/create/note.ts
+++ b/src/remote/activitypub/kernel/create/note.ts
@@ -1,9 +1,9 @@
-import Resolver from '../../resolver.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import { createNote, fetchNote } from '../../models/note.js';
-import { getApId, IObject, ICreate } from '../../type.js';
-import { getApLock } from '@/misc/app-lock.js';
-import { extractDbHost } from '@/misc/convert-host.js';
+import Resolver from '../../resolver';
+import { IRemoteUser } from '@/models/entities/user';
+import { createNote, fetchNote } from '../../models/note';
+import { getApId, IObject, ICreate } from '../../type';
+import { getApLock } from '@/misc/app-lock';
+import { extractDbHost } from '@/misc/convert-host';
/**
* 投稿作成アクティビティを捌きます
diff --git a/src/remote/activitypub/kernel/delete/index.ts b/src/remote/activitypub/kernel/delete/index.ts
index 130b0aeec9..fe919975e7 100644
--- a/src/remote/activitypub/kernel/delete/index.ts
+++ b/src/remote/activitypub/kernel/delete/index.ts
@@ -1,7 +1,7 @@
-import deleteNote from './note.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import { IDelete, getApId, isTombstone, IObject, validPost, validActor } from '../../type.js';
-import { toSingle } from '../../../../prelude/array.js';
+import deleteNote from './note';
+import { IRemoteUser } from '@/models/entities/user';
+import { IDelete, getApId, isTombstone, IObject, validPost, validActor } from '../../type';
+import { toSingle } from '../../../../prelude/array';
/**
* 削除アクティビティを捌きます
diff --git a/src/remote/activitypub/kernel/delete/note.ts b/src/remote/activitypub/kernel/delete/note.ts
index ad5e1a2edc..3875a33d13 100644
--- a/src/remote/activitypub/kernel/delete/note.ts
+++ b/src/remote/activitypub/kernel/delete/note.ts
@@ -1,9 +1,9 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import deleteNode from '@/services/note/delete.js';
-import { apLogger } from '../../logger.js';
-import DbResolver from '../../db-resolver.js';
-import { getApLock } from '@/misc/app-lock.js';
-import { deleteMessage } from '@/services/messages/delete.js';
+import { IRemoteUser } from '@/models/entities/user';
+import deleteNode from '@/services/note/delete';
+import { apLogger } from '../../logger';
+import DbResolver from '../../db-resolver';
+import { getApLock } from '@/misc/app-lock';
+import { deleteMessage } from '@/services/messages/delete';
const logger = apLogger;
diff --git a/src/remote/activitypub/kernel/flag/index.ts b/src/remote/activitypub/kernel/flag/index.ts
index 62f3ac5ed5..7abfd694cd 100644
--- a/src/remote/activitypub/kernel/flag/index.ts
+++ b/src/remote/activitypub/kernel/flag/index.ts
@@ -1,9 +1,9 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import config from '@/config/index.js';
-import { IFlag, getApIds } from '../../type.js';
-import { AbuseUserReports, Users } from '@/models/index.js';
+import { IRemoteUser } from '@/models/entities/user';
+import config from '@/config/index';
+import { IFlag, getApIds } from '../../type';
+import { AbuseUserReports, Users } from '@/models/index';
import { In } from 'typeorm';
-import { genId } from '@/misc/gen-id.js';
+import { genId } from '@/misc/gen-id';
export default async (actor: IRemoteUser, activity: IFlag): Promise<string> => {
// objectは `(User|Note) | (User|Note)[]` だけど、全パターンDBスキーマと対応させられないので
diff --git a/src/remote/activitypub/kernel/follow.ts b/src/remote/activitypub/kernel/follow.ts
index 49c1a7ee01..3183207afa 100644
--- a/src/remote/activitypub/kernel/follow.ts
+++ b/src/remote/activitypub/kernel/follow.ts
@@ -1,7 +1,7 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import follow from '@/services/following/create.js';
-import { IFollow } from '../type.js';
-import DbResolver from '../db-resolver.js';
+import { IRemoteUser } from '@/models/entities/user';
+import follow from '@/services/following/create';
+import { IFollow } from '../type';
+import DbResolver from '../db-resolver';
export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => {
const dbResolver = new DbResolver();
diff --git a/src/remote/activitypub/kernel/index.ts b/src/remote/activitypub/kernel/index.ts
index fa0df9753f..0bd0814340 100644
--- a/src/remote/activitypub/kernel/index.ts
+++ b/src/remote/activitypub/kernel/index.ts
@@ -1,22 +1,22 @@
-import { IObject, isCreate, isDelete, isUpdate, isRead, isFollow, isAccept, isReject, isAdd, isRemove, isAnnounce, isLike, isUndo, isBlock, isCollectionOrOrderedCollection, isCollection, isFlag } from '../type.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import create from './create/index.js';
-import performDeleteActivity from './delete/index.js';
-import performUpdateActivity from './update/index.js';
-import { performReadActivity } from './read.js';
-import follow from './follow.js';
-import undo from './undo/index.js';
-import like from './like.js';
-import announce from './announce/index.js';
-import accept from './accept/index.js';
-import reject from './reject/index.js';
-import add from './add/index.js';
-import remove from './remove/index.js';
-import block from './block/index.js';
-import flag from './flag/index.js';
-import { apLogger } from '../logger.js';
-import Resolver from '../resolver.js';
-import { toArray } from '../../../prelude/array.js';
+import { IObject, isCreate, isDelete, isUpdate, isRead, isFollow, isAccept, isReject, isAdd, isRemove, isAnnounce, isLike, isUndo, isBlock, isCollectionOrOrderedCollection, isCollection, isFlag } from '../type';
+import { IRemoteUser } from '@/models/entities/user';
+import create from './create/index';
+import performDeleteActivity from './delete/index';
+import performUpdateActivity from './update/index';
+import { performReadActivity } from './read';
+import follow from './follow';
+import undo from './undo/index';
+import like from './like';
+import announce from './announce/index';
+import accept from './accept/index';
+import reject from './reject/index';
+import add from './add/index';
+import remove from './remove/index';
+import block from './block/index';
+import flag from './flag/index';
+import { apLogger } from '../logger';
+import Resolver from '../resolver';
+import { toArray } from '../../../prelude/array';
export async function performActivity(actor: IRemoteUser, activity: IObject) {
if (isCollectionOrOrderedCollection(activity)) {
diff --git a/src/remote/activitypub/kernel/like.ts b/src/remote/activitypub/kernel/like.ts
index 715cc379b9..58d5aefefc 100644
--- a/src/remote/activitypub/kernel/like.ts
+++ b/src/remote/activitypub/kernel/like.ts
@@ -1,7 +1,7 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import { ILike, getApId } from '../type.js';
-import create from '@/services/note/reaction/create.js';
-import { fetchNote, extractEmojis } from '../models/note.js';
+import { IRemoteUser } from '@/models/entities/user';
+import { ILike, getApId } from '../type';
+import create from '@/services/note/reaction/create';
+import { fetchNote, extractEmojis } from '../models/note';
export default async (actor: IRemoteUser, activity: ILike) => {
const targetUri = getApId(activity.object);
diff --git a/src/remote/activitypub/kernel/read.ts b/src/remote/activitypub/kernel/read.ts
index 93cc36ec46..11a1731869 100644
--- a/src/remote/activitypub/kernel/read.ts
+++ b/src/remote/activitypub/kernel/read.ts
@@ -1,8 +1,8 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import { IRead, getApId } from '../type.js';
-import { isSelfHost, extractDbHost } from '@/misc/convert-host.js';
-import { MessagingMessages } from '@/models/index.js';
-import { readUserMessagingMessage } from '../../../server/api/common/read-messaging-message.js';
+import { IRemoteUser } from '@/models/entities/user';
+import { IRead, getApId } from '../type';
+import { isSelfHost, extractDbHost } from '@/misc/convert-host';
+import { MessagingMessages } from '@/models/index';
+import { readUserMessagingMessage } from '../../../server/api/common/read-messaging-message';
export const performReadActivity = async (actor: IRemoteUser, activity: IRead): Promise<string> => {
const id = await getApId(activity.object);
diff --git a/src/remote/activitypub/kernel/reject/follow.ts b/src/remote/activitypub/kernel/reject/follow.ts
index 7099864e76..356547440f 100644
--- a/src/remote/activitypub/kernel/reject/follow.ts
+++ b/src/remote/activitypub/kernel/reject/follow.ts
@@ -1,8 +1,8 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import reject from '@/services/following/requests/reject.js';
-import { IFollow } from '../../type.js';
-import DbResolver from '../../db-resolver.js';
-import { relayRejected } from '@/services/relay.js';
+import { IRemoteUser } from '@/models/entities/user';
+import reject from '@/services/following/requests/reject';
+import { IFollow } from '../../type';
+import DbResolver from '../../db-resolver';
+import { relayRejected } from '@/services/relay';
export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => {
// ※ activityはこっちから投げたフォローリクエストなので、activity.actorは存在するローカルユーザーである必要がある
diff --git a/src/remote/activitypub/kernel/reject/index.ts b/src/remote/activitypub/kernel/reject/index.ts
index ed86a4aa2f..d0de9c329b 100644
--- a/src/remote/activitypub/kernel/reject/index.ts
+++ b/src/remote/activitypub/kernel/reject/index.ts
@@ -1,8 +1,8 @@
-import Resolver from '../../resolver.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import rejectFollow from './follow.js';
-import { IReject, isFollow, getApType } from '../../type.js';
-import { apLogger } from '../../logger.js';
+import Resolver from '../../resolver';
+import { IRemoteUser } from '@/models/entities/user';
+import rejectFollow from './follow';
+import { IReject, isFollow, getApType } from '../../type';
+import { apLogger } from '../../logger';
const logger = apLogger;
diff --git a/src/remote/activitypub/kernel/remove/index.ts b/src/remote/activitypub/kernel/remove/index.ts
index 7d7b3386c0..d59953e653 100644
--- a/src/remote/activitypub/kernel/remove/index.ts
+++ b/src/remote/activitypub/kernel/remove/index.ts
@@ -1,7 +1,7 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import { IRemove } from '../../type.js';
-import { resolveNote } from '../../models/note.js';
-import { removePinned } from '@/services/i/pin.js';
+import { IRemoteUser } from '@/models/entities/user';
+import { IRemove } from '../../type';
+import { resolveNote } from '../../models/note';
+import { removePinned } from '@/services/i/pin';
export default async (actor: IRemoteUser, activity: IRemove): Promise<void> => {
if ('actor' in activity && actor.uri !== activity.actor) {
diff --git a/src/remote/activitypub/kernel/undo/announce.ts b/src/remote/activitypub/kernel/undo/announce.ts
index d0c8c7cb66..7bb9d7fcad 100644
--- a/src/remote/activitypub/kernel/undo/announce.ts
+++ b/src/remote/activitypub/kernel/undo/announce.ts
@@ -1,7 +1,7 @@
-import { Notes } from '@/models/index.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import { IAnnounce, getApId } from '../../type.js';
-import deleteNote from '@/services/note/delete.js';
+import { Notes } from '@/models/index';
+import { IRemoteUser } from '@/models/entities/user';
+import { IAnnounce, getApId } from '../../type';
+import deleteNote from '@/services/note/delete';
export const undoAnnounce = async (actor: IRemoteUser, activity: IAnnounce): Promise<string> => {
const uri = getApId(activity);
diff --git a/src/remote/activitypub/kernel/undo/block.ts b/src/remote/activitypub/kernel/undo/block.ts
index 844b067e2b..61940486be 100644
--- a/src/remote/activitypub/kernel/undo/block.ts
+++ b/src/remote/activitypub/kernel/undo/block.ts
@@ -1,7 +1,7 @@
-import { IBlock } from '../../type.js';
-import unblock from '@/services/blocking/delete.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import DbResolver from '../../db-resolver.js';
+import { IBlock } from '../../type';
+import unblock from '@/services/blocking/delete';
+import { IRemoteUser } from '@/models/entities/user';
+import DbResolver from '../../db-resolver';
export default async (actor: IRemoteUser, activity: IBlock): Promise<string> => {
const dbResolver = new DbResolver();
diff --git a/src/remote/activitypub/kernel/undo/follow.ts b/src/remote/activitypub/kernel/undo/follow.ts
index cbf9b2e800..d85c7e4a71 100644
--- a/src/remote/activitypub/kernel/undo/follow.ts
+++ b/src/remote/activitypub/kernel/undo/follow.ts
@@ -1,9 +1,9 @@
-import unfollow from '@/services/following/delete.js';
-import cancelRequest from '@/services/following/requests/cancel.js';
-import { IFollow } from '../../type.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import { FollowRequests, Followings } from '@/models/index.js';
-import DbResolver from '../../db-resolver.js';
+import unfollow from '@/services/following/delete';
+import cancelRequest from '@/services/following/requests/cancel';
+import { IFollow } from '../../type';
+import { IRemoteUser } from '@/models/entities/user';
+import { FollowRequests, Followings } from '@/models/index';
+import DbResolver from '../../db-resolver';
export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => {
const dbResolver = new DbResolver();
diff --git a/src/remote/activitypub/kernel/undo/index.ts b/src/remote/activitypub/kernel/undo/index.ts
index a03a785c0b..14b1add152 100644
--- a/src/remote/activitypub/kernel/undo/index.ts
+++ b/src/remote/activitypub/kernel/undo/index.ts
@@ -1,11 +1,11 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import { IUndo, isFollow, isBlock, isLike, isAnnounce, getApType } from '../../type.js';
-import unfollow from './follow.js';
-import unblock from './block.js';
-import undoLike from './like.js';
-import { undoAnnounce } from './announce.js';
-import Resolver from '../../resolver.js';
-import { apLogger } from '../../logger.js';
+import { IRemoteUser } from '@/models/entities/user';
+import { IUndo, isFollow, isBlock, isLike, isAnnounce, getApType } from '../../type';
+import unfollow from './follow';
+import unblock from './block';
+import undoLike from './like';
+import { undoAnnounce } from './announce';
+import Resolver from '../../resolver';
+import { apLogger } from '../../logger';
const logger = apLogger;
diff --git a/src/remote/activitypub/kernel/undo/like.ts b/src/remote/activitypub/kernel/undo/like.ts
index 283e556b35..7f821cada0 100644
--- a/src/remote/activitypub/kernel/undo/like.ts
+++ b/src/remote/activitypub/kernel/undo/like.ts
@@ -1,7 +1,7 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import { ILike, getApId } from '../../type.js';
-import deleteReaction from '@/services/note/reaction/delete.js';
-import { fetchNote } from '../../models/note.js';
+import { IRemoteUser } from '@/models/entities/user';
+import { ILike, getApId } from '../../type';
+import deleteReaction from '@/services/note/reaction/delete';
+import { fetchNote } from '../../models/note';
/**
* Process Undo.Like activity
diff --git a/src/remote/activitypub/kernel/update/index.ts b/src/remote/activitypub/kernel/update/index.ts
index 7888c698e3..52bfc5002e 100644
--- a/src/remote/activitypub/kernel/update/index.ts
+++ b/src/remote/activitypub/kernel/update/index.ts
@@ -1,9 +1,9 @@
-import { IRemoteUser } from '@/models/entities/user.js';
-import { getApType, IUpdate, isActor } from '../../type.js';
-import { apLogger } from '../../logger.js';
-import { updateQuestion } from '../../models/question.js';
-import Resolver from '../../resolver.js';
-import { updatePerson } from '../../models/person.js';
+import { IRemoteUser } from '@/models/entities/user';
+import { getApType, IUpdate, isActor } from '../../type';
+import { apLogger } from '../../logger';
+import { updateQuestion } from '../../models/question';
+import Resolver from '../../resolver';
+import { updatePerson } from '../../models/person';
/**
* Updateアクティビティを捌きます
diff --git a/src/remote/activitypub/logger.ts b/src/remote/activitypub/logger.ts
index cab51b3bf5..e13add01db 100644
--- a/src/remote/activitypub/logger.ts
+++ b/src/remote/activitypub/logger.ts
@@ -1,3 +1,3 @@
-import { remoteLogger } from '../logger.js';
+import { remoteLogger } from '../logger';
export const apLogger = remoteLogger.createSubLogger('ap', 'magenta');
diff --git a/src/remote/activitypub/misc/get-note-html.ts b/src/remote/activitypub/misc/get-note-html.ts
index 3800b40608..043335a5be 100644
--- a/src/remote/activitypub/misc/get-note-html.ts
+++ b/src/remote/activitypub/misc/get-note-html.ts
@@ -1,6 +1,6 @@
import * as mfm from 'mfm-js';
-import { Note } from '@/models/entities/note.js';
-import { toHtml } from '../../../mfm/to-html.js';
+import { Note } from '@/models/entities/note';
+import { toHtml } from '../../../mfm/to-html';
export default function(note: Note) {
let html = note.text ? toHtml(mfm.parse(note.text), JSON.parse(note.mentionedRemoteUsers)) : null;
diff --git a/src/remote/activitypub/misc/html-to-mfm.ts b/src/remote/activitypub/misc/html-to-mfm.ts
index bb1ba7925c..5cca04df21 100644
--- a/src/remote/activitypub/misc/html-to-mfm.ts
+++ b/src/remote/activitypub/misc/html-to-mfm.ts
@@ -1,6 +1,6 @@
-import { IObject } from '../type.js';
-import { extractApHashtagObjects } from '../models/tag.js';
-import { fromHtml } from '../../../mfm/from-html.js';
+import { IObject } from '../type';
+import { extractApHashtagObjects } from '../models/tag';
+import { fromHtml } from '../../../mfm/from-html';
export function htmlToMfm(html: string, tag?: IObject | IObject[]) {
const hashtagNames = extractApHashtagObjects(tag).map(x => x.name).filter((x): x is string => x != null);
diff --git a/src/remote/activitypub/misc/ld-signature.ts b/src/remote/activitypub/misc/ld-signature.ts
index c73cef81e1..dec07ea81b 100644
--- a/src/remote/activitypub/misc/ld-signature.ts
+++ b/src/remote/activitypub/misc/ld-signature.ts
@@ -1,8 +1,8 @@
import * as crypto from 'crypto';
import * as jsonld from 'jsonld';
-import { CONTEXTS } from './contexts.js';
+import { CONTEXTS } from './contexts';
import fetch from 'node-fetch';
-import { httpAgent, httpsAgent } from '@/misc/fetch.js';
+import { httpAgent, httpsAgent } from '@/misc/fetch';
// RsaSignature2017 based from https://github.com/transmute-industries/RsaSignature2017
diff --git a/src/remote/activitypub/models/image.ts b/src/remote/activitypub/models/image.ts
index ea2584407a..cd28d59a16 100644
--- a/src/remote/activitypub/models/image.ts
+++ b/src/remote/activitypub/models/image.ts
@@ -1,10 +1,10 @@
-import uploadFromUrl from '@/services/drive/upload-from-url.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import Resolver from '../resolver.js';
-import { fetchMeta } from '@/misc/fetch-meta.js';
-import { apLogger } from '../logger.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { DriveFiles } from '@/models/index.js';
+import uploadFromUrl from '@/services/drive/upload-from-url';
+import { IRemoteUser } from '@/models/entities/user';
+import Resolver from '../resolver';
+import { fetchMeta } from '@/misc/fetch-meta';
+import { apLogger } from '../logger';
+import { DriveFile } from '@/models/entities/drive-file';
+import { DriveFiles } from '@/models/index';
const logger = apLogger;
diff --git a/src/remote/activitypub/models/mention.ts b/src/remote/activitypub/models/mention.ts
index e84429815d..0db0324aba 100644
--- a/src/remote/activitypub/models/mention.ts
+++ b/src/remote/activitypub/models/mention.ts
@@ -1,9 +1,9 @@
-import { toArray, unique } from '../../../prelude/array.js';
-import { IObject, isMention, IApMention } from '../type.js';
-import { resolvePerson } from './person.js';
+import { toArray, unique } from '../../../prelude/array';
+import { IObject, isMention, IApMention } from '../type';
+import { resolvePerson } from './person';
import * as promiseLimit from 'promise-limit';
-import Resolver from '../resolver.js';
-import { User } from '@/models/entities/user.js';
+import Resolver from '../resolver';
+import { User } from '@/models/entities/user';
export async function extractApMentions(tags: IObject | IObject[] | null | undefined) {
const hrefs = unique(extractApMentionObjects(tags).map(x => x.href as string));
diff --git a/src/remote/activitypub/models/note.ts b/src/remote/activitypub/models/note.ts
index 2a4f51bb3b..d28d642a0a 100644
--- a/src/remote/activitypub/models/note.ts
+++ b/src/remote/activitypub/models/note.ts
@@ -1,31 +1,31 @@
import * as promiseLimit from 'promise-limit';
-import config from '@/config/index.js';
-import Resolver from '../resolver.js';
-import post from '@/services/note/create.js';
-import { resolvePerson, updatePerson } from './person.js';
-import { resolveImage } from './image.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import { htmlToMfm } from '../misc/html-to-mfm.js';
-import { extractApHashtags } from './tag.js';
-import { unique, toArray, toSingle } from '../../../prelude/array.js';
-import { extractPollFromQuestion } from './question.js';
-import vote from '@/services/note/polls/vote.js';
-import { apLogger } from '../logger.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { deliverQuestionUpdate } from '@/services/note/polls/update.js';
-import { extractDbHost, toPuny } from '@/misc/convert-host.js';
-import { Emojis, Polls, MessagingMessages } from '@/models/index.js';
-import { Note } from '@/models/entities/note.js';
-import { IObject, getOneApId, getApId, getOneApHrefNullable, validPost, IPost, isEmoji, getApType } from '../type.js';
-import { Emoji } from '@/models/entities/emoji.js';
-import { genId } from '@/misc/gen-id.js';
-import { fetchMeta } from '@/misc/fetch-meta.js';
-import { getApLock } from '@/misc/app-lock.js';
-import { createMessage } from '@/services/messages/create.js';
-import { parseAudience } from '../audience.js';
-import { extractApMentions } from './mention.js';
-import DbResolver from '../db-resolver.js';
+import config from '@/config/index';
+import Resolver from '../resolver';
+import post from '@/services/note/create';
+import { resolvePerson, updatePerson } from './person';
+import { resolveImage } from './image';
+import { IRemoteUser } from '@/models/entities/user';
+import { htmlToMfm } from '../misc/html-to-mfm';
+import { extractApHashtags } from './tag';
+import { unique, toArray, toSingle } from '../../../prelude/array';
+import { extractPollFromQuestion } from './question';
+import vote from '@/services/note/polls/vote';
+import { apLogger } from '../logger';
+import { DriveFile } from '@/models/entities/drive-file';
+import { deliverQuestionUpdate } from '@/services/note/polls/update';
+import { extractDbHost, toPuny } from '@/misc/convert-host';
+import { Emojis, Polls, MessagingMessages } from '@/models/index';
+import { Note } from '@/models/entities/note';
+import { IObject, getOneApId, getApId, getOneApHrefNullable, validPost, IPost, isEmoji, getApType } from '../type';
+import { Emoji } from '@/models/entities/emoji';
+import { genId } from '@/misc/gen-id';
+import { fetchMeta } from '@/misc/fetch-meta';
+import { getApLock } from '@/misc/app-lock';
+import { createMessage } from '@/services/messages/create';
+import { parseAudience } from '../audience';
+import { extractApMentions } from './mention';
+import DbResolver from '../db-resolver';
const logger = apLogger;
diff --git a/src/remote/activitypub/models/person.ts b/src/remote/activitypub/models/person.ts
index 2b7d707ac8..3ae13135e3 100644
--- a/src/remote/activitypub/models/person.ts
+++ b/src/remote/activitypub/models/person.ts
@@ -2,32 +2,32 @@ import { URL } from 'url';
import * as promiseLimit from 'promise-limit';
import $, { Context } from 'cafy';
-import config from '@/config/index.js';
-import Resolver from '../resolver.js';
-import { resolveImage } from './image.js';
-import { isCollectionOrOrderedCollection, isCollection, IActor, getApId, getOneApHrefNullable, IObject, isPropertyValue, IApPropertyValue, getApType, isActor } from '../type.js';
-import { fromHtml } from '../../../mfm/from-html.js';
-import { htmlToMfm } from '../misc/html-to-mfm.js';
-import { resolveNote, extractEmojis } from './note.js';
-import { registerOrFetchInstanceDoc } from '@/services/register-or-fetch-instance-doc.js';
-import { extractApHashtags } from './tag.js';
-import { apLogger } from '../logger.js';
-import { Note } from '@/models/entities/note.js';
-import { updateUsertags } from '@/services/update-hashtag.js';
-import { Users, Instances, DriveFiles, Followings, UserProfiles, UserPublickeys } from '@/models/index.js';
-import { User, IRemoteUser } from '@/models/entities/user.js';
-import { Emoji } from '@/models/entities/emoji.js';
-import { UserNotePining } from '@/models/entities/user-note-pining.js';
-import { genId } from '@/misc/gen-id.js';
-import { instanceChart, usersChart } from '@/services/chart/index.js';
-import { UserPublickey } from '@/models/entities/user-publickey.js';
-import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
-import { toPuny } from '@/misc/convert-host.js';
-import { UserProfile } from '@/models/entities/user-profile.js';
+import config from '@/config/index';
+import Resolver from '../resolver';
+import { resolveImage } from './image';
+import { isCollectionOrOrderedCollection, isCollection, IActor, getApId, getOneApHrefNullable, IObject, isPropertyValue, IApPropertyValue, getApType, isActor } from '../type';
+import { fromHtml } from '../../../mfm/from-html';
+import { htmlToMfm } from '../misc/html-to-mfm';
+import { resolveNote, extractEmojis } from './note';
+import { registerOrFetchInstanceDoc } from '@/services/register-or-fetch-instance-doc';
+import { extractApHashtags } from './tag';
+import { apLogger } from '../logger';
+import { Note } from '@/models/entities/note';
+import { updateUsertags } from '@/services/update-hashtag';
+import { Users, Instances, DriveFiles, Followings, UserProfiles, UserPublickeys } from '@/models/index';
+import { User, IRemoteUser } from '@/models/entities/user';
+import { Emoji } from '@/models/entities/emoji';
+import { UserNotePining } from '@/models/entities/user-note-pining';
+import { genId } from '@/misc/gen-id';
+import { instanceChart, usersChart } from '@/services/chart/index';
+import { UserPublickey } from '@/models/entities/user-publickey';
+import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error';
+import { toPuny } from '@/misc/convert-host';
+import { UserProfile } from '@/models/entities/user-profile';
import { getConnection } from 'typeorm';
-import { toArray } from '../../../prelude/array.js';
-import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata.js';
-import { normalizeForSearch } from '@/misc/normalize-for-search.js';
+import { toArray } from '../../../prelude/array';
+import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata';
+import { normalizeForSearch } from '@/misc/normalize-for-search';
const logger = apLogger;
diff --git a/src/remote/activitypub/models/question.ts b/src/remote/activitypub/models/question.ts
index f954a38e8b..79f93c3a30 100644
--- a/src/remote/activitypub/models/question.ts
+++ b/src/remote/activitypub/models/question.ts
@@ -1,9 +1,9 @@
-import config from '@/config/index.js';
-import Resolver from '../resolver.js';
-import { IObject, IQuestion, isQuestion, } from '../type.js';
-import { apLogger } from '../logger.js';
-import { Notes, Polls } from '@/models/index.js';
-import { IPoll } from '@/models/entities/poll.js';
+import config from '@/config/index';
+import Resolver from '../resolver';
+import { IObject, IQuestion, isQuestion, } from '../type';
+import { apLogger } from '../logger';
+import { Notes, Polls } from '@/models/index';
+import { IPoll } from '@/models/entities/poll';
export async function extractPollFromQuestion(source: string | IObject, resolver?: Resolver): Promise<IPoll> {
if (resolver == null) resolver = new Resolver();
diff --git a/src/remote/activitypub/models/tag.ts b/src/remote/activitypub/models/tag.ts
index cb8c753365..d25cb463fe 100644
--- a/src/remote/activitypub/models/tag.ts
+++ b/src/remote/activitypub/models/tag.ts
@@ -1,5 +1,5 @@
-import { toArray } from '../../../prelude/array.js';
-import { IObject, isHashtag, IApHashtag } from '../type.js';
+import { toArray } from '../../../prelude/array';
+import { IObject, isHashtag, IApHashtag } from '../type';
export function extractApHashtags(tags: IObject | IObject[] | null | undefined) {
if (tags == null) return [];
diff --git a/src/remote/activitypub/perform.ts b/src/remote/activitypub/perform.ts
index 3e18815586..01f0e3676e 100644
--- a/src/remote/activitypub/perform.ts
+++ b/src/remote/activitypub/perform.ts
@@ -1,6 +1,6 @@
-import { IObject } from './type.js';
-import { IRemoteUser } from '@/models/entities/user.js';
-import { performActivity } from './kernel/index.js';
+import { IObject } from './type';
+import { IRemoteUser } from '@/models/entities/user';
+import { performActivity } from './kernel/index';
export default async (actor: IRemoteUser, activity: IObject): Promise<void> => {
await performActivity(actor, activity);
diff --git a/src/remote/activitypub/renderer/accept.ts b/src/remote/activitypub/renderer/accept.ts
index f1037e95f2..f1e61f4c6a 100644
--- a/src/remote/activitypub/renderer/accept.ts
+++ b/src/remote/activitypub/renderer/accept.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
export default (object: any, user: { id: User['id']; host: null }) => ({
type: 'Accept',
diff --git a/src/remote/activitypub/renderer/add.ts b/src/remote/activitypub/renderer/add.ts
index fce541bcdc..21414a9380 100644
--- a/src/remote/activitypub/renderer/add.ts
+++ b/src/remote/activitypub/renderer/add.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { ILocalUser } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { ILocalUser } from '@/models/entities/user';
export default (user: ILocalUser, target: any, object: any) => ({
type: 'Add',
diff --git a/src/remote/activitypub/renderer/announce.ts b/src/remote/activitypub/renderer/announce.ts
index dfbe4714c9..7bf90922be 100644
--- a/src/remote/activitypub/renderer/announce.ts
+++ b/src/remote/activitypub/renderer/announce.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { Note } from '@/models/entities/note.js';
+import config from '@/config/index';
+import { Note } from '@/models/entities/note';
export default (object: any, note: Note) => {
const attributedTo = `${config.url}/users/${note.userId}`;
diff --git a/src/remote/activitypub/renderer/block.ts b/src/remote/activitypub/renderer/block.ts
index 4e9102e6f0..bb3d74295a 100644
--- a/src/remote/activitypub/renderer/block.ts
+++ b/src/remote/activitypub/renderer/block.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { ILocalUser, IRemoteUser } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { ILocalUser, IRemoteUser } from '@/models/entities/user';
export default (blocker: ILocalUser, blockee: IRemoteUser) => ({
type: 'Block',
diff --git a/src/remote/activitypub/renderer/create.ts b/src/remote/activitypub/renderer/create.ts
index 103ce4bfd5..04aa993a91 100644
--- a/src/remote/activitypub/renderer/create.ts
+++ b/src/remote/activitypub/renderer/create.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { Note } from '@/models/entities/note.js';
+import config from '@/config/index';
+import { Note } from '@/models/entities/note';
export default (object: any, note: Note) => {
const activity = {
diff --git a/src/remote/activitypub/renderer/delete.ts b/src/remote/activitypub/renderer/delete.ts
index 159a486e08..83b27fa866 100644
--- a/src/remote/activitypub/renderer/delete.ts
+++ b/src/remote/activitypub/renderer/delete.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
export default (object: any, user: { id: User['id']; host: null }) => ({
type: 'Delete',
diff --git a/src/remote/activitypub/renderer/document.ts b/src/remote/activitypub/renderer/document.ts
index c973de4c4c..a9d86dea15 100644
--- a/src/remote/activitypub/renderer/document.ts
+++ b/src/remote/activitypub/renderer/document.ts
@@ -1,5 +1,5 @@
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { DriveFiles } from '@/models/index.js';
+import { DriveFile } from '@/models/entities/drive-file';
+import { DriveFiles } from '@/models/index';
export default (file: DriveFile) => ({
type: 'Document',
diff --git a/src/remote/activitypub/renderer/emoji.ts b/src/remote/activitypub/renderer/emoji.ts
index a58c0c1ad9..ca514c56b5 100644
--- a/src/remote/activitypub/renderer/emoji.ts
+++ b/src/remote/activitypub/renderer/emoji.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { Emoji } from '@/models/entities/emoji.js';
+import config from '@/config/index';
+import { Emoji } from '@/models/entities/emoji';
export default (emoji: Emoji) => ({
id: `${config.url}/emojis/${emoji.name}`,
diff --git a/src/remote/activitypub/renderer/follow-relay.ts b/src/remote/activitypub/renderer/follow-relay.ts
index 4340b70537..984c3c7639 100644
--- a/src/remote/activitypub/renderer/follow-relay.ts
+++ b/src/remote/activitypub/renderer/follow-relay.ts
@@ -1,6 +1,6 @@
-import config from '@/config/index.js';
-import { Relay } from '@/models/entities/relay.js';
-import { ILocalUser } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { Relay } from '@/models/entities/relay';
+import { ILocalUser } from '@/models/entities/user';
export function renderFollowRelay(relay: Relay, relayActor: ILocalUser) {
const follow = {
diff --git a/src/remote/activitypub/renderer/follow-user.ts b/src/remote/activitypub/renderer/follow-user.ts
index ad1d63b933..e3dde7f7fe 100644
--- a/src/remote/activitypub/renderer/follow-user.ts
+++ b/src/remote/activitypub/renderer/follow-user.ts
@@ -1,6 +1,6 @@
-import config from '@/config/index.js';
-import { Users } from '@/models/index.js';
-import { User } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { Users } from '@/models/index';
+import { User } from '@/models/entities/user';
/**
* Convert (local|remote)(Follower|Followee)ID to URL
diff --git a/src/remote/activitypub/renderer/follow.ts b/src/remote/activitypub/renderer/follow.ts
index 9f80bf829b..c8a7946799 100644
--- a/src/remote/activitypub/renderer/follow.ts
+++ b/src/remote/activitypub/renderer/follow.ts
@@ -1,6 +1,6 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
-import { Users } from '@/models/index.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
+import { Users } from '@/models/index';
export default (follower: { id: User['id']; host: User['host']; uri: User['host'] }, followee: { id: User['id']; host: User['host']; uri: User['host'] }, requestId?: string) => {
const follow = {
diff --git a/src/remote/activitypub/renderer/hashtag.ts b/src/remote/activitypub/renderer/hashtag.ts
index faa0efe924..290c74c7fe 100644
--- a/src/remote/activitypub/renderer/hashtag.ts
+++ b/src/remote/activitypub/renderer/hashtag.ts
@@ -1,4 +1,4 @@
-import config from '@/config/index.js';
+import config from '@/config/index';
export default (tag: string) => ({
type: 'Hashtag',
diff --git a/src/remote/activitypub/renderer/image.ts b/src/remote/activitypub/renderer/image.ts
index 6440248a4a..0cb3d6ed65 100644
--- a/src/remote/activitypub/renderer/image.ts
+++ b/src/remote/activitypub/renderer/image.ts
@@ -1,5 +1,5 @@
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { DriveFiles } from '@/models/index.js';
+import { DriveFile } from '@/models/entities/drive-file';
+import { DriveFiles } from '@/models/index';
export default (file: DriveFile) => ({
type: 'Image',
diff --git a/src/remote/activitypub/renderer/index.ts b/src/remote/activitypub/renderer/index.ts
index 5ab5b1cdbe..f6ec6583d0 100644
--- a/src/remote/activitypub/renderer/index.ts
+++ b/src/remote/activitypub/renderer/index.ts
@@ -1,9 +1,9 @@
-import config from '@/config/index.js';
+import config from '@/config/index';
import { v4 as uuid } from 'uuid';
-import { IActivity } from '../type.js';
-import { LdSignature } from '../misc/ld-signature.js';
-import { getUserKeypair } from '@/misc/keypair-store.js';
-import { User } from '@/models/entities/user.js';
+import { IActivity } from '../type';
+import { LdSignature } from '../misc/ld-signature';
+import { getUserKeypair } from '@/misc/keypair-store';
+import { User } from '@/models/entities/user';
export const renderActivity = (x: any): IActivity | null => {
if (x == null) return null;
diff --git a/src/remote/activitypub/renderer/key.ts b/src/remote/activitypub/renderer/key.ts
index 4db1d83262..992f98d79a 100644
--- a/src/remote/activitypub/renderer/key.ts
+++ b/src/remote/activitypub/renderer/key.ts
@@ -1,6 +1,6 @@
-import config from '@/config/index.js';
-import { ILocalUser } from '@/models/entities/user.js';
-import { UserKeypair } from '@/models/entities/user-keypair.js';
+import config from '@/config/index';
+import { ILocalUser } from '@/models/entities/user';
+import { UserKeypair } from '@/models/entities/user-keypair';
import { createPublicKey } from 'crypto';
export default (user: ILocalUser, key: UserKeypair, postfix?: string) => ({
diff --git a/src/remote/activitypub/renderer/like.ts b/src/remote/activitypub/renderer/like.ts
index 6ec0bfb034..a7e79a176f 100644
--- a/src/remote/activitypub/renderer/like.ts
+++ b/src/remote/activitypub/renderer/like.ts
@@ -1,8 +1,8 @@
-import config from '@/config/index.js';
-import { NoteReaction } from '@/models/entities/note-reaction.js';
-import { Note } from '@/models/entities/note.js';
-import { Emojis } from '@/models/index.js';
-import renderEmoji from './emoji.js';
+import config from '@/config/index';
+import { NoteReaction } from '@/models/entities/note-reaction';
+import { Note } from '@/models/entities/note';
+import { Emojis } from '@/models/index';
+import renderEmoji from './emoji';
export const renderLike = async (noteReaction: NoteReaction, note: Note) => {
const reaction = noteReaction.reaction;
diff --git a/src/remote/activitypub/renderer/mention.ts b/src/remote/activitypub/renderer/mention.ts
index c7e62e8840..06d2d33e59 100644
--- a/src/remote/activitypub/renderer/mention.ts
+++ b/src/remote/activitypub/renderer/mention.ts
@@ -1,6 +1,6 @@
-import config from '@/config/index.js';
-import { User, ILocalUser } from '@/models/entities/user.js';
-import { Users } from '@/models/index.js';
+import config from '@/config/index';
+import { User, ILocalUser } from '@/models/entities/user';
+import { Users } from '@/models/index';
export default (mention: User) => ({
type: 'Mention',
diff --git a/src/remote/activitypub/renderer/note.ts b/src/remote/activitypub/renderer/note.ts
index 0f4513fca7..84a1786784 100644
--- a/src/remote/activitypub/renderer/note.ts
+++ b/src/remote/activitypub/renderer/note.ts
@@ -1,15 +1,15 @@
-import renderDocument from './document.js';
-import renderHashtag from './hashtag.js';
-import renderMention from './mention.js';
-import renderEmoji from './emoji.js';
-import config from '@/config/index.js';
-import toHtml from '../misc/get-note-html.js';
-import { Note, IMentionedRemoteUsers } from '@/models/entities/note.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { DriveFiles, Notes, Users, Emojis, Polls } from '@/models/index.js';
+import renderDocument from './document';
+import renderHashtag from './hashtag';
+import renderMention from './mention';
+import renderEmoji from './emoji';
+import config from '@/config/index';
+import toHtml from '../misc/get-note-html';
+import { Note, IMentionedRemoteUsers } from '@/models/entities/note';
+import { DriveFile } from '@/models/entities/drive-file';
+import { DriveFiles, Notes, Users, Emojis, Polls } from '@/models/index';
import { In } from 'typeorm';
-import { Emoji } from '@/models/entities/emoji.js';
-import { Poll } from '@/models/entities/poll.js';
+import { Emoji } from '@/models/entities/emoji';
+import { Poll } from '@/models/entities/poll';
export default async function renderNote(note: Note, dive = true, isTalk = false): Promise<any> {
const getPromisedFiles = async (ids: string[]) => {
diff --git a/src/remote/activitypub/renderer/person.ts b/src/remote/activitypub/renderer/person.ts
index edcb68ef6a..f2a283a870 100644
--- a/src/remote/activitypub/renderer/person.ts
+++ b/src/remote/activitypub/renderer/person.ts
@@ -1,16 +1,16 @@
import { URL } from 'url';
import * as mfm from 'mfm-js';
-import renderImage from './image.js';
-import renderKey from './key.js';
-import config from '@/config/index.js';
-import { ILocalUser } from '@/models/entities/user.js';
-import { toHtml } from '../../../mfm/to-html.js';
-import { getEmojis } from './note.js';
-import renderEmoji from './emoji.js';
-import { IIdentifier } from '../models/identifier.js';
-import renderHashtag from './hashtag.js';
-import { DriveFiles, UserProfiles } from '@/models/index.js';
-import { getUserKeypair } from '@/misc/keypair-store.js';
+import renderImage from './image';
+import renderKey from './key';
+import config from '@/config/index';
+import { ILocalUser } from '@/models/entities/user';
+import { toHtml } from '../../../mfm/to-html';
+import { getEmojis } from './note';
+import renderEmoji from './emoji';
+import { IIdentifier } from '../models/identifier';
+import renderHashtag from './hashtag';
+import { DriveFiles, UserProfiles } from '@/models/index';
+import { getUserKeypair } from '@/misc/keypair-store';
export async function renderPerson(user: ILocalUser) {
const id = `${config.url}/users/${user.id}`;
diff --git a/src/remote/activitypub/renderer/question.ts b/src/remote/activitypub/renderer/question.ts
index 388398a7d8..246d599bab 100644
--- a/src/remote/activitypub/renderer/question.ts
+++ b/src/remote/activitypub/renderer/question.ts
@@ -1,7 +1,7 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { Poll } from '@/models/entities/poll.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { Poll } from '@/models/entities/poll';
export default async function renderQuestion(user: { id: User['id'] }, note: Note, poll: Poll) {
const question = {
diff --git a/src/remote/activitypub/renderer/read.ts b/src/remote/activitypub/renderer/read.ts
index 39a852fcb5..95357f64d3 100644
--- a/src/remote/activitypub/renderer/read.ts
+++ b/src/remote/activitypub/renderer/read.ts
@@ -1,6 +1,6 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
-import { MessagingMessage } from '@/models/entities/messaging-message.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
+import { MessagingMessage } from '@/models/entities/messaging-message';
export const renderReadActivity = (user: { id: User['id'] }, message: MessagingMessage) => ({
type: 'Read',
diff --git a/src/remote/activitypub/renderer/reject.ts b/src/remote/activitypub/renderer/reject.ts
index 474b67d680..42beffecf2 100644
--- a/src/remote/activitypub/renderer/reject.ts
+++ b/src/remote/activitypub/renderer/reject.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
export default (object: any, user: { id: User['id'] }) => ({
type: 'Reject',
diff --git a/src/remote/activitypub/renderer/remove.ts b/src/remote/activitypub/renderer/remove.ts
index 1f6bc19404..79d60edbaa 100644
--- a/src/remote/activitypub/renderer/remove.ts
+++ b/src/remote/activitypub/renderer/remove.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
export default (user: { id: User['id'] }, target: any, object: any) => ({
type: 'Remove',
diff --git a/src/remote/activitypub/renderer/undo.ts b/src/remote/activitypub/renderer/undo.ts
index 968d59fae6..f9082ffdfc 100644
--- a/src/remote/activitypub/renderer/undo.ts
+++ b/src/remote/activitypub/renderer/undo.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { ILocalUser, User } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { ILocalUser, User } from '@/models/entities/user';
export default (object: any, user: { id: User['id'] }) => {
if (object == null) return null;
diff --git a/src/remote/activitypub/renderer/update.ts b/src/remote/activitypub/renderer/update.ts
index c696a9c34b..d9a8149af3 100644
--- a/src/remote/activitypub/renderer/update.ts
+++ b/src/remote/activitypub/renderer/update.ts
@@ -1,5 +1,5 @@
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
export default (object: any, user: { id: User['id'] }) => {
const activity = {
diff --git a/src/remote/activitypub/renderer/vote.ts b/src/remote/activitypub/renderer/vote.ts
index 201845a189..ff038070f7 100644
--- a/src/remote/activitypub/renderer/vote.ts
+++ b/src/remote/activitypub/renderer/vote.ts
@@ -1,8 +1,8 @@
-import config from '@/config/index.js';
-import { Note } from '@/models/entities/note.js';
-import { IRemoteUser, User } from '@/models/entities/user.js';
-import { PollVote } from '@/models/entities/poll-vote.js';
-import { Poll } from '@/models/entities/poll.js';
+import config from '@/config/index';
+import { Note } from '@/models/entities/note';
+import { IRemoteUser, User } from '@/models/entities/user';
+import { PollVote } from '@/models/entities/poll-vote';
+import { Poll } from '@/models/entities/poll';
export default async function renderVote(user: { id: User['id'] }, vote: PollVote, note: Note, poll: Poll, pollOwner: IRemoteUser): Promise<any> {
return {
diff --git a/src/remote/activitypub/request.ts b/src/remote/activitypub/request.ts
index 2711c85874..fe1009243c 100644
--- a/src/remote/activitypub/request.ts
+++ b/src/remote/activitypub/request.ts
@@ -3,13 +3,13 @@ import * as https from 'https';
import { sign } from 'http-signature';
import * as crypto from 'crypto';
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
-import { getAgentByUrl } from '@/misc/fetch.js';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
+import { getAgentByUrl } from '@/misc/fetch';
import { URL } from 'url';
import got from 'got';
import * as Got from 'got';
-import { getUserKeypair } from '@/misc/keypair-store.js';
+import { getUserKeypair } from '@/misc/keypair-store';
export default async (user: { id: User['id'] }, url: string, object: any) => {
const timeout = 10 * 1000;
diff --git a/src/remote/activitypub/resolver.ts b/src/remote/activitypub/resolver.ts
index 8351058312..32f3d9ef26 100644
--- a/src/remote/activitypub/resolver.ts
+++ b/src/remote/activitypub/resolver.ts
@@ -1,9 +1,9 @@
-import config from '@/config/index.js';
-import { getJson } from '@/misc/fetch.js';
-import { ILocalUser } from '@/models/entities/user.js';
-import { getInstanceActor } from '@/services/instance-actor.js';
-import { signedGet } from './request.js';
-import { IObject, isCollectionOrOrderedCollection, ICollection, IOrderedCollection } from './type.js';
+import config from '@/config/index';
+import { getJson } from '@/misc/fetch';
+import { ILocalUser } from '@/models/entities/user';
+import { getInstanceActor } from '@/services/instance-actor';
+import { signedGet } from './request';
+import { IObject, isCollectionOrOrderedCollection, ICollection, IOrderedCollection } from './type';
export default class Resolver {
private history: Set<string>;