Skip to content

Trader tool: OAuth support, match mods by tradeHash (fixes many local and essence mods), add price sorting, add radius jewels, notice when rate limited#1801

Open
vaisest wants to merge 47 commits into
PathOfBuildingCommunity:devfrom
vaisest:trader-tool-port
Open

Trader tool: OAuth support, match mods by tradeHash (fixes many local and essence mods), add price sorting, add radius jewels, notice when rate limited#1801
vaisest wants to merge 47 commits into
PathOfBuildingCommunity:devfrom
vaisest:trader-tool-port

Conversation

@vaisest
Copy link
Copy Markdown
Contributor

@vaisest vaisest commented Apr 18, 2026

Fixes #1409, #1314, #748, #993, #1667, #185, #1748

#469 might be related

Description of the problem being solved:

  • Ports PoB1 trader improvements
  • Fixes mod weight generation, where for example some local modifiers were not correctly generated as PoB does not internally use the (local)
  • Fixes radius jewels and improves the jewel search in general by removing the any option, which would have caused poor results due to the lack of available filters
  • Uses OAuth header instead of poesessid. Handling logins in different view is solved by putting the PoEAPI instance in main.
  • Uses poe.ninja currency page endpoint for currency data
  • Adds a countdown when rate limited to clarify why the tool is being slow. The rate limits for Oauth seem to be more strict, which means the tool waits more overall.

Most of these changes could probably be ported to pob1 for consistency.

Steps taken to verify a working solution:

  • Previous test suite passes without errors
  • No new tests were written, but relevant tests were fixed to pass

Possible issues

I had problems with 429 rate limiting. I'm not sure if that's because of me mashing f5 to test changes, or a real issue.

Issue was caused by Cloudflare, fixed by GGG.

Radius jewels don't generate a weight for the mod that increases the radius. I'm not sure how this should be generated as its value depends purely on the other mods on the jewel. This only affects the weighted sum, though. I'm not sure if it's worth paying attention to. For my build, it's sort of useless, but if it has a large impact, we could assign a manual weight to it to not exclude it from the weighted sum. In the sorting done in PoB, it is taken into account.

Some modifiers don't seem to get tested. I don't think this is a trader issue, but rather that GGG hasn't assigned spawn weights to some mods. For example, the jewel resistance corruptions only have a default tag. This seems to have been a problem in the past too as seen in #1269.

Link to a build that showcases this PR:

Nothing specific, but:

Before screenshot:

(not sure why the previous version doesn't work at all)
image

body:
image

amulet:
image

After screenshot:

image image

body:
image

amulet:
image

In search results it should also be clear that more mods are generated. For example a lot essence mods and local-only mods were previously missing which made results very bad.

Depends on #1830

Comment thread src/Classes/TradeQuery.lua Outdated
@@ -553,7 +553,10 @@ Highest Weight - Displays the order retrieved from trade]]
main:ClosePopup()
-- there's a case where if you have a socket(s) allocated, open TradeQuery, close it, dealloc, then open TradeQuery again
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what this is exactly referring to, but its fix causes another crash

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this behaviour is what it's referring to:

Image

Comment thread runtime/lua/socket.lua
@Wires77 Wires77 added the enhancement New feature, calculation, or mod label May 3, 2026
@vaisest vaisest force-pushed the trader-tool-port branch from 085654c to be96f2c Compare May 4, 2026 15:26
@vaisest vaisest changed the title Trader tool PoB1 improvement ports and PoE2 specific fixes Trader tool: OAuth support, match mods by tradeHash (fixes local mods), add price sorting, add radius jewels, notice when rate limited May 10, 2026
@vaisest vaisest changed the title Trader tool: OAuth support, match mods by tradeHash (fixes local mods), add price sorting, add radius jewels, notice when rate limited Trader tool: OAuth support, match mods by tradeHash (fixes many local and essence mods), add price sorting, add radius jewels, notice when rate limited May 10, 2026
@vaisest vaisest marked this pull request as draft May 12, 2026 19:14
@vaisest
Copy link
Copy Markdown
Contributor Author

vaisest commented May 12, 2026

Back to draft for now as the changes from the comparison PR need to be fixed here

vaisest and others added 25 commits May 14, 2026 01:10
…lems, and to show it on non-429 rate limit. (429 issue solved on GGG's side)
…shes in a similar format as previous mod export changes.
@vaisest vaisest force-pushed the trader-tool-port branch from 7b85bf4 to 1bddcdc Compare May 14, 2026 00:13
@vaisest vaisest marked this pull request as ready for review May 14, 2026 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Trade search: Ignoring Block Chance searches

3 participants