İçeriye geçin
KAMOUniverse

Değişiklik Günlüğü

Yeni ne var?

Gemideki her iyileştirme.

  1. · kamo-shared-library

    Repository sorguları tam uyumlu bulmak için, sayfalı liste, makbullar

  2. · kamo-shared-library

    DateLastViewed to MediaSessionMember formak timestamps

  3. · kamo-shared-library

    Add isAccessRevoked flag for per-attachment access control

  4. · kamo-marketing

    Distinguish actively-translating vs queued messages

    The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a pulsing dot and the rest show "Pending Translation…" with a static dot, so the visitor can see the queue progressing.

  5. · kamo-internal

    Distinguish actively-translating vs queued messages

    The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pendingTranslation flag. Split that into two states: the single message currently in flight shows "Translating…" with a pulsing dot, all the other queued messages show "Pending Translation…" with a static dot. Live (just-arrived) messages are translated alone and start in the active state.

  6. · kamo-marketing

    Show error icon when a message fails to translate

    When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "Failed to translate message." instead of silently leaving the bubble in the original language.

  7. · kamo-internal

    Show error icon when a message fails to translate

    When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of the translate badge with tooltip "Failed to translate message." instead of silently leaving the bubble in the original language. The flag is reset whenever the user picks a new language so a re-attempt can succeed without the stale error sticking around.

  8. · kamo-marketing

    Stream translations newest-first for visitor history

    When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now shows a "Translating…" placeholder while a streaming queue fills them in one at a time, starting from the newest message. A generation counter prevents stale queues from clobbering current state.

  9. · kamo-internal

    Stream message translations newest-first on language switch

    When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediately renders a "Translating…" placeholder and the translations stream in one at a time starting from the most recent message and working backwards. This includes the user's own past messages — anything authored in a different language than the viewer is now translated. A generation counter cancels in-flight queues if the user changes language again.

  10. · kamo-marketing

    Auto-translate visitor and agent messages

    Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then swap to the translated text with a Languages badge whose tooltip shows the source language and the original message. Visitor messages are tagged with the URL locale on send so the agent's chat can translate them into the agent's profile language. Messages loaded into history are translated up front via the new ?lang=<locale> query param on /api/chat/support.

  11. · kamo-internal

    Translate chat messages into the viewer's language

    Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs the locale cookie so the entire UI switches; it also broadcasts an event that any open ChatBox uses to re-fetch its history in the new language. ChatBox now fetches messages with ?lang=<locale>, renders translated bubbles with a small Translate badge whose tooltip shows the original text and source language, and shows a "Translating…" placeholder for live messages until the TranslateService call returns. The send path tags every outbound message with the author's locale so other viewers can translate it on demand.

  12. · APIService

    Proxy support-message translate endpoint

    Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat widget hits **************** which the gateway now forwards to MediaService with the standard public-chat auth and rate-limit checks.

  13. · MediaService

    On-demand translation for chat and support messages

    Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /translate endpoint. MediaService now talks to TranslateService via TranslationServiceClient, and MessageTranslationService caches results in MediaObjMsgTranslation so the same translation is never paid for twice. Wires the same flow into the public-chat (visitor) path: visitors send their URL locale as sourceLanguage, and the agent / visitor sides each pull translations into their own preferred language. Adds the translate-service secret to the MediaService deployment so the new client can authenticate.

  14. · kamo-shared-library

    Translation cache for chat messages

    Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be translated on demand and re-served instantly to other viewers in the same language. ChatMessageDto carries sourceLanguageId so live recipients know whether they need to translate. MediaService.createMessage gains an overload that takes the authoring language, falling back to Member.language for legacy callers.

  15. · kamo-internal

    Kişisel + Chat/Docs/Notes/KB/HRS ekleyin bölümler

    / tanımlayıcılar indeksi hiçbir bölüm olmayanlara gösterdi çünkü her şey Mevcut bölüm bir yönetici sağda kapılandı (CONFIGURE SYSTEM, MANAGE * SETTINGS, MANAGE ACCESS RULES). Sadece normal bir ekip üyesi ile Destek hakları tam 3 kart gördü (Topics, Analytics, Scheduled Destek) ve başka bir şey. Her zaman yetenekli bir kişisel bölüm ekleyin ( Profilim, Audio & Video, Hesap Aktivitesi ve Planlar ve çocuk ya da köpekler üzerinde Billing) bu bağlantılar viewer's own / fucks/member/<myId> sekmeler - bu yüzden ayarlar asla boş değildir, Ya da seviye haklara bakılmaksızın. Ayrıca daha önceden izin verilen Chat / Docs / Notlar / Bilgi Base / HRS bölümleri - her kapı ilgili veyag özellik bayrağında artı uygun MANAGE * SETTINGS right – to match the adanmış / sıralamalar / başarı / <app> Bu uygulamalar için zaten var olan sayfalar.

  16. · kamo-internal

    Rotate hedefi görünüm oranı oranı oranına göre açıyor

    Hedef çerçevesi şimdi Dorsey2 (viewportH, viewportW) tarafından eğimli. Doğru taraf, viewport diagonal'a doğru hedefler - 16:9 için monitörler Açılış noktaları - Doğu'nun güneyi; portre için daha yakın noktaları Güney. Kullanıcıların doğal olarak kafaları dökme şeklini okuyun Ekran üst sol köşeye geri döndü. Fizik: hedef çarpışma şimdi hedef-modern koordinasyonlarda çalışır. Her biri atıldı Başın merkezi+velocity yerel çerçeveye döner, mevcut AABB Lineer duvarlara karşı çarpışma değişmez, sonra herhangi bir şey push-out ve hız yansıma dünya alanına geri döner. The The The The The The The The Puan bölgesi kontrolü aynı zamanda yerel koordinasyonlarda da yapılır, bu yüzden bir kafa gerçekten gerçekten gerçekten gerçekten Hala puanlar açıyorum. Görsel: SVG çerçevesi + giriş yansı bir rotasyon içinde canlı konteyner; kutlama overlays (GOAL!/MISS!) ve REMOVE caption O yazının dışında oturmak okunabilir. Bayan-shake şimdi sıfır yerine temel açısı etrafında salınımlar. Goal açı, bir devlet setter aracılığıyla yeniden boyutlandırılıyor, bununla birlikte Paralel bir ref, böylece at RAF her çerçevenin en son değerini okur Çağrıyı yeniden yaratmadan.

  17. · kamo-internal

    Puan / izin kutlamaları ile at-to-remove hedefi

    132×132 hedef çerçeve, bir kafanın ne zaman üst solunda görünür solo-drag veya aktif-do, köşeden 56px dengelemek böylece kafalar Geçmişi ya da arkasını özledim. Üç katı duvar (top, sol, alt) hareket elastik çürük yüzeyler (0.65 regresyon); sağ taraf açık Giriş. Arka panelde cesur bir kırmızı X, "remove" niyetini yapar Unmistakable ve bir pulsing giriş göstergesi açık tarafı gösterir. Atlı bir kafanın merkezi puan bölgeye geçtiğinde, kaldırıldı At haritasından, alt temel araç penceresi kapalıdır Araç: Kapat, ve kafa head tarafından kaldırıldı. Yeşil bir radial flaş, 18-parça altın/orange patlama ve bir bouncing GOAL! Overlay puan üzerinde ateş. Atlı bir kafa sadece herhangi bir hedef duvarını atdığında (350ms tarafından yorumlanır, böylece tek bir başarısız spam olayları değildir), hedef Kırmızı ve bir MISS sallar! Overlay yumrukes in. Stability: hedef çarpışma tamamen at RAF döngüsü içinde yaşıyor (No ilkbahar-system contention) ve HexHeadGoalZone'nin hepsine sahip kutlama durumu içsel olarak – motor sadece olayları yangınlar. Saf Saf Saf Katkı özelliği; non-throw drag/drop yolları değişmemektedir.

  18. · kamo-internal

    Havuzdaki çarpışmalarla fiziği atlayın ve iz bırakma

    Flicking a head past the at eşiği onu görüş kenarında başlatır Açık fizik altında (friction, kenar, baş-vs-head elastik çarpışmalar). Yavaş damlalar hala tam olarak nerede serbest bırakıldı. Başlarken kafa Sahne tarzı bir yangın izi onu takip ediyor. Atış her iki hız tarafından kontrol edilir (>= 650 px/s ortalama üzerinde Son ~110 ms) ve toplam sürüklenme mesafe (>= 30 px) bu kadar hızlı kesin bir kesin kesin Yeniden yükleme asla yanlışlıkla bir at tetikler. Magnitude atılır 3200 px /s kenar-of-detection flicks fulle tutmak için. At RAF döngüsü hareket değeri doğrudan .set() ile yazar - Uçuştayken çerçeveli duygular ilkbaharları atlayın – ve kendini durdururken Tüm kafalar stop- speed eşinin altına düşer. YerHomeCluster ve softPushCluster şu anda atak haritada herhangi bir demir atlar, böylece Bahar sistemi asla fizik bütünleştirici ile savaşmıyor. Struck herhangi bir kümeden detach kafaları, yalnız bir kümeye ve çarpışma tarafından verilen dürtü ile at simülasyonuna katılın. Trail: SVG katmanı son zamanlarda radial-gradient ambers ile pozisyonları, mix-blend-mode: katkı için ekran, tek CSS bulanık Yumuşaklık için filtre - dükkan estetik, yakın-zero CPU maliyeti.

  19. · kamo-internal

    Yeni veyag'e geçiş yapmak için sunucu-minted OTK'yı kullanın

    Ok'u takip eden üzerinde POST /api/güvenlik/org tarafından geri iade etmeyi tercih edin. /api / güvenlik / tur-as round-trip. Sunucu şimdi taze bir sahibi taklit ediyor Org yaratımının bir parçası olarak, bu yüzden post-create yeni yönlendirmeye başladı org's /validate is deterministic – domain yaratımı ile yarış yok, Sessiz enter-as başarısızlık, ebeveyn-org oturumunda yaratıcıyı terk ediyor.

  20. · SecurityService

    Mint owner - +OTK on org create

    OrganizasyonOwner'ı oluşturduktan sonra, yeni sahibine bağlı olarak TeamMember ve OTK'yı boş / üyelerin yanında geri döndürür. Bu olmadan, Yaratıcı ebeveyn-org oturumunda kalır - sınırlı haklar ve OrganizasyonOwner=false - bu yüzden yeni çocuk veyag'in ayarları sayfası görünür görünüyor Kapılar ve Planlar ve Billing, manuel olarak yeniden girinceye kadar gizlidir.

  21. · kamo-shared-library

    Kendi kendini hayal kırıklığına uğratmadı COMP emirleri

    @PostConstruct'ta tüm APPROVED COMP siparişlerini tarayın ve herhangi bir hüküm verin. HesapSubscription eksikliği. Idempotent - bulmak-veya-küre, güvenli anlamına gelir defalarca çalıştırın.

  22. · kamo-internal

    İşlerimden önce sol taraf için kullanılabilirlik durumuna düşer

    Sağ eylem çubuğundan sol karşılama bölümüne geri dönelim, selam ayırıcı ve My Businesses arasında bir ayrılıkçı ile yer. Daha önce ikon düğmelerinden statüsünü ayıran şimdi-veya faslı dikey kuralı kaldır.

  23. · kamo-internal

    HedefOrganizasyonId to AboneOrder types and createSubscription Sipariş sipariş siparişi

  24. · SecurityService

    COMP aboneliğini onaylanmış siparişden aktive etmek için geçici son nokta ekleyin

    POST **************** Arama çağrıları ************, daha sonra hedef veya entitlementService aracılığıyla hükümlerini geçersiz kılar.

  25. · kamo-shared-library

    COMP sipariş onayı oto-provisions HesapSubscription and defines license

    AbonelikYader: HedefOrganizasyon (belirli FK'ya veyalara) ekleyin. - ************ ekleyin hedefOrganizasyonId dize - MuhasebeRepository: Üye üye üye üye üye üye üye üye tarafından hesap görünümü için ByPrimaryMember Id'ı ekleyin Abonelik Hizmeti: Faturayı yeniden enjekte etmek; MaddeCompSubscription oluşturur/upserts **************** AbonelikMember, ve hedef-org üyesi için ACTIVE AccountLicense; OfficeOrder bunu COMP ödeme yöntemi için çağırır; mevcut APPROVED COMP siparişlerinin retroaktif sağlanması için yeni etkinleştirin

  26. · kamo-internal

    Makyaj popover + boyut kontrolleri ile açılır

    Bir hex kafasını şimdi parlatılmış bir cam morfizmi popover açıyor Hemen araç penceresini açma yerine bağlamsal eylemler. Üye Üye Üye sohbet kafaları ortaya çıkıyor: Open Chat, View Account, Email, Invite to Meeting, Call (Her iki tarafın da kayıtlı bir VOIP uzatması olduğunda); araç kafaları Açık <toolName>. Bir Boyut alt-menu, kullanıcının küçük / aracı / Bu özel kafa için büyük (yeni üye başına yeni başlayanlar) ÜyeUiPreference store) artı her şeyi etkileyen global bir ölçek kaydırıcısı Hex bu makineye (eskiden yerel yönetimde). Tool windows şimdi Yönelme genişliği/height to the viewport so they never open kısmen out- Ekran bile shrunken windows ile.

  27. · InitializerService

    MEMBER UI PREFERENCES masasını ekleyin ( 60 sipariş)

    Idempotent CREATE for the general per-member UI-preference store backing Hex-head popover boyutu seçici ve gelecekte kullanıcı arayüzü ayarları. Schema, EmbRecordState kongresini yansıtıyor (is active, date created, Tarih updated) veri modelinde başka yerlerde kullanılır.

  28. · SecurityService

    Add MemberUiPreferenceController for per-member UI settings

    Backs the new hex-head popover size selector and any future small per- member UI preference. Endpoints under /api/security/members/me/ui- preferences resolve the member from the OTK session and read/write JSON values keyed by an opaque prefKey string.

  29. · kamo-shared-library

    Add MemberUiPreference entity for per-member UI prefs

    Generic per-member UI preference store (memberId, prefKey, JSONB value) for small persisted UI settings. First consumer is the hex-head popover size selector.

  30. · kamo-internal

    Wire ÖzelliklerManager'ı çocuk-org için platform aboneliklerine

    ÖzelliklerManager, Miras ****************'i çağırıyordu Gerçek platform aboneliklerini okumak yerine (çalışılmış geri çekilme) atlar. Şimdi aramalar **************** Hangi kök veyag’in sorguladığı Caller'in çapraz-org üyeliği için ticaret abonelik siparişleri. Ne zaman? caller, kök veyag üzerinde bir APPROVED COMP emrine sahiptir, tüm özel kapılar açık Tamamlanan çocuk-org yöneticileri bekleniyor.

Evreniniz sizi bekliyor.

Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.

Sonsuza kadar ücretsiz — kredi kartı gerekmiyor