kanban-lite 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -347,7 +347,7 @@ kanban-mcp --dir .kanban
347
347
  Use the kanban SDK programmatically in your own tools. The `KanbanSDK` class is the single source of truth — the CLI, MCP server, VSCode extension, and standalone server all delegate to it.
348
348
 
349
349
  ```typescript
350
- import { KanbanSDK } from 'kanban-lite/dist/sdk'
350
+ import { KanbanSDK } from 'kanban-lite/sdk'
351
351
 
352
352
  const sdk = new KanbanSDK('/path/to/.kanban')
353
353
 
package/dist/cli.js CHANGED
@@ -6536,12 +6536,7 @@ function startServer(featuresDir, port, webviewDir) {
6536
6536
  </body>
6537
6537
  </html>`;
6538
6538
  async function loadFeatures() {
6539
- migrating = true;
6540
- try {
6541
- features = await sdk.listCards(sdk.listColumns().map((c) => c.id));
6542
- } finally {
6543
- migrating = false;
6544
- }
6539
+ features = await sdk.listCards(sdk.listColumns().map((c) => c.id));
6545
6540
  }
6546
6541
  function buildInitMessage() {
6547
6542
  const settings = sdk.getSettings();
@@ -6767,8 +6762,13 @@ function startServer(featuresDir, port, webviewDir) {
6767
6762
  const msg = message;
6768
6763
  switch (msg.type) {
6769
6764
  case "ready":
6770
- await loadFeatures();
6771
- ws.send(JSON.stringify(buildInitMessage()));
6765
+ migrating = true;
6766
+ try {
6767
+ await loadFeatures();
6768
+ ws.send(JSON.stringify(buildInitMessage()));
6769
+ } finally {
6770
+ migrating = false;
6771
+ }
6772
6772
  break;
6773
6773
  case "createFeature":
6774
6774
  await doCreateFeature(msg.data);
@@ -7355,8 +7355,15 @@ function startServer(featuresDir, port, webviewDir) {
7355
7355
  if (debounceTimer)
7356
7356
  clearTimeout(debounceTimer);
7357
7357
  debounceTimer = setTimeout(async () => {
7358
- await loadFeatures();
7359
- broadcast(buildInitMessage());
7358
+ if (migrating)
7359
+ return;
7360
+ migrating = true;
7361
+ try {
7362
+ await loadFeatures();
7363
+ broadcast(buildInitMessage());
7364
+ } finally {
7365
+ migrating = false;
7366
+ }
7360
7367
  if (currentEditingFeatureId && changedPath) {
7361
7368
  const editingFeature = features.find((f) => f.id === currentEditingFeatureId);
7362
7369
  if (editingFeature && editingFeature.filePath === changedPath) {
package/dist/extension.js CHANGED
@@ -6492,12 +6492,7 @@ function startServer(featuresDir, port, webviewDir) {
6492
6492
  </body>
6493
6493
  </html>`;
6494
6494
  async function loadFeatures() {
6495
- migrating = true;
6496
- try {
6497
- features = await sdk.listCards(sdk.listColumns().map((c) => c.id));
6498
- } finally {
6499
- migrating = false;
6500
- }
6495
+ features = await sdk.listCards(sdk.listColumns().map((c) => c.id));
6501
6496
  }
6502
6497
  function buildInitMessage() {
6503
6498
  const settings = sdk.getSettings();
@@ -6723,8 +6718,13 @@ function startServer(featuresDir, port, webviewDir) {
6723
6718
  const msg = message;
6724
6719
  switch (msg.type) {
6725
6720
  case "ready":
6726
- await loadFeatures();
6727
- ws.send(JSON.stringify(buildInitMessage()));
6721
+ migrating = true;
6722
+ try {
6723
+ await loadFeatures();
6724
+ ws.send(JSON.stringify(buildInitMessage()));
6725
+ } finally {
6726
+ migrating = false;
6727
+ }
6728
6728
  break;
6729
6729
  case "createFeature":
6730
6730
  await doCreateFeature(msg.data);
@@ -7311,8 +7311,15 @@ function startServer(featuresDir, port, webviewDir) {
7311
7311
  if (debounceTimer)
7312
7312
  clearTimeout(debounceTimer);
7313
7313
  debounceTimer = setTimeout(async () => {
7314
- await loadFeatures();
7315
- broadcast(buildInitMessage());
7314
+ if (migrating)
7315
+ return;
7316
+ migrating = true;
7317
+ try {
7318
+ await loadFeatures();
7319
+ broadcast(buildInitMessage());
7320
+ } finally {
7321
+ migrating = false;
7322
+ }
7316
7323
  if (currentEditingFeatureId && changedPath) {
7317
7324
  const editingFeature = features.find((f) => f.id === currentEditingFeatureId);
7318
7325
  if (editingFeature && editingFeature.filePath === changedPath) {