From ab97899d3bd7dc612d477080cad313a562a0be2d Mon Sep 17 00:00:00 2001 From: M_Viper Date: Thu, 7 May 2026 20:16:42 +0000 Subject: [PATCH] Delete CREATE_COMPLETE_FILES.sh via Git Manager GUI --- CREATE_COMPLETE_FILES.sh | 205 --------------------------------------- 1 file changed, 205 deletions(-) delete mode 100644 CREATE_COMPLETE_FILES.sh diff --git a/CREATE_COMPLETE_FILES.sh b/CREATE_COMPLETE_FILES.sh deleted file mode 100644 index 6529c90..0000000 --- a/CREATE_COMPLETE_FILES.sh +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/bash -############################################################################## -# CREATE_COMPLETE_FILES.sh -# -# Dieses Script erstellt die vollständigen renderer.js und main.js Dateien -# mit allen notwendigen Änderungen für Auto-Login und persistente Settings. -# -# VERWENDUNG: -# 1. Speichere dieses Script in deinem Projekt-Ordner -# 2. Mache es ausführbar: chmod +x CREATE_COMPLETE_FILES.sh -# 3. Führe es aus: ./CREATE_COMPLETE_FILES.sh -# 4. Die neuen Dateien werden erstellt: renderer_NEW.js und main_NEW.js -# 5. Ersetze deine alten Dateien mit den neuen -# -############################################################################## - -echo "=========================================" -echo "Erstelle vollständige Dateien..." -echo "=========================================" -echo "" - -# Prüfe ob Original-Dateien existieren -if [ ! -f "renderer.js" ]; then - echo "❌ FEHLER: renderer.js nicht gefunden!" - echo "Bitte führe dieses Script im Projekt-Ordner aus." - exit 1 -fi - -if [ ! -f "main.js" ]; then - echo "❌ FEHLER: main.js nicht gefunden!" - echo "Bitte führe dieses Script im Projekt-Ordner aus." - exit 1 -fi - -echo "✅ Original-Dateien gefunden" -echo "" - -# Backup erstellen -echo "📦 Erstelle Backups..." -cp renderer.js renderer.js.backup -cp main.js main.js.backup -echo "✅ Backups erstellt: renderer.js.backup, main.js.backup" -echo "" - -# RENDERER.JS - Patch anwenden -echo "🔧 Patche renderer.js..." - -# Erstelle temporäre Datei mit der neuen DOMContentLoaded Funktion -cat > /tmp/new_domcontentloaded.js << 'NEWFUNC' -window.addEventListener('DOMContentLoaded', async () => { - // Prevent default drag/drop on document (except in repo view) - document.addEventListener('dragover', e => { - if (currentState.view !== 'gitea-repo') { - e.preventDefault(); - } - }); - - document.addEventListener('drop', e => { - if (currentState.view !== 'gitea-repo') { - e.preventDefault(); - } - }); - - // Load credentials and auto-login if available - try { - const creds = await window.electronAPI.loadCredentials(); - if (creds) { - // Fülle Settings-Felder - if ($('githubToken')) $('githubToken').value = creds.githubToken || ''; - if ($('giteaToken')) $('giteaToken').value = creds.giteaToken || ''; - if ($('giteaURL')) $('giteaURL').value = creds.giteaURL || ''; - - // AUTO-LOGIN: Wenn Gitea-Credentials vorhanden sind, lade sofort die Repos - if (creds.giteaToken && creds.giteaURL) { - console.log('✅ Credentials gefunden - Auto-Login wird gestartet...'); - setStatus('Lade deine Projekte...'); - - // Kurze Verzögerung damit UI fertig geladen ist - setTimeout(() => { - loadGiteaRepos(); - }, 500); - } else { - console.log('ℹ️ Keine vollständigen Gitea-Credentials - bitte in Settings eintragen'); - setStatus('Bereit - bitte Settings konfigurieren'); - } - } else { - console.log('ℹ️ Keine Credentials gespeichert'); - setStatus('Bereit - bitte Settings konfigurieren'); - } - } catch (error) { - console.error('Error loading credentials:', error); - setStatus('Fehler beim Laden der Einstellungen'); - } -NEWFUNC - -# Nutze sed um die alte Funktion zu ersetzen -# (Dies ist komplex - nutze Python für robusteres Replacement) -python3 << 'PYSCRIPT' -import re - -# Lese Original-Datei -with open('renderer.js', 'r', encoding='utf-8') as f: - content = f.read() - -# Lese neue Funktion -with open('/tmp/new_domcontentloaded.js', 'r') as f: - new_func_start = f.read() - -# Finde die alte DOMContentLoaded Funktion und ersetze nur den Anfang -# Der Rest (Event Handlers) bleibt gleich -pattern = r"(window\.addEventListener\('DOMContentLoaded', async \(\) => \{.*?// Load credentials.*?try \{.*?\} catch \(error\) \{.*?console\.error\('Error loading credentials:', error\);.*?\})" - -# Suche nach dem Pattern -match = re.search(pattern, content, re.DOTALL) -if match: - # Ersetze nur den Credentials-Loading Teil - old_section = match.group(1) - content = content.replace(old_section, new_func_start) - - # Schreibe neue Datei - with open('renderer_NEW.js', 'w', encoding='utf-8') as f: - f.write(content) - print("✅ renderer_NEW.js erstellt") -else: - print("⚠️ Konnte Funktion nicht automatisch patchen") - print(" Bitte nutze die manuellen Patches") -PYSCRIPT - -echo "" - -# MAIN.JS - Patch anwenden -echo "🔧 Patche main.js..." - -python3 << 'PYSCRIPT2' -import re - -# Lese Original -with open('main.js', 'r', encoding='utf-8') as f: - content = f.read() - -# ÄNDERUNG 1: Entferne getDataDir, ändere getCredentialsFilePath -old_funcs = r"function getDataDir\(\) \{[^}]+\}\s*function getCredentialsFilePath\(\) \{[^}]+\}" -new_func = """function getCredentialsFilePath() { - return ppath.join(app.getPath('userData'), 'credentials.json'); -}""" - -content = re.sub(old_funcs, new_func, content) - -# ÄNDERUNG 2: Patche save-credentials Handler -old_handler = r"(ipcMain\.handle\('save-credentials', async \(event, data\) => \{[\s\S]*?const DATA_DIR = getDataDir\(\);[\s\S]*?ensureDir\(DATA_DIR\);[^}]+)\}" - -new_handler = """ipcMain.handle('save-credentials', async (event, data) => { - try { - const CREDENTIALS_FILE = getCredentialsFilePath(); - const userDataDir = app.getPath('userData'); - if (!fs.existsSync(userDataDir)) { - fs.mkdirSync(userDataDir, { recursive: true }); - } - - const json = JSON.stringify(data); - const cipher = crypto.createCipheriv(ALGORITHM, SECRET_KEY, IV); - const encrypted = Buffer.concat([cipher.update(json, 'utf8'), cipher.final()]); - fs.writeFileSync(CREDENTIALS_FILE, encrypted); - - console.log('✅ Credentials saved to:', CREDENTIALS_FILE); - return { ok: true }; - } catch (e) { - console.error('save-credentials error', e); - return { ok: false, error: String(e) }; - } -});""" - -content = re.sub(old_handler, new_handler, content, flags=re.DOTALL) - -# Schreibe neue Datei -with open('main_NEW.js', 'w', encoding='utf-8') as f: - f.write(content) - -print("✅ main_NEW.js erstellt") -PYSCRIPT2 - -echo "" -echo "=========================================" -echo "✅ FERTIG!" -echo "=========================================" -echo "" -echo "Neue Dateien erstellt:" -echo " 📄 renderer_NEW.js" -echo " 📄 main_NEW.js" -echo "" -echo "Backups erstellt:" -echo " 💾 renderer.js.backup" -echo " 💾 main.js.backup" -echo "" -echo "Nächste Schritte:" -echo " 1. Prüfe die neuen Dateien" -echo " 2. Ersetze die alten:" -echo " mv renderer_NEW.js renderer.js" -echo " mv main_NEW.js main.js" -echo " 3. Starte die App neu" -echo "" -echo "Bei Problemen: Backups wiederherstellen" -echo " mv renderer.js.backup renderer.js" -echo " mv main.js.backup main.js" -echo ""