Wall: optional intro video (YouTube, Vimeo or .mp4) from Profile, embedded under the bio
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -1409,12 +1409,15 @@ const server = http.createServer(async (req, res) => {
|
||||
// socials: {platform: url}; keep only known platforms with valid https urls
|
||||
let socials;
|
||||
if (b.socials !== undefined) {
|
||||
const PLAT = ['facebook', 'twitter', 'youtube', 'instagram', 'tiktok', 'telegram', 'linkedin', 'website'];
|
||||
const PLAT = ['facebook', 'twitter', 'youtube', 'instagram', 'tiktok', 'telegram', 'linkedin', 'website', 'video'];
|
||||
const clean = {};
|
||||
for (const p of PLAT) {
|
||||
const v = String((b.socials && b.socials[p]) || '').trim();
|
||||
if (v && /^https:\/\/[^\s]+$/i.test(v) && v.length <= 200) clean[p] = v;
|
||||
if (v && /^https:\/\/[^\s]+$/i.test(v) && v.length <= 300) clean[p] = v;
|
||||
}
|
||||
// intro video on the public wall: a YouTube, Vimeo or direct .mp4/.webm link only
|
||||
if (clean.video && !/^https:\/\/((www\.|m\.)?youtube\.com\/(watch\?|shorts\/|embed\/)|youtu\.be\/|(www\.)?vimeo\.com\/\d+|player\.vimeo\.com\/video\/\d+|[^\s]+\.(mp4|webm)(\?|$))/i.test(clean.video))
|
||||
return json(res, 400, { error: 'The intro video needs to be a YouTube link, a Vimeo link, or a direct .mp4 link.' });
|
||||
socials = Object.keys(clean).length ? JSON.stringify(clean) : null;
|
||||
}
|
||||
const r = await accounts.setProfile(s.email, avatar, bio, socials);
|
||||
|
||||
Reference in New Issue
Block a user