Go to Page... |
%AppData%/../Local/Elder Scrolls Online/live/CachedData/GuildHistory
~/Documents/Elder Scrolls Online/live/CachedData/GuildHistory
LibHistoire:OnReady(function(lib) local guildId = GetGuildId(1) local category = GUILD_HISTORY_EVENT_CATEGORY_BANKED_CURRENCY local addonName = "MyAddon" local processor = lib:CreateGuildHistoryProcessor(guildId, category, addonName) if not processor then -- the processor could not be created return end local started = processor:StartIteratingTimeRange(startTime, endTime, function(event) local info = event:GetEventInfo() assert(info.currencyType == CURT_MONEY, "Unsupported currency type") local eventType = info.eventType if eventType == GUILD_HISTORY_BANKED_CURRENCY_EVENT_DEPOSITED then local amount = info.amount local displayName = DecorateDisplayName(info.displayName) ProcessDeposit(guildId, displayName, amount) end end, function(reason) if (reason == LibHistoire.StopReason.ITERATION_COMPLETED) then -- all events in the time range have been processed else -- the iteration has stopped early for some reason and not all events have been processed end end) if not started then -- the processor could not be started end end)
LibHistoire:OnReady(function(lib) local category = GUILD_HISTORY_EVENT_CATEGORY_TRADER local addonName = "MyAddon" local function SetUpListener(guildId) local processor = lib:CreateGuildHistoryProcessor(guildId, category, addonName) if not processor then -- the processor could not be created return end local key = processor:GetKey() local started = processor:StartStreaming(saveData.lastEventId[key], function(event) local info = event:GetEventInfo() if info.eventType == GUILD_HISTORY_TRADER_EVENT_ITEM_SOLD then ProcessItemSold(info) end saveData.lastEventId[key] = info.eventId end) if not started then -- the processor could not be started end end for i = 1, GetNumGuilds() do SetUpListener(GetGuildId(i)) end end)
ConvertArtificialLegacyId64ToEventId
Utility function to convert id64s that have been artificially created by a legacy listener to the new id53 equivalent.Lua Code:
(method) LibHistoire:ConvertArtificialLegacyId64ToEventId(id64: string) -> id53: integer53|nil
Should be used one time only to convert all id64s that have been stored by the addon when switching to the new event processor api, since it's not the fastest operation.
@param id64 — The id64 to convert.
@return id53 — The converted id53 or nil if the id64 cannot be converted.
CreateGuildHistoryListener(deprecated)
This method will be removed in a future version. Use CreateGuildHistoryProcessor instead.
Creates a legacy listener object which emulates the old guild history api. See guildHistoryCache/GuildHistoryLegacyEventListener.lua for details.Lua Code:
(method) LibHistoire:CreateGuildHistoryListener(guildId: integer, category: integer) -> listener: GuildHistoryLegacyEventListener|nil
It's highly recommended to transition to CreateGuildHistoryProcessor instead, to take better advantage of the new history api.
@param guildId — The id of the guild to listen to.
@param category — The legacy category to listen to. One of the GUILD_HISTORY_* constants. See guildHistoryCache/compatibility.lua for details.
@return listener — The created listener object or nil if no caches were found for the provided guildId and category.
See:
CreateGuildHistoryProcessor
Creates a processor object which can be configured before it starts sending history events to an addon. See guildHistoryCache/GuildHistoryEventProcessor.lua for details.Lua Code:
(method) LibHistoire:CreateGuildHistoryProcessor(guildId: integer, category: GuildHistoryEventCategory, addonName: string) -> processor: GuildHistoryEventProcessor|nil
@param guildId — The id of the guild to process history events for.
@param category — The category to process history events for.
@param addonName — The name of the addon that is processing the events. This is used to allow users to identify addons that are registered to a category, as well as to provide better logging.
@return processor — The created processor object or nil if no caches were found for the provided guildId and category.
See:
IsReady
This function can be used to check if the library is ready to be used. It will return true after the INITIALIZED callback has been fired.Lua Code:
(method) LibHistoire:IsReady() -> isReady: boolean
When the library is not ready yet, make sure to register to the INITIALIZED callback to know when it is.
@return isReady — True if the library is ready to be used, false otherwise.
See:
OnReady
A convenience function to execute a callback when the library is ready. When the library is already initialized, the callback will be executed immediately.Lua Code:
(method) LibHistoire:OnReady(callback: fun(lib: LibHistoire))
@param callback — The function to call when the library is ready. It will receive the LibHistoire object as an argument.
See:
RegisterCallback
Register to a callback fired by the library. Usage is the same as with ZO_CallbackObject.RegisterCallback. You can find the list of exposed callbacks in api.luaLua Code:
(method) LibHistoire:RegisterCallback(callbackName: Callbacks, callback: function, ...any)
@param callbackName — One of the exposed callbacks.
@param callback — The function to call when the callback is fired.
See:
GuildHistoryEventProcessor
UnregisterCallback
Unregister from a callback fired by the library. Usage is the same as with ZO_CallbackObject.UnregisterCallback.Lua Code:
(method) LibHistoire:UnregisterCallback(callbackName: Callbacks, callback: function, ...any)
@param callbackName — One of the exposed callbacks.
@param callback — The function to unregister.
See:
GetAddonName
Returns the name of the addon that created the processor.Lua Code:
(method) GuildHistoryEventProcessor:GetAddonName() -> addonName: string
@return addonName — The name of the addon that created the processor.
GetCategory
Returns the category.Lua Code:
(method) GuildHistoryEventProcessor:GetCategory() -> category: GuildHistoryEventCategory
@return category — The event category the processor is listening to.
GetGuildId
Returns the guild id.Lua Code:
(method) GuildHistoryEventProcessor:GetGuildId() -> guildId: integer
@return guildId — The id of the guild the processor is listening to.
GetKey
Returns a key consisting of server, guild id and history category, which can be used to store the last received eventId.Lua Code:
(method) GuildHistoryEventProcessor:GetKey() -> key: string
@return key — The key that identifies the processor.
GetPendingEventMetrics
Returns information about history events that need to be sent to the processor.Lua Code:
(method) GuildHistoryEventProcessor:GetPendingEventMetrics() -> numEventsRemaining: integer 2. processingSpeed: integer 3. timeLeft: integer
@return numEventsRemaining — The amount of queued history events that are currently waiting to be processed by the processor.
@return processingSpeed — The processing speed in events per second (rolling average over 5 seconds).
@return timeLeft — The estimated time in seconds it takes to process the remaining events or -1 if it cannot be estimated.
IsRunning
Returns true while iterating over or listening for events.Lua Code:
(method) GuildHistoryEventProcessor:IsRunning() -> running: boolean
@return running — true if the processor is currently running.
SetAfterEventId
Allows to specify a start condition. The nextEventCallback will only return events which have a higher eventId.Lua Code:
(method) GuildHistoryEventProcessor:SetAfterEventId(eventId: integer53) -> success: boolean
@param eventId — An eventId to start after.
@return success — true if the condition was set successfully, false if the processor is already running.
SetAfterEventTime
Allows to specify a start condition. The nextEventCallback will only receive events after the specified timestamp. Only is considered if no afterEventId has been specified.Lua Code:
(method) GuildHistoryEventProcessor:SetAfterEventTime(eventTime: integer53) -> success: boolean
@param eventTime — A timestamp to start after.
@return success — true if the condition was set successfully, false if the processor is already running.
SetBeforeEventId
Allows to specify an end condition. The nextEventCallback will only return events which have a lower eventId.Lua Code:
(method) GuildHistoryEventProcessor:SetBeforeEventId(eventId: integer53) -> success: boolean
@param eventId — An eventId to end before.
@return success — true if the condition was set successfully, false if the processor is already running.
SetBeforeEventTime
Allows to specify an end condition. The nextEventCallback will only return events which have a lower timestamp. Only is considered if no beforeEventId has been specified.Lua Code:
(method) GuildHistoryEventProcessor:SetBeforeEventTime(eventTime: integer53) -> success: boolean
@param eventTime — A timestamp to end before.
@return success — true if the condition was set successfully, false if the processor is already running.
SetEventCallback
Convenience method to set both callback types at once.Lua Code:
(method) GuildHistoryEventProcessor:SetEventCallback(callback: fun(event: ZO_GuildHistoryEventData_Base)) -> success: boolean
@param callback — The function that will be called for each missed event that was found.
@return success — true if the condition was set successfully, false if the processor is already running.
See:
SetMissedEventCallback
Sets a callback which will get passed events that had not previously been included in the managed range, but are inside the start and end criteria. The order of the events is not guaranteed.Lua Code:
(method) GuildHistoryEventProcessor:SetMissedEventCallback(callback: fun(event: ZO_GuildHistoryEventData_Base)) -> success: boolean
If SetReceiveMissedEventsOutsideIterationRange is set to true, this callback will also receive events that are outside of the specified iteration range.
The callback will be handed an event object (see guildhistory_data.lua) which must not be stored or modified, as it can change after the function returns.
@param callback — The function that will be called for each missed event that was found.
@return success — true if the condition was set successfully, false if the processor is already running.
See:
SetNextEventCallback
Sets a callback which will get passed all events in the specified range in the correct historic order (sorted by eventId).Lua Code:
(method) GuildHistoryEventProcessor:SetNextEventCallback(callback: fun(event: ZO_GuildHistoryEventData_Base)) -> success: boolean
The callback will be handed an event object (see guildhistory_data.lua) which must not be stored or modified, as it can change after the function returns.
@param callback — The function that will be called for each event that is processed.
@return success — true if the condition was set successfully, false if the processor is already running.
See:
SetOnStopCallback
Set a callback which is called after the listener has stopped.Lua Code:
(method) GuildHistoryEventProcessor:SetOnStopCallback(callback: fun(reason: StopReason)) -> success: boolean
Receives a reason (see lib.StopReason) why the processor has stopped.
@param callback — The function that will be called when the processor stops.
@return success — true if the condition was set successfully, false if the processor is already running.
See:
SetReceiveMissedEventsOutsideIterationRange
Controls if the processor should forward missed events outside of the specified iteration range to the missedEventCallback.Lua Code:
(method) GuildHistoryEventProcessor:SetReceiveMissedEventsOutsideIterationRange(shouldReceive: boolean) -> success: boolean
@param shouldReceive — true if missed events outside of the specified iteration range should be forwarded, false if they should be ignored.
@return success — true if the condition was set successfully, false if the processor is already running.
See:
SetRegisteredForFutureEventsCallback
Sets a callback which is called when the processor starts waiting for future events.Lua Code:
(method) GuildHistoryEventProcessor:SetRegisteredForFutureEventsCallback(callback: function) -> success: boolean
@param callback — The function that will be called when the processor starts waiting for future events.
@return success — true if the condition was set successfully, false if the processor is already running.
SetStopOnLastCachedEvent
Controls if the processor should stop instead of listening for future events when it runs out of events before encountering an end criteria.Lua Code:
(method) GuildHistoryEventProcessor:SetStopOnLastCachedEvent(shouldStop: boolean) -> success: boolean
@param shouldStop — true if the processor should stop when it runs out of events, false if it should wait for future events.
@return success — true if the condition was set successfully, false if the processor is already running.
Start
Starts the processor and passes events to the specified callbacks asyncronously. The exact behavior depends on the set conditions and callbacks.Lua Code:
(method) GuildHistoryEventProcessor:Start() -> started: boolean
@return started — true if the processor was started successfully, false if it is already running.
StartIteratingTimeRange
Convenience method to configure and start the processor to iterate over a specific time range and stop after it has passed all available events.Lua Code:
(method) GuildHistoryEventProcessor:StartIteratingTimeRange(startTime: integer53, endTime: integer53, eventCallback: fun(event: ZO_GuildHistoryEventData_Base), finishedCallback: fun(reason: StopReason)) -> started: boolean
@param startTime — The start time of the range (inclusive).
@param endTime — The end time of the range (exclusive).
@param eventCallback — The function that will be called for each event that is processed.
@param finishedCallback — The function that will be called when the processor stops. Only when StopReason.ITERATION_COMPLETED is passed, all events in the range have been processed.
@return started — true if the processor was started successfully, false if it is already running.
See:
StartStreaming
Convenience method to start the processor with a callback and optionally only receive events after the specified eventId.Lua Code:
(method) GuildHistoryEventProcessor:StartStreaming(lastProcessedId: integer53|nil, eventCallback: fun(event: ZO_GuildHistoryEventData_Base)) -> started: boolean
@param lastProcessedId — The last eventId that was processed by the addon or nil to start with the oldest managed event.
@param eventCallback — The function that will be called for each event that is processed. If not provided here, it has to be set with SetNextEventCallback beforehand, or the processor won't start.
@return started — true if the processor was started successfully, false if it is already running.
Callbacks
Stop
Stops iterating over stored events and unregisters the processor for future events.Lua Code:
(method) GuildHistoryEventProcessor:Stop() -> stopped: boolean
@return stopped — true if the processor was stopped successfully, false if it is not running.
Callbacks.CATEGORY_LINKED
Fired when a category has linked the managed range to present events. The guildId and category are passed as arguments.
Callbacks.HISTORY_RESCAN_ENDED(deprecated)
Rescan no longer exists.
Callbacks.HISTORY_RESCAN_STARTED(deprecated)
Rescan no longer exists.
Callbacks.INITIALIZED
Fired when the library has finished setting everything up.
Any calls to the api (aside of registering for the event) should happen after this has fired.
It will receive the LibHistoire object as an argument.
Keep in mind that this may fire before EVENT_ADD_ON_LOADED, so make sure to check if the library is ready before listening to the callback.
See:
Callbacks.LINKED_RANGE_FOUND(deprecated)
Use MANAGED_RANGE_FOUND instead.
See:
Callbacks.LINKED_RANGE_LOST(deprecated)
Use MANAGED_RANGE_LOST instead.
See:
Callbacks.MANAGED_RANGE_FOUND
Fired when a new managed range has been found. The guildId and category are passed as arguments.
This happens when the managed range is established initially or after the managed range was lost.
StopReason
Callbacks.MANAGED_RANGE_LOST
Fired when the managed range has been lost. The guildId and category are passed as arguments.
This could be due to the cache being deleted, the library detecting inconsistencies in its own save data or the user manually resetting the range.
StopReason.ITERATION_COMPLETED
An end condition has been set and the first event outside of the specified range was encountered
See:
StopReason.LAST_CACHED_EVENT_REACHED
The stopOnLastCachedEvent flag has been set and the last cached event was reached
See:
StopReason.MANAGED_RANGE_LOST
The managed range was lost (fires right after MANAGED_RANGE_LOST callback)
See:
StopReason.MANUAL_STOP
Stop has been called by the addon
See:
- sliders to set how long the guild history cache should retain data- fixed managed range reset not working correctly in some cases
- a button to allow resetting all caches at once
- the path to the cache files
- now it will properly explode instead of silently getting stuck when invalid timestamps are receivedv2.2.1
- NOTE: switching guilds and categories via the status panel won't send requests automatically. You'll have to manually hit E or use the ingame ui to do so- added new entry to status window menu to show debug information
- NOTE: it's still a bit experimental, so let me know if you encounter any issues and be prepared to update your code if necessary- fixed legacy listener SetBeforeEventTime, SetTimeFrame and iterationComplete callback behaving slightly different from version 1
- check the addon description for more information and a migration guide
- there is also an api.doc.lua file which can be used with language servers to provide autocompletion without having to include the full source code
- NOTE: legacy listeners will continue to be called just that- changed exit warning dialogues to show up less frequently and be more clear about why you should care
- NOTE: everything will explode for now when it happens. Please make sure to report it, so I can get an idea when and how often it occurs and decide what to do about it- added shift modifier to pagination buttons in the vanilla history UI to allow jumping to the first or last page quickly
- as long as the guild history menu is open, LibHistoire will now prefer requests for the currently visible guild- 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)
- 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)
- automatic removal of old history save data- smart history requests
- removed rescan and force link features
- compatibility layer for old history api
- new api callbacks
- skip requests for categories with no listening addons- new category cache menu
- fetch oldest events first after prolonged absense
- reset linked range button- improved cache status bar
- clear cache button
- request mode setting
- cache segmentation displayv1.5.1
- automated request visualization
- animated progress bar
- zoom level setting (in main menu)
- new colors
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!
- GetKey - returns an identifier which can be used to store the last seen eventId for a listenerv1.0.2
- GetGuildId - returns the guildId of a listener
- GetCategory - returns the category of a listener
- GetPendingEventMetrics - returnsthe amount of stored or unlinked events that are currently waiting to be processed by the listener- SetBeforeEventId, SetBeforeEventTime
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 possiblethese can be used to limit the iteration range and automatically stop the listener when they are passed- SetIterationCompletedCallback
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)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
File Name |
Version |
Size |
Uploader |
Date |
2.3.0 |
137kB |
sirinsidiator |
03/28/24 01:58 PM |
|
2.2.0 |
137kB |
sirinsidiator |
03/27/24 01:58 PM |
|
2.1.1 |
128kB |
sirinsidiator |
03/23/24 07:40 AM |
|
2.1.0 |
128kB |
sirinsidiator |
03/21/24 05:53 PM |
|
2.0.7 |
127kB |
sirinsidiator |
03/17/24 12:11 PM |
|
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 |
Comment Options |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
04/01/21, 03:24 AM | |
Forum posts: 1
File comments: 3
Uploads: 0
|
troubleshooting
Hello. I have this chat spam on interface interactions while LibHistoire is on. I'm not sure it's even this addon. Any tips?
Last edited by keibushu : 04/01/21 at 03:25 AM.
|
|
keibushu |
View Public Profile |
Send a private message to keibushu |
Find More Posts by keibushu |
Add keibushu to Your Buddy List |
04/01/21, 04:48 AM | ||
Re: troubleshooting
|
||
|
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
04/01/21, 07:16 AM | ||
Re: troubleshooting
Last edited by Sharlikran : 04/01/21 at 08:30 AM.
|
||
|
Sharlikran |
View Public Profile |
Send a private message to Sharlikran |
Find More Posts by Sharlikran |
Add Sharlikran to Your Buddy List |
04/06/21, 04:30 PM | |
Forum posts: 0
File comments: 3
Uploads: 0
|
Dependency Issue
Good afternoon, I am having an issue with this addon via Master Merchant.
When i updated MM to the most recent version, MM stopped working and states that a newer version of this addon is required. I do have "load out of date addons" checked, and i do have the current version (1.0.2) loaded. I did post this issue on the MM comments as well. Regards, Malkorga |
|
Malkorga |
View Public Profile |
Send a private message to Malkorga |
Find More Posts by Malkorga |
Add Malkorga to Your Buddy List |
04/07/21, 03:54 AM | ||
Re: Dependency Issue
|
||
|
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
04/19/21, 11:53 PM | |
Disconnected.
For a trade guild that I am. I normally about once a week take the time to manually download all the guild history data and then click the circle to look for missing data. I just did a couple days worth and click the circle, get the yellow text popup, then after about a minute, get Error 303 disconnected and have to log in again. Try three times to fix the missing data to no avail. Any suggestions?
Last edited by Techwolf : 04/20/21 at 12:04 AM.
|
|
|
Techwolf |
View Public Profile |
Send a private message to Techwolf |
Visit Techwolf's homepage! |
Find More Posts by Techwolf |
Add Techwolf to Your Buddy List |
04/20/21, 03:56 AM | ||
Re: Disconnected.
The rescan button is only there for when you first start using the lib or when you used the force link button and later want it to add events that ended up missing as a result. The case that the lib actually misses events during regular operation has yet to happen. As for why you get kicked with error 303, I can't say. Does the game hang when you press the button? Maybe you can also try if it still happens when you disable all addons and leave only the library running. |
||
|
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
04/20/21, 01:57 PM | ||
Re: Re: Disconnected.
The hang happens when missing data is found, I notice in the past when I did this when I knew there was no missing data, it happens very fast and no new data sent to MM. I can do a crude video on my phone if you like. Update: Seen the update. While I did managed to fix my issue by using a backup and some trickery to keep all 10 days in memory while I restore the backup that had no "holes". I will be updating and will restore the old problematic savevariable.lua as I did make a backup in case something went wrong or for testing later on. Thank you very much for looking into this.
Last edited by Techwolf : 04/22/21 at 06:34 PM.
|
||
|
Techwolf |
View Public Profile |
Send a private message to Techwolf |
Visit Techwolf's homepage! |
Find More Posts by Techwolf |
Add Techwolf to Your Buddy List |
04/23/21, 07:08 AM | |
Forum posts: 0
File comments: 18
Uploads: 0
|
I am running 1.2.0 and every time I log out I get the message "LibHistore has not linked your history yet! If you close the game now, you will loose any progress and have to start over the next time."
Any idea how to resolve this? Thanks, Granamere I found the force update so I am good now!
Last edited by Granamere : 04/23/21 at 07:24 AM.
|
|
Granamere |
View Public Profile |
Send a private message to Granamere |
Visit Granamere's homepage! |
Find More Posts by Granamere |
Add Granamere to Your Buddy List |
04/23/21, 11:16 AM | ||
Forum posts: 0
File comments: 30
Uploads: 0
|
Tried re-installing but that message comes up every time I logout to change character ?!? |
|
|
Aran5000 |
View Public Profile |
Send a private message to Aran5000 |
Visit Aran5000's homepage! |
Find More Posts by Aran5000 |
Add Aran5000 to Your Buddy List |
04/23/21, 12:35 PM | |
This new warning dialog was added especially for people who do not read the addon descriptions and manuals and instead like to complain about non-issues in the comments of the wrong addon (=MM). And it seems to be working as intended.
Using the "force link" button is one possible way to "solve" this "issue", but I can't really recommended it, as you will create holes in your dataset. If you already pressed it, you can still manually request the missing time frame (so it shows in the vanilla history) and then press the "rescan" button that appeared instead of the "force link" button. A better way to get rid of that dialog is to click on the categories that show a red bar and then press `E` ("Request More") until it turns yellow and then blue. Once all bars are blue, the dialog will no longer show when you try to logout.
Last edited by sirinsidiator : 04/23/21 at 12:36 PM.
|
|
|
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
04/23/21, 07:48 PM | |||
It has been difficult to explain to people that if they are missing data then they have not updated their data. In other words I have had a hard helping people understand that it is on them to update the data. It is even more difficult to explain it in a way that helps them understand what is going on and what they need to do. As you can see in the previous post from the author forcing the update of data is not recommended. So I would like to put it another way. When you click the chain link to force the update that is like saying I have 50,000 sales that do not exist in MM but I don't want them, just give me what I have for now and stop requesting more data. This is why I have documentation for MM to explain to people that to have accurate sales and all your data you need to keep your data up to date. Some people want it to happen automatically without doing anything and for slow guilds this may be possible. However, here is an account from someone in a busy guild. As you see for that user it was 4 hours to wait for the server to provide the information automatically. Do you want to wait several hours, or be ready to play in a shorter amount of time? If you are like me you want to be ready to play in minutes not hours so please pay attention to my MM documentation. If you are now seeing the notification as shown above, then there is a chance you frequently log off without having all of your data. You are most likely missing data on a daily basis. 1. Resolving Unlinked Events 2. Ten Day Scan 3. Update Your Guild History Each Day Make sure you look at the documentation. Once you do a Ten Day scan and have 10 days of continuous data you never have to do it again. However, you will have to Update Your Guild History Each Day
Last edited by Sharlikran : 04/23/21 at 08:00 PM.
|
|||
|
Sharlikran |
View Public Profile |
Send a private message to Sharlikran |
Visit Sharlikran's homepage! |
Find More Posts by Sharlikran |
Add Sharlikran to Your Buddy List |
04/24/21, 12:46 AM | |
Timeout update
When I was doing some more digging into the code to find the part that was freezing the client to 0FPS and getting error timeout lost connection to server, I noticed a lot of logging code, so I went digging around for log txt files and found none that contain the debug data. Going down the rabbit hole farther, I discovered that I need to have an AddOn to view the logs. So now I have debug images. Unfortunately, not text files due to the debug was saved in a lua file in out-of-order sequence, so using the debug viewer and print screen key, I took some snapshots of the problem I was having.
Here is an image of a good rescan. The client, viewer, program, game, however you want to call it freezes at 0FPS between lines 19:49:48.166 and 19:50:31.510 Here is one of the Error 303, lost connection to server. The client freezes at 00:41:49.250 for so long it timeout. The next line, 00:45:01.011 is where I re-logged into the game. Update: Images was not working, fixed.
Last edited by Techwolf : 04/24/21 at 12:58 AM.
|
|
|
Techwolf |
View Public Profile |
Send a private message to Techwolf |
Visit Techwolf's homepage! |
Find More Posts by Techwolf |
Add Techwolf to Your Buddy List |
04/24/21, 08:00 AM | ||
Forum posts: 0
File comments: 18
Uploads: 0
|
setting to switch this to never appear?
Last edited by coronhr : 04/24/21 at 08:01 AM.
|
|
|
coronhr |
View Public Profile |
Send a private message to coronhr |
Visit coronhr's homepage! |
Find More Posts by coronhr |
Add coronhr to Your Buddy List |
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.