Beulea's EVE Contracts v0.2.3
Fixed
-
Blueprint originals stopped disappearing from a Runs ≥ search. A BPO has
unlimited runs, so it should satisfy any floor — instead "BPO" plus any runs
value returned nothing at all, ever, and on a mixed BPO+BPC search every
original silently dropped out: 4,957 of the 26,903 blueprint contracts in a
current snapshot. The filter was testing for a "−1 = unlimited" marker that
the data has never contained. -
Searching for a literal % or _ works. Both are wildcards to the
search underneath, so typing a percent sign matched every contract in the
snapshot rather than the ones with a percent in the title — and titles like
"fully researched BPO (ME:10%, TE:20%)" are exactly what people type it
looking for. Item-name searches are fixed the same way. -
Picking a region is instant now, and the busiest one gained the most. Filtering
to a region meant sorting every contract in it before showing the first page —
and since The Forge holds about seven of every ten contracts in the game, the
region people pick most was the slowest by far: roughly 140 ms of sorting for a
screen of results, now under 2 ms. Other regions were already quick and are
unchanged, as is searching with no region set.This adds an index, which changes the local database's shape, so the contract
snapshot is re-downloaded once after this update. -
Filtering by a specific item is instant now. Picking one from the item box
used to make the search read every contract in the snapshot to check each one
in turn, which for anything but the few most-traded items meant a wait of
around a fifth of a second — and the rarer the item, the longer, because the
results ran out before the reading did. It now goes at the item, not at the
contracts: 60–200 ms down to under a millisecond, same results. -
A mistyped price no longer empties the results. The Min/Max ISK boxes accept
a second dot, and "1.2.3" was passed on as a number that isn't one, which
quietly made every contract fail the comparison — an empty list with nothing
to explain it. A price that can't be read is now no filter at all. -
The compare window compares the modules to each other now. In an abyssal
comparison the bold green number was the luckiest roll — the one that landed
highest inside its own possible range — not the better module: a plate using
623 MW of powergrid lost the row to one using 667 MW, because the second had
rolled further above a weaker base. Bold now marks the best actual value in
the row, the same way the Price row marks the cheapest — and that row got
tidier too: when every contract asks the same price, which is common, none of
them is "best" any more, so the row stops going all green to say they match.
The bars still
show each roll against its own possible range, which is a different question —
and when the compared rolls don't share that range, because they came from
different base modules or different mutaplasmids, the window now says so. That
is most comparisons: a class can be mutated from a dozen different modules,
and it's exactly when a fuller bar can sit beside a worse number.Worth knowing if you'd been reading the old highlight: it only ever agreed with
the values when both rolls shared a base module and a mutaplasmid. Otherwise
it disagreed on about a quarter of stats. -
The compare window stopped making claims about the wrong things. "Jita value"
in an abyssal comparison was never the module's worth — nothing can price a
rolled module, so it was the value of whatever else the contract included,
and it won the "best" highlight on that: one real listing is a freighter-load
of minerals with a single roll in it, which would have been marked the best of
the bunch on its cargo. It's now called "Other items" there and marks no
winner. A contract carrying several rolled modules also says so — the table
compares the first of them, and the column now reads "1 of 3 in this contract"
instead of implying it's the whole thing. -
The compare window no longer hangs around empty. Removing the last contract
from inside it — or clearing the tray behind it — left it open, still showing
the comparison it had loaded, with × buttons that did nothing. And when
loading a comparison failed it said "Nothing selected to compare", which was
neither true nor useful; it now says what happened. A contract that has left
the snapshot since you ticked it — sold, expired, or dropped by a refresh —
is left out and named, instead of appearing as a column with no stats and the
price it had when you picked it. -
Small things around the compare tray: with eight contracts selected the +
button says the tray is full instead of doing nothing, and when the
comparison spans more classes than fit across the dialog, their tabs scroll
rather than being cut off where you can't reach them.