-
Notifications
You must be signed in to change notification settings - Fork 6.4k
Fixes issue #7544 which adding a cookie-suffix flag #7590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Timon-D3v
wants to merge
3
commits into
coder:main
Choose a base branch
from
Timon-D3v:fix-issue-subdomains-use-same-password-as-domain-7544
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+22
−9
Open
Changes from 1 commit
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pulls off the environment variable, but if someone sets
--cookie-suffixthen this will not pick up anything since it is on the flag and not in the env.What if we made this a function? Something like:
And then where we need it we can call it like:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, yeah your right... I somehow thought this would adress that (but it is the other way around XD):
But I dont quite get what you want to do with the function.
Do you want to do something like this:
Or more like this:
Because from what I understand, it seems like you want to do something like the first example which does not make a lot of sense to me. This should be set one time at start up and then not be changed and also a function would mean that you had to replace every call to this to a function.
Lastly, how could i get the cli-arguments? Is there also something like
process.cliArgsor a variabel that i have to import from somewhere?Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup the second one, exactly.
So we would end up with a function like:
And we could call it like:
in place of
CookieKeys.SessionThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh and to answer the second question, the arguments are placed on the request, there is no global for them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ohh ok, that makes perfect sense to use it on req. But then we really cannot initialize it on startup but have to call the
on every request. Don't you think that is suboptimal or is there plain no other way?
To clarify what I understand is that you would make it like this:
And then you would call it when needed in node/http.ts:
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Personally I think there is no need to embed it in
CookieKeys, we only ever have the one cookie name, so I am not sure we why even had it as an enum before.The overhead from this is probably so minuscule it may not even be possible to measure it. But, we could instead calculate it once and pass it through using the request.
We could add
cookieSessionName: stringhere:code-server/src/node/http.ts
Lines 38 to 43 in 472bf8a
And then here we could calculate the name in a const and attach it to the request like we do with the other variables here:
code-server/src/node/routes/index.ts
Lines 62 to 80 in 472bf8a
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes a ton of sense to me now. Also i didn't understand that you wanted to get rid of the
CookieKeysbut now all you answers are clear to me.I also think it would not make a big difference but since it takes so long to load (even if it is faster when built) I think it does not hurt to do it that way.
Do you agree? If so I would start to work on it :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup that sounds good to me!