cppisking / ffrk-inspector

Issues tracker for FFRK Inspector
10 stars 8 forks source link

Multiple devices not updating db #8

Open jonnybarqs opened 9 years ago

jonnybarqs commented 9 years ago

It looks as if using multiple devices at the same time are not updating the db correctly.

eg: device 1 - iphone enters battle round drop anticipation updates and shows the upcoming drops

device 2 - ipad enters battle round drop anticipation updates to the new drops

device 1 - iphone completes battle no db update

device 2 - ipad completes battle db updates with expected drops

It seems the app is only updating the anticipated drops into the db when the battle completes but only if the anticipated drops are still in the window, it doesn't remember or doesn't check a battle completion for the previously shown anticipated drops

Im sure this is currently intended in order to keep the drops from updating when battle is not completed (crash, quit battle, etc) but there should be a solution to check if other devices/battles have completed since the last update of the anticipated drop window.

cppisking commented 9 years ago

I'll have to think about how to handle this. I don't think a fix for this will come immediately, but I'll think about the best way to handle it. It will basically require me to store multiple copies of the data in every piece of UI, one for each device. Not super hard, but will take some time to figure out and I want to prioritize filling out the rest of the tab pages like Inventory and Item Search first.

jonnybarqs commented 9 years ago

as an aside to this issue, an unhandled exception (error text below) is thrown if the current round drop anticipation data if for 1 area and the battle list is for another.

can be replicated by having 1 device enter a zone, have the second device enter a different zone which updates the battle listing. device 1 then begins the fight and completes it without updating the battle listing but updating the drop text, upon completion of the fight when the db call is made the following exception is thrown.

System.NullReferenceException: Object reference not set to an instance of an object. at FFRKInspector.UI.FFRKViewActiveDungeon.UpdateAllDropsForLastBattle(EventBattleInitiated battle) at FFRKInspector.UI.FFRKViewActiveDungeon.<>c__DisplayClass1c.b__1b()

rsilva712 commented 9 years ago

As we approach release, how was this addressed? I noticed if i run multiple devices now, it does seem to update the database, it just doesn't update the dungeon until a device enters a zone. At least it doesn't crash anymore.

cppisking commented 9 years ago

Tbh it wasn't addressed. Any difference in behavior you're seeing is probably an unintentional consequence of some unrelated change. My guess is that some of your runs are still not being written to the database, but which ones depends on the order you're doing things. Most likely a run only gets written if you enter and complete on a single device before entering a dungeon on a different device. On Sat, May 30, 2015 at 11:47 AM rsilva712 notifications@github.com wrote:

As we approach release, how was this addressed? I noticed if i run multiple devices now, it does seem to update the database, it just doesn't update the dungeon until a device enters a zone. At least it doesn't crash anymore.

— Reply to this email directly or view it on GitHub https://github.com/cppisking/ffrk-inspector/issues/8#issuecomment-107074922 .