diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml new file mode 100644 index 0000000..02ee0f1 --- /dev/null +++ b/.github/workflows/deploy_preview.yml @@ -0,0 +1,83 @@ +name: VercelPreviewDeployment + +on: + pull_request_target: + types: + - opened + - synchronize + +env: + VERCEL_TEAM: ${{ secrets.VERCEL_TEAM }} + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + VERCEL_PR_DOMAIN_SUFFIX: ${{ secrets.VERCEL_PR_DOMAIN_SUFFIX }} + +permissions: + contents: read + statuses: write + pull-requests: write + +jobs: + deploy-preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_OUTPUT" + id: extract_branch + + - name: Hash branch name + uses: pplanel/hash-calculator-action@v1.3.1 + id: hash_branch + with: + input: ${{ steps.extract_branch.outputs.branch }} + method: MD5 + + - name: Set Environment Variables + id: set_env + if: github.event_name == 'pull_request_target' + run: | + echo "VERCEL_ALIAS_DOMAIN=${{ github.event.pull_request.number }}-${{ github.workflow }}.${VERCEL_PR_DOMAIN_SUFFIX}" >> $GITHUB_OUTPUT + + - name: Install Vercel CLI + run: npm install --global vercel@latest + + - name: Cache dependencies + uses: actions/cache@v2 + id: cache-npm + with: + path: ~/.npm + key: npm-${{ hashFiles('package-lock.json') }} + restore-keys: npm- + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} + + - name: Deploy Project Artifacts to Vercel + id: vercel + env: + META_TAG: ${{ steps.hash_branch.outputs.digest }}-${{ github.run_number }}-${{ github.run_attempt}} + run: | + set -e + vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} + vercel build --token=${VERCEL_TOKEN} + vercel deploy --prebuilt --archive=tgz --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} + + DEFAULT_URL=$(vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }}) + ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} --scope ${VERCEL_TEAM}| awk '{print $3}') + + echo "New preview URL: ${DEFAULT_URL}" + echo "New alias URL: ${ALIAS_URL}" + echo "VERCEL_URL=${ALIAS_URL}" >> "$GITHUB_OUTPUT" + + - uses: mshick/add-pr-comment@v2 + with: + message: | + Your build has completed! + + [Preview deployment](${{ steps.vercel.outputs.VERCEL_URL }}) diff --git a/.github/workflows/remove_deploy_preview.yml b/.github/workflows/remove_deploy_preview.yml new file mode 100644 index 0000000..4846cda --- /dev/null +++ b/.github/workflows/remove_deploy_preview.yml @@ -0,0 +1,40 @@ +name: Removedeploypreview + +permissions: + contents: read + statuses: write + pull-requests: write + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + pull_request_target: + types: + - closed + +jobs: + delete-deployments: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + + - name: Hash branch name + uses: pplanel/hash-calculator-action@v1.3.1 + id: hash_branch + with: + input: ${{ steps.extract_branch.outputs.branch }} + method: MD5 + + - name: Call the delete-deployment-preview.sh script + env: + META_TAG: ${{ steps.hash_branch.outputs.digest }} + run: | + bash ./scripts/delete-deployment-preview.sh diff --git a/README_CN.md b/README_CN.md index 570dd07..464d538 100644 --- a/README_CN.md +++ b/README_CN.md @@ -5,7 +5,7 @@ 一键免费部署你的私人 ChatGPT 网页应用,支持 GPT3, GPT4 & Gemini Pro 模型。 -[演示 Demo](https://chat-gpt-next-web.vercel.app/) / [反馈 Issues](https://github.com/Yidadaa/ChatGPT-Next-Web/issues) / [加入 Discord](https://discord.gg/zrhvHCr79N) / [QQ 群](https://user-images.githubusercontent.com/16968934/228190818-7dd00845-e9b9-4363-97e5-44c507ac76da.jpeg) / [打赏开发者](https://user-images.githubusercontent.com/16968934/227772541-5bcd52d8-61b7-488c-a203-0330d8006e2b.jpg) / [Donate](#捐赠-donate-usdt) +[演示 Demo](https://chat-gpt-next-web.vercel.app/) / [反馈 Issues](https://github.com/Yidadaa/ChatGPT-Next-Web/issues) / [加入 Discord](https://discord.gg/zrhvHCr79N) [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web&env=OPENAI_API_KEY&env=CODE&project-name=chatgpt-next-web&repository-name=ChatGPT-Next-Web) diff --git a/app/api/cors/[...path]/route.ts b/app/api/cors/[...path]/route.ts index 0217b12..1f70d66 100644 --- a/app/api/cors/[...path]/route.ts +++ b/app/api/cors/[...path]/route.ts @@ -40,4 +40,4 @@ export const POST = handle; export const GET = handle; export const OPTIONS = handle; -export const runtime = "nodejs"; +export const runtime = "edge"; diff --git a/app/api/google/[...path]/route.ts b/app/api/google/[...path]/route.ts index 37cb088..9f9aa96 100644 --- a/app/api/google/[...path]/route.ts +++ b/app/api/google/[...path]/route.ts @@ -101,19 +101,14 @@ export const POST = handle; export const runtime = "edge"; export const preferredRegion = [ - "arn1", "bom1", - "cdg1", "cle1", "cpt1", - "dub1", - "fra1", "gru1", "hnd1", "iad1", "icn1", "kix1", - "lhr1", "pdx1", "sfo1", "sin1", diff --git a/app/config/server.ts b/app/config/server.ts index eb4a9cb..fddc48e 100644 --- a/app/config/server.ts +++ b/app/config/server.ts @@ -89,6 +89,8 @@ export const getServerSideConfig = () => { googleApiKey: process.env.GOOGLE_API_KEY, googleBaseUrl: process.env.GOOGLE_BASE_URL, + gtmId: process.env.GTM_ID, + needCode: ACCESS_CODES.size > 0, code: process.env.CODE, codes: ACCESS_CODES, diff --git a/app/constant.ts b/app/constant.ts index 729ebf8..f53afa1 100644 --- a/app/constant.ts +++ b/app/constant.ts @@ -111,7 +111,9 @@ export const SUMMARIZE_MODEL = "gpt-3.5-turbo"; export const KnowledgeCutOffDate: Record = { default: "2021-09", + "gpt-4-turbo-preview": "2023-04", "gpt-4-1106-preview": "2023-04", + "gpt-4-0125-preview": "2023-04", "gpt-4-vision-preview": "2023-04", }; @@ -152,6 +154,15 @@ export const DEFAULT_MODELS = [ providerType: "openai", }, }, + { + name: "gpt-4-turbo-preview", + available: true, + provider: { + id: "openai", + providerName: "OpenAI", + providerType: "openai", + }, + }, { name: "gpt-4-1106-preview", available: true, @@ -161,6 +172,15 @@ export const DEFAULT_MODELS = [ providerType: "openai", }, }, + { + name: "gpt-4-0125-preview", + available: true, + provider: { + id: "openai", + providerName: "OpenAI", + providerType: "openai", + }, + }, { name: "gpt-4-vision-preview", available: true, diff --git a/app/icons/auto.svg b/app/icons/auto.svg index 6745dfb..540ebdd 100644 --- a/app/icons/auto.svg +++ b/app/icons/auto.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/bot.svg b/app/icons/bot.svg index 6e3af5b..758a57e 100644 --- a/app/icons/bot.svg +++ b/app/icons/bot.svg @@ -1,28 +1 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/break.svg b/app/icons/break.svg index fbfe04f..903356f 100644 --- a/app/icons/break.svg +++ b/app/icons/break.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/cancel.svg b/app/icons/cancel.svg index 390b111..584b588 100644 --- a/app/icons/cancel.svg +++ b/app/icons/cancel.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/chat-settings.svg b/app/icons/chat-settings.svg index 0a37b29..0f56a26 100644 --- a/app/icons/chat-settings.svg +++ b/app/icons/chat-settings.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/chat.svg b/app/icons/chat.svg index 6976885..744b2e0 100644 --- a/app/icons/chat.svg +++ b/app/icons/chat.svg @@ -1,27 +1 @@ - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/chatgpt.svg b/app/icons/chatgpt.svg index 5b9cd93..66cd45c 100644 --- a/app/icons/chatgpt.svg +++ b/app/icons/chatgpt.svg @@ -1,16 +1 @@ - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/clear.svg b/app/icons/clear.svg index f0430fc..f43466c 100644 --- a/app/icons/clear.svg +++ b/app/icons/clear.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/close.svg b/app/icons/close.svg index f8e0ec8..812f327 100644 --- a/app/icons/close.svg +++ b/app/icons/close.svg @@ -1,21 +1 @@ - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/cloud-fail.svg b/app/icons/cloud-fail.svg index 6e6a35f..a6017ed 100644 --- a/app/icons/cloud-fail.svg +++ b/app/icons/cloud-fail.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/cloud-success.svg b/app/icons/cloud-success.svg index 8c5f3d6..a8148a8 100644 --- a/app/icons/cloud-success.svg +++ b/app/icons/cloud-success.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/config.svg b/app/icons/config.svg index 7e1d23a..3334dd2 100644 --- a/app/icons/config.svg +++ b/app/icons/config.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/confirm.svg b/app/icons/confirm.svg index e40fe8a..f979538 100644 --- a/app/icons/confirm.svg +++ b/app/icons/confirm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/connection.svg b/app/icons/connection.svg index 0368730..7a91a6f 100644 --- a/app/icons/connection.svg +++ b/app/icons/connection.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/dark.svg b/app/icons/dark.svg index c96c188..e2074da 100644 --- a/app/icons/dark.svg +++ b/app/icons/dark.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/drag.svg b/app/icons/drag.svg index a39157c..9c62b56 100644 --- a/app/icons/drag.svg +++ b/app/icons/drag.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/edit.svg b/app/icons/edit.svg index 230c57b..a2bc602 100644 --- a/app/icons/edit.svg +++ b/app/icons/edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/eye-off.svg b/app/icons/eye-off.svg index a0a44f7..dd7e0b8 100644 --- a/app/icons/eye-off.svg +++ b/app/icons/eye-off.svg @@ -1,4 +1 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/eye.svg b/app/icons/eye.svg index b5df29d..aab43d4 100644 --- a/app/icons/eye.svg +++ b/app/icons/eye.svg @@ -1,4 +1 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/light.svg b/app/icons/light.svg index a425e01..8f70951 100644 --- a/app/icons/light.svg +++ b/app/icons/light.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/lightning.svg b/app/icons/lightning.svg index d208ad8..8ce0b73 100644 --- a/app/icons/lightning.svg +++ b/app/icons/lightning.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/pause.svg b/app/icons/pause.svg index 382f7a9..4e81ef0 100644 --- a/app/icons/pause.svg +++ b/app/icons/pause.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/pin.svg b/app/icons/pin.svg index caf7b0e..53f5bb4 100644 --- a/app/icons/pin.svg +++ b/app/icons/pin.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/reload.svg b/app/icons/reload.svg index f5ae07a..be104dd 100644 --- a/app/icons/reload.svg +++ b/app/icons/reload.svg @@ -1,24 +1 @@ - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/rename.svg b/app/icons/rename.svg index cee69eb..311e0f4 100644 --- a/app/icons/rename.svg +++ b/app/icons/rename.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/return.svg b/app/icons/return.svg index eba5e78..630838f 100644 --- a/app/icons/return.svg +++ b/app/icons/return.svg @@ -1,21 +1 @@ - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/robot.svg b/app/icons/robot.svg index 62dd9dc..08fa0a2 100644 --- a/app/icons/robot.svg +++ b/app/icons/robot.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/icons/send-white.svg b/app/icons/send-white.svg index 9c9799f..3becbec 100644 --- a/app/icons/send-white.svg +++ b/app/icons/send-white.svg @@ -1,21 +1 @@ - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/settings.svg b/app/icons/settings.svg index 6c0e74d..5a21c87 100644 --- a/app/icons/settings.svg +++ b/app/icons/settings.svg @@ -1,21 +1 @@ - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/icons/upload.svg b/app/icons/upload.svg index f9999a7..0bc76e3 100644 --- a/app/icons/upload.svg +++ b/app/icons/upload.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx index f5e20af..07df441 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -6,7 +6,7 @@ import { getClientConfig } from "./config/client"; import { type Metadata } from "next"; import { SpeedInsights } from "@vercel/speed-insights/next"; import { getServerSideConfig } from "./config/server"; - +import { GoogleTagManager } from "@next/third-parties/google"; const serverConfig = getServerSideConfig(); export const metadata: Metadata = { @@ -46,6 +46,11 @@ export default function RootLayout({ )} + {serverConfig?.gtmId && ( + <> + + + )} ); diff --git a/app/locales/jp.ts b/app/locales/jp.ts index e0ea07c..dcbd0f2 100644 --- a/app/locales/jp.ts +++ b/app/locales/jp.ts @@ -12,6 +12,13 @@ const jp: PartialLocaleType = { }, Chat: { SubTitle: (count: number) => `ChatGPTとの ${count} 通のチャット`, + EditMessage: { + Title: "全てのメッセージを修正", + Topic: { + Title: "トピック", + SubTitle: "このトピックを変える", + }, + }, Actions: { ChatList: "メッセージリストを表示", CompressedHistory: "圧縮された履歴プロンプトを表示", @@ -47,6 +54,28 @@ const jp: PartialLocaleType = { Download: "ファイルをダウンロード", MessageFromYou: "あなたからのメッセージ", MessageFromChatGPT: "ChatGPTからのメッセージ", + Format: { + Title: "フォーマットをエクスポート", + SubTitle: "マークダウン形式、PNG画像形式を選択できます。", + }, + IncludeContext: { + Title: "コンテキストを含みますか?", + SubTitle: "コンテキストを含ませるか否か", + }, + Steps: { + Select: "エクスポート設定", + Preview: "プレビュー", + }, + Image: { + Toast: "画像生成中...", + Modal: "長押し、または右クリックで保存してください。", + }, + }, + Select: { + Search: "検索", + All: "すべて選択", + Latest: "新しいメッセージを選択", + Clear: "クリア", }, Memory: { Title: "履歴メモリ", @@ -118,6 +147,10 @@ const jp: PartialLocaleType = { Title: "キャラクターページ", SubTitle: "新規チャット作成時にキャラクターページを表示する", }, + Builtin: { + Title: "ビルトインマスクを非表示", + SubTitle: "マスクリストからビルトインを非表示する", + }, }, Prompt: { Disable: { @@ -157,7 +190,6 @@ const jp: PartialLocaleType = { Check: "再確認", NoAccess: "APIキーまたはアクセスパスワードを入力して残高を表示", }, - Model: "モデル (model)", Temperature: { Title: "ランダム性 (temperature)", @@ -176,6 +208,10 @@ const jp: PartialLocaleType = { Title: "話題の頻度 (frequency_penalty)", SubTitle: "値が大きいほど、重複語を低減する可能性が高くなります", }, + AutoGenerateTitle: { + Title: "タイトルの自動生成", + SubTitle: "会話内容に基づいて適切なタイトルを生成する", + }, }, Store: { DefaultTopic: "新しいチャット", diff --git a/app/store/config.ts b/app/store/config.ts index 1b31920..ee5100d 100644 --- a/app/store/config.ts +++ b/app/store/config.ts @@ -28,7 +28,7 @@ export enum Theme { export const DEFAULT_CONFIG = { lastUpdate: Date.now(), // timestamp, to merge state - submitKey: isMacOS() ? SubmitKey.MetaEnter : SubmitKey.CtrlEnter, + submitKey: SubmitKey.Enter, avatar: "1f603", fontSize: 14, theme: Theme.Auto as Theme, diff --git a/docs/images/head-cover.png b/docs/images/head-cover.png index 859d83b..7fd4aeb 100644 Binary files a/docs/images/head-cover.png and b/docs/images/head-cover.png differ diff --git a/docs/images/upstash-1.png b/docs/images/upstash-1.png index 5813c52..253ee60 100644 Binary files a/docs/images/upstash-1.png and b/docs/images/upstash-1.png differ diff --git a/docs/images/upstash-2.png b/docs/images/upstash-2.png index 9107864..d1f255d 100644 Binary files a/docs/images/upstash-2.png and b/docs/images/upstash-2.png differ diff --git a/docs/images/upstash-3.png b/docs/images/upstash-3.png index 06c53d1..5b21094 100644 Binary files a/docs/images/upstash-3.png and b/docs/images/upstash-3.png differ diff --git a/docs/images/upstash-4.png b/docs/images/upstash-4.png index ae301c4..a22ccc9 100644 Binary files a/docs/images/upstash-4.png and b/docs/images/upstash-4.png differ diff --git a/docs/images/upstash-5.png b/docs/images/upstash-5.png index 728a374..57f8b4f 100644 Binary files a/docs/images/upstash-5.png and b/docs/images/upstash-5.png differ diff --git a/docs/images/upstash-6.png b/docs/images/upstash-6.png index 0991c89..7577076 100644 Binary files a/docs/images/upstash-6.png and b/docs/images/upstash-6.png differ diff --git a/docs/images/upstash-7.png b/docs/images/upstash-7.png index 3b34085..76fd0ea 100644 Binary files a/docs/images/upstash-7.png and b/docs/images/upstash-7.png differ diff --git a/package.json b/package.json index 3718b07..7fd5ca2 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@langchain/community": "^0.0.20", "@langchain/core": "^0.1.17", "@langchain/openai": "^0.0.12", + "@next/third-parties": "^14.1.0", "@svgr/webpack": "^6.5.1", "@vercel/analytics": "^0.1.11", "@vercel/speed-insights": "^1.0.2", diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png index b191a58..797a7d8 100644 Binary files a/public/android-chrome-192x192.png and b/public/android-chrome-192x192.png differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png index c7e52c3..c0265ef 100644 Binary files a/public/android-chrome-512x512.png and b/public/android-chrome-512x512.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index b0da953..a76212a 100644 Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png index 2fee10d..c464762 100644 Binary files a/public/favicon-32x32.png and b/public/favicon-32x32.png differ diff --git a/public/macos.png b/public/macos.png index 2eb1107..4ca110e 100644 Binary files a/public/macos.png and b/public/macos.png differ diff --git a/scripts/delete-deployment-preview.sh b/scripts/delete-deployment-preview.sh new file mode 100755 index 0000000..4f2bb34 --- /dev/null +++ b/scripts/delete-deployment-preview.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Set the pipefail option. +set -o pipefail + +# Get the Vercel API endpoints. +GET_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v6/deployments" +DELETE_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v13/deployments" + +# Create a list of deployments. +deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +#deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") + +# Filter the deployments list by meta.base_hash === meta tag. +filtered_deployments=$(echo -E $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') +filtered_deployments="${filtered_deployments//\"/}" # Remove double quotes + +# Clears the values from filtered_deployments +IFS=',' read -ra values <<<"$filtered_deployments" + +echo "META_TAG ${META_TAG}" +echo "Filtered deployments ${filtered_deployments}" + +# Iterate over the filtered deployments list. +for uid in "${values[@]}"; do + echo "Deleting ${uid}" + + delete_url="${DELETE_DEPLOYMENTS_ENDPOINT}/${uid}?teamId=${VERCEL_ORG_ID}" + echo $delete_url + + # Make DELETE a request to the /v13/deployments/{id} endpoint. + curl -X DELETE $delete_url -H "Authorization: Bearer $VERCEL_TOKEN" + + echo "Deleted!" +done diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png index 148479f..445c653 100644 Binary files a/src-tauri/icons/128x128.png and b/src-tauri/icons/128x128.png differ diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png index 6b6f4a2..1032762 100644 Binary files a/src-tauri/icons/Square107x107Logo.png and b/src-tauri/icons/Square107x107Logo.png differ diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png index 7c11ec3..fe38d99 100644 Binary files a/src-tauri/icons/Square142x142Logo.png and b/src-tauri/icons/Square142x142Logo.png differ diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png index 2da5070..78c1e07 100644 Binary files a/src-tauri/icons/Square150x150Logo.png and b/src-tauri/icons/Square150x150Logo.png differ diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png index 16e4721..8e3b278 100644 Binary files a/src-tauri/icons/Square44x44Logo.png and b/src-tauri/icons/Square44x44Logo.png differ diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png index 534d535..e8a2d09 100644 Binary files a/src-tauri/icons/Square71x71Logo.png and b/src-tauri/icons/Square71x71Logo.png differ diff --git a/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png index a817c9b..77e9a89 100644 Binary files a/src-tauri/icons/Square89x89Logo.png and b/src-tauri/icons/Square89x89Logo.png differ diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png index 01b40eb..0b98f3c 100644 Binary files a/src-tauri/icons/StoreLogo.png and b/src-tauri/icons/StoreLogo.png differ diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png index 84971ce..c0265ef 100644 Binary files a/src-tauri/icons/icon.png and b/src-tauri/icons/icon.png differ diff --git a/yarn.lock b/yarn.lock index 8d09969..e3ce96d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1910,6 +1910,13 @@ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.9.tgz#0c2758164cccd61bc5a1c6cd8284fe66173e4a2b" integrity sha512-QbT03FXRNdpuL+e9pLnu+XajZdm/TtIXVYY4lA9t+9l0fLZbHXDYEKitAqxrOj37o3Vx5ufxiRAniaIebYDCgw== +"@next/third-parties@^14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/third-parties/-/third-parties-14.1.0.tgz#d9604fff8880e05d3804d2cf7ab42eb5430aec69" + integrity sha512-f55SdvQ1WWxi4mb5QqtYQh5wRzbm1XaeP7s39DPn4ks3re+n9VlFccbMxBRHqkE62zAyIKmvkUB2cByT/gugGA== + dependencies: + third-party-capital "1.0.20" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -7439,6 +7446,11 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +third-party-capital@1.0.20: + version "1.0.20" + resolved "https://registry.yarnpkg.com/third-party-capital/-/third-party-capital-1.0.20.tgz#e218a929a35bf4d2245da9addb8ab978d2f41685" + integrity sha512-oB7yIimd8SuGptespDAZnNkzIz+NWaJCu2RMsbs4Wmp9zSDUM8Nhi3s2OOcqYuv3mN4hitXc8DVx+LyUmbUDiA== + through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"