chore(release): deploy.sh all-platform (MDM/TF/Android) + NEXT_RELEASE-Workflow

- deploy.sh: Android-Signing-Auto-Restore aus build-config/android-signing/
  (gitignored), getestet für MDM + TF + Android
- .gitignore: *.keystore + build-config/android-signing/
- NEXT_RELEASE.md wiederhergestellt mit Notes fürs WA-Chat-Popup + Comment-Likes
  (deploy.sh archiviert es in CHANGELOG + leert es danach)
- buildNumber 27→41, versionCode 18→31 (Release-State)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
chahinebrini 2026-05-30 11:34:57 +02:00
parent 2591b2a89c
commit f83a13ba60
8 changed files with 42 additions and 17 deletions

View File

@ -19,6 +19,7 @@ modules/*/android/.gradle/
modules/*/ios/build/ modules/*/ios/build/
modules/*/ios/Pods/ modules/*/ios/Pods/
*.jks *.jks
*.keystore
*.p12 *.p12
*.p8 *.p8
*.key *.key
@ -46,4 +47,5 @@ yarn-error.*
storybook-static/ storybook-static/
android/local.properties android/local.properties
android/key.properties android/key.properties
build-config/android-signing/
apps/rebreak-native/tmp/ apps/rebreak-native/tmp/

View File

@ -1,6 +1,7 @@
# Changelog # Changelog
All notable changes to rebreak-native will be documented in this file. All notable changes to rebreak-native will be documented in this file.
## v0.3.13 (Build 40 / versionCode 31) — 2026-05-30\n\nChat-DM: Lange auf Nachricht drücken öffnet jetzt das native Aktions-Menü (Antworten, Liken, Kopieren). Likes erscheinen Insta-Style als Herz unter der Nachricht.\n
## v0.3.13 (Build 27 / versionCode 18) — 2026-05-30\n\nPush-Notifications für Chat: Du erhältst jetzt Pushes bei neuen Direkt-Nachrichten und Raum-Nachrichten. Abschaltbar in den Einstellungen.\n ## v0.3.13 (Build 27 / versionCode 18) — 2026-05-30\n\nPush-Notifications für Chat: Du erhältst jetzt Pushes bei neuen Direkt-Nachrichten und Raum-Nachrichten. Abschaltbar in den Einstellungen.\n
## v0.3.13 (Build 26 / versionCode 16) — 2026-05-30\n\nneue push für chat\n ## v0.3.13 (Build 26 / versionCode 16) — 2026-05-30\n\nneue push für chat\n
Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

View File

@ -1 +1,3 @@
Chat-DM: Lange auf Nachricht drücken öffnet jetzt das native Aktions-Menü (Antworten, Liken, Kopieren). Likes erscheinen Insta-Style als Herz unter der Nachricht. Chat-DM: Lange auf eine Nachricht drücken öffnet das Aktions-Menü jetzt direkt an der Nachricht (WhatsApp-Stil) statt zentriert. Neu: Emoji-Reaktionen (oben), Antworten und Kopieren bei fremden Nachrichten, sowie Löschen für eigene Nachrichten (für alle). Reaktionen erscheinen als kleine Bubbles unter der Nachricht. Gelöschte Nachrichten zeigen „Nachricht gelöscht".
Community: Likes an Kommentaren färben sich jetzt sofort und erscheinen in Echtzeit, auch wenn jemand anderes liked.

View File

@ -33,7 +33,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
ios: { ios: {
supportsTablet: true, supportsTablet: true,
bundleIdentifier: MAIN_BUNDLE, bundleIdentifier: MAIN_BUNDLE,
buildNumber: "27", buildNumber: "41",
// Apple Sign-In Entitlement — Pflicht für expo-apple-authentication nativen // Apple Sign-In Entitlement — Pflicht für expo-apple-authentication nativen
// signInAsync()-Flow. Ohne flag generiert Expo's prebuild den // signInAsync()-Flow. Ohne flag generiert Expo's prebuild den
// com.apple.developer.applesignin-Entitlement nicht in die .entitlements. // com.apple.developer.applesignin-Entitlement nicht in die .entitlements.
@ -56,7 +56,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
android: { android: {
package: "org.rebreak.app", package: "org.rebreak.app",
versionCode: 18, versionCode: 31,
adaptiveIcon: { adaptiveIcon: {
// Foreground muss in der ~66%-Safe-Zone bleiben (Launcher-Mask clippt den // Foreground muss in der ~66%-Safe-Zone bleiben (Launcher-Mask clippt den
// Außenring) → adaptive-foreground.png ist das Logo auf transparentem // Außenring) → adaptive-foreground.png ist das Logo auf transparentem

View File

@ -755,29 +755,49 @@ deploy_android() {
[[ -d "$ANDROID_DIR" ]] || die "android/ nicht gefunden — expo prebuild zuerst ausführen" [[ -d "$ANDROID_DIR" ]] || die "android/ nicht gefunden — expo prebuild zuerst ausführen"
local KEYSTORE_PROPS="$ANDROID_DIR/key.properties" local KEYSTORE_PROPS="$ANDROID_DIR/key.properties"
# Auto-Restore: prebuild --clean wischt android/ — die Master-Files leben
# in build-config/android-signing/ (gitignored) und werden hier zurückkopiert.
local SIGNING_MASTER="$SCRIPT_DIR/build-config/android-signing"
if [[ -d "$SIGNING_MASTER" ]]; then
if [[ -f "$SIGNING_MASTER/key.properties" && ! -f "$KEYSTORE_PROPS" ]]; then
cp "$SIGNING_MASTER/key.properties" "$KEYSTORE_PROPS"
log "key.properties aus build-config/android-signing/ restauriert"
fi
local jks
for jks in "$SIGNING_MASTER"/*.jks "$SIGNING_MASTER"/*.keystore; do
[[ -f "$jks" ]] || continue
local target="$ANDROID_DIR/app/$(basename "$jks")"
if [[ ! -f "$target" ]]; then
cp "$jks" "$target"
log "$(basename "$jks") nach android/app/ restauriert"
fi
done
fi
if [[ ! -f "$KEYSTORE_PROPS" ]]; then if [[ ! -f "$KEYSTORE_PROPS" ]]; then
error "Android Signing nicht konfiguriert" error "Android Signing nicht konfiguriert"
echo "" echo ""
echo "Fehlt: $KEYSTORE_PROPS" echo "Fehlt: $KEYSTORE_PROPS"
echo "" echo ""
echo "Setup-Schritte:" echo "Einmalig-Setup (überlebt prebuild --clean):"
echo "" echo ""
echo "1. Keystore generieren:" echo "1. Master-Folder anlegen:"
echo " keytool -genkey -v -keystore ~/rebreak-release.keystore \\" echo " mkdir -p $SIGNING_MASTER"
echo " -alias rebreak -keyalg RSA -keysize 2048 -validity 10000"
echo "" echo ""
echo "2. Keystore nach android/app/ kopieren:" echo "2. Keystore reinkopieren:"
echo " cp ~/rebreak-release.keystore $ANDROID_DIR/app/" echo " cp <pfad-zur-jks> $SIGNING_MASTER/rebreak-release.jks"
echo "" echo ""
echo "3. key.properties erstellen:" echo "3. key.properties dort anlegen:"
echo " cat > $KEYSTORE_PROPS << EOF" echo " cat > $SIGNING_MASTER/key.properties << EOF"
echo "storePassword=<dein-password>" echo "storePassword=<dein-password>"
echo "keyPassword=<dein-password>" echo "keyPassword=<dein-password>"
echo "keyAlias=rebreak" echo "keyAlias=<dein-alias>"
echo "storeFile=rebreak-release.keystore" echo "storeFile=rebreak-release.jks"
echo "EOF" echo "EOF"
echo "" echo ""
echo "4. NIEMALS committen — .gitignore prüfen" echo "→ deploy.sh restauriert ab dann automatisch nach android/ bei jedem Run."
echo " build-config/android-signing/ ist in .gitignore — niemals committen."
exit 1 exit 1
fi fi

View File

@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.3.13</string> <string>0.3.13</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>27</string> <string>41</string>
<key>NSExtension</key> <key>NSExtension</key>
<dict> <dict>
<key>NSExtensionPointIdentifier</key> <key>NSExtensionPointIdentifier</key>

View File

@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.3.13</string> <string>0.3.13</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>27</string> <string>41</string>
<key>NSExtension</key> <key>NSExtension</key>
<dict> <dict>
<key>NSExtensionPointIdentifier</key> <key>NSExtensionPointIdentifier</key>

View File

@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.3.13</string> <string>0.3.13</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>27</string> <string>41</string>
<key>EXAppExtensionAttributes</key> <key>EXAppExtensionAttributes</key>
<dict> <dict>
<key>EXExtensionPointIdentifier</key> <key>EXExtensionPointIdentifier</key>