When `isAuthed()` is called and the password cookie is not what we
expected, the failed login attempt is logged with the provided password,
remote address and user agent.
To allow for logging failed attempts with a reverse proxy, the
`--trust-proxy` argument has been added to trust the `X-Forwarded-For`
header. This implementation of an `X-Forwarded-For` parser uses the last
value in the list, therefore only trusting the nearest proxy.
This is to match how the other binaries are built. Also made some
changes to make the Docker containers clean up for when you are running
this locally.
Since there is no other way to enable hidden files, it seems better to
enable it by default otherwise there are some folders/files you simply
can never open from the dialog.
* Set NODE_ENV and VERSION when building
Should fix the version flag not reporting correctly as well as enable
the service worker and prevent the 404 hmr requests again.
* Log env vars
To help make sure it's built correctly when looking at the Travis logs.
Since this will be a path in the binary that we don't want to create on
the user's system. I also removed the option to override it; it doesn't
seem like a great idea since you'd always want those builtin extensions.
This way we also don't have to check if the option was passed and only
create it if that was the case.
This isn't a real error event; we artificially emit it just in case
something waiting to start is listening to the error event in order to
clean up and/or restart.
* Allow setting paths for builtin exts and extra dirs
The extra directories aren't used yet, just available from the
environment service and to the shared process.
* Utilize extra builtin extensions path
* Utilize extra extensions directory
* Fix cached mtimes for extra extension dirs
* Simplify extension cache equality check
* Implement write/read buffers in electron fill
This makes cutting and copy files from the file tree work.
* Implement fs.createReadStream
This is used by the file tree to copy files.
* Allow passing proxies back from client to server
This makes things like piping streams possible.
* Synchronously bind to proxy events
This eliminates any chance whatsoever of missing events due to binding
too late.
* Make it possible to bind some events on demand
* Add some protocol documentation