Commit Graph
65 Commits
Author SHA1 Message Date
Asher 288e794c99 Update locale file location
Should make language packs work again.
2020-02-20 12:52:23 -06:00
Asher c567a06ff5 Fix HTTPS redirects and TLS sockets
It still won't work behind a base path, but if you're using a reverse
proxy you can just redirect to HTTPS yourself. And should probably
handle TLS termination there too.

For sockets I just needed to add back the proxy call.
2020-02-19 17:59:12 -06:00
Asher 51a5c77cb8 Add binary extraction
I temporarily removed this during the refactor so it needed to be added
back. This time I bundled it with the nbin loader code since it's all
related (will also make it easier to remove).
2020-02-19 14:15:01 -06:00
Asher 80b2d9481f Don't display stack trace for cli parse failures
Just display the error message and exit. The stack trace isn't necessary
(since it's likely user error) and is potentially confusing.
2020-02-19 11:15:39 -06:00
Asher 0e2eaa9b34 Add valid values for --log 2020-02-19 11:11:29 -06:00
Asher 0263188431 Handle --long=value format in the cli parser 2020-02-19 10:54:23 -06:00
Asher 46d6e17508 Prepare for release
- Add VS Code icon
- Trim dashboard to just display dedicated VS Code section
- Version was getting unset during build
- Add back nbin shim which I temporarily took out earlier
- Update tests for log level env var changes
2020-02-18 17:31:23 -06:00
Asher 8793110941 Implement endpoint for getting recent directories 2020-02-18 14:13:22 -06:00
Asher f6b092b12d Merge branch 'restructure' 2020-02-18 13:30:37 -06:00
Asher d47591e253 Inject base path into manifest
Might fix #1181, although not for the reasons I initially
thought (because the URLs are resolved from the manifest path, not the
path of the current page). This should ensure that the URLs used by the
manifest are always correct regardless of the manifest's path.
2020-02-18 13:01:18 -06:00
Asher 39a57700bc Enable access to vscode cli 2020-02-18 12:24:12 -06:00
Anmol Sethi 1a54f6b7ef Merge remote-tracking branch 'origin/restructure' into anmol-restructure 2020-02-18 12:52:29 -05:00
Anmol Sethi 4aa15401c3 Format and lint 2020-02-14 20:00:19 -05:00
Asher 0ec83f8736 Check updates daily instead of every time
Also add a way to force a check.
2020-02-14 16:46:22 -06:00
Asher db54f78e8e Implement automatic updates 2020-02-14 15:58:39 -06:00
Asher b8fa7da972 Simplify frontend
Just a login form and a list of applications. No modals or anything like
that.
2020-02-13 20:10:14 -06:00
Asher bf1be16d11 Fix base path
Now it should work whether you have a trailing slash or not.
2020-02-13 12:41:58 -06:00
Asher cc79edb312 Fix duplicate files opening with folder parameter
Reworked from d574012871 to fit in the
new structure.
2020-02-13 12:04:22 -06:00
Asher 5baf16622f Fix VS Code product configuration not loading 2020-02-07 16:47:51 -06:00
Asher 256419004d Implement cli parser 2020-02-07 14:43:08 -06:00
Asher 26f8216ec8 Un-nest a switch 2020-02-06 14:00:38 -06:00
Asher 63f3c04c57 Move user data directory logic out of patch 2020-02-06 13:12:00 -06:00
Asher 8a0f1d846e Move start path logic out of patch and fix it 2020-02-06 12:29:38 -06:00
Asher 6cebfa469d Generalize initial app logic 2020-02-05 18:47:00 -06:00
Asher 205775ac97 Only serve HTML on specific index.html requests
Otherwise there is risk of an infinite loop through the iframe where the
fallback keeps loading the root HTML which itself has an iframe...
2020-02-05 17:45:24 -06:00
Asher 4cc181cedc Make routing base path agnostic 2020-02-05 17:38:21 -06:00
Asher 6e809b6a31 Handle when VS Code fails to load
This is mostly for development where VS Code might not have finished
compiling yet.
2020-02-05 14:23:42 -06:00
Asher 8cc11d1688 Improve routing 2020-02-05 13:07:07 -06:00
Asher dbc5c065f8 Improve HTTP provider registration 2020-02-04 16:55:27 -06:00
Asher b30aefcfb1 Add linting steps and improve testing steps 2020-02-04 15:42:55 -06:00
Asher b29346ecdf Implement new structure 2020-02-04 14:31:44 -06:00
Asher e2d354c8f2 Move manifest icon to the root as well 2020-01-16 12:11:56 -06:00
Asher 7c178805ea Add comment about the manifest's served location
Also for #1278.
2020-01-16 11:44:17 -06:00
Asher 45f70e741f Move manifest to the root
Fixes #1278.
2020-01-16 11:36:17 -06:00
Asher e6d1f2a7c8 Update VS Code to 1.41.0 2019-12-16 16:52:29 -06:00
Asher e14362f322 Pass along Node options 2019-11-14 17:20:23 -06:00
Asher 2018024810 Hash password
Fixes issues with unexpected characters breaking things when setting the
cookie (like semicolons).

This change as-is does not affect the security of code-server
itself (we've just replaced the static password with a static hash) but
if we were to add a salt in the future it would let us invalidate keys
by rehashing with a new salt which could be handy.
2019-11-07 15:57:57 -06:00
Asher a1d6bcb8e5 Handle cookies more robustly
If you visit /login/ instead of /login the cookie will be set at /login
instead of / which means the cookie can't be read at the root. It will
redirect to the login page which *can* read the cookie at /login and
redirect back resulting in an infinite loop.

The previous solution relied on setting the cookie at / (any invalid
value works) which then overrode the login page cookie since
parseCookies only kept a single value. So the login page would see the
same cookie the root was seeing and not redirect back. However, that
behavior depends on the cookies being in the right order which I'm not
sure is guaranteed.

This new method tests all available cookies and always sets the cookie
so the root path will be able to read it in case the login page is
seeing a cookie the root can't.

It also goes a step further and explicitly sets the path on the cookie
which fixes the case where there is a permanent misconfiguration
redirecting /login to /login/. Otherwise the cookie would continually be
set on /login only and you'd have another loop. It also means you only
need to delete one cookie to log out.

Lastly add some properties to make the cookies a bit more secure.
2019-11-07 13:36:18 -06:00
ecrode 727ac6483b Clear password when redirecting to login
Should prevent endless redirects when the cookie is set on a different path or domain (like with a dot prefix).
2019-11-07 11:38:10 -06:00
Asher af71203955 Fix relaunching during an update 2019-11-01 10:51:23 -05:00
Asher fc3acfabb2 Fix update check 2019-10-30 17:35:50 -05:00
Asher 73cf8f34e3 Fix outgoing scheme transformation
Accidentally used local instead of remote.

Fixes #1127.
2019-10-30 10:32:57 -05:00
Asher 87485948ad Kill inner process if parent process dies
Fixes #1076.
2019-10-29 14:43:27 -05:00
Asher 2f0878d9b7 Revert remote scheme change
It doesn't show in the explorer anymore so there's no point. Also remove
the local scheme transform which is no longer required with the latest
client-side extension implementation.
2019-10-29 11:26:50 -05:00
Asher e22964915a Support opening workspaces from command line
Partly addresses #1121.
2019-10-28 16:25:51 -05:00
Asher 422503ef98 Proxy child exit code when exiting parent process
This fixes code-server exiting with zero on errors.
2019-10-28 14:57:01 -05:00
Asher ea36345d2c Allow fetching any resource
Fixes #1118.
2019-10-28 14:29:51 -05:00
Asher a89d83cbba Fix other incorrect usages of split 2019-10-28 14:03:13 -05:00
Asher 83ff31b620 Fix passwords that contain =
Fixes #1119.

Apparently `split` does not work the way I'd expect.
2019-10-28 13:47:31 -05:00
Asher 3a9b032c72 Add heartbeat file (#1115)
Fixes #1050.
2019-10-28 09:59:34 -05:00