Skip to content

Releases: peterm2024/PoE-VIEW2

v0.9.0

Choose a tag to compare

@peterm2024 peterm2024 released this 13 Aug 17:13

Behoben

  • Veröffentlicht GGG die Erfahrung ausnahmsweise mitten in einer Karte
    statt beim Verlassen, war die darauf folgende XP/h-Angabe viel zu
    niedrig — im gemessenen Fall 38 statt 187 Millionen. Sie rechnete mit
    der ganzen Zeit in der Karte, obwohl der größere Teil davon schon
    abgerechnet war. Ein Abschnitt reicht jetzt höchstens bis zur vorigen
    Veröffentlichung zurück; im Graphen überlappen sich dadurch auch keine
    Balken mehr.

Hinzugefügt

  • Über dem XP-Graphen zeigt jetzt ein schmaler Balken je eingesetztem
    Gem, wie weit es zur nächsten Stufe ist — in der Farbe des Attributs,
    das es verlangt. Ein voller Balken heißt fertig; wartet das Gem nur
    auf einen Klick, sitzt eine gelbe Kappe darauf. Damit ist auf einen
    Blick zu sehen, welche Gems durch sind und welche noch Aufmerksamkeit
    brauchen.
  • Verlässt man eine Map zwischendurch (Items verkaufen) und kommt
    zurück, erkennt der XP-Graph das jetzt als EINE Map: Hinter den
    einzelnen Aufenthalten liegt eine dunkelgrüne Fläche auf Höhe der
    Rate für die ganze Map. Die Lücke bleibt sichtbar — man sieht also,
    was der Ausflug gekostet hat.
  • Eine gestrichelte Linie im Graphen zeigt die Gesamtrate über die
    angezeigten drei Stunden.

Geändert

  • Die Suche versteht jetzt mehrere Begriffe, so wie die Suche im Spiel:
    Durch Leerzeichen getrennte Wörter müssen ALLE zutreffen. life resistance findet damit Items mit beidem, auch wenn die zwei Wörter
    im Text nie nebeneinander stehen — vorher fand diese Eingabe nichts.
    Mehrere Wörter in Anführungszeichen bleiben ein Begriff ("maximum life").
    Wer reguläre Ausdrücke benutzt: Jedes Wort ist ein eigenes Muster.
    Socket-Muster von poe.re enthalten keine Leerzeichen und funktionieren
    unverändert; ein Muster mit Leerzeichen gehört in Anführungszeichen.
  • Mitgesucht werden jetzt auch die Namen der eingesetzten Gems — "wo
    steckt eigentlich meine Determination?" beantwortet die Suche selbst.
  • Zwei Kurzformen aus dem Spiel funktionieren jetzt auch hier:
    ilvl:84 findet Itemlevel genau 84, tier:16 Map-Tier genau 16 —
    beides kombinierbar mit allem anderen (ilvl:84 ring). Für Bereiche
    bleibt der Spalten-Filter (>=84) der bessere Weg.
  • Strg+F springt ins Suchfeld und markiert den bisherigen Text.

v0.8.0

Choose a tag to compare

@peterm2024 peterm2024 released this 13 Aug 12:34

Hinzugefügt

  • Rechtsklick auf ein Item bietet jetzt "Copy item text (for Path of
    Building)" an: Das Item landet im Textformat des Spiels in der
    Zwischenablage und lässt sich in Path of Building einfügen. Gedacht
    vor allem für Truhen-Items — Charaktere holt sich PoB selbst von GGGs
    Seite, an die Truhe kommt es nicht heran. Verzauberungen und
    Flaschen-Effekte sind dabei, ebenso Sockel, Qualität und Item-Level.
  • Das Item-Detail unten ist nach Blöcken gegliedert — Eigenschaften,
    Anforderungen, impliziter und explizite Mods durch dünne Linien
    getrennt, wie im Spiel. Vorher lief alles als eine Liste
    untereinander, und welcher Mod der implizite ist, war gar nicht zu
    erkennen. Verzauberungen und Flaschen-Effekte werden jetzt überhaupt
    angezeigt; passt der Text nicht ins Panel, steht das dort, statt still
    abgeschnitten zu werden.
  • Neben dem Item-Detail sitzt ein Leveling-Feld mit Stufe,
    Gesamterfahrung und XP/h des zuletzt abgeschlossenen Gebiets. Die
    Trennlinie zwischen beiden lässt sich verschieben.
  • Eine Verbindungs-LED am rechten Ende der Statuszeile: grün, solange
    GGG antwortet, rot während einer Wartung, grau bevor überhaupt etwas
    abgefragt wurde. Sie geht von selbst wieder auf grün, sobald ein
    Abruf gelingt — ohne Neustart. Die Bedeutung der drei Farben steht im
    Hilfe-Fenster unter "Getting started".
  • Darunter zeichnet ein Graph die letzten drei Stunden: ein Balken je
    abgeschlossenem Gebiet, so breit wie das Gebiet gedauert hat. Wo
    nichts steht, wurde keine Erfahrung gemacht — Pausen bleiben als
    Lücken sichtbar. Ein Gebiet, in dem unterm Strich Erfahrung verloren
    ging, hängt rot unter der Null-Linie.

Behoben

  • Billige Währung wurde teils viel zu hoch bewertet — ein Stapel von 921
    Wisdom Scrolls stand mit 4,9 Divine in der Tabelle. poe.ninja kann
    Kurse unter einem Chaos in einer Handelsrichtung nicht ausdrücken und
    meldet dort glatt „1 Chaos"; die Gegenrichtung wird jetzt zuverlässig
    ausgewertet, auch seit poe.ninja sie in umgekehrter Einheit angibt.
    Fehlt die Gegenrichtung ganz, bleibt die Wertspalte leer, statt eine
    Obergrenze als Preis auszugeben.
  • Das Item-Detail schnitt lange Items wieder ab, ohne es zu sagen: Die
    Trennlinien zwischen den Blöcken brauchen selbst Platz, was bei der
    Höhe nicht mitgerechnet war. Das Feld ist 16 Pixel höher und zeigt
    jetzt 95 % aller Items vollständig; was darüber hinausgeht, wird wie
    vorgesehen gemeldet.
  • Während einer GGG-Wartung meldete die Anwendung im Sekundentakt
    "League not found" und verdeckte damit ihren eigenen Offline-Hinweis.
    Der Truhen-Endpunkt beantwortet eine laufende Wartung nicht mit einem
    Serverfehler, sondern mit einer abgelehnten Anfrage — gemessen an
    einer echten Wartung in 19 von 22 Fällen, während der
    Charakter-Endpunkt gleichzeitig sauber "Server nicht verfügbar"
    meldete. Die Liga existierte dabei durchgehend. Solche Antworten
    zählen jetzt als Wartung: Es erscheint der normale Offline-Hinweis,
    und die zwischengespeicherten Daten bleiben durchsuchbar.
  • Nach der ersten Karte einer Sitzung blieb die XP/h-Anzeige leer,
    obwohl alles Nötige gemessen war: Der Weg ins Hideout ändert die
    Erfahrung nicht, es gab also nur eine Veröffentlichung, und die
    Rechnung verlangte zwei. Sie nimmt jetzt den Stand beim
    Programmstart als Vergleichspunkt — allerdings nur, wenn dieser
    nachweislich vor dem Betreten des gemessenen Gebiets liegt,
    andernfalls wäre die Rate erfunden.

v0.7.0

Choose a tag to compare

@peterm2024 peterm2024 released this 11 Aug 23:23

Hinzugefügt

  • Das Anwendungssymbol erscheint jetzt auch in der README und im
    Hilfe-Fenster unter "About". Dafür legt tools/make_icon.py neben der
    mehrstufigen .ico eine einzelne assets/PoE-VIEW2.png an — weder
    GitHubs Markdown noch Qts Rich Text kommen mit einer mehrstufigen
    Icondatei zurecht.
  • Charakter-XP/h in der Statuszeile, sobald ein Charakter offen ist —
    ohne zusätzlichen API-Request (Level und Erfahrung stecken bereits in
    der Antwort, die für die Ausrüstung ohnehin geladen wird). Gezeigt wird
    die Rate der zuletzt abgeschlossenen Zone, gerechnet über die Zeit, die
    der Charakter dort verbracht hat — Wartezeit im Hideout verwässert sie
    also nicht, und eine Pause lässt sie nicht absacken, sondern einfach
    stehen. Ab einer Minute steht dahinter, wie alt der Wert ist
    (24.1M XP/h (3m ago)), denn neue Erfahrung liefert die API von GGG
    erst, wenn eine Map verlassen wird. Erster Schritt einer größeren,
    noch offenen Idee (Gem-XP/h, ein echter Graph).
  • Der Live-Refresh reagiert jetzt nicht mehr nur auf Zonenwechsel,
    sondern auch auf Händler-Verkäufe und das Identifizieren von Items —
    beides steht in PoEs eigener Client.txt, die für den Zonenwechsel
    ohnehin schon gelesen wird. Damit die zusätzlichen Anlässe kein
    Rate-Limit-Budget verbrennen, verschiebt jeder vorgezogene Abruf den
    nächsten regulären Takt um die eingesparte Zeit; eine Serie von
    Ereignissen ist auf vier Abrufe begrenzt, danach wird gewartet, bis
    der Takt wieder aufgeholt hat. Ob GGG zu diesen Anlässen tatsächlich
    neue Daten bereitstellt, ist unterschiedlich — verlässlich ist nach wie
    vor nur der Zonenwechsel. Der vorgezogene Abruf kostet aber nichts
    extra, weil er den nächsten regulären um dieselbe Zeit verschiebt.
  • Ist in einem Item ein Sockel-Gem eine Stufe aufgestiegen, leuchtet die
    Zeile grün statt türkis. Damit ist der häufigste Grund, aus dem
    angelegte Ausrüstung überhaupt aufleuchtet, auf einen Blick von einem
    echten Neuzugang zu unterscheiden. Ein frisch eingesockeltes Gem bringt
    seine Stufe nur mit und bleibt türkis.

Behoben

  • Die kurzen Hänger beim Aktualisieren der Fächer sind weg. Ursache: Bei
    jedem eintreffenden Fach wurde der komplette Datenbestand neu in die
    Cache-Datei geschrieben — bei einer großen Truhe 1,4 Sekunden lang,
    und zwar im Vordergrund. Das Schreiben läuft jetzt in einem eigenen
    Thread, und mehrere Anforderungen kurz hintereinander fallen zu einer
    zusammen. In der Oberfläche bleiben davon 0,009 Sekunden übrig; beim
    Beenden wird auf den letzten Speichervorgang gewartet.
  • Beim Spielen leuchtete ständig die halbe Ausrüstung türkis auf, als
    wäre gerade etwas Neues passiert, obwohl nichts geschehen war.
    Ursache: Die Erfahrung der Sockel-Gems zählt permanent hoch und ist
    Teil der Item-Daten — damit galt jedes sockelbare Ausrüstungsteil bei
    fast jedem Refresh als "geändertes Item" (in Peters Spielrunde
    gemessen: 25 von 29 Gems mit neuen Erfahrungswerten binnen zwölf
    Sekunden). Der Erfahrungsstand zählt für die Hervorhebung jetzt nicht
    mehr mit; ein Gem, das tatsächlich eine Stufe aufsteigt, wird
    weiterhin angezeigt.
  • Aus demselben Grund leuchteten Flaschen regelmäßig auf: Ihre aktuelle
    Ladungszahl steht in den Item-Daten und schwankt beim Spielen
    ununterbrochen. Sie zählt für die Hervorhebung nicht mehr mit — die
    maximale Ladungszahl, die sich tatsächlich ändern kann, dagegen schon.

v0.6.0

Choose a tag to compare

@peterm2024 peterm2024 released this 06 Aug 23:35

Windows-Anwendung: PoE-VIEW2.exe herunterladen und starten — Python,
Qt und alles Weitere stecken darin, es muss nichts installiert werden.

Hinweis zu SmartScreen: Die Datei ist nicht codesigniert, deshalb
warnt Windows vor einem „unbekannten Herausgeber". Über „Weitere
Informationen" → „Trotzdem ausführen" lässt sie sich starten. Wer das
lieber nicht möchte, kann das Programm aus dem Quellcode betreiben
(siehe README).

Hinzugefügt

  • Hilfe-Fenster (Fragezeichen-Knopf in der Toolbar) mit elf Themen: was
    die Spalten bedeuten, wofür die Farbfilter stehen, wie Suche und
    Refresh-Modi arbeiten, warum die beiden Zähler in "Load All Tabs"
    auseinanderlaufen, was die Symbole im Item-Verlauf heißen, warum die
    Wertspalte in SSF-Ligen leer bleibt, und wo die eigenen Daten liegen.
    Das Fenster ist nicht modal — es kann offen bleiben, während man das
    Erklärte ausprobiert.
  • Statuszeile zeigt jetzt "Updated HH:MM:SS" — wann der Inhalt der
    Tabelle zuletzt neu aufgebaut wurde. Damit ist auf einen Blick
    erkennbar, wie frisch das Angezeigte ist.
  • Datum und Uhrzeit rechts oben in der Toolbar. Zusammen mit dem
    "Updated"-Zeitstempel der Statuszeile ist damit auch auf einem
    Screenshot allein erkennbar, wie aktuell die angezeigten Daten sind.
  • Neben dem "Updated"-Zeitstempel erscheint "unchanged for 12m", wenn
    die Daten zwar weiter eintreffen, aber unverändert bleiben. Damit ist
    "wir holen nichts mehr" von "wir holen, die API liefert denselben
    Stand" zu unterscheiden — letzteres ist der Normalfall, solange im
    Spiel kein Zonenwechsel stattgefunden hat. Zeiten, in denen wegen des
    Rate-Limits gar nicht abgefragt wurde, zählen dabei nicht mit — die
    Angabe nennt nur geprüfte Zeit.
  • Der Spaltenfilter (Rechtsklick auf einen Spaltenkopf) vervollständigt
    jetzt schon beim Tippen: Der passende Rest steht markiert hinter dem
    Cursor und wird mit Return oder Tab übernommen. Die bisherige
    Vorschlagsliste bleibt daneben bestehen — sie findet auch Werte, bei
    denen man nur einen Teil aus der Mitte kennt.
  • Der Fortschrittsdialog von "Load All Tabs" erklärt jetzt seine
    Zahlen: Der Fach-Zähler steht vorn, die Abrufe heißen "requests"
    statt "Section" (ein Wort, das es in der Truhen-Oberfläche gar
    nicht gibt), eine kleine Tabelle rechnet vor, woraus sich die
    Gesamtzahl zusammensetzt, und die Restzeit nennt das Rate-Limit
    von GGG als Grund. Die Zahlen selbst waren immer richtig — sie
    sahen nur nach einem Widerspruch aus.
  • "📌 Pin" im Rechtsklick-Menü der Item-Liste: setzt den Spaltenfilter
    auf genau den Wert der angeklickten Zelle. Rechtsklick auf
    "MainInventory" in der Tab-Spalte zeigt also nur noch Items von
    dort. Der Wert, nach dem man filtern will, steht meistens schon
    unter dem Mauszeiger — bisher musste man ihn im Header-Menü
    abtippen.
  • Das Hilfe-Fenster ist auf dem Stand der Oberfläche: Es beschrieb
    noch den alten "Load All Tabs"-Dialog mit einem Zähler namens
    "Section", den es nicht mehr gibt, und kannte weder den
    Nur-Lese-Modus eines zweiten Fensters noch "Pin" und die
    Vervollständigung im Spaltenfilter.
  • Die Symbole im Item-Verlauf (↑ ↓ ±) erklären sich jetzt per Tooltip.
  • In Ligen, für die poe.ninja keine Preise führt, steht in der
    Statuszeile "No prices for this league" statt einer wortlos leeren
    Wertspalte. Der Tooltip nennt den Grund: Solo Self-Found hat keinen
    Handel, aus dem sich Preise ableiten ließen.
  • Der Daten-Cache wird bei jedem Programmstart gesichert, bevor die
    neue Sitzung etwas daran ändern kann — nach
    %LOCALAPPDATA%\PoE-VIEW2\backups, gepackt auf etwa ein Zehntel
    (67 MB werden zu 7,5 MB, in einer Drittelsekunde). Der Dateiname nennt
    den Zeitpunkt. Sicherungen werden 24 Stunden aufbewahrt; die neueste
    bleibt immer erhalten, egal wie alt sie ist. Hat sich seit der letzten
    Sicherung nichts geändert, wird keine neue angelegt. Zurückgespielt
    wird von Hand über den Explorer — das Hilfe-Fenster beschreibt den Weg.
  • Die vergrößerte Item-Ansicht (Doppelklick auf eine Zeile) zeigt jetzt
    den Spruchtext des Items — bei einer Divination Card das, was die Karte
    ausmacht, bei Uniques die Hintergrundgeschichte. Er steht zwischen Bild
    und Zahlen, kursiv in einer Serifenschrift und etwas größer; bei Karten
    innerhalb des Kartenrahmens, durch eine Zierlinie vom Artwork getrennt.
  • Die Belohnung einer Divination Card erscheint in der Farbe, die GGG ihr
    selbst gibt: Währung gold, Gems grün, Uniques orange, "Corrupted" rot.
    Die Angabe steckt in denselben Auszeichnungen, die aus dem Text
    entfernt werden — statt sie wegzuwerfen, wird sie jetzt ausgewertet.
  • Alle Texte in der vergrößerten Ansicht sind zentriert, wie in den
    Item-Tooltips des Spiels.
  • Bei einer Divination Card steht statt "Stack Size: 7/5" der Fortschritt
    zum nächsten Satz: 1 ▮ + ▮ ▮ ▯ ▯ ▯ — ein voller Satz (grün), und vom
    nächsten sind zwei von fünf Karten da. Damit ist ohne Kopfrechnen zu
    sehen, wie weit man ist. Die genauen Zahlen stehen im Tooltip. Nur bei
    Karten — bei Währung ist die Stapelgröße keine Satzgröße, sondern
    Lagerkapazität und reicht bis 50 000.
  • Karten, von denen eine einzelne schon ein voller Satz ist ("Society's
    Remorse", "The Cartographer" und fünf weitere), zeigten bisher gar
    keine Stückzahl an — die API liefert für sie kein Stack-Size-Feld.
    Jetzt steht dort die Anzahl mit einem grünen Rechteck (16 ▮).

Geändert

  • Das Charakter-Fenster (Doppelklick auf einen Charakter) zeigt die
    Ausrüstung endlich lesbar: Die Hälfte der Namen war abgeschnitten — an
    einem echten Charaktersatz gemessen 87 von 171 Teilen, vier Flaschen
    lasen sich allesamt als "Flagell…" und waren nicht auseinanderzuhalten.
    Die Plätze sind jetzt breiter, brechen lange Namen auf zwei Zeilen um
    und zeigen die Basis statt des gewürfelten Fantasienamens eines Rares
    ("Gutting Knife" statt "Vortex Bane"); der vollständige Name steht im
    Tooltip. Ergebnis: kein einziger gekürzter Name mehr.

  • Die Ausrüstungsplätze tragen jetzt die Rarity-Farben der Item-Tabelle —
    vorher war alles weiß, und man sah der Puppe nicht an, welches Teil das
    Unique ist.

  • Die Juwelen aus dem Passiv-Baum sind anklickbar wie jeder andere Platz,
    mit Icon und Farbe. Vorher waren sie eine reine Textliste in einem
    Rollbereich, die einzigen Items im Fenster ohne Reaktion auf einen
    Klick, und die Liste schnitt regelmäßig mitten in einer Zeile ab.

  • Die Ausrüstungsplätze liegen jetzt so wie in PoEs eigenem
    Inventar-Fenster: Ringe links und rechts der Rüstung, Amulett rechts
    neben dem Helm, Handschuhe/Gürtel/Stiefel auf einer Höhe. Bisher stand
    das Amulett zwischen den Waffen und die Ringe flankierten den Gürtel.

  • Statuszeile aufgeräumt: Die beiden Refresh-Angaben sind zu einer
    zusammengefasst ("Single — next update in 1s · 0/94 tabs"), und der
    Hinweis zur fehlenden Zugehörigkeit zu Grinding Gear Games steht jetzt
    im Hilfe-Fenster unter "About" statt dauerhaft in der Statuszeile.

  • Settings-Dialog und Charakter-Fenster sind jetzt durchgehend englisch
    wie die übrige Oberfläche. Vorher waren im Settings-Dialog nur die
    Reiter englisch und alle Beschriftungen deutsch; im Charakter-Fenster
    standen die Ausrüstungsplätze, "Ausrüstung", "Flasche" und "Jewels im
    Passiv-Baum" auf Deutsch.

  • Der Hintergrund-Refresh taktet in den Modi "Single" und "Stash" etwas
    langsamer (bei GGGs üblichem Kontingent 13 statt 11 Sekunden).
    Grund: Der bisherige Takt schöpfte das Abruf-Kontingent so weit
    aus, dass schon wenige zusätzliche Abrufe — etwa durch mehrere
    Zonenwechsel kurz hintereinander — die Notbremse auslösten und
    der Refresh dann minutenlang ganz aussetzte. Etwas langsamer,
    dafür ohne diese Aussetzer.

Behoben

  • Markierte man im Fach-Baum einen Spezial-Tab ("Unique Items", "Map
    Stash") zusammen mit anderen Fächern, blieben seine Items in der
    Tabelle aus — und damit auch im CSV-Export. Ordner lösten sich richtig
    in ihre Fächer auf, Spezial-Tabs nicht: Sie sind technisch keine
    Ordner und galten deshalb als einzelnes Fach, unter dessen ID es aber
    gar keine Items gibt (die stecken in den Unter-Fächern). Maßgeblich
    ist jetzt allein, ob ein Knoten Unter-Knoten hat.
  • Item-Eigenschaften mit Platzhaltern wurden falsch dargestellt: Statt
    "Consumes 35 of 65 Charges on use" stand dort "Consumes {0} of {1}
    Charges on use: 35" — die Platzhalter blieben stehen und der zweite
    Wert fehlte ganz. Betraf das Detail-Panel, die vergrößerte Item-
    Ansicht, den CSV-Export und den Suchindex.
  • Item-Verlauf: Nach einem Programmstart tauchten dort Ereignisse auf,
    die längst vergangen waren — mit der aktuellen Uhrzeit versehen. Der
    Verlauf selbst wird nicht gespeichert, der Inventarstand der
    Charaktere schon; der erste Abruf nach dem Start verglich deshalb
    gegen einen womöglich wochenalten Stand. Protokolliert wird jetzt erst
    ab dem zweiten Abruf eines Charakters, der erste setzt nur die
    Vergleichsbasis.
  • Währungen unter einem Chaos wurden alle mit genau einem Chaos
    bewertet — ein voller Stapel Scrolls of Wisdom stand dadurch mit 40c
    in der Value-Spalte statt mit 0,2c. Ursache war poe.ninjas
    "receive"-Seite, die kein kleineres Verhältnis als 1:1 ausdrücken
    kann; die Gegenrichtung derselben Zeile kennt den echten Kurs und wird
    jetzt verwendet. Betraf in der Liga Allflame 20 von 67 Währungen.
    Nebenbei behoben: poe.ninja rundet auf zwei Nachkommastellen, was sich
    bei großen Stapeln aufsummierte.
  • Ein zweites PoE-VIEW2-Fenster mit demselben Konto läuft jetzt nur
    lesend: Der Cache bleibt vollständig durchsuchbar (Suche, Filter,
    Item-Details, CSV-Export), aber es ruft nichts ab und speichert nichts.
    Vorher hätten sich zwei Fenster gegenseitig die Daten überschrieben und
    sich obendrein das Abruf-Kontingent geteilt. Mit einem anderen Konto
    angemeldet, ist das zweite Fenster uneingeschränkt nutzbar. Die
    Statuszeile sagt, welcher Fall gerade gilt.
  • Die lokalen Cache-Dateien werden jetzt vollständig oder gar...
Read more

v0.5.1

Choose a tag to compare

@peterm2024 peterm2024 released this 03 Aug 22:29

[0.5.1] - 2026-08-04

Behoben

  • Datenverlust beim Ab- und Wieder-Anmelden: Wer sich abmeldete und
    danach erneut mit demselben Konto anmeldete, bekam seine gespeicherten
    Truhen- und Charakterdaten nicht zurück — der leere Zustand wurde
    stattdessen über die vorhandene Datei geschrieben. Beim nächsten Start
    wirkte es, als müsse alles neu geladen werden. Die Daten kommen jetzt
    nach dem erneuten Anmelden wieder von der Platte.
  • Zusätzlicher Schutz gegen Datenverlust: Die lokale Datendatei wird
    nicht mehr überschrieben, wenn dabei der allergrößte Teil des
    gespeicherten Bestands verlorenginge. Im Zweifel bleibt lieber zu viel
    gespeichert — beide bisherigen Datenverluste entstanden genau so, und
    der Schutz greift unabhängig davon, welcher Programmteil das
    Speichern auslöst.

v0.5.0

Choose a tag to compare

@peterm2024 peterm2024 released this 03 Aug 01:02

[0.5.0] - 2026-08-03

Hinzugefügt

  • Logout: der Konto-Button in der Toolbar öffnet nach dem Login jetzt ein
    Menü mit "Log out", statt einfach nur deaktiviert zu sein. Vorher gab
    es keinen Weg, sich mit einem anderen GGG-Konto anzumelden, ohne den
    gespeicherten Eintrag von Hand aus dem Windows-Anmeldeinformations-
    manager zu löschen. Ein Logout widerruft nur lokal die Anmeldung bei
    PoE-VIEW2 — die Freigabe auf der GGG-Kontoseite bleibt davon
    unberührt, dort lässt sie sich bei Bedarf separat entziehen.
  • Cache-Trennung pro Konto: jedes GGG-Konto bekommt jetzt seine eigene
    lokale Datendatei statt einer gemeinsamen. Vorher blieben Stash-Baum,
    Items und Charaktere eines vorherigen Kontos nach einem Kontowechsel
    im Speicher stehen und vermischten sich mit dem neuen. Nichts wird
    dabei gelöscht — jedes Konto behält seinen eigenen Stand, auch beim
    Zurückwechseln. Existiert die kontospezifische Datei noch nicht (z. B.
    gleich nach der Umstellung), wird die alte gemeinsame Datei automatisch
    übernommen, sofern sie zum selben Konto gehört — die alte Datei bleibt
    dabei unverändert erhalten.
  • Item-Verlauf: reine Mengenänderungen (z. B. Currency-Stacks) tauchen
    jetzt als eigenes Ereignis auf und wandern dabei ganz nach oben, mit
    Vermerk, wie viel sich geändert hat (z. B. "53 (+3)"). Vorher wurden
    solche Änderungen komplett ignoriert — nur echte Neuzugänge und
    verschwundene Items landeten im Verlauf. Gilt nur für das
    Charakter-Inventar, nicht für Stash-Fächer.
  • Eigenes Anwendungssymbol: PoE-VIEW2 hat jetzt ein eigenes Icon in
    Explorer, Taskleiste und Fenstertitel statt des allgemeinen
    Standardsymbols. Es steckt in sieben Größenstufen in der Datei, wobei
    die kleinen Stufen eine bewusst vereinfachte Fassung der Grafik
    verwenden — sonst würde der Runenring bei 16 Pixeln zu Matsch.
  • Live-Zonenanzeige in der Toolbar: zeigt die zuletzt aus der Client.txt
    erkannte Zone an — unabhängig davon, ob danach tatsächlich ein Refresh
    folgt (Pause-Modus/Rate-Limit können das weiterhin verhindern). Auch
    eine Diagnose-Anzeige nebenbei: bleibt sie leer, war der Zonen-
    Beobachter entweder deaktiviert oder hat nichts erkannt.

Behoben

  • Der Zonenwechsel-Refresh löste in Wirklichkeit nie aus: die
    Datei-Überwachung von Qt bemerkt neue Zeilen in PoEs Client.txt nicht,
    solange das Spiel läuft. Aufgefallen ist das erst durch die neue
    Zonenanzeige, die dauerhaft leer blieb; die Daten waren trotzdem nie
    veraltet, weil der reguläre getaktete Refresh unabhängig davon
    weiterlief — der Zonenwechsel beschleunigt ihn nur. Die Erkennung
    prüft die Datei jetzt selbst im 2-Sekunden-Takt.
  • Ein Liga-Wechsel im Dropdown leerte die Itemliste bisher nicht — der
    zuletzt angezeigte Fach- oder Charakterinhalt der vorherigen Liga blieb
    sichtbar stehen, obwohl keine Auswahl mehr dazu passte. Die Liste wird
    jetzt beim Liga-Wechsel geleert, bis erneut ein Tab oder Charakter
    ausgewählt wird.

v0.4.0

Choose a tag to compare

@peterm2024 peterm2024 released this 02 Aug 19:57

[0.4.0] - 2026-08-03

Hinzugefügt

  • CSV-Export: deutlich breiterer Spaltensatz statt bisher 10 fester
    Spalten — jetzt u. a. Position (Tab/X/Y), Kategorie, alle
    Anforderungen (Level/Str/Dex/Int), Sockets/Links, sämtliche Mod-Arten
    (Implicit/Explicit/Crafted/Enchant/Fractured/Veiled/Utility),
    Influences, Merkmale (Mirrored/Fractured/Synthesised/Veiled/Replica/
    Searing/Tangled), Notiz, Chaos-Wert und Item-ID. Optional zusätzlich
    eine RawJSON-Spalte mit dem vollständigen, unveränderten API-Objekt
    je Item — über einen zweiten Dateityp im Speichern-Dialog wählbar,
    bewusst nicht die Voreinstellung (Dateigröße bei großen Exporten).
  • Export per Rechtsklick auf ein Item: "Export selected items" (die
    markierten Zeilen, Mehrfachauswahl per Strg-/Umschalt-Klick möglich)
    und "Export visible items" (identisch zum bisherigen Toolbar-Knopf),
    jeweils mit der Anzahl im Menütext. "Export visible items" steht jetzt
    auch im Rechtsklick-Menü des Stash-Baums (auf einem Fach, einem Ordner
    oder im leeren Bereich) und der Charakterliste (mit oder ohne
    Charakter unter dem Cursor) zur Verfügung.
  • Der vorgeschlagene CSV-Dateiname nennt jetzt zusätzlich die
    exportierte Item-Anzahl und einen Zeitstempel (z. B.
    poe-view2-Settlers-Chaos-Orb-12items-2026-08-03_1542.csv) — vorher
    schlugen "Export selected items" und "Export visible items" aus
    derselben Ansicht denselben Namen vor.
  • Mehrfachauswahl im Stash-Baum: Strg-/Umschalt-Klick auf mehrere Fächer
    oder einen Ordner (auch die "Tier N"-Gruppen im Map-Stash) zeigt deren
    Items zusammen an. Zeigt ausschließlich bereits gecachte Items — löst
    nie selbst einen Abruf aus, nicht gecachte Fächer werden in der
    Statuszeile genannt ("3 tabs selected: 2 loaded, 1 never loaded").
    Einzelauswahl eines Fachs verhält sich unverändert, inklusive
    automatischem Nachladen bei Cache-Miss.
  • Das Suchfeld wird beim Auswählen eines Stash-Tabs, Ordners oder
    Charakters jetzt automatisch geleert und die globale Suche beendet —
    vorher blieb ein Suchtext stehen und filterte unbemerkt weiter, sobald
    man in eine andere Ansicht wechselte. Die globale Suche selbst bleibt
    von jeder Ansicht aus uneingeschränkt nutzbar.

v0.3.0

Choose a tag to compare

@peterm2024 peterm2024 released this 02 Aug 15:57

Windows-Anwendung, keine Installation nötig: PoE-VIEW2.exe herunterladen und starten.

Hinweis: Die Datei ist nicht codesigniert. Windows SmartScreen und Virenscanner warnen deshalb vor einem unbekannten Herausgeber — das ist bei unsignierten PyInstaller-Builds normal.

Behoben

  • Ein Spalten-Filter auf der Tab-Spalte (Header-Rechtsklick) überlebte
    bisher den Wechsel von der Charakter- zur Truhen-Ansicht (oder zwischen
    zwei Truhenfächern) — passte der Filterwert dort auf keinen einzigen
    Fach-/Slot-Namen, verschwanden alle Items kommentarlos, ohne sichtbaren
    Hinweis (die Tab-Spalte ist im Einzelfach-View automatisch ausgeblendet,
    der 🔍-Marker also unsichtbar). Ein solcher Filter wird jetzt beim
    tatsächlichen Wechsel der angezeigten Quelle automatisch entfernt.
    Filter auf anderen Spalten (Name, Base, Value, …) bleiben unverändert
    über einen View-Wechsel hinweg erhalten.
  • Refresh-Modus "Stash": bereits geladene Remove-only-Fächer (können nur
    schrumpfen, nie wachsen) wurden im Rundlauf wie jedes andere gefüllte
    Fach behandelt und damit unnötig oft neu geladen. Sie kommen jetzt nur
    noch dran, wenn es sonst kein anderes gefülltes Fach gibt — die gleiche
    Nachrangigkeit, die der Auto-Refresh-Modus schon hatte.
  • Preis-Anzeige: Ein poe.ninja-Abruf ohne eine einzige Preiszeile (z. B.
    ein transienter Ausrutscher) wurde bislang wie ein normaler Erfolg 6
    Stunden lang gecacht — eine Liga konnte dadurch stundenlang ohne jeden
    Preis dastehen, obwohl poe.ninja längst wieder normal antwortete. Ein
    solches Ergebnis läuft jetzt nach 1 Stunde statt 6 Stunden ab.
    Hinweis: SSF-Ligen (z. B. "Solo Self-Found") werden von poe.ninja
    grundsätzlich nicht getrackt — ohne Spieler-Handel gibt es dort keine
    Handelsaktivität, aus der sich Preise ableiten ließen. Das ist eine
    Grenze der Datenquelle, kein Fehler in PoE-VIEW2.
  • "Load All Tabs" wirkte bei großen Truhen eingefroren: Der
    Fortschrittsbalken zählte Truhenfächer, die Arbeit fällt aber pro Abruf
    an. Ein Map-Stash bündelt hunderte Sektionen in einem einzigen Fach —
    die Anzeige stand dadurch über eine Stunde auf derselben Zahl. Der
    Balken läuft jetzt über die tatsächlichen Abrufe, das Label nennt
    zusätzlich das Fach ("Section 128 of 1088 · tab 3 of 519") und eine
    geschätzte Restzeit.
  • Unique-Stash: Die selbst vergebenen Fach-Namen ("Ring", "Sceptre", …)
    gingen verloren, sobald das Eltern-Fach erneut geladen wurde — nach
    einem "Load All Tabs"-Lauf hießen dadurch fast alle Unterfächer wieder
    "UniqueStash". Die Namen bleiben jetzt erhalten; bereits betroffene
    Caches füllen sich beim nächsten Laden des Eltern-Fachs wieder auf,
    soweit die Items noch zwischengespeichert sind.
  • Unique-Stash: Kinder eines Remove-only-Tabs zeigten nur noch
    "(Remove-only)" statt der Kategorie ("Ring (Remove-only)") — der
    GGG-Suffix im Namensfeld wurde fälschlich als vollständiger Name
    gewertet.
  • Rate-Limit-Dashboard zeigt jetzt sofort "(Paused)" neben dem
    Policy-Namen, sobald der Refresh-Modus "Pause" aktiv ist.
  • Rate-Limit-Dashboard: der angezeigte Verbrauch je Regel zeigt jetzt immer
    den zuletzt von GGG gemeldeten Rohwert. Reale Header-Logs zeigten, dass
    GGGs Zähler nicht gleitend pro Treffer altert, sondern in Blöcken von
    ~60 Sekunden auf einmal sinkt — die vorherige, feiner gedachte
    Interpolation traf dadurch systematisch daneben. Die tatsächliche
    Warte-Entscheidung war davon nie betroffen und bleibt unverändert
    konservativ.
  • Die Refresh-Modi "Single" und "Stash" liefen nach einiger Zeit in eine
    fünfminütige Zwangspause. Ihr gleichmäßiger Takt war so berechnet, dass
    er das Rate-Limit gerade eben nicht reißt — er unterstellte dabei aber,
    der einzige Verbraucher zu sein. Klicks auf noch nicht geladene Fächer,
    Liga-Wechsel und die Abrufe direkt nach dem Programmstart füllen dasselbe
    Kontingent jedoch mit, wodurch die verbleibende Marge von einer einzigen
    Anfrage sofort aufgebraucht war. Der Takt pausiert jetzt selbsttätig,
    sobald das Fenster zu voll ist, und nennt den Grund in der Statuszeile.
  • Liga-Wechsel trugen weiterhin zur 300s-Zwangspause bei: der Abruf der
    Fach-LISTE der neu gewählten Liga lief ungebremst, und eine Lücke im
    gerade erst gebauten Rate-Limit-Schutz ließ auch den Refresh-Modus-Takt
    direkt danach ungebremst durch. Beides behoben — der Listen-Abruf
    entfällt jetzt bei zu vollem Fenster (der gecachte Baum bleibt sichtbar),
    und der Refresh-Modus-Schutz greift jetzt auch unmittelbar nach einem
    Liga- oder Modus-Wechsel zuverlässig.
  • "Load All Tabs", "Refresh" und der Refresh-Modus-Umschalter blieben ohne
    gültigen Login anklickbar, solange noch ein Daten-Cache aus einer
    früheren Sitzung sichtbar war — der Fortschrittsdialog von "Load All
    Tabs" öffnete sich dann, hing aber für immer bei 0 %, weil der Job vom
    Worker lautlos verworfen wurde. Diese drei Online-Funktionen sind jetzt
    gesperrt, solange kein Login besteht; Stash-Baum, Charakterliste und
    Liga-Auswahl bleiben zum Durchsuchen des Caches weiter nutzbar.

Hinzugefügt

  • Frei konfigurierbare Item-Nachschlagewerke: Über den Settings-Dialog
    (Reiter "External Tools") lassen sich eigene Seiten mit Name und
    URL-Vorlage eintragen, in der {slug} durch den Item-Namen ersetzt
    wird. Ein Rechtsklick auf ein Item öffnet die so hinterlegten Seiten.
    Die Liste ist ab Werk leer — PoE-VIEW2 bringt bewusst keine fremde
    Seite mit und kontaktiert von sich aus keine; wer einen Eintrag anlegt,
    trifft diese Entscheidung selbst. Der Slug berücksichtigt dabei, dass
    nur Uniques einen eigenständig auffindbaren Namen haben: bei allen
    anderen Seltenheiten wird der Basis-Typ verlinkt statt eines zufällig
    gewürfelten Namens.
  • Charakter-Item-Verlauf: ein neues, aufziehbares Panel unterhalb der
    Item-Tabelle protokolliert die letzten 120 Items, die neu im
    Charakter-Inventar aufgetaucht oder daraus verschwunden sind (↑/↓) —
    über alle Charaktere hinweg, unabhängig davon, welcher gerade angezeigt
    wird. Damit lässt sich kurz nachschauen, was man gerade in die Truhe
    gelegt, verkauft oder gehandelt hat. Eigenes, kompaktes Spaltenformat
    (Zeit, Charakter, Ereignis, Icon, Name, Base, Stack, Value);
    standardmäßig auf eine Zeile eingeklappt, per Ziehen am Splitter
    aufziehbar. Rechtsklick/Doppelklick funktionieren wie in der
    Haupttabelle (externe Tools, vergrößerte Ansicht).
  • Charakter-Ansicht: Beim Beobachten eines Charakter-Inventars (z. B. per
    Zonenwechsel-Trigger, siehe unten) werden Zeilen, die sich seit dem
    letzten Refresh geändert haben oder neu hinzugekommen sind, türkis
    hervorgehoben. Aus dem Inventar verschwundene Items werden nicht
    sofort entfernt, sondern für einen Refresh-Zyklus grau und
    durchgestrichen angezeigt.
  • Optionaler Zonenwechsel-Trigger für den Live-Refresh (Settings-Dialog,
    Reiter "Zone Refresh", standardmäßig AUS): PoE-VIEW2 kann Peters lokale
    Client.txt beobachten (rein lesend, Pfad muss selbst eingetragen
    werden) und lädt die gerade offene Truhe/den Charakter sofort neu,
    sobald PoE einen Zonenwechsel meldet — GGGs Stash-API liefert neue
    Daten offenbar ohnehin erst danach, gezieltes Nachladen spart also
    Rate-Limit-Budget gegenüber reinem Zeit-Takt.
  • Neuer Settings-Dialog (⚙-Button in der Toolbar) mit einem Reiter
    "Columns": welche Item-Tabellen-Spalten sichtbar sind und in welcher
    Reihenfolge lässt sich dort per Häkchen und Drag & Drop einstellen,
    zusätzlich zum bisherigen schnellen Ein/Aus-Schalter im
    Header-Rechtsklickmenü. Beide Wege teilen sich denselben gespeicherten
    Stand.
  • Fenster lässt sich nicht mehr kleiner als 800x600 ziehen — darunter
    wurden Bedienelemente in der Toolbar (u. a. das Suchfeld) hinter einem
    Overflow-Pfeil versteckt.
  • Doppelklick auf ein Item öffnet eine vergrößerte Ansicht: großes Icon
    und der vollständige Property-/Mod-Text ohne die Zeilen-Kürzung des
    kompakten Detail-Panels. Bei Divination Cards zeigt sie das echte
    Karten-Artwork (GGGs eigenes CDN) statt des für jede Karte identischen
    generischen Icons aus der Stash-API, mit einem dekorativen
    Pergament-Rahmen angelehnt an die bekannte Karten-Optik.
  • Doppelklick auf einen Charakter öffnet eine Paperdoll: Ausrüstung als
    Puppenlayout (Helm, Waffen, Rüstung, Ringe, Gürtel, Handschuhe, Stiefel,
    Flaschen, ggf. Waffentausch-Set/Trinket) statt flacher Tabellenzeilen,
    inklusive Liste der Jewels im Passiv-Baum. Klick auf einen Slot zeigt das
    Item im Detail-Panel.
  • Item-Tabelle startet jetzt voreingestellt aufsteigend nach Wert sortiert
    statt in roher API-Reihenfolge — Items mit unbekanntem oder geringem
    Preis ("wahrscheinlich Schrott") gruppieren sich dadurch von selbst oben.
    Ein Klick auf eine andere Spalte überschreibt die Voreinstellung wie
    jede normale Sortierung.
  • Rate-Limit-Dashboard: jede Regel zeigt jetzt zusätzlich eine grobe
    Schätzung, wann der Zähler das nächste Mal sinkt ("12/30 · 300 s · next
    in 2:19", immer mit "" — GGGs Zähler sinkt blockweise statt gleitend
    pro Treffer, sobald zwei Absenkungen beobachtet wurden, ist ihr
    ungefährer Rhythmus gelernt). Kurz nach dem Start kann bauartbedingt
    minutenlang nichts sinken — ohne diese Angabe sah der stillstehende
    Zähler wie ein Hänger aus.
  • "Load All Tabs" zeigt im Fortschrittsdialog einen Sekunden-Countdown bis
    zum nächsten Abruf ("Next tab in 8s") und, falls das Rate-Limit gerade
    bremst, dessen Restzeit statt scheinbaren Stillstands. Zusätzlich springt
    der Stash-Baum jeweils auf das gerade abgerufene Fach und klappt es auf.
  • Neuer Refresh-Modus Pause: keinerlei Hintergrund-Anfragen. Manuelle
    Klicks, die ⟳-Buttons im Baum und "Load All Tabs" funktionieren
    unverändert und bekommen das volle Rate-Limit-Budget.
  • Log: jede Rate-Limit-Antwort schreibt jetzt zusätzlich eine Zeile mit den
    rohen X-Rate-Limit-Werte...
Read more

v0.2.0

Choose a tag to compare

@peterm2024 peterm2024 released this 28 Jul 22:24

[0.2.0] - 2026-07-29

Hinzugefügt

  • Refresh-Modus-Dropdown (Auto / Single / Stash) in der Toolbar: Single
    hält gezielt die aktuell gewählte Zeile aktuell, Stash zyklisiert durch
    die ganze Truhe — beide in einem gleichmäßigen, aus den echten
    Rate-Limit-Regeln abgeleiteten Takt statt eines Bursts. Stash bevorzugt
    gefüllte Fächer, hängt aber nach jeder vollständigen Runde durch diese
    automatisch einen Check für das nächste noch leere Fach an (Häufigkeit
    passt sich an die Truhengröße an) — reihum der Fächerreihenfolge nach,
    sodass ein im Spiel nach vorne verschobenes Fach automatisch schneller
    wieder drankommt.
  • Sichtbarer Countdown bis zum nächsten Auto-Refresh-Tick bzw. der Grund,
    warum er gerade pausiert (Rate-Limit, Token, archivierte Liga, …).
  • Stash-Baum: Name-Spalte skaliert automatisch mit dem Panel, Anzahl- und
    Status-Spalte bleiben dadurch immer sichtbar.
  • Stash-Baum: Kontextmenü bietet jetzt "Expand All"/"Collapse All" für
    den ganzen Baum, unabhängig vom angeklickten Fach.
  • Stash-Baum: neue Pos.-Spalte zeigt die tatsächliche Position eines
    Fachs in der Truhen-Reihenfolge (leer bei Ordnern/Gruppen) — ein
    Zeilenheader-Äquivalent für Bäume, die (anders als die ItemList) keinen
    eigenen vertikalen Header kennen.
  • Stash-Baum: Name-Spalte geladener Fächer wird nach Datenalter
    abgeblendet (aktuell < 1h normal, < 3h leicht, älter deutlicher),
    damit veraltete Fächer sofort auffallen. Das zuletzt aktualisierte Fach
    ist zusätzlich türkis markiert, bis das nächste Fach an der Reihe ist.
  • Der Stash-Modus lädt nach jeder vollständigen Runde durch die Truhe
    zusätzlich einmal die Fach-Liste still nach — Umsortierungen, neue
    oder entfernte Fächer im Spiel werden dadurch automatisch erkannt, ohne
    auf einen manuellen Refresh oder Liga-Wechsel zu warten.
  • Typ-Filter-Symbole (Toolbar) reagieren jetzt auf drei Gesten statt nur
    simplem An/Aus: ein Klick zeigt nur diesen einen Typ, Strg+Klick
    schaltet gezielt einen weiteren Typ dazu oder wieder raus, und
    Strg+Umschalt+Klick sowie Doppelklick zeigen wieder alle Typen.
  • Summe der Stack-Größe der gerade sichtbaren (gefilterten) Items in der
    Statuszeile — reagiert live auf Suche, Spalten- und Typ-Filter. Erscheint
    nur, wenn genau ein Item-Name sichtbar ist (sonst wäre die Summe über
    verschiedene Item-Typen hinweg bedeutungslos).

Geändert

  • Oberfläche und README vollständig auf Englisch umgestellt (internationale
    Zielgruppe). Code-Kommentare und interne Doku bleiben Deutsch.
  • Auto-Refresh reserviert nur noch 10 % statt 50 % des Rate-Limit-Budgets
    für manuelle Klicks.
  • Ein Klick auf ein Fach im Single-/Stash-Modus löst keinen sofortigen
    Extra-Request mehr aus, sondern stellt das Fach an den Anfang der
    Abarbeitungsliste — es ist damit beim nächsten regulären Takt dran.
    Das kostet ein paar Sekunden, hält die Anfragerate aber konstant.
  • "Load All Tabs" beginnt jetzt mit den ältesten bzw. noch nie geladenen
    Fächern statt mit der zufälligen Truhen-Reihenfolge — bricht man vorzeitig
    ab, sind die dringendsten Fächer schon durch.
  • Stash-Baum standardmäßig breiter (340 statt 260px), damit Name-, Anzahl-,
    Status- und Pos.-Spalte ohne manuelles Nachziehen sichtbar sind;
    Fensterbreite entsprechend erhöht, damit die Toolbar-Suche nicht hinter
    "…" verschwindet.

Behoben

  • Rate-Limit-Dashboard und der Auto-Refresh-Zähler ("X von Y Stash-Tabs")
    konnten dauerhaft veraltet bzw. bei 0 hängen bleiben, obwohl im
    Hintergrund weiter aktualisiert wurde.
  • Der gleichmäßige Refresh-Takt konnte kurzzeitig mit der Rate-Limit-Policy
    eines fremden Endpunkts statt der eigenen rechnen.
  • Beim Programmstart lief ohne gültiges Token trotzdem eine Stash-Abfrage
    los und scheiterte mit HTTP 401. Ein solcher selbstverschuldeter 401
    verwarf zudem das gespeicherte Token, was einen erneuten Browser-Login
    erzwingen konnte.
  • "Load All Tabs" lief nach rund 29 Fächern in die 300-Sekunden-
    Zwangspause. Es lädt jetzt im gleichmäßigen Takt (~11s pro Fach) einmal
    durch die ganze Truhe; der Refresh-Modus pausiert solange.
  • Map- und Unique-Stash-Tabs wurden bei der Positionsnummer übergangen:
    sie selbst bekamen keine, während jede ihrer internen Sektionen eine
    eigene verbrauchte und alle folgenden Fächer verschob (in einer echten
    Truhe 923 statt 391 Positionen). Gezählt wird jetzt, was in der
    Truhen-Leiste tatsächlich einen Platz belegt.
  • Derselbe Zähl-Fehler betraf auch den Auto-Refresh-Zähler in der
    Statuszeile ("X of Y stash tabs updated") — Y zeigte die aufgeblähte
    Zahl ladbarer Einheiten (939) statt der tatsächlichen Fächer-Anzahl.
  • Die Reihenfolge im Stash-Baum wich sichtbar von der im Spiel ab: Fächer,
    die im Spiel in einem Ordner liegen, standen auf der obersten Ebene und
    schoben sich zwischen die echten Fächer, während die Ordner leer blieben
    (in einer echten Truhe 165 statt 44 Einträge oben). Ordner-Inhalte hängen
    jetzt in ihrem Ordner, auch ohne ihn vorher anzuklicken.
  • Nach dem Öffnen eines Ordners konnten dessen Fächer doppelt im Baum
    stehen — einmal oben, einmal im Ordner (in einer Liga 47 Fächer).
  • Und ein drittes Mal denselben Fehler: der Fortschrittsbalken von
    "Load All Tabs" zeigte z. B. "58/561" statt "58/391" — mehrere
    Map-/Unique-Sektionen desselben Fachs zählten als mehrere Tabs statt
    als einer.
  • Der Stash-Modus konnte sich in eine endlose Kette von 300-Sekunden-
    Zwangspausen aufschaukeln: nach einer Pause feuerten zwei Requests
    direkt hintereinander, was die nächste Pause auslöste. Der Takt zählt
    jetzt ab dem Eintreffen der Antwort statt ab dem Absenden und hält
    zusätzlich einen Request Sicherheitsabstand zur Sperrschwelle.
  • Die Suche fand Implicit-Mods nicht — nur explicitMods flossen in den
    Suchindex ein, obwohl implicitMods im Datenmodell längst vorhanden war.
  • Die Suche filterte bei jedem Tastendruck sofort — bei einem liga-weiten
    Aggregat mit mehreren zehntausend Items (z. B. "All Tabs" oder "*")
    spürbar langsam. Der Zeilen-Filter läuft jetzt gedämpft (350ms nach dem
    letzten Tastendruck).
  • Die neue Stack-Summen-Anzeige (siehe oben) konnte bei einer Suche über
    ein liga-weites Aggregat mit stark verstreuten Treffern eine
    Zwangspause von mehreren Minuten auslösen — pro betroffener Zeile lief
    eine eigene Neuberechnung über die komplette sichtbare Menge statt
    einmal pro Sucheingabe.
  • Bei sehr großen Ligen (deutlich mehr Fächer/Items als üblich) baute die
    Suche beim ersten Tastendruck das komplette ungefilterte Aggregat auf,
    bevor überhaupt gefiltert wurde — je nach Größe mehrere Sekunden
    Verzögerung, die kein Dämpfer beheben konnte. Oberhalb von 50.000 Items
    läuft die Suche jetzt "on demand": Sanduhr statt Live-Filterung, das
    Ergebnis erscheint, sobald man kurz aufhört zu tippen.