İçeriye geçin
KAMOUniverse

Değişiklik Günlüğü

Yeni ne var?

Gemideki her iyileştirme.

  1. · InitializerService

    Bir takım üyesine bir yönetici verin

    Üye team member'a eks the ID, raporlama için değiştirilebilir bir öz-reference çizgi. Hiçbir şey tamamlanmadı: Hiçbir yönetici tam bir cevap değil, her ikisi de en üstte grafik ve herkes için sadece tayin edilmedi. DROP DEFAULT yük taşıma ifadesidir, ADD COLUMN değil - ddl-auto: update İlk önce sütun yaratır. Üyeliğe bir katılma sütunu, kim kimliği INT8 DEFAULT benzersiz rowid(), varlık sütunDefinition'ı oluşturan sürece bu varsayılanı devralır, ki bu da hangi varsayılanı alır. rastgele bir yönetici id ile mevcut her sırayı damgalayacaktı. Ev sahibi ve kendini kınayan Subaylar, varsayılan bir sütunun zaten yazılacağını açıkça açıklıyor.

  2. · InitializerService

    Nested bölümler için DEPTS.PARENT DEPT ID ekleyin

    Nullable with no backfill - null means top level, which is what every existing. Bölüm ve çoğu kalacak. Açık bir UUID ile açık bir DROP DEFAULT. Bölümler anahtarı UUID DEFAULT gen random uuid() ve bu varsayılan devralan bir FK sütunu Mevcut her yerde rastgele bir ebeveynle damgalandı, hepsini yetim ve Takip eden kısıtlamayı başarısız edin.

  3. · SecurityService

    Ebeveynler departmanını oluşturma ve güncelleme yoluyla dinleyin

    BölümHizmeti şimdi sekiz pozisyonsal tartışma yerine DTO'yu alır, Böylece ebeveyn aynı tipte dokuzuncu olmak yerine ödeme yüküne katılır. dizeler. Org scoping on the mutating endpoints değişmemiştir; ebeveynin kendi onancy döngü korumanın yanı sıra hizmette hayat kontrol edin.

  4. · kamo-internal

    Bir ebeveyn picker ile bir org grafiği olarak bölümler çizin

    Bölüm sekmesi düz bir listeydi, bu yüzden Operasyon > Müşteri Başarısı > Onboarding bunu söylemenin bir yolu yoktu ve onu görmenin bir yolu yoktu. Add/edit, isimle yerleştirilen bir Ebeveyn bölümü seçer, çünkü ebeveynlikdir Operasyon yerine yapısal. Bu, ağacı formda sunar ve devre dışı bırakır Bölüm kendi artı her şey onun altında - bunlar tam olarak seçimler sunucu reddediyor ve her zaman başarısız olan bir seçim sunmak onu sunmamaktan daha kötü. Liste bir org-chart omurgası haline gelir. Seviye başına bir demiryolu sütunu, her tam olarak bir ikon Geniş bir şekilde, bu yüzden ebeveynin çipinin merkezinde bir sıranın zayıf toprakları, bunun yerine yakınlık yerine Bu; son bir çocuğun demiryolu, devam etmek yerine köşede durur, ki bu ne şeydir Indents saymadan görünen bir şubenin sonunu yapar. Hücreler dikey taşımıyor . - raylar her satırda hem kenarlara ya da çizgi molalara ulaşmak zorundadır. Derinlik tint ve tip ağırlık yoluyla okur, çip büyüklüğü değil, çünkü üniforma cipsi ne şeydir Demiryolu geometrisini tam olarak yapın. Köşe başlıkları bir doned bar üzerinde Operatör Etiketler haline gelir, Markayı göz ardı eden sert kodlanmış mavi-50/indigo-50/gray-900'i değiştirmek. Ağaç binası bölümTree.ts'ta yaşıyor, bu yüzden garip vakalar bir yerde olmalı Test edildi: Bir ebeveyn, bir çocuk altından silindi, yerine üst seviyedeki ilk seviyede Vanishing ve masaya ulaşan bir döngü sayfayı asmak yerine oluşturur. Başarısız kurtarmalar şimdi sunucunun kendi açıklamasını rapor eder. 4xx vücut düştü Durum hattının lehine, bu "a departmanı kendi olamaz ebeveyn "Bad Request" olarak adlandırılır.

  5. · kamo-shared-library

    Bir bölüm bir ebeveyn bölümü altında oturalım

    Bölümler düz bir listeydi, bu yüzden Operasyon > Müşteri Başarısı > Onboarding bunu söylemenin bir yolu yoktu. Bölüm, opsiyonel bir kendini teşvik eder ebeveyn; null hala üst düzey anlamına gelir, bu da her sıranın ne kaldığıdır. FK sütunu Açıklama = "UUUID". Sol, Hibernate kopyaları birincil anahtarın tanımı - UUID DEFAULT gen random uuid() - FK, bu yüzden bir ddl-auto, rastgele bir ebeveynle her satırda bir DEPTS puls üzerinde çalışır Başarısız olan bölüm ve ADD CONSTRAINT'ı eşleştirin. Ebeveyn atama sadece seçici değildir: öz ebeveyn, döngüleri ( önerilen ebeveynden yola çıkmak, bölüme ulaşmamalıdır taşındı), başka bir organizasyonda bir ebeveyn ve bilinmeyen bir idda hepsi reddedilir. Bir bölüm çocuklarını kendi ebeveynine teşvik ediyor, yerine kendi ebeveynine Onları bir dangling noktasının arkasına çevir. **************** Şimdi DTO'yu sekiz yerine ele alalım Pozisyonel argümanlar, dokuzuncu değerinden kaçınmak için yapılan şey budur.

  6. · kamo-internal

    To/Cc/Bcc alanlarını üç sıraya yükseltin, sonra kaydırın

    Kombine araç penceresindeki alıcılar, şimdi tek birrap sırasıydı, bu da olması gerekiyordu Okumak için yan yollar sürükledi ve pencere 360px geniştir ve tekrar edilemez, bu yüzden üçüncü bir adresi zaten görüş dışındaydı. Şimdi sarmalıyorlar: alan bir kuyruk büyür bir anda cips olarak genişliği doldurun, üç satırda durun ve dikkatlice geçmişi incele Laybar. Bir çip eklemek girişi takip eder, böylece bakım görünür kalır. Ekran kapağı, ölçülen çip yüksekliğinden hesaplanan bir piksel max-height, bu yüzden her zaman her zaman Bir satır sınırında kesintiler - en üst düzey bir besteci ve ölçeklenmiş bir tarayıcı fontu her ikisi de hareket eder. Etiket ve kontak düğmesi ortadaki yüzen yerine ilk sıraya pin Üç yatak bloğu. Şimdi anlamsız “mode’ prop ve yatay drag-to-scroll için var.

  7. · kamo-internal

    Make org creation survivable, and offer every branding option up front

    The wizard could fail a customer in ways nothing on screen explained, and it asked for a fraction of what Settings → Behavior & Labeling exposes. Creation reliability: - Logo and background uploads went to /api/imaging/upload with assocType "ORG_LOGO" — not an ImageAssocType constant, on an endpoint whose assocType is a numeric ordinal. The parser swallowed the failure and filed them as MY_DOCS, so branding silently never existed. They now use the real org branding endpoints, one call per logo slot. - The creator's phone/email PUT could only ever 403: that endpoint requires session-org to equal the member's org, and the session is still on the parent. Moved onto the create payload. - Post-create warnings were collected, passed to /setup/dns as a query param, and read by nothing. /setup/dns now renders them. - Submit was never re-validated, so clearing the name after reaching Review created an org with a NULL title and alias. - deriveConfigType read the branch type's ALLOWED age ranges instead of the selected one, stamping KIDS_CLUB on adult businesses — which disables email and phone account recovery. - Colour variants were never derived, phone inputs were unbounded against VARCHAR(20), a stale age range 403'd on submit, and a taken domain surfaced as a bare 500. Behavior & Labeling parity — everything except the two mortgage identifiers: website, company contact email, white-label identity, all seven social profiles, the eight custom labels with their inherit-from-parent flags, default language and currency, private-org visibility, background watermark, the three brand-source selectors, and all four logo slots. Two new steps (Labels, Preferences); timezone moves to Preferences beside its siblings. All of it rides on the create payload, not follow-up calls: PATCH /org/{id}/branch-titles has the same session-org check that broke the member update, and one transaction means the answers either all land or none do. Guidance and skippability: Every input has help text grounded in what the value actually does. Only Type and Basics carry required fields, and that is now stated on the step header, in the stepper, on the nav bar, and in the sidebar — with "Skip for now" on every optional step. Also: settings no longer destroys org phone extensions on save, /api/generate-background is no longer an unauthenticated billable proxy, and the org-by-id proxy stops corrupting int64 ids.

  8. · kamo-internal

    Editörün geri düğmesine üyenin nereden geldiğini gönderin

    Duvar kağıdı editörü ölü bir sondu - hiçbir şekilde değil ama nav demiryolu. Her iki girişi de Puanlar (Ev top bar çipi ve üye profili Başlık kısayolu) şimdi damga Onların kökeni href, ve editör bunu bir Back hap içinde çözer kaş sıra: ev panoya döner, bir profil üyeye döner Hangi sayfaydı, damgalı id kullanarak varsaymak yerine, Duvar kağıdının sahibi. Bu üyenin profiline damgasız bir URL geri döner. Id'den opak-id şekline karşı kontrol edilir, böylece bir zanaat URL geri dönemez Anahtar bir yönlendirmeye düğme. Okumaya ihtiyacı var SearchParams, bu yüzden sayfa Suspense sınırı App Router gerektirir.

  9. · kamo-internal

    Üyenin profili adı altında birincil posta kutusu göster

    Birinin birincili olarak düzenlenen bir posta kutusu, kişinin adresidir, bu yüzden tavsiye "Satış Masası" olarak - ne olursa olsun iptal edildi - Kişi yerine posta kutusu isimleri. Autocomplete satır ve alıcı Her iki kart da aynı alanı okudu, bu yüzden ikisi de birlikte yanlıştı. Şu anda birincilMemberName postabox'ın gösteriminden önce alıyor Ve kişisel bir posta kutusu için MemberName tayin etti, tek atanması onun sahibi. Aliases ve paylaşılan posta kutuları belirli bir kişiye ait değildir ve devam eder Kendi adı. Tercih bir per-kaynak listesidir, bu yüzden bir geri dönüş bu değil Yine de alanı sadece forumu görüntülemek için geri gönderdi.

  10. · EmailService

    Üyeden sonra birincil posta kutusu adı

    Bir posta kutusu biri birincil olarak tutuyor, bu yüzden kişinin adresi, bu yüzden posta kutusu zamanında etiketlendirilse onu sunmak - "Satış Masası" sadece Jane Doe'nin olduğu bir kutu için - kişiyi yanlış Autocomplete ve alıcı kartında. ListeMailboxes artık taşıyor **************** üye için üye için org address directory'in tercih ettiği birincil görev, üzerinde tercih eder. postabox'ın kendi ekranıName. Sadece birincil sahibi sayılıyor: bir posta kutusu biri Sadece onların değil ve kendi adını tutuyor ve ayarlar Masa hala FormName'i her şekilde gösterir. Adım çözümü, paylaşılan bir yardımcıya AccessibleMailboxService'tan hareket eder Bu yüzden iki yüzey, bir üyenin ne olarak adlandırıldığı konusunda aynı fikirde değildir.

  11. · kamo-internal

    Ayarlarda komisyon sayfaları kayıt edin nav ve iniş sayfası

    Sekmeler var ama onlarla bağlantılı hiçbir şey yok. **************** Is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is Bu repo'da zaten dikkat çekici örnek: kartı olmayan gerçek bir sayfa, sekme ve sekme yok nav girişi yok, sadece URL'yi yazarak ulaşılamaz. Muhasebe ve Finans kendi bölümü ve kendi nav konusu, ikiden fazla Hesabım altındaki girişler. Sub-options kendi kapısını taşımaz, bu yüzden bu kadar katlayın Hesabı finanse etmek için açık bir şekilde zorladı ve onları gösterdi. Kullanamayacakları dört bağlantı - aynı akıl yürütme bu phi-compliance out of of Güvenlik konusu. Kendi bölümde finans sekmeleriyle, Hesabım Kapı sadece CONFIGURE SYSTEM'e geri dönüyor. Kişisel Komisyonlar kartı, bir takım üyesi olmak için şartlandırılmıştır. sekmenin kendi kapısını yansıtan. Oluşturmayacak bir sekme açan bir kart Hiçbir karttan daha kötü.

  12. · kamo-internal

    Üye komisyonlar sekmesi ve iki finans hesabı sekmeleri

    Üye sekme (kendi kendine sadece, takım üyeleri sadece): denge + liderlik, görevlendirildi fırsatlar, ödeme kurulumu ve geri çekilmeler. Hesap ayarları Organizasyon kazançları Organizasyon Stripe ve Komisyon Processor. Üye sekme, Ben ve üye TYPE'dir, asla doğru değildir. checkRight aktif tanrı modu altında her şey için doğru döndürür ve sayfanın DiğerMemberAccount OR'ları, ilgili olmayan haklarda da bekleyebilir **************** - bu yüzden doğru tabanlı bir kapı burada bir tane gösterecek Üyenin bakiyesi ve banka detayları bunlardan herhangi birini tutan herkes için. 'My Payouts', 'My Bank' değil. Üyeleri neredeyse asla bir Stripe hesabı yok ve olamaz Eğer yaparlarsa bir tane ekleyin: OAuth read write, başka biri tarafından kontrol edilen hesabı reddeder platform. İşverenin platformu sadece bir ödeme hesabı yaratır ve Kimliklerini doğrular. Panel, Stripe'in topladığı şeyi belirtir, bu Stripe'in sahip olduğu Onlarla hiçbir destek ilişkisi yok ve bu para yaklaşık 6-8 takvim gün sürer gelmek için - daha sonra keşfetmeleri gereken hiçbir şey. Organizasyon Stripe yönlendirilen bir kontrol listesi, bir form değil, çünkü Stripe'nin API'si yok Bir Connect platformu olmak için. Adım 6 bir ipucu yerine tam bir uyarı taşır: Stripe bakiyesinin otomatik olarak ödediği bir org komisyon yüz yüze kaybeder Yayın işi koşmadan önce ve her transfer sonra yetersiz fonlar için başarısız olur Bunu açıklamak için hiçbir Stripe olayıyla. Para sona erdirmek için bir dekimal STRING son ve asla Number()-ed değil Renk. Olumsuz miktarlar gerçek - bir boşluk komisyonu bir çizim haline gelir - ve codebase bir tane göstermek için bir kongre yoktu, bu yüzden hatayla birlikte ortaya çıkıyorlar Açık bir eksi ve bir çekme çipi. Sub-tabs senkronizasyonu ?sub=; AyarlarView'in sahibi mi?tab= ve her sekme değişikliği üzerine yeniden yaz. BFF rotası var çünkü KomisyonHizmeti ClusterIP-sadece - olmadan Tüm özellikler 404'ler her hizmet sağlıklıyken ve her bina yeşildir.

  13. · kamo-internal

    Hareket edebileceğiniz Folders, seçtiğiniz posta

    Onun eylemleri için herhangi bir klasörü doğrulayın. menü başlığı krom değil - Dosyayı adlandırıyor ve canlıyı kapalı gösteriyor, bu yüzden Mark tüm okur ve okuyor Boş klasör, daha sonra yerine tıklamadan önce yargılanabilir. Uygulayamayan eylemler, sebeple devre dışı bırakılır (göstermeler). Tamam, klasör boş, yerleşik klasörler isimlerini tutmak yerine) Posta için inşa edilen bir onay aracılığıyla boş ve delete rota. Uygulama çapında MUI OnayDialog her türlü meydan okuma kelimeyi talep ediyor Zaman; kurtarılabilir bir eylemde bir meydan okuma sadece insanları tipe trenlere Uyarılar yoluyla. Böylece kapı postayı yok eden iki kişi için ayrılmıştır Doğru - bir klasör ve boş Trash - ve her ikisi de adı Sonuç tam olarak: Her şey Trash'a hareket eder ve bunu söyler. Katlayıcılar sürüklenerek, üye başına, paylaşılan uranyumlarda depolanır Masa böylece düzenleme onları cihazlarla takip eder. Sipariş bir tane klasör isimlerinin düz listesi: kardeşler sadece birbirlerine karşı karşılaştırılır, Bu yüzden bir liste her seviyede sipariş eder ve yeniden adlandırılan veya hareket eden bir klasör Bir ağacı bozmak yerine doğal konumuna geri dönün. Drops Seviyeler göz ardı edilir - bu posta sunucusunda yeniden ebeveyn olacaktır, Bir tür değil. Postayı seçmek artık başka her yerde çalışır: Bir dizi için çeviri, bir tane seçmek için demir, cmd/ctrl- click Ve avatar her sırayı vergilendirmek yerine bir çek kutusuna dönüşür Kalıcı bir çekbox sütunu ile. Eylemler yüz yüzen bir barda sürüyor Listede ve seçimle ayrılır, bir striptiz yerine Wedged Listeyi her akışta kaldıran kroma. Ayrıca: Yönetim Katlayıcıları ayaklandı - Katlayıcıların yanında düğme Zaten klasörler yaratıyor – ve yenileme düğmesi nihayet meydan. CSS bunu kendi başına yapamazdı: bir flex sırada ana boyut çözüyor Paralellik öncesi:stretch, öğeye yüksekliğini verir, bu yüzden yön-square vardı. Bir genişlikten elde etmek için yükseklik yok. Bunun yerine sırayı ölçer.

  14. · EmailService

    Tüm bir klasör üzerinde hareket, sadece kaydırdığınız sayfa değil

    Mark all reading and Boş klasör, müşteri çapında operasyonlardır Altlama uids tarafından ifade edemez: Sadece hiç sayfası tutar Açıklamalı, bu yüzden 4,000 ile bir klasör 80 tur ve gezileri alır ve Hala asla yüklenen her şeyi kaçır. KaterManager setFolderSeen ve emptyFolder kazanır. IMAP yolu dönüyor Bir sunucunun çağrısında bayraklar ve aslında mesajları dokunur Hedef devletle aynı fikirde değil - bir battaniye setiFlags bayrakları yeniden yazmaktadır server zaten sahip ve her bağlantılı müşteriyi hiçbir şey için yeniden bir araya getirir. Graph'ın hiçbir değeri yoktur, bu yüzden klasörü ve PATCHes'i yürür; Filtre gider olduğu gibi küçülüyor, bu yüzden ilk sayfayı geri oku $skip ile gezin, bu da önceki topluun üzerinde adım atacaktır Sonuç kümesinden çıktı. Onun süpürücü tavanı asla sessiz değildir. Boşluk Trash özel tutar: Trash gerçek, her diğeri için genişliyor klasör içeriğini Trash'e taşır ve geri alınabilir kalır. Graph's DELETE Zaten bu şekilde davranır, bu yüzden hiçbir klasör adı özel-casing orada. Her ikisi de her ikisi de endpoints, kaç mesajın nasıl taşındığını geri döndürür, böylece UI "marked 240 "Yapmak"tan okuyun ve sadece bir değişim olayı yayınlayın Aslında bir şey değişti.

  15. · SecurityService

    Komisyon özelliği için Browser-face r

    Oturumu geri alın, yazarlayın ve org ile KomisyonHizmetine ve Üye o seanstan damgaladı - çağrıcıdan asla. İşte bu Tek yer hakları kontrol edilir: Güvenlik Hizmeti herhangi birRequest().permitAll() Elli bir per-handler auth ile, bu yüzden çekini unutan bir son nokta Ve halka API rölesinden ulaşılabilir. Bir tane yerine üç hak, bu yüzden görevlerin ayrılması ifade edilebilir: tek bir tekle Bir komisyonu ilgilendiren her şey ödemeyi de serbest bırakabilir ve iptal edebilir Bu onları yakalamak için var. Para-moving ve ödeme-destination eylemleri, taklit altında sertleşmiştir. Impersonation mintss a full session as an icon member, so without that reddedilme Bir tanrı yöneticisi biri olarak girebildi, kendi bankalarında ödeme yapabilir, çekilir, ve Tutarları iptal edin. Organizasyon sahibi kapalı bir tutucudur. Bir marka yeni hakkı için verilir Gün boyunca kimse dağıtmaz - özelliği çevirebilecek herkese dahil - Bu yüzden bir mal sahibi olmadan, özel gemiler yurtsever ve ulaşılamaz. /me/opportunities burada röleden ziyade servis edilir, çünkü Güvenlik Hizmetinin kendileri Fırsat modeli; Komisyon hizmetlerindeki bu depolayıcıları da kaydetmek Bir paylaşılan-library modeli iki yazar verirdi. Partinin bölünmüş satırları sendikalar İlk ajan oldukları rezervasyonlarla, çünkü ajanın kendi Komisyon bölünmez ve sadece bir tarafını sessizce kontrol eden bir sorgu üretir Bir üyenin kazancının yarısı.

  16. · kamo-shared-library

    Bir üyenin komisyonu kendi komisyonları için bölünmüşler bul

    Org-skod tek başına üyeye anahtarlanmak yerine: ORG ID bunu tekrarladı Masa böylece bir satır asla boş bir şekilde okumaz ve görmezden gelen bir finder sessizce bunu geri alırdı. Sadece "yoğumların yarısı" - rezervasyon seviyesi komisyonu ait birincil ajana göre ve hiçbir bölünme satırını yapmazlar, bu yüzden çağrıcılar bunu bir araya getirmelidir Bu ajanın kendi rezervasyonları ile. Yöntemde Belgelendi, böylece bir sonraki caller Sessiz bir şekilde bir üyenin kazançlarının yarısını gizleyen bir görüş gemi değildir.

  17. · kamo-internal

    Üye yüzeyi gerçek bir kamo veri ağı yapın

    Üyenin paketleri hiçbir hareketle bir kart listesiydi, bu geri kalanının nasıl olmadığı kamo görünüyor. Bu şimdi ev AG Grid: Pending and Completed sub-tabs ?sub=, server-side paging end to end (sayfa/size/status'a ulaşmak DocsService 200 kişilik bir kapamak yerine, paneyi sıralarına kadar doldurur, Ve hiçbir başlık - ayarlar sekmesi zaten onu adlandırıyor. Durum gri bir çip olarak yerine bir bakışta okur: çünkü bir tarih kendi kendini taşır Aciliyet ve bekleme-on-başkaları ve içerik değiştirme, bunun yerine yasal devletlerdir. Gizli olanlar. Hareket kısıtlanır ve kullanıma kapalıdırRedükMotion.

  18. · kamo-internal

    Üyenin adını “Merhaba” eki olmadan göster

  19. · DocsService

    Üye atama listeleri için Server-side paging

    Üye yüzeyi MAX SIZE koşulsuz olarak istedi ve sonucu dilimledi Tarayıcı, bu yüzden bir sayfa gösteren bir ağ zaten bir bütün indirdi Onu inşa etmek için iş tarihi. Her iki üye okuyucu da artık sayfa/size ve Veritabanında sayfalar listesi. Spec.status (bir enum) Spec.statuses (a Set) ve tel parametresi kalır "status", şimdi bir CSV kabul ediyor. Bu nokta: üye ızgara bir soru sorar BUCKET - hala işe ya da dört terminale borçlu olan üç açık STATES - Ve tek değerli bir filtre ya üç yuvarlak yolculuk olmadan ifade edemez Sayfa. Bir token pars to a-element set, bu yüzden HR ızgaranın mevcut Durum=EXECUTED tel üzerinde ihtiyatlı ve müşteri değişikliğine gerek yok. An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An An Bir listedeki bilinmeyen token, token'ı isimlendiren 400'dür, asla sessiz bir şekilde düştü Filtre: Her şeyi gösterirken filtrelenen bir uyumluluk ızgara En kötü mevcut sonuç. WPPage/clampSize maruz kalır, böylece üye okuyucular SAME kuralı aracılığıyla gerçekleştirilir MAX SIZE'yi geçmek yerine HR ızgarası olarak, bu nasıl bir "sayfa" endpoint sessizce sınırsız bir tane haline gelir. ListeMine, kıkırını hiç beklemez Yeniden teşvik etmek, bu yüzden tırnak bir kez var. Authorization is touched and the tests pin it: member endpoints stay on the ÜyeGuarded() + YasalAssignmentOwnership, HR uç noktaları korumada kalır() + YasalPackageAccess, ve üç yeni @Request params isim tarafından iddia edilir Tam statü / sayfa / boyut – tüm neden bu yüzey güvenli değildir Bu bir kişi adına. Hiçbir şema değişikliği yok. Yeni bir varlık yok. mvn -o test: 391 test, 0 başarısızlık, 0 hata ( 379).

  20. · kamo-internal

    Kişisel E-posta Bildirimleri kartı Bildirims sekmesini değiştirir

    Her iki anahtar da aynı şekilde şifre kartı olarak My Profile'a taşınır: bir kart, bir ikon karo Ve satır başına metin yardım et ve sadece sessiz saatler olduğunda görünen bir teneke. No header Edit düğme - anahtarlar kendilerini kurtarır, debounced, tam olarak sekmenin yaptığı gibi. Kart postanın nereye gittiğine yol açıyor, çünkü bu kısım üyeler yanlışlaşıyor: farklar yanlıştır: ABD hesabına, kart isimlerinin hangi posta kutusuna gönderileceği ve bu posta kutusuna asla gönderilemez Organizasyon onları görevlendirdi - okumak için imzalamaları gereken bir posta kutusu, bu çok şey Açıklama onları yapmak için söylüyor. Güvenlik Hizmeti sadece üyeye bu adresi döndürür Buna ait, bu nedenle not, mevcut değilse isimsiz bir forma geri döner. TeamMembers sadece: Notifier iç sohbet ve destek biletlerine hizmet eder, hangi bir Üye yapar İçinde çalışmıyor. Self-only yanı sıra, tercih rotası beni takip ediyor ve başka birinin üzerinde Bu anahtarlar, yöneticinin kendi sessiz saatlerini düzenleyebilir.

  21. · SecurityService

    Kullanıcı hesabı e-postasını kendi üye profilinizde

    Profilin Kişisel E-posta Bildirimleri kartı, adresi kaçıran-mesaj bildirimlerini adlandırmak zorundadır Aslında ulaşır ve bu adres kullanıcının hesabıdır - bunun yanında “email” alanı değil, hangi Posta kutusu bu organizasyon üyeyi tayin etti. Sadece seans kendi üye sırasını okuduğunda geri döndü. Kişisel bir adres bir şey değildir Bir yönetici bir meslektaşın profilini toplamalı ve başka bir caller'in bunu istemesi için bir nedeni yoktur.

  22. · kamo-internal

    Muhasebe ve Finans izni grubu ve finanse edilen erişim

    Access Security and Administration grupları sadece GüvenlikRoleManager'da var Inline name list list, so JobTitleManager, DepartmentManager and RolesPermissionsTab Her hizmet türünde hemen hemen hemen hemen hemen her türlü. Dördüncü bir kopya eklemek yerine, Grup tanımları Gruplara izin vermek için hareket eder.ts ve tüm dört editör onları okur. Genel İzin, önemli olanın nedenidir: yalnızca!serviceType'da filtreleme Bir kez genel olarak bir kez ve bir kez kendi başına bir kez arabalı bir şekilde sağlanacaktı Bölüm, iki bağımsız toggle ayarlayın. Üyelik İzinleriTab kasıtlı olarak kısaltılır - Genel İzinleri listesi Sert bir kodlanmış okuma / yazma/delete/admin alay, gerçek haklar verileri değil. / says/account ve iniş bölümü şimdi de finans haklarını kabul ediyor. Sadece MANAGE ORG FINANCES tutan bir kontrol, aksi takdirde yönlendirilecektir Düz arka / sıralamalar; sadece ikisinden biri sayfayı terk edecekti URL tarafından ulaşılabilir ancak nav'de görünmez.

  23. · InitializerService

    Komisyon için Göç ve Stripe ödeme masaları

    Mirrors com.kamo.z.shared.commission. ddl-auto bunları bunlardan yaratacaktır Yine de bir not; açık DDL ev sözleşmesidir ve ne yapar Bir düzine varlık sınıflarında yerine bir yerde incelenebilir. COMMISSION STRIPE WEBHOOK EVENT (ORG ID, STRIPE EVENT ID), üzerinde değil (ORG ID, STRIPE EVENT ID) Olay yalnız boş. Her organizasyon kendi Stripe Connect platformunu çalışır, bu yüzden event ids only have to be unique within one account - LOAN STRIPE WEBHOOK EVENTS Çıplak iddadaki anahtarlar ve sadece güvenli çünkü bu özelliğin tek bir Stripe hesabı vardır. Prod'a karşı uygulamalı; tüm dokuz masa ve her benzersiz koruma mevcut.

  24. · SecurityService

    Finans haklarının her şube modeline taşınması

    Üç komisyon hakkı daha önce bulunmayan bir özelliktir, bu yüzden NEW RIGHT SEEDS kasıtlı olarak onlar hakkında hiçbir şey söylemiyor - bu mekanizma bir an taşır Mevcut hibeler asla sessiz bir şekilde REMOVES erişimi sağlamaz ve onu kullanarak Burada asla sahip olmayan insanlara para çekmek için güç sağlayacaktır. Bunun yerine ihtiyaç duydukları şey, var olmayan bir rol tipi varsayılandir. İki bölüm: - şablonSeedSetting Çünkü finanse etmek için bir VarsayılanRoleType aşırılık ADMINISTRAT'daki haklar sadece. GRANTED, FORCE GRANTED: Bir veyag üyelerinden bir yöneticiden hemen bir para geri döndürebilir Profil ve FORCE GRANTED her daha sonra şelale tabakası. -RoleTypeTemplates, eksik olan modeller için ADMINISTRAT sırasını yaratır. Varsayılan satırlar tembeldir, sadece biri bir modelin varsayılanlerini kurtardığında oluşturulur, ve senkronizasyonGüvenlikModelRoleRights bu tabloyu yapar - bu yüzden bu olmadan Varsayılan olarak, asla ulaşılamayanlar hariç her şube modeline uygulanır. Sessizce, ve bunlar büyük olasılıkla as-is'e güvenme olasılığı yüksektir.

  25. · kamo-shared-library

    Takım üyesi komisyon liderlik ve Stripe ödeme domaini

    Com.kamo.z.shared.commission: bir append-sadece imzalanmış bir lider, per-member Eş zamanlı geri çekilmeleri serileştirmek için saf olan denge sırası, Komisyon Processor toplu / line-item modeli ve per-org Stripe Connect Ödeme varlıkları. Üç karar tutmaya değer: - The leadger is append-only and implements it in Java (@PreUpdate/@PreRemoveveve at. @Column(updatable=false) sadece Hibernate omit'i bir sütun haline getiriyor UPDATE, yazı başarısız yapmaz, bu yüzden bir merdiven düzeltmesi görünecek Başarılı olduğu gibi. Düzeltmeler geri dönüyorlar. - Beklenmeyenler EFFECTIVE AT üzerinde bir sorgu, bir devlet makinesi değil. 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 Bugün bir sonraki ay olgunluk hareketi ile bugün yayınlanan komisyon, onun için mevcut Kendi başına, bu yüzden bekleyebilen ve beklemeye yetecek para yok. - COMMISSION MEMBER BALANCE, inşaat tarafından yönetilme ile geri dönüyor. Bu Var çünkü bir denge, UPDATE için bir agre ve SE kilitleyemez Toplam; PESCIISTIC WRITE almak için bir satır olmadan, iki eşzamanlı Her ikisi de kendi yetersiz kontrollerini geçer. Para NUMERIC (19,4) boyunca, veyag idslar düz INT8 sütunlardır. Ortaklıklar o kadar finansal kayıtları canlı üye churn ve ORG ID tekrarlandı Çocuk sıralarına göre, bu yüzden tek bir makyaj getirilemez. Ayrıca finans yüzeyi için üç hak (187-189) ekliyor. Ayrılıyorlar, Görevlerin ayrılması açıkça ifade edilir: doğru olan bir kişi ile Komisyon ayrıca ödemeyi serbest bırakabilir ve mevcut olan yerleri iptal edebilir Onları yakalamak. Servis Türü kasıtlı olarak çıplaktır - yeni bir Hizmet Türü grup olurdu Onlar otomatik olarak ama onları hiçbir editörde yapmazlar, çünkü uygulama bölümleri sadece sadece org'un bu uygulamanın etkinleştirildiği zaman görünür. Schema KamoInitializer aracılığıyla uygulandı; tüm dokuz tablo prodd kamo uygulama kullanıcısı için tüm ayrıcalıklar ile.

  26. · kamo-internal

    Fold MFA şifre kartına girip Sign-in Güvenlik sekmesini bırak

    İki yer bir soru sordu – bu hesaba nasıl giriyorum – bu yüzden ikinci faktör şimdi yaşıyor Profilimdeki şifrenin yanında, bir kartta "Password & Multi Factor Authentication" ünvanını aldı. Kayıt akışı sekmeden çıkıp ******************** Kromsuz bu yüzden Bir sayfadan ziyade bir satır olarak ortaya çıkıyor: durum hapı, QR/secret ve kod adımlarını bir başlangıçta, Ve aynı izinsiz kurtarma-code dialog. Kart başlığı artık Edit düğmesine sahip değil İki bağımsız eylemi var - şifre sırasının kendi "Değişim şifresi" var, MFA kendi kendi kendi kendi kendi kendi sırasını kendi sıraladı "Başla" MFA sadece sekmenin nedeni için kendini kalır: SecurityService's MFA endpoints kullanıcıyı çözüyor caller'in oturumundan ve hiçbir kullanıcı parametresi al, böylece başkasının profilinde bir yönetici başkanın profilinde bir yönetici olacaktır Kendi gerçekleyicilerini kayıt edin. Şifre değişikliği daha geniştir (MANAGE MEMBER SECURITY, God) Bu satır sadece orada verir. Şifre devleti, yolda ölü bir şube düzelten Şifre GüvenliğiCard'a taşınır: eski kart İngilizce emellerine karşı * parolaError ile karşılaştırıldığında, bu yüzden "Current password yanlış" Asla ait olduğu alana ulaşmadı. Hata şimdi alanını taşır.

  27. · kamo-internal

    Org'un kendi posta kutuları, aliaslar ve paylaşılan posta kutuları

    Alıcı otomatik olarak sadece temasları ve adresleri baştan çıkardı Sent klasörü, bu yüzden organizasyonun kendi adresleri – her şey yönetildi **************** - hafızadan türlenmiş olmalıydı. Yeni GET /api / e-posta servisinin arkasındaki dört e-posta kaynağına çıkıyor Bu sayfa ve bir adres listesi döndürür. Aggregated server-side çünkü Bu çağrıların her biri kendi anahtarını tüketiyor; tarayıcıdan o olurdu Dört OTK yuvarlak her seferinde bir besteci açılır. Her kaynak onun üzerinde değişir Kendi, bu yüzden sağlayıcının hala aliaslarını almadığı bir org. Liste hafızada önbellek ve yerel olarak eşleştirilir - ya da bu onlara sahip, bunlardan onlara sahip değil Binlerce ve anahtarstroke başına bir sorgu parametresi bir ağ turu koymak olurdu Tarayıcının ön önerileri zaten cevap verebilir. Org maçları bu nedenle boya Hemen temas ve Sent-folder aramalar hala uçuşta ve ve Onlar düşüşe yol açıyorlar: küçük bir kesin set ve bir iç adres Ayrıca posta kutusu olarak okumalı, iletişim kartı değil. Ayarlardaki posta kutuları önbelleğe düşer, bu yüzden yeni bir adres önerilenebilir Bir reload olmadan. E-posta servisinin üssü-URL ve ileri yardımçılar yakalama rotasından bu yüzden hareket ederler Yeni rota OTK'yı ikinci bir kopya tutmak yerine aynı şekilde taklit eder.

  28. · kamo-internal

    Bir posta kutusu görüşü ve tüm liste olan bir sütun

    Konuşma / Sınıflandırmak gitti ve her üye alır Klasik liste. Konuşma görüşü kendi listesini taşıdı, kendi parçası pane ve kendi API yüzeyi aynı okumanın ikinci bir yolu için posta - hepsi silindi, yerel yönetim modu ile birlikte Tarayıcı başına hatırla. Liste sütununun başlığı onunla gitti. klasörün adı, onun ikonu, Bunun altında açıklama ve yenileme düğmesi kromat altı remsiydi Yukarıda yükseklik isteyen bir liste ve klasör ağacı zaten diyor Hangi klasör açık. Arama ve filtre paneli klasöre taşınır sidebar, Folders etiketinin üstünde, bu yüzden liste sütunu hiçbir şey değil ama liste. Yenileme düğmesi posta kutusunun yanında döndürür kare: sıra ve yön-square üzerinde öğeler-stretch Yüksekliği değiştiriciyi takip eder ve genişliği yüksekliğini takip eder. O oturuyor Tek e-posta kutusu kartının yanı sıra, bir damladown olmadan bir üye Yenileme kaybetmez. Filtreler bir sütuna düşer - iki taraf tarafından seçilir 320px sidebar. Bir SMTP-sadece sağlayıcının bir klasör sidebar yoktur, bu yüzden orada bir tane var Arama paneli, yok edilmek yerine listeden kalır. Kaldırılan yüzeyler için Strings, 22 yerelden 22 yerelden uzaktır kamo-translation-dictionary (61fdfcf, ilk önce itti). threadDetail / / cc/noContent kalmaktan - liderlik iletişim sekmesi onları verir.

  29. · SecurityService

    Expose temas e-postası By-department

    Interaction Center, bir besteciyi ve bir besteciyi doldurmanın bir üyesine ihtiyacı var. Birini taşıyan tek uç nokta tek üye detay getirmekti - biri görünür sıra için istek. EmbEmail, üye sıralarında roster'a gömülüdür. Zaten yükler, bu yüzden buraya hizmet etmek hiçbir şey değildir ve N+1'i ortadan kaldırır.

  30. · kamo-internal

    Email a member straight from their row

    The row's action dock sohbet edebilir, buluşabilir ve bir profil açabilir - biri Yapamadığı şey bir e-posta başlatamadı, bu yüzden posta yoluyla bir meslektaşına ulaşmak Panelden ayrılmak, besteciyi açmak ve adresini yeniden kurmak anlamına geliyordu. besteci araç penceresini açan diğerleriyle birlikte bir posta düğmesine ekleyin. Üye zaten To alanında. Adres yolculukları sırasında By-department maaş yükü (EmbEmail üye sırasında, bu yüzden ekstra maliyetlere mal olur Soru) per-row detay getirmek yerine ve modül / sağ kapıdır Her satır yerine NavTopPanel'de bir kez çözüldü.

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