quill 1.1.2: fix AI capture into a new project - #900
Merged
Merged
Conversation
resolveProject called M.notesDir(), but notesDir lives on the Store module, not on capture's own exports table. The call hit a nil value, so capturing a todo with AI into a project that did not exist yet threw and nothing was written. Projects that already existed were unaffected, which is why it looked like AI capture only sometimes worked.
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.
Plugin
fel/quillplugin.toml)What it does
Bug fix release. No user-facing features change.
Capturing a todo with AI into a project that does not exist yet did nothing.
updatewas not involved and nothing was reported to the user.resolveProjectinlib/capture.luaucalledM.notesDir().Mis capture's own exports table, andnotesDiris defined on theStoremodule, so the call hit a nil value:Writing a todo with AI into a project that already existed was unaffected, because that path returns before reaching the call. Only the new-project branch broke, which is why it looked intermittent.
One word changed:
M.notesDir()toStore.notesDir().External dependencies
git- optional, used only for the notes git-history feature when the notes directory is a repository.opencode- optional, used only by thecliAI backend.Both are declared in
dependenciesinplugin.toml. Neither is required for this fix.Testing
Driven the real
capture.capture()under the shipped module loader, withAI.parseCapturereturning a payload whosefilepoints at a project that does not exist.Before the fix, the traceback reproduces the reported error exactly:
After the fix the same input reports
Added todo to Coffee Run (new project)and writes the project note.noctalia plugins lintreports 0 errors, 0 warnings, and the plugin's own checks pass (41 checks across roll/hint/time/due/ai, 0 failures).Screenshots / Videos
Not applicable: this is a crash fix with no visual change.
Checklist
Ready-for-review requirement: Every box in this section must be checked.
idafter the/inplugin.tomlexactly.plugin.toml,README.md,thumbnail.webp, andtranslations/en.json.README.mdfollows the README template, documents every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.thumbnail.webpis present and relevant; for a new plugin I created it with the thumbnail generator, and for an update I regenerated it with the generator if the visual identity or user-facing appearance changed.versionfollows semver and is bumped in this PR;plugin_apiis the oldest API level this plugin requires.catalog.toml; CI generates it.Code review attestation
Ready-for-review requirement: Every attestation below must be checked.
licensedeclared inplugin.toml.