Commit Graph

88 Commits

Author SHA1 Message Date
oxpoe
7d77dd1424 feat(branding): nama PT dapat diatur di Pengaturan
All checks were successful
CI / test (push) Successful in 1m36s
- field company_subheader di Info Aplikasi
- dipakai sebagai kop invoice/PDF (sudah ada) dan menggantikan baris footer bila diisi
- default kosong: footer tetap 'Made with <heart> from Oxpoe in INA.'
2026-11-05 06:53:53 +07:00
oxpoe
eef690b809 style(branding): footer landing/login
Some checks failed
CI / test (push) Has been cancelled
- PT Artha Mega Data -> Made with <heart> from Oxpoe in INA.
- Fiber Optic Internet Service -> tiawidianti & irpankomara
2026-11-05 06:51:41 +07:00
oxpoe
c8b1335ff4 fix(settings): kartu AI punya tab sendiri agar filter tab sinkron
All checks were successful
CI / test (push) Successful in 2m8s
- tambah tombol tab 'AI'
- beri data-setcat="ai" pada kartu AI & Self-Healing (sebelumnya selalu tampil di semua tab)
2026-11-05 06:41:27 +07:00
oxpoe
c906bca459 fix(support): /donate redirect ke oxpoe.xyz, hapus sisa teks aktivasi & nomor
All checks were successful
CI / test (push) Successful in 1m57s
- /donate, /donasi, /public/donasi -> 302 https://oxpoe.xyz
- locale id/en: teks kode aktivasi diganti netral, nomor kontak dihapus
- README: Gitea utama, Forgejo mirror read-only
- hapus nomor dari scripts/test-admin.js
2026-11-05 06:39:12 +07:00
oxpoe
205db53d7e fix(ui): link repo ke gitea.oxpoe.xyz, buka semua menu, hapus kontak aktivasi
All checks were successful
CI / test (push) Successful in 1m55s
- ganti sisa URL gitea.oxpoe.qzz.io -> gitea.oxpoe.xyz (sidebar, donate, package.json, projectUrl)
- default menu sidebar semuanya Tampil (tidak ada lagi menu terkunci)
- hapus nomor kontak aktivasi palsu 081947215703 dari UI & pesan route
- form pengaturan sidebar tidak lagi meminta password aktivasi
2026-11-05 06:29:50 +07:00
64e321a350 Update README.md
All checks were successful
CI / test (push) Successful in 1m41s
2026-11-04 22:05:48 +00:00
55f8368214 Update README.md
All checks were successful
CI / test (push) Successful in 4m29s
2026-11-04 21:40:16 +00:00
oxpoe
0ca85544aa fix(customer): kartu akun di sidebar desktop bisa diklik
All checks were successful
CI / test (push) Successful in 2m58s
- blok nama/avatar di sidebar sebelumnya tidak punya handler klik sama sekali
- dijadikan <button> dengan switchTab('profile') + aria-label
- avatar mobile di topbar juga dijadikan <button> agar tap lebih andal
2026-11-05 04:12:52 +07:00
oxpoe
f6ab9bbfa7 feat(update): sumber update bisa diatur (update_base_url)
All checks were successful
CI / test (push) Successful in 4m5s
- setting baru update_base_url (default https://gitea.oxpoe.xyz), menggantikan hardcode gitea.oxpoe.qzz.io
- field di Pengaturan: Sumber Update + Repo Update (owner/nama)
- default project_url ikut diperbarui
2026-11-05 04:05:20 +07:00
oxpoe
1cca67668e perf(docs): konversi screenshot JPG lama ke WebP
Some checks failed
CI / test (push) Failing after 1m41s
Total folder screenshot 2,9 MB -> 0,7 MB (19 gambar).
2026-11-05 03:56:23 +07:00
oxpoe
b612d5d232 perf(docs): screenshot ke WebP — 2,3 MB → 0,39 MB
Some checks failed
CI / test (push) Has been cancelled
- konversi 10 screenshot PNG ke WebP (q78, lebar maks 1280px)
- update tautan di README dan docs/screenshots/README.md
2026-11-05 03:56:00 +07:00
oxpoe
5be6582c39 ci(forgejo): gunakan label runner linux-amd64
All checks were successful
CI / test (push) Successful in 5m28s
2026-11-05 03:44:47 +07:00
oxpoe
6e2bf3fe93 chore(release): v0.5.3 — rapikan dokumentasi, CI, dan workflow rilis
Some checks are pending
CI / test (push) Waiting to run
Release / release (push) Successful in 35s
- bump versi 0.5.3 (version.txt, package.json)
- CHANGELOG: catatan 0.5.3 + arsip 0.5.2
- README: tautan Gitea/Forgejo baru, badge versi, bagian screenshot, fitur baru
- docs/RELEASE_NOTES_v0.5.3.md
- workflow CI (syntax + unit test) dan Release (buat rilis + asset zip) untuk Gitea & Forgejo
v0.5.3
2026-11-05 03:32:03 +07:00
oxpoe
2b35ee3f99 docs(screenshots): tangkapan layar v0.5.2 + samarkan kolom API key
- 10 screenshot (desktop + mobile) untuk landing, admin, inventaris, AI settings, portal pelanggan
- field API key AI memakai type=password agar tidak tampil di layar/screenshot
2026-11-05 02:07:48 +07:00
oxpoe
adc3437bd5 fix(login): link status ikut setting uptime_url + batas sesi per akun
- login.ejs: pakai settings.uptime_url (fallback status_url lama), sehingga tab Status tidak lagi hardcode status.skyfiber.qzz.io
- sessionLimitService: rotasi session id saat login (anti fixation), catat sesi di tabel login_sessions, batas admin/kasir/teknisi/kolektor 2 per akun dan pelanggan 3 per akun; sesi tertua diputus dari store saat melebihi batas
- hook login admin/kasir/teknisi/kolektor/pelanggan (direct & OTP) dan logout
2026-11-05 01:58:29 +07:00
oxpoe
4003149046 feat(ai): provider OpenAI-compatible + DeepSeek, AI Telegram, self-healing dengan toggle (port upstream)
- telegramAiService/adminAiTools: dukung openai, deepseek, groq, openrouter, custom (base URL + key + model)
- selfHealingService: billing vs isolir, konsistensi secret PPPoE, sesi RADIUS stale, IP ACS kosong
- mikrotikService: getActivePppoeUsers, isolateCustomerPppoe, unisolateCustomerPppoe (upstream memanggil fungsi yang tidak ada)
- cron 30 menit hanya jalan bila ai_self_healing_enabled=true (default off) + scan brute force MikroTik tiap 2 menit
- Pengaturan: kartu AI & Self-Healing (provider, key/model, toggle, tombol Diagnosa/Perbaiki)
- bot Telegram: pesan non-command dari admin dijawab AI
2026-11-05 01:48:50 +07:00
oxpoe
1c40e6a0e8 feat(keamanan): security watchdog brute-force + soundbox TTS (port upstream)
- securityWatchdogService: deteksi brute force login admin/kasir/teknisi/kolektor & log MikroTik, blokir IP 15 menit, alert suara + WA/Telegram
- soundboxService + voiceTtsService (TTS Google Translate, cache)
- hook login admin/teknisi/kolektor, hook soundbox saat invoice lunas
- route /admin/api/soundbox/poll dan /test
2026-11-05 01:27:33 +07:00
oxpoe
95fa69e968 feat(inventaris): stok keluar/retur/opname + detail unit, dan edit slip payroll (port upstream)
- inventoryService: port penuh dari upstream (issueStock FIFO/SN, returnStock, adjustStock opname, serial tersedia, statistik, detail barang) + kompatibilitas fork
- schema: kolom price/supplier (stock) dan remaining_stock/recipient/reference_no (log) via migrasi aman
- admin: route stok keluar/retur/opname + API detail & serial; modal + tombol aksi di halaman inventaris; viewStock yang tadinya undefined
- payroll: updateSlip() + route /payroll/slip/:id/update
2026-11-05 01:26:18 +07:00
oxpoe
d24cabf818 feat(akses): batasi teknisi & kolektor sesuai wilayah tugas (port dari upstream)
- techService: getTechAreaWhere + canTechAccessCustomer, filter pool/stats
- techPortal: filter peta, ODP, daftar perangkat; guard perangkat per wilayah; area pelanggan baru dipaksa sesuai wilayah
- customerService: getCollectorCustomerWhere + canCollectorAccessCustomer (multi-area)
- collectorPortal: daftar tagihan pakai helper; tolak bayar/cetak/kirim PDF di luar wilayah
- customerAPI: dashboard & pay-bill kolektor dibatasi wilayah
- tests/unit/area-access.test.js: self-check logika area
2026-11-05 01:16:26 +07:00
oxpoe
2a29739dc3 docs: banner mirror sebutkan rilis/unduhan di Gitea 2026-10-14 22:34:20 +07:00
oxpoe
e2e3f40aa5 rebrand: rename key locale github_* -> gitea_* v0.5.2 2026-10-14 21:38:02 +07:00
oxpoe
a69b203b63 chore: bump versi 0.5.2 (rebrand + deploy ke Gitea) 2026-10-14 21:34:20 +07:00
oxpoe
11ccc31933 fix(update): fetch rilis dari Gitea, bukan github.com 2026-10-14 21:11:52 +07:00
oxpoe
19558b9b94 rebrand: ganti sisa teks 'GitHub' -> 'Gitea' (UI, komentar, dokumen) 2026-10-14 21:09:02 +07:00
oxpoe
6817404688 rebrand: arahkan tautan, badge, label UI & cek-update ke Gitea (bukan GitHub) 2026-10-14 21:08:02 +07:00
oxpoe
91b65fc769 docs: banner mirror (repo asli di Gitea) 2026-10-14 12:30:36 +07:00
oxpoe
ed557cf899 chore(tidy): version.txt=0.5.1 (cek update) + buang blok UI khusus Baileys 2026-10-13 04:07:15 +07:00
oxpoe
d02c9baf7b feat(update): mode container -> menu Update tampil dgn pesan rebuild image (bukan disembunyikan) 2026-10-13 04:00:25 +07:00
oxpoe
fed81ed5f9 chore: selaraskan default server_port=3001 (Docker/healthcheck/wiki) 2026-10-13 03:49:47 +07:00
oxpoe
a68121544d chore: rapikan istilah lama (RTRW/Baileys) + path relatif isolir-redirect 2026-10-13 03:49:25 +07:00
oxpoe
cdb5046147 docs: bersihkan dokumen basi (artefak fork/dev) + buang referensi digiflazz 2026-10-13 03:48:58 +07:00
oxpoe
cb60ceec10 chore: default wa_gateway_type=gowa (baileys dilepas) + README 2026-10-13 03:47:32 +07:00
oxpoe
0f612df70f fix(monitoring): diagnosa WhatsApp sadar-gateway (GoWA) + tambah cek Telegram 2026-10-13 03:36:53 +07:00
oxpoe
6f97430e41 feat: dukung SETTINGS_PATH (settings.json di direktori mount/persisten) 2026-10-13 03:29:36 +07:00
oxpoe
f27c02309e feat: badge kelengkapan data pelanggan; fix IP search GenieACS; mount speedtest backend; isolir-redirect embedded; sembunyikan menu Update tanpa .git 2026-10-13 03:01:16 +07:00
oxpoe
b715f48f8d chore: gitignore penanda restore .restore-pending v0.5.1 2026-10-13 00:15:52 +07:00
oxpoe
6abfeb4577 chore(release): siapkan v0.5.1 (versi, CHANGELOG, release notes) 2026-10-13 00:11:22 +07:00
oxpoe
c6b39ae2bc chore(deps): upgrade node-telegram-bot-api 0.66 -> 2.1.0 (via adapter v1->v2), audit 0 vuln 2026-10-12 23:37:00 +07:00
oxpoe
3e913d8ceb chore(log): arahkan console.* (server) ke logger agar log seragam & tersimpan di logs/ 2026-10-12 23:31:45 +07:00
oxpoe
ba0845da47 fix(backup): terapkan restore DB saat startup (tunda swap) - menimpa DB di bawah koneksi hidup merusak (WAL) 2026-10-12 23:24:24 +07:00
oxpoe
2aadb66f77 fix(backup): perbaiki scope restartNeeded (di luar try) agar restart setelah restore DB benar-benar jalan 2026-10-12 23:20:13 +07:00
oxpoe
994e3f8d61 fix(backup): buang -wal/-shm lama saat restore DB (backup self-contained) 2026-10-12 23:18:04 +07:00
oxpoe
a77975ca44 fix(backup): restart otomatis setelah restore database (koneksi lama masih pegang file DB lama) 2026-10-12 23:13:35 +07:00
oxpoe
3eb4edfe5b fix(backup): VACUUM INTO agar backup konsisten saat DB mode WAL (sebelumnya salin file mentah bisa kehilangan -wal) 2026-10-12 23:12:35 +07:00
oxpoe
ebbfffc116 fix(deps): xlsx -> build resmi SheetJS 0.20.3 (tutup high CVE) 2026-10-12 23:06:14 +07:00
oxpoe
4185af3971 fix(deps): hapus baileys (tak dipakai), update axios/multer, audit fix; fix trust proxy (XFF) 2026-10-12 22:45:29 +07:00
oxpoe
a1e1570221 fix(log): putar log otomatis (10MB x 5) agar tak menumpuk 2026-10-12 22:37:46 +07:00
oxpoe
dc5c1299d3 feat(telegram): perintah /cekterhubung <tag> (status perangkat) 2026-10-12 22:29:59 +07:00
oxpoe
008aa871f6 docs: CHANGELOG — catat perubahan pasca rilis v0.5.0 2026-10-12 22:27:56 +07:00
oxpoe
63994df1e4 feat: toggle fitur voucher (setting voucher_enabled) + gate route & sembunyikan link 2026-10-12 22:20:48 +07:00