Conversation
There was a problem hiding this comment.
Pull request overview
Adds handling for Neovim working-directory changes by restarting the Opencode server and attempting to restore an appropriate session for the new workspace.
Changes:
- Add a
DirChangedautocmd that shuts down and re-starts the Opencode server, then reloads the last workspace session (or creates a new one). - Remove an unused
logrequire fromOpencodeServer.new().
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| lua/opencode/ui/autocmds.lua | Adds DirChanged autocmd to restart server and reload/create session after cwd changes. |
| lua/opencode/opencode_server.lua | Removes unused local log require in constructor. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e0b33e2 to
fcb6fab
Compare
This should fix #246
fcb6fab to
09b6f37
Compare
|
I found the issue for multiple cwd changes it should work now For the session switch I dind't have the issue on my side but I delayed the loading of sessions to give time for the server to shutdown Let me know if it works for you |
|
Thanks for confirming I have another idea without restarting the server. I will let you know when it's ready |
- Remove server restart logic on directory change - Set default directory to current working directory in API client queries - Change DirChangedPre to DirChanged autocmd for proper timing
|
I removed the restart logic in favor of always sending the Let me know if it works for you |
|
very nice. it's work. But no reload session when toggle reopen opencode.nvim |
|
Thanks for clarifying the session loading issue — I didn’t understand that you meant it wasn’t working when reopening the panel. Thanks for your patience Let me know if it works for you now :) |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 10 comments.
Comments suppressed due to low confidence (1)
lua/opencode/api_client.lua:74
- The directory path is concatenated directly into the URL without URL encoding. Directory paths with special characters (spaces, &, =, etc.) will break the URL or create incorrect query parameters. Use vim.uri_encode() or a similar URL encoding function to properly encode the directory value before adding it to the query string.
for k, v in pairs(query) do
if v ~= nil then
table.insert(params, k .. '=' .. tostring(v))
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
48e766f to
5f81a87
Compare
|
it works. thanks. |





This should fix #246