feat: rename data directory, add global project settings, multi-project CLI commands, and provider badge in model selector
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -96,10 +96,12 @@ export class NtfyNotifier {
|
||||
* Stop listening to store events and abort in-flight requests.
|
||||
*/
|
||||
stop(): void {
|
||||
this.store.off("task:moved", this.handleTaskMoved);
|
||||
this.store.off("task:updated", this.handleTaskUpdated);
|
||||
this.store.off("task:merged", this.handleTaskMerged);
|
||||
this.store.off("settings:updated", this.handleSettingsUpdated);
|
||||
if (typeof this.store.off === "function") {
|
||||
this.store.off("task:moved", this.handleTaskMoved);
|
||||
this.store.off("task:updated", this.handleTaskUpdated);
|
||||
this.store.off("task:merged", this.handleTaskMerged);
|
||||
this.store.off("settings:updated", this.handleSettingsUpdated);
|
||||
}
|
||||
|
||||
// Abort any in-flight requests
|
||||
if (this.abortController) {
|
||||
|
||||
@@ -265,7 +265,7 @@ describe("Scheduler", () => {
|
||||
});
|
||||
|
||||
describe("filesystem validation", () => {
|
||||
it("validates tasks using the .kb task directory layout", async () => {
|
||||
it("validates tasks using the .fusion task directory layout", async () => {
|
||||
const todoTask = createMockTask({ id: "FN-010", column: "todo" });
|
||||
const moveTask = vi.fn().mockResolvedValue(undefined);
|
||||
const updateTask = vi.fn().mockResolvedValue(undefined);
|
||||
|
||||
@@ -264,7 +264,7 @@ export class Scheduler {
|
||||
for (const depId of task.dependencies) {
|
||||
const dep = allTasks.find((t) => t.id === depId);
|
||||
if (dep && dep.column === "in-review" && dep.worktree) {
|
||||
return `kb/${dep.id.toLowerCase()}`;
|
||||
return `fusion/${dep.id.toLowerCase()}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user