diff --git a/.gitignore b/.gitignore index 3d06f17..4904111 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ node_modules/ # Environment and Secrets .env +.env.gowa *.env *.jks *.keystore diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a3b9b8..1e37385 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index dc71844..d11269c 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@

Lisensi: ISC - Versi 0.5.14 (ai-test) + Versi 0.5.15 (update-keep-env) Node.js >= 20 Docker Demo diff --git a/package.json b/package.json index 9017fb5..9d84709 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/routes/adminPortal.js b/routes/adminPortal.js index a44a9d5..4880c79 100644 --- a/routes/adminPortal.js +++ b/routes/adminPortal.js @@ -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); diff --git a/version.txt b/version.txt index 63df075..ab245e9 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.5.14 \ No newline at end of file +0.5.15 \ No newline at end of file