fix: migrate sessions from global to git project after init#17150
Closed
Wangmerlyn wants to merge 1 commit intoanomalyco:devfrom
Closed
fix: migrate sessions from global to git project after init#17150Wangmerlyn wants to merge 1 commit intoanomalyco:devfrom
Wangmerlyn wants to merge 1 commit intoanomalyco:devfrom
Conversation
Fixes anomalyco#16812 The migrateFromGlobal function was being called before the project row was inserted into the database, causing a foreign key constraint violation. Additionally, it only ran when creating a new project row, not when an existing project transitioned from global to git-based ID. Changes: - Move migrateFromGlobal call to after project row insertion - Ensure migration runs even when project row already exists - Add test to verify session migration after git init Closes anomalyco#16812
Contributor
|
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 2 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
Contributor
|
The following comment was made by an LLM, it may be inaccurate: Found a potential related PR: PR #16814: fix(opencode): sessions lost after git init in existing project This PR appears to address the same issue as PR #17150 - sessions being lost or not properly migrated when git is initialized in an existing project. Both PRs deal with the |
Contributor
Author
|
Closed as this is the same as PR #16814 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #16812
Problem
Sessions created before a git repository has commits are stored under
project_id = "global". When a commit is made and opencode resolves a real project ID (the root commit SHA), the sessions were not being migrated properly.Root Causes
migrateFromGlobal()was called before the target project row was inserted into theprojecttable, causing the UPDATE to be rejected due to the foreign key constraint onsession.project_id.if (!row)branch — i.e., only when a new project row was created. Sessions accumulated under "global" after the real project row already existed were never migrated.Solution
migrateFromGlobal()call to after the project row is inserted/updatedfromDirectoryis called with a non-global project ID, not just when creating a new project rowVerification
migrates sessions from global to git project after git init