GuildQuartermaster-1.2.4.zip
What's new
# Changelog
## 1.2.4
**Weapons, armour and consumables are top-level categories.** They were
entries inside "Everything else", so reaching the three categories a guild
bank is most often searched for meant opening a catch-all first. They now sit
alongside Materials and Recipes, and the catch-all holds what is genuinely
miscellaneous - keys, quest items, junk - and no longer lists the categories
it exists to exclude.
**A category with subtypes opens on its own.** Weapons broke down into swords,
axes, daggers and the rest already, but only as a side effect of filtering to
weapons: the subtypes appeared underneath once you had selected the class and
noticed the tree had grown. Any class that genuinely divides is now a section
with its own +/-, and selecting one opens it rather than making you click a
second time. Several can stay open at once, the way the auction house behaves.
**No category can turn up without an icon again.** Reagent had no picture
because the icon list was written by hand, one class at a time, and a class
missing from it got a hole in the row rather than a complaint. Reagent, Gem,
Projectile, Recipe and Glyph are named now - but more to the point, any
category not on that list, including every weapon and armour subtype and every
equip slot, borrows the icon of the busiest item in it. That is always a real
texture, always describes the category, and needs nothing maintained when a
new one turns up.
**A random-enchant item now says which roll it is - or admits that it does
not know.** The tooltip showed the base item and the game's own
"<Random enchantment>" line, which reads as "the addon knows this belt" when
what it means is "the addon cannot tell you which belt this is". There turned
out to be two different failures wearing that same face, and they need
different answers, so they are now told apart and named.
The first is a row written before 1.2, when every roll of an item shared a
single row keyed on the item ID. Those rows were deliberately kept through the
upgrade rather than thrown away - discarding them would have emptied the addon
for whoever updated first - on the understanding that each would be replaced
the first time its owner scanned again. For a bank whose owner has not logged
in since, that has never happened, and nothing anywhere said so. The tooltip
now says so, and says it will fix itself when that character next logs in.
The second is a roll that IS known - the suffix is in the row's key - but for
which no item link was kept, which is how records relayed by 1.2.0 arrived.
The suffix names the roll, so the tooltip now reports "Rolled: of the Eagle"
rather than nothing. It stops at the name deliberately: the stat magnitudes
come from a factor buried in the link's uniqueId, so a record without a link
cannot know them, and printing confident wrong numbers would be worse than
printing none.
**A bank relayed by a guildmate keeps its item links.** Three places send a
bank record; only one of them used the payload builder. The other two - the
reply when a peer asks for a bank, and the unasked hand-over when we are ahead
of somebody - each hand-built their own table and left the links out of it,
along with equip slots, mail deadlines and free space. So a bank that reached
you by relay rather than from its owner arrived with the random enchantment
stripped off every rolled item in it, and the receiver had no way to tell that
from "this bank holds nothing rolled". Both now send the same complete record
a direct push does.
**And a record that arrives without a description cannot delete the one you
have.** Stock counts are replaced wholesale by a full push, which is the point
of one, but the tables that say what a key *is* - its name, its link, its
class, its mail deadline - were being replaced along with them. A payload that
simply does not carry a link is not saying there is no link. Those tables are
now merged rather than overwritten, so an older guildmate relaying a bank the
buggy way can no longer strip what you had already recorded correctly.
**A link held by one bank is no longer thrown away because another had none.**
Two characters holding the same rolled item shared one row, and that row took
its link from whichever of them the addon happened to read first. Read the one
without a link first and the whole row lost its stats, even though the guild
had them all along. Any real link now wins, whoever turns out to be holding
it, and the row takes its properly suffixed name with it.
**`/gqm rolls` asks the question of the whole store at once.** The tooltip can
only answer for one item at a time, which does not tell you whether you are
looking at one stale character or all of them. This counts the rolled items
that are fully recorded, named but not valued, and not identified at all, and
lists which characters hold the unidentified ones.
**Post a request straight from the requests screen.** Deposits have had a
one-press mail button since 1.1; requests had a "Send it" that claimed the
request and addressed an empty letter, leaving you to find the item in your
bags yourself. Mail it now addresses the letter, attaches the exact variant
asked for - "of the Bear" is never posted against a request for "of the
Eagle" - writes the item and the reason into the subject and body, and claims
the request. Stacks go in whole, because there is no way for an addon to split
one into a letter, so it will say when it has attached more than the ask and
you can pull the surplus back out before sending. Nothing is ever sent for
you: the game reserves that button, and it stays yours to press.
**And when you are not carrying it, it says where to go and get it.** That is
the case the button is really for. Pressing it while empty-handed does not
claim the request or report an error - it lists every character holding one,
naming the exact location on each, yours first. Mail it is offered on any
request the guild can actually satisfy, not only ones your own banks hold,
because "which alt do I log into" is a question only the addon can answer.
**A request row can no longer overprint the one below it.** Long item names
wrapped inside a fixed-height row, so "Green Hills of Stranglethorn - Page 11"
pushed its own second line straight through the reason underneath it and the
two rows collided. Every field is now a fixed column with wrapping switched
off, the same fix the contributions board got in 1.2.2. Anything clipped by a
column is in the row's tooltip.
**Where an item is, is now the column the screen is built around.** It had
been squeezed in beside the name in grey, said "Murlocgear: 1 in bank", and
vanished entirely the moment somebody claimed the request. It has its own
labelled column, reads "1 in Murlocgear's bank", counts what you are carrying
right now rather than what was last scanned, is coloured by how far away it
is - your bags, your bank, someone else's - and says how many other characters
also have one. Hovering a row lists all of them.
**Opening the window no longer steals your keyboard.** The Browse search box
took focus the moment the window appeared, and an edit box with focus eats
every key that reaches it - so opening the addon while running turned WASD
into a search for "wasd", and push-to-talk typed itself into the box. The box
is one click away for anyone who opened the window to search; anyone who
opened it to read can now still move. Escape closes the window first time as
well, rather than only clearing the box.
**"Only ones I can fill" counts what you are holding.** It only ever consulted
your bank characters, so a request you could have posted in ten seconds from
the bags you were standing in was hidden by the filter - and a character not
on the bank list is never scanned, so its bags were invisible to that question
entirely. The same correction applies to the count on the minimap button and
the notice when a request arrives.
## 1.2.3
**A member who never received the bank list can get one.** The list only ever
travelled from the one member allowed to edit it, and only to whoever happened
to be logging in at the time. Miss that window - because the GM was offline,
which is most of the time - and there was no second chance and no way to ask.
A fresh install could sit there indefinitely with no list at all. Anyone
holding a copy now hands it on, the same way bank contents have always been
relayed, and the copy names who wrote it so it is still judged on their
authority rather than the courier's. A client that finds itself behind asks
outright instead of waiting to be offered one.
**Banks are no longer invisible while that list is missing.** 1.2.2 made the
list the sole authority on what counts as a bank, which was right, but a
client that has never been given one was then answering "not a bank" to every
record in the guild rather than "no idea". The data arrived and was stored,
and Browse, search, the bank tab and the minimap count were all empty anyway -
while contributions, which never consult the list, synced perfectly. Records
relayed to a client with no list are trusted until a list turns up, and
adopting one re-checks every record against it. Existing installs in that
state are repaired on update.
## 1.2.2
**A bank taken off the list stays off it.** The settings screen counted the
banks you have listed, while the minimap tooltip, Browse and the Deposit tab
counted the characters whose records claimed to be banks - and a record
claimed it simply because it had been relayed to you. So a character removed
from the list carried on being counted, searched and offered as a somewhere
to post to, until some later edit of the list happened to correct it. The
list decides now, and existing records are re-checked against it once.
**The contributions board is a proper table.** Every figure for a contributor
used to be one long line of text that wrapped inside a fixed-height row, so
the names and their numbers drifted further apart the further down you read.
It now has columns: right-aligned numbers that line up, banded rows, and a
header that sorts - click a column to rank by it, click again to reverse.
The four sort buttons are gone, since the headers do that job.
## 1.2.1
**Item links now actually travel between clients.** 1.2.0 recorded the link for
every random-suffix item, which is the only way to show what the roll gave it,
and then left it out of the message it sends. So a bank you do not own showed
its variants split correctly but with the base item's tooltip - no suffix, no
stats. The links are on the wire now, and the first push after updating is a
full one so the ones already recorded get out.
**Older clients are properly kept out of the new stock.** The protocol version
was meant to go up in 1.2.0 and did not, so 1.1.x clients accepted item lists
keyed in a way they cannot read. They now refuse them and ask their owner to
update, which is what should have happened.
Both need the bank's owner on 1.2.1: a relayed row can only carry what the
client that owns it sent.
## 1.2.0
**Random-suffix items are told apart.** Items that roll a suffix when they
drop - "of the Eagle", "of the Bear" - all share a single item ID, and stock
was keyed on that ID alone. Every variant collapsed into one row, their counts
were added together, and the row took the name of whichever variant happened
to be scanned first. A bank holding one of each showed "x2" under one name,
and the tooltip showed the base item with none of the enchantment on it.
Stock is now keyed on the item and its suffix, so each variant is its own row
with its own name and count. Hovering one shows that item, with its actual
stats. Requesting one asks for that variant, and the deposit screen attaches
that variant rather than whichever happened to be nearest.
**Every materials category has an icon again.** A profession with no picture
of its own drew an empty square instead - Classic reports the mining window as
"Smelting", which was one of several names the icon list had never heard of.
Unknown professions now fall back to the generic materials icon rather than
nothing.
**Nothing is cleared when you upgrade.** Almost none of what your client
holds is its own - each bank's contents are relayed from the character that
owns it - so existing rows stay exactly where they are. Your own re-key
themselves the next time you open your bags and bank. Everyone else's are
replaced, correctly split, the first time that owner pushes from 1.2.0.
**Older clients still get through.** Stock from 1.1.x arrives keyed the old
way, which means its random-suffix items are still merged into one row - the
same thing 1.1.x itself showed, and better than showing nothing. It corrects
itself the day that bank's owner updates. Anyone still on 1.1.x will not see
contents from a 1.2.0 bank and is told to update; roster, settings and
requests work across both.
## 1.1.2
Fixes for a set of faults that shared one cause: a helper defined below the
code that used it. Lua does not treat that as an error - the reference just
reads as an empty global - so each one failed silently, and with script
errors switched off, invisibly.
- **Free space is recorded again.** Every bag and bank scan stopped partway,
after storing the contents but before working out how many slots were free.
That is why bank listings looked right while the Deposit tab said space
unknown. The scan also never reached the point where it tells the rest of
the addon something changed.
- **The letter is filled in properly.** One-press deposit relied on the
game's own default subject rather than writing its own.
- **`/gqmmail`, `/gqmtooltip` and `/gqm diag`** did nothing but throw.
- **The contributions tab now goes away** when a guild has the board switched
off, instead of staying put and refusing when pressed.
`/gqm autosend` has been removed. Posting mail is protected by the client, so
the setting it toggled had nothing left to control - the letter is prepared
and you press Send.
## 1.1.1
Roster and guild settings are now restricted by guild rank on a fresh
install, as intended. They were open to everyone by default, which was a
development setting that should not have shipped. A guild that would rather
not gate it can still open it up with `/gqm devmode`.
Existing installations keep whatever they already had.
## 1.1.0
**A separate set of banks for each guild.** An account can belong to several
guilds across realms, and the store is account-wide, so guild data now lives
under its own key per guild and realm. Two consequences worth knowing:
- A character in a second guild gets its own empty set rather than seeing, or
broadcasting, the first guild's contents.
- Existing data is moved automatically on first load, with a chat line saying
where it went. Account preferences - minimap position, tooltip and mail
toggles - stay shared.
**Nothing is shown on a character with no guild**, since there is nothing to
show. Item tooltips and the minimap tooltip stay quiet too.
**Fixes**
- The rightmost column of item slots was clipped; the grid now fits itself to
the space available.
- Slash commands did nothing after the rename, being registered under one name
and triggered by another.
- Data saved under the previous name is adopted correctly. The rename had
rewritten the migration into a statement that assigned a variable to itself.
- Soulbound items are excluded from the deposit list, and bind-on-equip items
are no longer mistaken for them.
- Quest items are skipped rather than attempted, one red error at a time.
- The deposit list offers what is actually worth banking, rather than
everything in your bags.
## 1.0.0
First release.
- Browse every listed guild bank in one window, with a category tree covering
materials, recipes and everything else, and bag-style item slots.
- Materials classified by profession from the first login, refined by reading
real recipe reagents when a profession window is opened.
- Requests, with an optional reason. Anyone able to fill one is told on login
and can filter to just those.
- Guild-wide sync over the addon channel, with deltas for routine changes and
full snapshots for catching up. Any member holding a copy can serve it, so
a bank character's owner need not be online.
- Bank roster managed from the guild member list, with a rank-based
permission threshold.
- Window titled after your guild, with an optional override.
- Minimap button.
Previously named GuildQuartermaster; existing data is adopted automatically.
This mod has no additional files

