Merge pull request #284 from the-luap/fix/password-change-loop-and-filewatcher

fix: resolve password change redirect loop (#263) and file watcher crash (#269)
This commit is contained in:
Paul Nothaft
2026-04-09 13:54:54 +02:00
committed by GitHub
2 changed files with 7 additions and 9 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ const { db } = require('../database/db');
const { formatBoolean } = require('../utils/dbCompat'); const { formatBoolean } = require('../utils/dbCompat');
const { generateThumbnail, generateVideoPlaceholder } = require('./imageProcessor'); const { generateThumbnail, generateVideoPlaceholder } = require('./imageProcessor');
const logger = require('../utils/logger'); const logger = require('../utils/logger');
const { isVideoMimeType } = require('../utils/fileSecurityUtils'); const { isVideoMimeType } = require('./videoProcessor');
const mime = require('mime-types'); const mime = require('mime-types');
const getStoragePath = () => process.env.STORAGE_PATH || path.join(__dirname, '../../../storage'); const getStoragePath = () => process.env.STORAGE_PATH || path.join(__dirname, '../../../storage');
@@ -27,14 +27,12 @@ export const MandatoryPasswordChangeModal: React.FC = () => {
mutationFn: adminService.changePassword, mutationFn: adminService.changePassword,
onSuccess: () => { onSuccess: () => {
toast.success(t('mandatoryPasswordChange.success')); toast.success(t('mandatoryPasswordChange.success'));
updatePasswordChanged(); // Force a full page reload so the browser picks up the new JWT cookie
// Reset form // set by the backend. A React state update alone causes a race condition
setFormData({ // where the auth context checks the session before the cookie is stored.
currentPassword: '', setTimeout(() => {
newPassword: '', window.location.href = '/admin/dashboard';
confirmPassword: '' }, 500);
});
setErrors({});
}, },
onError: (error: any) => { onError: (error: any) => {
if (error.response?.data?.error) { if (error.response?.data?.error) {