Load org logos from MinIO theme public path like dashboard
Use getThemePublicBaseForDomain so logo URLs match getThemePath()/img/logo.svg instead of legacy /domain/.../kamosite paths that 404 and fell back to initials.
Add missing nav-top strings and scope translations
English messages listed components.navtop.* keys for Mail/Docs/Voip buttons but never defined hi/welcome, branches, account, credits, calendar, chat, etc., so n...
Resolve nav-pri labels showing raw i18n keys
Use namespaced next-intl translators for nav and components.nav.navPri so lookups resolve against the merged message trees; add panel aria strings under navPri;...
Add MessageBrowser i18n strings and restore load error copy
next-intl threw MISSING_MESSAGE for components.messages.browser.* keys missing from en.json, breaking /messages render. Add English strings, use loadMessagesFai...
Створення запису MinIO ключ об'єкта, як зображення потоку
Омітити розширення, коли FILE EXT є null/empty, так що ім'я об'єкта відповідає ЗаписиПослуги та засоби керування зображенням. English, Українська, Français... В...
Скасувати диал, якщо підвіска називається до sdk.invite вирішує
Стан забігу: підвіска () під час підключення не мала сеансу припинитися (sdk.invite чекав перед дротомSession), тому виклик підключений будь-яким чином. Додано ...
Авто-підприємець новий орг після створення так званих земель з власною роллю та правами
Після створення оргкомітету залишилися в батьківському контексті (не права адміністратора), не вдається бачити налаштування. Тепер створять хрящі новий домен or...
Дозвоніть кінцевий виклик під час підключення, відключіть помічник AI, видаліть вкладку
- Підключіть кнопку виклику тепер активний і червоний під час підключення, так що дзвінки можуть бути скасовані перед підключенням - Вимкнено AI Assistant навіг...
Подовження історії викликів від член voip config, не телефон extension
****** був NULL для деяких розширень навіть коли автор voip config правильно налаштував учасника на їх розширення. Використання JavaScript licenses API Веб-сайт...
Full touch support for softphone popup on tablets
- Add touch-action: manipulation + WebkitTapHighlightColor to iconBtnStyle so window control buttons (minimize/maximize/close) respond instantly on touch - Ad...
Add go-sql-driver/mysql v1.7.1 checksum to go.sum
go mod tidy without source files is a no-op, so the mysql checksum was never added. Generated the correct h1 hashes via a throwaway golang:1.22-alpine container...
Ручка спадщина абодинальні рядки для CountryType через AttributeConverter
Рядки DB мали країну, що зберігається як рудні цілі (наприклад, "186" для UNITED STATES) замість імен енму, що спричиняє незаконне оформлення CountryTypeConvert...
Скасування перекладу робочих місць миттєво за допомогою запуску tsx в фоновому режимі
Коли Forgejo скасовує робочий процес, чекаючи на будь-яку дитину до обробки сигналу — так працює робота tsx заблокувати анулювання протягом декількох хвилин, ут...
Перемістити ASTERISK CDR DSN на локальну config.json, не секрети CI/CD
CDR-термінали локальні для кожного сервера FreePBX і не мають бізнесу в трубопроводі CI/CD. Оператори додають ASTERISK CDR DSN безпосередньо до своїх config.jso...
Довгий розширений доступ на getDomainById та контрольні точки кінцевих точок
Власники та власники систем отримали 403 на getDomainBy Ід і перевірте-dns, оскільки ці кінцеві пункти перевірили isUserMemberOf Org безпосередньо. Додає запров...
Показати існуючий домен org замість реєстраційної форми, коли не користувацький домен
Падіння назад до платформи org піддомен як домен відображення так DnsProgressView не існує користувацького зовнішнього домену. Також видаліть неправильний "плат...
Surface imaging fallback when provider has no call history
KamoPBXProvider.getCallHistory now returns null instead of throwing **************** so the 501 response no longer bypasses the imaging fallback. The provider c...
Correct account list member/teamMember fallback labels and trigger redeploy
Restore NavPri panel labels and LeadHistory column headers
NavPri: salvage-keys grabbed href URLs as label values and swapped label/description pairs for Accounts, KB, and Notes nav panels. LeadHistoryPanel: MUI bgcolo...
Show platform domain context when no custom domain is set
Surface the active *.kamocrm.com hostname in the domain entry form so users can see their current platform domain instead of a blank entry screen. Also fixes ve...
Checkpoint translations per chunk and per locale on main
Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...
Checkpoint translations per chunk and per locale on main
Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...
Disable Docker BuildKit cache so every pipeline run does a full rebuild
Sets no-cache on both image build steps so npm ci and npm run build always run, even when the source tree is unchanged.
Bust Docker BuildKit cache per commit so npm run build runs every push
Identical checkout trees (e.g. empty commits) reused cached layers and skipped a real Next build. Pass GIT_COMMIT from the workflow and label the image revision...
Suppress grep non-match вихід в OLD PID захоплення, щоб уникнути аборту труби
Дозволити власникам та користувачам системи верхнього рівня, щоб керувати доменами org
Sync членів.email при призначенні первинної поштової скриньки або видаленні
Коли поштова скринька була призначена для члена KAMO MAIL org, членів.email ніколи не було оновлено, викликаючи електронну поштуCredentialService, щоб не виріши...
Запобігти дублікати доменів і виправити первинний дисплей домену
ONE DOMAIN PER ORG перевірте невірно виключено .kamocrm.com web-alias домени, що дозволяють org накопичувати декілька доменів (і 10 aliases кожен) по переробці ...
Сфералізувати членство та члени PUT виклики, щоб уникнути конфлікту
Два одночасних пишуться тим самим `членам`яного рядка, що викликає послідовність ізоляція конфліктів — прочитав ряд членів Кінцева точка написав до неї (включає...
Зменшення затримки створення та фіксації несправностей каскадних перекладів
- ОрганізаціяКонтролер: заміна забезпеченняTeamMembersForAllOrgs (full org сканування таблиці) з забезпеченняTeamMemberForOrg (single org) — усувається ~400ms ×...
Широкий коміт log translations.title to TEXT to match DB колонка
Колонка була VARCHAR(512) як анотація, так і DB, викликаючи переклад вставок, щоб не було перекладених назв. Колонка DB тепер ПРАВА (застосовується безпосереднь...
Unwrap каталог і розрахунок з конверта зворотного зв'язку
getSubscriptionКаталог повернувся { каталог: {...} } але був відкат безпосередньо як АбонементКаталог, залишаючи каталог.плани не визначилися і план вибір крок ...
Додати @JsonProperty to is*-prefixed boolean DTO поля
Lombok генерує Xxx() є-getters для болеанських полів названий Xxx. Jackson strips the провідний 'is' з is-getters і серіализує їх як 'xxx', а не 'isXxx', так що...
Використовуйте s замість fuser, щоб вбити стебло порт-форвард (fuser не на k0m1)
не встановлюються на бігунок. Використання сса -tlnp з grep, щоб витягти порт PID холдингу 18080 і вбити його безпосередньо. Про нас переключіть накрутку до SIG...
Чистий стебло порт-форвард так скасований переклад завдання не блокувати наступний хід
Баш не передається сигналів для фонових процесів, тому kubectl Порт-форвард відхилений скасований робочий процес працює і провів порт 18080, блокувати кожен нас...
Відновити всі зламані значення власників сторінок
Сценарій Salvage-keys мав захоплений CSS-класNames, inline стилі, і JS шаблон замість оригінального англійського тексту для 114 повідомлень ключі відмітки, kb, ...
Відновлює назву героя сторінки та субтитри з історії git
геройТітл був 'Hero Назва' (замінник), геройСубtitle був 'flex gap-2' (salvage-keys випадково захопив назву сусіднього класу CSS). Корисне значення відновлено з...
Увімкнути кнопку Оздоблення від віджету.getState() і переключення до авто=onload
Прослуховувач подій в державному обміні не надійно дасть можливість кнопки «Оздоблення» після перевірки ***. Дві першопричини: 1. Зливний логічний читання відж...
Включає передплатно-таргетуючі рахунки в список org
listForOrg тепер також повертає облікові записи, підписки яких цільують підписки запитаний org — не тільки акаунти, які його належать. У мульти-орг модель платн...
Додайте статусWindow мітки простір імен і зафіксуйте всі поточні рахунки
- Додати ****** (50 ключів) так налаштування nav sidebar показує реальний текст замість ключових шляхів - Фіксація філіяТипLabel ICU формат: \${branchLabel} → {...
Збігти іншим інструментом розмір вікон + колірна гамма
- За замовчуваннямВибір і мінуси тепер 320x650, багаторазово: помилкові (маточки Softphone, чат, Калькулятор, SMS, AI чат) - Вимкнено з темного сланцевого граді...
Вузькі перші і останні іменні стовпчики так прізвища залишаються на одному ряду
Forward Range header so audio playback can scrub
Without this the VOIPService recording-streaming endpoint always returns the full file (Range header is dropped by buildForwardHeaders), which works for play-fr...
Rewrite /etc/odbc.ini to point at $MARIADB_HOST on every boot
The escomputers/freepbx:17 image bakes /etc/odbc.ini with Server=db (the docker-compose link target). On this Kubernetes deployment MariaDB lives at \$MARIADB_H...
Resolve member→extension before VM/CDR provider lookup
CallController was passing memberId where FreePBX (and other PBX-style providers) expect an extension number — voicemail listing returned empty because no PBX e...
Авто-призначте перше місце, Безкоштовне як підлога, більш широке визнання
BillingSetupService тепер активує перший відкритий ліцензійний слот для творця при насінні суборгової підписки (та ж для просування-на-волонтера) — Будь ласка, ...
Як ви бачите відправлення?
Все це прибуває в робочому просторі. Почати безкоштовно план і читати цю сторінку знову в місяць.
