Commit Graph

33 Commits

Author SHA1 Message Date
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
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
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
e2e3f40aa5 rebrand: rename key locale github_* -> gitea_* 2026-10-14 21:38:02 +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
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
a68121544d chore: rapikan istilah lama (RTRW/Baileys) + path relatif isolir-redirect 2026-10-13 03:49:25 +07:00
oxpoe
0f612df70f fix(monitoring): diagnosa WhatsApp sadar-gateway (GoWA) + tambah cek Telegram 2026-10-13 03:36:53 +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
6abfeb4577 chore(release): siapkan v0.5.1 (versi, CHANGELOG, release notes) 2026-10-13 00:11:22 +07:00
oxpoe
63994df1e4 feat: toggle fitur voucher (setting voucher_enabled) + gate route & sembunyikan link 2026-10-12 22:20:48 +07:00
oxpoe
8caae14cfd fix: footer versi & portal ikut company_header (brand-aware); hapus hack SKYFIBER 2026-10-09 11:32:20 +07:00
oxpoe
aca2ea06e3 i18n: terjemahkan sisa fragmen hint (billing/map/cash_in/acs/areas/kolektor/pelanggan/radius/diskon/wlc/preview/broadcast/packages/reports/whatsapp/settings) 2026-10-09 10:49:44 +07:00
oxpoe
fd6f1ebd93 i18n: rapikan sisa hint (settings/packages/broadcast/customers) 2026-10-09 10:48:33 +07:00
oxpoe
52f6be26d1 docs(ui): halaman WA tandai notifikasi-only + arahkan interaksi ke Telegram 2026-10-09 09:11:45 +07:00
oxpoe
60ef8bafab i18n (Phase C batch 12): residu empty-state/hint di 24 file admin ID/EN 2026-10-09 08:07:59 +07:00
oxpoe
e70bc23651 i18n (Phase C batch 11): areas, routers, broadcast, backup, whatsapp_templates, mikrotik_display ID/EN 2026-10-09 07:59:09 +07:00
oxpoe
fd074f8ff7 i18n (Phase C batch 10): map, map-gis, vouchers_packages, finance/cash_in, finance/expenses ID/EN 2026-10-09 07:56:10 +07:00
oxpoe
d09ab217f9 i18n (Phase C batch 9): collectors, dashboard, monitoring, vouchers, cashier_reports, cashier_attendance ID/EN 2026-10-09 07:54:34 +07:00
oxpoe
69d6ebbd0e i18n (Phase C batch 8): customers + acs ID/EN 2026-10-09 07:52:39 +07:00
oxpoe
9760888735 i18n (Phase C batch 7): olts + packages ID/EN 2026-10-09 07:35:14 +07:00
oxpoe
6ed6945970 i18n (Phase C batch 6): settings(JS), mikrotik, discounts, collector_payments, attendance ID/EN 2026-10-09 07:32:48 +07:00
oxpoe
fd13f3fa1b i18n (Phase C batch 5): settings.ejs logo/speedtest/qris/pembayaran/webhook ID/EN 2026-10-09 07:14:09 +07:00
oxpoe
0920d44938 i18n (Phase C batch 4): settings.ejs bagian umum/mikrotik/admin/whatsapp ID/EN 2026-10-09 07:13:40 +07:00
oxpoe
a94c740b16 i18n (Phase C batch 3): radius-settings — tabel NAS/sesi/accounting, modal & JS alert ID/EN 2026-10-09 07:11:56 +07:00
oxpoe
136778aa0a i18n (Phase C batch 2): radius-settings — form & tab (cards, isolir, ip-pool, autogen, script) ID/EN + fix domain sky.id->openisp.id 2026-10-09 07:06:18 +07:00
oxpoe
8b3fc70c36 i18n (Phase C batch 1): billing/tickets/onu-provision (filter, opsi, hint) ID/EN 2026-10-09 07:01:55 +07:00
oxpoe
eaf05f2811 OPEN-ISP v0.5 (pickle-lime) — rilis open-source perdana
Aplikasi billing & manajemen ISP (fiber optic) — PWA pelanggan, portal teknisi & kolektor,
admin panel lengkap, multi-vendor OLT, RADIUS, WhatsApp/Telegram, pembayaran QRIS.

Kredit & lisensi (ISC):
- Base kode & repo: alijayanet/billing-rtrw oleh Alijaya Net — terima kasih banyak
  atas base kode dan repo yang bermanfaat.
- Add-on: GoWA, LibreSpeed/OpenSpeedTest, Uptime Kuma, notification-forwarder.
- Dikembangkan menjadi OPEN-ISP oleh oxpoe — https://github.com/oxpoe/open-isp
2026-10-09 05:51:21 +07:00