diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml new file mode 100644 index 000000000..02ee0f192 --- /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 000000000..4846cda2d --- /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 570dd07a9..464d538da 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 0217b12b0..1f70d6630 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 37cb08800..9f9aa96fc 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 eb4a9cb9b..fddc48e7c 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 729ebf825..f53afa1c3 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 6745dfbd0..540ebdd13 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 6e3af5be7..758a57ebc 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 fbfe04f46..903356fb9 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 390b11166..584b5886f 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 0a37b294c..0f56a263b 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 697688551..744b2e033 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 5b9cd93d5..66cd45ce7 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 f0430fc47..f43466c96 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 f8e0ec889..812f3276e 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 6e6a35fe5..a6017ed6c 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 8c5f3d6fd..a8148a895 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 7e1d23a27..3334dd274 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 e40fe8aac..f9795381a 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 036873020..7a91a6f57 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 c96c188bb..e2074da48 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 a39157c7e..9c62b56b1 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 230c57b99..a2bc6020d 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 a0a44f7ac..dd7e0b80a 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 b5df29d5b..aab43d431 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 a425e0107..8f7095176 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 d208ad87d..8ce0b7311 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 382f7a939..4e81ef067 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 caf7b0ee4..53f5bb4d0 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 f5ae07a52..be104dd27 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 cee69eb8d..311e0f434 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 eba5e78f9..630838ff8 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 62dd9dc8d..08fa0a2ea 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 9c9799f7d..3becbecd8 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 6c0e74dff..5a21c8713 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 f9999a7f9..0bc76e30e 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 f5e20af2b..07df4413d 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 e0ea07c75..dcbd0f282 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 1b3192065..ee5100d32 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 859d83b05..7fd4aeb58 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 5813c521f..253ee60c1 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 91078642d..d1f255d6b 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 06c53d190..5b2109409 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 ae301c4d3..a22ccc99a 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 728a37460..57f8b4f95 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 0991c89cf..75770760c 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 3b3408537..76fd0ea86 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 3718b0706..7fd5ca2c6 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 b191a58ac..797a7d86a 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 c7e52c394..c0265ef4f 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 b0da95315..a76212ae0 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 2fee10dfb..c464762ea 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 2eb110707..4ca110e37 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 000000000..4f2bb3495 --- /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 148479fca..445c65313 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 6b6f4a2fd..103276290 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 7c11ec3eb..fe38d9925 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 2da5070a4..78c1e0722 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 16e472163..8e3b27816 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 534d53547..e8a2d095d 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 a817c9b63..77e9a8972 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 01b40ebfc..0b98f3c57 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 84971ce12..c0265ef4f 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 8d0996972..e3ce96de2 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"