0.4.179
- Promosi selektif SSH Servers dari Staging (v0.4.177–0.4.179) ke Production. Nomor versi mengikuti Staging; fitur Staging lain pada 0.4.174–0.4.176 TIDAK ikut dirilis ke Production.
- fix(db): DDL
ssh_servers/ssh_server_audit_logs+ seed + permissionadmin.ssh_serversjuga ditambahkan kePG_EXTRAS_SQL(pg-facade.ts) agar tabel terbentuk di PostgreSQL Production saat boot. - fix(ssh-servers): pasang
openssh-clientdiDockerfile.dev(staging) dan stage runnerDockerfile(prod) — binarysshwajib ada di container agar Tes Koneksi bisa jalan, bukan kebetulan dari base image. - fix(ssh-servers): pesan gagal Tes Koneksi kini menampilkan penyebab asli tersanitasi (
spawn ssh ENOENT,Permission denied, timeout/refused, exit code) dilastTestMessage+ audit, bukan teks generik.
0.4.178
- SSH Servers: field upload private key SSH di form tambah/edit (simpan 600 di host, fingerprint SHA256 otomatis, key tidak masuk DB).
0.4.177
- feat(admin): menu Settings → SSH Servers — CRUD registry server SSH (auth key/password terenkripsi), Test Connection read-only (hostname/whoami/uptime), audit log; seed cen-internal/cen-dcpns/jarwo nonaktif tanpa kredensial
0.4.173
- feat(telegram): OCR gambar inbound (Tesseract ind+eng) pada ekstraksi Telegram, chat workspace, dan lampiran BPMN; berkas disimpan di /data/telegram-inbound
0.4.172
- feat(db): Production memakai PostgreSQL (
sangga_proddi supabase-sangga), termasuk FTStsvector - fix(db): ETL SQLite ke Postgres menyalin
DEFAULTkolom supaya insert antrian tidak ditolak - feat(whatsapp): sidecar Production memakai
WA_DATABASE_URLbila diisi
0.4.171
- feat(db): Staging memakai PostgreSQL (
sangga_stagingdi supabase-sangga), termasuk FTStsvectordan vektorpgvector - feat(whatsapp): sidecar Staging memakai
WA_DATABASE_URL(Postgres) bila diisi; SQLite tetap jika kosong
0.4.170
- feat(whatsapp): promote tautan WA Staging → Prod (Settings pair user + steward QR + addressing grup + inbound harden)
- feat(codespace): Git Diff Viewer inline + side-by-side (0.4.166–168)
- fix(telegram): reply di topic forum (
message_thread_id/reply_to_message_id) (0.4.169) - chore: schema
wa_groups/wa_voice_pendingikut ensure di Prod
0.4.169
- fix(telegram):
sendMessage/sendDocument/sendPhotomeneruskanreply_to_message_id+message_thread_id(balasan mention di topic yang benar, bukan #General) - fix(telegram): konteks reply/topic ikut antrian job + lampiran outbound
- fix(codespace): editor CM harden light (localStorage fallback + CSS belt); ScmDiffView light pakai
!importantanti-override
0.4.168
- fix(codespace): CodeMirror editor ikut
data-theme(light = tema terang; dark = oneDark) - fix(codespace): DiffPanel agent pakai token sendiri agar kontras di light theme
0.4.167
- fix(codespace): viewer diff bisa di-scroll (wrapper editor
flex+overflow-hidden) - fix(codespace): kontras light theme di
GitDiffViewer/ScmDiffView(token sendiri, bukan remap slate)
0.4.166
- feat(codespace): klik file di tab Git membuka viewer diff di editor (inline + side-by-side)
- feat(codespace):
ScmDiffViewshared highlight untuk Git + DiffPanel agent; edge binary/deleted/untracked/truncate - feat(codespace): API git
diff+detail:truemengembalikan before/after untuk side-by-side
0.4.165
- feat(whatsapp): aktifkan outbound prefix Staging
sangga_bot_stg:viaWHATSAPP_OUTBOUND_PREFIX - fix(whatsapp):
ensureWhatsAppPrefixmempertahankan spasi setelah:(trim tidak lagi menempelkan label ke teks)
0.4.164
- feat(whatsapp): F2 on-par Jarwo di Staging — grup allowlist + mention/reply, media inbound,
ATTACH:→/send-media, voice note (Whisper → YA/koreksi/TOLAK), mirror Telegram, health alert steward, prefix outbound opsional - feat(whatsapp): sidecar
/send-media,/group-members, download media, eventsidecar_event - feat(settings): Pengaturan → WhatsApp — daftar grup + toggle enable (steward)
0.4.163
- fix(codespace):
/codespace browse-statustidak lagi menabrak batas 4096 Telegram (scope folder user;alluntuk global;sendLongMessage)
0.4.162
- feat(vibe-browse): registry PORT/PREFIX unik (pool 3120–3299) + mirror JSON
.sangga/browse-registry.json - feat(vibe-browse): preflight path taken/reserve platform;
/codespace browse-status+/codespace set-prefix - fix(vibe-proxy): ensure-proxy pakai registry, satu snippet managed, auto-include di tiap server{}; watchdog hormati registry + timeout start.sh
- chore(docker): publish vibe-watchdog
3120-3299
0.4.161
- feat(companion): POST /chat mirrors Coucou prompts to Telegram (
💻 Coucou:\n…) before status/queue; status antrian tetap pesan terpisah - feat(companion): body menerima
textatauprompt; respons menambahtelegramMirrored - docs(companion): OpenAPI Companion 0.5.1
0.4.160
- feat(whatsapp): sidecar whatsmeow (satu nomor operasional per lingkungan) — DM WhatsApp masuk jalur Coucou: slash = handler Telegram, teks biasa = antrian agent, balasan akhir kembali ke WA
- feat(settings): Pengaturan → WhatsApp — kode
/start KODE(6 digit Companion), daftar nomor tertaut; steward: QR / kode nomor telepon / logout
0.4.159
- feat(companion): slash Coucou (
/help,/status,/workspace, …) memakai handler Telegram yang sama - fix(telegram): typo
/sudidiarahkan ke/sudotanpa menyimpan argumen
0.4.158
- feat(companion): POST /api/v1/companion/chat — Coucou island chat masuk antrian agent (bukan file coucou-chat.txt)
0.4.155
- fix(companion): Settings → Companion — panduan pair sesuai alur Coucou + bridge (
--device/--base, tokens.json, Allow 37865); base URL mengikuti PUBLIC_APP_URL (STG/Prod)
0.4.154
- feat(companion): R0 screenshot / R1 CMD-PowerShell / R2 sesi mesh — edge kinds, allowlist default deny, Allow 37865
0.4.153
- feat(companion): pill sangga heartbeat, GET /device, edge enqueue/next (Cursor CLI allowlist) — staging P2.5+P3
0.4.152
- feat(companion): Companion API + Coucou bridge (pair device, jobs/events SSE, approvals sudo/deploy, file drop) — staging P0–P2
0.4.151
- BPMN Layar & Form: kontras font (preview field, chip, muted) dark+light
v0.4.148
0.4.150
- fix(bpmn): lane DI inset 30px agar header pool kiri tidak tertimpa (ensure on load/apply + rule di prompt AI)
0.4.149
fix(bpmn/chat): Generate/Update Prototype seed bubble + progress blob di tab Chat (paritas prompt AgentPanel; poll job agent)
fix(agent): spill prompt >100KB ke file workspace — hindari spawn E2BIG (MAX_ARG_STRLEN)
fix(bpmn/layar-form): Generate Prototype path-only (tanpa embed XML) + kontras font box tombol
v0.4.147
- feat(bpmn/layar-form): Supabase field-aligned P0+P1 — dropdown kolom, isi dari key, buat kolom hilang, mode persistensi, tipe field
v0.4.146
- fix(bpmn/chat): samakan layout chat tab BPMN dengan AgentPanel codespace (CsThreadBar, composer, bubble)
v0.4.145
- feat(bpmn/layar-form): tombol Generate / Update Prototype — LLM agent menyambungkan BPMN aktif ke prototype (semantik) atau membuat baru
v0.4.144
- fix(bpmn/layar-form): auto-load semua schema Supabase non-sistem di dropdown (bukan hanya cs_{proyek})
v0.4.143
- feat(bpmn/supabase): binding schema terbuka — semua schema user boleh dipilih; blokir hanya underlay Supabase/Postgres (auth, storage, pg_*, …)
v0.4.142
- fix(bpmn): grup tombol Lint / Pool / Lane+ di chrome; hapus dropdown Lane ▾ (aksi lanjut di ⋯)
v0.4.141
- feat(bpmn): zoom toolbar chrome (− / % Fit / +) + lint panel ringan
- feat(bpmn): grid snap di atas align guide kit; pinch default 4×
- feat(bpmn): clipboard publik (copyElements/paste) + duplicate tetap di lane
- feat(bpmn): nudge arrow re-route orthogonal; rename file dari breadcrumb
- feat(bpmn): tombol Pool / Lane+ native di chrome (tanpa template wizard)
v0.4.140
- fix(bpmn/mobile): breakpoint chrome selaras panel — Undo/Redo + menu ⋯ sampai <768px (bukan hanya <640)
- fix(bpmn/mobile): safe-area notch + chrome satu baris (Browse/Lane/Export/Panel di ⋯)
v0.4.139
- fix(bpmn/mobile): rapihkan chrome editor menjadi satu baris dan tampilkan Undo/Redo langsung
- fix(bpmn/mobile): pindahkan Browse, Lane, Export, dan Panel ke menu lainnya agar canvas lebih lega
[0.4.138] - 2026-09-11
Added
- feat(konfigurasi): bar Sensitivitas pinch zoom di Control (default 2×, range 0.5–4) — terpisah dari pan/scroll-zoom
Changed
- fix(bpmn): pinch trackpad (Ctrl+scroll) & 2-jari memakai
pinchSens(default 2× pengaruh vs v0.4.135)
[0.4.137] - 2026-09-11
Added
- feat(codespace): Rename di list web — popup nama + slug dengan validasi; slug berubah → rename folder disk + sync
active_code_project_slug+ PREFIX start.sh
Fixed
- fix(ui): CTA cyan solid (
bg-cyan-600/500+text-slate-950dan sejenis) dipaksa teks putih di cyan-700 (dark & light) via.btn-cyan-cta+ remap CSS
[0.4.136] - 2026-09-10
Fixed
- Kontras tombol CTA cyan di codespace IDE (BPMN baru / Salin ke codespace / Buka codespace baru):
text-whitedibg-cyan-700(bukantext-slate-950di cyan-500/600).
v0.4.135
- feat(codespace): shared tanpa Git — banner view-only (bukan modal blocking); baca tree/file OK
- feat(codespace): duplicate mode auto — ada remote → git-collab; tanpa remote → FS-copy OWN (
{slug}-copy, strip.git) - fix(bpmn): sensitivitas Konfigurasi → rebind wheel/pointermove (Z0); kurva Ctrl+scroll pinch (Z1); pinch 2-jari
pow(ratio,sens)(Z2)
v0.4.134
- fix(codespace): kontras strip Chat saat panel Agent collapsed — token dark/light (bukan slate-400 di bg-slate-900/70 yang me-remap gelap@gelap)
- fix(codespace): tombol toolbar Chat / Tutup chat pakai token tema; state collapsed accent sky
v0.4.133
- feat(share): daftar user sudah di-share tetap terlihat; tombol Impersonate untuk admin (
admin.users) - feat(impersonate): privilege/codespace mengikuti target; AI tetap di akun actor (jobs/skills/Telegram/Cursor)
- feat(nav): banner impersonate + tombol Exit impersonate di atas Log out
v0.4.132
- feat(konfigurasi): menu Konfigurasi di bawah Profil (role Pengguna + Administrator via
settings.controls) - feat(control): submenu Control — bar sensitivitas mousepad (default 1.75×) untuk pan & zoom editor BPMN
- feat(bpmn): wire pointer sensitivity ke ViewportController (wheel zoom + pan drag), live-update dari localStorage
v0.4.131
- feat(codespace): tombol Tutup chat / Chat desktop + strip vertical saat collapsed (persist localStorage)
- feat(filetree): persist expand/collapse folder + file selected ke localStorage (survive kembali dari BPMN)
- feat(filetree): attach folder ke chat AI — expand rekursif ke file (cap 40); server expand folder juga
- fix(bpmn): refresh editor tidak lagi 500
document is not defined(onDestroy SSR) · restore last saved path - fix(share): kontras warna ShareWizard dark/light (CTA putih di accent)
v0.4.130
- feat(bpmn): resize pool tidak mengecilkan/melebarkan lane kecuali lane juga selected (mouse edge + Alt/property solo tetap)
- feat(bpmn): arrow keys geser objek terpilih (Shift = 10px); tanpa seleksi tetap pan viewport
v0.4.129
- fix(bpmn): tombol snap panel (▾ ▯ ▴) + handle geser hanya di mobile — scoped CSS sebelumnya menimpa Tailwind md:hidden di desktop
v0.4.128
- feat(bpmn): Lane ▾ di top bar (keluar menu ⋯) · Browse selalu visible mobile+desktop · token kontras chrome
- feat(bpmn): edge-drag resize pool/lane (4 tepi) · hapus strip Browse dari chat AgentPanel
v0.4.127
- feat(codespace): wizard Bagikan web — list user Sangga + status sudah/belum di-share, multi-select share, cabut akses (owner only)
v0.4.126
- fix(chat): bubble AI overflow — konten panjang (URL/kode/tabel) tidak lagi keluar dari bubble di Codespace, BPMN, dan Prototype
v0.4.125
- fix(bpmn): editor beku saat dibuka — MutationObserver kelas FAB HUD memicu dirinya sendiri tanpa henti sehingga XML tidak pernah dimuat
v0.4.124
- feat(bpmn/mobile): panel Properties min/mid/max + FAB palet bisa digeser saat collapsed (expand kembali ke home)
- fix(bpmn/hud): rapihkan grid menu elemen mobile (4 tools + 3×2 grup, flyout wrap)
v0.4.123
- feat(codespace/filetree): explorer setara Cursor — new file/folder, rename inline (F2), navigasi keyboard, ikon filetype, dekorasi git, filter, cut/copy/paste/duplicate, drag-drop pindah, multi-select
- feat(codespace/opener): klik file buka viewer sesuai jenis — audio/video player, notebook .ipynb, fallback biner (hex 4 KB), highlight bahasa diperluas
v0.4.122
- fix(prod-ops): izinkan juga custom PREFIX URL + browse
/collab/{user}/{slug}(share codespace) tanpa ProdOps
v0.4.121
- fix(prod-ops): ruang lingkup prototype/codespace/browse vibe URL di
sangga.cartenz.co.id/{user}/{slug}tidak kena ProdOps
v0.4.120
- fix(prod-ops): chat biasa di Sangga prod boleh tanpa allowlist; ProdOps hanya jika prompt menyentuh Optima/Sangga/Trustgrid (atau sinyal prod/CRP/deploy)
v0.4.119
- feat(chat): samakan UX AI chat Codespace AgentPanel ↔ BPMN editor (blob + ⏱ sementara, bubble cs-tg-*, slash hint)
- extract
ChatProgressBlobshared component
v0.4.118
- feat(auth): allowlist domain email multi-value (
AUTH_ALLOWED_EMAIL_DOMAIN=cartenz.co.id,gmail.com) - Google OAuth
hdhanya untuk single Workspace domain (gmail/multi bebas pilih akun) - UI login/settings/Telegram ikut label multi-domain
v0.4.117
- feat(upload): gimmick loading realtime (%, bytes, kecepatan, ETA, jalur paket) di workspace Files + codespace FileTree
- upload codespace ganti ke XHR supaya progress onprogress tersedia
v0.4.116
- feat(model): katalog Cursor hidup (
cursor-agent --list-models) + picker bercabang famili→seri→varian di Telegram/modeldan chat web (IDE/BPMN/Prototyping) - paritas Jarwo: ~200 model (effort/thinking/fast), bukan 7 slug datar
v0.4.115
- feat(bpmn): pilihan Layar & Form dari prototype Codespace + tombol Generate list layar
- fix(bpmn): path HTML katalog layar tanpa ekstensi (.html → /login)
0.4.113
- Prototyping Mode: fix resize tanpa klik, chat floating = widget codespace (blob, waktu, attach, slash, quick attach, konteks bersama)
0.4.111
- Codespace prototyping v2.7: tab Layar & Form, Prototyping Mode, FEEL gateway, chat multi-thread, slash choice, attach BPMN, Git dual-path, schema cs_*
[0.4.110] - 2026-09-07
Fixed
- Tab Data: overlay loading Supabase Studio ikut tema light/dark (kontras teks + background)
[0.4.108] - 2026-09-06
Added
- BPMN: Tambah lane / pool+lane dari menu Swimlane dan Properties (palette kit tidak punya create lane)
- Duplikasi lane (Properties, HUD Duplicate, Copy fallback) — kit native no-op karena lane bukan flowElement
[0.4.106] - 2026-09-06
Fixed
- BPMN Properties: ubah lebar/tinggi pool tidak mengubah lane (resize hanya objek terpilih)
- Field lebar/tinggi bisa dikosongkan; commit hanya blur/Enter; nilai invalid tidak mengubah bentuk
- Hubungan parent-child (pool↔lane / lane bersarang) tampil di Properties + Unlink
[0.4.105] - 2026-09-06
Changed
- BPMN editor UI/UX: HUD hit 40px desktop / 44px mobile, token light/dark eksplisit
- Header file chrome saja (Export / Panel / Simpan + menu overflow); Cut/Copy/Paste/Sample/Swimlane ke overflow
- Drop-in ikon static/bpmn-hud/*.svg via mask (tanpa fork @bpmnkit)
0.4.104
- Codespace file tabs: kontras close light/dark (
.cs-file-tab*); klik kanan → Tutup / yang lain / kiri / kanan
0.4.103
- Fix markdown fenced
```text/<pre>contrast: follow light/dark theme (no dark-on-dark from:not(.cs-mermaid)specificity war).
0.4.102
- FileTree toolbar: 2 baris + wrap (Upload / Attach / Download / Delete) + kontras light/dark
- Codespace header: tinggi tombol seragam, Browse bertombol, label Tutup tree
0.4.101
- BPMN Properties: section Posisi label (X/Y, nudge, preset Atas/Bawah/Kiri/Kanan, Default) untuk label eksternal (event, gateway, data, sequence/message flow)
0.4.100
- Tree → Agent: Attach chat (toolbar + menu) pin file sebagai
contextPaths - API agent: hybrid inject (embed teks ≤64KB / path-only binary-besar)
- AgentPanel: chip konteks file (session UI)
0.4.99
- Unduh PDF preview MD: pipeline host
render_pdf.py(sama Telegram) via daemon socket +renderMdToPdf - API
POST /api/codespaces/:id/export-pdf
0.4.98
- Codespace AgentPanel: chat tetap terbuka saat job jalan (pesan berikutnya masuk antrean)
- Slash commands di chat Codespace:
/sudo,/antrian,/status,/help, … - FileTree: context menu portal ke body (tidak terlempar jauh)
- Markdown preview: render Mermaid + tombol Unduh PDF
0.4.97
- Codespace AgentPanel: progress blob live + durasi sementara (paritas Telegram)
0.4.96
- Codespace Arsip: kontras warna list item (dark + light)
0.4.95
- Rename stack Supabase
ossrba→supabase-sangga(Studio label, API path, cookie embed)
0.4.94
- Soft-archive Codespace: section Arsip di list (owner+editor), write lock, Telegram archive/unarchive
0.4.93
- Browse URL tombol codespace hormati
PREFIXkustom distart.sh(bukan selalu/{emailDir}/{slug}/)
0.4.92
- Lazyload BPMN Chat widget + AgentPanel (chunk dinamis)
- Tab Data: overlay loading Studio iframe
0.4.91
- Media viewer Codespace: raster/SVG/PDF embed; AgentPanel skin Telegram-like
0.4.90
- BPMN editor: kontras tab Properties|Chat + header chat di tema light & dark.
0.4.89
- BPMN editor: panel Properties | Chat (satu jendela switch) — edit nama, tipe, warna, W×H + lock ratio untuk semua objek termasuk lane/pool/sequence flow.
- Hapus dropdown Lane tinggi; shortcut Alt+panah tetap. Menu Swimlane template tetap.
0.4.88
- Codespace: tab Data (provider Supabase) — embed Supabase Studio iframe untuk member codespace.
- API:
POST /api/codespaces/:id/supabase/studio-access,GET /api/auth/session-check(nginx auth_request). - Nginx:
/supabase-studio-ossrba/+ proxy asset Studio (/_next,/project,/api/platform) dengan gate session Sangga.
0.4.87
- BPMN Kit: edit label sequence flow dari UI (dblclick / klik kanan Edit label) via patch
@bpmnkit/editor.
[0.4.86] - 2026-09-06
Added
- Codespace collab Rev.2 MVP: editor harus duplicate shared codespace → kerja di branch
collab/{vibeDir}; soft-block write/agent/git-mutate sampai duplicate; browse URL fork/collab/{emailDir}/{slug}/ - Request merge ke main → notifikasi inbox owner (Approve/Reject via GitLab MR)
- API:
POST …/collab/duplicate,GET …/collab/status, git actionrequest-merge,GET/POST /api/notifications
Fixed
- BPMN: Copy/Paste/Cut shortcut + tombol — satu jalur capture (hindari double-fire), feedback clipboard kosong, fallback duplicate jika paste tanpa clipboard, expose
copy()dari_doCopy
[0.4.85] - 2026-09-06
Added
- Codespace Git: tombol Sambungkan ke GitLab —
git init+ buat/hubungkan repo di groupvibe-code-product(path{emailDir}-{slug}, sama seperti publish Telegram), remote HTTPS, initial commit+push bila ada file
[0.4.84] - 2026-09-06
Added
- Codespace: upload file/ZIP hingga 100 MB (multipart) + menu Extract ZIP
- Codespace: konfirmasi hapus folder dengan jumlah file + bulk delete dari multi-select
- Codespace: panel Git (status/diff/stage/commit/branch/pull/push) +
gitdi image app - Telegram:
TELEGRAM_API_ROOTuntuk Local Bot API (ZIP Telegram hingga 100 MB bila server lokal aktif)
Changed
- Batas ZIP Codespace (
MAX_CODE_UPLOAD_BYTES) 20→100 MB; max entry ZIP 500→2000
[0.4.83] - 2026-09-06
Fixed
- Codespace file tree: tombol Download font putih di latar cyan tua (kontras di dark & light)
[0.4.82] - 2026-09-06
Fixed
- BPMN: tinggikan lane (atas→bawah) sekarang menggeser pool/sibling di bawah + menu Lane tinggi dengan picker (tanpa wajib klik canvas); shortcut Alt+↓/↑
[0.4.81] - 2026-09-05
Fixed
- Telegram ZIP → Codespace: sentinel Zip64
0xFFFFFFFFtidak lagi dianggap ~4 GB (false "maks 100 MB"); batas ekstrak naik ke 500 MB; error menampilkan perkiraan ukuran
[0.4.80] - 2026-09-05
Fixed
- Light mode: semua font cyan/sky/
text-accent(link, brand, path BPMN, chip) jadi biru tua agar kontras di background putih
[0.4.79] - 2026-09-05
Added
- BPMN Chat: wajib pair Telegram dulu (guide
TelegramPairingFreezeseperti workspace / AgentPanel) + gate API
[0.4.78] - 2026-09-05
Added
- BPMN: resize lane/pool via menu Lane (lebar/tinggi) — BPMN Kit tidak punya handle resize swimlane
[0.4.77] - 2026-09-05
Fixed
- BPMN Chat: history thread tidak muncul saat diklik — lazy-load pesan (N terakhir), cache per thread, satu instance widget (bukan dual mount), effect init dengan cancel
[0.4.76] - 2026-09-05
Added
- BPMN editor: shortcut Undo/Redo/Copy/Cut/Paste (juga saat fokus di toolbar) + tombol edit + popup Kontrol keyboard (Ctrl+/)
[0.4.75] - 2026-09-05
Added
- Codespace file tree: Upload (tombol toolbar + menu klik kanan / ⋯) dan drop ke folder spesifik
Fixed
- Light mode:
text-cyan-200/300(path BPMN dll.) jadi cyan tua agar kontras
[0.4.74] - 2026-09-05
Added
- BPMN Chat: upload lampiran PDF / DOCX / XLSX dan gambar (raster & vector/SVG) di widget AI
[0.4.73] - 2026-09-05
Fixed
- BPMN editor mobile: menu Swimlane/Export jadi bottom sheet; toolbar actions scroll horizontal
- Light mode: font cyan muda diganti cyan tua agar kontras
[0.4.72] - 2026-09-05
Added
- BPMN: export ke BPMN XML, SVG, PNG
- BPMN: template swimlane (2 pool + lane) — tombol Swimlane +
template=swimlanedi API create
[0.4.71] - 2026-09-05
Fixed
- BPMN canvas: XML tanpa
BPMNDiagrammembuatcreateShapeno-op — autoLayout saat load + template Approval Flow sekarang punya DI
[0.4.70] - 2026-09-05
Added
- Codespace file tree: Download (klik kanan) + checkbox select → Download (multi-file jadi zip)
[0.4.69] - 2026-09-05
Added
- Codespace file tree: Rename dan Delete (klik kanan / ⋯) — API
PATCH/DELETE/api/codespaces/:id/file
[0.4.68] - 2026-09-05
Fixed
- Agent Telegram: hentikan loop requeue — max 1× pengulangan setelah restart; job pemicu
host-deploydibatalkan (bukan diulang);WORKASSIST_JOB_IDditeruskan lewat sudo - Codespace: satu tombol BPMN baru di header saja (hapus duplikat toolbar/strip/FAB/menu); CSS defensif sembunyikan sisa
.cs-bpmn-*
[0.4.67] - 2026-09-05
Fixed
- Codespace: benar-benar satu tombol BPMN baru (hapus duplikat di toolbar desktop)
[0.4.66] - 2026-09-05
Fixed
- BPMN Kit: pakai
load()/exportXml()(bukanloadXML) — errorc.loadXML is not a functionsaat buka editor baru - BPMN AI: pakai
cursorAgentChat(bukanChatStream) — errorfull.trim is not a functionsaat minta AI buat diagram - BPMN canvas: ikuti
data-themeapp (light/dark) viasetTheme, bukan hardcode dark
[0.4.65] - 2026-09-05
Changed
- Codespace: satu tombol BPMN baru di header (FAB/strip/duplikat dihapus)
[0.4.64] - 2026-09-05
Changed
- Codespace: satu tombol BPMN baru — desktop di toolbar, mobile hanya FAB (hapus strip/header/Files/nav)
[0.4.63] - 2026-09-05
Fixed
- Codespace mobile: FAB BPMN baru fixed (anti clip) + strip nav IDE sampai 1023px / touch
[0.4.63] - 2026-09-05
Fixed
- Codespace mobile: FAB + BPMN fixed + CSS
!importantuntuk strip/bottom-nav (tidak kalah Tailwind); mkdir indukbpmn/saat create
[0.4.62] - 2026-09-05
Fixed
- Codespace mobile: BPMN baru di header + strip + pane Files (default HP); MQ sampai 1023px
[0.4.61] - 2026-09-05
Fixed
- Codespace mobile: tombol + BPMN di kiri header (tidak terpotong) + strip/nav via CSS khusus (bukan hanya md:hidden)
[0.4.60] - 2026-09-05
Fixed
- Codespace mobile: tombol BPMN baru di header solid, strip + BPMN baru kontras, tab BPMN di bottom nav
[0.4.59] - 2026-09-05
Fixed
- Codespace mobile: tombol BPMN selalu di header + strip BPMN baru full-width lebih kontras
[0.4.58] - 2026-09-05
Fixed
- Codespace mobile: tombol BPMN baru di strip aksi full-width di bawah header + tombol di empty editor
[0.4.57] - 2026-09-05
Fixed
- Codespace mobile: tombol BPMN baru di header + menu ⋯ (sebelumnya hanya desktop toolbar)
[0.4.56] - 2026-09-05
Fixed
- BPMN Baru: pastikan root codespace + folder
bpmn/dibuat otomatis; nama file unik jika sudah ada
[0.4.55] - 2026-09-05
Fixed
- Codespace FS: buat nested dir otomatis saat write (fix error «Direktori induk tidak ada» untuk BPMN baru di
bpmn/)
[0.4.54] - 2026-09-05
Added
- Codespace BPMN Kit editor (
/codespaces/:id/bpmn) — load/save.bpmn, sample Approval Flow - Widget chat Sangga + multi-thread AI (paritas OnlyOffice AI) + «Terapkan ke diagram»
0.4.53
Fixes
- Markdown preview tema light: kontras dipaksa lewat CSS dinamis berbasis ID (specificity tinggi) + observer
data-theme, supaya teks gelap di latar putih tidak kalah perang!important/ Tailwind remap. Docs workspace + chat prose ikut di-harden.
0.4.52
Fixes
- Markdown light theme: perbaiki
-webkit-text-fill-colorpada blokpre/code(fill gelap dari parent sempat menimpa → teks code hilang di background gelap) di chat workspace, Agent panel, dan Live.
0.4.51
Fixes
- Markdown preview tema light: hapus
data-md-contrast(default dark sempat bocor teks terang); kontras hanya darihtml[data-theme]+ override eksplisit light/dark supaya preview selalu terbaca.
0.4.50
Changes
- Sidebar: label menu
HomedigantiWorkspace(ikon folder); state aktif mencakup/dan/workspaces/*.
0.4.49
Fixes
- Markdown preview tema light: default teks gelap di latar putih; warna terang hanya di
data-theme=dark(+ mirrordata-md-contrastdi komponen) supaya tidak ada perang!importantyang membuat preview tidak terbaca.
0.4.48
Fixes
- Markdown preview tema light: warna hex langsung + selector
*/!important(Preview MD Codespace, Live, Changelog) supaya teks gelap selalu terbaca di latar putih.
0.4.47
Fixes
- Markdown / chat light theme: hapus
prose-invertdi Live (latarbg-slate-950di-remap putih → teks terang hilang). Preview Codespace pakai CSS variables di komponen. Panel Agent tidak lagi memaksa warna gelapws-chat-prosedi atas bubble bertema.
0.4.46
Fixes
- Markdown preview tema light: buang class Tailwind
prosesepenuhnya; styling.cs-md-*pakai:is()+!importantsupaya teks gelap di latar putih selalu menang (cache-bust 0.4.46).
0.4.45
Fixes
- Markdown preview (Codespace) tema light: hapus
prose-invert+bg-slate-950yang bentrok dengan remap light (latar putih + teks terang). Preview memakai kelas.cs-md-preview/.cs-md-prosedengan kontras eksplisit untuk dark & light.
0.4.44
Features
- Riwayat Agent per Codespace: 50 job terakhir dimuat kembali dari
agent_jobsberdasarkanchannel_ref=codespace:{id}; riwayat tidak tercampur antar-Codespace. - Indikator proses Telegram-style: balon tiga titik animasi tampil selama job mengantre atau berjalan, termasuk setelah halaman dimuat ulang.
Fixes
- Kontras reply Sangga: jawaban AI pada Workspace, Chat Telegram, dan panel Agent Codespace memakai warna teks/latar eksplisit untuk tema light maupun dark.
0.4.43
Fixes
- Panel petunjuk pairing: warna kartu/langkah memakai CSS khusus (
.tg-pairing-card--compact|sheet) — kontras tinggi di dark & light, tidak lagi bergantung util Tailwind yang bentrok. - Teks hint kosong di panel Agent dinaikkan kontrasnya (near-white di dark / near-black di light).
0.4.42
Features
- Tema light/dark: saklar di sidebar (di atas Log out); preferensi tersimpan di
localStorage(wa-theme). - Tema saat ini (slate gelap) menjadi dark; tema light memakai latar terang + teks kontras.
Fixes
- Panel petunjuk pairing Telegram (Agent / Codespace): teks langkah tidak lagi abu muda di kartu putih — kelas Tailwind yang bentrok (
bg-white+bg-slate-900) dipisah; kontras dinaikkan.
0.4.41
Features
- Pendaftaran akun web (
/register): user baru self-register dengan statuspending. - Approval admin di
/admin/users: tombol Approve / Tolak / Aktifkan. - Login (password & Google baru) diblokir sampai
account_status=approved. - User yang dibuat admin langsung
approved.
Ops
- Migrasi runtime kolom
users.account_status(default existing = approved).
0.4.40
Alternate production release — promote fitur Staging ke Prod tanpa Otomasi Wizard dan tanpa CloudTable (Optima).
Production
- Guardrail G0–G3 + G1b: klasifikasi target env; default ikut runtime Sangga (Prod→prod, STG→stg); override hanya jika env disebut eksplisit; CRP/deploy tetap steward-only.
- Codespace Web IDE: tree, CodeMirror, Agent panel, diff, upload, browse URL vibe-proxy.
- Sangga Live (
/live): voice + chat (tanpa «jalankan otomasi» di Prod). - Pairing freeze: chat web/Live/workspace/Codespace/embed dibekukan sampai Telegram
/start KODE+ approved. - Chat Telegram: sync web↔bot, lampiran file, HTML tags.
- Optima curated CLI (agent hint) tetap mengarah ke jalur capability-gated — curated API Optima Prod belum diaktifkan di gelombang ini.
Sengaja belum ke Prod
/automationsOtomasi Wizard V2 + pipeline (tetap Staging).- Optima CloudTable (tetap Dev).
- Optima curated C5 promote (setelah G4 stabil).
Ops
- Backup DB Prod sebelum deploy wajib.
- Downtime singkat saat recreate container + webhook Telegram.
0.4.30
- Guardrail G1:
classifyTargetEnv+ heuristik URL/host (dev-* vs prod) - Guardrail G2: unit test per kanal + wire otomasi runner (
channel=automation) - Guardrail G3:
/prod-ops audit [n]+ Docs AI gate (jika belum)
0.4.29
- Guardrail G0:
assertChatGuardraildi External, web chat, Live, Codespace, Telegram - CRP develop + trigger deploy Optima/Sangga: steward-only (bukan allowlist TTL)
- Steward baru:
[email protected]
0.4.27
Fixes
- Chat Telegram web → bot: pesan dari
/chat-telegramdi-mirror ke DM Telegram (sebelumnya hanya DB bersama; balasan agent tidak muncul di bot).
Features
- Kirim file dari Chat Telegram web: tombol lampiran (PDF/DOCX/XLSX/gambar/teks); file di-upload, diekstrak untuk agent, disimpan ke workspace, dan dikirim ke Telegram.
Tests
web-sync.test.ts— format body notifikasi sync web→Telegram.
0.4.25
Features
- Optima Curated API (STG): CLI
optima-curated.mjs+ clientoptima/curated.ts; broker hint agar agent query data Optima lewat curated (capability-gated), bukan SQL mentah. - Codespace browse URL:
/codespacelist/status/new + broker hint menampilkan URL vibe-proxy prototype. - Telegram HTML tags: perluas sanitize/parse (
blockquote,tg-spoiler,tg-emoji,span) untuk progress live + bubble web.
Tests
run-progress.test.ts,code-vibe-browse.test.ts, perluasanformat.test.ts.
0.4.24
Fixes
- Codespace mobile: parent shell pakai
flex-coldi layar sempit (sebelumnyaflex-row— nav dan IDE berjejer, layout berantakan). - Strip nav IDE fixed height ~2.75rem di atas; admin links disembunyikan di strip mobile; IDE isi
h-full.
0.4.23
Codespace IDE mobile
- Layout tab Files / Editor / Agent di layar sempit
- Shell IDE: nav strip ikon + tanpa footer/padding di detail codespace
- Agent panel full-width di mode mobile
0.4.22
Improvements
- Sangga Live UX (staging): chatbox lebih lebar & responsive; render markdown via
renderChatHtml; mic continuous ala Jarwo (silence submit); TTS browser + tombol henti / auto-stop 45 dtk.
0.4.19
Fixes
- Chat transcript HTML: parse tag Telegram (
b/i/code/a/…) di live thinking + bubble Chat Telegram/Workspace; escape tag asing. - Codespace browse URL:
/codespacelist/status/new menampilkan URL vibe-proxy; broker hint prototype URL.
0.4.18
Features
- Codespace Web IDE (staging): panel Agent (column2) bisa di-resize drag; preview Markdown show/hide saat edit
.md/.mdx.
0.4.17
Features
- Codespace Web IDE — Fase D (staging): diff pasca-agent (snapshot → daftar file A/M/D + unified diff) dan drag-drop upload ke file tree (maks 5 MB/file).
0.4.16
Features
- Codespace Web IDE — panel agent (staging): kirim instruksi vibe dari side panel; job masuk antrean yang sama dengan Telegram; poll status di web.
0.4.15
Features
- Codespace Web IDE (staging): menu
/codespaces, file tree, CodeMirror 6, save/autosave, Quick Open, FS jail.
0.4.14
- ProdOps: steward bootstrap + steward-add; whitelist TTL default 7 hari; gate broker + /prod-ops
- Shared allowlist DB: /data/vibe-code/.sangga-shared/prod-ops.db (prod & STG)
0.4.12
- Fase 4a/P0: mode unified — inject Workspace + Codespace bersamaan;
/assistantbukan saklar mode lagi
0.4.11
- Sembunyikan thread Chat Telegram dari history workspace; deep-link
?conv=redirect ke/chat-telegram
0.4.10
- Chat Telegram: tombol menu perintah bot (daftar BotFather) di input, mirip apps Telegram
0.4.9
- Chat Telegram sebagai menu sidebar + laman sendiri (
/chat-telegram), bukan hanya thread di dalam workspace
0.4.8
- External API: GET /conversations + /conversations/:id/messages (pull history Telegram/Optima)
Changelog
Format mengikuti Keep a Changelog. Versi mengikuti Semantic Versioning.
[Unreleased]
[0.4.11] - 2026-08-05
Changed
- Thread Chat Telegram tidak lagi muncul di history chat workspace (akses lewat menu )
- Deep-link redirect ke
[0.4.10] - 2026-08-05
Added
- Laman
/chat-telegram: tombol menu perintah bot (list BotFather) di samping input, seperti menu command di apps Telegram - Modul
telegram-bot-commands.tssebagai sumber daftar perintah
[0.4.9] - 2026-08-05
Added
- Menu sidebar Chat Telegram dan laman
/chat-telegram(thread sync Telegram↔web sebagai fitur top-level) - Helper
ensureChatTelegramThreaddichat-context
[0.4.8] - 2026-08-05
Added
- External API: GET
/conversations+/conversations/:id/messages(pull history Telegram/Optima)
[0.4.7] - 2026-08-05
Added
- External API sync ke Telegram/web: body opsional
syncpadaPOST /api/v1/external/chat - Persist turn ke workspace bernama (default Optima) tanpa mengubah pointer DM Telegram
- Notify DM bot (satu bubble final) bila
telegram_linksapproved - Response job
donemenyertakanconversationId+telegramNotified
Changed
- Client tanpa
synctetap perilaku lama (backward compatible)
[0.4.6] - 2026-07-22
Fixed
- Overlap konten halaman (mis. Settings/Profil) dengan footer versi: wrapper konten tidak lagi
min-h-0, sehingga scroll di<main>dan footer tidak tertimpa.
[0.4.5] - 2026-07-22
Fixed
- Timestamp workspace di list web yang tampil jauh ke masa depan (nilai ms legacy dinormalisasi ke detik untuk Drizzle
mode: 'timestamp').
Added
- OnlyOffice multi-tipe: edit DOCX / XLSX / PPTX (
documentTypeword/cell/slide). - Menu New document (Word / Excel / PowerPoint) + upload OOXML ke Documents.
- Kolom
workspace_docs.file_type; upload Files.docx/.xlsx/.pptxjuga jadi dokumen editable.
Changed
- Plugin Workassist AI hanya untuk DOCX (cell/slide tanpa plugin AI).
[0.4.4] - 2026-07-21
Changed
/codespace share|unsharewajib sebutkan<slug>— share per project saja (bukan semua Codespace).- Tolak keyword
all/semua/*pada share/unshare.
[0.4.3] - 2026-07-21
Added
- Sharing Codespace antar user Telegram (ACL Editor):
/codespace share|unshare|members. - Kolom
active_code_project_id+ tabeltelegram_code_project_members; agent/editor memakai path folder owner.
Changed
/codespace listmenampilkan owned ∪ shared (label◀ shared · owner@…).- Upload
.zip/.htmldan resolve workspace agent mengikuti Codespace aktif (termasuk shared).
[0.4.2] - 2026-07-20
Fixed
- Telegram foto + caption perintah kembali diproses (regresi sejak skill system):
message.phototidak lagi diabaikan diam-diam. - Dokumen PDF/DOCX/XLSX/gambar ke agent via ekstraksi teks + caption (bukan hanya key/code upload).
- Grup: media + caption/
caption_entitiesatau reply ke bot ikut diarahkan ke agent.
[0.4.1] - 2026-07-19
Fixed
- Cursor NDJSON terakhir tetap diproses walau tidak diakhiri newline.
- Respons Cursor kosong tidak lagi disimpan sebagai
(no response): Sangga mengambil ringkasan hasil sekali, lalu menandai job gagal bila tetap kosong. - Diagnostik respons kosong mencatat exit code, jumlah event, session ID, dan potongan stderr.
[0.4.0] - 2026-07-19
Added
- Telegram dapat membuat Workspace web melalui
/workspace new <nama>atau permintaan natural seperti “buat workspace baru bernama …”.
Changed
- Pembuatan Workspace web dan API web memakai helper yang sama; permintaan “code workspace” tetap diarahkan ke Codespace.
[0.3.1] - 2026-07-19
Added
- Tombol inline pada
/codespacedan/codespace listuntuk berpindah Codespace langsung dari Telegram.
Fixed
- URL staging dipatok ke
dev-sangga.cartenz.co.idagar tidak mewarisi URL production dari environment Docker Compose.
[0.3.0] - 2026-07-19
Added
- Tiga job agent paralel dengan child process, runtime Cursor/MCP, dan identitas sudo per job.
- Istilah dan perintah
/codespaceuntuk proyek vibe code;/codetetap menjadi alias. - Codespace production/staging bersama dan adopsi otomatis proyek lama dari filesystem.
- Manual Workspace/Codespace di
docs/user-manual-workspace-codespace.md.
Changed
- Snapshot progress Telegram private maupun grup dibatasi satu update per 10 detik.
- Telegram
429mengikutiretry_after; kegagalan delivery tidak menahan status terminal job. - Workspace berarti ruang dokumen/KB/OnlyOffice; Codespace berarti ruang source code.
Fixed
- Migrasi
execution_duration_msdan update terminal job atomik. - Lock Codespace mencegah dua job paralel menulis direktori yang sama.
- Key snippet proxy memakai kombinasi direktori email dan slug.
[0.2.22] - 2026-07-17
Added
- Triple-track agent queue: hingga 3 job paralel via
AGENT_MAX_CONCURRENT(default 1, staging=3) claimNextJobs()— claim multi-slot FIFO dengan skip workspace bentrok- Cancel job per
jobId—killActiveAgentChild(jobId)tidak menghentikan job lain /statusmenampilkanN queued | M running (max K)
[0.2.21] - 2026-07-16
Fixed
- Workspace code (
serve.mjs): perbaikifinddepth distart-vibe-code-servers.shagaruser/project/start.shterdeteksi — auto-start saat boot/deploy tidak lagi skip semua proyek ensure-vibe-code-proxy.sh: nginx snippet ke127.0.0.1:312x(bukan IP container) + hot-deploy panggil ulang setelah restart
[0.2.20] - 2026-07-16
Added
- Telegram: terima source
.zip/.htmldi mode/code— ekstrak ke proyek vibe code aktif (workspace code) - Bantuan
/helpdan status/codemenyebut unggah ZIP/HTML
[0.2.19] - 2026-07-16
Added
- Sync chat Telegram ↔ web: workspace default + thread bersama (
conversations), pointeractiveConversationId - Perintah
/workspace,/thread,/new(Telegram & slash di web chat) memakai konteks yang sama - Migrasi sekali riwayat
telegram_chat_messages→ threadChat Telegram - API
/api/chat-context(GET/PATCH) untuk pointer aktif - Home = daftar workspace;
/workspacesredirect ke/(nav Workspaces dihapus)
Fixed
- Telegram ATTACH: laporkan nama file yang disebut tapi tidak ketemu (dari hotpatch 0.2.18)
- Prompt sistem file Telegram dikembalikan ke process-job
[0.2.18] - 2026-07-14
Fixed
- Telegram ATTACH: laporkan unresolved +
telegramFileSystemPromptdi process-job (hotpatch production)
[0.2.17] - 2026-07-14
Fixed
- Telegram: wiring ulang
ATTACH:di process-job (parseOutboundAttachments + sendDocument/sendPhoto) — sebelumnya outbound.ts ada tapi tidak dipanggil, jadi file PDF/dokumen tidak terkirim ke chat/grup
[0.2.16] - 2026-07-12
Added
- Telegram: terima dan simpan file VPN .ovpn / .vpn / .wg (selain .pem / .ppk) per user untuk perintah berikutnya
[0.2.15] - 2026-07-12
Added
- Telegram: terima dan simpan file kunci .pem / .ppk per user (untuk perintah berikutnya)
- Perintah /key (alias /keys, /kunci) — daftar / hapus file kunci tersimpan
[0.2.13] - 2026-07-08
Changed
- Grup Telegram: progress blob di-update maksimal tiap 10 detik (anti flood limit)
- Grup Telegram: balasan final di-edit ke pesan status yang sama (bukan kirim banyak pesan baru)
- DM tetap update progress tiap 2 detik seperti sebelumnya
[0.2.12] - 2026-07-08
Added
- Perintah dan instruksi agent di grup Telegram (mention bot) — user approved bisa /status, /antrian, instruksi coding, dll. langsung di grup
Changed
- User belum aktivasi yang mention bot di grup tetap diarahkan registrasi lewat DM
- Sambutan join grup diperbarui
[0.2.11] - 2026-07-08
Changed
- Bot Telegram tetap di grup/supergroup (hanya keluar dari channel)
- Sambutan otomatis saat bot ditambahkan ke grup
[0.2.10] - 2026-07-08
Fixed
- Voice note Telegram: kirim
Authorization: Bearerke Whisper (WHISPER_API_KEY) - Script
sync-whisper-api-key.sh— salin token dari container whisper ke env prod/staging
[0.2.9] - 2026-07-08
Added
- Perintah Telegram /antrianglobal (alias /globalqueue, /antrian global) — lihat antrian job semua user dengan pemilik, channel, dan mode
[0.2.7] - 2026-07-08
Fixed
- Timestamp agent_jobs konsisten (detik) — timeout & urutan antrean benar
- Progress Telegram: fallback plain text, log error, ticker waktu sementara 5 detik, flush final
[0.2.6] - 2026-07-08
Added
scripts/host-deploy.sh— deploy staging/production dari host (background), aman dipanggil agent via sudoscripts/ensure-staging-up.sh+ensure-compose-app.sh— watchdog & health-check post-deploy- Requeue otomatis job
runningsaat container restart + notifikasi Telegram
Changed
- Progress Telegram: waktu eksekusi sementara di setiap update pesan progress
- Agent diinstruksikan pakai
host-deploy.sh, bukandocker compose down/stop
[0.2.5] - 2026-07-08
Changed
- Permintaan hubung Telegram dikirim ke semua user Administrator (role
admin) yang sudah terhubung ke bot — bukan hanyaTELEGRAM_APPROVER_IDS. - Approver Telegram: user dengan role Administrator + link Telegram approved, plus fallback env
TELEGRAM_APPROVER_IDS. - Halaman Admin → Telegram (
/admin/telegram) untuk setujui/tolak permintaan dari web.
[0.2.4] - 2026-07-07
Added
- Agent skills system (playbook procedural memory,
/skill, auto-draft setelah task kompleks) - Footer waktu eksekusi di setiap balasan agent Telegram
Changed
- Audit log untuk perintah SSH via host
[0.2.3] - 2026-07-07
Added
- PDF workflow:
pdf-workflow.ts,scripts/render_pdf.py,render_diagram.py,fix_mermaid_svg.py - Dokumentasi
docs/PDF-WORKFLOW.md+ pinned@mermaid-js/mermaid-clidi rootpackage.json
Changed
- Telegram outbound prompt: dukungan SVG, instruksi pipeline PDF/Mermaid, tanpa branding default
[0.2.2] - 2026-07-07
Added
- Vibe-proxy: reverse-proxy subpath vibe apps lewat Sangga (
/muhammad_fajar_cartenz_co_id/...) - Env
VIBE_PROXY_ROUTESuntuk override upstream (prefix=origin, comma-separated)
[0.2.1] - 2026-07-07
Added
- Telegram: terima file PDF, DOCX, XLSX, gambar (+ caption) — ekstrak teks otomatis
- Telegram: kirim balik file via
ATTACH: nama.ext(sendDocument / sendPhoto) - Ekstrak konten spreadsheet XLSX (SheetJS)
Changed
- Help
/helpdan prompt agent menyertakan instruksi file Telegram
[0.2.0] - 2026-07-06
Added
- Telegram
/antrian— lihat antrian job agent tanpa cursor-agent - Sudo gate Telegram + progress live saat agent jalan
- Notifikasi user saat agent job timeout
Changed
- Parse output agent markdown → Telegram HTML (bold, code, link, tabel)
- Timeout agent job dinaikkan ke 15 menit (prod & staging)
Fixed
- Agent job macet dengan timeout & stale recovery
- Bootstrap DB staging yang tidak lengkap
version.tsaman di bundle browser
[0.1.0] - 2026-06-29
Added
- Label versi di footer web (semua halaman) + sidebar navigasi
- Telegram:
/version, pertanyaan natural ("versi berapa?"), dan baris versi di/status - Build metadata: commit git + tanggal build (via
VITE_APP_GIT_SHAsaat deploy)
Changed
- Versi aplikasi naik ke 0.1.0 (sinkron
package.json)
[0.0.1] - 2026-06-26
Rilis awal WorkAssist yang ditandai untuk production & staging.
Added
- Real-time streaming chat workspace (SSE) dengan UI mirip Cursor
- Agent tools: KB search, baca PDF/DOCX, buat/edit dokumen
- OnlyOffice editor + plugin AI sidebar
- Admin: pengguna, role, API clients, penyimpanan, AI provider global
- Google OAuth (
@cartenz.co.id), external API v1 - Sidebar collapsible, changelog & label versi di navigasi
Changed
- Staging memakai production build (bukan Vite dev) agar perilaku UI sama dengan production
- AI provider dikelola global di Admin (bukan per-user)
Fixed
blocks is not iterablesaat bot membuat dokumen dari ringkasan PDF- FOUC / loncatan font di staging
- OnlyOffice JWT secret selaras antara app dan container
- Navigasi admin & hydration layout