mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-07 06:25:50 +01:00
fix: #13017, probe redirection if url is identical to id
This commit is contained in:
@@ -460,9 +460,10 @@ ActivityPub.probe = async ({ uid, url }) => {
|
||||
*/
|
||||
|
||||
// Known resources
|
||||
const [isNote, isMessage, isActor] = await Promise.all([
|
||||
const [isNote, isMessage, isActor, isActorUrl] = await Promise.all([
|
||||
posts.exists(url),
|
||||
messaging.messageExists(url),
|
||||
db.isSortedSetMember('usersRemote:lastCrawled', url), // if url is same as id
|
||||
db.isObjectField('remoteUrl:uid', url),
|
||||
]);
|
||||
switch (true) {
|
||||
@@ -482,6 +483,11 @@ ActivityPub.probe = async ({ uid, url }) => {
|
||||
}
|
||||
|
||||
case isActor: {
|
||||
const slug = await user.getUserField(url, 'userslug');
|
||||
return `/user/${slug}`;
|
||||
}
|
||||
|
||||
case isActorUrl: {
|
||||
const uid = await db.getObjectField('remoteUrl:uid', url);
|
||||
const slug = await user.getUserField(uid, 'userslug');
|
||||
return `/user/${slug}`;
|
||||
|
||||
Reference in New Issue
Block a user