Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· AIService
RAG in streaming handler, full chunk text, conversation-aware queries
· AIService
Add ConversationContextService for sliding window context management
· RAGService
Full chunk text storage, configurable vector size, and permission-aware retrieval in Qdrant
· RAGService
Hybrid search with keyword boosting and cross-encoder reranker
· RAGService
Semantic heading-aware chunking for better RAG retrieval
· AIService
Extract memberId in WebSocket auth interceptor for RAG support
· kamo-internal
Add infinite scroll pagination to classic email view
Classic mode only loaded the first 50 messages with no way to see older ones. Wire up the existing VirtualMessageList onLoadMore/hasMore/loadingMore props so pages load automatically as the user scrolls near the bottom.
· kamo-internal
Toggle lock/unlock button based on member lock status
· kamo-internal
Add Notes to NavPri below KB, gated by isNotes
· kamo-internal
Add settings pages for HRS, Docs, Support, KB, Notes, and Chat
Create ComingSoonTab shared component and 6 new feature settings pages with coming soon placeholders, feature flag guards, and help tips. Links from FeaturesManager "Adjust Features" now resolve to real pages.
· kamo-internal
Auto-refresh UI after feature toggle and role changes
FeaturesManager and SecurityRoleManager now call router.refresh() after mutations to re-fetch org context and user session data, reflecting permission and app changes immediately without re-login.
· SecurityService
Auto-refresh Redis session rights after feature/role changes
FeatureController and SecurityRoleController now rebuild the caller's session rights in Redis after enable/disable, role create/update/delete, and recalculate-rights operations. Eliminates need to re-login after permission or app changes.
· kamo-internal
Implement app management UI with backend integration and dynamic permissions
Rewrite FeaturesManager to use backend API for app enable/disable with root-org gating for in-dev apps. Update NavPri to gate all nav items by org feature flags (Docs, KB, Notes, Chat, Email, AI Support, VOIP). Update SettingsStatusWindow with full app sidebar filtering. Make SecurityRoleManager permission sections dynamic — only show rights for enabled apps. Update TypeScript types to mirror backend **************** changes.
· SecurityService
Add FeatureController for org app enable/disable management
REST endpoints for managing organization app features: GET features list, POST enable/disable with CONFIGURE_SYSTEM permission check, root-org-only gating for in-development apps, and available service types listing.
· kamo-shared-library
Tambahkan sistem manajemen aplikasi dengan tipe layanan, hak cipta, dan kontrol fitur
Restruct ServiceType enum: tambahkan tanda core / deprecated, ubah nama DOC _ MANAGER AGCS dan AI _ CHAT ADE _ SUPORT, tambahkan SUPORT / NOTES / POS tipe, deprecate STORAGE / DOC _ CLASSIFIER / DOCS _ EDITOR. Tambahkan 43 masukan baru RoleRightType untuk HRS, Dok, Dukungan AI, VOIP, Email, Dukungan, Catatan, dan Aplikasi Percakapan. Pindahkan hak dukungan ke lingkup ServiceTypes.UPORT. Memperpanjang Layanan FeatureService dengan metode enable / disable / check per org.
· kamo-internal
Add email alias and shared mailbox UI support
Composer "From:" dropdown for switching between primary, alias, and shared mailbox addresses. New "Mailboxes" 6th tab in email settings for org-wide admin management of aliases and shared mailboxes. Inline alias/shared mailbox management on member settings page. Mailbox switcher in folder sidebar for shared mailbox context switching. MessageBrowser routes to shared mailbox API endpoints when viewing shared mailbox.
· EmailService
Add email aliases and shared mailbox support
New MailboxManager provider capability interface for alias and shared mailbox CRUD. KamoMailMailboxManager implementation manages dovecot/postfix virtual_users and virtual_aliases via MySQL. AliasController and SharedMailboxController provide REST APIs. SharedMailboxMailController proxies IMAP operations for shared mailboxes. EmailSmtpService updated to support from-address override for send-as functionality. MailProviderResolver wired with MailboxManager capability.
· kamo-shared-library
Tambahkan alias email dan entitas kotak surat bersama dan repositori
Entitas JPA baru untuk skema email _ provider: EmailAliasEntity (send-as alias per anggota), SharedMailboxEntity (org-wide kotak surat bersama dengan kredensial IMAP terenkripsi), dan SharedMailboxAccessEntity (hibah akses anggota untuk kotak surat terbagi).
· kamo-internal
Tambahkan status PRE _ TIKET dengan opsi Awal Percakapan
- TicketCreationForm: dua tombol - "Mulai Percakapan" (pre- tiket, tidak ada judul dibutuhkan, hanya topik) dan "Tiket Kirim" (tiket penuh dengan judul) - TicketHeader: "Ubah ke tombol Ticket" ketika status adalah PRE _ TIKET, dialog terbuka membutuhkan judul, panggilan PUT / ticket / {id} / convert - StatusBadge: PRE _ TIKET ditampilkan sebagai lencana abu-abu biru - Rute proxy baru: * * * * * * * * * * * * * * * * * * * * - Jenis: menambahkan PRE _ TIKET ke SupportTicketStatus, preTicket untuk membuat permintaan
· MediaService
Add PRE_TICKET creation and convert-to-ticket endpoint
- createTicket: when preTicket=true, sets status to PRE_TICKET, skips assignment (no title required) - PUT /tickets/{id}/convert: converts PRE_TICKET to NEW, requires title, triggers assignment
· kamo-shared-library
Tambahkan status PRE _ TIKET dan tanda preTicket pada permintaan pembuatan
Status baru PRE _ TIKET (14) untuk sesi percakapan-pertama dimana pengguna dimulai Berbicara tanpa resmi mengirimkan tiket. Dapat dikonversi ke tiket penuh nanti dengan menetapkan judul dan status berubah.
· SecurityService
Add POST **************** endpoint
Triggers org-wide member_rights_applied recalculation. Needed after schema migrations or manual DB changes to permissions.
· SecurityService
Use targeted role-scoped rights recalculation
SecurityRoleController now uses updateRoleMemberRightsApplied() to only recalculate members who have the modified role, instead of recalculating all members in the org. Delete recalculates before removing the role.
· kamo-shared-library
Target adalah perhitungan ulang hak bagi departemen, jabatan, dan perubahan peran
- Bagian Layanan: menghitung ulang hanya anggota di departemen yang terpengaruh setelah membuat / memperbarui / menghapus - JobTitleService: menghitung ulang hanya anggota dengan judul pekerjaan yang terpengaruh setelah membuat / memperbarui / menghapus - Anggota Layanan AppliedService Kanan: ditambahkan updateRomber RightsApplied () ke hitung ulang hanya anggota yang memiliki peran tertentu ditugaskan - Tetap * * * * * * * * * * * * * * untuk menggunakan findByOrganizationId bukan findall () (memuat setiap anggota di semua orgs) - Tetap * * * * * * * * * * * * * * * * * * dan * * * * * * * * * * * * * untuk menerima parameter orgId dan menggunakan findByOrganiationId daripada findAll ()
· kamo-shared-library
Menghitung ulang anggota _ hak _ diterapkan setelah pembuatan anggota baru
Panggilan updateMember RightsApplied pada anggota baru setelah keduanya Membuat Anggota Organisasi dan Member Organisasi Jadi Semua orang peran hak segera diterapkan.
· kamo-internal
Penyuntingan peran Granular, bertukar label, dan dukungan Anggota Tim
- Add Is AllowEditTitle and isAllowEditSecurity to SecurityRole - Ijinkan penyuntingan pengaturan keamanan pada Anggota / Anggota Tim (sebelumnya sepenuhnya terkunci) - Tukar "Anggota" dan "Anggota Tim" tampilkan judul dengan induk org label perilaku - Mencegah judul tidak sengaja menimpa dengan mengirim judul DB asli untuk peran yang dilindungi - Nonaktifkan kolom judul dalam dialog penyuntingan untuk peran sistem - Tambahkan ParentMenemberTitlePlural dan ParentTeamMenemTitlePlural ke sesi / useUserInfo - Update urutan pengurutan peran: Anggota, Anggota Tim, Administrator, kemudian gubahan
· InitializerService
Migrate Everyone role to Members and create Team Members role
- Rename ROLE_EVERYONE_ID column to ROLE_MEMBER_ID - Rename existing "Everyone (Applies To All)" roles to "Members" - Set **************** flags on existing system roles - Create "Team Members" role for all existing organizations - Set role_team_member_id references for all organizations - Switch ddl-auto back to update mode
· SecurityService
Enforce role protection flags and add parent label support to session
- Enforce isAllowEditSecurity in SecurityRoleController update endpoint - Add parentMemberTitlePlural and parentTeamMemberTitlePlural to *** session - Resolve parent org member/team member labels during login - Include parent labels in session updates when behavior labels change
· kamo-shared-library
Tambahkan simbol perlindungan granular dan sistem anggota tim
- Add IsAllowEditTitle and isAllowEditSecurity flags to Organrole entitas - Ubah nama roleEveryID ke ROLEMID on Organization, tambahkan RolemTeamMenID - Ubah nama "Everyone (Applies To All)" peran ke "Anggota" dalam pembuatan org - Buat "Anggota Tim" peran sistem selama pembuatan org - Enforce Is AllowEditit Judul dalam OrganRoleService.updateRole (diam-diam mengabaikan judul) - Dipaksa AllowEditSecurity dalam updateRoleRights dan updateRoleSeccurityModels - Tambahkan bendera baru ke SecurityRoleDTO untuk konsumsi antarmuka - Extend RoleType enum dengan nilai MEMBER dan TEAM _ MEMBER
· kamo-internal
Add Support section to settings page
Adds Topics, Notifications, and Status & Response Times cards that link to /support?tab=settings.

Alam semestamu menunggu.
Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.
Gratis selamanya — tidak diperlukan kartu kredit