File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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." ,
You can’t perform that action at this time.
0 commit comments