Skip to content

Commit ee7dae8

Browse files
authored
Merge branch 'enricoros:main' into main
2 parents 6fe94e3 + 4a8a2b9 commit ee7dae8

File tree

16 files changed

+203
-103
lines changed

16 files changed

+203
-103
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,28 @@ labels: [ 'type: bug' ]
55
body:
66
- type: markdown
77
attributes:
8-
value: |
9-
Thank you for reporting a bug. Please fill out the information below to help us resolve the issue more quickly.
8+
value: Thank you for reporting a bug.
109
- type: textarea
1110
attributes:
12-
label: Device and Browser Information
13-
description: '(required) Please specify your Mobile/Desktop device, OS version, browser.'
14-
placeholder: 'Device: (e.g., iPhone 16, Pixel 9, PC, Macbook...), OS: (e.g., iOS 17, Windows 12), Browser: (e.g., Chrome 119, Safari 18, Firefox..)'
11+
label: Description
12+
description: (required) Please provide a clear description. Please also provide the steps to reproduce.
13+
placeholder: 'Concise description + steps to reproduce.'
1514
validations:
1615
required: true
1716
- type: textarea
1817
attributes:
19-
label: Describe the bug
20-
description: (required) Please provide a clear and concise description of what the bug is. Please also provide the steps to reproduce the behavior. If you can't provide steps, describe what you were doing when the issue occurred.
21-
placeholder: 'Concise description + steps to reproduce.'
18+
label: Device and browser
19+
description: '(required) Please specify your Mobile/Desktop device, OS version, browser.'
20+
placeholder: 'Device: (e.g., iPhone 16, Pixel 9, PC, Macbook...), OS: (e.g., iOS 17, Windows 12), Browser: (e.g., Chrome 119, Safari 18, Firefox..)'
2221
validations:
2322
required: true
2423
- type: textarea
2524
attributes:
26-
label: Screenshots and Additional Context
25+
label: Screenshots and more
2726
placeholder: 'Attach screenshots, or add any additional context here.'
2827
- type: checkboxes
2928
attributes:
3029
label: Willingness to Contribute
31-
description: We appreciate contributions. Would you be willing to submit a pull request with a fix for this issue?
30+
description: We appreciate contributions - would you be willing to submit a pull request?
3231
options:
3332
- label: '🙋‍♂️ Yes, I would like to contribute a fix.'

.github/ISSUE_TEMPLATE/maintainers-release.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ assignees: enricoros
2323
- [ ] Update the release version in package.json, and `npm i`
2424
- [ ] Update in-app News [src/apps/news/news.data.tsx](/src/apps/news/news.data.tsx)
2525
- [ ] Update the in-app News version number
26-
- [ ] Update the readme with the new release
26+
- [ ] Update the README.md with the new release
2727
- [ ] Copy the highlights to the [docs/changelog.md](/docs/changelog.md)
2828
- Release:
29-
- [ ] merge onto main
29+
- [ ] merge onto main `git checkout main && git merge --no-ff release-1.2.3`
30+
- [ ] re-tag `git tag -f v1.2.3 && git push opensource --tags -f'
3031
- [ ] verify deployment on Vercel
3132
- [ ] verify container on GitHub Packages
32-
- create a GitHub release
33-
- [ ] name it 'vX.Y.Z'
34-
- [ ] copy the release notes and link appropriate artifacts
33+
- [ ] update the GitHub release
34+
- [ ] push as stable `git push opensource main:main-stable`
3535
- Announce:
3636
- [ ] Discord announcement
3737
- [ ] Twitter announcement
@@ -71,7 +71,7 @@ The following are the new developments for 1.2.3:
7171
- paste the link to the milestone (closed) and each individual issue (content will be downloaded)
7272
- paste the git changelog `git log v1.1.0..v1.2.3 | clip`
7373

74-
### news.data.TSX
74+
### news.data.tsx
7575

7676
```markdown
7777
I need the following from you:
@@ -82,6 +82,13 @@ I need the following from you:
8282
4. I want you then to update the news.data.tsx for the new release
8383
```
8484

85+
### Readme (and Changelog)
86+
87+
```markdown
88+
I need you to update the README.md and the with the new release.
89+
Attaching the in-app news, with my language for you to improve on, but keep the tone.
90+
```
91+
8592
### GitHub release
8693

8794
```markdown
@@ -96,5 +103,6 @@ some stats (# of commits, etc.), and roll it for the new release.
96103
### Discord announcement
97104

98105
```markdown
99-
Can you generate my 1.2.3 big-AGI discord announcement from the GitHub Release announcement, and the in-app News?
106+
Can you generate my 1.2.3 big-AGI discord announcement from the GitHub Release announcement?
107+
Please keep the formatting and stye of the discord announcement for 1.1.0, but with the new messaging above.
100108
```

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@ shows the current developments and future ideas.
2121
- Got a suggestion? [_Add your roadmap ideas_](https://github.com/enricoros/big-agi/issues/new?&template=roadmap-request.md)
2222
- Want to contribute? [_Pick up a task!_](https://github.com/users/enricoros/projects/4/views/4) - _easy_ to _pro_
2323

24+
### What's New in 1.10.0 · Jan 6, 2024 · The Year of AGI
25+
26+
- **New UI**: for both desktop and mobile, sets the stage for future scale. [#201](https://github.com/enricoros/big-AGI/issues/201)
27+
- **Conversation Folders**: enhanced conversation organization. [#321](https://github.com/enricoros/big-AGI/issues/321)
28+
- **[LM Studio](https://lmstudio.ai/)** support and improved token management
29+
- Resizable panes in split-screen conversations.
30+
- Large performance optimizations
31+
- Developer enhancements: new UI framework, updated documentation for proxy settings on browserless/docker
32+
2433
### What's New in 1.9.0 · Dec 28, 2023 · Creative Horizons
2534

2635
- **DALL·E 3 integration** for enhanced image generation. [#212](https://github.com/enricoros/big-AGI/issues/212)

docs/changelog.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,20 @@ by release.
55

66
- For the live roadmap, please see [the GitHub project](https://github.com/users/enricoros/projects/4/views/2)
77

8-
### 1.10.0 - Jan 2024
8+
### 1.11.0 - Jan 2024
99

10-
- milestone: [1.10.0](https://github.com/enricoros/big-agi/milestone/10)
10+
- milestone: [1.11.0](https://github.com/enricoros/big-agi/milestone/11)
1111
- work in progress: [big-AGI open roadmap](https://github.com/users/enricoros/projects/4/views/2), [help here](https://github.com/users/enricoros/projects/4/views/4)
1212

13+
### What's New in 1.10.0 · Jan 6, 2024 · The Year of AGI
14+
15+
- **New UI**: for both desktop and mobile, sets the stage for future scale. [#201](https://github.com/enricoros/big-AGI/issues/201)
16+
- **Conversation Folders**: enhanced conversation organization. [#321](https://github.com/enricoros/big-AGI/issues/321)
17+
- **[LM Studio](https://lmstudio.ai/)** support and improved token management
18+
- Resizable panes in split-screen conversations.
19+
- Large performance optimizations
20+
- Developer enhancements: new UI framework, updated documentation for proxy settings on browserless/docker
21+
1322
### What's New in 1.9.0 · Dec 28, 2023 · Creative Horizons
1423

1524
- **DALL·E 3 integration** for enhanced image generation. [#212](https://github.com/enricoros/big-AGI/issues/212)

package-lock.json

Lines changed: 9 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "big-agi",
3-
"version": "1.9.0",
3+
"version": "1.10.0",
44
"private": true,
55
"scripts": {
66
"dev": "next dev",
@@ -30,6 +30,7 @@
3030
"@trpc/react-query": "10.44.1",
3131
"@trpc/server": "10.44.1",
3232
"@vercel/analytics": "^1.1.1",
33+
"@vercel/speed-insights": "^1.0.2",
3334
"browser-fs-access": "^0.35.0",
3435
"eventsource-parser": "^1.1.1",
3536
"idb-keyval": "^6.2.1",

pages/_app.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import * as React from 'react';
22
import Head from 'next/head';
33
import { MyAppProps } from 'next/app';
44
import { Analytics as VercelAnalytics } from '@vercel/analytics/react';
5+
import { SpeedInsights as VercelSpeedInsights } from '@vercel/speed-insights/next';
6+
57

68
import { Brand } from '~/common/app.config';
79
import { apiQuery } from '~/common/util/trpc.client';
@@ -43,6 +45,7 @@ const MyApp = ({ Component, emotionCache, pageProps }: MyAppProps) =>
4345
</ProviderTheming>
4446

4547
<VercelAnalytics debug={false} />
48+
<VercelSpeedInsights debug={false} />
4649

4750
</>;
4851

src/apps/chat/AppChat.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ export function AppChat() {
392392
disableNewButton={isFocusedChatEmpty}
393393
onConversationActivate={setFocusedConversationId}
394394
onConversationDelete={handleConversationDelete}
395+
onConversationExportDialog={handleConversationExport}
395396
onConversationImportDialog={handleConversationImportDialog}
396397
onConversationNew={handleConversationNew}
397398
onConversationsDeleteAll={handleConversationsDeleteAll}

src/apps/chat/components/applayout/ChatDrawerItems.tsx

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import { shallow } from 'zustand/shallow';
44
import { Box, IconButton, ListDivider, ListItemDecorator, MenuItem, Tooltip, Input, InputProps } from '@mui/joy';
55
import AddIcon from '@mui/icons-material/Add';
66
import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';
7+
import FileDownloadIcon from '@mui/icons-material/FileDownload';
78
import FileUploadIcon from '@mui/icons-material/FileUpload';
89
import FolderOpenOutlinedIcon from '@mui/icons-material/FolderOpenOutlined';
910
import FolderOutlinedIcon from '@mui/icons-material/FolderOutlined';
1011
import SearchIcon from '@mui/icons-material/Search';
1112

1213
import { DFolder, useFoldersToggle, useFolderStore } from '~/common/state/store-folders';
13-
import { OpenAIIcon } from '~/common/components/icons/OpenAIIcon';
1414
import { PageDrawerHeader } from '~/common/layout/optima/components/PageDrawerHeader';
1515
import { PageDrawerList, PageDrawerTallItemSx } from '~/common/layout/optima/components/PageDrawerList';
1616
import { conversationTitle, DConversationId, useChatStore } from '~/common/state/store-chats';
@@ -54,6 +54,7 @@ export const useChatNavigationItems = (activeConversationId: DConversationId | n
5454
return selectConversations.map(_c => ({
5555
conversationId: _c.id,
5656
isActive: _c.id === activeConversationId,
57+
isEmpty: !_c.messages.length && !_c.userTitle,
5758
title: conversationTitle(_c, 'New Title'),
5859
messageCount: _c.messages.length,
5960
assistantTyping: !!_c.abortController,
@@ -111,6 +112,7 @@ function ChatDrawerItems(props: {
111112
disableNewButton: boolean,
112113
onConversationActivate: (conversationId: DConversationId) => void,
113114
onConversationDelete: (conversationId: DConversationId, bypassConfirmation: boolean) => void,
115+
onConversationExportDialog: (conversationId: DConversationId | null) => void,
114116
onConversationImportDialog: () => void,
115117
onConversationNew: () => void,
116118
onConversationsDeleteAll: () => void,
@@ -134,7 +136,7 @@ function ChatDrawerItems(props: {
134136
// derived state
135137
const maxChatMessages = chatNavItems.reduce((longest, _c) => Math.max(longest, _c.messageCount), 1);
136138
const selectConversationsCount = chatNavItems.length;
137-
const hasChats = selectConversationsCount > 0;
139+
const nonEmptyChats = selectConversationsCount > 1 || (selectConversationsCount === 1 && !chatNavItems[0].isEmpty);
138140
const singleChat = selectConversationsCount === 1;
139141
const softMaxReached = selectConversationsCount >= 50;
140142

@@ -292,15 +294,23 @@ function ChatDrawerItems(props: {
292294

293295
<ListDivider sx={{ mt: 0 }} />
294296

295-
<MenuItem onClick={props.onConversationImportDialog}>
296-
<ListItemDecorator>
297-
<FileUploadIcon />
298-
</ListItemDecorator>
299-
Import chats
300-
<OpenAIIcon sx={{ fontSize: 'xl', ml: 'auto' }} />
301-
</MenuItem>
297+
<Box sx={{ display: 'flex', alignItems: 'center' }}>
298+
299+
<MenuItem onClick={props.onConversationImportDialog} sx={{ flex: 1 }}>
300+
<ListItemDecorator>
301+
<FileUploadIcon />
302+
</ListItemDecorator>
303+
Import
304+
{/*<OpenAIIcon sx={{ ml: 'auto' }} />*/}
305+
</MenuItem>
306+
307+
<MenuItem disabled={!nonEmptyChats} onClick={() => props.onConversationExportDialog(props.activeConversationId)} sx={{ flex: 1, display: 'flex', justifyContent: 'flex-end', gap: 2.5 }}>
308+
Export
309+
<FileDownloadIcon />
310+
</MenuItem>
311+
</Box>
302312

303-
<MenuItem disabled={!hasChats} onClick={props.onConversationsDeleteAll}>
313+
<MenuItem disabled={!nonEmptyChats} onClick={props.onConversationsDeleteAll}>
304314
<ListItemDecorator>
305315
<DeleteOutlineIcon />
306316
</ListItemDecorator>

src/apps/chat/components/applayout/ChatNavigationItem.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as React from 'react';
22

3-
import { Avatar, Box, IconButton, ListItem, ListItemDecorator, Typography } from '@mui/joy';
3+
import { Avatar, Box, IconButton, ListItemButton, ListItemDecorator, Typography } from '@mui/joy';
44
import { SxProps } from '@mui/joy/styles/types';
55
import CloseIcon from '@mui/icons-material/Close';
66
import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';
@@ -20,6 +20,7 @@ export const ChatDrawerItemMemo = React.memo(ChatNavigationItem);
2020
export interface ChatNavigationItemData {
2121
conversationId: DConversationId;
2222
isActive: boolean;
23+
isEmpty: boolean;
2324
title: string;
2425
messageCount: number;
2526
assistantTyping: boolean;
@@ -90,8 +91,8 @@ function ChatNavigationItem(props: {
9091
const progress = props.maxChatMessages ? 100 * messageCount / props.maxChatMessages : 0;
9192

9293
return (
93-
<ListItem
94-
variant={isActive ? 'solid' : 'plain'} color='neutral'
94+
<ListItemButton
95+
variant={isActive ? 'soft' : 'plain'} color='neutral'
9596
onClick={handleConversationActivate}
9697
sx={{
9798
// py: 0,
@@ -166,8 +167,10 @@ function ChatNavigationItem(props: {
166167
{!props.isLonely && !deleteArmed && (
167168
<IconButton
168169
variant={isActive ? 'solid' : 'outlined'}
169-
size='sm' sx={{ opacity: { xs: 1, sm: 0 }, transition: 'opacity 0.3s', ...buttonSx }}
170-
onClick={handleDeleteButtonShow}>
170+
size='sm'
171+
sx={{ opacity: { xs: 1, sm: 0 }, transition: 'opacity 0.2s', ...buttonSx }}
172+
onClick={handleDeleteButtonShow}
173+
>
171174
<DeleteOutlineIcon />
172175
</IconButton>
173176
)}
@@ -182,6 +185,6 @@ function ChatNavigationItem(props: {
182185
</IconButton>
183186
</>}
184187

185-
</ListItem>
188+
</ListItemButton>
186189
);
187190
}

0 commit comments

Comments
 (0)