mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-17 04:30:45 +01:00
parent
4b2c074399
commit
8ec509c777
BIN
public/img/user-default.png
Normal file
BIN
public/img/user-default.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
@ -510,6 +510,7 @@ let saveCharactersPage = 0;
|
||||
export const default_avatar = 'img/ai4.png';
|
||||
export const system_avatar = 'img/five.png';
|
||||
export const comment_avatar = 'img/quill.png';
|
||||
export const default_user_avatar = 'img/user-default.png';
|
||||
export let CLIENT_VERSION = 'SillyTavern:UNKNOWN:Cohee#1207'; // For Horde header
|
||||
let optionsPopper = Popper.createPopper(document.getElementById('options_button'), document.getElementById('options'), {
|
||||
placement: 'top-start',
|
||||
|
@ -2,7 +2,7 @@ import {
|
||||
characters,
|
||||
chat,
|
||||
chat_metadata,
|
||||
default_avatar,
|
||||
default_user_avatar,
|
||||
eventSource,
|
||||
event_types,
|
||||
getRequestHeaders,
|
||||
@ -357,7 +357,7 @@ async function createDummyPersona() {
|
||||
// Date + name (only ASCII) to make it unique
|
||||
const avatarId = `${Date.now()}-${personaName.replace(/[^a-zA-Z0-9]/g, '')}.png`;
|
||||
initPersona(avatarId, personaName, '');
|
||||
await uploadUserAvatar(default_avatar, avatarId);
|
||||
await uploadUserAvatar(default_user_avatar, avatarId);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -944,7 +944,7 @@ async function onPersonasRestoreInput(e) {
|
||||
// If the avatar is missing, upload it
|
||||
if (!avatarsList.includes(key)) {
|
||||
warnings.push(`Persona image "${key}" (${value}) is missing, uploading default avatar`);
|
||||
await uploadUserAvatar(default_avatar, key);
|
||||
await uploadUserAvatar(default_user_avatar, key);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user