[bugfix] Sort follows chronologically (#2801)
The id on the follows table is not a ULID, but a random ID. Sorting on them results in a completely random order. Instead, sort on created_at, which sould result in a stable and intended sort order. Fixes: #2769 Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>
This commit is contained in:
parent
15ede4c1ea
commit
8ed1b8142c
|
@ -331,7 +331,7 @@ func newSelectFollows(db *bun.DB, accountID string) *bun.SelectQuery {
|
||||||
Table("follows").
|
Table("follows").
|
||||||
Column("id").
|
Column("id").
|
||||||
Where("? = ?", bun.Ident("account_id"), accountID).
|
Where("? = ?", bun.Ident("account_id"), accountID).
|
||||||
OrderExpr("? DESC", bun.Ident("id"))
|
OrderExpr("? DESC", bun.Ident("created_at"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// newSelectLocalFollows returns a new select query for all rows in the follows table with
|
// newSelectLocalFollows returns a new select query for all rows in the follows table with
|
||||||
|
@ -349,7 +349,7 @@ func newSelectLocalFollows(db *bun.DB, accountID string) *bun.SelectQuery {
|
||||||
Column("id").
|
Column("id").
|
||||||
Where("? IS NULL", bun.Ident("domain")),
|
Where("? IS NULL", bun.Ident("domain")),
|
||||||
).
|
).
|
||||||
OrderExpr("? DESC", bun.Ident("id"))
|
OrderExpr("? DESC", bun.Ident("created_at"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// newSelectFollowers returns a new select query for all rows in the follows table with target_account_id = accountID.
|
// newSelectFollowers returns a new select query for all rows in the follows table with target_account_id = accountID.
|
||||||
|
@ -358,7 +358,7 @@ func newSelectFollowers(db *bun.DB, accountID string) *bun.SelectQuery {
|
||||||
Table("follows").
|
Table("follows").
|
||||||
Column("id").
|
Column("id").
|
||||||
Where("? = ?", bun.Ident("target_account_id"), accountID).
|
Where("? = ?", bun.Ident("target_account_id"), accountID).
|
||||||
OrderExpr("? DESC", bun.Ident("id"))
|
OrderExpr("? DESC", bun.Ident("created_at"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// newSelectLocalFollowers returns a new select query for all rows in the follows table with
|
// newSelectLocalFollowers returns a new select query for all rows in the follows table with
|
||||||
|
@ -376,7 +376,7 @@ func newSelectLocalFollowers(db *bun.DB, accountID string) *bun.SelectQuery {
|
||||||
Column("id").
|
Column("id").
|
||||||
Where("? IS NULL", bun.Ident("domain")),
|
Where("? IS NULL", bun.Ident("domain")),
|
||||||
).
|
).
|
||||||
OrderExpr("? DESC", bun.Ident("id"))
|
OrderExpr("? DESC", bun.Ident("created_at"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// newSelectBlocks returns a new select query for all rows in the blocks table with account_id = accountID.
|
// newSelectBlocks returns a new select query for all rows in the blocks table with account_id = accountID.
|
||||||
|
|
|
@ -47,8 +47,8 @@ func (suite *FollowingTestSuite) TestGetFollowing() {
|
||||||
suite.Equal(`{
|
suite.Equal(`{
|
||||||
"@context": "https://www.w3.org/ns/activitystreams",
|
"@context": "https://www.w3.org/ns/activitystreams",
|
||||||
"items": [
|
"items": [
|
||||||
"http://localhost:8080/users/1happyturtle",
|
"http://localhost:8080/users/admin",
|
||||||
"http://localhost:8080/users/admin"
|
"http://localhost:8080/users/1happyturtle"
|
||||||
],
|
],
|
||||||
"type": "Collection"
|
"type": "Collection"
|
||||||
}`, string(fJson))
|
}`, string(fJson))
|
||||||
|
|
Loading…
Reference in New Issue