Gracefully cancel superseded reconversion jobs on rapid saves
When a document is saved multiple times quickly, each save registers its ImgDat UUID in a ConcurrentHashMap. The async reconversion task checks this at 6 checkp...
Добавить кнопку Open in Docs для редактирования документов, электронных таблиц, презентаций
- Новая кнопка «Открыть в Docs» (иконка EditNote) в колонке «Док-менеджер» для .docx, .xlsx, .pptx, .odg, .doc, .xls, .ppt-файлов Открывает документ в редакторе...
Rewrite WOPI/Docs to use Img/ImgDat, add Open in Docs endpoint
- WopiController now uses imgId (Long) instead of Document fileId (String) - DocumentService creates Img + ImgDat records instead of Document records - WOPI Che...
Удалите автономный документ — все документы теперь используют систему визуализации Img / ImgDat
Предприятие Документа, DocumentRepository и DocumentNotFoundException являются удалены. DocsService WOPI и интеграция с DocsService теперь работают полностью че...
Создайте интегрированный пользовательский интерфейс импорта автолидов с полным управлением конечными точками
Полное переписывание LeadAutoImportManager с готовыми к производству функциями: Endpoint CRUD с уникальными URL-адресами для ведущих поставщиков 3-х сторон - ге...
Add Quartz job for automated lead intake payload processing
Adds LeadIntakeProcessingJob that runs every minute to process queued raw payloads from 3rd-party vendors. Applies configured field mappings, transformations (t...
Добавить управление потреблением свинца и контроллеры общественного приема
Добавляет два контроллера для автоматизированной системы впуска свинца: - LeadIntakeController: аутентифицированный CRUD для конечных точек потребления, поле от...
Add public lead intake endpoint for 3rd-party lead submission
Adds LeadIntakePublicController at /api/public/lead-intake/{token} that accepts lead data in any format (JSON, form-urlencoded) from 3rd-party vendors and forwa...
Добавить свинец Системные объекты ввода, репо, DTO и сервис
Добавляет полный уровень данных для автоматизированной системы ввода свинца: - 4 объекта: LeadIntakeEndpoint, LeadIntakeFieldMapping, LeadIntakeRawPayload, Lead...
Используйте голую полночь PST (без конвертации UTC) для подсчета сегодняшних изменений
Bump version to trigger rebuild with updated kamo-shared-library
Rebuilds the Docker image with the fixed Member entity (memberType field removed) so the Hibernate SQL no longer selects security_level from the member_team_mem...
Дата магазина Совершено в UTC и использовать окно 24h для сегодняшнего счета
Замените пегинированную петлю подсчета с помощью одного вызова на конечную точку сегодня
Добавить GET **************************** Конечная точка с использованием SQL Count
Чат *** - исправить время проверки и улучшить копию баннера
**Провайдер: триггерVerify эффект теперь зависит от вызова Проверка () вызывается только после установки виджета; использует rAF для Убедитесь, что DOM нарисова...
Интегрируйте kamo *** (доказательство работы) в контактную форму, демо-форму и виджет чата
- Добавить ***Поставщик многоразового компонента обертывания Capcha-виджета с темной темой - Контактная форма: автопроверка по фокусу, представление ворот до пр...
Полное удаление поля MemberType для предотвращения дублирования колонки Hibernate
Предыдущие исправления (@Transient on field, @Access(AccessType.FIELD) on class) Они были недостаточны. Проверка Bytecode показала, что @Setter Ломбока сгенерир...
Email as paid add-ons, not included free
- KamoMail Hosting: $5/user/mo add-on on all plans - 3rd Party Email Integration: $2/user/mo add-on on all plans - Email hosting feature reverted to "Add-on" in...
Электронная почта как платное дополнение, обновите все данные о ценах на обратную связь
- Хостинг KamoMail: $5/пользователь/мо дополнение (не бесплатно - ответственность) - 3-я Сторонняя интеграция электронной почты: $2/пользователь/мо дополнение О...
Добавьте анимированный баннер согласия cookie с дизайном стекломорфизма
Плавающая нижняя левая карта с весенней анимацией, cookie-файлы Essential/analytics переключатели, устойчивость локального хранилища и ссылка на настройки cooki...
Используйте промо-код 18DOFF, обновление истекает 30 апреля 2026 года
Вернул промо-код из EARLYBIRD обратно в 18DOFF, чтобы соответствовать заголовкам nav. Обновленный нав-текст от «Prelaunch» до «Early Bird» для согласованности. ...
Обновление данных о ценах на откат, чтобы соответствовать новым ценам на производство
API возвращает 401, поэтому сайт маркетинга использует жестко закодированные резервные данные. Обновлены все планы резервного копирования, аддоны, пакеты и табл...
Обновление маркетингового сайта для новых цен на продукцию
- Добавлены подписи для добавления карт значков и переключения калькулятора - хостинг электронной почты, показанный как «Включенный бесплатный» вместо платного ...
Update KamoCRM pricing to production go-to-market rates
- Starter: $34/mo ($28 annual), Business: $72/mo ($59 annual), Enterprise: from $109/mo ($99 annual) - Business plan expanded from 50 to 100 users - Added eSign...
Добавить @Access(AccessType.FIELD) Участнику, чтобы остановить отображение Hibernate getMemberType() в виде колонки
Предыдущее исправление (@Transient на поле MemberType) было недостаточным. Hibernate 6 все еще открывал для общественности метод getMemberType(). Сканирование с...
Показать имя загрузчика, расширить столбец даты, объединить значок расширения в имя файла
- Загружено: всегда было пусто - название поля правильное, но бэкэнд Никогда не устанавливайте createdByName; теперь решено на задней стороне - Колонка имен фай...
Populate createdByName в DocumentMetadata из загрузчика
обновление ToMetadata() читать **************************** и наборы, созданные ByName, поэтому загруженная колонка в диспетчере doc показывает имя фактического...
Отслеживание загруженного участником на объекте Img
Добавить поле createdByMember (ManyToOne) в Img, чтобы загрузчик Сохранились во время загрузки. ImageService.uploadDocument() теперь устанавливает от вызывающег...
Решение ошибки SQL уровня безопасности, вызванной дубликатом столбца MEMBER TYPE в Hibernate 6
Member.java отображает MEMBER TYPE как @DiscriminatorColumn, так и в явном виде. @Column field. Hibernate 6 дважды выбирал столбец в проекции родительской табли...
update RRWebplayer config to fix seek issues and warning suppression
Expose thumb and converted file sizes in DocumentMetadata
Adds thumbFileSize, convertedFileSize, and convertedThumbFileSize to the DocumentMetadata DTO and populates them in convertToMetadata() from the ImgDat and its ...
Добавьте инструментарий сохраненного размера в ячейку размера в диспетчере doc
Tooltip показывает разбивку фактического хранилища, используемого для документа: оригинальный файл, миниатюры (оригинал + преобразованный в сочетании) и Преобра...
fix blank screen by using router.replace instead of redirect in useEffect
Пропустить экран загрузки файлов для загрузки в NavigationInterceptor
URL-адреса и ссылки с атрибутом загрузки никогда не вызывают навигацию по страницам. Таким образом, глобальный обработчик кликов теперь возвращается рано для эт...
Surface сохраняет ошибки и возвращает оптимистичное обновление в селекторе провайдера электронной почты
При сохранении неконфигурируемого провайдера (KamoMail, ParentOrg, NotConfigured) ошибка была установлена в состоянии, но никогда не отображалась в виде списка,...
Переместить кнопки действий Doc Manager в строку поиска панели инструментов
- Removed Create Document, Upload Document, Bulk Upload и Refresh из заголовка градиентного героя Заголовок героя теперь только название / описание Создать доку...
Правильная ссылка на столбец Security level в логине SQL
security level находится в таблице (m), а не Member team member (e). Неправильный псевдоним e.security level привел к молчаливому отказу всего SQL. Таким образо...
Восстановление модели разрешения команды/члена для совместного диалога
Члены команды (memberType=TEAM MEMBER) обходят все ворота. За постоянными членами закреплены права SHARE DOCS *. Сеансы наследства без участникаType получают вр...
Разрешить любому аутентифицированному члену делиться документами
Удалите ворот на основе ролей на диалоге акций - любой зарегистрированный член может поделиться. Предыдущая проверка требуется от участника (от участника сессии...
Correct member name access in resolveAlias endpoint
member.getNameFirst() doesn't exist — name is on User.getName(). Use getMemberDisplayName() helper which correctly navigates the member -> user -> EmbNameFull p...
Участник StoreType в сессии Redis при входе в систему
Если e.id не является полноценным, тогда «TEAM MEMBER» Логин SQL запрос и передает результат через createSession в Redis, Фронтенд может отличать членов команды...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.