Open
Description
Background
Most users consume QL through the vscode-codeql-starter workspace. Some cli and ide features not work unless you have up to date QL libraries. Most users aren't aware of this and there is no mechanism to notify users that updates need to happen. The only situation where users are notified is when they add a new database built from a later version of the QL libraries. However, this is not sufficient.
Proposed solution
The extension should periodically check to see if there are new QL libraries available and warn the user if there are. Optionally, the extension could try to install the changes automatically. Otherwise, clear manual instructions should be given.
Caveats and questions
- This will only work for the vscode-codeql-starter workspace.
- What is considered a new version? We probably don't want to assume any change in master is new. Likely, we want to parse tags and look for new version numbers. Or we can do this through branches.
- We can attempt to automatically upgrade. This is just going to be pulling the submodules, which probably won't do any harm unless a user has made changes or commits to the core queries.
It might look like this:
- On restart or periodically, fetch the tags for submodules
- Check to see if any new tagged version exists.
- If so prompt the user to update their libraries
- Ensure there is clear instuctions on how to do this.