Commit Graph

20 Commits

Author SHA1 Message Date
Narcasung 8089b5f08c fix(tracker): show (Complete) and correct level for DB-less custom quests
Quests with no static DB entry (e.g. Ascension custom quest 175206) made
GetColoredQuestName bail out early on a nil name lookup, before it ever
reached the (Complete)/(Failed) suffix logic. The tracker's existing
fallback for that case never added the suffix either, and it computed
level via QuestieLib.GetTbcLevel (static-DB-only), which silently defaults
to level 1 and then gets scaled from that wrong base by Ascension's level
scaling. Since these quests also auto-collapse once complete (hiding the
tracker's other "Quest Complete!" indicator line), the title was the only
place that could show completion status, and it was silently swallowing it.

- QuestieTracker.lua: the "no DB name" fallback branch now appends
  (Complete) under the same collapseCompletedQuests/isMinimizable rule as
  the normal path, and uses the live quest object's own level instead of
  the static-only lookup.
- QuestieQuest.lua (PopulateQuestLogInfo): re-syncs quest.level from a live
  GetQuestLogTitle scan every update, since QuestieDB.GetQuest caches quest
  objects permanently and QuestLogCache never tracked level at all.
- TrackerUtils.lua (GetCompletionText): guards the Description[1] fallback
  against quests that have no top-level Description array, which was
  throwing and aborting that quest's tracker render entirely.
2026-07-15 17:20:42 +02:00
Narcasung c09d30b832 Apply local fixes on top of upstream: tracker desync/drag/title, map icon zoom offset
- Compat/HBD.lua: fix world map pin offset math to account for zoom addons
  (e.g. Magnify) rescaling an ancestor frame instead of WorldMapButton itself;
  cull pins that fall outside the scroll frame's viewport when zoomed
- Compat/Compat.lua: add a short TTL to the chat-parsed objective progress
  cache so a stale entry can't be reapplied to an unrelated quest
- Modules/QuestieLearner.lua: re-point QuestiePlayer.currentQuestlog at the
  rebuilt quest table after invalidating QuestieDB's quest cache, fixing
  Tracker freezing on stale objective progress
- Modules/Tracker/QuestieTracker.lua: fall back to a formatted quest name
  when QuestieDB has no title for a quest (e.g. custom server quests)
- Modules/Tracker/TrackerBaseFrame.lua: force baseFrame movability on drag
  start instead of trusting the async-refreshed IsMovable() state
- Modules/Tracker/TrackerHeaderFrame.lua: wire up drag on the tracker icon
- Modules/Quest/QuestEventHandler.lua: force a full quest log reconciliation
  when the native quest log is opened

Squashed from prior commit-by-commit history to rebuild this working copy
on a clean fork of aron-w/Questie-X (restores the native GitHub fork link).
Per-fix rationale is preserved in project memory
(project_tracker_fixes.md, project_map_icon_offset.md).
2026-07-15 01:02:15 +02:00
Xurkon c85370de0b fix: replace select eight lookups 2026-06-04 21:58:54 -05:00
Azik 581634d199 Fix Ascension tracker line wrapping
Use tracker wrapping helpers that fall back when Ascension font strings do not expose GetNumLines or GetWrappedWidth.

(cherry picked from commit c9b7de2a636ca918c2549a13de87a688861c831f)
2026-06-03 06:50:07 -05:00
Xurkon def947bec1 Fix LSM30:Fetch guards - also check LSM30.Fetch exists before calling
Previous guard only checked LSM30 ~= nil; if Fetch method is absent on
the stub object the call still crashes. Now uses full 3-part check:
  (LSM30 and LSM30.Fetch and LSM30:Fetch(...)) or fallback
Matches the pattern already used in QuestieArrow.lua.
2026-04-24 04:36:25 -05:00
Xurkon a2a325c8ab Guard all LibSharedMedia-3.0 usages against nil LSM - OptionalDep may not load
- Use LibStub(..., true) silent flag on all LSM acquisition sites
- Guard HashTable() calls in Options files (returns nil if no font type registered)
- Guard all Fetch() call sites with inline 'LSM30 and LSM30:Fetch() or fallback'
- Make font values lazy functions in options dropdowns so LSM has time to register
- Affects: QuestieOptionsTracker, QuestieOptionsArrow, QuestieArrow, QuestieTracker,
  TrackerHeaderFrame, TrackerLinePool, TrackerQuestTimers
2026-04-24 04:24:38 -05:00
Xurkon 5fb621a53a v1.5.3: Add dedicated Keybinds tab 2026-03-29 03:01:14 -05:00
Xurkon e6c27ddf77 feat: add Use Quest Item keybind + fix custom zone names + nil check 2026-03-28 22:33:54 -05:00
Xurkon 75426c2bb1 Fix tracker crash and killcredit NPC linking 2026-03-28 17:36:04 -05:00
Xurkon 5cb64a4c30 feat: release v1.3.9 - fix BackdropTemplate crash and quest re-tracking reliability 2026-03-19 15:14:05 -05:00
Xurkon c5c3897421 feat: idempotent quest tracking and robustness improvements v1.3.7 2026-03-19 00:22:26 -05:00
Xurkon 28fc4d5095 chore: release v1.3.5 - Comprehensive Taint & Architecture Fixes 2026-03-18 21:27:48 -05:00
Xurkon b0f8ba22e7 feat: release v1.3.0 - QuestieLearner Confidence & Tiered Pruning Engine 2026-03-17 22:33:01 -05:00
Xurkon a7a66810be fix: store fallback quests in TrackerUtils._fallbackQuests not currentQuestlog to prevent arrow/quest module crashes 2026-03-16 23:05:58 -05:00
Xurkon d9828e6159 fix: resolve QUEST_ACCEPTED log-index vs questID ambiguity and add quest-log fallback to tracker for DB-unknown quests 2026-03-16 22:57:18 -05:00
Xurkon c4d003e58f feat: Questie-X v1.1.4 - plugin architecture, monorepo, rebranding
- Repoint remote to Xurkon/Questie-X
- Add QuestiePluginAPI, QuestieServer, QuestieLearnerComms modules
- Add Questie-X.toc, Questie-X-Classic.toc, Questie-X-TBC.toc, Questie-X-Turtle.toc
- Remove embedded Database/Ascension and Database/Ebonhold (migrated to plugins)
- Add Plugins/ directory with NTFS junctions for Questie-X-AscensionDB and Questie-X-EbonholdDB
- Add LibDeflate, XXH_Lua_Lib, LibDBIcon-1.0, LibDataBroker-1.1
- Update README: Questie-X branding, logo, plugin install guide, plugin API docs
- Update CHANGELOG: v1.1.4 entry documenting all architectural changes
- Update .gitignore: exclude plugin junctions, __pycache__, .agents, debug files
- Various module updates: corrections, map, tracker, tooltips, quest, options
2026-03-14 06:10:17 -05:00
Xurkon b13833935a v9.8.9: Badlands Trophy quest, 7:XT NPC data, fix AreaId CRITICAL spam 2026-03-02 21:11:30 -06:00
Xurkon dd6329de97 Docs: Update Changelog with new Ascension quests 2026-02-18 22:49:11 -06:00
Xurkon bdd3119762 Ebonhold v9.7.4: Add new quests and fixes 2026-02-17 06:51:49 -06:00
Xurkon 6ef85d4e2d v9.7.2: Ebonhold Database integration and core logic refinements 2026-02-14 21:13:44 -06:00