Skip to content

Commit 406b534

Browse files
committed
fix merge
1 parent 87ab22e commit 406b534

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

src/modules/metadata/metadata.service.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -321,17 +321,26 @@ export class MetadataService {
321321

322322
const effectiveTs = ts(game.metadata);
323323
if (effectiveTs) {
324-
const providerIsNewerOrEqual = game.provider_metadata.some(
325-
(provider_metadata) => {
324+
// Check if any provider metadata is newer-or-equal (only if providers exist)
325+
const providerIsNewerOrEqual =
326+
game.provider_metadata.length > 0 &&
327+
game.provider_metadata.some((provider_metadata) => {
326328
const providerTs = ts(provider_metadata);
327329
return providerTs != null && providerTs >= effectiveTs;
328-
},
329-
);
330+
});
330331

332+
// Check if user metadata is newer-or-equal
331333
const userTs = ts(game.user_metadata);
332334
const userIsNewerOrEqual = userTs != null && userTs >= effectiveTs;
333335

334-
if (!providerIsNewerOrEqual && !userIsNewerOrEqual) {
336+
// Skip merge only if BOTH checks fail AND there is at least one source that could have been newer
337+
// When no provider metadata exists, we only consider user metadata freshness
338+
const hasProviderMetadata = game.provider_metadata.length > 0;
339+
const skipMerge = hasProviderMetadata
340+
? !providerIsNewerOrEqual && !userIsNewerOrEqual
341+
: !userIsNewerOrEqual;
342+
343+
if (skipMerge) {
335344
this.logger.debug({
336345
message:
337346
"No metadata changes (provider/user older than merged metadata). Skipping merge.",

0 commit comments

Comments
 (0)