Syncing stashes on actor merge, improved merge dialog feedback.

This commit is contained in:
2026-06-09 01:23:23 +02:00
parent 3a86651891
commit d9f432ef73
2 changed files with 29 additions and 2 deletions

View File

@@ -22,7 +22,7 @@ import slugify from '../utils/slugify.js';
import { curateRevision } from './revisions.js';
import { interpolateProfiles, platformsByHostname } from '../common/actors.mjs'; // eslint-disable-line import/namespace
import { resolvePlace } from '../common/geo.mjs'; // eslint-disable-line import/namespace
import { syncScenes, syncActors } from './sync.js';
import { syncScenes, syncActors, syncStashes } from './sync.js';
import verifyAbility from '../utils/verify-ability.js';
const logger = initLogger();
@@ -600,6 +600,11 @@ export async function mergeActors(targetActorId, sourceActorId, reqUser) {
.where('actor_id', sourceActorId)
.returning('release_id');
await trx('stashes_actors')
.update('actor_id', targetActorId)
.where('actor_id', sourceActorId)
.returning('id');
try {
await trx.commit();
} catch (error) {
@@ -616,7 +621,11 @@ export async function mergeActors(targetActorId, sourceActorId, reqUser) {
omit,
}, { refreshView: false });
await syncScenes(mergedScenes.map((scene) => scene.release_id));
await Promise.all([
syncScenes(mergedScenes.map((scene) => scene.release_id)),
syncActors([targetActorId, sourceActorId]),
syncStashes('actor', [targetActorId, sourceActorId]),
]);
return {
scenes: mergedScenes.length,