kouzukii / ffxiv-priceinsight Goto Github PK
View Code? Open in Web Editor NEWA FFXIV Plugin to display marketboard prices on item tooltips
License: MIT License
A FFXIV Plugin to display marketboard prices on item tooltips
License: MIT License
On the player option, when the tooltip is set fixed, it's position is sliding down (an up) each time I hover an item.
I need to move it back with the ATH menu.
I still have the issue when I disable "Simple Tweaks" and "Wich Patch Was That?".
I made a video in case my explanation was not clear.
https://www.youtube.com/watch?v=Pk_3aNYAcHE
Hello, The plugin Price Insight doesn't pull the price(s) anymore. I've used ALT to "retry", also right clicking the plugin and Reset Data and Reload option. The plugin seems to load fine, no error about it. I have checked the console about this and it shows an error.
11:48:38.354 ERR | [PlayerTrack] Failed to process lodestone requests. 11:48:38.354 ERR | System.AggregateException: One or more errors occurred. (The requested address is not valid in its context. (api.kalilistic.io:443)) 11:48:38.354 ERR | ---> System.Net.Http.HttpRequestException: The requested address is not valid in its context. (api.kalilistic.io:443) 11:48:38.354 ERR | ---> System.Net.Sockets.SocketException (10049): The requested address is not valid in its context. 11:48:38.354 ERR | at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) 11:48:38.354 ERR | at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) 11:48:38.354 ERR | at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken) 11:48:38.354 ERR | at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) 11:48:38.354 ERR | --- End of inner exception stack trace --- 11:48:38.354 ERR | at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) 11:48:38.354 ERR | at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) 11:48:38.354 ERR | at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) 11:48:38.354 ERR | at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) 11:48:38.354 ERR | at System.Threading.Tasks.TaskCompletionSourceWithCancellation
1.WaitWithCancellationAsync(CancellationToken cancellationToken)
11:48:38.354 ERR | at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken) 11:48:38.354 ERR | at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) 11:48:38.354 ERR | at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) 11:48:38.354 ERR | at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) 11:48:38.354 ERR | at PlayerTrack.Domain.LodestoneService.GetCharacterIdsAsync(List
1 requests) in /work/repo/PlayerTrack.Domain/Services/LodestoneService.cs:line 188
11:48:38.354 ERR | --- End of inner exception stack trace ---
11:48:38.354 ERR | at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
11:48:38.354 ERR | at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) 11:48:38.354 ERR | at PlayerTrack.Domain.LodestoneService.SendBatchRequest(List
1 batchedRequests) in /work/repo/PlayerTrack.Domain/Services/LodestoneService.cs:line 136
11:48:38.354 ERR | at PlayerTrack.Domain.LodestoneService.ProcessRequests(Object sender, ElapsedEventArgs e) in /work/repo/PlayerTrack.Domain/Services/LodestoneService.cs:line 118`
Not sure what this is, as I've never done anything with code before, but, it just repeats this specific error everytime it updates / refreshes itself.
After the newest update whenever you Right Click to sort inventory it crashes the game. Tested it a few different times to make sure it was this plugin causing the issue and sure enough whenever I disable it I can sort without crashing.
I really don't enjoy having to hold ctrl to fetch prices on items. Consider fetching item prices in the background for inventory items?
If a tooltip is too tall to fit on screen when using the fixed tooltip position option, it normally will offset to stay on screen:
Other plugins that add entries to the tooltip, such as AllaganTools, maintain this functionality. However, PriceInsight's entries will cause an overflow:
The price and the bottom of the tooltip are offscreen and not visible.
Plugin needs to be updated for the new Dalamud release.
I've noticed that since the last update, where the region and datacenter travel was added I was getting severe lag/high ping issues, it's like it's fetching all the catched prices from universalis every area change, ping can go as far as 3000+ (using PingPlugin from karashiiro in Dalamud to check it) and well is obviosuly noticeable in game, while Price Insigh is disabled I don't get this bad ping, even with mudifish enabled things get crazy, my ISP download speed is about 220MB download and 50MB upload, my ISP is over NAT but I still don't think the issue comes from there, but idk. Is there an option to chose when this update prices? (like cache prices every 90 min) or is just borke rn? I had the alt option for update prices on (even if I don't use it, I prefer to hover over items) but even not trying to check prices this happens, no matter if my inventory is not even opened.
I really like the idea behind this plugin, but that lag is severely bad, maybe a button for togle off/on could patch the problem for a while, like turn on when you need it, but in general I can't have this on without severe lag.
Sorry for the log spam but here are the resolutions i've tried locally
10:01:55.759 | DBG HandlePrintMessageDetour String modified: System.Byte -> Dalamud.Game.Libc.StdString(2183801293216)
{ } [ Send ]
I know this is probably an issue on Universalis side, but I figured I'd raise an issue anyway since it might be nice to know about, and it's something I've never seen happening until today. Plus it might be good to handle this supposedly invalid status code in case it happens again.
Game tooltips are showing the following:
Pressing ALT in this instance fixes the issue for that particular item.
So it might be related to the option of prefetching the prices for items in inventory.
And the exception in the log:
15:13:19.848 | ERR [PriceInsight] Failed to retrieve data from Universalis for itemIds [{ItemID List truncated for privacy}], scope "{Server Name truncated for privacy}".
System.Net.Http.HttpRequestException: Invalid status code InternalServerError
at PriceInsight.UniversalisClient.GetMarketBoardDataList(String scope, UInt32 homeWorldId, List`1 itemId) in /work/repo/UniversalisClient.cs:line 63
(ID list and server removed because I don't know if this information can be linked to me by SE and counts as an admission to breaking the ToS, but if I'm just being silly and you need that information, feel free to let me know)
Most of the time the price indicator in the item's description shows up as "Marketboard info is being obtained" but it never does.
And sometimes it straight up doesn't show anything.
It may be a problem with universalis themselves because another Plugin I use "personal market board" ALSO doesn't fetch prices and current sales correctly and displays nothing instead.
Edit : I haven't been able to see Universalis prices in games through your plugin or any other for about a month now.
I noticed that when you enable datacenter/region price insights, it changes the "sales per day" and "average sale price" display to count those instead of your home server, in the order of Home -> Datacenter -> Region depending on which is ticked.
It would be nice if there was a checkbox that let you limit those to your home server, since your retainer can only sell on your own server and sometimes prices and daily sales vary wildly between servers due to population, which pollutes the data.
I was checking the price on supply mission items. Then the black box that pops whenever you press ctrl to fetch the updates keeps flickering as if ctrl is being constantly held down. This behavior doesn't happen in Inventory/Crafting list. (I'm not sure where else I can check for it.)
Timers > Next Mission Allowance > Hover over anything
Hello, it would be nice if we could have a setting that would allow us to see the Approved item price when hovering a non-approved item
In many cases the worth of an item is not just how much it sells for but how fast it sells (because there is a cost associated with storing the item and keeping a retainer slot or inveotry used up). It would very nice if the sales/week of said item were displayed on the tooltip, along the average/min price.
Usually I set my "item help" window in the bottom left corner, like so:
However, after installing the priceinsight plugin, the "item help" window is constantly pushed to the top of the screen the second I mouseover an item. The height that it is pushed up appears to be linked to how high the window needs to go for the price insights to show up. This causes the user to need to constantly open up the HUD Layout to change the "item help" window back into its original position.
A fix would be greatly appreciated, as the plugin itself is extremely useful.
For example Fleeting Brand has two versions: one caught with Collector's Glove buff up and one caught without that buff. The former is market prohibited but shows a tooltip price, too.
Been getting these on everything when hovering over items. Not sure if it's because of an update to this plugin or something else that changed on my machine.
From /xllog:
17:48:18.662 ERR | [PriceInsight] Failed to retrieve data from Universalis for itemId 17633, scope "Aether".
17:48:18.662 ERR | System.Net.Http.HttpRequestException: The requested address is not valid in its context. (universalis.app:443)
17:48:18.662 ERR | ---> System.Net.Sockets.SocketException (10049): The requested address is not valid in its context.
17:48:18.662 ERR | at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
17:48:18.662 ERR | at System.Net.Sockets.Socket.g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
17:48:18.662 ERR | --- End of inner exception stack trace ---
17:48:18.662 ERR | at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
17:48:18.662 ERR | at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken) 17:48:18.662 ERR | at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter
1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
17:48:18.662 ERR | at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
17:48:18.662 ERR | at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
17:48:18.662 ERR | at PriceInsight.UniversalisClient.GetMarketBoardData(String scope, UInt32 homeWorldId, UInt64 itemId) in /work/repo/UniversalisClient.cs:line 31
Hi, cool mod, but noticed that you still don't have it up on the repo, as well as having duplicates of mods already in the default one.
Could you please add a working repo?
when refreshing prices with the marketboard hq items seem to stay stuck at X hours but NQ are showing as updating instantly
HQ
NQ
Universalis
Can see universalis updated with new prices,
priceinsight is still showing HQ price cache from 2h ago. NQ has updated 34 mins ago.
This is after using alt to force a refresh as well.
I've been trying to update the plugin but it has been outdated and incompatible since patch 6.2. Was wondering if this is expected still?
When I hover on an item, it will say something like 300g (15h ago)
but in fact the price was just updated, so I'm lead to believe that the 15h calculation is just a bug. I'm constantly needing to do mental math to guess the actual freshness of the price.
Is this a known issue or a limitation? If not, I can try to help investigate if needed.
Dalamud released just recently for Update 6.1 and the API has shifted as a result.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.