refactor: only cache avatar with http url protocol
This commit is contained in:
@@ -190,7 +190,7 @@ class ImageProxy {
|
||||
|
||||
await promises.rm(directory, { recursive: true });
|
||||
|
||||
logger.info(`Cleared ${files[0]} image from cache 'avatar'`, {
|
||||
logger.info(`Cleared ${files[0]} from cache 'avatar'`, {
|
||||
label: 'Image Cache',
|
||||
});
|
||||
} catch (e) {
|
||||
|
||||
@@ -344,13 +344,6 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
|
||||
userType: UserType.EMBY,
|
||||
});
|
||||
|
||||
if (
|
||||
user.avatar.startsWith('https://gravatar.com/') &&
|
||||
user.avatar.includes('default=mm&size=200')
|
||||
) {
|
||||
user.avatar = 'https://gravatar.com/avatar/?default=mm&size=200';
|
||||
}
|
||||
|
||||
break;
|
||||
case MediaServerType.JELLYFIN:
|
||||
settings.main.mediaServerType = MediaServerType.JELLYFIN;
|
||||
@@ -370,13 +363,6 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
|
||||
userType: UserType.JELLYFIN,
|
||||
});
|
||||
|
||||
if (
|
||||
user.avatar.startsWith('https://gravatar.com/') &&
|
||||
user.avatar.includes('default=mm&size=200')
|
||||
) {
|
||||
user.avatar = 'https://gravatar.com/avatar/?default=mm&size=200';
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new Error('select_server_type');
|
||||
@@ -431,18 +417,11 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
|
||||
}
|
||||
user.avatar = avatar;
|
||||
} else {
|
||||
let avatar = gravatarUrl(user.email || account.User.Name, {
|
||||
const avatar = gravatarUrl(user.email || account.User.Name, {
|
||||
default: 'mm',
|
||||
size: 200,
|
||||
});
|
||||
|
||||
if (
|
||||
avatar.startsWith('https://gravatar.com/') &&
|
||||
avatar.includes('default=mm&size=200')
|
||||
) {
|
||||
avatar = 'https://gravatar.com/avatar/?default=mm&size=200';
|
||||
}
|
||||
|
||||
if (avatar !== user.avatar) {
|
||||
const avatarProxy = new ImageProxy('avatar', '');
|
||||
avatarProxy.clearCachedImage(user.avatar);
|
||||
@@ -499,12 +478,6 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
|
||||
: UserType.EMBY,
|
||||
});
|
||||
|
||||
if (
|
||||
user.avatar.startsWith('https://gravatar.com/') &&
|
||||
user.avatar.includes('default=mm&size=200')
|
||||
) {
|
||||
user.avatar = 'https://gravatar.com/avatar/?default=mm&size=200';
|
||||
}
|
||||
//initialize Jellyfin/Emby users with local login
|
||||
const passedExplicitPassword = body.password && body.password.length > 0;
|
||||
if (passedExplicitPassword) {
|
||||
|
||||
@@ -7,16 +7,9 @@ const router = Router();
|
||||
const avatarImageProxy = new ImageProxy('avatar', '');
|
||||
// Proxy avatar images
|
||||
router.get('/*', async (req, res) => {
|
||||
let imagePath = req.url.startsWith('/') ? req.url.slice(1) : req.url;
|
||||
const imagePath = req.url.startsWith('/') ? req.url.slice(1) : req.url;
|
||||
|
||||
try {
|
||||
if (
|
||||
imagePath.startsWith('https://gravatar.com/') &&
|
||||
imagePath.includes('default=mm&size=200')
|
||||
) {
|
||||
imagePath = 'https://gravatar.com/avatar/?default=mm&size=200';
|
||||
}
|
||||
|
||||
const imageData = await avatarImageProxy.getImage(imagePath);
|
||||
|
||||
res.writeHead(200, {
|
||||
|
||||
@@ -122,14 +122,7 @@ router.post(
|
||||
}
|
||||
|
||||
const passedExplicitPassword = body.password && body.password.length > 0;
|
||||
let avatar = gravatarUrl(email, { default: 'mm', size: 200 });
|
||||
|
||||
if (
|
||||
avatar.startsWith('https://gravatar.com/') &&
|
||||
avatar.includes('default=mm&size=200')
|
||||
) {
|
||||
avatar = 'https://gravatar.com/avatar/?default=mm&size=200';
|
||||
}
|
||||
const avatar = gravatarUrl(email, { default: 'mm', size: 200 });
|
||||
|
||||
if (
|
||||
!passedExplicitPassword &&
|
||||
@@ -564,13 +557,6 @@ router.post(
|
||||
: UserType.EMBY,
|
||||
});
|
||||
|
||||
if (
|
||||
newUser.avatar.startsWith('https://gravatar.com/') &&
|
||||
newUser.avatar.includes('default=mm&size=200')
|
||||
) {
|
||||
newUser.avatar = 'https://gravatar.com/avatar/?default=mm&size=200';
|
||||
}
|
||||
|
||||
await userRepository.save(newUser);
|
||||
createdUsers.push(newUser);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user