Skip to content

Conversation

@tulilirockz
Copy link
Member

@tulilirockz tulilirockz commented Jan 10, 2026

This also adds a lil notice for using dx-group after reboot

Should fix: ublue-os/bluefin#4001

This also adds a lil notice for using dx-group after reboot

Signed-off-by: Tulip Blossom <tulilirockz@outlook.com>
@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jan 10, 2026
@dosubot
Copy link

dosubot bot commented Jan 10, 2026

Related Documentation

Checked 8 published document(s) in 0 knowledge base(s). No updates required.

How did I do? Any feedback?  Join Discord

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request fixes an issue with rebasing to developer-mode images for variants like nvidia, by correctly constructing the target image name. It also improves the user experience by clarifying instructions and ensuring developer flatpaks are installed correctly when switching. The changes are logical and address the problem described. However, I've identified a related high-severity issue where detecting an existing developer image will fail for these new image name variants, preventing users from switching back. This should be addressed to make the feature fully functional.

IMAGE_NAME="$(jq -rc '."image-name"' "${IMAGE_INFO_FILE}")"
IMAGE_REF="$(jq -rc '."image-ref"' "${IMAGE_INFO_FILE}" | sed "s/.*ghcr/ghcr/")"
CURRENT_IMAGE="${IMAGE_REF}:$(jq -rc '."image-tag"' "${IMAGE_INFO_FILE}")"
IMAGE_BASE_NAME="$(cut -f1 -d\- <<< "${IMAGE_NAME}")"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This change correctly determines the base image name, which is necessary for handling image variants like bluefin-nvidia.

However, this change reveals a significant issue in the logic for detecting if the system is already in developer mode. The check on line 26 (if grep -q -E -e "dx$" <<< "${IMAGE_NAME}") only looks for dx at the very end of the image name.

With this PR, it's now possible to rebase to an image named something like bluefin-dx-nvidia. For such an image, the check on line 26 will fail. This means a user on a ...-dx-nvidia image will be unable to switch back to a non-developer image using this script, as it will incorrectly offer to enable developer mode again.

To ensure the toggle works both ways, the check should be updated to find the -dx infix. For example:

if grep -q -- "-dx" <<< "${IMAGE_NAME}"; then

While this line is outside the diff, this is a critical bug that this PR's changes will expose to users. It should be addressed for the devmode toggle to be reliable.

@castrojo castrojo enabled auto-merge January 10, 2026 15:21
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Jan 10, 2026
@castrojo castrojo added this pull request to the merge queue Jan 10, 2026
Merged via the queue into projectbluefin:main with commit aa1f307 Jan 10, 2026
3 checks passed
@castrojo castrojo added kind/bug Something isn't working area/just Justfile things labels Jan 11, 2026
@fernandomff123
Copy link

Hello,

I have reviewed the changes in #157 which were intended to address the OpenImage -> Requesting bearer token -> 403 Forbidden issue.

However, based on my testing:

  1. The PR has already been merged and deployed in a recent Bluefin build
  2. The error still occurs when running:
    • ujust devmode
    • sudo bootc switch ghcr.io/<user>/<repo>:stable
  3. The system reports:

failed to invoke method OpenImage
Requesting bearer token: received unexpected HTTP status: 403 Forbidden

  1. bootc status shows an up-to-date Bluefin image (stable-daily)

This indicates that the change in PR 157 does not fully resolve the issue in at least the following scenarios:

  • when pulling images from GHCR with a digest SHA (e.g., @sha256:…)
  • or when fetching multi-tag manifests
  • or when using bearer token scopes that differ between GHCR tags and manifest endpoints

Thus, although PR 157 is present in the codebase, the underlying GHCR authentication problem still blocks bootc switch and ujust devmode, and a follow-up fix is still needed.

Please let me know if you would like additional logs or tests of specific commands.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/just Justfile things kind/bug Something isn't working lgtm This PR has been approved by a maintainer size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Switching to devmode: failed to invoke method OpenImage

4 participants