fix(update): pertahankan .env.gowa + hapus checkout pathspec
All checks were successful
CI / test (push) Successful in 3m35s
All checks were successful
CI / test (push) Successful in 3m35s
- .env.gowa masuk preserved entries dan clean exclude - settings.json/database tidak di-checkout (tidak dilacak git) - .env.gowa di .gitignore - versi 0.5.15
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,6 +3,7 @@ node_modules/
|
||||
|
||||
# Environment and Secrets
|
||||
.env
|
||||
.env.gowa
|
||||
*.env
|
||||
*.jks
|
||||
*.keystore
|
||||
|
||||
@@ -2,6 +2,13 @@
|
||||
|
||||
Format mengikuti [Keep a Changelog](https://keepachangelog.com/) dan [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## [0.5.15] — 2026-11-05 — "update-keep-env"
|
||||
|
||||
### Diperbaiki
|
||||
- Update aplikasi tidak lagi menghapus `.env.gowa` (kredensial/webhook GOWA) saat `git clean`.
|
||||
- Log update tidak lagi menampilkan error `pathspec 'settings.json'/'database'` — file yang tidak dilacak git tidak di-checkout.
|
||||
- `.env.gowa` ditambahkan ke `.gitignore`.
|
||||
|
||||
## [0.5.14] — 2026-11-05 — "ai-test"
|
||||
|
||||
### Ditambahkan
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/lisensi-ISC-ADFF2F" alt="Lisensi: ISC">
|
||||
<img src="https://img.shields.io/badge/versi-0.5.14_ai--test-ADFF2F" alt="Versi 0.5.14 (ai-test)">
|
||||
<img src="https://img.shields.io/badge/versi-0.5.15_update--env-ADFF2F" alt="Versi 0.5.15 (update-keep-env)">
|
||||
<img src="https://img.shields.io/badge/Node.js-%E2%89%A520-339933" alt="Node.js >= 20">
|
||||
<img src="https://img.shields.io/badge/docker-ready-2496ED?logo=docker&logoColor=white" alt="Docker">
|
||||
<a href="https://demo-openisp.oxpoe.xyz"><img src="https://img.shields.io/badge/demo-live-ADFF2F?logo=googlechrome&logoColor=black" alt="Demo"></a>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "open-isp",
|
||||
"version": "0.5.14",
|
||||
"version": "0.5.15",
|
||||
"description": "OPEN-ISP \u2014 sistem billing & manajemen ISP open-source (PWA pelanggan, multi-OLT, RADIUS, WhatsApp, QRIS)",
|
||||
"main": "app-customer.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -4629,6 +4629,7 @@ router.post('/update/run', requireAdminSession, restrictToAdmin, (req, res) => {
|
||||
const preservedEntries = [
|
||||
{ label: 'settings.json', relativePath: 'settings.json', cleanExclude: 'settings.json' },
|
||||
{ label: '.env', relativePath: '.env', cleanExclude: '.env' },
|
||||
{ label: '.env.gowa', relativePath: '.env.gowa', cleanExclude: '.env.gowa' },
|
||||
{ label: 'database', relativePath: 'database', cleanExclude: 'database' },
|
||||
{ label: 'public/uploads', relativePath: 'public/uploads', cleanExclude: 'public/uploads' },
|
||||
{ label: 'public/img', relativePath: 'public/img', cleanExclude: 'public/img' },
|
||||
@@ -4709,11 +4710,7 @@ router.post('/update/run', requireAdminSession, restrictToAdmin, (req, res) => {
|
||||
fs.mkdirSync(backupRoot, { recursive: true });
|
||||
backupPreservedEntries();
|
||||
|
||||
const resetSettings = runCmd('git', ['checkout', '--', 'settings.json'], repoRoot);
|
||||
pushCmd('git checkout -- settings.json', resetSettings);
|
||||
const resetDb = runCmd('git', ['checkout', '--', 'database'], repoRoot);
|
||||
pushCmd('git checkout -- database', resetDb);
|
||||
|
||||
// settings.json / database tidak dilacak git; jangan checkout (menghasilkan error pathspec).
|
||||
const resetHard = runCmd('git', ['reset', '--hard', _repo ? 'FETCH_HEAD' : `origin/${branch}`], repoRoot);
|
||||
pushCmd(`git reset --hard origin/${branch}`, resetHard);
|
||||
if (!resetHard.ok) throw new Error('Gagal reset ke origin/' + branch);
|
||||
|
||||
@@ -1 +1 @@
|
||||
0.5.14
|
||||
0.5.15
|
||||
Reference in New Issue
Block a user