mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-07 14:35:47 +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
|
// Known resources
|
||||||
const [isNote, isMessage, isActor] = await Promise.all([
|
const [isNote, isMessage, isActor, isActorUrl] = await Promise.all([
|
||||||
posts.exists(url),
|
posts.exists(url),
|
||||||
messaging.messageExists(url),
|
messaging.messageExists(url),
|
||||||
|
db.isSortedSetMember('usersRemote:lastCrawled', url), // if url is same as id
|
||||||
db.isObjectField('remoteUrl:uid', url),
|
db.isObjectField('remoteUrl:uid', url),
|
||||||
]);
|
]);
|
||||||
switch (true) {
|
switch (true) {
|
||||||
@@ -482,6 +483,11 @@ ActivityPub.probe = async ({ uid, url }) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case isActor: {
|
case isActor: {
|
||||||
|
const slug = await user.getUserField(url, 'userslug');
|
||||||
|
return `/user/${slug}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
case isActorUrl: {
|
||||||
const uid = await db.getObjectField('remoteUrl:uid', url);
|
const uid = await db.getObjectField('remoteUrl:uid', url);
|
||||||
const slug = await user.getUserField(uid, 'userslug');
|
const slug = await user.getUserField(uid, 'userslug');
|
||||||
return `/user/${slug}`;
|
return `/user/${slug}`;
|
||||||
|
|||||||
Reference in New Issue
Block a user