@finos/legend-application-studio 28.21.6 → 28.21.7
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/lib/__lib__/LegendStudioUserDataHelper.d.ts +23 -1
- package/lib/__lib__/LegendStudioUserDataHelper.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioUserDataHelper.js +66 -1
- package/lib/__lib__/LegendStudioUserDataHelper.js.map +1 -1
- package/lib/components/workspace-setup/RecentWorkspacesPanel.d.ts.map +1 -1
- package/lib/components/workspace-setup/RecentWorkspacesPanel.js +11 -5
- package/lib/components/workspace-setup/RecentWorkspacesPanel.js.map +1 -1
- package/lib/components/workspace-setup/WorkspaceSetup.d.ts.map +1 -1
- package/lib/components/workspace-setup/WorkspaceSetup.js +5 -6
- package/lib/components/workspace-setup/WorkspaceSetup.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/EditorStore.d.ts.map +1 -1
- package/lib/stores/editor/EditorStore.js +3 -0
- package/lib/stores/editor/EditorStore.js.map +1 -1
- package/lib/stores/workspace-setup/WorkspaceSetupStore.d.ts +6 -2
- package/lib/stores/workspace-setup/WorkspaceSetupStore.d.ts.map +1 -1
- package/lib/stores/workspace-setup/WorkspaceSetupStore.js +60 -8
- package/lib/stores/workspace-setup/WorkspaceSetupStore.js.map +1 -1
- package/package.json +3 -3
- package/src/__lib__/LegendStudioUserDataHelper.ts +107 -2
- package/src/components/workspace-setup/RecentWorkspacesPanel.tsx +29 -9
- package/src/components/workspace-setup/WorkspaceSetup.tsx +5 -6
- package/src/stores/editor/EditorStore.ts +3 -0
- package/src/stores/workspace-setup/WorkspaceSetupStore.ts +79 -9
|
@@ -49,7 +49,6 @@ export declare class WorkspaceSetupStore {
|
|
|
49
49
|
loadWorkspacesState: ActionState;
|
|
50
50
|
createWorkspaceState: ActionState;
|
|
51
51
|
showCreateWorkspaceModal: boolean;
|
|
52
|
-
showAdvancedWorkspaceFilterOptions: boolean;
|
|
53
52
|
graphManagerState: GraphManagerState;
|
|
54
53
|
recentProjects: RecentProjectEntry[];
|
|
55
54
|
recentWorkspaces: RecentWorkspaceEntry[];
|
|
@@ -58,7 +57,6 @@ export declare class WorkspaceSetupStore {
|
|
|
58
57
|
get supportsCreatingSandboxProject(): boolean;
|
|
59
58
|
setShowCreateProjectModal(val: boolean): void;
|
|
60
59
|
setShowCreateWorkspaceModal(val: boolean): void;
|
|
61
|
-
setShowAdvancedWorkspaceFilterOptions(val: boolean): void;
|
|
62
60
|
setImportProjectSuccessReport(importProjectSuccessReport: ImportProjectSuccessReport | undefined): void;
|
|
63
61
|
resetProject(): void;
|
|
64
62
|
resetWorkspace(): void;
|
|
@@ -74,6 +72,12 @@ export declare class WorkspaceSetupStore {
|
|
|
74
72
|
* Fetches a project by id (used when the user picks a cached "recent"
|
|
75
73
|
* project that may not be in the current search results) and switches to
|
|
76
74
|
* it. If the project no longer exists, the entry is pruned from recents.
|
|
75
|
+
*
|
|
76
|
+
* NOTE: we deliberately don't short-circuit using the cached recent entry
|
|
77
|
+
* here. Going through `getProject` keeps the prune-on-404 path intact, and
|
|
78
|
+
* the cached metadata is already used elsewhere to make the UI feel fast
|
|
79
|
+
* (dropdown stubs in `WorkspaceSetup.tsx` and tile labels in
|
|
80
|
+
* `RecentWorkspacesPanel.tsx`).
|
|
77
81
|
*/
|
|
78
82
|
selectRecentProject(projectId: string): GeneratorFn<void>;
|
|
79
83
|
createSandboxProject(): GeneratorFn<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceSetupStore.d.ts","sourceRoot":"","sources":["../../../src/stores/workspace-setup/WorkspaceSetupStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,KAAK,WAAW,EAIhB,WAAW,EAMZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,gBAAgB,EAErB,aAAa,EAEb,OAAO,EAEP,SAAS,EACT,KAAK,EAEN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAMhF,OAAO,EAEL,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,6CAA6C,CAAC;AAErD,UAAU,0BAA0B;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;IAExD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,SAAS,cAAwB;IAE1C,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,iCAAiC,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAC3E,iBAAiB,cAAwB;IACzC,0BAA0B,cAAwB;IAClD,0BAA0B,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACpE,sBAAsB,UAAS;IAE/B,qBAAqB,cAAwB;IAC7C,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACzC,yBAAyB,cAAwB;IACjD,cAAc,EAAE,OAAO,GAAG,OAAO,CAAS;IAC1C,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,YAAY,UAAS;IACrB,gBAAgB,cAAwB;IAExC,OAAO,EAAE,KAAK,EAAE,CAAM;IACtB,gBAAgB,cAAwB;IAExC,UAAU,EAAE,SAAS,EAAE,CAAM;IAC7B,gBAAgB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC,mBAAmB,cAAwB;IAC3C,oBAAoB,cAAwB;IAC5C,wBAAwB,UAAS;
|
|
1
|
+
{"version":3,"file":"WorkspaceSetupStore.d.ts","sourceRoot":"","sources":["../../../src/stores/workspace-setup/WorkspaceSetupStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,6 @@ export class WorkspaceSetupStore {
|
|
|
47
47
|
loadWorkspacesState = ActionState.create();
|
|
48
48
|
createWorkspaceState = ActionState.create();
|
|
49
49
|
showCreateWorkspaceModal = false;
|
|
50
|
-
showAdvancedWorkspaceFilterOptions = false;
|
|
51
50
|
graphManagerState;
|
|
52
51
|
// Cached recents to make re-opening a project/workspace instantaneous.
|
|
53
52
|
// NOTE: patch-based workspaces are intentionally excluded from this cache.
|
|
@@ -63,7 +62,6 @@ export class WorkspaceSetupStore {
|
|
|
63
62
|
showCreateProjectModal: observable,
|
|
64
63
|
workspaces: observable,
|
|
65
64
|
currentWorkspace: observable,
|
|
66
|
-
showAdvancedWorkspaceFilterOptions: observable,
|
|
67
65
|
loadSandboxState: observable,
|
|
68
66
|
showCreateWorkspaceModal: observable,
|
|
69
67
|
sandboxProject: observable,
|
|
@@ -76,7 +74,6 @@ export class WorkspaceSetupStore {
|
|
|
76
74
|
recentWorkspaces: observable,
|
|
77
75
|
setShowCreateProjectModal: action,
|
|
78
76
|
setShowCreateWorkspaceModal: action,
|
|
79
|
-
setShowAdvancedWorkspaceFilterOptions: action,
|
|
80
77
|
setImportProjectSuccessReport: action,
|
|
81
78
|
setSandboxModal: action,
|
|
82
79
|
changeWorkspace: action,
|
|
@@ -117,9 +114,6 @@ export class WorkspaceSetupStore {
|
|
|
117
114
|
setShowCreateWorkspaceModal(val) {
|
|
118
115
|
this.showCreateWorkspaceModal = val;
|
|
119
116
|
}
|
|
120
|
-
setShowAdvancedWorkspaceFilterOptions(val) {
|
|
121
|
-
this.showAdvancedWorkspaceFilterOptions = val;
|
|
122
|
-
}
|
|
123
117
|
setImportProjectSuccessReport(importProjectSuccessReport) {
|
|
124
118
|
this.importProjectSuccessReport = importProjectSuccessReport;
|
|
125
119
|
}
|
|
@@ -163,6 +157,12 @@ export class WorkspaceSetupStore {
|
|
|
163
157
|
* Fetches a project by id (used when the user picks a cached "recent"
|
|
164
158
|
* project that may not be in the current search results) and switches to
|
|
165
159
|
* it. If the project no longer exists, the entry is pruned from recents.
|
|
160
|
+
*
|
|
161
|
+
* NOTE: we deliberately don't short-circuit using the cached recent entry
|
|
162
|
+
* here. Going through `getProject` keeps the prune-on-404 path intact, and
|
|
163
|
+
* the cached metadata is already used elsewhere to make the UI feel fast
|
|
164
|
+
* (dropdown stubs in `WorkspaceSetup.tsx` and tile labels in
|
|
165
|
+
* `RecentWorkspacesPanel.tsx`).
|
|
166
166
|
*/
|
|
167
167
|
*selectRecentProject(projectId) {
|
|
168
168
|
this.selectRecentProjectState.inProgress();
|
|
@@ -194,6 +194,10 @@ export class WorkspaceSetupStore {
|
|
|
194
194
|
message: `Sandbox project ${sandboxProject.projectId} created. Creating default workspace...`,
|
|
195
195
|
showLoading: true,
|
|
196
196
|
});
|
|
197
|
+
// Invalidate the cached sandbox info so loadSandboxProject re-fetches
|
|
198
|
+
// and persists the newly-created project id instead of reusing the
|
|
199
|
+
// stale "no sandbox yet" cache entry.
|
|
200
|
+
LegendStudioUserDataHelper.workspaceSetup_clearSandboxInfo(this.applicationStore.userDataService);
|
|
197
201
|
yield flowResult(this.loadSandboxProject());
|
|
198
202
|
const sandbox = guaranteeType(this.sandboxProject, Project, 'Error retrieving sandbox project');
|
|
199
203
|
const initialWorkspace = Workspace.serialization.fromJson((yield this.sdlcServerClient.createWorkspace(sandbox.projectId, undefined, 'myWorkspace', WorkspaceType.GROUP)));
|
|
@@ -300,10 +304,47 @@ export class WorkspaceSetupStore {
|
|
|
300
304
|
if (this.enginePromise) {
|
|
301
305
|
yield this.enginePromise;
|
|
302
306
|
}
|
|
303
|
-
const
|
|
307
|
+
const userId = this.sdlcServerClient.currentUser?.userId;
|
|
308
|
+
// Fast path — if we have a recent, user-matching cache entry, use it to
|
|
309
|
+
// avoid the `userHasPrototypeProjectAccess` graph manager call and the
|
|
310
|
+
// sandbox-tag project search. We still hit SDLC once to confirm the
|
|
311
|
+
// cached projectId is alive, but `getProject(id)` is cheaper than the
|
|
312
|
+
// tagged search and self-invalidates on 404.
|
|
313
|
+
if (userId) {
|
|
314
|
+
const cached = LegendStudioUserDataHelper.workspaceSetup_getCachedSandboxInfo(this.applicationStore.userDataService, userId);
|
|
315
|
+
if (cached) {
|
|
316
|
+
this.hasSandboxAccess = cached.hasAccess;
|
|
317
|
+
if (!cached.hasAccess) {
|
|
318
|
+
// No access, no project — nothing else to do.
|
|
319
|
+
this.sandboxProject = true;
|
|
320
|
+
this.loadSandboxState.pass();
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
if (cached.projectId) {
|
|
324
|
+
try {
|
|
325
|
+
this.sandboxProject = Project.serialization.fromJson((yield this.sdlcServerClient.getProject(cached.projectId)));
|
|
326
|
+
this.loadSandboxState.pass();
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
catch {
|
|
330
|
+
// Cached sandbox project no longer exists on the server; drop
|
|
331
|
+
// the cache and fall through to the full refresh.
|
|
332
|
+
LegendStudioUserDataHelper.workspaceSetup_clearSandboxInfo(this.applicationStore.userDataService);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
// User has access but hasn't created a sandbox yet.
|
|
337
|
+
this.sandboxProject = true;
|
|
338
|
+
this.loadSandboxState.pass();
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
// Slow path — original flow.
|
|
344
|
+
const sandboxProject = (yield this.sdlcServerClient.getProjects(undefined, userId, [SANDBOX_SDLC_TAG], 1)).map((v) => Project.serialization.fromJson(v));
|
|
304
345
|
if (this.hasSandboxAccess === undefined) {
|
|
305
346
|
this.hasSandboxAccess =
|
|
306
|
-
(yield this.graphManagerState.graphManager.userHasPrototypeProjectAccess(
|
|
347
|
+
(yield this.graphManagerState.graphManager.userHasPrototypeProjectAccess(userId ?? ''));
|
|
307
348
|
}
|
|
308
349
|
this.sandboxProject = true;
|
|
309
350
|
if (sandboxProject.length > 1) {
|
|
@@ -312,6 +353,17 @@ export class WorkspaceSetupStore {
|
|
|
312
353
|
else if (sandboxProject.length === 1) {
|
|
313
354
|
this.sandboxProject = guaranteeNonNullable(sandboxProject[0]);
|
|
314
355
|
}
|
|
356
|
+
// Persist the fresh result for next time. We only cache when we have
|
|
357
|
+
// a userId (cache is scoped per user); anonymous sessions skip this.
|
|
358
|
+
if (userId) {
|
|
359
|
+
LegendStudioUserDataHelper.workspaceSetup_recordSandboxInfo(this.applicationStore.userDataService, {
|
|
360
|
+
userId,
|
|
361
|
+
hasAccess: this.hasSandboxAccess,
|
|
362
|
+
projectId: this.sandboxProject instanceof Project
|
|
363
|
+
? this.sandboxProject.projectId
|
|
364
|
+
: undefined,
|
|
365
|
+
});
|
|
366
|
+
}
|
|
315
367
|
this.loadSandboxState.pass();
|
|
316
368
|
}
|
|
317
369
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceSetupStore.js","sourceRoot":"","sources":["../../../src/stores/workspace-setup/WorkspaceSetupStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkspaceSetupStore.js","sourceRoot":"","sources":["../../../src/stores/workspace-setup/WorkspaceSetupStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-studio",
|
|
3
|
-
"version": "28.21.
|
|
3
|
+
"version": "28.21.7",
|
|
4
4
|
"description": "Legend Studio application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"@finos/legend-art": "7.1.148",
|
|
52
52
|
"@finos/legend-code-editor": "2.0.172",
|
|
53
53
|
"@finos/legend-data-cube": "0.3.89",
|
|
54
|
-
"@finos/legend-extension-dsl-data-product": "0.0.
|
|
54
|
+
"@finos/legend-extension-dsl-data-product": "0.0.82",
|
|
55
55
|
"@finos/legend-extension-dsl-diagram": "8.1.236",
|
|
56
56
|
"@finos/legend-graph": "32.6.4",
|
|
57
57
|
"@finos/legend-lego": "2.0.192",
|
|
58
|
-
"@finos/legend-query-builder": "4.18.
|
|
58
|
+
"@finos/legend-query-builder": "4.18.11",
|
|
59
59
|
"@finos/legend-server-depot": "6.1.12",
|
|
60
60
|
"@finos/legend-server-lakehouse": "0.3.53",
|
|
61
61
|
"@finos/legend-server-sdlc": "5.4.3",
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
usingModelSchema,
|
|
7
7
|
} from '@finos/legend-shared';
|
|
8
8
|
import { WorkspaceType } from '@finos/legend-server-sdlc';
|
|
9
|
-
import { createModelSchema, list, primitive } from 'serializr';
|
|
9
|
+
import { createModelSchema, list, optional, primitive } from 'serializr';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Copyright (c) 2020-present, Goldman Sachs
|
|
@@ -39,6 +39,12 @@ export enum LEGEND_STUDIO_USER_DATA_KEY {
|
|
|
39
39
|
// Recently-opened projects and (non-patch) workspaces shown on the
|
|
40
40
|
// workspace setup screen to speed up re-opening common work.
|
|
41
41
|
WORKSPACE_SETUP_RECENTS = 'studio-editor.workspace-setup.recents',
|
|
42
|
+
// Per-user cache of the sandbox-access boolean + the sandbox project id,
|
|
43
|
+
// so the workspace setup screen can render the sandbox UI without waiting
|
|
44
|
+
// on the `userHasPrototypeProjectAccess` graph manager call AND a
|
|
45
|
+
// sandbox-tag project search on every mount. Revalidated against SDLC in
|
|
46
|
+
// the background; invalidated automatically on 404 or after the TTL.
|
|
47
|
+
WORKSPACE_SETUP_SANDBOX_INFO = 'studio-editor.workspace-setup.sandboxInfo',
|
|
42
48
|
}
|
|
43
49
|
|
|
44
50
|
// --- Workspace setup recents -------------------------------------------------
|
|
@@ -50,13 +56,19 @@ const MAX_RECENT_WORKSPACES = 20;
|
|
|
50
56
|
export class RecentProjectEntry {
|
|
51
57
|
projectId!: string;
|
|
52
58
|
name!: string;
|
|
59
|
+
description!: string;
|
|
60
|
+
webUrl!: string;
|
|
61
|
+
tags!: string[];
|
|
53
62
|
lastOpenedAt!: number;
|
|
54
63
|
|
|
55
64
|
static readonly serialization = new SerializationFactory(
|
|
56
65
|
createModelSchema(RecentProjectEntry, {
|
|
66
|
+
description: primitive(),
|
|
57
67
|
lastOpenedAt: primitive(),
|
|
58
68
|
name: primitive(),
|
|
59
69
|
projectId: primitive(),
|
|
70
|
+
tags: list(primitive()),
|
|
71
|
+
webUrl: primitive(),
|
|
60
72
|
}),
|
|
61
73
|
);
|
|
62
74
|
}
|
|
@@ -134,6 +146,31 @@ const writeRecents = (
|
|
|
134
146
|
);
|
|
135
147
|
};
|
|
136
148
|
|
|
149
|
+
// --- Cached sandbox info -----------------------------------------------------
|
|
150
|
+
|
|
151
|
+
// Sandbox access and the sandbox project id rarely change for a given user,
|
|
152
|
+
// but they're costly to look up on every setup mount (one graph manager call
|
|
153
|
+
// + one tagged-project search). Cache the result for a day and revalidate
|
|
154
|
+
// in the background on the fast path.
|
|
155
|
+
const SANDBOX_INFO_TTL_MS = 24 * 60 * 60 * 1000;
|
|
156
|
+
|
|
157
|
+
export class CachedSandboxInfo {
|
|
158
|
+
userId!: string;
|
|
159
|
+
hasAccess!: boolean;
|
|
160
|
+
/** undefined when the user has access but hasn't created a sandbox yet. */
|
|
161
|
+
projectId?: string | undefined;
|
|
162
|
+
fetchedAt!: number;
|
|
163
|
+
|
|
164
|
+
static readonly serialization = new SerializationFactory(
|
|
165
|
+
createModelSchema(CachedSandboxInfo, {
|
|
166
|
+
fetchedAt: primitive(),
|
|
167
|
+
hasAccess: primitive(),
|
|
168
|
+
projectId: optional(primitive()),
|
|
169
|
+
userId: primitive(),
|
|
170
|
+
}),
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
|
|
137
174
|
export class LegendStudioUserDataHelper {
|
|
138
175
|
static globalTestRunner_getShowDependencyPanel(
|
|
139
176
|
service: UserDataService,
|
|
@@ -190,12 +227,21 @@ export class LegendStudioUserDataHelper {
|
|
|
190
227
|
|
|
191
228
|
static workspaceSetup_recordRecentProject(
|
|
192
229
|
service: UserDataService,
|
|
193
|
-
entry: {
|
|
230
|
+
entry: {
|
|
231
|
+
projectId: string;
|
|
232
|
+
name: string;
|
|
233
|
+
description: string;
|
|
234
|
+
webUrl: string;
|
|
235
|
+
tags: string[];
|
|
236
|
+
},
|
|
194
237
|
): RecentProjectEntry[] {
|
|
195
238
|
const recents = readRecents(service);
|
|
196
239
|
const next = new RecentProjectEntry();
|
|
197
240
|
next.projectId = entry.projectId;
|
|
198
241
|
next.name = entry.name;
|
|
242
|
+
next.description = entry.description;
|
|
243
|
+
next.webUrl = entry.webUrl;
|
|
244
|
+
next.tags = entry.tags;
|
|
199
245
|
next.lastOpenedAt = Date.now();
|
|
200
246
|
recents.projects = [
|
|
201
247
|
next,
|
|
@@ -273,4 +319,63 @@ export class LegendStudioUserDataHelper {
|
|
|
273
319
|
static workspaceSetup_clearRecents(service: UserDataService): void {
|
|
274
320
|
writeRecents(service, emptyRecents());
|
|
275
321
|
}
|
|
322
|
+
|
|
323
|
+
// --- Cached sandbox info -------------------------------------------------
|
|
324
|
+
|
|
325
|
+
static workspaceSetup_getCachedSandboxInfo(
|
|
326
|
+
service: UserDataService,
|
|
327
|
+
currentUserId: string,
|
|
328
|
+
): CachedSandboxInfo | undefined {
|
|
329
|
+
const raw = returnUndefOnError(() =>
|
|
330
|
+
service.getObjectValue(
|
|
331
|
+
LEGEND_STUDIO_USER_DATA_KEY.WORKSPACE_SETUP_SANDBOX_INFO,
|
|
332
|
+
),
|
|
333
|
+
);
|
|
334
|
+
if (!raw) {
|
|
335
|
+
return undefined;
|
|
336
|
+
}
|
|
337
|
+
const parsed = returnUndefOnError(() =>
|
|
338
|
+
CachedSandboxInfo.serialization.fromJson(
|
|
339
|
+
raw as PlainObject<CachedSandboxInfo>,
|
|
340
|
+
),
|
|
341
|
+
);
|
|
342
|
+
if (!parsed) {
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
// Discard entries that don't belong to the user looking at the screen
|
|
346
|
+
// (e.g., after a user switch on a shared machine) or that have aged out.
|
|
347
|
+
if (parsed.userId !== currentUserId) {
|
|
348
|
+
return undefined;
|
|
349
|
+
}
|
|
350
|
+
if (Date.now() - parsed.fetchedAt > SANDBOX_INFO_TTL_MS) {
|
|
351
|
+
return undefined;
|
|
352
|
+
}
|
|
353
|
+
return parsed;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
static workspaceSetup_recordSandboxInfo(
|
|
357
|
+
service: UserDataService,
|
|
358
|
+
info: {
|
|
359
|
+
userId: string;
|
|
360
|
+
hasAccess: boolean;
|
|
361
|
+
projectId?: string | undefined;
|
|
362
|
+
},
|
|
363
|
+
): void {
|
|
364
|
+
const entry = new CachedSandboxInfo();
|
|
365
|
+
entry.userId = info.userId;
|
|
366
|
+
entry.hasAccess = info.hasAccess;
|
|
367
|
+
entry.projectId = info.projectId;
|
|
368
|
+
entry.fetchedAt = Date.now();
|
|
369
|
+
service.persistValue(
|
|
370
|
+
LEGEND_STUDIO_USER_DATA_KEY.WORKSPACE_SETUP_SANDBOX_INFO,
|
|
371
|
+
CachedSandboxInfo.serialization.toJson(entry),
|
|
372
|
+
);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
static workspaceSetup_clearSandboxInfo(service: UserDataService): void {
|
|
376
|
+
service.persistValue(
|
|
377
|
+
LEGEND_STUDIO_USER_DATA_KEY.WORKSPACE_SETUP_SANDBOX_INFO,
|
|
378
|
+
undefined,
|
|
379
|
+
);
|
|
380
|
+
}
|
|
276
381
|
}
|
|
@@ -65,15 +65,15 @@ export const RecentWorkspacesPanel = observer(
|
|
|
65
65
|
const applicationStore = setupStore.applicationStore;
|
|
66
66
|
|
|
67
67
|
// Recents are stored in LRU order (most-recent first). Show the top N
|
|
68
|
-
// workspaces;
|
|
69
|
-
//
|
|
68
|
+
// workspaces; look up each one's cached project entry for richer tile
|
|
69
|
+
// metadata (name, description tooltip, tag badges).
|
|
70
70
|
const tiles = setupStore.recentWorkspaces.slice(0, MAX_TILES);
|
|
71
71
|
if (tiles.length === 0) {
|
|
72
72
|
return null;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
const
|
|
76
|
-
setupStore.recentProjects.map((p) => [p.projectId, p
|
|
75
|
+
const projectById = new Map(
|
|
76
|
+
setupStore.recentProjects.map((p) => [p.projectId, p]),
|
|
77
77
|
);
|
|
78
78
|
|
|
79
79
|
const openWorkspace = (
|
|
@@ -96,8 +96,14 @@ export const RecentWorkspacesPanel = observer(
|
|
|
96
96
|
</div>
|
|
97
97
|
<div className="workspace-setup__recents__grid">
|
|
98
98
|
{tiles.map((entry) => {
|
|
99
|
-
const
|
|
100
|
-
|
|
99
|
+
const cachedProject = projectById.get(entry.projectId);
|
|
100
|
+
const projectName = cachedProject?.name ?? entry.projectId;
|
|
101
|
+
const projectDescription = cachedProject?.description ?? '';
|
|
102
|
+
const projectTags = cachedProject?.tags ?? [];
|
|
103
|
+
const tileTitle =
|
|
104
|
+
projectDescription.trim().length > 0
|
|
105
|
+
? `${projectName} / ${entry.workspaceId}\n${projectDescription}`
|
|
106
|
+
: `Open ${projectName} / ${entry.workspaceId}`;
|
|
101
107
|
const key = `${entry.projectId}::${entry.workspaceType}::${entry.workspaceId}`;
|
|
102
108
|
const handleRemove = (
|
|
103
109
|
event: React.MouseEvent<HTMLButtonElement>,
|
|
@@ -114,7 +120,7 @@ export const RecentWorkspacesPanel = observer(
|
|
|
114
120
|
key={key}
|
|
115
121
|
type="button"
|
|
116
122
|
className="workspace-setup__recents__tile"
|
|
117
|
-
title={
|
|
123
|
+
title={tileTitle}
|
|
118
124
|
onClick={() =>
|
|
119
125
|
openWorkspace(
|
|
120
126
|
entry.projectId,
|
|
@@ -148,8 +154,22 @@ export const RecentWorkspacesPanel = observer(
|
|
|
148
154
|
{entry.workspaceId}
|
|
149
155
|
</span>
|
|
150
156
|
</div>
|
|
151
|
-
<div className="workspace-
|
|
152
|
-
{
|
|
157
|
+
<div className="workspace-setup__recents__tile__meta">
|
|
158
|
+
{projectTags.length > 0 && (
|
|
159
|
+
<div className="workspace-setup__recents__tile__tags">
|
|
160
|
+
{projectTags.slice(0, 2).map((tag) => (
|
|
161
|
+
<span
|
|
162
|
+
key={tag}
|
|
163
|
+
className="workspace-setup__recents__tile__tag"
|
|
164
|
+
>
|
|
165
|
+
{tag}
|
|
166
|
+
</span>
|
|
167
|
+
))}
|
|
168
|
+
</div>
|
|
169
|
+
)}
|
|
170
|
+
<div className="workspace-setup__recents__tile__time">
|
|
171
|
+
{formatRelativeTime(entry.lastOpenedAt)}
|
|
172
|
+
</div>
|
|
153
173
|
</div>
|
|
154
174
|
</button>
|
|
155
175
|
);
|
|
@@ -378,15 +378,14 @@ export const WorkspaceSetup = withWorkspaceSetupStore(
|
|
|
378
378
|
const recentProjectOptions: ProjectOption[] = setupStore.recentProjects
|
|
379
379
|
.filter((r) => !loadedProjectIds.has(r.projectId))
|
|
380
380
|
.map((r) => {
|
|
381
|
-
//
|
|
382
|
-
//
|
|
383
|
-
// via `selectRecentProject`.
|
|
381
|
+
// Rebuild a real Project from the cached metadata; no synthetic
|
|
382
|
+
// fields needed since we persist everything the schema requires.
|
|
384
383
|
const stub = Project.serialization.fromJson({
|
|
385
384
|
projectId: r.projectId,
|
|
386
385
|
name: r.name,
|
|
387
|
-
description:
|
|
388
|
-
webUrl:
|
|
389
|
-
tags:
|
|
386
|
+
description: r.description,
|
|
387
|
+
webUrl: r.webUrl,
|
|
388
|
+
tags: r.tags,
|
|
390
389
|
} as PlainObject<Project>);
|
|
391
390
|
return { label: stub.name, value: stub };
|
|
392
391
|
});
|
|
@@ -842,6 +842,9 @@ export class EditorStore implements CommandRegistrar {
|
|
|
842
842
|
{
|
|
843
843
|
projectId: this.sdlcState.currentProject.projectId,
|
|
844
844
|
name: this.sdlcState.currentProject.name,
|
|
845
|
+
description: this.sdlcState.currentProject.description,
|
|
846
|
+
webUrl: this.sdlcState.currentProject.webUrl,
|
|
847
|
+
tags: this.sdlcState.currentProject.tags,
|
|
845
848
|
},
|
|
846
849
|
);
|
|
847
850
|
LegendStudioUserDataHelper.workspaceSetup_recordRecentWorkspace(
|