Files
purpleandClaude Opus 5.5 b86747baee 3.0.8
- Web search with five services in turn, no key needed, pages read like a reader view
- A long video renders in the background, videos made in the chat play there, Wan 2.1 saves mp4
- A graphics card per task with two cards, AMD on Windows gets the current ROCm build, Intel Arc its own
- The LU Engine plans memory from the model file, says what a long context costs, keeps one copy of the model
- Settings from the chat with a confirmation card, Storage puts models, gallery and runtime in one folder
- Remove refusals from a local model in the Model Manager
- Native HiRes in Edit, LoRA stack with search and strength from -20 to 20
- Ask in Code asks before every external tool, REA shows only in Agent and Code
- Your phone on this computer (Remote), paired by QR code
- Wan 2.2 14B runs from Animate and Video, Train new on a Mac shows the trigger word field
- Temperature is held to 1.5, memories can be deleted, the onboarding runs once
- GitHub issues 187, 188, 190, 191, 193 and 194

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 02:52:46 -07:00

79 lines
3.8 KiB
Bash
Executable File

#!/bin/bash
# Setzt die Version der Handy-Pakete (Android und iOS) an EINER Stelle.
#
# Aufruf: scripts/mobile/release/version-setzen.sh <version> <bau> [--dry-run]
# Beispiel: scripts/mobile/release/version-setzen.sh 3.0.7 1 --dry-run (zeigt nur, was sich aendert)
# scripts/mobile/release/version-setzen.sh 3.0.7 1 (schreibt)
# scripts/mobile/release/version-setzen.sh 3.0.7 2 (dieselbe Version noch einmal in den Store)
# scripts/mobile/release/version-setzen.sh 3.0.7-pre1 0 (Vorab-Paket, nur offener Bau)
#
# <bau> ist 1 bis 999 und zaehlt hoch, wenn dieselbe Version noch einmal in
# einen Store geladen wird. Aus Version und Bau entsteht die eine Zahl, die
# Android als versionCode und iOS als CFBundleVersion traegt
# (scripts/mobile/release/versionen.py, 3.0.7 mit Bau 1 ergibt 30007001).
#
# Vorab-Version X.Y.Z-preN (N 1 bis 99): ein Paket vor X.Y.Z fuer Tester, nur
# ueber android-offen.sh, nie in einem Store (die Store-Skripte lehnen es ab).
# <bau> ist dann 0, der Code der von X.Y.Z mit Bau 0 (3.0.7-pre1 ergibt
# 30007000): die echte X.Y.Z mit Bau 1 installiert darueber. Gesetzt wird so
# eine Version nur auf einem eigenen Zweig, nie auf der Lieferlinie.
#
# Geaendert werden genau diese vier Dateien (handy-version.mjs dateien):
# src-tauri/tauri.android.conf.json version, bundle.android.versionCode
# src-tauri/tauri.ios.conf.json version, bundle.iOS.bundleVersion
# src-tauri/gen/apple/project.yml CFBundleShortVersionString, CFBundleVersion
# src-tauri/gen/apple/locally-uncensored_iOS/Info.plist CFBundleShortVersionString, CFBundleVersion
#
# Nie angefasst: die Desktop-Version (src-tauri/tauri.conf.json, package.json,
# src-tauri/Cargo.toml). Sie muss der Handy-Version nicht gleichen: ein
# Handy-Bau reicht der Seite About die Version seines Pakets als Bau-Konstante
# (src/dev/phone-version.ts), der Desktop liest weiter package.json.
#
# Das Skript committet nichts. Danach: git diff ansehen, dann committen.
set -euo pipefail
HIER="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VERSION=""
BAU=""
WEITER=()
while [ $# -gt 0 ]; do
case "$1" in
--dry-run) WEITER+=(--dry-run) ;;
--wurzel)
[ $# -ge 2 ] || { echo "ABORT: --wurzel needs a directory" >&2; exit 2; }
WEITER+=(--wurzel "$2"); shift ;;
-h|--help) sed -n '2,32p' "$0" | sed 's/^# \{0,1\}//'; exit 0 ;;
-*) echo "ABORT: unknown option '$1'" >&2; exit 2 ;;
*)
if [ -z "$VERSION" ]; then VERSION="$1"
elif [ -z "$BAU" ]; then BAU="$1"
else echo "ABORT: too many arguments. Usage: version-setzen.sh <version> <build> [--dry-run]" >&2; exit 2
fi ;;
esac
shift
done
if [ -z "$VERSION" ] || [ -z "$BAU" ]; then
echo "ABORT: usage: version-setzen.sh <version> <build> [--dry-run], for example: version-setzen.sh 3.0.7 1 --dry-run" >&2
exit 2
fi
case "$BAU" in
''|*[!0-9]*) echo "ABORT: build '$BAU' is not a number (1 to 999)" >&2; exit 2 ;;
esac
if node "$HIER/handy-version.mjs" vorab "$VERSION"; then
if [ "$BAU" != "0" ]; then
echo "ABORT: $VERSION is a pre-release. Its build is 0 (its code lies below build 1 of the release), for example: version-setzen.sh $VERSION 0" >&2
exit 2
fi
elif [ "$BAU" -lt 1 ] || [ "$BAU" -gt 999 ]; then
echo "ABORT: build $BAU is out of range (1 to 999)" >&2
exit 2
fi
# Der Code kommt aus versionen.py, damit das Schema an einer Stelle steht.
CODE="$(python3 -c 'import sys; sys.path.insert(0, sys.argv[1]); import versionen; print(versionen.codes(sys.argv[2], int(sys.argv[3])))' "$HIER" "$VERSION" "$BAU")"
echo "version $VERSION, build $BAU, code $CODE (Android versionCode, iOS CFBundleVersion)"
if [ ${#WEITER[@]} -gt 0 ]; then
exec node "$HIER/handy-version.mjs" setze "$VERSION" "$CODE" "${WEITER[@]}"
fi
exec node "$HIER/handy-version.mjs" setze "$VERSION" "$CODE"