Merge branch 'divine-support' into 'main'

Divine support

See merge request soapbox-pub/ditto!738
This commit is contained in:
P. Reis 2025-12-05 19:49:45 -03:00
commit 41bc22a226
2 changed files with 13 additions and 3 deletions

View file

@ -18,6 +18,7 @@ const searchQuerySchema = z.object({
following: z.boolean().default(false), following: z.boolean().default(false),
account_id: n.id().optional(), account_id: n.id().optional(),
offset: z.coerce.number().nonnegative().catch(0), offset: z.coerce.number().nonnegative().catch(0),
short_videos_only: z.coerce.boolean().default(false),
}); });
type SearchQuery = z.infer<typeof searchQuerySchema> & { since?: number; until?: number; limit: number }; type SearchQuery = z.infer<typeof searchQuerySchema> & { since?: number; until?: number; limit: number };
@ -66,7 +67,14 @@ const searchController: AppController = async (c) => {
), ),
Promise.all( Promise.all(
events events
.filter((event) => event.kind === 1) .filter((event) => {
// If short_videos_only is true, only return kinds 22 and 34236
if (result.data.short_videos_only) {
return [22, 34236].includes(event.kind);
}
// Otherwise return all status kinds
return [1, 21, 22, 34235, 34236].includes(event.kind);
})
.map((event) => renderStatus(relay, event, { viewerPubkey })) .map((event) => renderStatus(relay, event, { viewerPubkey }))
.filter(Boolean), .filter(Boolean),
), ),
@ -141,9 +149,9 @@ function typeToKinds(type: SearchQuery['type']): number[] {
case 'accounts': case 'accounts':
return [0]; return [0];
case 'statuses': case 'statuses':
return [1]; return [1, 21, 22, 34235, 34236];
default: default:
return [0, 1]; return [0, 1, 21, 22, 34235, 34236];
} }
} }

View file

@ -490,6 +490,8 @@ export class DittoPgStore extends NPostgres {
ext.reply = event.tags.some(([name]) => ['e', 'E'].includes(name)).toString(); ext.reply = event.tags.some(([name]) => ['e', 'E'].includes(name)).toString();
} else if (event.kind === 6) { } else if (event.kind === 6) {
ext.reply = 'false'; ext.reply = 'false';
} else if ([21, 22, 34235, 34236].includes(event.kind)) {
ext.reply = 'false' // reply must be handled in another way: https://github.com/nostr-protocol/nips/issues/2146
} }
if ([1, 20, 30023].includes(event.kind)) { if ([1, 20, 30023].includes(event.kind)) {