Skip to content

Commit 7f476af

Browse files
authored
Merge branch 'main' into fix/recipe-modal-popup
2 parents 2d7645b + 332a7d8 commit 7f476af

File tree

109 files changed

+2933
-733
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+2933
-733
lines changed

.github/workflows/prettier.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Prettier Check
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
prettier-check:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: "22"
21+
cache: "npm"
22+
23+
- name: Install dependencies
24+
run: npm ci
25+
26+
- name: Check Prettier formatting
27+
run: npm run format:check

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@
4242
"start:preload-cloud": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.preload-cloud.dev.ts",
4343
"start:renderer": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts",
4444
"start:cloud": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.cloud.dev.ts",
45-
"test": "jest"
45+
"test": "jest",
46+
"format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}\"",
47+
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}\""
4648
},
4749
"browserslist": [],
4850
"prettier": {
@@ -308,4 +310,4 @@
308310
],
309311
"logLevel": "quiet"
310312
}
311-
}
313+
}

src/renderer/App.tsx

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {
2727
} from './lib/ExperimentInfoContext';
2828
import * as chatAPI from './lib/transformerlab-api-sdk';
2929
import RootAuthCallbackHandler from './components/User/RootAuthCallbackHandler';
30+
import SidebarForGPUOrchestration from './components/Nav/SidebarForGPUOrchestration';
3031

3132
type AppContentProps = {
3233
connection: string;
@@ -37,6 +38,8 @@ type AppContentProps = {
3738
themeSetter: (name: string) => void;
3839
setSSHConnection: (conn: any) => void;
3940
setConnection: (conn: string) => void;
41+
gpuOrchestrationServer: string;
42+
setGPUOrchestrationServer: (server: string) => void;
4043
};
4144

4245
function AppContent({
@@ -48,6 +51,8 @@ function AppContent({
4851
themeSetter,
4952
setSSHConnection,
5053
setConnection,
54+
gpuOrchestrationServer,
55+
setGPUOrchestrationServer,
5156
}: AppContentProps) {
5257
const onOutputDrawerDrag = useCallback(
5358
(pos: { y: number }) => {
@@ -80,12 +85,24 @@ function AppContent({
8085
`,
8186
})}
8287
>
83-
<Header connection={connection} setConnection={setConnection} />
84-
<Sidebar
85-
logsDrawerOpen={logsDrawerOpen}
86-
setLogsDrawerOpen={setLogsDrawerOpen as any}
87-
themeSetter={themeSetter}
88+
<Header
89+
connection={connection}
90+
setConnection={setConnection}
91+
gpuOrchestrationServer={gpuOrchestrationServer}
8892
/>
93+
{gpuOrchestrationServer !== '' ? (
94+
<SidebarForGPUOrchestration
95+
logsDrawerOpen={logsDrawerOpen}
96+
setLogsDrawerOpen={setLogsDrawerOpen as any}
97+
themeSetter={themeSetter}
98+
/>
99+
) : (
100+
<Sidebar
101+
logsDrawerOpen={logsDrawerOpen}
102+
setLogsDrawerOpen={setLogsDrawerOpen as any}
103+
themeSetter={themeSetter}
104+
/>
105+
)}
89106
<Box
90107
sx={{
91108
px: {
@@ -103,7 +120,10 @@ function AppContent({
103120
}}
104121
id="main-app-panel"
105122
>
106-
<MainAppPanel setLogsDrawerOpen={setLogsDrawerOpen as any} />
123+
<MainAppPanel
124+
setLogsDrawerOpen={setLogsDrawerOpen as any}
125+
gpuOrchestrationServer={gpuOrchestrationServer}
126+
/>
107127
</Box>
108128
<Box
109129
sx={{
@@ -166,6 +186,7 @@ function AppContent({
166186
connection={connection}
167187
setTerminalDrawerOpen={setLogsDrawerOpen}
168188
setSSHConnection={setSSHConnection}
189+
setGPUOrchestrationServer={setGPUOrchestrationServer}
169190
/>
170191
</Box>
171192
);
@@ -175,6 +196,7 @@ const INITIAL_LOGS_DRAWER_HEIGHT = 200; // Default height for logs drawer when f
175196

176197
export default function App() {
177198
const [connection, setConnection] = useState('');
199+
const [gpuOrchestrationServer, setGPUOrchestrationServer] = useState('');
178200
const [logsDrawerOpen, setLogsDrawerOpen] = useState(false);
179201
const [logsDrawerHeight, setLogsDrawerHeight] = useState(0);
180202
const [theme, setTheme] = useState(customTheme);
@@ -210,6 +232,8 @@ export default function App() {
210232
themeSetter={themeSetter}
211233
setSSHConnection={() => {}}
212234
setConnection={setConnection}
235+
gpuOrchestrationServer={gpuOrchestrationServer}
236+
setGPUOrchestrationServer={setGPUOrchestrationServer}
213237
/>
214238
</ExperimentInfoProvider>
215239
</CssVarsProvider>

src/renderer/components/Computer.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ function StatRow({ title, value }) {
6565
);
6666
}
6767

68-
const fetcher = (url) => fetch(url).then((res) => res.json());
69-
7068
export default function Computer() {
7169
const [searchText, setSearchText] = useState('');
7270

src/renderer/components/Connect/LoginModal.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export default function LoginModal({
3737
connection,
3838
setTerminalDrawerOpen,
3939
setSSHConnection,
40+
setGPUOrchestrationServer,
4041
}) {
4142
const [checking, setChecking] = React.useState<boolean>(false);
4243
const [failed, setFailed] = React.useState<boolean>(false);
@@ -95,6 +96,9 @@ export default function LoginModal({
9596
(window as any).TransformerLab = (window as any).TransformerLab || {};
9697
(window as any).TransformerLab.UserInitiatedConnect = true;
9798
} catch {}
99+
if (response?.gpu_orchestration_server) {
100+
setGPUOrchestrationServer(response.gpu_orchestration_server);
101+
}
98102
setServer(window.TransformerLab.API_URL);
99103
} else {
100104
setFailed(true);

src/renderer/components/Data/Data.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import DataStore from './DataStore';
77
import LocalDatasets from './LocalDatasets';
88
import GeneratedDatasets from './GeneratedDatasets';
99

10-
export default function Data() {
10+
export default function Data({ gpuOrchestrationServer = '' }) {
1111
return (
1212
<Sheet sx={{ display: 'flex', height: '100%' }}>
1313
<Tabs
@@ -24,10 +24,12 @@ export default function Data() {
2424
<TabList>
2525
<Tab>Local Datasets</Tab>
2626
<Tab>Generated Datasets</Tab>
27-
<Tab>
28-
<StoreIcon color="grey" />
29-
&nbsp; Dataset Store
30-
</Tab>
27+
{gpuOrchestrationServer === '' && (
28+
<Tab>
29+
<StoreIcon color="grey" />
30+
&nbsp; Dataset Store
31+
</Tab>
32+
)}
3133
</TabList>
3234
<TabPanel value={0} sx={{ overflow: 'hidden' }}>
3335
<LocalDatasets />

src/renderer/components/Data/DataStore.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { filterByFilters } from 'renderer/lib/utils';
1616

1717
import * as chatAPI from '../../lib/transformerlab-api-sdk';
1818

19-
const fetcher = (url) => fetch(url).then((res) => res.json());
19+
import { fetcher } from '../../lib/transformerlab-api-sdk';
2020

2121
export default function DataStore() {
2222
const [searchText, setSearchText] = useState('');

src/renderer/components/Data/DatasetCard.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,9 @@ export default function DatasetCard({
131131
if (
132132
confirm('Are you sure you want to delete this dataset?')
133133
) {
134-
await fetch(chatAPI.Endpoints.Dataset.Delete(name));
134+
await chatAPI.authenticatedFetch(
135+
chatAPI.Endpoints.Dataset.Delete(name),
136+
);
135137
parentMutate();
136138
}
137139
}}
@@ -201,7 +203,8 @@ export default function DatasetCard({
201203
}
202204
onClick={() => {
203205
setInstalling(true);
204-
fetch(chatAPI.Endpoints.Dataset.Download(repo))
206+
chatAPI
207+
.authenticatedFetch(chatAPI.Endpoints.Dataset.Download(repo))
205208
.then((response) => {
206209
if (!response.ok) {
207210
console.log(response);

src/renderer/components/Data/DatasetInfoModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919

2020
import * as chatAPI from '../../lib/transformerlab-api-sdk';
2121

22-
const fetcher = (url) => fetch(url).then((res) => res.json());
22+
import { fetcher } from '../../lib/transformerlab-api-sdk';
2323

2424
export default function DatasetInfoModal({ dataset_id, open, setOpen }) {
2525
const { data, error, isLoading, mutate } = useSWR(

src/renderer/components/Data/DatasetTable.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@ import { ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';
1818
import useSWR from 'swr';
1919
import * as chatAPI from '../../lib/transformerlab-api-sdk';
2020
import AudioPlayer from './AudioPlayer';
21-
22-
const fetcher = (url: string) =>
23-
fetch(url)
24-
.then((res) => res.json())
25-
.then((data) => data);
21+
import { fetcher } from '../../lib/transformerlab-api-sdk';
2622

2723
const DatasetTable = ({ datasetId }: { datasetId: string }) => {
2824
const [pageNumber, setPageNumber] = useState(1);

0 commit comments

Comments
 (0)