diff --git a/src/routes/getBranding.ts b/src/routes/getBranding.ts index b832f3e4..3013c404 100644 --- a/src/routes/getBranding.ts +++ b/src/routes/getBranding.ts @@ -26,7 +26,7 @@ export async function getVideoBranding(res: Response, videoID: VideoID, service: "all", `SELECT "titles"."title", "titles"."original", "titleVotes"."votes", "titleVotes"."locked", "titleVotes"."shadowHidden", "titles"."UUID", "titles"."videoID", "titles"."hashedVideoID", "titleVotes"."verification", "titles"."userID" FROM "titles" JOIN "titleVotes" ON "titles"."UUID" = "titleVotes"."UUID" - WHERE "titles"."videoID" = ? AND "titles"."service" = ? AND "titleVotes"."votes" > -2`, + WHERE "titles"."videoID" = ? AND "titles"."service" = ? AND "titleVotes"."votes" > -1`, [videoID, service], { useReplica: true } ) as Promise; @@ -35,7 +35,8 @@ export async function getVideoBranding(res: Response, videoID: VideoID, service: "all", `SELECT "thumbnailTimestamps"."timestamp", "thumbnails"."original", "thumbnailVotes"."votes", "thumbnailVotes"."locked", "thumbnailVotes"."shadowHidden", "thumbnails"."UUID", "thumbnails"."videoID", "thumbnails"."hashedVideoID", "thumbnails"."userID" FROM "thumbnails" LEFT JOIN "thumbnailVotes" ON "thumbnails"."UUID" = "thumbnailVotes"."UUID" LEFT JOIN "thumbnailTimestamps" ON "thumbnails"."UUID" = "thumbnailTimestamps"."UUID" - WHERE "thumbnails"."videoID" = ? AND "thumbnails"."service" = ? AND "thumbnailVotes"."votes" > -2`, + WHERE "thumbnails"."videoID" = ? AND "thumbnails"."service" = ? AND "thumbnailVotes"."votes" > -2 + ORDER BY "thumbnails"."timeSubmitted" ASC`, [videoID, service], { useReplica: true } ) as Promise; @@ -99,7 +100,8 @@ export async function getVideoBrandingByHash(videoHashPrefix: VideoIDHash, servi "all", `SELECT "thumbnailTimestamps"."timestamp", "thumbnails"."original", "thumbnailVotes"."votes", "thumbnailVotes"."locked", "thumbnailVotes"."shadowHidden", "thumbnails"."UUID", "thumbnails"."videoID", "thumbnails"."hashedVideoID" FROM "thumbnails" LEFT JOIN "thumbnailVotes" ON "thumbnails"."UUID" = "thumbnailVotes"."UUID" LEFT JOIN "thumbnailTimestamps" ON "thumbnails"."UUID" = "thumbnailTimestamps"."UUID" - WHERE "thumbnails"."hashedVideoID" LIKE ? AND "thumbnails"."service" = ? AND "thumbnailVotes"."votes" > -2`, + WHERE "thumbnails"."hashedVideoID" LIKE ? AND "thumbnails"."service" = ? AND "thumbnailVotes"."votes" > -2 + ORDER BY "thumbnails"."timeSubmitted" ASC`, [`${videoHashPrefix}%`, service], { useReplica: true } ) as Promise; @@ -182,7 +184,7 @@ async function filterAndSortBranding(videoID: VideoID, returnUserID: boolean, db .sort((a, b) => b.votes - a.votes) .sort((a, b) => +b.locked - +a.locked) as TitleResult[]; - const thumbnails = shuffleArray(dbThumbnails.filter(await shouldKeepThumbnails)) + const thumbnails = dbThumbnails.filter(await shouldKeepThumbnails) .sort((a, b) => +a.original - +b.original) .sort((a, b) => b.votes - a.votes) .sort((a, b) => b.locked - a.locked) diff --git a/src/routes/postSkipSegments.ts b/src/routes/postSkipSegments.ts index ee4a4592..61ccc67d 100644 --- a/src/routes/postSkipSegments.ts +++ b/src/routes/postSkipSegments.ts @@ -179,7 +179,7 @@ async function checkUserActiveWarning(userID: HashedUserID): Promise 0 ? `\n\nWarning reason: '${warnings[0].reason}'` : ""), + errorMessage: defaultMessage + (warnings[0]?.reason?.length > 0 ? `\n\nTip message: '${warnings[0].reason}'` : ""), errorCode: 403 }; } diff --git a/src/routes/postWarning.ts b/src/routes/postWarning.ts index 098cbae7..159f199a 100644 --- a/src/routes/postWarning.ts +++ b/src/routes/postWarning.ts @@ -62,7 +62,7 @@ export async function postWarning(req: Request, res: Response): Promise 0 ? ` Warning reason: '${warningReason}'` : "")}` }; + `${(warningReason.length > 0 ? ` Tip message: '${warningReason}'` : "")}` }; } // we can return out of the function early if the user is banned after warning checks diff --git a/test/cases/postSkipSegmentsWarnings.ts b/test/cases/postSkipSegmentsWarnings.ts index 209b4250..2af7a560 100644 --- a/test/cases/postSkipSegmentsWarnings.ts +++ b/test/cases/postSkipSegmentsWarnings.ts @@ -63,7 +63,7 @@ describe("postSkipSegments Warnings", () => { const expected = "Submission rejected due to a tip from a moderator. This means that we noticed you were making some common mistakes" + " that are not malicious, and we just want to clarify the rules. " + "Could you please send a message in discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app so we can further help you? " - + `Your userID is ${warnUser01Hash}.\n\nWarning reason: '${reason}'`; + + `Your userID is ${warnUser01Hash}.\n\nTip message: '${reason}'`; assert.strictEqual(errorMessage, expected); done();