-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor session management #1810
Conversation
Yup! I've been chatting with @johnnyaug to get that done here: #1448 We're mostly waiting on this PR. I'd also like to see multi-session in the same browser, which we have some designs for. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked through! It's a lot of code, but nothing jumped out at me as being wrong, so LGTM.
I also downloaded and tested, and everything worked as expected. Thanks for all the work on this @rbren !
Awesome work, this is a very big improvement on session management! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really love the fact that this PR contributes net negative lines of code!
LGTM in general, and most of my comments are small/local issues/nitpicks, not design/framework related:
Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>
…n into rb/api-sessions
Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>
Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>
Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>
…n into rb/api-sessions
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
* refactor session mgmt * defer file handling to runtime * add todo * refactor sessions a bit more * remove messages logic from FE * fix up socket handshake * refactor frontend auth a bit * first pass at redoing file explorer * implement directory suffix * fix up file tree * close agent on websocket close * remove session saving * move file refresh * remove getWorkspace * plumb path/code differently * fix build issues * fix the tests * fix npm build * add session rehydration * fix event serialization * logspam * fix user message rehydration * add get_event fn * agent state restoration * change history tracking for codeact * fix responsiveness of init * fix lint * lint * delint * fix prop * update tests * logspam * lint * fix test * revert codeact * change fileService to use API * fix up session loading * delint * delint * fix integration tests * revert test * fix up access to options endpoints * fix initial files load * delint * fix file initialization * fix mock server * fixl int * fix auth for html * Update frontend/src/i18n/translation.json Co-authored-by: Xingyao Wang <xingyao6@illinois.edu> * refactor sessions and sockets * avoid reinitializing the same session * fix reconnect issue * change up intro message * more guards on reinit * rename agent_session * delint * fix a bunch of tests * delint * fix last test * remove code editor context * fix build * fix any * fix dot notation * Update frontend/src/services/api.ts Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk> * fix up error handling * Update opendevin/server/session/agent.py Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk> * Update opendevin/server/session/agent.py Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk> * Update frontend/src/services/session.ts Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk> * fix build errs * fix else * add closed state * delint * Update opendevin/server/session/session.py Co-authored-by: Engel Nyst <enyst@users.noreply.github.com> --------- Co-authored-by: Xingyao Wang <xingyao6@illinois.edu> Co-authored-by: Graham Neubig <neubig@gmail.com> Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk> Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
Big goals in this PR:
A few things in here:
sid
) as the first message, and that gets sent in all subsequent callsTesting
I'd love for folks to play with this locally to make sure it's running smoothly. I've found a few edge cases (like clearing local storage and starting fresh).