EVEMon 4.0.20 - ESI Edition

Here is another example for an user friendly implementation of ESI authorization in a desktop app: jEve Asset. And yes, its also uses a web helper app.

There is only two ways to do what jevewassets does. 1 is for the developer to pay to host a web site to manage the secret keys and second is to put the secret keys in the client where they might be reverse engineered, misused and get the developer and app banned. A Third option may exist but it would require ccp make an exception for the existing rules of esi applications as set by their legal team.

As for me personally, I would rather the developer work on making evemon work and iron out the few bugs and features that need work still. Maybe later a solution to CCPs existing ESI rules can be explored.

Right, yes, they are in NPC stations and public citadels. What you said would make sense in light of what happens with trcaking of access rights. I recently learned from someone that ESI apparently does not get information regarding their existence or docking rights history if citadels was never publicly accessible. Maybe thatā€™s the case here, too. If this is the case at all, but some citadels that are being used for docking rights scams just never show up on a page tracking their docking rights history and they have never been open for public docking access.

The issue is StationIDs. If you know the station Id you can pull info from that station via your token on a char who has access to that facility. Public stations can be queried in mass but non-public ones you first have to find a list of station ids that char has access to them check them individually. So I know it can be done its just a bit more work when using non-public facilities. Soon the project I am working on will have to address this and I will know more about a good way to handle non-public structures. I am sure the evemon developer will find a way to handle it as well in a soonā„¢ update but there is a lot of things on his to do list I suspect right now.

Since thereā€™s no location for PR reports, hereā€™s a stack trace of an error Iā€™m seeing with one of my characters.

EVEMon Version: 4.0.2.4769
.NET Runtime Version: 4.0.30319.42000
Operating System: Microsoft Windows NT 10.0.17134.0
Executable Path: "C:\Program Files (x86)\EVEMon\EVEMon.exe" 

System.NullReferenceException: Object reference not set to an instance of an object.
   at EVEMon.Controls.OverviewItem.UpdateContent() in EVEMon\Controls\OverviewItem.cs:line 331
   at EVEMon.Controls.OverviewItem.OnVisibleChanged(EventArgs e) in EVEMon\Controls\OverviewItem.cs:line 164
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.UserControl.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Datafile report:
  eve-blueprints-en-US.xml.gzip (201KiB - 219eb76e35e9c1df32d2b7f21268582c)
  eve-certificates-en-US.xml.gzip (45KiB - 540000f7c111354769a54fa31e57d411)
  eve-geography-en-US.xml.gzip (531KiB - 20e2c8177ddb8432f5922ef86466077f)
  eve-items-en-US.xml.gzip (2103KiB - 17c5a379215eb882c6b31bf44264ce80)
  eve-masteries-en-US.xml.gzip (21KiB - 3668b50996fc40a0c0853fec427b5712)
  eve-properties-en-US.xml.gzip (60KiB - b2c03b45f8475be109cd48c84268a5f4)
  eve-reprocessing-en-US.xml.gzip (106KiB - 0b9a9421778342be01db456a0fd34b5a)
  eve-skills-en-US.xml.gzip (23KiB - c08881d6d8e749885f18630573679524)


Diagnostic Log:
0d 0h 00m 00s > Starting up
0d 0h 00m 00s > EveMonClient.Initialize - begin
0d 0h 00m 00s > Program.StartupAsync - done
0d 0h 00m 00s > Settings.TryDeserializeFromFile - begin
0d 0h 00m 00s > Settings.TryDeserializeFromFile - done
0d 0h 00m 00s > Settings.Import - begin
0d 0h 00m 00s > EveMonClient.OnSchedulerChanged
0d 0h 00m 00s > Settings.Import - done
0d 0h 00m 00s > EveMonClient.OnSettingsChanged
0d 0h 00m 00s > Main loop - start
0d 0h 00m 01s > MainWindow.OnLoad
0d 0h 00m 01s > TimeCheck.ScheduleCheck - in 00:00:01
0d 0h 00m 01s > UpdateManager.ScheduleCheck - in 00:00:10
0d 0h 00m 01s > Main window - loaded
0d 0h 00m 01s > Datafiles.Load - begin
0d 0h 00m 02s > TimeCheck.BeginCheckAsync
0d 0h 00m 02s > TimeCheck.OnCheckCompleted - Synchronised
0d 0h 00m 02s > TimeCheck.ScheduleCheck - in 1.00:00:00
0d 0h 00m 02s > EveMonClient.OnServerStatusUpdated
0d 0h 00m 05s > Datafiles.Load - done
0d 0h 00m 05s > Settings.ImportData - begin
0d 0h 00m 07s > EveMonClient.OnCharacterImplantSetCollectionChanged - Oryan Thestral
0d 0h 00m 07s > EveMonClient.OnCharacterSkillQueueUpdated - Oryan Thestral
0d 0h 00m 07s > EveMonClient.OnCharacterUpdated - Oryan Thestral
0d 0h 00m 07s > EveMonClient.OnMonitoredCharactersChanged
0d 0h 00m 08s > EveMonClient.OnCharacterCollectionChanged
0d 0h 00m 08s > EveMonClient.OnCharacterCollectionChanged
0d 0h 00m 08s > EveMonClient.OnESIKeyCollectionChanged
0d 0h 00m 08s > EveMonClient.OnCharacterPlanCollectionChanged - Oryan Thestral
0d 0h 00m 08s > EveMonClient.OnMonitoredCharactersChanged
0d 0h 00m 08s > Settings.ImportData - done
0d 0h 00m 08s > EveMonClient.OnSettingsChanged
0d 0h 00m 09s > EveMonClient.OnCharacterUpdated - Oryan Thestral
0d 0h 00m 09s > EveMonClient.OnCharacterListUpdated - 131717532664521655 (Oryan Thestral)
0d 0h 00m 09s > EveMonClient.OnESIKeyCollectionChanged
0d 0h 00m 09s > EveMonClient.OnESIKeyInfoUpdated - 131717532664521655 (Oryan Thestral)
0d 0h 00m 11s > UpdateManager.BeginCheckAsync
0d 0h 00m 11s > EveMonClient.OnEveIDToNameUpdated
0d 0h 00m 11s > EveMonClient.OnCharacterInfoUpdated - Oryan Thestral
0d 0h 00m 11s > EveMonClient.OnCharacterImplantSetCollectionChanged - Oryan Thestral
0d 0h 00m 11s > UpdateManager.OnCheckCompleted
0d 0h 00m 11s > UpdateManager.ScheduleCheck - in 12:00:00
0d 0h 00m 11s > EveMonClient.OnCharacterSkillQueueUpdated - Oryan Thestral
0d 0h 00m 12s > EveMonClient.OnCharacterUpdated - Oryan Thestral

Forces EVEMON to close, as you can see in the trace Iā€™m running the lastest 4.0.2 version

Does this happen on startup then as its loading the chars? Also what happens if you remove that one char? Will it load up fine for other characters?

Is this new evemon only for omega acc? can i use this with alpha account?

SLOVED: y should type secret with hands, if have problem with large ā€œIā€ ans small ā€œlā€ - copy secret to Notepad, it have base font that have different characters for this two ā€œIā€ and ā€œlā€

Shame, dsnt work for me
ffff

, callback url copied from instruction: http://localhost:4916/callback

UPD: nmap said that this port closed, ā€œlocalhostā€ aka 127.0.0.1 is up

It happens shortly after startup when it finishes loading the character - I get a notification that the skillqueue finished and then it crashes. If I remove that character it seems to work fine, Iā€™ve loaded other characters without issue.

I think to try is to completely remove that char and delete any and all data evemon has for it including clearing your cache then re-add it. If it continues to crash after all that then its likely something in the esi reply itself that is making evemon die and you should post the exception report evemon gives you here and the developer will try and figure out what might be tripping up evemon.

Iā€™ve already tried that - thatā€™s why I posted the stack trace in the first place.

ahh I did not see your stack trace. but hopefully someone else is working on the project did and can sort it in the next release

but @Peter_Han I have a feature request if its possible within ESI. I find that things end up in asset safety on occasion and the game has zero info that it happened if I miss the chance to move it to another station in the same system for lower cost and instead goes unnoticed until some expensive forgotten BPOs I have ended up in a lowsec system in who knows where.
So if ESI does is able to show things in asset safety as opposed to normal hangers it might be nice to get a message from evemon when new things appear in asset safety that was not p[reviously there.

In-game asset safety notifications are being added in the patch tomorrow.

still would be nice if evmon did ti for char I dont log into very often. but thanks @ccp_random_devteam for adding that

If you donā€™t trust the application, donā€™t add the write access to the application in developer.eveonline.com ? Itā€™s that simpleā€¦
If you let them all and evemon uses it one day, thereā€™s two possibility:

  • either itā€™s a real usecase, and you accept it
  • either you donā€™t want to, you can verify the scopes when you accept them, so you can refuse / remove the scope, and you have no excuses.

When it launched in 4.0 it worked very well, managed to get all my characters up and running on Evemon.
Then it started to not sync with the changes I made ingame (skillqueue, wallet balance etc) and now itā€™s been a few days my evemon sheets display ā€œcachedā€ on every character, and simply doesnt update anything anymore.
I go to edit character / manage api, I refresh all the authorization on every character, it displays ā€œaccess token presentā€ but still no update on any character.
The program seems totally broken for me so far. Installed 4.0.2 and changed nothing
Thanks for the good work, Evemon is not essential to me so Iā€™ll wait for a more stable version

But the app cannot get a token with the write ones unless you authorize it while the write permissions are listed. As it stands now the scopes that evemon actually asks for (and gets) are the read only ones so it cannot get more permissions without getting a whole new token and you authorizing it with write access.

The reason you add everything esi* from the list in the developer p[age is to make it easier for the end user who would otherwise have to go through and pick and choose a couple dozen ones while ignoring the restā€¦ Its just quickly to search for esi* and grab them all even though evemon should never request a token with more then it needs and if it does you will clearly see it if you look while making the token.

There is probably a better way to do this but that will likely have to wait as even now there are bugs that need to be sorted to make evemon stable and also a more lenient ccp legal team to approve something less secure like they did for JEveAssets.
I suppose if you know a better way to do it fork it and start submitting code for evemon. Right now I am happy with it even though I keep finding new ways to crash it.

I have been getting a new crash since 4.0.2 although its possible it would have crashed in 4.0.1 I was not on that version for more then a day before 4.0.2 came out. Seen it twice now and working to find out how to reproduce it. The crash happens in a bad why where the stack trace pops up but then quickly itself crashes and I am left with the following message:

An Error occurred and EVEMon was unable to handle the error gracefully.
The exception encountered was 'Object reference not set to an instance of an Object.`
Please report this on the EVEMon forums

So I guess the crash itself crashed or something. Will see if I can reproduce it.

One thing in common between both crashes as recall (could be recalling the first crash wrong) is I think both occurred after a certain char who I dont have training reports a skill completed that was likely completed 5 years ago and then I click on the char tab with intent to close out the message on the char so it will not keep popping up on windows notifications. But upon selecting the char tab I know triggered this recent crash and seems something similar triggered the first one. Knowing this I will keep an eye out for this char completing some skill I know he has already done long ago and see if it causes the crash again of if there is some other common demonstrator involved.
The char in question is a corp holding char and only ever trained one skill in his life and that is corp management. If I remember right the skill it says was completed was Navigation III which is a skill he was born with.
Well that is as much info as I can manageā€¦maybe others see same oddity and can help out with more info. I suspect the crash will happen again for me in a few days time or it may not happen a 3rd time.

This could be the same issue that was reported 15 posts earlier. Some recent improvements to the skills/queue import look like they cause that crash if the queue contained some weird information like a skill that had more sp trained than what is Max for that level.
I made a pull request to try and fix it, but Peter Han has been busy the last week or so, and hasnā€™t had time to look at it yet.