Skip to content

bug: [2.26] URL Autofill values are collectively reset when one value is modified #20187

@rowansmithau

Description

@rowansmithau

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Reported by enterprise customer on ticket 4430.

This appears to be a regression introduced in 2.26.0, as I am unable to reproduce on 2.25.3.

To reproduce you can populate a template with some parameters like:

data "coder_parameter" "cpu" {
  name         = "cpu"
  display_name = "CPU"
  description  = "The number of CPU cores"
  default      = "2"
  icon         = "/icon/memory.svg"
  mutable      = true
  option {
    name  = "2 Cores"
    value = "2"
  }
  option {
    name  = "4 Cores"
    value = "4"
  }
  option {
    name  = "6 Cores"
    value = "6"
  }
  option {
    name  = "8 Cores"
    value = "8"
  }
}

data "coder_parameter" "git_repo" {
  name         = "git_repo"
  display_name = "Git repository SSH URL"
  description  = "The SSH URL of the git repository to clone"
  type         = "string"
  icon         = "/icon/git.svg"
  mutable      = true
}

data "coder_parameter" "home_disk_size" {
  name         = "home_disk_size"
  display_name = "Home disk size"
  description  = "The size of the home disk in GB"
  type         = "number"
  icon         = "/emojis/1f4be.png"
  mutable      = false
}

Note that home_disk_size does not have a default, while cpu defaults to 2.

Next, navigate to a crafted URL which makes use of URL Autofill (no experiment flag needed) which references the relevant template such as https://mycoder.tld/templates/coder/ubuntu-coder-dev-anth/workspace?param.git_repo=https://github.com/someone/somerepo&param.cpu=8&param.home_disk_size=2000 and the values on the page will be correctly populated. If I then modify one of the three values, i.e. git_repo, then the value for cpu will reset to 2 and the value for home_disk_size will be reset to null/empty (as there is no default for this parameter).

In 2.25.3 the behaviour I observe is each parameter is able to be independently modified without issue.

In both versions tested the template has dynamic parameters enabled.

A reproduction video is attached. I used Firefox Developer Edition 144.0b8 on MacOS to reproduce.

Screen.Recording.2025-10-07.at.11.38.45.am.mov

I checked the browser console and saw no errors before/after, and no network calls appear to be made as part of this.

Relevant Log Output

Expected Behavior

The behaviour which was present in 2.25 - I should be able to independently modify each parameter value.

Steps to Reproduce

Refer Current Behaviour section for steps and reproduction video.

Environment

  • Host OS: Kubernetes
  • Coder version: 2.26.0, 2.26.1

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    must-doIssues that must be completed by the end of the Sprint. Or else. Only humans may set this.parametersbugs & feature requests related to Dynamic Parameterss1Bugs that break core workflows. Only humans may set this.siteArea: frontend dashboard

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions