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: 126.96.36.19969 .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
, 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.