- Notifications
You must be signed in to change notification settings - Fork924
feat: allow for default presets#18445
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
@@ -103,5 +103,4 @@ Read [cursor rules](.cursorrules). | |||
The frontend is contained in the site folder. | |||
For building Frontend refer to [this document](docs/contributing/frontend.md) |
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.
Drive-by: link is dead.
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.
it's in docs/about/contributing/ now. can you leave this as is and I'll do a quick pr to fix the link?
sorry, I just looked at the whole file and this diff makes more sense now. the line got duplicated, with one having the out of date path and one having the correct path. you're just removing the stale one.
@@ -72,6 +72,9 @@ replace github.com/aquasecurity/trivy => github.com/coder/trivy v0.0.0-202505271 | |||
// https://github.com/spf13/afero/pull/487 | |||
replacegithub.com/spf13/afero =>github.com/aslilac/aferov0.0.0-20250403163713-f06e86036696 | |||
// TODO: replace once we cut release. |
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.
TODO: depends oncoder/terraform-provider-coder#414.
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.
Might make sense to wait until that is merged + tagged first?
Uh oh!
There was an error while loading.Please reload this page.
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
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.
Changes look OK to me, with the provisio that we should merge + pre-release the provider change first
} | ||
for name, tc := range cases { | ||
tc := tc |
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.
tc := tc |
t.Parallel() | ||
// nolint:dogsled | ||
_, filename, _, _ := runtime.Caller(0) |
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.
nit, non-blocking: I understand that this is copied from other tests, but I wonder if we could uset.Name()
instead?
@@ -72,6 +72,9 @@ replace github.com/aquasecurity/trivy => github.com/coder/trivy v0.0.0-202505271 | |||
// https://github.com/spf13/afero/pull/487 | |||
replacegithub.com/spf13/afero =>github.com/aslilac/aferov0.0.0-20250403163713-f06e86036696 | |||
// TODO: replace once we cut release. |
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.
Might make sense to wait until that is merged + tagged first?
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.
Obligatory reminder to check migration number before merge
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
if (defaultPreset) { | ||
// +1 because "None" is at index 0 | ||
const defaultIndex = | ||
presets.findIndex((preset) => preset.ID === defaultPreset.ID) + 1; |
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.
It looks like this fine, but I've been caught byfindIndex
before while working on presets. Is there any way thatfindIndex
might return -1 here?
Uh oh!
There was an error while loading.Please reload this page.
Replace findIndex with find() to avoid -1 edge case and consolidate preset initialization into single useEffect for better maintainability.Signed-off-by: Danny Kopping <dannykopping@gmail.com>
setPresetOptions(options); | ||
const defaultPreset = presets.find((p) => p.Default); | ||
if (defaultPreset) { | ||
const idx = presets.indexOf(defaultPreset) + 1; // +1 for "None" |
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 is really confusing. so0
is "none", but we want to special case it to1
, which should be the default ifdefaultPreset
is true? is the first "real" option actually guaranteed to be the default? if so, why are we searching the array for 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.
None
is index 0,indexOf
can return -1.
Uh oh!
There was an error while loading.Please reload this page.
if (defaultPreset) { | ||
// +1 because "None" is at index 0 | ||
const defaultIndex = | ||
presets.findIndex((preset) => preset.ID === defaultPreset.ID) + 1; |
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.
...or I guess it's because everything is thispresets
array ends up getting offset by one for having"none"
at the beginning? that feels really weird, it'd make a lot more sense to me if the numbers were preserved and"none"
was represented bynull
or something
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.
Agreed; I think we need a wider refactor of the implementation. For now though, I'm going to have to use what's present.@SasSwart WDYT?
Signed-off-by: Danny Kopping <danny@coder.com>
9bb383a
to737e1c6
CompareSigned-off-by: Danny Kopping <dannykopping@gmail.com>
6cc4cfa
intomainUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Disclaimer: mostly implemented by Claude Code.
Depends on:coder/terraform-provider-coder#414
Closes:#18110
I've tested this against both the classic and new (dynamic parameters) approaches.
Default preset is autoselected on load: