forgejo-contrib-forgejo-cli-issues-405.md
Watch20
Star402
Fork
You've already forked forgejo-cli
CodeIssues 44Pull requests 8Releases 11Packages 2WikiActivity
Closed
opened 2026-04-10 11:27:58 +02:00 by balejk · 6 comments
balejk commented 2026-04-10 11:27:58 +02:00
Copy link
After running fj -H codeberg.org auth login and authorizing the device, the login will complete successfully.
After being redirected to the localhost address, the connection refused error appears instead of the login confirmation.
I verified with ss and lsof that indeed fj doesn't listen at the expected address and I believe this is because fj hangs waiting for the browser process to exit. After I exit the browser, fj still hangs but now listens at the expected interface.
The browser is opened as a subprocess of the fj process in my case and it doesn't fork from it and I believe that blocks the auth server from starting.
Ensure the browser process started by fj doesn't exit before the oauth login completes (this will usually not be the case if the browser is already running as the URL will be communicated to the running instance). Attempt to authenticate via oauth.
fj Versionfj v0.4.1 user agent: forgejo-cli/0.4.1 (https://codeberg.org/forgejo-contrib/forgejo-cli/) build type: from source target: x86_64-unknown-linux-musl
Codeberg instance
fj -H codeberg.org auth login and authorizing the device, the login will complete successfully. ### Actual Behavior After being redirected to the localhost address, the connection refused error appears instead of the login confirmation. I verified with ss and lsof that indeed fj doesn't listen at the expected address and I believe this is because fj hangs waiting for the browser process to exit. After I exit the browser, fj still hangs but now listens at the expected interface. The browser is opened as a subprocess of the fj process in my case and it doesn't fork from it and I believe that blocks the auth server from starting. ### Steps to Reproduce Ensure the browser process started by fj doesn't exit before the oauth login completes (this will usually not be the case if the browser is already running as the URL will be communicated to the running instance). Attempt to authenticate via oauth. ### fj Version text ``` fj v0.4.1 user agent: forgejo-cli/0.4.1 (https://codeberg.org/forgejo-contrib/forgejo-cli/) build type: from source target: x86_64-unknown-linux-musl ``` ### Forgejo Version Codeberg instance ### Code of Conduct - [x] I agree to act in accordance with the CoC & AI Agreement. - [x] This issue was not generated by an LLM, even in part.balejk added the Kind/Bug label 2026-04-10 11:27:58 +02:00
Cyborus commented 2026-04-10 14:52:34 +02:00
Member
Copy link
Very good bug report. I immediately got a very strong idea of what I needed to fix to resolve this, thanks to your investigate.
Could you share what browser it is you're using? I've never run into this problem on Firefox before, and closing it beforehand doesn't reproduce this for me either..
*Very* good bug report. I immediately got a very strong idea of what I needed to fix to resolve this, thanks to your investigate. Could you share what browser it is you're using? I've never run into this problem on Firefox before, and closing it beforehand doesn't reproduce this for me either..
balejk commented 2026-04-10 15:19:39 +02:00
Author
Copy link
Thank you for looking into this!
I can certainly reproduce this with Firefox. I think the difference might be caused by our application launchers, which is xdg-open in my case. If you are using something else, such as something provided by your DE, it is possible that it handles the forking whereas xdg-open doesn't seem to do that.
Thank you for looking into this! I can certainly reproduce this with Firefox. I think the difference might be caused by our application launchers, which is xdg-open in my case. If you are using something else, such as something provided by your DE, it is possible that it handles the forking whereas xdg-open doesn't seem to do that.
Cyborus commented 2026-04-10 15:35:38 +02:00
Member
Copy link
Strange, xdg-open doesn't block for me either. Since I'm unable to reproduce it, would you be able to verify that change fixes it once I make the PR?
Strange, xdg-open doesn't block for me either. Since I'm unable to reproduce it, would you be able to verify that change fixes it once I make the PR?
balejk commented 2026-04-10 16:20:32 +02:00
Author
Copy link
Yes, I should be able to test, please Cc me on the PR.
If you are interested in trying to see why you cannot reproduce it: are you sure firefox is fully closed when trying this (e. g. pgrep firefox)? What does xdg-mime query default x-scheme-handler/https return for you? Also, can you check what the process hierarchy parenting the browser process looks like (such as with htop -t)? It might also be possible that the request is being passed to your DE and firefox is being launched by that, but I'm not sure, my setup is pretty barebones.
Yes, I should be able to test, please Cc me on the PR. If you are interested in trying to see why you cannot reproduce it: are you sure firefox is fully closed when trying this (e. g. pgrep firefox)? What does xdg-mime query default x-scheme-handler/https return for you? Also, can you check what the process hierarchy parenting the browser process looks like (such as with htop -t)? It might also be possible that the request is being passed to your DE and firefox is being launched by that, but I'm not sure, my setup is pretty barebones.
Cyborus referenced this issue from a pull request that will close it, 2026-04-10 18:54:49 +02:00 fix(oauth): detach opened browser #407
Cyborus commented 2026-04-10 18:59:11 +02:00
Member
Copy link
pgrep firefox returns nothing when firefox is closed.xdg-mime query default x-scheme-handler/https returns firefox.desktopfj even when fj starts it up.I'm guessing the difference is indeed between our DEs/WMs. I'm on KDE Plasma.
pgrep firefox returns nothing when firefox is closed. - xdg-mime query default x-scheme-handler/https returns firefox.desktop - Firefox does *not* show as a child process of fj even when fj starts it up. I'm guessing the difference is indeed between our DEs/WMs. I'm on KDE Plasma.Cyborus closed this issue 2026-04-10 19:26:43 +02:00
balejk commented 2026-04-11 14:49:13 +02:00
Author
Copy link
Indeed. I don't have experience with KDE but as far as I can see, xdg-open detects that it's running under KDE and calls kde-open which I assume is where the forking happens (you can probably test that by calling kde-open https://some.url directly in the terminal).
Indeed. I don't have experience with KDE but as far as I can see, xdg-open detects that it's running under KDE and calls kde-open which I assume is where the forking happens (you can probably test that by calling kde-open https://some.url directly in the terminal).
Cyborus added this to the v0.5.0 milestone 2026-04-16 05:04:15 +02:00
Sign in to join this conversation.
No Branch/Tag specified
main
renovate/lock-file-maintenance
renovate/serde-saphyr-0.x
docs/contributing
no-port-in-refspec
login/v16.next.forgejo.org
crates-io-publish
0.5.x
compile-time-fluent
0.4.x
localization-alias-demo
api_url_field
v0.5.0
v0.4.1
v0.4.0
v0.3.0
v0.2.0
v0.1.1
v0.1.0
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Labels
Clear labels[ Kind/Breaking Breaking change that won't be backward compatible
](#)[ Kind/Bug Something is not working
](#)[ Kind/Design Discussion about UI/UX design
](#)[ Kind/Documentation Documentation changes
](#)[ Kind/Enhancement Improve existing functionality
](#)[ Kind/Feature New functionality
](#)[ Kind/Security This is security issue
](#)[ Kind/Testing Issue or pull request related to testing
](#)[ Kind/Upstream This is an issue with upstream software (Forgejo) that is probably not our fault
](#)
[ Priority
Critical The priority is critical
](#)[ Priority
High The priority is high
](#)[ Priority
Low The priority is low
](#)[ Priority
Medium The priority is medium
](#)
[ Reviewed
Confirmed Issue has been confirmed
](#)[ Reviewed
Duplicate This issue or pull request already exists
](#)[ Reviewed
Invalid Invalid issue
](#)[ Reviewed
Won't Fix This issue won't be fixed
](#)
[ Status
Abandoned Somebody has started to work on this but abandoned work
](#)[ Status
Blocked Something is blocking this issue or pull request
](#)[ Status
Need More Info Feedback is required to reproduce issue or to continue work
](#)
[ Suspicious
](#)
No labels Kind/Breaking Kind/Bug Kind/Design Kind/Documentation Kind/Enhancement Kind/Feature Kind/Security Kind/Testing Kind/Upstream [ Priority
Critical ](/forgejo-contrib/forgejo-cli/issues?labels=173012) [ Priority
High ](/forgejo-contrib/forgejo-cli/issues?labels=173013) [ Priority
Low ](/forgejo-contrib/forgejo-cli/issues?labels=173015) [ Priority
Medium ](/forgejo-contrib/forgejo-cli/issues?labels=173014) [ Reviewed
Confirmed ](/forgejo-contrib/forgejo-cli/issues?labels=173007) [ Reviewed
Duplicate ](/forgejo-contrib/forgejo-cli/issues?labels=173005) [ Reviewed
Invalid ](/forgejo-contrib/forgejo-cli/issues?labels=173006) [ Reviewed
Won't Fix ](/forgejo-contrib/forgejo-cli/issues?labels=173008) [ Status
Abandoned ](/forgejo-contrib/forgejo-cli/issues?labels=173011) [ Status
Blocked ](/forgejo-contrib/forgejo-cli/issues?labels=173010) [ Status
Need More Info ](/forgejo-contrib/forgejo-cli/issues?labels=173009) Suspicious
Milestone
Clear milestone
No items
No milestone v0.5.0
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
Notifications Subscribe
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
forgejo-contrib/forgejo-cli#405
WritePreview
Loading…
Add table
| Rows | | | Columns | |
CancelOK
Add a link
Url Description Hint: With a URL in your clipboard, you can paste directly into the editor to create a link.
CancelOK
CancelSave
Reference in a new issue
Repository
forgejo-contrib/forgejo-cli
Title
Body
Create issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
No Yes