mirror of
https://github.com/eigent-ai/eigent.git
synced 2026-05-30 03:35:54 +00:00
Merge branch 'main' into readme-seo
This commit is contained in:
commit
ced05ef9d0
7 changed files with 45 additions and 6 deletions
10
.github/workflows/build-view.yml
vendored
10
.github/workflows/build-view.yml
vendored
|
|
@ -14,7 +14,7 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: [self-hosted, macOS, ARM64]
|
||||
- os: macos-latest
|
||||
arch: arm64
|
||||
artifact_name: macos-arm64
|
||||
- os: windows-latest
|
||||
|
|
@ -85,7 +85,13 @@ jobs:
|
|||
- name: Build Release Files (macOS with signing)
|
||||
if: runner.os == 'macOS'
|
||||
timeout-minutes: 90
|
||||
run: npm run build -- --arch ${{ matrix.arch }}
|
||||
run: |
|
||||
# Increase file descriptor limit to prevent EMFILE errors during signing
|
||||
# This is needed because electron-builder signs all files recursively,
|
||||
# and Python venvs contain thousands of files
|
||||
ulimit -n 65536 || ulimit -n 10240
|
||||
echo "File descriptor limit set to: $(ulimit -n)"
|
||||
npm run build -- --arch ${{ matrix.arch }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CSC_LINK: ${{ secrets.CERT_P12 }}
|
||||
|
|
|
|||
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
|
|
@ -92,7 +92,11 @@ jobs:
|
|||
# Step for macOS builds with signing
|
||||
- name: Build Release Files (macOS with signing)
|
||||
if: runner.os == 'macOS'
|
||||
run: npm run build -- --arch ${{ matrix.arch }}
|
||||
run: |
|
||||
# Increase file descriptor limit to prevent EMFILE errors during signing
|
||||
ulimit -n 65536 || ulimit -n 10240
|
||||
echo "File descriptor limit set to: $(ulimit -n)"
|
||||
npm run build -- --arch ${{ matrix.arch }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CSC_LINK: ${{ secrets.CERT_P12 }}
|
||||
|
|
|
|||
|
|
@ -65,6 +65,26 @@
|
|||
"hardenedRuntime": true,
|
||||
"gatekeeperAssess": false,
|
||||
"notarize": false,
|
||||
"signIgnore": [
|
||||
".*\\.py$",
|
||||
".*\\.pyc$",
|
||||
".*\\.pyo$",
|
||||
".*\\.pyi$",
|
||||
".*\\.typed$",
|
||||
".*\\.txt$",
|
||||
".*\\.md$",
|
||||
".*\\.rst$",
|
||||
".*\\.json$",
|
||||
".*\\.yaml$",
|
||||
".*\\.yml$",
|
||||
".*\\.toml$",
|
||||
".*\\.cfg$",
|
||||
".*\\.ini$",
|
||||
".*\\.csv$",
|
||||
".*\\.html$",
|
||||
".*\\.css$",
|
||||
".*\\.map$"
|
||||
],
|
||||
"extendInfo": {
|
||||
"CFBundleURLTypes": [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ export interface BoxHeaderConfirmProps {
|
|||
onStartTask?: () => void;
|
||||
onEdit?: () => void;
|
||||
className?: string;
|
||||
loading?: boolean;
|
||||
}
|
||||
|
||||
export const BoxHeaderConfirm = ({
|
||||
|
|
@ -55,6 +56,7 @@ export const BoxHeaderConfirm = ({
|
|||
onStartTask,
|
||||
onEdit,
|
||||
className,
|
||||
loading = false,
|
||||
}: BoxHeaderConfirmProps) => {
|
||||
return (
|
||||
<div
|
||||
|
|
@ -88,6 +90,7 @@ export const BoxHeaderConfirm = ({
|
|||
size="sm"
|
||||
className="rounded-full"
|
||||
onClick={onStartTask}
|
||||
disabled={loading}
|
||||
>
|
||||
Start Task
|
||||
</Button>
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ export default function BottomBox({
|
|||
subtitle={subtitle}
|
||||
onStartTask={onStartTask}
|
||||
onEdit={onEdit}
|
||||
loading={loading}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,9 +16,10 @@ interface Props {
|
|||
onOpenChange: (open: boolean) => void;
|
||||
trigger?: React.ReactNode;
|
||||
onConfirm: () => void;
|
||||
loading?: boolean;
|
||||
}
|
||||
|
||||
export default function EndNoticeDialog({ open, onOpenChange, trigger, onConfirm }: Props) {
|
||||
export default function EndNoticeDialog({ open, onOpenChange, trigger, onConfirm, loading = false }: Props) {
|
||||
const { t } = useTranslation();
|
||||
const onSubmit = useCallback(() => {
|
||||
onConfirm();
|
||||
|
|
@ -36,9 +37,9 @@ export default function EndNoticeDialog({ open, onOpenChange, trigger, onConfirm
|
|||
</div>
|
||||
<DialogFooter className="bg-white-100% !rounded-b-xl p-md">
|
||||
<DialogClose asChild>
|
||||
<Button variant="ghost" size="md">{t("layout.cancel")}</Button>
|
||||
<Button variant="ghost" size="md" disabled={loading}>{t("layout.cancel")}</Button>
|
||||
</DialogClose>
|
||||
<Button size="md" onClick={onSubmit} variant="cuation">{t("layout.yes-end-project")}</Button>
|
||||
<Button size="md" onClick={onSubmit} variant="cuation" disabled={loading}>{t("layout.yes-end-project")}</Button>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ function HeaderWin() {
|
|||
const [isFullscreen, setIsFullscreen] = useState(false);
|
||||
const { token } = getAuthStore();
|
||||
const [endDialogOpen, setEndDialogOpen] = useState(false);
|
||||
const [endProjectLoading, setEndProjectLoading] = useState(false);
|
||||
useEffect(() => {
|
||||
const p = window.electronAPI.getPlatform();
|
||||
setPlatform(p);
|
||||
|
|
@ -150,6 +151,7 @@ function HeaderWin() {
|
|||
|
||||
const historyId = projectId ? projectStore.getHistoryId(projectId) : null;
|
||||
|
||||
setEndProjectLoading(true);
|
||||
try {
|
||||
const task = chatStore.tasks[taskId];
|
||||
|
||||
|
|
@ -197,6 +199,7 @@ function HeaderWin() {
|
|||
closeButton: true,
|
||||
});
|
||||
} finally {
|
||||
setEndProjectLoading(false);
|
||||
setEndDialogOpen(false);
|
||||
}
|
||||
};
|
||||
|
|
@ -414,6 +417,7 @@ function HeaderWin() {
|
|||
open={endDialogOpen}
|
||||
onOpenChange={setEndDialogOpen}
|
||||
onConfirm={handleEndProject}
|
||||
loading={endProjectLoading}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue