Commit Graph
911 Commits
Author SHA1 Message Date
Hornwitser 84f48e36f4 Improve error reporting at startup
Add StartupError that differentiates unhandled errors from errors with
known causes and use it to only print the "please report" banner when an
unhandled error occurs.

Also makes the error reporting more visible in the console.
2019-09-01 23:24:32 +02:00
Hornwitser 6ee84c41bf Add development branch notice
Add notice to the top of README.md stating this is the development
branch for 2.0 and that the 1.2.x branch should be used for production
systems.
2019-08-30 19:34:23 +02:00
Arvids Godjuks ef66ab37da Merge pull request #218 from Hornwitser/remove-remanent-remotemap
Remove remanent remoteMap code
2019-08-29 14:36:51 +02:00
Hornwitser b73b202513 Remove remanent remoteMap code
Remove remoteMap specific code left behind after the removal of the
remoteMap plugin in 6415784.  The plugin interface should be versatile
enough to allow all of this code to reside inside the plugin itself.
2019-08-29 11:38:57 +02:00
Arvids Godjuks 5d28718175 Merge pull request #215 from Hornwitser/various-fixes
Various unrelated fixes and improvements
2019-08-24 16:36:26 +02:00
Hornwitser 3b08b73c37 Remove unused function parseJsString
Remove unused and dangerous parseJsString function from
inventoryImports.
2019-08-24 11:55:19 +02:00
Hornwitser 9c9b4463a4 Fix nested headers in static/nodes
Fix instance names being nested in both h2 and h5 headers, which is not
allowed in html.
2019-08-24 11:35:57 +02:00
Hornwitser fb2519cb50 Add fast-test and fast-cover npm scripts
Add alternate test and coverage scripts that skips tests that are slow.
2019-08-24 11:25:40 +02:00
Hornwitser 5a9e2a8825 Fix inventoryImports/interfacingFunctions test
Fix test in inventoryImports/interfacingFunctions breaking due to
masterAuthSecret not being defined in the config.
2019-08-24 11:25:40 +02:00
Hornwitser a39a17b220 Throw Error objects in inventoryImports/interfacingFunctions
Change throwing of strings objcts to throw proper Error objects.
2019-08-24 11:25:40 +02:00
Hornwitser 940a7b9180 Refactor getFactorioLocale spec
Fix the incorrect error validation, be more lenient about empty values
and convert the checks to use async functions instead of error prone
callbacks.

Remove excessive getFactorioLocale checks in master.spec.
2019-08-24 11:25:40 +02:00
Hornwitser ab2a377ca5 Remove Prometheus pushgateway code
Remove code pushing metrics to a hardcoded Prometheus pushgateway that
is no longer in operation.  There's no point supporting the use of a
pushgateway as there's already a full client implemented and since the
master server is not ephemeral or batch job it shouldn't be using a
pushgateway in the first place.
2019-08-24 11:25:40 +02:00
Hornwitser ea2f291025 Remove reference to old authentication scheme
Remove long comment and commented out code about an old sanity check in
/api/place.
2019-08-24 11:25:40 +02:00
Hornwitser 3e80e40223 Move database and masterMods folder creation
Move the code creating the database and masterMods folders into the
startServer function in master.js.
2019-08-24 11:25:39 +02:00
Hornwitser ed54db0db9 Handle errors during master startup
Print a message urging unhandled exceptions thrown by startup to be
reported to the GitHub issue tracker and initiate shutdown.
2019-08-24 11:09:01 +02:00
Hornwitser 7dcd46a99a Add .vs to .gitignore
Prevent Visual Studio workspace files from getting accidentally added to
the project.
2019-08-24 11:04:58 +02:00
Hornwitser 0d4ad2f075 Fix global leaks detected by mocha
Fix globals leaked in stringUtils, isJson and static/nav.html.
2019-08-24 11:02:50 +02:00
Hornwitser 0a9ddef120 Check for globals leaking during test
Add --check-leaks to mocha to have it report globals that leak during
the testing.
2019-08-24 11:02:50 +02:00
Hornwitser 38462d3069 Set User-Agent according to GitHub's request
GitHub requests that the user agent be set to either the name of the
user or the application[1].  Set user agent to the name of this
application as they request.

[1] https://developer.github.com/v3/#user-agent-required
2019-08-24 11:02:50 +02:00
Hornwitser 0398bd10f8 Remove debug code
Remove debug switch and console.log guarded by it to log every post
request to /api/getId as it's not needed.
2019-08-24 11:02:50 +02:00
Arvids Godjuks 55164cc48f Merge pull request #213 from Hornwitser/ssl-gen-refactor
Refactor SSL certificate creation
2019-08-23 17:44:07 +02:00
Hornwitser 44b7d0aa19 Refactor SSL certificate creation
Rewrite the generateSSLcert lib to be async, use the sslCert and
sslPrivKey config entries and invoke it only if needed during master
server startup instead of in the post install script.  Also add note to
the changelog covering both this and the fix in c645fac.
2019-08-23 17:24:39 +02:00
Arvids Godjuks cc87654742 Merge pull request #212 from Hornwitser/revert-nonsense
Revert "Use old doledivision as default, new NN based dole is optional"
2019-08-23 17:04:20 +02:00
Hornwitser ec7a93c14f Revert "Use old doledivision as default, new NN based dole is optional"
Revert nonsensical commit 2ef6c93b05
adding personal Visual Studio workspace files.
2019-08-23 16:51:14 +02:00
Arvids Godjuks ca03bed8b7 Merge pull request #211 from clusterio/Remove-hardcoded-paths
Replace hardcoded paths with paths from the config
2019-08-23 15:41:58 +02:00
Arvids Godjuks 88739a952a Merge pull request #210 from Hornwitser/update-node
Update Node.js and dependencies
2019-08-23 15:39:41 +02:00
TheAIBot c645fac3de Replace hardcoded paths with paths from the config 2019-08-23 15:08:20 +02:00
Hornwitser c1699fe33d Update dependencies
Update old dependencies.  Fix change in mocha causing it to not exist
afer the tests are done and a change in the command parsing causing the
tests to no longer be detected.
2019-08-23 14:51:10 +02:00
Hornwitser 69a1ff7817 Use Node.js version 10
Update instructions, Dockerfile and Travis CI to use Node.js 10.
Specify that Node.js version 10 or greater is needed in the engines
section of package.json (note that this is only advisory.)  And document
this as a breaking change in CHANGELOG.md.
2019-08-23 14:50:22 +02:00
Arvids Godjuks e4386d57e8 Merge pull request #209 from Hornwitser/cleanup-travis
Cleanup travis and coverage script
2019-08-23 14:42:07 +02:00
Hornwitser bfa8a99daa Cleanup travis and coverage script
Do not install git, tar and curl as these packages are installed by
default on Travis CI.  Move the codecov upload to the travis script and
do not include the codecov token as it's not needed when uploaded from
Travis CI.  Make the cover npm script into something that can be runned
locally and move the Travis CI version to a new ci-cover script.  Remove
the verbose flag from the tar extration of the factorio headless server.
2019-08-23 14:17:56 +02:00
Arvids Godjuks d72bcbdf01 Merge pull request #204 from Hornwitser/refactor-master
Refactor master to fix unit tests
2019-08-23 14:45:47 +03:00
Hornwitser 71c07fa527 Change GitHub references (#205)
Change references to Danielv123/factorioClusterio on GitHub to
clusterio/factorioClusterio.
2019-08-21 23:18:17 +02:00
Hornwitser 8898e923de Fix travis test integration
Add config.json.test as the the config for running the tests on travis
and add script command to copy it to config.json there.  Should fix the
unit test for master failing at loading the config.
2019-08-21 12:43:09 +02:00
Hornwitser a3fc1dda8c Refactor master.js
Move server initialization code to startServer and call it only when
master.js is being runned directly.  Also refactor the server listen
step to work properly when https is configured and only listen after
plugins have completed loading.

Remove the async function wrapper around the master.js code.  This is
just dumb and makes the code untestable.
2019-08-21 12:43:09 +02:00
Hornwitser a828f50e57 Refactor master.spec.js
Ensure exceptions are properly passed down to the unit test framework
with promises, check the return status of requests, use config to
generate an access token, reduce code duplication and reformat to be
consistent.
2019-08-21 12:43:09 +02:00
Hornwitser 442472e412 Actually fix masterPlugins visibility
The masterPlugins array should not be a global.  The ejs templates
already have it provided through locals.masterPlugins and plugins get it
through onLoadFinish.  Make masterPlugins local to master.js again and
fix the ejs templates to use locals.masterPlugins.
2019-08-21 12:43:09 +02:00
Godmave 3f2bd2653e #update to new hotpatch (#203)
- fixes freeplay scenario
- fixes that clicking the admin gui border kills the server
1.2.0
2019-08-10 11:31:03 +02:00
Godmave 5bbd879f34 Merge pull request #199 from Hornwitser/fix-getinstances
Fix broken require in lib/getInstances.js
2019-08-09 11:36:48 +02:00
Hornwitser 81aa2141b9 Fix broken require in lib/getInstances.js
The require change in f76c84c for lib/getInstances.js accidentally left
out the lib/ prefix causing it to break.
2019-08-09 11:06:48 +02:00
Arvids Godjuks 9c108dd4dd Merge pull request #197 from Hornwitser/remove-remotemap
Remove outdated remoteMap
2019-08-07 17:55:25 +03:00
Hornwitser 6415784e8a Remove outdated remoteMap
Remove the old and outdated remoteMap plugin.  Also removes the
directory for linvodb in databases and the troubleshooting step related
to linvodb.
2019-08-07 16:03:51 +02:00
Arvids Godjuks 206f3db042 Merge pull request #195 from Hornwitser/cover-fix
Fix the coverage and test scripts
2019-08-07 16:42:00 +03:00
Hornwitser fb28693dec Disable remoteMap tests
Disable the tests for the old and outdated remoteMap plugin as it breaks
the whole testing harness due to the linvodb3 dependency being missing.
2019-08-07 15:23:25 +02:00
Hornwitser 79ff52aa20 Replace istanbul with nyc
Use nyc instead of istanbul as the later has been deprecated and is no
longer being developed.  Fix the cover and test scripts to work again
with nyc and add the output dir for nyc into .gitignore.
2019-08-07 15:21:30 +02:00
Arvids Godjuks cb4616f47c Merge pull request #194 from Hornwitser/slim
Removing unused or excessive dependencies
2019-08-07 14:20:56 +03:00
Hornwitser bc7f3804c8 Remove right-pad
Remove unused dependency right-pad.
2019-08-07 10:18:14 +02:00
Hornwitser a452749caa Remove app-root-path
Resolve the relative path using path.relative instead of some hacky
string substitutions.
2019-08-07 10:18:14 +02:00
Hornwitser 1e8fb85122 Remove bcryptjs
Remove unused dependency bcryptjs.
2019-08-07 10:18:14 +02:00
Hornwitser 66c0238a3d Remove undescore
A 50 kb library is not needed to make a function run once, especially
not when it doesn't work.  _.once does not modify the function passed to
it to only run once it returns a new function that only runs once.
Since the result of once was discarded, it had no effect.

Remove underscore and implement instanceManagement running once properly
with 3 lines of code.
2019-08-07 10:18:14 +02:00