mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Merge pull request #2863 from SillyTavern/unify-user-avatar
Unify default user avatars
This commit is contained in:
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user