mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 10:17:22 +01:00
Fix universalis upload with itemId 0 (#2077)
This commit is contained in:
parent
6052469976
commit
8668ea0d59
3 changed files with 20 additions and 9 deletions
|
|
@ -30,6 +30,11 @@ internal class MarketBoardItemRequest
|
|||
/// </summary>
|
||||
public uint AmountToArrive { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the offered catalog id used in this listing.
|
||||
/// </summary>
|
||||
public uint CatalogId { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the offered item listings.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ internal class UniversalisMarketBoardUploader : IMarketBoardUploader
|
|||
{
|
||||
WorldId = clientState.LocalPlayer?.CurrentWorld.RowId ?? 0,
|
||||
UploaderId = uploader.ToString(),
|
||||
ItemId = request.Listings.FirstOrDefault()?.CatalogId ?? 0,
|
||||
ItemId = request.CatalogId,
|
||||
Listings = [],
|
||||
Sales = [],
|
||||
};
|
||||
|
|
@ -106,7 +106,7 @@ internal class UniversalisMarketBoardUploader : IMarketBoardUploader
|
|||
|
||||
// ====================================================================================
|
||||
|
||||
Log.Verbose("Universalis data upload for item#{CatalogId} completed", request.Listings.FirstOrDefault()?.CatalogId ?? 0);
|
||||
Log.Verbose("Universalis data upload for item#{CatalogId} completed", request.CatalogId);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
|
|
|||
|
|
@ -367,7 +367,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
}));
|
||||
}
|
||||
|
||||
private IObservable<List<MarketBoardHistory.MarketBoardHistoryListing>> OnMarketBoardSalesBatch(
|
||||
private IObservable<(uint CatalogId, List<MarketBoardHistory.MarketBoardHistoryListing> Sales)> OnMarketBoardSalesBatch(
|
||||
IObservable<MarketBoardItemRequest> start)
|
||||
{
|
||||
var historyObservable = this.MbHistoryObservable.Publish().RefCount();
|
||||
|
|
@ -390,6 +390,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
// When a start packet is observed, begin observing a window of history packets.
|
||||
// We should only get one packet, which the window closing function ensures.
|
||||
// This packet is flattened to its sale entries and emitted.
|
||||
uint catalogId = 0;
|
||||
return historyObservable
|
||||
.Do(LogHistoryObserved)
|
||||
.Window(start, UntilBatchEnd)
|
||||
|
|
@ -398,9 +399,12 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
new List<MarketBoardHistory.MarketBoardHistoryListing>(),
|
||||
(agg, next) =>
|
||||
{
|
||||
catalogId = next.CatalogId;
|
||||
|
||||
agg.AddRange(next.InternalHistoryListings);
|
||||
return agg;
|
||||
}));
|
||||
}))
|
||||
.Select(o => (catalogId, o));
|
||||
}
|
||||
|
||||
private IDisposable HandleMarketBoardItemRequest()
|
||||
|
|
@ -411,7 +415,8 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
}
|
||||
|
||||
var startObservable = this.MbItemRequestObservable
|
||||
.Where(request => request.Ok).Do(LogStartObserved)
|
||||
.Where(request => request.Ok)
|
||||
.Do(LogStartObserved)
|
||||
.Publish()
|
||||
.RefCount();
|
||||
return Observable.When(
|
||||
|
|
@ -432,10 +437,10 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
|
||||
private void UploadMarketBoardData(
|
||||
MarketBoardItemRequest request,
|
||||
ICollection<MarketBoardHistory.MarketBoardHistoryListing> sales,
|
||||
(uint CatalogId, ICollection<MarketBoardHistory.MarketBoardHistoryListing> Sales) sales,
|
||||
ICollection<MarketBoardCurrentOfferings.MarketBoardItemListing> listings)
|
||||
{
|
||||
var catalogId = listings.FirstOrDefault()?.CatalogId ?? 0;
|
||||
var catalogId = sales.CatalogId;
|
||||
if (listings.Count != request.AmountToArrive)
|
||||
{
|
||||
Log.Error(
|
||||
|
|
@ -448,10 +453,11 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
"Market Board request resolved, starting upload: item#{CatalogId} listings#{ListingsObserved} sales#{SalesObserved}",
|
||||
catalogId,
|
||||
listings.Count,
|
||||
sales.Count);
|
||||
sales.Sales.Count);
|
||||
|
||||
request.CatalogId = catalogId;
|
||||
request.Listings.AddRange(listings);
|
||||
request.History.AddRange(sales);
|
||||
request.History.AddRange(sales.Sales);
|
||||
|
||||
Task.Run(() => this.uploader.Upload(request))
|
||||
.ContinueWith(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue