Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: coder/coder-jetbrains-toolbox
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: coder/coder-jetbrains-toolbox
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: support-for-ide-version-placeholders-in-uri
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 11 files changed
  • 1 contributor

Commits on Dec 15, 2025

  1. impl: model for the IDE product

    This is the IDE model from the https://data.services.jetbrains.com/products? feed.
    Only `release` and `eap` IDEs will be supported for now.
    
    This commit is in preparation for supporting placeholders like `last_release` or `last_eap`
    in the URI handler. Unfortunately Toolbox does not expose a way to determine if a build like
    251.2829.367 is an eap build or an actual release, so we have to look up the metadata in the
    feed mentioned earlier.
    fioan89 committed Dec 15, 2025
    Configuration menu
    Copy the full SHA
    d8c7703 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    01bcb66 View commit details
    Browse the repository at this point in the history
  3. impl: load and cache IDEs

    This commit implements an IDE feed manager that depending on whether Toolbox runs in offline mode or
    not loads the eap and release information from two local json files or from the https://data.services.jetbrains.com/products.
    The feed manager is also able to intersect a list of available build versions (the IDE versions available for install
    on a workspace) with the list of versions fetched from the feed and return the latest version available for install.
    The intersection happens only after the feed was filtered by product code release type.
    
    Support for offline mode is WIP. The commit assumes that in offline mode Toolbox exposes a certain system property.
    fioan89 committed Dec 15, 2025
    Configuration menu
    Copy the full SHA
    a871581 View commit details
    Browse the repository at this point in the history
  4. impl: initialize and pass the feed manager to URI handler

    To be used later for resolving the placeholders.
    fioan89 committed Dec 15, 2025
    Configuration menu
    Copy the full SHA
    d5bf957 View commit details
    Browse the repository at this point in the history
  5. impl: support for latest_eap, latest_release and `latest_installe…

    …d` placeholders
    
    This PR adds support for the IDE placeholders in the URI build number parameter. This is a request
    coming from Netflix, the placeholders provide an easier way to fill in the build number from the
    web dashboard without having to know the available versions of IDE from Toolbox.
    
    IDE launch flow is refactored to support dynamic build selectors, and it also improves the
    install/launch logic. When latest_eap or latest_release is used:
    - prefer the newest matching version that is available for install
    - install it only if it isn’t already installed
    - fall back to the latest available version if no match exists
    - show an error if none of the above happens
    
    When latest_installed is used:
    - launch the newest installed version
    - if none are installed, install and launch the latest available version
    - show an error if none of the above happens
    fioan89 committed Dec 15, 2025
    Configuration menu
    Copy the full SHA
    ce3f67b View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2025

  1. Configuration menu
    Copy the full SHA
    98dc126 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1be2413 View commit details
    Browse the repository at this point in the history
Loading