Update for DO removing most of the language about ...
# proj-documentation
h
Update for DO removing most of the language about using
MARS_WEB=1
. I left some references to it for now in case anyone already had it set up or any other docs mention it. github.com/OpenHands/docs/pull/985
c
That acts like a feature flag, right?
I have a stack of PRs redesigning the flow and implementing OAuth for DO. Write-up here: Keep DO Connected
I think a feature flag is a good idea, actually, until we're sure the implementation is stable and okay
(status is, I'm giving it a last live test, and another look)
h
It did act like that yes but the update already went out so that MARS_WEB=1 is not required
I'd love to do oauth. I think we need to register as an oauth application in DO
c
Just to note, the way I see it, the DO backend implies auth, a host bridge and its behavior, and host safety, which is one of the few things that is actually high risk / high impact in the UI repository, so I'd love to get it right. It's not in the same category with minor CSS tweaks 😅
👍 1
There's an env var for the agent to launch with, to use an id
Let me give a try first after last night's tweaks 😅
I'll restore the flag, it seems it got removed because folks didn't look at it as a feature flag. Trouble is, DO didn't work for me when I tried it a couple days ago, so I think this backend is not finished 🤔
h
The flag was just because they were updating something. I can test again but it should work as is
Yea can confirm it doesn't seem to work for me either now
Screenshot 2026-10-21 at 6.21.45 PM.png
c
Updating something? Sorry I don’t follow. For clarity: • I tried to use DO a couple days ago • it failed, with a blocking bug • my agent worked around it • it failed again at the next screen, • my agent worked around it
Then I had it make OH Cloud agents to fix the stuff it encountered
Those PRs are still open, and in review, we saw that actually, even with them it won’t restore connection the next day
So I decided to fix it properly, redesign the flow with oauth and all that
I think it would be nice if we actually had a smooth, convenient flow, anyway, even if those fixes worked
nod 1
But if people try to use it right now, I don’t think it works, so I’d highly prefer to put this behind a feature flag and call it experimental, so we can fix it in peace 😅
h
@modern-fireman-99755 when you get in later - does this look like something you ever ran in to? Did DO have any other fixes in flight that would fix?
c
I'm curious what’s the story behind this DO backend. I mean, I was caught in the self-healing fun these couple of weeks, I didn’t notice anything about DO until released
And my first thought was, like, “AH folks want to move the OSS VM to DigitalOcean?” lolsob Is there a plan I can read, or thinking behind it?
m
@calm-artist-7206 I think this is a good plan to fix that once for all 🙂 1. Fix DO sign-in in Docker (#18434 (github.com/OpenHands/OpenHands/issues/18434)). Ask Engel to move canvas-root-backend.ts and getMarsBridgeHeaders out of #18711 (github.com/OpenHands/OpenHands/pull/18711) into a small PR against main. Close #18465 (github.com/OpenHands/OpenHands/pull/18465) with credit to its author. If Engel won't split it, merge #18465 (github.com/OpenHands/OpenHands/pull/18465) as a stopgap. 2. Fix the API-key screen that appears after connecting (#18598 (github.com/OpenHands/OpenHands/issues/18598)). Merge #18604 (github.com/OpenHands/OpenHands/pull/18604) and close #18607 (github.com/OpenHands/OpenHands/pull/18607) as a duplicate. 3. Fix the docs. Ask Devin to rewrite docs#985 (github.com/OpenHands/docs/pull/985): - MARS_WEB=1 is required again since #18783 (github.com/OpenHands/OpenHands/pull/18783) (experimental). - Docker needs the workaround AGENT_CANVAS_ALLOW_LAN_SESSION_KEY=true with -p 127.0.0.1:… until fixes 1 and 2 ship. - Line 211 has a literal <secret-hidden> to fix. 4. Keep the MARS_WEB=1 flag until fixes 1 and 2 are released and step 5 exists. 5. Add a Docker-path test. Use the DO stand-in from #18714 (github.com/OpenHands/OpenHands/pull/18714) to add a --host 0.0.0.0 + MARS_WEB=1 run to verify-openhands. 6. Follow-ups: - Make the API-key screen in #18604 (github.com/OpenHands/OpenHands/pull/18604) and the gate in root.tsx (github.com/OpenHands/OpenHands/blob/…/root.tsx#…) use isCanvasRootBackend. - Check whether src/api/cloud/client.ts:40 (github.com/OpenHands/OpenHands/blob/…/client.ts#…) has the same bug for Cloud backends in Docker. 7. Later: Engel's stack, starting at #18705 (github.com/OpenHands/OpenHands/pull/18705) (#18704 (github.com/OpenHands/OpenHands/issues/18704), design (enyst.github.io/arch/keep-digitalocean-connected.html)), adds sign-in that survives restarts and OAuth. After that, decide whether to drop the flag.
c
Re: 1 I was thinking to merge 18465 indeed, I actually had to use it or its equivalent anyway, it’s a must even if incomplete
m
Let's do it 🙂 I'm looking into it
I just pushed a commit to the branch to fix a couple of non-blocking stuff @calm-artist-7206 Sorry i saw just now you sent out the bot
c
Thank you! We can do this stuff. There was a release yesterday, and I just put the bridge under the flag.
Unfortunately, I think I won't stay long this morning, but I'll be back late tonight
I'd prefer after these to look again how does the key-based works, and maybe drop in-memory - I guess it'll be possible, because it would be similar to how OAuth interaction with the rest works: cookie in browser <- Node bridge <- keychain/safeStorage
But maybe I'm a tad too sleepy 😅
i saw just now you sent out the bot
... I did?
m
I think the problem is only in docker
c
Ah. I didn't use docker at all 😊
m
Screenshot 2026-10-22 at 12.37.07.png
ah ok weird... because if I test on my laptop it works fine locally (withouth docekr)
Did you refreshed something or connection problems?
c
I didn't send that bot... 😅 I think our industry, and in fact, our society, will really need to figure out agent identities. Before we all get totally confused. Everyone may say I'm drunk but... 😂
It was the cron tool you mentioned, perhaps
I used a clean install I think, with a Local backend that had a required key...
That might be it, it wasn't the embedded key one
(at least, yesterday; before that, two days ago I... don't remember what my agent did)
The idea right now, and the HTML doc should have it, is that no matter where the session key is, it's used in the DO flows
m
@calm-artist-7206 I opened this PR github.com/OpenHands/OpenHands/pull/18831 into github.com/OpenHands/OpenHands/pull/18707 Could you accept it? Such that I can accept our PR? Than we can test I think
✅ 1
👀 1
c
On it. Rebasing the rest too
m
Can you ping once it is done so I can review 🙂 and test