Download
(127 Kb)
Download
Updated: 03/17/24 12:11 PM
Pictures
File Info
Compatibility:
Scions of Ithelia (9.3.0)
Updated:03/17/24 12:11 PM
Created:10/25/20 04:32 PM
Monthly downloads:133,673
Total downloads:813,753
Favorites:298
MD5:
Categories:Libraries, Data Mods
9.3.0
LibHistoire - Guild History  Updated less than 3 days ago!  Popular! (More than 5000 hits)
Version: 2.0.7
by: sirinsidiator [More]
New guild history
The original guild history API was written more than 10 years ago and never had any of the things addons (ab)use it for in mind.
A few years ago in 2020 the amount of requests generated by addons reached the point where it destabilized the game servers and as a result the API was even disabled completely for a while, until ZOS implemented limits on how many requests can be sent.
This was when I wrote the first version of LibHistoire to provide a cache for guild history data, which different addons could use to avoid sending unnecessary requests to the server and avoid even more restrictions for addons.

Starting with Update 41 in early 2024, the game finally received its own guild history cache. Due to that the library won't need to store event data any more and instead just offers features to inspect and manage the ingame cache as well as a compatibility layer to make transitioning old addons to the new API easier.
Any data that was collected by old versions of LibHistoire in the past will be deleted the first time you log in with version 2 enabled, in order to improve loading times.

Currently the game stores its cache files outside of the usual live folder and they can be found in the following location:
Windows:
Code:
%AppData%/../Local/Elder Scrolls Online/live/CachedData/GuildHistory
MacOS:
Code:
~/Documents/Elder Scrolls Online/live/CachedData/GuildHistory
You should always back them up together with your LibHistoire saved variable file to ensure proper operation.
The cache is stored per account, so data received for a guild on one account currently won't be shared with another who's in the same guild and will have to be requested again from the server.

The new API allows to receive up to 500 events (from previously 100) with each request, but at the same time the cooldown for addon requests has been increased to 2 minutes (from 30 seconds).
This means automated requests will be effectively 25% faster for busy categories, but may currently take a bit longer overall to finished for all categories.
Depending on how well the new history performs on the server, this cooldown is subject to change and we may see less waiting time between requests in the future.

So what is this library for now?
The main purpose of the library is currently to coordinate server requests and event processing between different addons via a common interface, to reduce waiting time and improve game performance.
It also provides a variety of functions and settings for users to see what is going on in the background and to interact with and control the cache behaviour.

Dependencies
The following dependencies are required by LibHistoire:
  • LibAsync - to minimize fps loss while processing history events
  • LibCustomMenu - for the options menu of the status window
  • LibDebugLogger - for logging useful debug information in case something goes wrong

User Interface

The status icon on the bottom right of the guild history symbolizes the link status of the currently viewed category in the selected guild. On hover it will show a tooltip that gives information about the stored history and unlinked events.


The new guild history status panel will provide an overview of the cache status for each guild and category.

On the left side it will show each guild and the overall progress, on the right side it will show the individual categories for the currently selected guild.
Clicking on a guild or category will update the selection in both the status window and the guild history menu accordingly.

The category status bar shows all the time ranges which are stored in the cache, as well as queued requests and currently processed events. It also uses different colors to symbolize different states for each segment.

Guild status colors:
Pink - Waiting for server requests to finish
Red - No more requests queued, but not everything is linked
Yellow - Processing events
Green - Everything is linked up

Category status colors:
Blue - Linked range, but has not been connected with newest events yet
Red - Events after the linked range, but not connected to the linked range
Green - Linked range is up to date with newest events
Dark green - Last part of the linked range which does not contain any events
Grey - Events before the linked range, or events in a category with no listeners or which is forced off
Purple - Pending server request
Pink - Part of the request range which already contains events
Yellow - Already processed events
Dark Yellow - Events to be processed

Examples for all the colors:
Warning: Spoiler


When you hover over any of the entries, a tooltip will show you the same information as the tooltip in the guild history menu.
The category entries also offer a menu with some options.
On the bottom of the panel you can see an icon which symbolizes the overall state and gives some general information about what is happening when you hover over it.
The cog button on the top right will open a context menu with an option to unlock the window so it can be moved and an option to hide it (same as the button on the bottom left of the guild history)

Special Thanks
FooWasHere who helped me test how the history behaves on rank and permission changes
ZOSDanBatson and ZOSSethL for answering my many questions about the history API
Everyone else who helped me test this and gave me feedback

For Developers
Why should you use it?
  • It minimizes the cooldown for server requests sent by addons to the absolute minimum and if every addon starts using it, everyone gets their data faster.
  • It takes care of all the complexity that comes with requesting the history. There are many special cases you probably didn't even think about. The lib will handle them all for you.
  • It makes it easy to process a specifc time range, or continuously follow the history in chronological order.
  • It automatically spreads out event processing over multiple frames via LibAsync, so you don't have to worry about fps impact.

How does it work
The library keeps track of which events have already been sent to listeners and ensures that it doesn't skip anything in case newer events are received before it caught up.
When a listener starts, it will first iterate over available "linked" events, then wait for "unlinked" events to get linked before it iterates over those and finally start passing along newer events whenever they arrive. This is all done via LibAsync, so you will only get as many events per frame as you can safely process without affecting performance.
To ensure an addon only starts processing from where it left off, it offers ways to select a starting point either by specifying an eventId or a timestamp.

If you find a problem, feel free to open an issue over on github, or leave a comment here on ESOUI.

API Reference
Callbacks
Can be accessed via the LibHistoire.callback table.

Code:
INITIALIZED()
Fired when Histy has finished initializing and is ready. Any call to the api (aside of RegisterCallback) should be done after it has fired.

Code:
LINKED_RANGE_LOST(integer guildId, integer category)
Fired when the linked range has been lost and additional action on the addon side may be required. This could be due to the cache being deleted, the lib detecting inconsistencies in its own save data or the user manually resetting the range. Any active listeners have been stopped and should be restarted as needed when this event is received.

Code:
LINKED_RANGE_FOUND(integer guildId, integer category)
Fired when a new linked range has been found. This happens when the linked range is established initially or after the linked range was lost.

Library API
Code:
RegisterCallback(LibHistoire.callback type, function callback)
Register to a callback fired by the library. Usage is the same as with CALLBACK_MANAGER:RegisterCallback.

Code:
UnregisterCallback(LibHistoire.callback type, function callback)
Unregister from a callback. Usage is the same as with CALLBACK_MANAGER:UnregisterCallback.

Code:
LibHistoire.GuildHistoryEventListener listener = CreateGuildHistoryListener(integer guildId, integer category)
Creates a GuildHistoryEventListener object which can be configured before it starts listening to history events, or nil if guildId or category are not valid.
WARNING: Make sure you only call it after the INITIALIZED callback has fired, otherwise it may return nil.

GuildHistoryEventListener
Code:
string key = GetKey()
Returns a key consisting of server, guild id and history category, which can be used to store the last received eventId.

Code:
integer guildId = GetGuildId()
Returns the guild id of the listener.

Code:
integer category = GetCategory()
Returns the category of the listener.

Code:
integer eventCount, number processingSpeed, number timeLeft = GetPendingEventMetrics()
Returns information about history events that need to be sent to the listener.
  • eventCount - the amount of stored or unlinked events that are currently waiting to be processed by the listener
  • processingSpeed - the average processing speed in events per second or -1 if not enough data is yet available
  • timeLeft - the estimated time in seconds it takes to process the remaining events or -1 if no estimate is possible

Code:
boolean success = SetAfterEventId(id64 eventId)
Accepts an eventId (id64). The nextEventCallback will only return events which have a higher eventId when it is set. Will return true if it was called while the listener is not running, or false otherwise.

Code:
boolean success = SetAfterEventTime(integer eventTime)
If no afterEventId has been specified, the nextEventCallback will only receive events after the specified timestamp. Will return true if it was called while the listener is not running, or false otherwise.

Code:
boolean success = SetBeforeEventId(id64 eventId)
Accepts an eventId (id64). The nextEventCallback will only return events which have a lower or equal eventId when it is set. Once the specified eventId has been passed, the listener will automatically stop and call the function specified with SetIterationCompletedCallback. Will return true if it was called while the listener is not running, or false otherwise.

Code:
boolean success = SetBeforeEventTime(integer eventTime)
If no beforeEventId has been specified, the nextEventCallback will only receive events before (including) the specified timestamp. Like with beforeEventId, the listener will stop and call the iteration completed function when the specified eventTime has been reached. Will return true if it was called while the listener is not running, or false otherwise.

Code:
boolean success = SetIterationCompletedCallback(function callback)
When an end criteria is set, this callback will fire when the listener has stopped automatically.

Code:
boolean success = SetStopOnLastEvent(boolean shouldStop)
When set to true, the iteration will stop on the last stored event and fire the iterationCompleted callback instead of waiting for new events to arrive.

Code:
boolean success = SetTimeFrame(integer startTime, integer endTime)
A convenience method to specify a time range which includes the startTime and excludes the endTime. See SetAfterEventTime and SetBeforeEventTime.

Code:
boolean success = SetNextEventCallback(function callback)
Sets a callback which is passed stored and received events in the correct historic order (sorted by eventId). Will return true if it was called while the listener is not running, or false otherwise.
The callback has the following signature:
Code:
function(GuildEventType eventType, id64 eventId, integer eventTime, variable param1, variable param2, variable param3, variable param4, variable param5, variable param6)
More details about param1-6 can be found in guildhistory_shared.lua in the UI source code.

Code:
boolean success = SetMissedEventCallback(function callback)
Sets a callback which is passed missed events that are discovered during a rescan, ignoring any afterEventId or afterEventTime values. See SetNextEventCallback for details on the callback. Will return true if it was called while the listener is not running, or false otherwise.

Code:
boolean success = SetEventCallback(function callback)
A convenience function which will set both callback types in one go. See SetNextEventCallback for details on the callback. Will return true if it was called while the listener is not running, or false otherwise.

Code:
boolean success = Start()
Signals that the listener can start sending data to the addon. Will return true if it was called while the listener is not running, or false otherwise.

Code:
boolean success = Stop()
Signals that the listener to stop sending data to the addon. Will return true if it was called while the listener is running and has been stopped, or false otherwise.

Code:
boolean success = IsRunning()
Returns the current state of the listener.

Examples
Iterate over all stored events
Lua Code:
  1. LibHistoire:RegisterCallback(LibHistoire.callback.INITIALIZED, function()
  2.     local listener = LibHistoire:CreateGuildHistoryListener(guildId, category)
  3.     listener:SetEventCallback(function(eventType, eventId, eventTime, param1, param2, param3, param4, param5, param6)
  4.         -- do something with the event data
  5.     end)
  6.     listener:Start()
  7. end)
This will simply iterate over all stored events and then listen to any newly received data, including anything that will be found on a rescan.

Retrieve a time range
Lua Code:
  1. LibHistoire:RegisterCallback(LibHistoire.callback.INITIALIZED, function()
  2.     local listener = LibHistoire:CreateGuildHistoryListener(guildId, category)
  3.     listener:SetTimeFrame(startTime, endTime)
  4.     listener:SetNextEventCallback(function(eventType, eventId, eventTime, param1, param2, param3, param4, param5, param6)
  5.          -- do something with the event data
  6.     end)
  7.     listener:Start()
  8. end)
This example shows how to iterate over a specific time frame and then stop. SetTimeFrame is preferable over just checking the eventTime in the callback, as it will be faster than just iterating everything.

Retrieve sales for different guilds and continue from last event
Lua Code:
  1. LibHistoire:RegisterCallback(LibHistoire.callback.INITIALIZED, function()
  2.     local function SetUpListener(guildId, category)
  3.         local listener = LibHistoire:CreateGuildHistoryListener(guildId, category)
  4.         local key = listener:GetKey()
  5.         listener:SetAfterEventId(StringToId64(saveData.lastEventId[key]))
  6.  
  7.         listener:SetNextEventCallback(function(eventType, eventId, eventTime, param1, param2, param3, param4, param5, param6)
  8.             -- the events received by this callback are in the correct historic order
  9.             saveData.lastEventId[key] = Id64ToString(eventId)
  10.         end)
  11.  
  12.         listener:SetMissedEventCallback(function(eventType, eventId, eventTime, param1, param2, param3, param4, param5, param6)
  13.             -- events in this callback are out of order compared to what has been received by the next event callback and can even have an eventId smaller than what has been specified via SetAfterEventId.
  14.         end)
  15.         listener:Start()
  16.     end
  17.  
  18.     for i = 1, GetNumGuilds() do
  19.         SetUpListener(GetGuildId(i), category)
  20.     end
  21. end)
This example will register listeners for all guilds and keep track of the last event id that has been processed by the addon. That way the library will pass every event to the listener only once. It will also handle events that have been found later during a manual rescan.
v2.0.7
- improved warning text for "reset linked range" and "clear cache" actions with some explanations
- fixed automated requests not getting discarded when they already got their range received via manual requests
- fixed errors after restoring a backup of the cache without restoring a backup of the library save data
- fixed incorrect zoom mode getting used when linked range is reset
- fixed status bar not properly showing progress when processing events older than the linked range

v2.0.6
- added version label to status window
- fixed a case where automated requests did not properly fill in gaps
- fixed automated requests getting discarded too early in some cases

v2.0.5
- fixed automated request getting queued for categories that are forced off
- fixed categories not getting linked properly in some cases
- fixed problems when switching between different accounts that share one or more guilds
- fixed incorrect status color for linked range that has not been connected to latest events yet
- fixed and improved information shown in status tooltip

v2.0.4
- fixed error while processing events

v2.0.3
- added request prioritization to prefer sending requests that matter the most first
- as long as the guild history menu is open, LibHistoire will now prefer requests for the currently visible guild
- other than that it will prioritize requests by how many listeners are registered for a category as well as a base priority (trading > bank gold > bank items > roster > others)
- further reduced amount of automated requests by not sending them to categories that won't produce any events (e.g. guild without bank or store)
- fixed various cases of automated requests getting stuck
- fixed an issue where requests used the wrong time range when the game has just been started
- fixed requested time ranges not showing correctly in the category status bars
- fixed how linked status is determined for categories
- fixed no new linked range getting selected on reset
- fixed linked range getting lost on login when the game has pruned data from the cache

v2.0.2
- fixed error when listener tries to iterate over a range without any events
- fixed "missing range" zoom mode not showing the intended range, making it appear as if there is no data stored at all
- fixed request time optimization producing incorrect time ranges
- reduced how often empty categories are requested to once a week

v2.0.1
- added option to delete all pending automated requests
- temporarily disabled the selection of guilds and categories via the status window
- fixed manual requests getting stuck with the addon cooldown of 2 minutes
- fixed automated requests blocking manual requests
- removed some unused code

v2.0
- rewrite for the new history api (check this post for more details)
- automatic removal of old history save data
- removed rescan and force link features
- compatibility layer for old history api
- new api callbacks
- smart history requests
- skip requests for categories with no listening addons
- fetch oldest events first after prolonged absense
- new category cache menu
- reset linked range button
- clear cache button
- request mode setting
- improved cache status bar
- cache segmentation display
- automated request visualization
- animated progress bar
- zoom level setting (in main menu)
- new colors
v1.5.1
- fixed issue that prevented other addons from receiving data

v1.5.0
- added warning about upcoming changes
- added code to disable current library version in update 41
- updated for Secret of the Telvanni

v1.4.1
- fixed progress bar not updating when linking starts

v1.4.0
- fixed history rescan not updating the status window
- added rescan progress metrics in tooltip
- improved rescan speed dramatically (~100 times faster)
- added warning on exit and UI reload when events are currently being processed
- updated for Necrom

v1.3.0
- fixed error due to unused event types being removed in the latest game update
- fixed HISTORY_RESCAN_ENDED callback not firing when no events are detected during a rescan
- added stopOnLastEvent flag which makes the library stop the iteration when the last stored event is reached, instead of waiting for new events to appear
- updated for Firesong

v1.2.2
- fixed error when serializing unexpected event types

v1.2.1
- fixed an error preventing events from getting stored for new users or when joining a new guild
- fixed progress bars flickering yellow on initial load
- fixed event listener getting stuck in a loop in some cases
- fixed game freezing when storing missing events during a rescan in categories with lots of stored events
- fixed typo in logout warning dialog

v1.2.0
- fixed an issue that would cause some players to get kicked from the PTS (public test server)
- fixed progress bar not immediately filling to 100% when the last batch of missing events are received in a category
- fixed a rare error that could occur when stored data is deserialized and added some assertions to find the underlying reason
- changed progress bars on status window to show in a red color while events are missing and yellow while events are being processed
- added a confirmation dialog when trying to logout or quit the game while history events are not yet linked, which will send players to the history menu
- updated api version

v1.1.3 (dedicated to Sharlikran who found all these problems)
- fixed codec storing item links in an uncompressed form
- fixed several codec bugs that caused item links to get decoded into invalid links
NOTE: No data was lost and I believe I've found and fixed all incorrect cases and added unit tests to guard against regressions. As an additional measure the lib will now also throw an assertion error if it encounters links that cannot be decoded. Please make sure to report these so I can add them to the test cases and fix them!

- fixed several more bugs in the new GetPendingEventMetrics function

v1.1.2
- fixed error when rescanning a category

v1.1.1
- fixed error in new GetPendingEventMetrics function

v1.1.0
- improved event decoding speed
- changed some logging to reduce log spam
- fixed afterEventTime not returning the correct event when multiple events have the same timestamp
- fixed status tooltip not updating when linking process begins
- added progress info to tooltip while linking
- added log warning when trying to start a listener without an event callback
- added new functions to EventListener API
- GetKey - returns an identifier which can be used to store the last seen eventId for a listener
- GetGuildId - returns the guildId of a listener
- GetCategory - returns the category of a listener
- GetPendingEventMetrics - returns
the amount of stored or unlinked events that are currently waiting to be processed by the listener
the average processing speed in events per second or -1 if not enough data is yet available
the estimated time in seconds it takes to process the remaining events or -1 if no estimate is possible
- SetBeforeEventId, SetBeforeEventTime
these can be used to limit the iteration range and automatically stop the listener when they are passed
they will also ensure the correct data is returned by the GetPendingEventMetrics function when only a subset of the data is requested (otherwise it will consider all available events)
- SetIterationCompletedCallback
when an end criteria is set, this callback will fire when the listener has stopped automatically
- SetTimeFrame(startTime, endTime)
a convenience method to specify a range which includes the startTime and excludes the endTime
v1.0.2
- added new callback for when Histy is ready

v1.0.1 - initial release
Optional Files (0)


Archived Files (21)
File Name
Version
Size
Uploader
Date
2.0.6
127kB
sirinsidiator
03/16/24 10:48 AM
2.0.5
127kB
sirinsidiator
03/15/24 05:02 PM
2.0.4
126kB
sirinsidiator
03/15/24 06:05 AM
2.0.3
126kB
sirinsidiator
03/14/24 07:24 PM
2.0.2
126kB
sirinsidiator
03/13/24 07:20 PM
2.0.1
126kB
sirinsidiator
03/12/24 07:06 PM
2.0.0
124kB
sirinsidiator
03/11/24 04:49 AM
1.5.1
120kB
sirinsidiator
11/02/23 11:51 AM
1.5.0
120kB
sirinsidiator
11/01/23 03:20 PM
1.4.1
118kB
sirinsidiator
06/14/23 12:54 PM
1.4.0
118kB
sirinsidiator
04/19/23 12:44 PM
1.3.0
118kB
sirinsidiator
11/01/22 08:16 AM
1.2.2
118kB
sirinsidiator
04/25/21 06:41 AM
1.2.1
118kB
sirinsidiator
04/24/21 03:01 PM
1.2.0
118kB
sirinsidiator
04/22/21 01:22 PM
1.1.3
119kB
sirinsidiator
12/12/20 11:12 AM
1.1.2
118kB
sirinsidiator
12/05/20 02:33 PM
1.1.1
118kB
sirinsidiator
12/05/20 09:47 AM
1.1.0
118kB
sirinsidiator
12/04/20 07:01 AM
1.0.2
115kB
sirinsidiator
10/31/20 05:32 AM
1.0.1
115kB
sirinsidiator
10/25/20 04:32 PM


Post A Reply Comment Options
Unread Today, 01:27 AM  
MPE72

Forum posts: 0
File comments: 32
Uploads: 0
I have some kind of a situation here. For me it seems that the indexing of new items is stuck and does nothing at all anymore.

Here the situation yesterday evening:



And now here this morning:



So there have been trades in the guild over the night and the activity logs shows them, but it ends on page 2 13 hours ago. The activity log had once 60+ pages of trades.

Is there any way e.g. to trigger the retrieval and linking of data with a button etc.? At the moment it seems that I have to wait for hours on the same character until stuff links up or I might face some kind of data corruption.
Last edited by MPE72 : 03/19/24 at 01:30 AM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 04:34 PM  
NeKryXe

Forum posts: 0
File comments: 50
Uploads: 0
Originally Posted by Sharlikran
If you see that just log out. In all reality, if you get one day of data per day you would stay current. If the database on the server or if the ZOS cache needs updates, rest assured they know because sirinsidiator and myself have been giving feedback to the developers and they are doing all they can to resolve the issue. Don't use the Clear Cache feature unless you log on tomorrow and a few guilds work and a few don't. You could even wait a day or two and not worry about it at all if you want.

The only issue is that if you see the following



And you log in and out on several chars and it stays that way for one guild, then that may be what sirinsidiator already mentioned where he has done all he can to resolve that but, that's the one issue he can't get past.

Mu UI looks slightly different because I use DarkUI
So, I logged out a while ago and changed character. I didn't do anything else. Now I'm in another character for a while and that trader that was stuck on a full blue bar on previous character is now partially red and still not retrieving anything. I'm not going to touch anything now and I'll see what happens tomorrow. Thanks for the help.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 02:40 PM  
vgabor

Forum posts: 1
File comments: 55
Uploads: 0
Hi, great work on making history library so addons can share and reuse the data, but would it be possible to make it more configurable?
- there are guilds which do not want to sync history at all (an example my pvp guild), and it would be nice if a guild could be just turned off entirely
- there are event types (like roster and such) which I do not care of the history in any of guilds, and it would be nice if I could turn off the whole event type at one and not need to go in each guild independently

Also that logout popup is a bit annoying, when I'm doing writs and swap between characters it's keep coming up on each character change.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 02:37 PM  
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view AddOns

Forum posts: 614
File comments: 1971
Uploads: 15
Re: Client only, no addons, cached history fails to load.

Originally Posted by ScottW
I don't think any of this is going to work until we see a patch from ZOS.

I have occasionally gotten LibHistorie to work (all green bars) by manually requesting history one category at a time. It works for a while (never more than a day), and then hangs up somewhere again (shows some recent history, but not older data that had been cached and displayed before, with no "E-Show More" t bottom).

Out of frustration, I started over today -- without any addons.
  • Manually deleted the cache folder.
  • Logged in with no addons, manually retrieved each category for each guild. This included several pages of trader data for each guild. Everything looked good at this point.
  • Logged off. Verified that the cache folder was now populated with new cache files, current date/time.
  • Logged on again -- still no addons.
  • First guild, everything looked good. All history still there.
  • Second guild, got to Trader category, and it initially showed "Retrieving history...". After a few seconds, that went away -- but there was less than a page of history shown, all very recent (within last 30min). All the remaining history I had downloaded in the previous logon session was gone. No page forward/back control, and no "E-Show more" at the bottom.

I repeat, that was all done without any addons loaded. There is something happening where the game client itself, not related to any addons, simply fails to access/load parts of the previously cached data.
Yes, ZOS is aware and that's what sirinsidiator mentioned below, I just mentioned it with an image, most times it will all straighten out and work just fine, but on occasion it won't.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 02:35 PM  
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view AddOns

Forum posts: 614
File comments: 1971
Uploads: 15
Originally Posted by NeKryXe
Today, I just logged it with one character and the bar became blue in one trader, and it's trying to retrieve the history for about 4 hours now. I've been keeping the session on and didn't log out yet. It says that "History has not linked to newest events yet".
If you see that just log out. In all reality, if you get one day of data per day you would stay current. If the database on the server or if the ZOS cache needs updates, rest assured they know because sirinsidiator and myself have been giving feedback to the developers and they are doing all they can to resolve the issue. Don't use the Clear Cache feature unless you log on tomorrow and a few guilds work and a few don't. You could even wait a day or two and not worry about it at all if you want.

The only issue is that if you see the following



And you log in and out on several chars and it stays that way for one guild, then that may be what sirinsidiator already mentioned where he has done all he can to resolve that but, that's the one issue he can't get past.

Mu UI looks slightly different because I use DarkUI
Report comment to moderator  
Reply With Quote
Unread Yesterday, 02:00 PM  
ScottW

Forum posts: 0
File comments: 67
Uploads: 0
Client only, no addons, cached history fails to load.

I don't think any of this is going to work until we see a patch from ZOS.

I have occasionally gotten LibHistorie to work (all green bars) by manually requesting history one category at a time. It works for a while (never more than a day), and then hangs up somewhere again (shows some recent history, but not older data that had been cached and displayed before, with no "E-Show More" t bottom).

Out of frustration, I started over today -- without any addons.
  • Manually deleted the cache folder.
  • Logged in with no addons, manually retrieved each category for each guild. This included several pages of trader data for each guild. Everything looked good at this point.
  • Logged off. Verified that the cache folder was now populated with new cache files, current date/time.
  • Logged on again -- still no addons.
  • First guild, everything looked good. All history still there.
  • Second guild, got to Trader category, and it initially showed "Retrieving history...". After a few seconds, that went away -- but there was less than a page of history shown, all very recent (within last 30min). All the remaining history I had downloaded in the previous logon session was gone. No page forward/back control, and no "E-Show more" at the bottom.

I repeat, that was all done without any addons loaded. There is something happening where the game client itself, not related to any addons, simply fails to access/load parts of the previously cached data.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 01:45 PM  
NeKryXe

Forum posts: 0
File comments: 50
Uploads: 0
Hi Sharlikran! First at all I want to thank you for all your help and patience with us.

Yesterday I followed all your tips, updated everything and started all clean again. Everything worked perfectly fine all day. I was able to retrieve all history from traders and got all bars green.

Today, I just logged it with one character and the bar became blue in one trader, and it's trying to retrieve the history for about 4 hours now. I've been keeping the session on and didn't log out yet. It says that "History has not linked to newest events yet".

I don't know what's safer to do and for how long I'll be able to keep the session on. When I try to log out it says that I'll lose the progress, but nothing seems to be happening anyway. Like I said before, I still think that Zos might be blocking the access to this data at least for some users, or some guilds. Not sure. But we never had this problems before update 41.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 12:15 PM  
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1566
File comments: 1111
Uploads: 41
Originally Posted by PatternRec
Appreciate all the work on this addon. I'm wondering if I need to worry about identifying legacy listeners to get rid of them? I tried uninstalling and deleting both libhistoire and the saved variables and manually deleted all of arkadius's stuff from both the addons folder and the saved variable folder but I still get a legacy listener



tl;dr do I need to worry about legacy listeners and how to identify/remove

edit: getting rid of arkadius without re-installing it completely got rid of the legacy listener message
You don't have to worry about that. Right now there are only legacy listeners as I haven't gotten to finalize the new library api yet. Once that is done, addons will have to state their name and you will be able to see who is listening to a category.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 11:42 AM  
PatternRec

Forum posts: 0
File comments: 35
Uploads: 0
Appreciate all the work on this addon. I'm wondering if I need to worry about identifying legacy listeners to get rid of them? I tried uninstalling and deleting both libhistoire and the saved variables and manually deleted all of arkadius's stuff from both the addons folder and the saved variable folder but I still get a legacy listener



tl;dr do I need to worry about legacy listeners and how to identify/remove

edit: getting rid of arkadius without re-installing it completely got rid of the legacy listener message
Last edited by PatternRec : 03/18/24 at 12:13 PM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 05:57 AM  
Jysoul

Forum posts: 2
File comments: 14
Uploads: 0
Originally Posted by Sharlikran
I was able to get the information I needed, and reproduce the error. I have also found out some things I wasn't aware of. Please, I don't need any more LibDebugLogger files for what I am investigating.

Please provide them if Siri asks of course but I don't need any more unless I request more at a later date.
Glad to hear. BTW, I don't use Siri, I use Jexi.
Last edited by Jysoul : 03/18/24 at 05:58 AM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 04:47 AM  
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view AddOns

Forum posts: 614
File comments: 1971
Uploads: 15
I was able to get the information I needed, and reproduce the error. I have also found out some things I wasn't aware of. Please, I don't need any more LibDebugLogger files for what I am investigating.

Please provide them if Sirinsidiator asks of course but I don't need any more unless I request more at a later date.
Last edited by Sharlikran : 03/18/24 at 08:47 AM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 04:15 AM  
DruiD

Forum posts: 2
File comments: 21
Uploads: 0
Thanks for working on this!! Greatly appreciate your efforts.
Last edited by DruiD : 03/18/24 at 05:12 AM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 03:19 AM  
Jysoul

Forum posts: 2
File comments: 14
Uploads: 0
Originally Posted by Sharlikran
Originally Posted by Jysoul
Thank you I'm experimenting with something.
Thank you.

BTW, I had posted on ATT comments about ATT not syncing for recent sales. I had a recent sale in my Mail box, 13 mins pass by, and no update in ATT Sales window. Asked if it could be related to this issue. Though my post is auto removed in a few mins.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 03:07 AM  
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view AddOns

Forum posts: 614
File comments: 1971
Uploads: 15
Originally Posted by Jysoul
Thank you I'm experimenting with something.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 02:17 AM  
Jysoul

Forum posts: 2
File comments: 14
Uploads: 0
Originally Posted by Sharlikran
Originally Posted by Jysoul
Originally Posted by Sharlikran
Originally Posted by Jysoul
Here is another query for Trader Activity History for a very sale active Trader Guild. After 20 mins logged in, show events not linked. This is the same state when logged in each day.



Image: https://imgur.com/a/RJAW1Ns
you have 3 legacy listeners, MM could be one, ATT could be one, what mods do you have installed?
AwesomeGuildStore v1.6.10 18th Mar
ATT v2.0.0 on 15th Mar
TTC v4.16.267.28139 on 13th Mar

LibGuildRoster has no update since 5th June 2023

Can share Minion view via Discord.
https://sir.insidi.at/or/logviewer/

Reload your UI, Drag a copy of LibDebugLogger.lua to that window from your SavedVariables, and then click the Upload button and provide the link it produces please.
https://sir.insidi.at/or/logviewer/n84cwH
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.