-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Allow user
setttings to persist on server (and/or browser local storage)
#6546
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
Comments
In response to the comments after #3061 (comment)
What do you guys think? |
user
setttings to persist on server (and browser local storage)user
setttings to persist on server (and/or browser local storage)
@spkane Regarding
Correct. The 'Workspace Trust' feature can only be disabled in 'User Settings' – the same applies to telemetry settings. What are the reasons for disabling such a security feature by default? (Should the 'local storage' patch be removed, I might do so as well; I run code-server isolated in a container). code-server --help
|
@bilogic My feedback about your use case:
Frankly, this [a script that overwrites them regularly] is bad practise. |
@bilogic About your proposed behavior A:
My response:
|
@bilogic What do I think?
Permission controls? IMHO there is only one exception: If a user deletes a setting1 (or the whole file), e.g. by accident, it may be reinstated.
What locations exactly do Footnotes
|
I think we come from very different angles, mine mainly being business continuity. But I see a way to fulfil everyone's needs and I'm hoping we can move in that direction. |
If
then @bilogic
@code-asher Does a new option to switch between the two behaviours (current: |
I can't seem to find the docs for |
https://coder.com/docs/code-server/latest/FAQ#how-does-the-config-file-work
See #6546 (comment) |
@code-asher Regarding
Minor bump would be fine, too.
👍 |
This would be my proposal, the description should use the first option as the default, and default ought to be chosen by the maintainers to minimize support questions from new users to them or based on considerations to ease maintainence. |
@bilogic |
My proposal:
@code-asher A new option to switch between the two behaviours (current: |
@spkane Are there other settings you suspect not allowed to be set by any settings layer besides the You may test at https://coder.jupyter.b-data.ch |
@benz0li thanks! I agree |
Final thought: On second thought, a default setting of Footnotes
|
Sure we can follow other projects, but I feel that the main consideration should always be the amount of support/follow-up, aka impact, that decision incurs. Maintainers probably know their user base best. |
I'm probably not going to be able to test this until sometime late next week. As long as there is a way to pass in any user settings during startup, our use case should be handled, assuming that adding the patch back doesn't break the workspace file loading (which was the issue that I think initially led to removing this patch). Basically, we use code-server to run tech training classes, and we need to set things up in a certain way for optimal student experience. As long as we have some reasonable method to set the default for any setting and the UI refresh error that was occurring with workspace file loading is fixed, then I think we should be good to go. |
@code-asher Getting "the old behavior working while still resolving #3061", #6500 and #6153 would be ideal, of course. |
I think if we manage to get the old behavior working there is probably no need to also add an option because most (all?) folks will want it on the server. Having it in browser storage is really quite inconvenient. But, if folks do want an option we can consider that as a feature request. That depends on first getting the old behavior working without bringing back the bug though...I was not able to figure it out last week. |
|
On the road home after the holidays, but:
The workspace loading UI big appeared for me after 4.16.0 which, as I
recall was right before VScode saw a major Node version upgrade (to v18, I
think).
…On Mon, Nov 27, 2023 at 16:16 bilogic ***@***.***> wrote:
@code-asher <https://github.com/code-asher>
1. I know the issue appeared after 4.13.0 #6153 (comment)
<#6153 (comment)>
2. @spkane <https://github.com/spkane> said he will be stuck on 4.16.0,
I suppose that narrows it to after that #3061 (comment)
<#3061 (comment)>,
but best to confirm directly with him
3. If pt 2 is correct, the bug started after 4.16.0
—
Reply to this email directly, view it on GitHub
<#6546 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA7UXLAIJ5YAIPZO63M74DYGUUN3AVCNFSM6AAAAAA7XCUYYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRYHA2TCNRSGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I think I tracked it down, I will put up an RC after CI completes! |
And fix the workspace bug. It is caused by an issue with how some global variables are being used asynchronously and is exacerbated by the delay reading settings from the remote introduces. 1. The workspace is created and is marked as not initialized. 2. The configuration's change handler is triggered, and now initialization is complete. 3. The handler tries to set the global workspace variable to initialized but the workspace has not been set yet so we get an undefined error. 4. The workspace global is now set, but it is set to the old value with initialized still set to false. 5. Workspace is never marked as initialized until something else triggers the on change handler again. Fixes #3061, and closes #6546. My guess is this logic changed in one of the VS Code updates, introducing this async bug but never getting caught probably because for them the settings are always local thus minimal delay.
https://github.com/coder/code-server/actions/runs/7014210927 looks like it is cleared, can't wait! :) |
Resolved issued:
@code-asher Thank you for fixing these issues. Functionality [modified by patches] tested and found to work:
Jupyter Notebooks also work fine: |
Since we got a few positive reports, I will go ahead and release 4.19.1. Thanks everyone! |
Now that I have had time to get back to this, I just wanted to confirm that both issues appear to be working fine for me:
|
And fix the workspace bug. It is caused by an issue with how some global variables are being used asynchronously and is exacerbated by the delay reading settings from the remote introduces. 1. The workspace is created and is marked as not initialized. 2. The configuration's change handler is triggered, and now initialization is complete. 3. The handler tries to set the global workspace variable to initialized but the workspace has not been set yet so we get an undefined error. 4. The workspace global is now set, but it is set to the old value with initialized still set to false. 5. Workspace is never marked as initialized until something else triggers the on change handler again. Fixes coder#3061, and closes coder#6546. My guess is this logic changed in one of the VS Code updates, introducing this async bug but never getting caught probably because for them the settings are always local thus minimal delay.
Continued from #3061 (comment)
This involves whether to remove the patch where
user
settings are persisted on the serverUse case
user
settings on the server, and this gives the same settings even on new machinesMachine.json
, e.g. debugger ports, allocated by the "company" and these can vary between developers and not supposed to be modified in any way (I have a script that overwrites them regularly)workspace
to store project settings, they contain minimal settings, mainly folder paths settingsProposed behavior A
The text was updated successfully, but these errors were encountered: