Журнал змін

Дивись, що ми будуємо, в режимі реального часу. Кожна функція, фіксація та вдосконалення, що надходить на платформу.

17,911
Загальні зміни
4,604
Особливості
4,532
Фіксатори
32
Проекти
Фільтр за проектом
Всі проекти17,911AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService369InitializerService299KBService74KlusterServices545MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,572kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Фільтр за типом
Всі типиBuild24CI523Chore670Docs226Feature4,604Fix4,532Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
April 18, 2026
FixSecurityService

Align registration field names and response shape with frontend contract

Frontend sends nameFirst/nameLast but controller read firstName/lastName, causing 400 "First name is required". Success response now returns {status, userId, al...

Kamo·4mo ago
FixSecurityService

Add SecurityService and dao.repositories to EnableJpaRepositories scan

UserPhoneLookupRepository in recovery package was not picked up because EnableJpaRepositories only listed dao.repos and commerce. Added the SecurityService base...

Kamo·4mo ago
FixSecurityService

Resolve duplicate emailTemplateServiceClient bean conflict

**************** and **************** were identical @Components with the same default bean name, causing **************** at startup. Delete the duplicate in r...

Kamo·4mo ago
FixSecurityService

Address 4 code-review findings in registration and login paths

- Hide raw exception message in /register 500 path; log instead - Fail-closed (503) on email-verified DB check failure in login - verifyEmailToken throws if use...

Kamo·4mo ago
FixSecurityService

Append Z to dateCommitted so JS parses it as UTC

LocalDateTime.toString() produces no timezone designator, causing JavaScript's new Date() to treat the UTC value as local time and display timestamps 7-8 hours ...

Kamo·4mo ago
FixSecurityService

Convert PT midnight cutoff to UTC for today-count query

Commits are stored in UTC but the cutoff was a naive LocalDateTime in PT, causing yesterday-evening PT commits (00:00–06:59 UTC) to be counted as today.

Kamo·4mo ago
April 17, 2026
FixSecurityService

Bound translation concurrency to 3 threads to prevent DB pool exhaustion

Unbounded @Async (SimpleAsyncTaskExecutor) created 50 threads simultaneously when the retry scheduler fired, each opening a DB transaction and draining HikariCP...

Kamo·4mo ago
FixSecurityService

Three bugs preventing changelog translations from being saved

1. **************** was discarding events because handleWebhook() had no @Transactional — save + publishEvent() ran outside any transaction. Add @Transact...

Kamo·4mo ago
FixSecurityService

Apply word replacement at translation time, not ingestion

Original text is preserved in the DB so that adding a new rule and re-triggering translation is all that is needed to update existing records. Changes: - Chang...

Kamo·4mo ago
FixSecurityService

Check TeamMember.isOrganizationOwner flag for owner detection in my-networks endpoint

The previous check only looked at org.getOwner() (user_id_owner column) which can be null for existing orgs. The authoritative owner flag lives on the TeamMembe...

Kamo·4mo ago
FixSecurityService

Include parent org in /org/domain response

The getOrganizationByDomain endpoint manually builds a response map but never included the parent organization reference. This prevented the frontend from knowi...

Kamo·4mo ago
FixSecurityService

Don't let null translated description hide the English original in changelog

The translation lookup for non-en locales was unconditionally overwriting description with **************** which is null when: - the translation was saved befo...

Kamo·4mo ago
April 16, 2026
FixSecurityService

Правильна безпека рівневі колонки посилання в логін SQL

безпека рівень на стіл членів (m), не член team member (e). Неправильне псевдонім e.security level викликало весь SQL, щоб не мовчазно, так, щоб користувачВипис...

Kamo·4mo ago
April 11, 2026
FixSecurityService

Serialize imgId as String to prevent JavaScript precision loss

CockroachDB unique_rowid() IDs exceed Number.MAX_SAFE_INTEGER. Changed imgId from Long to String in UploadDocumentResponse and DocumentMetadata DTOs so Jackson ...

Kamo·5mo ago
FixSecurityService

Download converted PDF from MinIO instead of original file

The converted-pdf endpoint was calling imageService.downloadDocument() which returns the original file. Now downloads directly from MinIO using the convertedDat...

Kamo·5mo ago
April 4, 2026
FixSecurityService

Додавання внутрішнього секрету для публічного каталогу API проксі

Додати *********** в розгортання Служби безпеки Таким чином, APIService може автентифікувати при проксіації підписки на публічну підписку каталог і запити просу...

Kamo·5mo ago
April 3, 2026
FixSecurityService

Передача включає в себеНеактивний=true типово для шаблонів договору

Шаблони управління UI повинні бачити неактивні шаблони.

Kamo·5mo ago
FixSecurityService

Додати відсутні кінцеві точки постачальника-категорії до CommerceMarketController

GET/POST/PUT/DELETE /{marketId}/vendor-categories відсутні, викликаючи 404 коли вкладка Постачальників намагалася завантажувати категорії.

Kamo·5mo ago
April 2, 2026
April 1, 2026
March 30, 2026
FixSecurityService

Query avatar_photos extension via SQL instead of Hibernate proxy

avatarRepository.findById() returns a Hibernate proxy (Avatar$HibernateProxy) that fails instanceof AvatarPhoto check. This caused the file extension to always ...

Kamo·5mo ago
FixSecurityService

Store full avatar relative path in session instead of bare file hash

The login SQL now also fetches avatar_type and file_extension from avatar_photos so the session stores a complete relative path like **************** or *******...

Kamo·5mo ago
March 27, 2026
FixSecurityService

Auto-provision completed-stage app features in org domain endpoint

Moves auto-provisioning from the FeatureController (only hit from the apps settings page) to the SecurityController org domain endpoint (hit on every page load ...

Kamo·5mo ago
FixSecurityService

Auto-provision missing completed-stage app features for existing orgs

When listing features, the controller now checks for missing OrgFeature rows for COMPLETED-stage apps and creates them. This ensures orgs created before new app...

Kamo·5mo ago
FixSecurityService

Catch all exceptions in FeatureController enable/disable endpoints

Prevents uncaught RuntimeExceptions from becoming opaque 500 errors. Now returns structured error messages for any failure.

Kamo·5mo ago
March 26, 2026
FixSecurityService

Prevent duplicate apps in features list by excluding all existing types

The available list was only excluding features with enabled=true, so a disabled feature (isActive=false) appeared in both the features array AND the available a...

Kamo·5mo ago
March 24, 2026
FixSecurityService

Recalculate member_rights_applied after role create/update/delete

The member_rights_applied table was never recalculated when roles were modified, causing all members to have 0 applied rights. Now calls **************** after ...

Kamo·5mo ago
March 23, 2026
FixSecurityService

Transparent server-side encryption with stable master key

- Add permanent notes.master-encryption-key to ConfigMap (was generating a random key on each pod restart, making old notes undecryptable) - Always encrypt ...

Kamo·5mo ago
FixSecurityService

Clear undecryptable note content and disable encryption flag

When server-side decryption fails (corrupted data or key mismatch), clear the content and set isEncrypted=false on the entity so the note stops showing cipherte...

Kamo·5mo ago
FixSecurityService

Decrypt encrypted notes in getAllNotes and searchNotes responses

getAllNotes and searchNotes were returning raw encrypted content for notes with isEncrypted=true. Now decrypts content server-side before returning, matching th...

Kamo·5mo ago
FixSecurityService

Use OTKPreAuthFilter attributes instead of re-validating OTK in NotesController

The OTKPreAuthFilter already consumes and validates the OTK, storing the session data in request attributes. NotesController was trying to re-validate the alrea...

Kamo·5mo ago
March 22, 2026
FixSecurityService

Remove GD check from ****************

The sed command that added the god-mode bypass incorrectly inserted it into all methods containing sessionData, not just hasRight. This caused 'return true' (bo...

Kamo·5mo ago
FixSecurityService

Allow god-eligible users to bypass access security permission checks

New rights (MANAGE_ACCESS_RULES, VIEW_ACCESS_LOGS, etc.) aren't granted to any existing role yet, so all users get Forbidden. God-eligible users (GD=true in ses...

Kamo·5mo ago
March 20, 2026
FixSecurityService

Resolve remaining Long/UUID type mismatches in controllers and beans

Fixes LeadVendorController, LeadMarketController, LeadImportController, ImagingController, AccountController, MediaStreamController, POSController, MemberContro...

Kamo·5mo ago
March 17, 2026
FixSecurityService

COALESCE type mismatch on security_level — column is varchar not int

The SQL query for user details during session creation was failing with 'incompatible COALESCE expressions: expected 0 to be of type varchar' because **********...

Kamo·5mo ago
March 16, 2026
March 13, 2026
FixSecurityService

Add auth check and sanitize input on POST /org

- Return 401 if no authenticated user (prevents orphan orgs) - Build Organization from allowed fields only (prevents mass-assignment) - Fix colors field name (w...

Kamo·6mo ago
FixSecurityService

Include member title labels and shortTitle in org domain response

The /org/domain/{domain} endpoint was missing memberTitlePlural, memberTitleNonPlural, teamMemberTitlePlural, teamMemberTitleNonPlural, and shortTitle fields fr...

Kamo·6mo ago

Як ви бачите відправлення?

Кожен з цих оновлень землі в робочому просторі автоматично. Почати вільний час і дивитися його на тиждень після тижня.

БезкоштовноПерегляд цін