Add MSC4522 username colors, release notes dialog, and profile layout fixes.
All checks were successful
Trigger cinny-mobile / dispatch (push) Successful in 1s

Replace legacy profile style metadata with MSC4133 profile fields, add in-app update notes, tighten account profile name spacing, and wire desktop media save helpers through the client.
This commit is contained in:
2026-08-23 08:06:48 +10:00
parent 9887903f49
commit e65a516350
35 changed files with 8773 additions and 1326 deletions

View File

@@ -53,6 +53,11 @@ const copyFiles = {
src: 'public/font',
dest: 'public/',
},
{
src: 'public/update/**/*',
dest: 'update',
rename: (_name, _ext, fullPath) => fullPath.replace(/^public[/\\]update[/\\]/, ''),
},
],
};
@@ -124,6 +129,37 @@ function servePublicAssets() {
res.setHeader('Content-Type', contentType);
res.setHeader('Cache-Control', 'no-cache');
const fileStream = fs.createReadStream(resolvedPath);
fileStream.pipe(res);
} else {
res.writeHead(404);
res.end('File not found');
}
} else if (req.url?.startsWith('/update/')) {
const fileName = req.url.replace('/update/', '');
const resolvedPath = path.join(path.resolve(), 'public', 'update', fileName);
if (fs.existsSync(resolvedPath) && !resolvedPath.includes('..')) {
const ext = path.extname(fileName).toLowerCase();
const contentType =
ext === '.md'
? 'text/markdown; charset=utf-8'
: ext === '.json'
? 'application/json'
: ext === '.svg'
? 'image/svg+xml'
: ext === '.png'
? 'image/png'
: ext === '.jpg' || ext === '.jpeg'
? 'image/jpeg'
: ext === '.webp'
? 'image/webp'
: ext === '.gif'
? 'image/gif'
: 'application/octet-stream';
res.setHeader('Content-Type', contentType);
res.setHeader('Cache-Control', 'no-cache');
const fileStream = fs.createReadStream(resolvedPath);
fileStream.pipe(res);
} else {