Remove dev artifacts and internal docs
- dbbackup, dbbackup_cgo (dev binaries, use bin/ for releases) - CRITICAL_BUGS_FIXED.md (internal post-mortem) - scripts/remove_*.sh (one-time cleanup scripts)
This commit is contained in:
@@ -1,171 +0,0 @@
|
||||
#!/bin/bash
|
||||
# COMPLETE emoji/Unicode removal - Replace ALL non-ASCII with ASCII equivalents
|
||||
# Date: January 8, 2026
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "[INFO] Starting COMPLETE Unicode->ASCII replacement..."
|
||||
echo ""
|
||||
|
||||
# Create backup
|
||||
BACKUP_DIR="backup_unicode_removal_$(date +%Y%m%d_%H%M%S)"
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
echo "[INFO] Creating backup in $BACKUP_DIR..."
|
||||
find . -name "*.go" -type f -not -path "*/vendor/*" -not -path "*/.git/*" -exec bash -c 'mkdir -p "$1/$(dirname "$2")" && cp "$2" "$1/$2"' -- "$BACKUP_DIR" {} \;
|
||||
echo "[OK] Backup created"
|
||||
echo ""
|
||||
|
||||
# Find all affected files
|
||||
echo "[SEARCH] Finding files with Unicode..."
|
||||
FILES=$(find . -name "*.go" -type f -not -path "*/vendor/*" -not -path "*/.git/*")
|
||||
|
||||
PROCESSED=0
|
||||
TOTAL=$(echo "$FILES" | wc -l)
|
||||
|
||||
for file in $FILES; do
|
||||
PROCESSED=$((PROCESSED + 1))
|
||||
|
||||
if ! grep -qP '[\x{80}-\x{FFFF}]' "$file" 2>/dev/null; then
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "[$PROCESSED/$TOTAL] Processing: $file"
|
||||
|
||||
# Create temp file for atomic replacements
|
||||
TMPFILE="${file}.tmp"
|
||||
cp "$file" "$TMPFILE"
|
||||
|
||||
# Box drawing / decorative (used in TUI borders)
|
||||
sed -i 's/─/-/g' "$TMPFILE"
|
||||
sed -i 's/━/-/g' "$TMPFILE"
|
||||
sed -i 's/│/|/g' "$TMPFILE"
|
||||
sed -i 's/║/|/g' "$TMPFILE"
|
||||
sed -i 's/├/+/g' "$TMPFILE"
|
||||
sed -i 's/└/+/g' "$TMPFILE"
|
||||
sed -i 's/╔/+/g' "$TMPFILE"
|
||||
sed -i 's/╗/+/g' "$TMPFILE"
|
||||
sed -i 's/╚/+/g' "$TMPFILE"
|
||||
sed -i 's/╝/+/g' "$TMPFILE"
|
||||
sed -i 's/╠/+/g' "$TMPFILE"
|
||||
sed -i 's/╣/+/g' "$TMPFILE"
|
||||
sed -i 's/═/=/g' "$TMPFILE"
|
||||
|
||||
# Status symbols
|
||||
sed -i 's/✅/[OK]/g' "$TMPFILE"
|
||||
sed -i 's/❌/[FAIL]/g' "$TMPFILE"
|
||||
sed -i 's/✓/[+]/g' "$TMPFILE"
|
||||
sed -i 's/✗/[-]/g' "$TMPFILE"
|
||||
sed -i 's/⚠️/[WARN]/g' "$TMPFILE"
|
||||
sed -i 's/⚠/[!]/g' "$TMPFILE"
|
||||
sed -i 's/❓/[?]/g' "$TMPFILE"
|
||||
|
||||
# Arrows
|
||||
sed -i 's/←/</g' "$TMPFILE"
|
||||
sed -i 's/→/>/g' "$TMPFILE"
|
||||
sed -i 's/↑/^/g' "$TMPFILE"
|
||||
sed -i 's/↓/v/g' "$TMPFILE"
|
||||
sed -i 's/▲/^/g' "$TMPFILE"
|
||||
sed -i 's/▼/v/g' "$TMPFILE"
|
||||
sed -i 's/▶/>/g' "$TMPFILE"
|
||||
|
||||
# Shapes
|
||||
sed -i 's/●/*\*/g' "$TMPFILE"
|
||||
sed -i 's/○/o/g' "$TMPFILE"
|
||||
sed -i 's/⚪/o/g' "$TMPFILE"
|
||||
sed -i 's/•/-/g' "$TMPFILE"
|
||||
sed -i 's/█/#/g' "$TMPFILE"
|
||||
sed -i 's/▎/|/g' "$TMPFILE"
|
||||
sed -i 's/░/./g' "$TMPFILE"
|
||||
sed -i 's/➖/-/g' "$TMPFILE"
|
||||
|
||||
# Emojis - Info/Data
|
||||
sed -i 's/📊/[INFO]/g' "$TMPFILE"
|
||||
sed -i 's/📋/[LIST]/g' "$TMPFILE"
|
||||
sed -i 's/📁/[DIR]/g' "$TMPFILE"
|
||||
sed -i 's/📦/[PKG]/g' "$TMPFILE"
|
||||
sed -i 's/📜/[LOG]/g' "$TMPFILE"
|
||||
sed -i 's/📭/[EMPTY]/g' "$TMPFILE"
|
||||
sed -i 's/📝/[NOTE]/g' "$TMPFILE"
|
||||
sed -i 's/💡/[TIP]/g' "$TMPFILE"
|
||||
|
||||
# Emojis - Actions/Objects
|
||||
sed -i 's/🎯/[TARGET]/g' "$TMPFILE"
|
||||
sed -i 's/🛡️/[SECURE]/g' "$TMPFILE"
|
||||
sed -i 's/🔒/[LOCK]/g' "$TMPFILE"
|
||||
sed -i 's/🔓/[UNLOCK]/g' "$TMPFILE"
|
||||
sed -i 's/🔍/[SEARCH]/g' "$TMPFILE"
|
||||
sed -i 's/🔀/[SWITCH]/g' "$TMPFILE"
|
||||
sed -i 's/🔥/[FIRE]/g' "$TMPFILE"
|
||||
sed -i 's/💾/[SAVE]/g' "$TMPFILE"
|
||||
sed -i 's/🗄️/[DB]/g' "$TMPFILE"
|
||||
sed -i 's/🗄/[DB]/g' "$TMPFILE"
|
||||
|
||||
# Emojis - Time/Status
|
||||
sed -i 's/⏱️/[TIME]/g' "$TMPFILE"
|
||||
sed -i 's/⏱/[TIME]/g' "$TMPFILE"
|
||||
sed -i 's/⏳/[WAIT]/g' "$TMPFILE"
|
||||
sed -i 's/⏪/[REW]/g' "$TMPFILE"
|
||||
sed -i 's/⏹️/[STOP]/g' "$TMPFILE"
|
||||
sed -i 's/⏹/[STOP]/g' "$TMPFILE"
|
||||
sed -i 's/⟳/[SYNC]/g' "$TMPFILE"
|
||||
|
||||
# Emojis - Cloud
|
||||
sed -i 's/☁️/[CLOUD]/g' "$TMPFILE"
|
||||
sed -i 's/☁/[CLOUD]/g' "$TMPFILE"
|
||||
sed -i 's/📤/[UPLOAD]/g' "$TMPFILE"
|
||||
sed -i 's/📥/[DOWNLOAD]/g' "$TMPFILE"
|
||||
sed -i 's/🗑️/[DELETE]/g' "$TMPFILE"
|
||||
|
||||
# Emojis - Misc
|
||||
sed -i 's/📈/[UP]/g' "$TMPFILE"
|
||||
sed -i 's/📉/[DOWN]/g' "$TMPFILE"
|
||||
sed -i 's/⌨️/[KEY]/g' "$TMPFILE"
|
||||
sed -i 's/⌨/[KEY]/g' "$TMPFILE"
|
||||
sed -i 's/⚙️/[CONFIG]/g' "$TMPFILE"
|
||||
sed -i 's/⚙/[CONFIG]/g' "$TMPFILE"
|
||||
sed -i 's/✏️/[EDIT]/g' "$TMPFILE"
|
||||
sed -i 's/✏/[EDIT]/g' "$TMPFILE"
|
||||
sed -i 's/⚡/[FAST]/g' "$TMPFILE"
|
||||
|
||||
# Spinner characters (braille patterns for loading animations)
|
||||
sed -i 's/⠋/|/g' "$TMPFILE"
|
||||
sed -i 's/⠙/\//g' "$TMPFILE"
|
||||
sed -i 's/⠹/-/g' "$TMPFILE"
|
||||
sed -i 's/⠸/\\/g' "$TMPFILE"
|
||||
sed -i 's/⠼/|/g' "$TMPFILE"
|
||||
sed -i 's/⠴/\//g' "$TMPFILE"
|
||||
sed -i 's/⠦/-/g' "$TMPFILE"
|
||||
sed -i 's/⠧/\\/g' "$TMPFILE"
|
||||
sed -i 's/⠇/|/g' "$TMPFILE"
|
||||
sed -i 's/⠏/\//g' "$TMPFILE"
|
||||
|
||||
# Move temp file over original
|
||||
mv "$TMPFILE" "$file"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "[OK] Replacement complete!"
|
||||
echo ""
|
||||
|
||||
# Verify
|
||||
REMAINING=$(grep -roP '[\x{80}-\x{FFFF}]' --include="*.go" . 2>/dev/null | wc -l || echo "0")
|
||||
|
||||
echo "[INFO] Unicode characters remaining: $REMAINING"
|
||||
if [ "$REMAINING" -gt 0 ]; then
|
||||
echo "[WARN] Some Unicode still exists (might be in comments or safe locations)"
|
||||
echo "[INFO] Unique remaining characters:"
|
||||
grep -roP '[\x{80}-\x{FFFF}]' --include="*.go" . 2>/dev/null | grep -oP '[\x{80}-\x{FFFF}]' | sort -u | head -20
|
||||
else
|
||||
echo "[OK] All Unicode characters replaced with ASCII!"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "[INFO] Backup: $BACKUP_DIR"
|
||||
echo "[INFO] To restore: cp -r $BACKUP_DIR/* ."
|
||||
echo ""
|
||||
echo "[INFO] Next steps:"
|
||||
echo " 1. go build"
|
||||
echo " 2. go test ./..."
|
||||
echo " 3. Test TUI: ./dbbackup"
|
||||
echo " 4. Commit: git add . && git commit -m 'v3.42.11: Replace all Unicode with ASCII'"
|
||||
echo ""
|
||||
@@ -1,130 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Remove ALL emojis/unicode symbols from Go code and replace with ASCII
|
||||
# Date: January 8, 2026
|
||||
# Issue: 638 lines contain Unicode emojis causing display issues
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "[INFO] Starting emoji removal process..."
|
||||
echo ""
|
||||
|
||||
# Find all Go files with emojis (expanded emoji list)
|
||||
echo "[SEARCH] Finding affected files..."
|
||||
FILES=$(find . -name "*.go" -type f -not -path "*/vendor/*" -not -path "*/.git/*" | xargs grep -l -P '[\x{1F000}-\x{1FFFF}]|[\x{2300}-\x{27BF}]|[\x{2600}-\x{26FF}]' 2>/dev/null || true)
|
||||
|
||||
if [ -z "$FILES" ]; then
|
||||
echo "[WARN] No files with emojis found!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
FILECOUNT=$(echo "$FILES" | wc -l)
|
||||
echo "[INFO] Found $FILECOUNT files containing emojis"
|
||||
echo ""
|
||||
|
||||
# Count total emojis before
|
||||
BEFORE=$(find . -name "*.go" -type f -not -path "*/vendor/*" | xargs grep -oP '[\x{1F000}-\x{1FFFF}]|[\x{2300}-\x{27BF}]|[\x{2600}-\x{26FF}]' 2>/dev/null | wc -l || echo "0")
|
||||
echo "[INFO] Total emojis found: $BEFORE"
|
||||
echo ""
|
||||
|
||||
# Create backup
|
||||
BACKUP_DIR="backup_before_emoji_removal_$(date +%Y%m%d_%H%M%S)"
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
echo "[INFO] Creating backup in $BACKUP_DIR..."
|
||||
for file in $FILES; do
|
||||
mkdir -p "$BACKUP_DIR/$(dirname "$file")"
|
||||
cp "$file" "$BACKUP_DIR/$file"
|
||||
done
|
||||
echo "[OK] Backup created"
|
||||
echo ""
|
||||
|
||||
# Process each file
|
||||
echo "[INFO] Replacing emojis with ASCII equivalents..."
|
||||
PROCESSED=0
|
||||
|
||||
for file in $FILES; do
|
||||
PROCESSED=$((PROCESSED + 1))
|
||||
echo "[$PROCESSED/$FILECOUNT] Processing: $file"
|
||||
|
||||
# Create temp file
|
||||
TMPFILE="${file}.tmp"
|
||||
|
||||
# Status indicators
|
||||
sed 's/✅/[OK]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/❌/[FAIL]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/✓/[+]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/✗/[-]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
|
||||
# Warning symbols (⚠️ has variant selector, handle both)
|
||||
sed 's/⚠️/[WARN]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/⚠/[!]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
|
||||
# Info/Data symbols
|
||||
sed 's/📊/[INFO]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/📋/[LIST]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/📁/[DIR]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/📦/[PKG]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
|
||||
# Target/Security
|
||||
sed 's/🎯/[TARGET]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/🛡️/[SECURE]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/🔒/[LOCK]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/🔓/[UNLOCK]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
|
||||
# Actions
|
||||
sed 's/🔍/[SEARCH]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/⏱️/[TIME]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
|
||||
# Cloud operations (☁️ has variant selector, handle both)
|
||||
sed 's/☁️/[CLOUD]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/☁/[CLOUD]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/📤/[UPLOAD]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/📥/[DOWNLOAD]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/🗑️/[DELETE]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
|
||||
# Other
|
||||
sed 's/📈/[UP]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/📉/[DOWN]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
|
||||
# Additional emojis found
|
||||
sed 's/⌨️/[KEY]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/⌨/[KEY]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/🗄️/[DB]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/🗄/[DB]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/⚙️/[CONFIG]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/⚙/[CONFIG]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/✏️/[EDIT]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
sed 's/✏/[EDIT]/g' "$file" > "$TMPFILE" && mv "$TMPFILE" "$file"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "[OK] Replacement complete!"
|
||||
echo ""
|
||||
|
||||
# Count remaining emojis
|
||||
AFTER=$(find . -name "*.go" -type f -not -path "*/vendor/*" | xargs grep -oP '[\x{1F000}-\x{1FFFF}]|[\x{2300}-\x{27BF}]|[\x{2600}-\x{26FF}]' 2>/dev/null | wc -l || echo "0")
|
||||
|
||||
echo "[INFO] Emojis before: $BEFORE"
|
||||
echo "[INFO] Emojis after: $AFTER"
|
||||
echo "[INFO] Emojis removed: $((BEFORE - AFTER))"
|
||||
echo ""
|
||||
|
||||
if [ "$AFTER" -gt 0 ]; then
|
||||
echo "[WARN] $AFTER emojis still remaining!"
|
||||
echo "[INFO] Listing remaining emojis:"
|
||||
find . -name "*.go" -type f -not -path "*/vendor/*" | xargs grep -nP '[\x{1F000}-\x{1FFFF}]|[\x{2300}-\x{27BF}]|[\x{2600}-\x{26FF}]' 2>/dev/null | head -20
|
||||
else
|
||||
echo "[OK] All emojis successfully removed!"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "[INFO] Backup location: $BACKUP_DIR"
|
||||
echo "[INFO] To restore: cp -r $BACKUP_DIR/* ."
|
||||
echo ""
|
||||
echo "[INFO] Next steps:"
|
||||
echo " 1. Build: go build"
|
||||
echo " 2. Test: go test ./..."
|
||||
echo " 3. Manual testing: ./dbbackup status"
|
||||
echo " 4. If OK, commit: git add . && git commit -m 'Replace emojis with ASCII'"
|
||||
echo " 5. If broken, restore: cp -r $BACKUP_DIR/* ."
|
||||
echo ""
|
||||
echo "[OK] Emoji removal script completed!"
|
||||
Reference in New Issue
Block a user