@cryptiklemur/lattice 1.25.0 → 1.25.1

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.
@@ -198,7 +198,6 @@ export function getSidebarStore(): Store<SidebarState> {
198
198
 
199
199
  export function setActiveProjectSlug(slug: string | null): void {
200
200
  let prevSlug = sidebarStore.state.activeProjectSlug;
201
- switchProjectWorkspace(prevSlug, slug);
202
201
  sidebarStore.setState(function (state) {
203
202
  return {
204
203
  ...state,
@@ -218,6 +217,8 @@ export function setActiveProjectSlug(slug: string | null): void {
218
217
  window.history.pushState(null, "", path);
219
218
  }
220
219
  lastEncodedUrl = "";
220
+ // Switch workspace AFTER sidebar state is set so React sees both in same render
221
+ switchProjectWorkspace(prevSlug, slug);
221
222
  }
222
223
 
223
224
  export function setActiveSessionId(sessionId: string | null): void {
@@ -343,6 +344,7 @@ export function goToProjectDashboard(): void {
343
344
  }
344
345
 
345
346
  export function goToDashboard(): void {
347
+ let prevSlug = sidebarStore.state.activeProjectSlug;
346
348
  sidebarStore.setState(function (state) {
347
349
  return {
348
350
  ...state,
@@ -357,6 +359,7 @@ export function goToDashboard(): void {
357
359
  if (window.location.pathname + window.location.search !== "/") {
358
360
  window.history.pushState(null, "", "/");
359
361
  }
362
+ switchProjectWorkspace(prevSlug, null);
360
363
  lastEncodedUrl = "";
361
364
  }
362
365
 
@@ -478,15 +478,20 @@ export function loadWorkspaceForProject(projectSlug: string | null): void {
478
478
  urlSyncSuppressed = false;
479
479
  }
480
480
 
481
+ var saveSuppressed = false;
482
+
481
483
  export function switchProjectWorkspace(fromSlug: string | null, toSlug: string | null): void {
484
+ saveSuppressed = true;
482
485
  saveWorkspaceForProject(fromSlug);
483
486
  loadWorkspaceForProject(toSlug);
487
+ saveSuppressed = false;
484
488
  }
485
489
 
486
490
  workspaceStore.subscribe(function () {
487
491
  notifyUrlSync();
488
- // Auto-save on every state change
489
- try {
490
- saveWorkspaceForProject(currentProjectKey === "__global__" ? null : currentProjectKey);
491
- } catch {}
492
+ if (!saveSuppressed) {
493
+ try {
494
+ saveWorkspaceForProject(currentProjectKey === "__global__" ? null : currentProjectKey);
495
+ } catch {}
496
+ }
492
497
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptiklemur/lattice",
3
- "version": "1.25.0",
3
+ "version": "1.25.1",
4
4
  "description": "Multi-machine agentic dashboard for Claude Code. Monitor sessions, manage MCP servers and skills, orchestrate across mesh-networked nodes.",
5
5
  "license": "MIT",
6
6
  "author": "Aaron Scherer <me@aaronscherer.me>",