[Bug]: Editing or deleting an action leaves stale keybindings
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
- Open a Git project in T3 Code.
- Click + Add action.
- Create an action, assign a keybinding, and save it.
- Edit the action, focus the keybinding field, press Backspace to clear it, and save.
- Inspect
~/.t3/userdata/keybindings.json. - Assign a different keybinding to the same action and save again.
- Inspect
keybindings.jsonagain, then delete the action and inspect the file once more.
Expected behavior
Clearing an action's keybinding should remove that action's existing entry from keybindings.json. Changing the keybinding should replace the old entry. Deleting the action should remove any keybinding entries for its generated command.
Actual behavior
Clearing the keybinding and saving leaves the old entry in keybindings.json. Assigning a different keybinding adds another entry for the same generated script.<action-id>.run command instead of replacing the old one. Deleting the action also leaves its keybinding entries behind, so stale shortcuts accumulate for an action that no longer exists.
Impact
Minor bug or occasional failure
Version or commit
T3 Code desktop app 0.0.32
Environment
macOS, T3 Code desktop app 0.0.32
Logs or stack traces
Screenshots, recordings, or supporting files
file-f2dae801c263e5595d2e22231cddd057.jpg
Workaround
Manually remove the stale entries from ~/.t3/userdata/keybindings.json.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the apps/web action and keybinding save/delete flow, reproduce the steps, and inspect ~/.t3/userdata/keybindings.json after each operation. Done means clearing or changing a binding replaces the prior entry, and deleting an action removes entries for its generated script..run command.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100