···830830 };
831831 this.scrobbleSOTRanges.push(range);
832832 }
833833+ if(range.from === range.to) {
834834+ // most apis don't allow same to/from
835835+ // and this *probably* means we only have one play in recent history
836836+ // so expand this with default padding to be safe
837837+ range.from = range.from - DEFAULT_NEW_PADDING.asSeconds();
838838+ range.to = Math.min(dayjs().unix(), range.to + 30) // 30 seconds after "to", or now
839839+ }
833840 const cachedPlaysRes = await this.cache.cacheClientScrobbles.get<PlayObject[] | Error>(this.getScrobbleCacheKey(range.from, range.to));
834841 if(cachedPlaysRes instanceof Error) {
835842 throw new SimpleError('Cannot get historical plays due to cached error', {cause: cachedPlaysRes, shortStack: true});