fix: windows can't start

This commit is contained in:
lencx
2022-12-28 03:33:40 +08:00
parent 631dee95a7
commit 478049e23e
8 changed files with 188 additions and 176 deletions

View File

@@ -1,89 +1,89 @@
# name: Release CI
name: Release CI
# on:
# push:
# # Sequence of patterns matched against refs/tags
# tags:
# - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
# jobs:
# create-release:
# runs-on: ubuntu-20.04
# outputs:
# RELEASE_UPLOAD_ID: ${{ steps.create_release.outputs.id }}
jobs:
create-release:
runs-on: ubuntu-20.04
outputs:
RELEASE_UPLOAD_ID: ${{ steps.create_release.outputs.id }}
# steps:
# - uses: actions/checkout@v2
# - name: Query version number
# id: get_version
# shell: bash
# run: |
# echo "using version tag ${GITHUB_REF:10}"
# echo "version=${GITHUB_REF:10}" >> $GITHUB_ENV
steps:
- uses: actions/checkout@v2
- name: Query version number
id: get_version
shell: bash
run: |
echo "using version tag ${GITHUB_REF:10}"
echo "version=${GITHUB_REF:10}" >> $GITHUB_ENV
# - name: Create Release
# id: create_release
# uses: actions/create-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tag_name: '${{ env.version }}'
# release_name: 'ChatGPT ${{ env.version }}'
# body: 'See the assets to download this version and install.'
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: '${{ env.version }}'
release_name: 'ChatGPT ${{ env.version }}'
body: 'See the assets to download this version and install.'
# build-tauri:
# needs: create-release
# strategy:
# fail-fast: false
# matrix:
# platform: [macos-latest, ubuntu-20.04, windows-latest]
build-tauri:
needs: create-release
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-20.04, windows-latest]
# runs-on: ${{ matrix.platform }}
# steps:
# - uses: actions/checkout@v3
# - name: setup node
# uses: actions/setup-node@v3
# with:
# node-version: 16
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 16
# - name: install Rust stable
# uses: dtolnay/rust-toolchain@stable
# - name: install dependencies (ubuntu only)
# if: matrix.platform == 'ubuntu-20.04'
# run: |
# sudo apt-get update
# sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-20.04'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
# - name: Install app dependencies and build it
# run: yarn && yarn build:fe
- name: Install app dependencies and build it
run: yarn && yarn build:fe
# - name: fix tray icon
# if: matrix.platform != 'macos-latest'
# run: |
# yarn fix:tray
- name: fix tray icon
if: matrix.platform != 'macos-latest'
run: |
yarn fix:tray
# - uses: tauri-apps/tauri-action@v0.3
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# # 📝: https://tauri.app/v1/guides/distribution/updater#signing-updates
# TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
# TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
# with:
# releaseId: ${{ needs.create-release.outputs.RELEASE_UPLOAD_ID }}
- uses: tauri-apps/tauri-action@v0.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# 📝: https://tauri.app/v1/guides/distribution/updater#signing-updates
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
with:
releaseId: ${{ needs.create-release.outputs.RELEASE_UPLOAD_ID }}
# updater:
# runs-on: ubuntu-20.04
# needs: [create-release, build-tauri]
updater:
runs-on: ubuntu-20.04
needs: [create-release, build-tauri]
# steps:
# - uses: actions/checkout@v2
# - run: yarn
# - run: yarn updater --token=${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- run: yarn
- run: yarn updater --token=${{ secrets.GITHUB_TOKEN }}
# - name: Deploy install.json
# uses: peaceiris/actions-gh-pages@v3
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
# # 📝: Edit the deployment directory
# publish_dir: ./updater
# force_orphan: true
- name: Deploy install.json
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# 📝: Edit the deployment directory
publish_dir: ./updater
force_orphan: true

View File

@@ -1,72 +1,72 @@
name: Release CI
# name: Release CI
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
# on:
# push:
# # Sequence of patterns matched against refs/tags
# tags:
# - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
create-release:
runs-on: ubuntu-20.04
outputs:
RELEASE_UPLOAD_ID: ${{ steps.create_release.outputs.id }}
# jobs:
# create-release:
# runs-on: ubuntu-20.04
# outputs:
# RELEASE_UPLOAD_ID: ${{ steps.create_release.outputs.id }}
steps:
- uses: actions/checkout@v2
- name: Query version number
id: get_version
shell: bash
run: |
echo "using version tag ${GITHUB_REF:10}"
echo "version=${GITHUB_REF:10}" >> $GITHUB_ENV
# steps:
# - uses: actions/checkout@v2
# - name: Query version number
# id: get_version
# shell: bash
# run: |
# echo "using version tag ${GITHUB_REF:10}"
# echo "version=${GITHUB_REF:10}" >> $GITHUB_ENV
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: '${{ env.version }}'
release_name: 'ChatGPT ${{ env.version }}'
body: 'See the assets to download this version and install.'
# - name: Create Release
# id: create_release
# uses: actions/create-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tag_name: '${{ env.version }}'
# release_name: 'ChatGPT ${{ env.version }}'
# body: 'See the assets to download this version and install.'
build-tauri:
needs: create-release
strategy:
fail-fast: false
matrix:
platform: [windows-latest]
# build-tauri:
# needs: create-release
# strategy:
# fail-fast: false
# matrix:
# platform: [windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 16
# runs-on: ${{ matrix.platform }}
# steps:
# - uses: actions/checkout@v3
# - name: setup node
# uses: actions/setup-node@v3
# with:
# node-version: 16
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-20.04'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
# - name: install Rust stable
# uses: dtolnay/rust-toolchain@stable
# - name: install dependencies (ubuntu only)
# if: matrix.platform == 'ubuntu-20.04'
# run: |
# sudo apt-get update
# sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install app dependencies and build it
run: yarn && yarn build:fe
# - name: Install app dependencies and build it
# run: yarn && yarn build:fe
- name: fix tray icon
if: matrix.platform != 'macos-latest'
run: |
yarn fix:tray
# - name: fix tray icon
# if: matrix.platform != 'macos-latest'
# run: |
# yarn fix:tray
- uses: tauri-apps/tauri-action@v0.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# 📝: https://tauri.app/v1/guides/distribution/updater#signing-updates
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
with:
releaseId: ${{ needs.create-release.outputs.RELEASE_UPLOAD_ID }}
# - uses: tauri-apps/tauri-action@v0.3
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# # 📝: https://tauri.app/v1/guides/distribution/updater#signing-updates
# TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
# TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
# with:
# releaseId: ${{ needs.create-release.outputs.RELEASE_UPLOAD_ID }}

View File

@@ -22,9 +22,9 @@
**最新版:**
- `Mac`: [ChatGPT_0.7.1_x64.dmg](https://github.com/lencx/ChatGPT/releases/download/v0.7.1/ChatGPT_0.7.1_x64.dmg)
- `Linux`: [chat-gpt_0.7.1_amd64.deb](https://github.com/lencx/ChatGPT/releases/download/v0.7.1/chat-gpt_0.7.1_amd64.deb)
- `Windows`: [ChatGPT_0.7.1_x64_en-US.msi](https://github.com/lencx/ChatGPT/releases/download/v0.7.1/ChatGPT_0.7.1_x64_en-US.msi)
- `Mac`: [ChatGPT_0.7.2_x64.dmg](https://github.com/lencx/ChatGPT/releases/download/v0.7.2/ChatGPT_0.7.2_x64.dmg)
- `Linux`: [chat-gpt_0.7.2_amd64.deb](https://github.com/lencx/ChatGPT/releases/download/v0.7.2/chat-gpt_0.7.2_amd64.deb)
- `Windows`: [ChatGPT_0.7.2_x64_en-US.msi](https://github.com/lencx/ChatGPT/releases/download/v0.7.2/ChatGPT_0.7.2_x64_en-US.msi)
[其他版本...](https://github.com/lencx/ChatGPT/releases)
@@ -74,7 +74,7 @@ cask "popcorn-time", args: { "no-quarantine": true }
- 系统托盘悬浮窗
- 应用菜单功能强大
- 支持斜杠命令及其配置(可手动配置或从文件同步 [#55](https://github.com/lencx/ChatGPT/issues/55)
- 进入应用的全局快捷键 (mac: `command+shift+o`, windows: `ctrl+shift+o`)
<!-- - 进入应用的全局快捷键 (mac: `command+shift+o`, windows: `ctrl+shift+o`) -->
### 菜单项

View File

@@ -24,9 +24,9 @@
**Latest:**
- `Mac`: [ChatGPT_0.7.1_x64.dmg](https://github.com/lencx/ChatGPT/releases/download/v0.7.1/ChatGPT_0.7.1_x64.dmg)
- `Linux`: [chat-gpt_0.7.1_amd64.deb](https://github.com/lencx/ChatGPT/releases/download/v0.7.1/chat-gpt_0.7.1_amd64.deb)
- `Windows`: [ChatGPT_0.7.1_x64_en-US.msi](https://github.com/lencx/ChatGPT/releases/download/v0.7.1/ChatGPT_0.7.1_x64_en-US.msi)
- `Mac`: [ChatGPT_0.7.2_x64.dmg](https://github.com/lencx/ChatGPT/releases/download/v0.7.2/ChatGPT_0.7.2_x64.dmg)
- `Linux`: [chat-gpt_0.7.2_amd64.deb](https://github.com/lencx/ChatGPT/releases/download/v0.7.2/chat-gpt_0.7.2_amd64.deb)
- `Windows`: [ChatGPT_0.7.2_x64_en-US.msi](https://github.com/lencx/ChatGPT/releases/download/v0.7.2/ChatGPT_0.7.2_x64_en-US.msi)
[Other version...](https://github.com/lencx/ChatGPT/releases)
@@ -76,7 +76,7 @@ In the chatgpt text input area, type a character starting with `/` to bring up t
- System tray hover window
- Powerful menu items
- Support for slash commands and their configuration (can be configured manually or synchronized from a file [#55](https://github.com/lencx/ChatGPT/issues/55))
- Global shortcuts to the chatgpt app (mac: `command+shift+o`, windows: `ctrl+shift+o`)
<!-- - Global shortcuts to the chatgpt app (mac: `command+shift+o`, windows: `ctrl+shift+o`) -->
### MenuItem

View File

@@ -1,5 +1,9 @@
# UPDATE LOG
## v0.7.2
fix: some windows systems cannot start the application
## v0.7.1
fix:
@@ -15,7 +19,7 @@ fix:
feat:
- use the keyboard `⇧` (arrow up) and `⇩` (arrow down) keys to select the slash command
- global shortcuts to the chatgpt app (mac: command+shift+o, windows: ctrl+shift+o)
<!-- - global shortcuts to the chatgpt app (mac: command+shift+o, windows: ctrl+shift+o) -->
## v0.6.10

View File

@@ -3,11 +3,14 @@ use crate::{
utils,
};
use tauri::{
AboutMetadata, AppHandle, CustomMenuItem, Manager, Menu, MenuItem, Submenu, SystemTray,
SystemTrayEvent, SystemTrayMenu, SystemTrayMenuItem, WindowMenuEvent,
AppHandle, CustomMenuItem, Manager, Menu, MenuItem, Submenu, SystemTray, SystemTrayEvent,
SystemTrayMenu, SystemTrayMenuItem, WindowMenuEvent,
};
use tauri_plugin_positioner::{on_tray_event, Position, WindowExt};
#[cfg(target_os = "macos")]
use tauri::AboutMetadata;
use super::window;
// --- Menu
@@ -20,15 +23,15 @@ pub fn init() -> Menu {
#[cfg(target_os = "macos")]
MenuItem::About(name.into(), AboutMetadata::default()).into(),
#[cfg(not(target_os = "macos"))]
CustomMenuItem::new("about".to_string(), "About ChatGPT")
.into(),
CustomMenuItem::new("about".to_string(), "About ChatGPT").into(),
MenuItem::Services.into(),
MenuItem::Hide.into(),
MenuItem::HideOthers.into(),
MenuItem::ShowAll.into(),
MenuItem::Separator.into(),
MenuItem::Quit.into(),
]));
]),
);
let stay_on_top =
CustomMenuItem::new("stay_on_top".to_string(), "Stay On Top").accelerator("CmdOrCtrl+T");
@@ -183,7 +186,11 @@ pub fn menu_handler(event: WindowMenuEvent<tauri::Wry>) {
// App
"about" => {
let tauri_conf = utils::get_tauri_conf().unwrap();
tauri::api::dialog::message(app.get_window("core").as_ref(), "ChatGPT", format!("Version {}", tauri_conf.package.version.unwrap()));
tauri::api::dialog::message(
app.get_window("core").as_ref(),
"ChatGPT",
format!("Version {}", tauri_conf.package.version.unwrap()),
);
}
// Preferences
"control_center" => window::control_window(&app),

View File

@@ -1,6 +1,6 @@
use crate::{app::window, conf::ChatConfJson, utils};
use log::info;
use tauri::{utils::config::WindowUrl, window::WindowBuilder, App, GlobalShortcutManager, Manager};
use tauri::{utils::config::WindowUrl, window::WindowBuilder, App, Manager};
pub fn init(app: &mut App) -> std::result::Result<(), Box<dyn std::error::Error>> {
let chat_conf = ChatConfJson::get_chat_conf();
@@ -14,28 +14,29 @@ pub fn init(app: &mut App) -> std::result::Result<(), Box<dyn std::error::Error>
info!("stepup");
{
info!("global_shortcut_start");
let handle = app.app_handle();
let mut shortcut = app.global_shortcut_manager();
let is_mini_key = shortcut.is_registered("CmdOrCtrl+Shift+O");
// fix: Global shortcuts can cause programs to exit under windows
// {
// info!("global_shortcut_start");
// let handle = app.app_handle();
// let mut shortcut = app.global_shortcut_manager();
// let is_mini_key = shortcut.is_registered("CmdOrCtrl+Shift+O");
if is_mini_key.is_ok() {
shortcut
.register("CmdOrCtrl+Shift+O", move || {
if let Some(w) = handle.get_window("core") {
if w.is_visible().unwrap() {
w.hide().unwrap();
} else {
w.show().unwrap();
w.set_focus().unwrap();
}
}
})
.unwrap();
};
info!("global_shortcut_end");
}
// if is_mini_key.is_ok() {
// shortcut
// .register("CmdOrCtrl+Shift+O", move || {
// if let Some(w) = handle.get_window("core") {
// if w.is_visible().unwrap() {
// w.hide().unwrap();
// } else {
// w.show().unwrap();
// w.set_focus().unwrap();
// }
// }
// })
// .unwrap();
// };
// info!("global_shortcut_end");
// }
if chat_conf.hide_dock_icon {
#[cfg(target_os = "macos")]

View File

@@ -8,7 +8,7 @@ use std::{
path::{Path, PathBuf},
process::Command,
};
use tauri::{Manager, utils::config::Config};
use tauri::{utils::config::Config, Manager};
pub fn chat_root() -> PathBuf {
tauri::api::path::home_dir().unwrap().join(".chatgpt")