Merge branch 'kwaroran:main' into main

This commit is contained in:
HyperBlaze
2024-06-14 10:01:00 -07:00
committed by GitHub
11 changed files with 74 additions and 107 deletions

View File

@@ -3,6 +3,7 @@ on:
push:
branches:
- production
workflow_dispatch: {}
jobs:
publish-tauri:
@@ -11,9 +12,18 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest,macos-latest,windows-latest]
runs-on: ${{ matrix.platform }}
# platform: [ubuntu-latest,macos-latest,windows-latest]
settings:
- platform: 'macos-latest' # for Arm based macs (M1 and above).
args: '--target aarch64-apple-darwin'
- platform: 'macos-latest' # for Intel based macs.
args: '--target x86_64-apple-darwin'
- platform: 'ubuntu-latest' # for Tauri v1 you could replace this with ubuntu-20.04.
args: '--target x86_64-unknown-linux-gnu'
- platform: 'windows-latest'
args: '--target x86_64-pc-windows-msvc'
runs-on: ${{ matrix.settings.platform }}
steps:
- uses: actions/checkout@v4
- name: setup node
@@ -21,7 +31,7 @@ jobs:
with:
node-version: 21
- id: set_var_win
if: matrix.platform == 'windows-latest'
if: matrix.settings.platform == 'windows-latest'
run: |
choco install jq -y
- id: set_var
@@ -33,7 +43,7 @@ jobs:
with:
version: latest
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-latest'
if: matrix.settings.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
@@ -51,61 +61,20 @@ jobs:
${{ runner.os }}-pnpm-store-
- name: install frontend dependencies
run: pnpm install --no-frozen-lockfile # change this to npm or pnpm depending on which one you use
- if: matrix.platform == 'ubuntu-latest'
run: pnpm tauri build --target x86_64-unknown-linux-gnu
- if: matrix.platform == 'ubuntu-latest'
uses: "softprops/action-gh-release@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
tag_name: "v${{fromJson(env.VERSION_JSON).version}}"
name: "${{fromJson(env.VERSION_JSON).version}}"
generate_release_notes: true
files: |
src-tauri/target/x86_64-unknown-linux-gnu/release/**/*.deb
src-tauri/target/x86_64-unknown-linux-gnu/release/**/*.AppImage
- if: matrix.platform == 'macos-latest'
- if: matrix.settings.platform == 'macos-latest'
run: rustup target add x86_64-apple-darwin
- if: matrix.platform == 'macos-latest'
run: pnpm tauri build --target x86_64-apple-darwin
- if: matrix.platform == 'macos-latest'
- if: matrix.settings.platform == 'macos-latest'
run: rustup target add aarch64-apple-darwin
- if: matrix.platform == 'macos-latest'
run: pnpm tauri build --target aarch64-apple-darwin
- if: matrix.platform == 'macos-latest'
uses: "softprops/action-gh-release@v2"
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
tag_name: "v${{fromJson(env.VERSION_JSON).version}}"
name: "${{fromJson(env.VERSION_JSON).version}}"
generate_release_notes: true
files: |
src-tauri/target/*/release/bundle/macos/*.app
src-tauri/target/*/release/bundle/dmg/*.dmg
- if: matrix.platform == 'windows-latest'
run: pnpm tauri build
- if: matrix.platform == 'windows-latest'
uses: "softprops/action-gh-release@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
tag_name: "v${{fromJson(env.VERSION_JSON).version}}"
name: "${{fromJson(env.VERSION_JSON).version}}"
generate_release_notes: true
files: |
src-tauri/target/x86_64-pc-windows-msvc/release/**/*.msi
# publish dist as zip when building on ubuntu
# first, zip the dist
- if: matrix.platform == 'ubuntu-latest'
run: zip -r built_code.zip dist
# then, publish the zip file
- if: matrix.platform == 'ubuntu-latest'
uses: "softprops/action-gh-release@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
tag_name: "v${{fromJson(env.VERSION_JSON).version}}"
name: "${{fromJson(env.VERSION_JSON).version}}"
generate_release_notes: true
files: built_code.zip
tagName: 'v__VERSION__' # the action automatically replaces \_\_VERSION\_\_ with the app version.
releaseName: 'v__VERSION__'
releaseBody: 'Release of v__VERSION__'
releaseDraft: true
prerelease: false
args: ${{ matrix.settings.args }}
tauriScript: "pnpm tauri"

3
.gitignore vendored
View File

@@ -38,4 +38,5 @@ vite.config.js.timestamp-*
vite.config.ts.timestamp-*
raise.code-workspace
recc.md
__pycache__/
__pycache__/
.tauri/

View File

@@ -8,7 +8,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2
versionName "114.2.2"
versionName "114.3.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.

View File

@@ -12,7 +12,7 @@
"filters": [],
"attributes": [],
"versionCode": 2,
"versionName": "114.2.2",
"versionName": "114.3.0",
"outputFile": "app-release.apk"
}
],

10
src-tauri/Cargo.lock generated
View File

@@ -1784,6 +1784,12 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "minisign-verify"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881"
[[package]]
name = "miniz_oxide"
version = "0.7.2"
@@ -3298,6 +3304,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f078117725e36d55d29fafcbb4b1e909073807ca328ae8deb8c0b3843aac0fed"
dependencies = [
"anyhow",
"base64 0.21.7",
"bytes",
"cocoa",
"dirs-next",
@@ -3313,6 +3320,7 @@ dependencies = [
"http",
"ignore",
"indexmap 1.9.3",
"minisign-verify",
"objc",
"once_cell",
"open",
@@ -3337,12 +3345,14 @@ dependencies = [
"tauri-utils",
"tempfile",
"thiserror",
"time",
"tokio",
"url",
"uuid",
"webkit2gtk",
"webview2-com",
"windows 0.39.0",
"zip",
]
[[package]]

View File

@@ -13,7 +13,7 @@ edition = "2021"
tauri-build = { version = "1.4.0", features = [] }
[dependencies]
tauri = { version = "1.6.0", features = ["app-all", "dialog-all", "fs-all", "http-all", "os-all", "path-all", "process-relaunch", "protocol-all", "reqwest-client", "shell-open", "window-maximize", "window-set-fullscreen"] }
tauri = { version = "1.6.0", features = [ "updater", "app-all", "dialog-all", "fs-all", "http-all", "os-all", "path-all", "process-relaunch", "protocol-all", "reqwest-client", "shell-open", "window-maximize", "window-set-fullscreen"] }
serde_json = "1.0"
tiktoken-rs = "0.4.0"
base64 = "0.21.0"

View File

@@ -8,7 +8,7 @@
},
"package": {
"productName": "RisuAI",
"version": "114.2.2"
"version": "114.3.0"
},
"tauri": {
"allowlist": {
@@ -96,7 +96,13 @@
"csp": null
},
"updater": {
"active": false
"active": true,
"endpoints": ["https://github.com/kwaroran/RisuAI/releases/latest/download/latest.json"],
"dialog": false,
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDU2ODMzOTIxMDMxOTY1MUYKUldRZlpSa0RJVG1EVmx5Vm1WYlhFM29HMEJrUTRrYmg5dDQ0RFpvdUphNDdxQmVlWXJHVmV5TEYK",
"windows": {
"installMode": "passive"
}
},
"windows": [
{

View File

@@ -14,7 +14,7 @@ import type { OobaChatCompletionRequestParams } from '../model/ooba';
export const DataBase = writable({} as any as Database)
export const loadedStore = writable(false)
export let appVer = "114.2.2"
export let appVer = "114.3.0"
export let webAppSubVer = ''
export function setDatabase(data:Database){

View File

@@ -7,7 +7,7 @@ import { get } from "svelte/store";
import {open} from '@tauri-apps/api/shell'
import { DataBase, loadedStore, setDatabase, type Database, defaultSdDataFunc } from "./database";
import { appWindow } from "@tauri-apps/api/window";
import { checkUpdate } from "../update";
import { checkRisuUpdate } from "../update";
import { botMakerMode, selectedCharID } from "../stores";
import { Body, ResponseType, fetch as TauriFetch } from "@tauri-apps/api/http";
import { loadPlugins } from "../plugins/plugins";
@@ -419,7 +419,7 @@ export async function loadData() {
throw "Your save file is corrupted"
}
}
await checkUpdate()
await checkRisuUpdate()
await changeFullscreen()
}

View File

@@ -1,49 +1,30 @@
import { fetch } from "@tauri-apps/api/http";
import { DataBase, appVer, setDatabase } from "./storage/database";
import { alertConfirm, alertError, alertMd } from "./alert";
import { alertConfirm, alertWait } from "./alert";
import { language } from "../lang";
import { get } from "svelte/store";
import {open} from '@tauri-apps/api/shell'
import { Capacitor } from "@capacitor/core";
import {
checkUpdate,
installUpdate,
} from '@tauri-apps/api/updater'
import { relaunch } from '@tauri-apps/api/process'
export async function checkRisuUpdate(){
if(Capacitor.isNativePlatform()){
return
}
export async function checkUpdate(){
try {
if(Capacitor.isNativePlatform()){
return
}
let db = get(DataBase)
const da = await fetch('https://raw.githubusercontent.com/kwaroran/RisuAI-release/main/version.json')
//@ts-ignore
const v:string = da.data.version
if(!v){
return
}
if(v === db.lastup){
return
}
const nextVer = versionStringToNumber(v)
if(isNaN(nextVer) || (!nextVer)){
return
}
const appVerNum = versionStringToNumber(appVer)
if(appVerNum < nextVer){
const checked = await checkUpdate()
if(checked.shouldUpdate){
const conf = await alertConfirm(language.newVersion)
if(conf){
open("https://risuai.net/?page=download")
}
else{
db = get(DataBase)
db.lastup = v
setDatabase(db)
alertWait(`Updating to ${checked.manifest.version}...`)
await installUpdate()
await relaunch()
}
}
} catch (error) {
alertError(error)
return
}
}

View File

@@ -1 +1 @@
{"version":"114.2.2"}
{"version":"114.3.0"}