Skip to content

Commit a273b07

Browse files
authored
feat: update version info pop-up with python/groovy version (#2291)
Fixes #2184 Fixes #2289 Updates from tooltip to contextual help button, adds python/grrovy version and changes OS name to "User Agent OS" to clarify that it is the user agent reported version (and thus may be different from what you expect).
1 parent 414e652 commit a273b07

4 files changed

Lines changed: 40 additions & 26 deletions

File tree

packages/code-studio/src/settings/SettingsMenu.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,4 +204,5 @@ $settings-menu-z-index: $zindex-modal;
204204
grid-template-columns: auto auto;
205205
gap: $spacer-1 $spacer-3;
206206
text-align: left;
207+
margin-bottom: $spacer-2;
207208
}

packages/code-studio/src/settings/SettingsMenu.tsx

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
vsClose,
1010
vsWatch,
1111
vsRecordKeys,
12-
vsInfo,
1312
vsLayers,
1413
vsPaintcan,
1514
dhUserIncognito,
@@ -19,10 +18,12 @@ import {
1918
} from '@deephaven/icons';
2019
import {
2120
Button,
21+
ContextualHelp,
22+
Heading,
23+
Content,
2224
CopyButton,
2325
GLOBAL_SHORTCUTS,
2426
Logo,
25-
Tooltip,
2627
} from '@deephaven/components';
2728
import { type ServerConfigValues, type User, store } from '@deephaven/redux';
2829
import {
@@ -383,27 +384,30 @@ export class SettingsMenu extends Component<
383384
<div className="app-settings-footer-item">
384385
<div className="font-weight-bold">Version</div>
385386
<span className="d-inline-block text-muted">
386-
{deephavenVersion} <FontAwesomeIcon icon={vsInfo} />
387-
<Tooltip interactive>
388-
<div className="detailed-server-config">
389-
{Object.entries(versionInfo).map(([key, value]) =>
390-
getRow(key, value)
391-
)}
392-
</div>
393-
<CopyButton
394-
kind="inline"
395-
tooltip="Copy version numbers"
396-
copy={Object.entries({
397-
...versionInfo,
398-
...pluginInfo,
399-
})
400-
.map(([key, value]) => `${key}: ${value}`)
401-
.join('\n')}
402-
>
403-
Copy Versions
404-
<small className="text-muted">({copyShortcut})</small>
405-
</CopyButton>
406-
</Tooltip>
387+
{deephavenVersion}
388+
<ContextualHelp variant="info">
389+
<Heading>Version Info</Heading>
390+
<Content>
391+
<div className="detailed-server-config">
392+
{Object.entries(versionInfo).map(([key, value]) =>
393+
getRow(key, value)
394+
)}
395+
</div>
396+
<CopyButton
397+
kind="inline"
398+
tooltip="Copy version numbers"
399+
copy={Object.entries({
400+
...versionInfo,
401+
...pluginInfo,
402+
})
403+
.map(([key, value]) => `${key}: ${value}`)
404+
.join('\n')}
405+
>
406+
Copy Versions
407+
<small className="text-muted">({copyShortcut})</small>
408+
</CopyButton>
409+
</Content>
410+
</ContextualHelp>
407411
</span>
408412
</div>
409413
<div className="app-settings-footer-item">

packages/code-studio/src/settings/SettingsUtils.test.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ describe('getFormattedVersionInfo', () => {
44
it('should return the formatted version information', () => {
55
const serverConfigValues = new Map<string, string>();
66
serverConfigValues.set('deephaven.version', '1.0.0');
7+
serverConfigValues.set('python.version', '3.9.7');
8+
serverConfigValues.set('groovy.version', '11.0.1');
79
serverConfigValues.set('java.version', '11.0.1');
810
serverConfigValues.set('barrage.version', '2.3.4');
911

@@ -20,10 +22,12 @@ describe('getFormattedVersionInfo', () => {
2022
expect(result).toEqual({
2123
'Engine Version': '1.0.0',
2224
'Web UI Version': '0.0.1',
25+
'Python Version': '3.9.7',
2326
'Java Version': '11.0.1',
27+
'Groovy Version': '11.0.1',
2428
'Barrage Version': '2.3.4',
2529
'Browser Name': 'Chrome 96',
26-
'OS Name': 'Windows NT 10.0',
30+
'User Agent OS': 'Windows NT 10.0',
2731
});
2832
});
2933

@@ -43,9 +47,10 @@ describe('getFormattedVersionInfo', () => {
4347
'Engine Version': 'Unknown',
4448
'Web UI Version': '0.0.1',
4549
'Java Version': 'Unknown',
50+
'Groovy Version': 'Unknown',
4651
'Barrage Version': 'Unknown',
4752
'Browser Name': 'Unknown',
48-
'OS Name': 'Unknown',
53+
'User Agent OS': 'Unknown',
4954
});
5055
});
5156
});

packages/code-studio/src/settings/SettingsUtils.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,17 @@ export function getFormattedVersionInfo(
4949
Number(parseFloat(ua.browser.version ?? '')) || ''
5050
}`;
5151
const os = `${ua.os.name ?? ''} ${ua.os.version ?? ''}`;
52+
const pythonVersion = serverConfigValues.get('python.version') ?? '';
5253
return {
5354
'Engine Version': serverConfigValues.get('deephaven.version') ?? 'Unknown',
5455
'Web UI Version': import.meta.env.npm_package_version ?? 'Unknown',
56+
// Python version is only available in python sessions
57+
...(pythonVersion !== '' ? { 'Python Version': pythonVersion } : {}),
5558
'Java Version': serverConfigValues.get('java.version') ?? 'Unknown',
59+
'Groovy Version': serverConfigValues.get('groovy.version') ?? 'Unknown',
5660
'Barrage Version': serverConfigValues.get('barrage.version') ?? 'Unknown',
5761
'Browser Name': browser.trim() || 'Unknown',
58-
'OS Name': os.trim() || 'Unknown',
62+
'User Agent OS': os.trim() || 'Unknown',
5963
};
6064
}
6165

0 commit comments

Comments
 (0)