Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· SecurityService
Payroll sağlayıcı kurulumu için yetki sınırı
Relays the new **************** yüzey ve kim olabilir Buna ulaşmak. TimecardService motora sahiptir ve seans yoktur; bu tutar Oturum ve karar verir. Güvenlik Hizmeti herhangi birRequest().permitAll() ile çalışır Elli bir per-handler auth, bu yüzden muhafızını unutan bir eller zayıf değildir. kontrollü - kamu internetinden kontrol edilemez ve ulaşılamaz. Mevcut /api/güvenlik/payroll ön plana doğru çıktı: kamo-internal Bir catch-all BFF rotası ile ulaşır ve yeni bir ön ek 404'e ulaşır Her hizmet sağlıklıyken ve her bina yeşildir. Four tiers: - MANAGE PAYROLL PROVIDER (199) bilgi ve bağlantı veya bağlantıları yazar OAuth. Bu, WHERE'nin bir organizasyonun saatlerine karar verme yeteneğidir Bu arada, bu yüzden kendi haklı. - MANAGE HRS SETTINGS (45) bağlantıyı ve sağlığını okur. - MANAGE TIMECARDS (183) çalışan haritalama ve senkronizasyon tarihini kapsar. - FINALIZE FORM PERIODS (198), kararlı bir parti iletir - aynı katmanı aynı tier İhracat yapmak, çünkü aynı eylemdir. Test Bağlantısı, okumadan ziyade yazı ile oturur: Bu bir an Kayıtlı kimlikler ile yapılan çağrı ve herkesin görüşebileceğine izin ver Sayfa onları org'un pararoll satıcısını yayınlamanın bir yolunu tutuyor. OAuth değişimi bir ya dag id ileri sürmez. TimecardService onu dışarı çıkarır HMAC imzalı devlet, bu yüzden bir kiracı için elde edilen bir kod kurtarılamaz Her ikisi de doğru tutan bir çağrıcıya karşı. TimecardServiceClient'e ek olarak, bu sadece /post aldı.
· kamo-shared-library
Pararoll-provider domaini zamanın arkasında
Bir organizasyonun zaman kartlarını bir organizasyona bağlayan kalıcı omurgayı ekleyin Üçüncü taraf pararoll sistemi: bağlantı ve şifreli per-org yapılandırma, OAuth hibesi, üye-to-provider-employe link, kazanç kod haritası, Ve iki uçlu kayıt (sadece deneme girişimleri ve senkronizasyon sorunları) Bir senkronizasyon daha sonra açıklanabilir. com.kamo.z.shared.hr.timecard içinde yeni bir paket yerine yeni bir paket üzerinde Amaç: Yeni paylaşılan bir paket üç ayrı açık açıklığa eklenmelidir @EnableJpaRepositories listeler ve bir hizmet bağlamı - veya, KamoInitializer'de, yine de BUILD SUCCESS'i rapor ederken koşmayı planlıyor. Şekildeki notlar: - PayrollProviderType, token kelimesini zaten belgelenmiş olarak yeniden kullanır **************** (ADP WFN, DEMCHEX, GUSTO, ...). Bir ikinci Aynı satıcı için yazım, hiçbir hatayla ihracat tarihini bölünecektir Her yerde. ADP RUN ve QUICKBOOKS tutulur çünkü pararoll ihracat ekranı Onları sevk ettiğinden beri teklif etti, bu yüzden canlı satırlar onları taşıyabilir. - Çalışan bağlantıları sağlayıcı tarafından anahtarlanır, bağlantı tarafından değil, bu yüzden geçiş Sağlayıcı ve geri geçiş haritalama işini atmıyor. TWO Benzersiz kısıtlamalar: Bir üye iki bağlantı tutan bir üye durdurur, diğer duraklar Bir sağlayıcı çalışanını iddia eden iki üye - bu bir çift ödemeyi engelliyor. - PayrollDispatch ve PayrollSync. WORM. Bir pararoll iletim Bir para olayıdır; “Bunu gönderdik, sonra tekrar gönderdik.” uzlaşma ihtiyaçları. Credentials, bir sütunun başına bir sütun yerine ONE şifreli yapılandırma json blob'da yaşıyor Alan, böylece bir satıcı eklemek, her hizmeti yeniden tanımlayan bir şema değişikliği değildir. RolRightType, MANAGE FORMROLL PROVIDER (199) - kasıtlı olarak hayır Geleneksel MANAGE FORMROLL (40), bugün hiçbir şey bırakmaz ve zaten tarafından yapılır. Bilinmeyen üye sayısı; üçüncü taraf ödemesini tekrarlamak Bunu gönderen boot üzerinde her oran görüş sahibine bilgi. PlatformOAuthProviderType, Kamo'nun bir tane tuttuğu yedi maaş satıcısını kazanır. partner kaydı (id 11-17). Dayforce, Workday ve UKG konu kimlikleri Müşteri başına ve kasıtlı olarak sabit bir şey almaz: platform ekranı bir hale getirir Her sabit için kart, bu yüzden biri operatör olamaz bir form olabilir doldurun. Ayrıca BillingDelegasyonModeTestinde bir durgun iddiasını düzeltin: 9276487 kasıtlı olarak REQUIRES APPROVAL gruplarına izin verir ( dışlamalar grup haline getirilir). Onay yolu ulaşılamaz) ama testin eski davranışı iddia ettiğini bıraktı, bu yüzden Oda o zamandan beri ana kırmızı olmuştur. Schema, Yugabay'da bu zorlamadan önce uygulandı ve doğrulandı.
· kamo-internal
"şimdi" bir duvar ve iptal edilmiş bir yumruk açıklayan bir kart
Henüz çalışmadıkları zaman kimse kayıt edemez. Bir kenar sürükleyin, Tüm yay, ok anahtarlarıyla çıplak, magnet, sağ tıklama bloğu ve Kılavuz, günümüz sırasında mevcut dakikada her şeyi durduruyor ve bir Gelecek gün hiçbir şey kabul etmiyor. Bugün gerçekleşmemiş olanın bir kısmı oldu Yaralandı, çünkü "Burada bir hap sürükleyemezsin", BEFORE birisini görünür olmak zorundadır Kontrol, kural olarak değil. Sunucu zaten şimdi bir yumruk ekleme veya düzeltmeyi reddetti, hangisidir Tam olarak neden müşterinin buna ihtiyacı vardı: Duvar olmadan sürüklenme başarılı oldu, Hap orada sahnelenmiş görünüyordu ve tüm kurtarma sonunda başarısız oldu Üyenin bulamadıkları bir yumrukla ilgili mesaj. Magnet aynı duvarı alır. Bir yumruk gelecekte yanlış bir cihazla ayrıldı Saat meşru bir snap hedefiydi, bu yüzden bir kenar onu ileriye götürebilirdi Ve bir yerde tasarruf reddedilir. Ve onay kartı şimdi bir yumruk CANCELS'nin daha önce açtığında açık kalır. TimecardService bu sabah herhangi bir geri dönüş için yapmaya başladı dakika. Bu üye bir düğmeye basınsa, durumu izleyin Tam olarak nereye başladığı ve makul bir şekilde düğme kırıldı. In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In In Bu devlet kartı seçici ve eylemleri kopyasını azaltır, bir cümle gösterir ve bir düğme, ve arkadan çıkarmayı durdurur - stray bunu tıklayın Sık sık doğruyu takip etmek, olanların tek açıklamasını kapatmamalıdır.
· kamo-internal
Destek ve sosyal pencerelere üye sohbetin bestecilerini verin
Bir destek bileti ve bir sosyal DM, üye sohbet olarak aynı şeydir - bir destek bileti ve bir sosyal DM aynı şeydir - bir üye sohbet - Bu konuda mesajlarla medya seansı - ama açık bir şekilde cevaplandılar metin alanı. Bir müşteri tarafından bir ekran görüntüsü gönderilebilir ve bir yol yoktu Bir tane geri göndermek için: Hiçbir eklenti, sürüklenme, yapıştırma, emoji yok ve bir tane Bir çizgiyi büyümeyecek giriş. Her ikisi de şimdi üye sohbetin toplayıcısını oluşturur, bu yüzden yükleme makineleri, yükleme makineleri, Ek tepsi, transfer paneli, emoji picker ve Enter-to-send are Her üçü boyunca bir uygulama. Satın alındı ve ekler gönderdi Balonlar aynı AtamentChip aracılığıyla. Tabbed desteği penceresi açıklığa zorlanan iki şey: - Taslaklar konuşma başına park edilir (useDraftParking). Bir besteci hizmet ediyor Birkaç bilet ve yoldaki herkese gönderilen mesajlar, bu yüzden bir taslak sol Kutuda, başka bir kişiye yönelik bir müşteri sözleridir. Bir gönderiden sonra kartpostal Gönderin anahtarını alır veya sekmeleri orta ışık ile değiştirirdi Cevabı başka birine yazın. - Aşamalı ekler de seansta tutuluyor. Düz bir liste bir müşterininkini ortaya koyar Başka bir tepside dosya ve oraya yükler; şimdi tüm yükler Dosyalar için sahnelendi, ne sekme topraklar olduğunda görüntüleniyor. Sosyal yanıtlar 10 MB'nın bir dosyasında kapılır: bir mesaj tek bir dosya taşır MediaObjSocialRef, bu yüzden ikinci bir ek depolanabilir ve asla beslenemezdi. 10 MB, gönderdiğimiz en sıkı sağlayıcı tavandır. Yemin ederim onu besteci sessizce kaybediyor. Başarısız bir gönderi şimdi başarısız bir yüklemeden ayrı rapor edilir - dosyalar aynıdır yukarı, mesaj değil ve draft yine denemek için hala orada.
· kamo-internal
Hız arama org'un departmanı uzantılarını listeler
Sekme altı icat edilen giriş gönderdi - 1001'de Satış Ekibi, Bir Konferans Odası Sürekli ringing – bu yüzden bir araya gelen her şeye ulaştı uzatma ve BLF kötüges hiçbir şeyin abone olmadığını bildirdi. Şimdi okur /api / güvenlik / bölümler ve org'un her bölümünü listeler. Bir uzantı verildiğinde, başlık tarafından sıralandı, dış numaranın altında Bir set. Yükleniyor, boş ve tekrarlanabilir-terör devletler, kiremitleri değiştirir Asla boş olamazdı. GET org-scoped ve doğruya ihtiyacı yok ve yangınlar Sadece bir kez sekme ilk açıldı.
· kamo-internal
Widen sohbet, sosyal, ai-chat ve pencereleri destek büyüklüğüne oluşturur
Destek bileti penceresi, üye sohbet ederken 460px'de açılır, sosyal sohbet, AI sohbet Ve e-posta bestecisi hepsi 360-420'te oturdu. Aynı dock, aynı tür içerik – onlar Şimdi destek penceresinin 460px varsayılanını paylaşıyor (ve resizableableable için 420px kat Bunlar), bu yüzden merdiven- adım yerine açık bir araç pencere hatları.
· kamo-internal
Her kuyrukta görünmeyen mesajları göster, sadece katıldılar
Kötüge ve sıra tint zaten buradaydı - sadece hiç kalabalık olmadı listenin çoğu için. Okumaya hazır olun sadece kalıcı olmayan haritayı okuyun, Bu, izleyicinin kendi üyelik sıralarından elde edilir, bu yüzden biletleri yoktu Katılma asla ışık tutamadı. Bu kuyrukta çoğu, ve Kayıtsız biletler hiç kimse seçmedi hem çoğunluk hem de satırlar. Çoğunun bayrağına ihtiyacı var. Şimdi canlı haritayı tercih ediyor, bu da izleyiciyi sohbet etmek için yazar STOMP üzerinden okudukları veya cevap toprakları üzerinde güncelleniyorlar ve düşüyorlar ve düşüyorlar Sunucunun her şey için per-ticket sayına geri dönün. İkisi olamaz Kör bir şekilde bir araya geldi: Canlı harita sadece her zaman kapalı seanslar taşıyor Mesajlar, bu yüzden "bir saniye önce" ve "never say" ulaşılamaz Bu nedenle bu ziyaret sırasında açılan küçük konuşma seti, bu devam ediyor. Üye şu anda bir sonraki geri yüklemeye kadar litre kalmaktan okuyor. Liste ayrıca devam eden sayı hareket ettiğinde kendini yeniden okur. Çünkü Konuşma izleyiciye katılmadı, hiç canlı kanal olmayacak snapshot'ı doğrulayın - sadece oturumda insanlara ulaşamayan, Hangi bir kuyrukta kimse değildir – ve bekleme yeri, ulaşabilecek bir sinyaldir Org'un her desteksiz üyesi.
· MediaService
Stamp görünmeyen bilet listesinde sayılır ve kuyruğu canlı tutar
get thes now Bulk-loads an invisible-message count per row for the caller, outside Ziyaretçi satırları zaten bu şekilde yükler veTicketDetail kendi kendi kendi hesaplarını hesaplar Okuyucunun işaretlerini okumadan önce - bu yüzden pencere ne zaman geldiğini gösterebilir Onlar zaten sıfırlanan açma eylemi yerine uzaktaydılar. Ayrıca kuyruk merdivenini terk eden sinyal boşluğu da kapatır. Bir destekteki bir mesaj Konuşma, org'un her desteksiz üyesi için kuyruk hareket eder, değil Sadece o seanstaki insanlar – ki bu tam olarak per-session'ın geri dönüşü olmayan kişi Konu ulaşmıyor. Beklenmeyen yayın zaten bir zamanlar kovuldu Halkla sohbet eden ziyaretçi gönderilen ve bir ajan işaret ettiği zaman; bir üye cevap vermekten Uygulamanın içinde delik vardı, bu yüzden bir in-app destek konuşması kazanabiliyordu Herhangi bir ajanın ekranını tekrar aramak için söyleyen mesajlar. DestekUnseenCountSqlTest sorgunun şeklini oluşturur. Her madde içinde Yük taşıma ve bunların hiçbiri bir geçiş inşasında görünür: bir yanlış ve yanlış alın kuyruklar hala, sadece sessizce yanlış olan sayılarla.
· kamo-shared-library
Konuşmada olmayan bir izleyici için görünmeyen mesajlar
Unread her zaman izleyicinin kendi MediaSessionMember sırasından elde edilmiştir, bu yüzden Katılmadıkları bir konuşma hiç bir saymadı. Bir destek kuyruğunda Bu çoğu - 37 canlı biletin 27'si imzalanmamış ve bunların 26'sı Tam bir seans üyesi var, yardım isteyen kişi. Bunlar bunlardır Tam olarak en çok bayraklara ihtiyacı olan satırlar ve onlar da onlarydılar. yapısal olarak bir bayrak taşıyamadı: kimse onlara katılmadı, bu yüzden hiçbir şey yoktu. Okuyucu onlar tarafından onaylanmak için. countUnseenBySessionForViewer bunun yerine bir kuyruk sorar. The The The The The The The The LEFT JOIN üyelik için tüm hiledir: Hiçbir üyelik çizgisinde hiçbir şey yok read pointer, so every inbound message count, which is the Truth - the viewer Hiçbirini görmedi. Sayfa başına bir sorgu, ziyaretçinin yanında nasıl sıralandığını eşleşen Zaten yüklü. Sistem olayları dışlanır. Bir durum değişikliği veya bir reassignment kitap korumadır Konuşma hakkında ve hiç kimsenin aslında sahip olmadığı satırları sayın Herhangi bir şey söyledi - işin karar verdiği bir ekranda kötüleşmeden daha kötü Bir cevap ne gerekiyor. Destek theDTO.unseenCount listede ve ayrıntılı okumalarda ve solunda bulunuyor. Başka her yerde çıplak, çünkü "unseen" bir izleyici ve bir sayı hakkında bir gerçektir Bir kişi hakkında sormayanlar için icat etmek sadece yanlış olurdu.
· kamo-internal
Delete, magnets, doğru tıkla menü ve hangi soruyu sorduğu bir saat
Dönem grafiğine ve nav saatine altı ek. DELETE odaklanmış hapı kaldırır. Backspace de, çünkü Mac'de anahtar "delete" IS Backspace ve sadece Delete teklif etmek, kısayolun yaptığı anlamına gelir. Bir dizüstü bilgisayarda mevcut değildir. Her iki kattaki yumrukları da ortadan kaldırır, bu yüzden bir yemek yemeyi bırakın Çalışmanın her iki tarafını da sürekli bırakır - bunun anlamı nedir Yemek gerçekleşmedi. Her başka düzenleme gibi Aşamalı; Hiçbir şey yazılı değildir Kurtarmaya kadar. Bir GUIDELINE her sıradaki noktayı takip eder, dakika içinde En üstte çip. Onun işi, bir tıklamanın nereye toprak olacağını söylemektir ve bu Her gün dönem aynı dakika. Bir iz elementi oldukça kesti Konteynerten, kimin kutusu gün adı ve toplam sütunları içeriyor - kullanarak Üyenin göremediği genişlikleriyle bir dakika rapor ederdi. Bir günde herhangi bir yerde, 15 dakikalık bir blok düşüren bir menü açar. Zaman, yemek ya da noktanın nerede olduğunu kırmak. İki yumruk, değil: bir dilim Bir çift ve bir lone opener gece yarısına kadar çalışan bir hap çekiyor. Bir yemek yiyeceğine dikkat edin MEAL OUT ile blok açma - bir yemek iş dışında saat olarak kaydedilir ve geri döndü İçinde ve o çifti gün geriye doğru götürüyor. MAGNETS: Bir kenar beş dakika içinde sürüklendi Tam dakika, bir dakikalık boşluğu kasıtlı olarak devre tutar. İşte bu Boşluk komşusunu aşıyor; İşte bütün niyet iki içindir karşılamak için ve sadece bir dakika kısa bir yere sahip olan bir kenar asla bir boşluk kapatamaz. Gecenin yakınındaki beş dakika bir çift pikseldir, bu yüzden bir mıknatıs olmadan “Bir sonraki başladığında bu molayı sona erdirmek”, kimsenin tamamlayamadığı bir görevdir Bir nokta ile. Ve magnet, SAME tipi kenarın iki katını kenara geçtiğinde, MERGE Aynı jestde: Saat-out ve saat-in şu anda bir dakika sonu paylaşıyor Doğru olmak ve her ikisi de yok edilir. Farklı tür asla bir araya gelmez - bir geçiş son Tam olarak bir yemek tek bir zaman olmadığı zaman, aslında iki şey oldu. Bu, orijinalin üzerine koparmak için grafiklere ihtiyaç duyuyordu. Dakika: İki tesadüfen kenarlar kronolojik siparişlerini tutmalı veya çiftleşmeli Onları takas eder, sıfır geniş bir yay ve bir stray opener ve hap vanishes Şu anda iki buluşma. THREE PILL COLOURS ve hue'den daha farklı - markada sağlam çalışıyor İlk olarak, HRS amber'de yemek, violet'de iyi bir şekilde şeritlendi. Renkli Renk Sadece erkeklerin% 8'i kırmızı-yeşil bir eksikliği ile başarısız olur ve herkesi bir kırmızı-yeşil eksikliği ile başarısız olur. projektör; biri ücretli bir moladan ödenmemiş bir yemek söyleyebilir Siyah-beyaz baskı. NAV CLOCK ASKS WHICH PUNCH. "Clock out" üç farklı eylem ve ne Teklife bağlıdır, üyenin nerede durduğuna bağlıdır: çalışmak, sonunda olabilir Değişim, bir yemek ya da mola almak; bir yemek ya da molada geri dönmek, geri dönmek Varsayılan ve geçişin sona ermesi hala orada çünkü insanlar düz bırakır Öğle yemeğinden. Bunu bir düğmeye sokmak, birinin günlerini ne zaman sona erdiğini Onlar öğle yemeğine gitmek anlamına geliyordu - geri dönmedikleri ücretsiz bir saat ve bir Yoldaki eksik istisna. Kart, seçilen eyleme tekrar eşlik eder Aynı üç renk grafik kullanımları, onların ne kadar süre içinde olduklarını söylüyor Mevcut devlet ve nav şimdi üç devletin hangisi olduğunu bildiriyor. Sunucudan yoksun bir "devlet" olarak okunuyor, "The boolean is all we have", not OFF olarak: OFF olarak okumak, bir orta değişim için "saat" sunabilir Dağıtım penceresinin uzunluğu.
· SecurityService
Relay the yumruk
POST / punches/{id} / kaçının için geçiş, editörün anahtarını ve anahtarını silmek İki bitişik kesimin arkasındaki makineler. Aynı otorite ve aynı sebepten dolayı: bir EMPLOYEE onları mahvedebilir Kendi yumruk, çünkü "Bu çift dokunuş asla gerçekleşmedi" diyemeyen bir üye Bir kaydı düzeltmenin bir yolu yoktur, sadece tanıktır. Yapamayacakları şey nedir saymak - hala hareket eden bir zaman kartındaki boşluklar Onay zinciri ve sebep her yolda zorunludur. Oyuncu damgalandı SESSION'dan asla bedenden değil; bir vücut destekli aktör bir şeydir Başka birinin ücret kaydı üzerinde vücut destekli imza. İki test, ters yönde çekiyor, çünkü bu hizmet çalışır Herhangi birRequest().permitAll(), el-rolled per-handler auth ile kayıt altına alındı: reddetmesi gerekir meslektaşın yumruk her zaman röleye ulaşmadan ve itiraf etmesi gerekir Her şeyde hak sahibi değiller.
· kamo-shared-library
Bir yumruk silinmeden silinebilir
Four nullable columns and a second write-once Transition on TimecardPunch. A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A blank, yumrukın asla var olmadığını söylüyor - saate iki dokunuş, bir çift dokunuş terk edilmiş mola veya iki ara arasındaki denizler sadece zaman kart editörüne sahip. Bire dönüştü. Bu bir düzeltme değil ("bu oldu, farklı bir şekilde Zaman”, bir yedek sırayı terk eden veya bir sil: PunchId tarafından süpersedilir “Bu diğer sırayı yerine getirin” ve burada başka bir sıra yok. Arkalar hayatta kalır, yazarla ve bunun yanında onun nedeni ile. Bir ücret Bir yumruk unutmak için yapılabilecek kayıt tam olarak değişimleri olan eşitsizliktir Anderson v. Mt. Clemens Pottery'ın altındaki işverene olan yük, bu yüzden sadece tek başına Bir boşluk kaldırdığı şey, hesaplamadaki yumrukın etkisidir. UygulamaWorm() aynı şartlarda PunchId tarafından aldatılmış - null Bir değere, bir kez - ve hiçbir sebeple bir boşluk reddediyor. Yerde kaybolmak, Tipik olarak imkansız: Bir yumruk yeniden kurmak bir tane eklemek anlamına gelir, hangi ayrılır Kendi sıra ve kendi açıklaması. **************** bir değil Rahatlayın. Unfiltered variant saat durumu karar vermek için yanlış: a Süpersed sıra, ORIGINAL'ı anında tutar, bu yüzden bir saat boyunca geriye doğru düzeltildi Ölü sırayı en son AtUtc ile terk eder ve bir boşluk en son kalır Yeni bir şey yumruklanmış olana kadar. Ya da bir cevap “saatte misin?” Artık var olmayan bir kayıttan. Varlık değiştirme kuralına göre eşitsizlik: paylaşılan-lib yerel olarak kuruldu, KI Göç, 192.168.4.22:5433'e karşı 192. Uygulamalı ve sadece sonra bu itiliyor - bu yüzden hiçbir hizmet bir hizmete karşı inşa edemez Unmigrated şema.
· InitializerService
Hr timecard punch
Aynalar TimecardPunch varlığında dört yeni çıplak sütunlar. Bir boşluktır Ne bir sil ya da düzeltme: yumruk asla var olması gerektiğini söylüyor - Saatte çift bir dokunuş, terk edilmiş bir mola veya iki dilim arasındaki denizler editör bire dönüştü. SEDED BY PUNCH ID bunu ifade edemez, Çünkü bu sütun "bu diğer satırları yerine" anlamına gelir ve başka bir yer yoktur. satır. Tüm dördü NULLABLE, bu güvenli olanı kalabalık bir masada yapan şeydir: CockroachDB ADD COLUMN'u reddediyor... Boş olmayan bir masada NULL değil ve yuvarlanır Bütün açıklama geri döndü, bu yüzden NULL boşluk işaretleyicisi WARN olarak girişilecekti, Atladı ve sessizce yok. Bu koşucuda, indekslerin ve REVOKE'lerin önünde, önce çoktan çoktan gidiyorlar. @Order ****'in var olmasının nedeni için: paylaşılan an bir sütun, Her koşucu, yumruk varlığın onu SE'de yayıyor ve bir sütun-add, geç asla her zaman koşmadı - daha önceki bir okuyucu "column Yok yok" ve onunla ilkizeri ele alalım. 192.168.4.22:5433'e karşı koş, tüm dördü uygulanır.
· kamo-internal
CRM pazarlarının olmadığı zaman piyasanın dolap panelini göster
/leads, lider ızgarayı boş, engelli bir pazar sekme barı ile bir org için verdi Bu asla bir CRM pazarı oluşturmamıştı. Şimdi aynı dolap paneli gösteriyor /ticaret eksik ticaret pazarları için gösteriyor - satın alındı MarketOnboardingEmptyState böylece iki kişi aynı kalır - CRM liderliği tarafından yönlendirilir Ayarlardan piyasalar > Müşteri İlişkileri Yöneticisi, ticaret pazarları değil, Ve CRM Markets & Fields sekmesine işaret edin. Adımlar ve ayarlar CTA sadece CRM'i yönetebilir üyelere gösterilir ayarlar; herkes mevcut check-back-later kopyasını alır.
· kamo-internal
Dönem grafiği ve bir taslak olarak düzenlemediğiniz bir zaman kartı
************'de bir günlük zaman çizelgesi değiştirir Tüm ödeme süresi ve bir düzenlemenin neye benzediğini değiştirir. Haplar hiçbir metin taşımaz. Kendi zamanlarını taşımak için kullandılar ve bir etiket 60px geniş ancak tarif ettiği şey çok uzundu - bu yüzden on dakikalık bir mola ve bir Dört saatlik değişim aynı hapı geri çekti ve bir mülk bir zaman çizelgesine sahip Masa değil (en fazla zaman) attığı mülkdü. Her ikisi de her ikisi de Şimdi başlangıç olan bir alettipinde yaşarken, son ve arasındaki yay Onlar ve kenarlar, bu güncelleştirmeleri bir okuma ile sürükleniyor Hareket eder. Köşeler 2.5px: mekanik sertliği almak için yeterli, değil Bir lozenge'ye beş dakikalık bir hap turu yapmak için yeterli. Saat başlığı her saat etiketlendi, her biri çeyrek sıraya döndü Bu yüzden yirmi dört fit. Altı saat boyunca dört etiket kimseye anlatamaz Bir hap 9 veya 10'da başlar, bu sadece başlığın orada olması gereken Şimdi hapların açık olmadığını cevaplayın. Her gün dönem bir sıra alır, henüz gerçekleşmemiş olan INCLUDING günler. Verilerle günler çizen bir grafik eksik bir yumruk gösteremez ve eksik yumruk, bir zaman kartı ile yanlış olan en yaygın şeydir: boşluk, boşluk bir şeydir. bulmak ve bir bulgunun ortaya çıkması için bir sıraya ihtiyacı var. Gelecek günler oldukça uzak Sadece ihmal edilenden daha fazlası - " henüz değil" ve "hiçbir şey kaydetti" farklı Gerçekler. Drags MINUTE'ye uçuyor. Beş dakikalık snapping 9:02 ifade edemezdi, bu yüzden İki dakika sonra düzeltilemedi ve her düzeltme zamanı Bir tahmin olarak okuduğum bir yuvarlaklık elde etti. Rounding bir maaş kayıt politikasıdır Motor, arkasında tarafsızlık raporlaması ile uygulanır; bir kaydırıcı uygulanmamalıdır İkincisi, görünmez bir tane. Ok anahtarlar bir dakika, on beşe kadar, Alt Kendi başına bir son alır - bir nokta bir dakika ifade edemez bir yolda bir dakika Dakika bir piksel altında. Ve düzenleme şimdi bir taslaktır. zorunlu-reason dialog açmak için kullanılan Dragion Her sürümde: Üç yanlış yumrukla bir gün tamir etmek, üç yazı yazmak anlamına geliyordu Açıklamalar, " saatin her bir çeşidi yanlıştı" ve gerçek bir koruma Anderson v. Mt. Clemens Pottery bir kutu insan türüne dönüştü "korreksiyon" onu uzaklaştırmak için. Herkesin yenilgiyi yenmek için öğrendiği bir koruma Kimseyi korumak. Edits şimdi özgürce ve bir açıklama toplanır tasarruf - hala zorunlu, hala kurtarma dokunuşlarını her yumrukta kaydedildi, ancak Bir kez sorduklarında, biri aslında ne yaptıklarını biliyor. Hiçbir şey yazılı değildir O zamana kadar. Değişiklikleri desteklemek: - app/lib/timecardGraph.ts her kararı grafik yapar - çiftleşme, DST-güvenli anlık değişim - saf fonksiyonlar olarak, çünkü bir Sadece bir şeyi sürükleyerek kontrol edilebilir bir ücret kaydı hakkında karar Bir fare ile kimsenin kontrol edemeyeceği bir karar. 34 test. - getRange per-day okumasına geri düşer, böylece sekme 404'te kırılmaz Kim güvenlik hizmeti dağıtma ve bu arasında yükler. - Add-a-time field round-trips yerel duvar saat boyunca. Bir UTC verdi Bir tarih-yerel girdiye dilim ve sonucu yerel olarak geri döndürdü, bu yüzden Alana yapılan her ziyaret, bölgedeki sessizliğin zamanını taşıdı.
· SecurityService
Relay the editörün dönemi aralığı
GET /members /{id} /range için geçiş, dönem grafiğinin okunması. From/to are Sadece TimecardService'ın kendi ödemesini çözdüğünde öne çıktı. Dönem - "?=&to="'dan itibaren, kenar ve alt uçlara bağlanır. Bir ödeme takvimi ile her org için varsayılan olarak yenilgi. KimlikRole ile kontrol edilir ve doğru değil, tam olarak / gün zaten yapar. İki gereklilik ters yönde çekilir ve doğru tabanlı bir kapı alır Sadece bunlardan biri: Bir meslektaşın saatlerini okumak için bir yol olmamalıdır ve bu Konuyu kendileri kabul etmeli, çünkü bir üye RESTRICTED tier'in hiçbir hakkı yoktur ve hala onların için yasal bir hakkı vardır Kendi rekoru. TimecardRangeAuthTest her iki yöne de sorgu binasını kapsar, çünkü Bu hizmet, herhangi birRequest().permitAll()'ı el-handler auth ile birlikte çalışır - Kontrolünü unutan bir harita, halka internet üzerinden erişilebilir APIService's wildcard forward.
· kamo-internal
Birisinin ona yanıt verdiğinde bir destek görüşmesine bakın
Bir destek penceresinin kapatılması konuşmadan ayrılmıyor, ama tedavi edildi Eğer olsaydı. ChatNotificationListener her DESTEK TICKET üzerinde erken döndü bildirim - doğru, bir bilet düz bir sohbet penceresi açmadığından, ancak Tümünde canlı yeniden açılmayan destek bıraktı. Kim panellerini kapattı, çoğu Çoğu zaman istedikleri bir kez yardım isteyen kişi, sadece asla görmemişti. Cevap. Şimdi yerine destek penceresi açıyor, bilet tarafından ele alındı Bildirim taşır; biletId'da araç mağazası dedupes, bu yüzden bir pencere zaten yukarı Tekrarlanandan ziyade odaklanır. AutoOpenUnread SupportChats dayanıklı yarıdır, bir cevap için geldi, Onlar imzalanmıştı - canlı itki, replay olmadan temel NATS'dir. Deliberately Assigned,Opener'den ayrı: “Bu çalışma şimdi sizindir”, Bu bir cevap "bazın sana bir şey söyledi" ve bir istek için ilk Hiçbir zaman hiç olmaz. Her ikisi de aynı otomatik açılan rekorla aynı şekilde kabul eder sohbet yolu kullanır, bu yüzden ikinci bir cihaz ilk gösterilen şeyi tekrar oynatmıyor. ChatsList şimdi, aktivite çerçevesini doğrudan çıkardı. Birbirini Anlamak Kimse açılmamış bir sıra oluşturmadan destek sırasını desteklerdi, bu yüzden liste açıldı. çerçeveyi atmak ve tüm sayfayı almak için yeniden hazırlamak.
· MediaService
Bir konuşma, birçok el - açık, her mesajın adı, bir cevap üzerine yeniden açıldı
Bir destek bileti yardım eden herkes tarafından çalışılır, sadece kim tarafından değil Şu anda damgalandı. Assignment, işin kime teklif edildiğine karar verir ve kimin Listede ortaya çıkıyor; konuşmada bir kilit olmak hiç değildi. Bir bilet şimdi medya seansına katılır. Daha önce, açılan bir ajan Onlara atanan kuyruktan biletin içine yazamayacağı - hiçbir şey Mesajı reddetti - ama seansın bir üyesi değildi, bu yüzden Sohbetlerinde konuşma hiç görünmedi -> Destek, hiç cevap hiç ulaşamadı Onlar ve talepçinin "benim ajanım burada" onları saymadı. Onlarlardı İçinde olmayan bir odaya konuşarak. Kim katılabilir aynı nüfus Zaten kuyruktaki bileti görebilir: insanlar zaten konuşmada, artı AC Meeting SUPPORT TICKETS veya MANAGE SUPPORT in the assigned org. Herkes başka herkes Şimdi reddedildi - bu son nokta daha önce platformda herhangi bir bilet servis etti Bir UUID'i tahmin edebilecek herhangi bir gerçekleştirilmiş üye, örgütler ve Katıl kapısı, bir yabancının konuşmasından bir yabancının konuşmasını okumak için genişletildi içine yazılır. Her mesaj şimdi bir isim taşır. SenderName düz okumaktı Üye.usernameAlias, neredeyse her üyede olmayan bir isim, Bu yüzden null olarak serileştirildi ve sohbet hiçbir alıntı ile mesajları verdi Hepsi. Bu bir destek biletinde en kötü, bir ajandan daha fazlası nerede olabilir Cevap ve müşteri, kimin onlarla konuştuğunu söylemenin başka bir yolu yoktur. ÜyeDisplayNames - zaten bu kontrolörde başka yerlerde kullanılır - geri düşer Gerçek adı. Aynı çiğ okuma, atanmış isimler, biletler Tarih aktörleri, sistem destekli aktörler, ajan-availability fark ve raporlama masası. Kapalı bir pencere artık kayıp bir cevap anlamına gelmez. Gelen erişim bildirimi Bilet idını taşır, böylece müşteri konuşmayı yükseltebilir Siz hakkında ve /sessions/support/auto-open, cevap için kalıcı yarıdır, İmzalandığın zaman geldi - mesajın yanı sıra Sadece çalışan işi değiştiren elleri terk etti ve bu yüzden asla Yardım isteyen kişi için kovuldu. Testler: ChatListNativeAliasCaseTest, besleme sorgularının sütununu pimler Başka hiçbir şeyin yakalayamayacağı - başarısızlık modu sessiz bir null, değil Tipik hata veya istisna. DestekAutoOpenHqlTest yeni sorguları yeni sorguya karşı parlar Gerçek varlık modeli, çünkü Spring Data sadece bir @Query'yi boot ve Bu, paylaşılan kütüphanede, bir tipo'nun her hizmeti nereye götürdüğü.
· kamo-internal
Linkable sekmeler, bir çalışma Add Member ve tam bir tarih sekmesi
Her sekme / say/view/{id} şu anda gerçek bir rota - /members, /history ve Geri kalanlar birisi gönderebileceği, kitap işareti veya arazi üzerinde bağlantılardır. Eski ?tab = bağlantılar yönlendirme eşleştirmeye. Her sekme kendi verilerini yükler, bu yüzden artık bir hesap açın Herhangi birini göstermeden önce her sekmenin verilerini bekleyin. Üye ekleyin "en kısa sürede" tost. Artık aynı seçiciyi açıyor Alan kullanır, sadece personel yerine organizasyonun her üyesini arayın - Bir hesap için ödeme yapan kişi genellikle pararoll üzerinde değildir. İnsanlar zaten zaten zaten zaten Hesapda görünür kalır, ancak gerekçe ile anlaşılabilir, çünkü bu bir isim Sadece bir aramadan eksik bir seçici olarak okur. Set-as-primary ve kaldırmak Ayrıca, ne yaptığını ve silinmediğini söyleyen bir doğrulamanın arkasına çalışın. Hem masa hem de her satırda bir kişi olan seçici işaret. olmadan Üye ve bir ekip üyesi aynı şekilde okuyor ve liste sessizce herkesin herkese ima ediyor Burada çalışıyor. Üye sıraları aynı zamanda şu anda da verir: tip anahtarları iddia etti endpoint asla göndermedi, bu yüzden her isim "---" gösterdi ve hiçbir şey kaldırılamaz - Arkadaki arama ihtiyacı icat edilen alanlardan biriydi. Lider görüşün tarihi paneli EntityHistoryPanel haline gelir, yenisiyle paylaşılan Hesap Tarih sekmesi: aynı filtreler, aynı şakalar, aynı boş devletler. Ne kalır Her çağrıcı sadece yemin nereden geldiği ve boşlarının ne anlama geldiğidir.
· InitializerService
ACCOUNT HISTORY
Mirrors the AccountHistory entity in kamo-shared-library. Açıkça yazılan yazı ddl-auto'a terk etmek yerine, varsayılanlar önemlidir: ID ve DATE CREATED Veritabanı varsayılanlarını taşır, böylece düz bir SQL ekler onları isimlendirmeden çalışır, hangi Hibernate'un DDL'nin ürettiği. Hiçbir yabancı anahtar, amaç üzerinde - tarif ettiği loglar. Bir hesap bir hesap olabilir Birleşin ve bir üye, başarısız olmadan veya silinmeden veya bir üye bırakabilir Onlarla yok ettikleri şeylerin kaydı.
· SecurityService
Hesap tarihi uç noktaları, gerçek bir üye satırları, tüm üyelerin rehberi
Hesap görüşü şimdi bir hesapa neler olduğunu ve kimin üzerinde olduğunu söyleyebilir. - Hesap yüzey kayıtları tarihindeki her mutasyon: oluşturmak, alan düzenlemeleri, Yumuşak sil, birleştirir (bu, kaybedenin zaman çizelgesini kurtulanlara taşır Onu terk etmek yerine, adresler, notlar ve üye ekleme/remove/primary yollar ekler. GET müşterileri/{uid}/history ve /history/filters Aynalar Talep için talep, çünkü iç sitedeki bir bileşen her ikisini de okur. -MüşteriMembers, bir üye sıranın ne yapılması gerektiğini geri döndürür: gösteri Adı, avatar, iş unvanı veTeamMember. Her iki insan da bir şeye aittir Hesap - ödeme genellikle pararoll üzerinde değildir - ve bayrak olmadan İkisi aynı şekilde okudu. - updateMüşteriMembers boşları dizeler olarak kabul eder ( benzersiz rowid() geçmiş MAX SAFE INTEGER başka bir şekilde yuvarlanır, birincil üyeyi açıklayın Sonra kaldırılıyor, ve artık yetimleri yok repository'nin yanında koleksiyon yazar. - Rehber arama kapsamı =tüm, her bir org üyesinden ziyade Personel listesi ve her satır hangi türden olduğunu söylüyor. endpoint sıçanchet inkar etmeyi öğrenir: Oturumu yükler ve 401 döndürür Doğru olmadan bir veya 403 olmadan, bu yüzden onunla açılan bir eller Bir çağrıcı çözmekten kesinlikle daha fazlası. Yirmi temel giriş sadece listelendi Çünkü tarama zaten orada olan muhafızı göremedi.
· kamo-shared-library
Hesaplar için bir denetim yolu ve etkilenmeyen bir dizi
ACCOUNT HISTORY, LEAD HISTORY kayıtlarının ne olduğunu bir hesapla kaydeder Bir liderlik için ne olur - kasıtlı olarak aynı sütunlar, çünkü içerideki Site şimdi hem bir bileşenle hem de ikinci bir şekil zorlanmış olurdu İkinci bir tane. HesapTarihi + repository + HesapTarihiHizmet: Bir alan üzerinde anlık / baskı Kayıt, artı saha düzenlemeleri olmayan şeyler için bir-off olaylar (bir üye Katılmak, bir liderlik veya sipariş, bir birleşme. Kayıt asla atmıyor: bir denetim Bu başarısız olan yazı, denetim altına alınması gereken operasyona düşmemelidir. - MuhasebeTarihçeYönetici, bir izlenen alan ilan edilen tek yerdir. Toplamlar kasıtlı olarak yok edilir - emirlerin bir yan etkisi olarak hareket ederler, Zaten kendi olayları elde eden. - LeadService şimdi hesabın bir lider bağlantının yarısını yazıyor. Bir liderlik için Hesap iki zaman çizelgesinde bir harekettir ve onu sadece bir şekilde kaydetmek, ki bu sadece bir şekilde kaydetmektir. Aradığınız sayfa, bundan bahsetmeyen kişidir. Bir liderlik arasında taşındı hesaplar her ikisini de yazar. TicaretHizmet kayıtları ORDER PLACED / LINKED / UNLINKED / STATUS CHANGED / Satın alma hesabına karşı. Bir siparişin satın almadığı zaman Sessiz. - ******************** Personel-sadece dizi arama Bir org her üyesine genişledi, bir meslektaşı seçmeyenler için. TeamMemberRepo.search Managery term for term, including the term. LEFT JOIN TeamMember, iş unvanı ve bölüm personeli için aramayı sürdürüyor Sonuçlarda. Aktif, sadece bir iş durumu olan satırlar için konuşabilir, Bu nedenle, bir tane olmadan üyeler "çalışma" olarak okumak yerine geçerler. Üye.getPhoneExction: getPhone() numaraya sabitlenir, uzatma işlemi bırakır. Sınıf dışında ulaşılamaz.
· kamo-internal
Yumruk yazmadan önce bir saat onaylayın
Nav saati doğrudan tıklamadan yumrukladı. Bu barda her diğer kontrol idempotent veya önemsiz bir şekilde geri alınabilir; bir yumruk daha sonra bir ücret kaydıdır Sadece zorunlu yazılı bir nedenden ötürü bir HR yöneticisi doğrulanabilir - ve düğme Logout'tan bir piksel otur. Şimdi TimecardPunchConfirmDialog'u yükseltir, standartına inşa eder Yeni DestekRequestPopup ve kasıtlı olarak bunun bir kopyası değil: bu kart bir uyarı Bu kesir, bu yüzden nefes alır, arkasını reddediyor ve düğmelerini geç bıraktı. Bu bir tıklama tarafından sorulmuştu, bu yüzden bir kez kollar ve Escape'e yakın ve Arkada. Green for in, amber for out, because the two results have to to Bir kelime okumadan önce ayrı söylenir. Onun merkezi bir saat SECOND'ye geçiyor ve kopya doğru söylüyor Kayıtlı zamanın şu andan ziyade onay anısıdır. Karar verirken ekran - tereddüt etmenin özgür olduğu ve hiçbir şey olmadığı Bunu söyleyene kadar yaz. İlk kene ikinci sınırla uyumludur, bu yüzden Okunma, üyenin ekrandaki her saatle aynı fikirdedir, bunun yerine Ekran nerede olursa olsun iniş yapın. Onunla değiştirilen Davranış: - idempotency anahtarı, bir retry için tekrarlanan ve tekrarlandığında minted. Per-attempt anahtarları bu engeldi: zamanın iyi olabileceği bir istek iyi olabilir Geri indi ve taze bir anahtar altında yeniden deneme, bir ücret kaydında ikinci bir yumruk. - Eylem açık bir zamanda donuyor, bu yüzden 60'lı bir anket saatin altında kaydırıyor Kart (telefonundan yumruk) soru orta cevap değiştiremez. - iyimser dönüş gitti. Çünkü yumruk tıklamadan kovuldu; Üye şimdi sunucu cevaplarına kadar kalan bir kart izliyor, bu yüzden bir kart Tahmin edilen devlet sadece yanlış olanı gösterme şansı olurdu. - başarısız bir yumruk kartı açık tutar ve bunu söyler. Sessiz bir şekilde bir ikonu tekrarlamak Bu gerçekleşmemiş bir yumruk hakkında öğrenmenin bir yolu yok - o yüzeyler daha sonra Zaman kartında eksik bir istisna olarak. - geçiş kimliği (god-mode sudo, seans geçişi) açık bir onay verir, Bu, başka bir şekilde önceki üyenin yumruklarını yenisine yazacaktır.
· kamo-internal
Seçilmiş durum filtresi, seçtiğiniz yerde
Pending/Complete/All, tek bir çizgiye sığan üç kısa arkadaştır, bu yüzden bir çizgiye sığan 2 tanesini bir tıklamanın arkasına sakladı ve bir etiket ve 170px harcadı Hiçbir şey söylemek iyi. Kapalı bir seçim de cevap veremez "Ben bakmaya çalışıyorum Her şey mi açılmadan? Segmented Filtre paylaşılır: Özel ToggleButton Group, aksanç olarak alındı CSS var, böylece her yüzey kimliğini tutar ve bu özel çıplak Seçilmiş segment tekrar tıkladığında mod elleri geri kaybolur - bir tane Filtre her zaman bir değere sahiptir. Assigned Education da alır, içinde --training-brand: iki panel bir sekmesini paylaşıyor ve bunlardan biri Bir düşüş tutmak iki farklı ürün olarak okunur.
· kamo-internal
Seçeneklerini ezmek yerine kalabalık bir nav kaydırın
Bir nav'dan daha fazla seçenek, parçaları şekil dışına sıkıştırabilir: Her iki şerit de ham Overflow kutularıydı ve karolar flex çocukları değil Kendilerinin flex-shrink, bu yüzden en üst bar onları (ve onu gizledi) kaydırmabar outright, var oldukları işareti olmayan seçenekleri yutmak) Demiryolu kendi gradient üzerinde 12pxKEbar çekti. Her iki navs şimdi NavOverflowScroller aracılığıyla taşınır seçenekleri veriyor: Barlar ayak izlerini tutar, uç oklar ve yumuşak bir kenar sadece üzerinde kaybolur Hala ulaşmak için bir şey var ve şerit sayfalanabilir, tutulur, Çarpılmış, momentumla ya da sürüklendi. Mevcut sayfanın seçeneğidir Geri varışta görüşe geri döndü ve üst barın sabit Krom Daha uzun, onu absorbe edebilecek bir çocukla olan kısalığı paylaşıyor. Bir seçeneği sürükleyin ve şerit kalabalık üzerinde aynı harekettir nav, bu yüzden kalabalık bir nav kısa bir süre geride yeniden ayarlıyor. Bu tutar dnd-kit'ten faredown'u kullanmak yerine "delay"ını kullanmak. kısıtlama: gecikme kısıtlamaları yalnız ve dnd-kitle etkinleştirir Aktivasyona ulaşan herhangi bir basının tıklamasını bastırır, hangi olurdu Navigating'dan bir nav seçeneğine her biraz-slow tıklayın.
· kamo-marketing
Index the collection detailed pages in 19 more languages
Senkronizasyon sona erdi, bu yüzden, hiç bir şekilde ortaya çıkan ~2,400 detay sayfası İngilizce vücut kopyası şimdi gerçek çevirilere sahiptir ve indekslenebilir. Tedd Tüm 21 yerel arasında: koleksiyonun% 0.0 ile 8,8 arasında her bir toprak İngilizce ile aynı değerler, domuzlar dışında ve tam olarak 100.0% – bu iki Hiçbir sağlayıcı yok, bu yüzden TranslateService kaynak metnine geri döndü ve run İngilizceyi başarı görünümü altında yazdı. COLLECTION CONTENT CitiesES bu nedenle türetilmiştir: her reklamveren Yerele eksi, no-provider set. sw, sadece ayrıntılı sayfalar hakkında hiçbir aşamaya devam ediyor - Baz paketi gerçek Swahili, bu yüzden statik sayfaları indekslendi - ve ta ki Hiçbir robot yönergesi almaz, çünkü zaten İngilizceye Orijinal ve en üstteki herhangi bir endeksli iki çelişkili sinyal gönderir Bir içerik parçası.
· kamo-shared-library
Uyumluluk matrisi için Per-member overdue rollup
HR Genel Bakış'ın matrix dalları "row.overdue > 0", ama yasal ve yasal ve Eğitim ruloları bu alanla 0'a zor kodlanmış - bu bir şube Hiçbir zaman alınmaz, bu yüzden bu iki alan sadece amber veya yeşil gösterebilir ve "En kötü ilk" de üretildi. (Örnek, statü) histogramı buna cevap veremez: At nedeniyle yok. Her Şey repository, predikate'nin karakter-for-character olduğu bir gruplandırılmış sayıyı kazanır. One in countOverdueForOrg, artı GROUP BY takımMemberId. Predicate'yi Paylaşmak per-member rakamları yukarıda verilen veya üst düzey saymalara ne verir? Onlara. Sorgu yöntemleri sadece. Hiçbir varlık değişikliği, DDL değil, sürüm 1.5.0 kalır. Callers açık sete sahip olmaya devam ediyor ve ikisi aynı değil: yasal geçiş HAR STATES, eğitim REMINDABLE STATES'yi geçer. AWAITING GRADING açık ama Üyeye hiçbir şey borçludur ve aşırı saymak yasalı yeniden üretecektir modülün AWAITING OTHERS bug, haftalar geç kaldıkları zaman üyeleri anlattı, Sonsuza dek.
· kamo-internal
Genel Bakış sekmesini diğer dört üzerinden bir rapor olarak oluşturun
Tam geniş raporlama konsolu: masthead readout, dört sekme sütunları, İhtiyaç azaltıcı, işgücü uyumluluk matrisi ve bir aktivite Demiryolu. Sadece okuyun - her eylem kendi sekmeye derin bir bağlantıdır.
· kamo-internal
Genel bakış dikkat, uyumluluk matrisi ve aktivite demiryolu
memberNames kaynakları /api/güvenlik/members / isimleri kısa tahmin edilenden ziyade .../org- yapılandırılmış şekli: veyag yapılandırılmış hiçbir zaman bir üye listesine geri dönmez (Okula birlikte onaylanır) YasalPackageDialog.tsx ve EğitimAssignDialog.tsx, hangi parse sadece bölümler /jobTitles Bundan sonra, /members/names zaten id-to-name kararı için inşa edilmiş son noktadır ve Zaten ipotekAppsApi.memberNames() ile aynı şekilde kullandı.
· kamo-internal
Genel Bakış masthead ve dört sekme

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