Release Elite Dangerous Market Connector (EDMC)

Hi and many thanks for this great tool (y)

NB: Of course 4.1.5 or earlier is going to hang during shutdown (if you have 'Send flight log and Cmdr status to EDSM' active) when upgrading from it to 4.1.6 whilst EDSM is down.

You'll just need to

  1. wait for the install to otherwise finish
  2. close the popup from 4.1.6 saying "An EDMarketConnector.exe process was already running, exiting."
  3. force-kill the old process (just clicking on the window and waiting for Windows to ask if you want to close it, and doing so, is enough).
  4. Re-run EDMarketConnector.exe

I don't know what I missed but it seems EDMC uninstalled without updating so I could not "re-run" it at the end. I downloaded the last version, launched the msi, a quick progression bar appears ... then nothing ( I don't remember if I tried to run EDMC at this moment ). I rebooted the PC and now all is working ( with edsm and inara API key still there ).

Again, thanks for this great tool (y)
 
Hi, great tool which I use in conjunction with the Canonn plugin.

I've just updated to the latest version and can no longer resize the window, is this intended?
 
Hi, great tool which I use in conjunction with the Canonn plugin.

I've just updated to the latest version and can no longer resize the window, is this intended?
Are you using other than the Default theme? Only it has the 'handles' for resizing the width. Height is always determined by the default UI plus whatever plugins add. There's an issue open for trying to fix the other two themes.
 
Are you using other than the Default theme? Only it has the 'handles' for resizing the width. Height is always determined by the default UI plus whatever plugins add. There's an issue open for trying to fix the other two themes.

That was it, thanks for the quick reply.

I use the Dark theme but hadn't noticed the absence of the handles as I set the size I wanted long before I switched. Only became apparent after the update as it reverted back to the smaller size.
 
I have a couple of questions regarding the use of EDMC, which is an awesome tool, thank you, whilst EDSM is down for maintenance.

I have the option 'Send flight log and CMDR status to EDSM' enabled and I assume that feature will not work whilst EDSM is down. Should I not run EDMC whilst EDSM is down or should I continue running it whilst playing Elite?

When EDSM comes back online will EDMC send the un-sent journals/logs to EDSM or will I have to manually upload the Journals to EDSM (I believe there is an option to drag/drop Journals to the website).

Many thanks.
 
I have the option 'Send flight log and CMDR status to EDSM' enabled and I assume that feature will not work whilst EDSM is down. Should I not run EDMC whilst EDSM is down or should I continue running it whilst playing Elite?
There's no harm in running EDMC whilst EDSM is down. Just the caveat with what we fixed in 4.1.6.
When EDSM comes back online will EDMC send the un-sent journals/logs to EDSM or will I have to manually upload the Journals to EDSM (I believe there is an option to drag/drop Journals to the website).
No, EDMC does no processing of past data for sending to other sites. The only thing it does at startup is run through the latest Journal file in order to get some internal state set up to continue on from that point in real-time. You should utilise the EDSM option to upload Journals to fill in the gap.
 
There's no harm in running EDMC whilst EDSM is down. Just the caveat with what we fixed in 4.1.6.

No, EDMC does no processing of past data for sending to other sites. The only thing it does at startup is run through the latest Journal file in order to get some internal state set up to continue on from that point in real-time. You should utilise the EDSM option to upload Journals to fill in the gap.
Thanks, that's very useful to know. (y)
 
We've been made aware of an issue with the old 3.4.3.0/3.43 version (the last one that Marginal released) when checking for an update. It finds that there's a new version, but then crashes shortly after trying to offer it to the user (the changelog pane is blank and the entire window, along with the EDMarketConnector.exe process, disappears 2-3 seconds later).

For now we're advising all 3.4.3.0 users (who want to update, if you have any third-party plugins they'll likely need updating to work with 4.x versions) to follow the procedure outlined in this EDMC wiki Troubleshooting page. You really do want to update to the 4.x series, else you're missing out on all sorts of bug fixes and enhancements.

As per #804 - Update from 3.4.3.0/3.43 doesn't work I've contacted Marginal to see if he can change the redirect of the old update URL to point to a file I can directly control (rather than to the live GitHub one, where edits will affect all EDMC users). If he enacts that change then I'll experiment to see if changing the contents of the file will allow 3.4.3.0 to update.
I've just performed an experiment with the 'updates' file. I'm sure most users don't read the changelog that's presented when the automatic updater offers a new version, and certainly not all the change logs for all the previous versions back to 3.0.

So, I removed everything except the most recent changelogs (the warning in the MacOS section about no longer doing builds, and all but 4.1.6 for Windows). Removed EDMC 4.1.6, installed 3.4.3.0 again, and ...

It only bloody worked. 3.4.3.0 detected the upgrade to 4.1.6, offered it to me, didn't crash when showing the changelog, and then correctly performed the upgrade. So hopefully we'll now reduce the holdouts on all pre-4.0.0.0 versions :) .
 
Hello Athan,
I have to report an issue with the EDMC.exe output for a shipyard of a station. Here is the error when using the -s parameter:
Unbenannt.JPG

The station have a shipyard containing 15 ships.
 
Last edited:
Hello Athan,
I have to report an issue with the EDMC.exe output for a shipyard of a station. Here is the error when using the -s parameter:
View attachment 207653
The station have a shipyard containing 15 ships.
1. It's much more useful to make bug reports over on GitHub, where you'll be prompted to include things like log files.
2. Please run EDMC.exe -d <file> for this case and also supply that output file as part of the bug report. Either the CAPI data is not reporting the shipyard list, or we have a bug. Either way this file will allow us to test locally.
 
1. It's much more useful to make bug reports over on GitHub, where you'll be prompted to include things like log files.
2. Please run EDMC.exe -d <file> for this case and also supply that output file as part of the bug report. Either the CAPI data is not reporting the shipyard list, or we have a bug. Either way this file will allow us to test locally.
Will do so and in the future. Was awhile ago using GitHub in case of login, had to create a new account.
Report displays any minute. File looking good. Here is the link to the report: https://github.com/EDCD/EDMarketConnector/issues/868
 
Continuing on from the work in 4.1.7-rc1 I've just put out...

Pre-Release 4.2.0-beta1

NB: This contains further work on top of 4.1.7-rc1. Due to the major change in how multiple-instance checking is done we felt the need to bump the minor version.

There is a major change in this release with respect to how the main application checks if there is already another instance running.

For most users things will operate no differently, although note that the multiple instance check does now apply to platforms other than Windows.

For anyone wanting to run multiple instances of the program this is now possible via:

runas /user:OTHERUSER <path to>EDMarketConnector.exe --force-localserver-for-auth

The old check was based solely on there being a window present with the title we expect. This prevented using runas /user:SOMEUSER ... to run a second copy of the application, as the resulting window would still be within the same desktop environment and thus be found in the check.

The new method does assume that the Journals directory is writable by the user we're running as. This might not be true in the case of sharing the file system to another host in a read-only manner. If we fail to open the lock file read-write then the application aborts the checks and will simply continue running as normal.

Note that any single instance of EDMarketConnector.exe will still only monitor and act upon the latest Journal file in the configured location. If you run Elite Dangerous for another Commander then the application will want to start monitoring that separate Commander. See wiki:Troubleshooting#i-run-two-instances-of-ed-simultaneously-but-i-cant-run-two-instances-of-edmc which will be updated when this change is in a full release.

  • Changes the "is there another process already running?" check to be based on a lockfile in the configured Journals directory. The name of this file is edmc-journal-lock.txt and upon successful locking it will contain text like:
    Path: <configured path to your Journals>
    PID: <process ID of the application>

    The lock will be released and applied to the new directory if you change it via Settings > Configuration. If the new location is already locked you'll get a 'Retry/Ignore?' pop-up.
  • Adds the command-line argument --force-localserver-for-auth. This forces using a local webserver for the Frontier Auth callback. This should be used when running multiple instances of the application for all instances else there's no guarantee of the edmc:// protocol callback reaching the correct process and Frontier Auth will fail.
  • Adds Steam and Epic to the list of "audiences" in the Frontier Auth callout so that you can authorise using those accounts, rather than their associated Frontier Account details.
  • Adds the command-line argument --suppress-dupe-process-popup to exit without showing the warning popup in the case that EDMarketConnector found another process already running.
    This can be useful if wanting to blindly run both EDMC and the game from a batch file or similar.
 
And, wouldn't you know it, I managed to not include the code to expand Frontier Authentication to Steam and Epic accounts.

Pre-Release 4.2.0-beta2

This release actually includes the commits to enable Steam and Epic authentication.
NB: The correct form for the runas command is as follows:

runas /user:<USER> "\"c:\Program Files (x86)\EDMarketConnector\EDMarketConnector.exe\" --force-localserver-for-auth"

If anything has messed with the backslash characters there then know that you need to have " (double-quote) around the entire command (path to program .exe and any extra arguments), and as a result need to place a backslash before any double-quote characters in the command (such as around the space-including path to the program).
I've verified it renders correctly on GitHub.
 
A heads up about upcoming releases

As someone just asked about the next release on Discord, here's the current plan.

As no-one has reported any bugs with 4.2.0-beta3 I'll almost certainly be releasing 4.2.0 tomorrow for everyone to update to. See the changelogs above for what's in it.

After that work will concentrate on a 5.0.0-betaX series. I'll put out the first some time next week. This is going to be based off the current "develop" branch which includes a lot of code cleanup and a couple of new features. Then when the Odyssey alpha drops, along with documentation on any Journal and related changes, we'll start work on any additions or tweaks necessary to support that. That will then come out as addtional 5.0.0-betaX pre-releases.

It's probable (indeed we'll take every care about this) that those versions will also work fine against the current live version of the game, in which case you might see a 5.0.0 release before Odyssey itself goes live. If that is indeed the case, but then we get further Odyssey testing and/or tweaks to Journal etc for it, we'll put any EDMC updates into a subsequent beta series (which will be, e.g. 5.0.1-betaX or 5.1.0-betaX, as appropriate).
 

Release 4.2.0

This release increases the Minor version due to the major change in how multiple-instance checking is done.

  • Adds Steam and Epic to the list of "audiences" in the Frontier Auth callout so that you can authorise using those accounts, rather than their associated Frontier Account details.
  • New status message "CAPI: No commander data returned" if a /profile request has no commander in the returned data. This can happen if you literally haven't yet created a Commander on the account. Previously you'd get a confusing 'commander' message shown.
  • Changes the "is there another process already running?" check to be based on a lockfile in the configured Journals directory. The name of this file is edmc-journal-lock.txt and upon successful locking it will contain text like:
    Path: <configured path to your Journals>
    PID: <process ID of the application>

    The lock will be released and applied to the new directory if you change it via Settings > Configuration. If the new location is already locked you'll get a 'Retry/Ignore?' pop-up.
    For most users things will operate no differently, although note that the multiple instance check does now apply to platforms other than Windows.
    For anyone wanting to run multiple instances of the program this is now possible via:
    runas /user:<USER> "\\"c:\\Program Files (x86)\\EDMarketConnector\\EDMarketConnector.exe\\" --force-localserver-for-auth"
    If anything has messed with the backslash characters there then know that you need to have " (double-quote) around the entire command (path to program .exe and any extra arguments), and as a result need to place a backslash before any double-quote characters in the command (such as around the space-including path to the program).
    I've verified it renders correctly on GitHub.
    The old check was based solely on there being a window present with the title we expect. This prevented using runas /user:SOMEUSER ... to run a second copy of the application, as the resulting window would still be within the same desktop environment and thus be found in the check.
    The new method does assume that the Journals directory is writable by the user we're running as. This might not be true in the case of sharing the file system to another host in a read-only manner. If we fail to open the lock file read-write then the application aborts the checks and will simply continue running as normal.
    Note that any single instance of EDMarketConnector.exe will still only monitor and act upon the latest Journal file in the configured location. If you run Elite Dangerous for another Commander then the application will want to start monitoring that separate Commander. See wiki:Troubleshooting#i-run-two-instances-of-ed-simultaneously-but-i-cant-run-two-instances-of-edmc which will be updated when this change is in a full release.
  • Adds the command-line argument --force-localserver-for-auth. This forces using a local webserver for the Frontier Auth callback. This should be used when running multiple instances of the application for all instances else there's no guarantee of the edmc:// protocol callback reaching the correct process and Frontier Auth will fail.
  • Adds the command-line argument --suppress-dupe-process-popup to exit without showing the warning popup in the case that EDMarketConnector found another process already running.
    This can be useful if wanting to blindly run both EDMC and the game from a batch file or similar.
 
Anyone not napping may well already know that there's now ...

Release 4.2.1

This is a bug-fix release.
  • Updated translations. Thanks once again to all those contributing as per Translations.
  • PLUGINS.md: Clarify when CargoJSON is populated.
  • macOS: pip install -r requirements.txt will now include pyobjc so that running this application works at all. Check the updated Running from source for some advice if attempting to run on macOS.
  • JournalLock: Handle when the Journal directory isn't set at all, rather than erroring. Fixes #910 - Not launching (Linux).
  • Extra logging added to track down cause of #909 - Authentication not possible (PC) . The debug log file might now indicate what's wrong, or we might need you to run
    "c:\Program Files (x86)\EDMarketConnector\EDMarketConnector.exe" --trace

    in order to increase the log level and gather some extra information. Caution is advised if sharing a --trace log file as it will now contain some of the actual auth data returned from Frontier.
  • Ensure that 'Save Raw Data' will work. Fixes #908 - Raw export of CAPI data broken.
  • Prevent EDDN plugin from erroring when we determine if the commander has Horizons. Fixes #907 - Modules is a list not a dict on damaged stations
 

Release 4.2.2

This release contains a minor bug-fix, actually properly checking a station's ships list before operating on it.

  • Check that ships['shipuard_list'] is a dict before trying to use .values() on it. This fixes the issue with seeing list object has no attribute values in the application status line.
 
Top Bottom