This release is about correctness. Three separate user reports turned out to share a single cause inside the plugin, and that cause is gone.
Fixed
- Fixed the phantom "Dota 2 installed" notifications appearing repeatedly after every game installation or update. While inspecting Steam's notification descriptor, the plugin was calling the descriptor's own
fnTesthandler, which is Steam's internal "preview this notification" action; for downloads it is hardcoded to Dota 2 (app 570). The descriptor is now read as data and never invoked. - Fixed bursts of Friend Online notifications for random friends, including friends who were offline. The same
fnTesthandler, on the friend notification type, asks Steam to fire a test notification for a randomly chosen entry from the entire friends list. - Fixed those injected notifications ending up in Steam's real notification history. Steam fills its notification tray before it asks whether to show a toast, so every fake event was written into the genuine history. With the cause removed, the history holds real events again.
- Fixed the feedback loop the fake notifications created: each one came back through the plugin, which triggered another, filling the notification queue in a fraction of a second. The collected logs show over 850 dropped notifications in a single burst. This also covers the reports of Steam becoming unstable while unlocking achievements.
- Fixed the image lookup used for achievement artwork, which could execute arbitrary zero-argument methods on Steam objects while searching for a picture. It now reads plain values and calls only known protobuf accessors whose name refers to an image.