promotional bannermobile promotional banner

ProfKnowledge

A addon to keep track of knowledge across characters.

File Details

v0.3.3-nolib

  • R
  • Mar 17, 2026
  • 135.69 KB
  • 14
  • 12.0.1+1
  • Retail

File Name

ProfKnowledge-v0.3.3-nolib.zip

Supported Versions

  • 12.0.1
  • 12.0.0

## v0.3.3 — Taint Fix (Crafting Bar)

### Bug Fixes
- Fixed "attempted to iterate a forbidden table" Lua error during profession crafting — direct frame setup calls in TRADE_SKILL_SHOW were tainting Blizzard's CastingBarFrame tables; all setup is now deferred to the next frame
- Deep scan now skips when the player is actively crafting (casting/channeling), preventing taint propagation during craft events
- DeepScanCurrentProfession no longer runs a synchronous full scan — uses async ScheduleScan to avoid blocking or tainting the current execution path

---

## v0.3.2 — Overlay Reliability & Addon Compatibility

### Bug Fixes
- Fixed overlay numbers showing incorrect values when switching spec tabs — Blizzard rank text scan was picking up PK's own font strings as "Blizzard's" rank text, causing stale numbers to bleed through
- Fixed overlay not appearing on first open until toggled off/on — added fallback profession frame setup and initial render when hooks are installed
- Fixed version display lagging one version behind — deployment was silently failing due to permission errors

### Addon Compatibility (CraftSim, etc.)
- Hardened node button detection — CollectNodeButtons now validates each frame is a real Blizzard talent button (checks return type, object type, known methods) instead of blindly trusting any frame with a GetNodeID key
- Entire spec tree highlight pass is now pcall-wrapped — addon conflicts produce a debug message instead of a Lua error popup
- All C_Spell.GetSpellName and GetSpellInfo calls are now pcall-protected

### Performance
- Added debounce system for highlight updates — UpdateButton hook (fires per-button, 30-40 times on tab switch) now coalesces into a single render pass instead of flooding timers
- All event-driven highlight calls use the same debounce, preventing redundant work
- Profession scanning on login is now async (coroutine-based) — spreads work across frames to eliminate FPS hitch on first load
- Multiple rapid scan triggers (SKILL_LINES_CHANGED, login timer) collapse into a single debounced scan

### UI
- Removed PK button from the Talents panel (N key) — it only belongs on the Professions Book
- Added Debug Mode toggle to the options panel

---

## v0.3.1 — UI & Sync Polish

### Bug Fixes
- Fixed version number not displaying in the Options panel (was using deprecated API)
- Sync bar button now respects the 5-minute cooldown (uses TriggerManualSync instead of raw RequestSync)

### Improvements
- Sync bar tooltip now shows cooldown timer when sync is on cooldown ("Sync on cooldown: Xm Ys")
- Tooltip shows "Click to sync with guild" when cooldown has expired

---

## v0.3.0 — Sync Overhaul

### Sync Changes
- Sync now performs one full exchange on login, then goes completely silent — no background traffic
- All sync timers (heartbeat, heartbeat monitor, retry) are stopped after the initial sync completes
- Opening the PK window or Professions page triggers a manual sync (5-minute cooldown)
- All incoming messages are ignored when sync is inactive — zero processing when idle
- BroadcastDelta now sends ALL local characters, not just the current one
- Guild members receive your entire alt roster in a single sync exchange
- Version-vector merge uses per-character lastUpdate timestamps — newer data always wins

### Other
- Added version number to the Options panel (bottom right)

---

## v0.2.2 — Spec Tree Overlay Cleanup

### Bug Fixes
- Fixed stale overlay highlights persisting when switching between spec tabs (recycled buttons now properly cleared)
- Fixed "0" rank numbers appearing on purchased-but-uninvested nodes — Blizzard's rank text is now hidden when it shows "0"
- Blue rank numbers no longer display when the highest alt rank is 0
- Flattened the button rendering loop to prevent nodes with missing data from leaking overlays

---

## v0.2.1 — Options Panel & Overlay Fix

### New Features
- Options panel accessible from the sync bar (replaces Import/Export buttons)
- Toggle for Node Overlay (spec tree highlights) — enable/disable colored circles on specialization nodes
- Toggle for Alt Knowledge Panel — show/hide the side panel on the spec tree
- Toggle for Guild Sync — enable/disable guild data sharing
- Import and Export buttons moved into the Options panel

### Bug Fixes
- Fixed node overlay not rendering due to variable scoping issue — highlights now display correctly and the toggle works as expected
- Fixed "attempt to index global 'orderMap'" error when exporting guild data

---

## v0.2.0 — UI Polish, Performance & Sync Fixes

### Summary Window
- Profession icons now display as small circular icons next to profession names
- Guild members shown in their class color instead of grey
- Horizontal separator line between local alts and guild members
- Status text ("X local, Y guild") moved into the dark inset area
- Wider profession columns to accommodate icons
- ProfKnowledge window auto-closes when the Professions Book is closed

### Performance
- Added 5-second debounce to guild sync broadcasts — rapid profession events now coalesce into a single broadcast instead of spamming the guild channel
- Removed DR rebroadcast amplification — the Designated Router no longer re-broadcasts every incoming delta, eliminating doubled guild traffic
- Sync broadcasts only fire when the PK window or Professions frame is visible — background events no longer generate guild traffic

### Guild Sync
- Fixed guild synced characters not appearing in the summary window
- Guild sync now includes node-level data for specialization tree overlays
- Guild members' spec tree progress visible on overlay and tooltips
- Improved profession key matching for guild roster (handles base/variant ID mismatches)
- DR/BDR role labels hidden from sync tooltip unless /pk debug is enabled

### Spec Tree Overlay
- Current character no longer shown in the Alt Knowledge overlay (only alts/guildies)
- "Alt Knowledge" tooltip section hidden when no other characters have data for a node
- Fixed overlay incorrectly highlighting all unbought nodes as purchased

### Export
- Export now includes guild member data alongside local characters

### Bug Fixes
- Fixed "Character not found" errors when clicking guild member cells
- Fixed detail panel and tooltips not loading guild member profession data
- Fixed steadily increasing world latency caused by unthrottled sync broadcasts

---

## v0.1.9 — Guild Sync & Spec Overlay Improvements

(Intermediate release — all changes rolled into v0.2.0)

---

## v0.1.1 — Guild Sync Display Fix

### Bug Fix
- Fixed guild synced characters not appearing in the summary window
  - Sync protocol was working correctly (HELLO, DELTA, SYNC_REQ/RESP all functional)
  - Data was being stored in the guild roster but never displayed in the UI
  - Summary window now merges guild roster entries alongside local characters

### UI Changes
- Guild members show with a dimmed name and (G) tag to distinguish from local characters
- Subtitle now shows "X local, Y guild" character counts
- Delete button hidden for guild-synced entries (managed by sync, not manually)

---

## v0.1.0 — Initial Release

### Account-Wide Profession Tracking
- Automatically scans all professions when a crafting window is opened
- Tracks knowledge spent, unspent, skill levels, and specialization tree progress
- Supports all 14 professions (crafting, gathering, and secondary)
- Expansion-aware variant discovery with automatic database migration
- Import/Export for sharing data between accounts as text strings

### Summary Window
- Portrait-style frame anchored to the Professions Book
- Grid view of all tracked characters with knowledge totals per profession
- Profession filter dropdown to focus on a single profession
- PK tab on the Professions Book for quick access (toggles open/closed)
- Guild sync status bar with online user count and sync state indicators

### Spec Tree Overlays
- Color-coded circles on specialization tree nodes showing alt progress:
  - Purple: node fully maxed on at least one alt
  - Blue: partial progress on an alt, with highest rank number shown below
  - Green: node purchased on an alt but no additional ranks
  - Orange: current character is top-ranked, overlays Blizzard's green number
- Hover tooltip showing per-alt rank breakdown for each node

### Guild Sync
- Automatic data sharing with guild members running ProfKnowledge
- DR/BDR (Designated Router / Backup) election — no configuration needed
- Version vector sync transfers only changed data
- Compressed wire format via LibDeflate for large payloads
- Chunked responses to avoid chat throttling
- Delta broadcasts after each profession scan

### Slash Commands
- /pk — Toggle summary window
- /pk scan — Force re-scan professions
- /pk list — List tracked characters in chat
- /pk export / /pk import — Data portability
- /pk delete <name> — Remove a character
- /pk guild — Show sync status
- /pk sync — Force guild sync
- /pk guildsync — Toggle sync on/off
- /pk debug — Toggle debug output