# ✅ Fix: Save description không lưu được + form bị trống sau save

**Status:** done  
**Completed:** 2026-04-16  
**Priority:** high

## Vấn đề (3 bugs)

### Bug 1: `update_tags` thiếu `conn.commit()`
Tags được update trong transaction nhưng không commit → rollback khi close connection.

### Bug 2: JS shared reference bug
`getSafeDetailData()` trả reference trực tiếp → `gatherInputsIntoData()` mutate ref
→ sau save, code `delete targetData[k]` wipe sạch object rỗng
→ form hiển thị trống, user tưởng không save được.

### Bug 3: `update_tags` chỉ tìm `internal_ref_code`
SP có color suffix (`-SA190`) không được update vì chỉ WHERE `internal_ref_code`.

## Fix
- `backend/common/ultra_desc_db.py`: thêm `conn.commit()` + rollback + magento fallback vào `update_tags()`
- `backend/static/product-desc/product-desc.js`: thay buggy in-memory wipe bằng re-fetch từ server sau save

## Kết quả
- Save thành công ✅
- Form hiển thị đúng data sau save ✅
- Tags lưu xuống DB đúng ✅
