diff --git a/react/data/schema.graphql b/react/data/schema.graphql
index 933b6b1c84..f87b2167f5 100644
--- a/react/data/schema.graphql
+++ b/react/data/schema.graphql
@@ -170,7 +170,9 @@ type Queries {
"""Added in 24.09.0."""
compute_session_nodes(
- """Added in 24.12.0."""
+ """
+ Added in 25.2.0. Default value `system` queries across the entire system.
+ """
scope_id: ScopeField
"""Added in 24.09.0."""
@@ -612,6 +614,14 @@ type KernelNode implements Node {
cluster_hostname: String
session_id: UUID
image: ImageNode
+
+ """Added in 25.2.0."""
+ image_reference: String
+
+ """
+ Added in 24.12.0. The architecture that the image of this kernel requires
+ """
+ architecture: String
status: String
status_changed: DateTime
status_info: String
@@ -1227,6 +1237,12 @@ type ComputeSessionNode implements Node {
vfolder_mounts: [String]
occupied_slots: JSONString
requested_slots: JSONString
+
+ """Added in 25.2.0."""
+ image_references: [String]
+
+ """Added in 25.2.0."""
+ vfolder_nodes(filter: String, order: String, offset: Int, before: String, after: String, first: Int, last: Int): VirtualFolderConnection
num_queries: BigInt
inference_metrics: JSONString
kernel_nodes(filter: String, order: String, offset: Int, before: String, after: String, first: Int, last: Int): KernelConnection
diff --git a/react/src/components/SessionDetailContent.tsx b/react/src/components/SessionDetailContent.tsx
index 6ca90d56c2..cc7347d596 100644
--- a/react/src/components/SessionDetailContent.tsx
+++ b/react/src/components/SessionDetailContent.tsx
@@ -90,6 +90,16 @@ const SessionDetailContent: React.FC<{
resource_opts
status
vfolder_mounts
+ vfolder_nodes @since(version: "25.2.0") {
+ edges {
+ node {
+ id
+ row_id
+ name
+ }
+ }
+ count
+ }
created_at @required(action: NONE)
terminated_at
scaling_group
@@ -220,27 +230,46 @@ const SessionDetailContent: React.FC<{
)}
- {baiClient.supports('vfolder-mounts')
- ? _.map(
- _.zip(legacy_session?.mounts, session?.vfolder_mounts),
- (mountInfo) => {
- const [name, id] = mountInfo;
- return (
- }
- onClick={() => {
- open(id ?? '');
- }}
- >
- {name}
-
- );
- },
- )
- : legacy_session?.mounts?.join(', ')}
+ {session.vfolder_nodes
+ ? _.map(session?.vfolder_nodes?.edges, (vfolder) => {
+ return (
+ }
+ onClick={() => {
+ open(vfolder?.node?.row_id ?? '');
+ }}
+ >
+ {vfolder?.node?.name}
+
+ );
+ })
+ : baiClient.supports('vfolder-mounts')
+ ? _.map(
+ // compute_session_node query's vfolder_mounts is not include name.
+ // To provide vfolder name in compute_session_node, schema must be changed.
+ // legacy_session.mounts (name) and session.vfolder_mounts (id) give vfolder information in same order.
+ _.zip(legacy_session?.mounts, session?.vfolder_mounts),
+ (mountInfo) => {
+ const [name, id] = mountInfo;
+ return (
+ }
+ onClick={() => {
+ open(id ?? '');
+ }}
+ >
+ {name}
+
+ );
+ },
+ )
+ : legacy_session?.mounts?.join(', ')}