Merge pull request #2863 from SillyTavern/unify-user-avatar

Unify default user avatars
This commit is contained in:
Cohee
2024-09-17 21:47:37 +03:00
committed by GitHub
6 changed files with 10 additions and 11 deletions

View File

@ -5,7 +5,6 @@ const PUBLIC_DIRECTORIES = {
extensions: 'public/scripts/extensions',
};
const DEFAULT_AVATAR = '/img/ai4.png';
const SETTINGS_FILE = 'settings.json';
/**
@ -422,7 +421,6 @@ const VLLM_KEYS = [
module.exports = {
DEFAULT_USER,
DEFAULT_AVATAR,
SETTINGS_FILE,
PUBLIC_DIRECTORIES,
USER_DIRECTORY_TEMPLATE,

View File

@ -726,13 +726,12 @@ router.post('/create', urlencodedParser, async function (request, response) {
const char = JSON.stringify(charaFormatData(request.body, request.user.directories));
const internalName = getPngName(request.body.ch_name, request.user.directories);
const avatarName = `${internalName}.png`;
const defaultAvatar = './public/img/ai4.png';
const chatsPath = path.join(request.user.directories.chats, internalName);
if (!fs.existsSync(chatsPath)) fs.mkdirSync(chatsPath);
if (!request.file) {
await writeCharacterData(defaultAvatar, char, internalName, request);
await writeCharacterData(defaultAvatarPath, char, internalName, request);
return response.send(avatarName);
} else {
const crop = tryParse(request.query.crop);

View File

@ -10,7 +10,7 @@ const express = require('express');
const mime = require('mime-types');
const archiver = require('archiver');
const { USER_DIRECTORY_TEMPLATE, DEFAULT_USER, PUBLIC_DIRECTORIES, DEFAULT_AVATAR, SETTINGS_FILE } = require('./constants');
const { USER_DIRECTORY_TEMPLATE, DEFAULT_USER, PUBLIC_DIRECTORIES, SETTINGS_FILE } = require('./constants');
const { getConfigValue, color, delay, setConfigValue, generateTimestamp } = require('./util');
const { readSecret, writeSecret } = require('./endpoints/secrets');
@ -24,6 +24,7 @@ const ANON_CSRF_SECRET = crypto.randomBytes(64).toString('base64');
* @type {Map<string, UserDirectoryList>}
*/
const DIRECTORIES_CACHE = new Map();
const PUBLIC_USER_AVATAR = '/img/default-user.png';
const STORAGE_KEYS = {
csrfSecret: 'csrfSecret',
@ -478,11 +479,11 @@ async function getUserAvatar(handle) {
const settings = fs.existsSync(pathToSettings) ? JSON.parse(fs.readFileSync(pathToSettings, 'utf8')) : {};
const avatarFile = settings?.power_user?.default_persona || settings?.user_avatar;
if (!avatarFile) {
return DEFAULT_AVATAR;
return PUBLIC_USER_AVATAR;
}
const avatarPath = path.join(directory.avatars, avatarFile);
if (!fs.existsSync(avatarPath)) {
return DEFAULT_AVATAR;
return PUBLIC_USER_AVATAR;
}
const mimeType = mime.lookup(avatarPath);
const base64Content = fs.readFileSync(avatarPath, 'base64');
@ -490,7 +491,7 @@ async function getUserAvatar(handle) {
}
catch {
// Ignore errors
return DEFAULT_AVATAR;
return PUBLIC_USER_AVATAR;
}
}