You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Snipe.current_bid: the auction's actual final price for an ended snipe
(won or lost), e.g. "62.00 USD". Gixen prints "Current bid: ..." right
next to "Max bid: ..." for every row, active or ended -- for an ended one
this is the only place left to read what it finally sold for, since eBay
itself no longer serves that listing once it's out of search results.
Empty string if Gixen doesn't show it for that row.
[0.3.1] - 2026-07-17
Changed
Cold login is now 2 HTTP requests instead of 4 (measured against a real
account: ~9.3s → ~5.9s). Two round trips were pure waste:
login() already fetched the panel HTML to confirm the login worked,
then threw it away; _authed_home() fetched the exact same URL again
right after. login() now returns that HTML so _authed_home() reuses
it instead of re-fetching.
The GET to the index page before the login POST (INDEX_URL, now
removed) turned out to feed nothing into the login request — no CSRF
or session token was ever scraped from it. Verified live that Gixen
sets the session cookie straight off the login POST itself with no
prior GET needed.
login()'s return type changed from None to str (the logged-in
panel's HTML). Nothing in this package's own code relied on it returning None; a caller that does client.login() and ignores the return value
is unaffected.
[0.3.0] - 2026-07-17
Changed
Snipe.status now distinguishes won and lost snipes instead of
collapsing every non-"SCHEDULED" status into a single "ended" bucket.
Gixen's own "Status (main): ..." text already carries this: a literal "WON" maps to "won"; "LOST", "FAILED", "OUTBID" and the
confirmed-live "BID UNDER ASKING PRICE" all map to "lost" (substring
match, case-insensitive). Any other non-empty, unrecognized terminal text
still maps to "ended" rather than being guessed into won/lost. This changes the set of values Snipe.status can take — code doing status == "ended" to mean "not active anymore" should switch to status != "active".
purge_completed() now checks status != "active" (not just == "ended") when confirming the purge succeeded, so it correctly
recognizes "won"/"lost" snipes as already-terminal too.
CLI list command: splits output into Active / Won / Lost / Ended
(Ended only shown if non-empty) instead of just Active / Ended.