परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· AIService
प्रदाता लागत-स्तरीय / दृश्य passthrough + आंतरिक एक शॉट दृष्टि समापन बिंदु
AiProviderController read/echoes costTier + supportVision. प्रदाताRouting सेवा लाभ SelectVisionProvider(ऑर्गिड, टियर). ************* एक शॉट दृष्टि पूरा होने के कारण ऑर्ग के प्रदाता / एडाप्टर (कोई सत्र / आरएजी / उपकरण नहीं) का पुन: उपयोग किया जाता है। न्यू AiInternalController POST/api/ai/internal/vision (X-Internal-Auth, OTK-exempt) to service-to-service callers.
· MediaService
एआई ऑटो-टैग + ऑर्ग के प्रदाताओं (P3) के माध्यम से कैप्शन
सामग्रीAiController POST ************* स्वामित्व सत्यापित करता है, शॉर्ट-लाइव्ड साइन्ड मैटेरियल URL को मिंट करता है, और AIService की आंतरिक दृष्टि समापन बिंदु (ऑर्ग) को कॉल करता है AiVisionClient के माध्यम से अपने प्रदाताओं, लाइट टियर)। Lenient टैग parsing; असफल बंद अगर कोई दृष्टि प्रदाता को कॉन्फ़िगर किया गया।.
· kamo-shared-library
AiProvider लागत टियर + दृष्टि ध्वज (दो त्रैमासिक क्षमता अक्ष)
कॉस्टटियर (लाइट / मेडियम / HEAVY) को नए AiProviderTier enum के माध्यम से जोड़ता है। AiProvider. सक्रिय दृष्टि प्रदाताओं के लिए रेपो खोजक। कॉलम ALTER के माध्यम से AI PROVIDERS में जोड़ा गया।.
· EmailService
सर्वर-साइड "प्रदर्शन बाहरी छवियों" सहमति
ग्राहक-स्थानीय (स्थानीय भंडारण) को बाहरी-छवि पसंद की याद में बदल देता है एक टिकाऊ प्रति सदस्य रिकॉर्ड के साथ। नई दूरस्थImageConsentService (fail-soft reads so) संदेश अभी भी टेबल मौजूद होने से पहले काम करता है) + POST/api/email/remote-image-consent अनुमति रिकॉर्ड करने के लिए। पूर्ण संदेश डीटीओ अब दूरदराज के चित्र रखता है अनुमति (देखकर) सदस्य + संदेश-आईडी), एकल संदेश, धागे और साझा मेलबॉक्स में आबादी इसलिए ग्राहक अपने गेट को सर्वर से बीज देता है।.
· kamo-shared-library
ईमेलRemoteImageConsent इकाई + भंडार
सदस्य-स्किप किए गए रिकॉर्ड कि किसी सदस्य ने बाहरी (दूरस्थ) छवियों को प्रदर्शित करने के लिए चुना है एक विशिष्ट संदेश के लिए, Member id + सामान्यीकृत RFC संदेश-ID (अद्वितीय) द्वारा कुंजी। Email metadata सदस्य-scoped पैटर्न (फ़िल्टरRuleEntity) का पालन करता है। वापस सर्वर-साइड "डिस्प्ले एक्सटर्नल इमेज" वरीयता इसलिए पसंद पूरी रहती है उपकरण और सत्र। KamoInitializer अपने अगले रन पर तालिका बनाता है।.
· InitializerService
INVESTOR PRICE कॉलम को rate locks + loan pricing snapshots में जोड़ें
@Offerial इसलिए MLOS RCE वास्तविक गैर-पर निवेशक निष्पादन मूल्य रिकॉर्ड कर सकते हैं बाध्यकारी लॉक-ऑफ-रिकॉर्ड और इसके बाउंड उद्धरण के बजाय par-by-omission. Additive nullable; दर्पण रिकॉर्डिंग ट्रांसक्रिप्ट.
· kamo-shared-library
PriceLock + LoanPricingSnapshot
बाध्यकारी दर लॉक-ऑफ-रिकॉर्ड और इसके बाध्य उद्धरण ने केवल दर + लॉकडे ही किए; छूट / ओरिजिनेशन अंक छोड़ दिए गए थे, इसलिए कोर संस्थाएं PAR पढ़ीं जबकि वास्तविक मूल्यांकित संख्या ******************* मूल्य-टू-100 ऋणदाता के साथ केवल एमएलओएस साइड-लेजर MlosLockRecord.lockedPrice पर रहते थे। एक INVESTOR PRICE कॉलम (DECIMAL(9,4) जोड़ें, जो भेजी गई कीमत-टू-100 ग्रिड से मेल खाती है) जोड़ें दोनों संस्थाओं + उनके डीटीओ + **************** यह है InVESTOR निष्पादन मूल्य, जानबूझकर उधारकर्ता बिंदुओं में विघटित नहीं होता है (कि) मार्जिन को खत्म करने और शुल्क मॉडल की आवश्यकता होती है - अब यह निर्धारित करने से उधारकर्ता को गलत तरीके से समझा जा सकता है। अंक, एक Reg-Z/ECOA प्रकटीकरण त्रुटि). अंक शुल्क मॉडल भूमि तक शून्य रहते हैं; कच्चे मूल्य को अब लॉक-ऑफ-रिकॉर्ड पर संरक्षित किया जाता है, न केवल साइड लेजर। अंतिममूल्य से RCE (MLOSCapitalMarketsService) द्वारा आबादी; स्तंभ सामग्रीकृत द्वारा KamoInitializer RateLockInvestorPriceMigration (ADD COLUMN यदि नहीं EXISTS).
· kamo-internal
चलो व्यवस्थापक किसी सदस्य की ओर से रिंगसेंट्रल कनेक्ट करते हैं
अन्य सदस्य की फोन सेटिंग्स पर, प्रबंधन-वीओआईपी अधिकारों के साथ एक व्यवस्थापक (canmanageVoipConfig) अब सदस्य के लिए कनेक्ट / कनेक्ट / डिस्कनेक्ट देखता है केवल पढ़ने के बजाय रिंगसेंट्रल खाता "वे इसे स्वयं कनेक्ट करना चाहिए" संदेश - सामान्य मामले के लिए जहां एक sysadmin सदस्य के रिंगसेंट्रल रखती है क्रेडेंशियल कनेक्ट कॉपी आपको उस सदस्य के साथ साइन इन करने के लिए स्पष्ट बनाता है क्रेडेंशियल और लक्ष्य MemberID के माध्यम से पारित किया जाता है (सर्वर अधिकार को लागू करता है)।.
· VOIPService
किसी सदस्य की ओर से रिंगसेंट्रल को जोड़ने की अनुमति दें
प्रति सदस्यीय रिंगसेंट्रल प्रवाह केवल स्व-सेवा थी, इसलिए एक व्यवस्थापक प्रबंध अन्य सदस्य प्रोफ़ाइल ने देखा "वे इसे स्वयं कनेक्ट करना चाहिए"। Sysadmin आमतौर पर सदस्य के रिंगसेंट्रल खाता बनाते हैं और अपने क्रेडेंशियल पकड़ते हैं, इसलिए उन्हें सदस्य की ओर से कनेक्ट करने में सक्षम होना चाहिए। OAuthController सदस्य स्टार्ट / स्टेटस / डिस्कनेक्ट अब एक वैकल्पिक लक्ष्य स्वीकार करते हैं सदस्य किसी अन्य सदस्य पर कार्य करने के लिए MAAGE EXTENSIONs या आवश्यकता होती है। MANAGE VOIP SETTINGS (प्रोफ़ाइल-एडिट गेट की नकल) - यह भी सत्यापित करने के लिए लक्ष्य सदस्य वास्तव में निर्दिष्ट किया गया है कि उदाहरण ( उदाहरण org-scoped है, इसलिए यह एक ही क्षेत्र की पुष्टि करता है। - जो भी पूरा करता है रिंगसेंट्रल लॉगिन अभी भी पहचान को निर्धारित करता है; सौंपा गया-vs कनेक्टेड एक्सटेंशन गार्ड एक बेमेल झंडे।.
· kamo-internal
उपयोग एनालिटिक्स + इनसाइट्स व्यू (P2)
अभिलेख ************* घटनाओं और org कुलों + के साथ एक अंतर्दृष्टि संवाद उपयोग की जाने वाली सामग्री (डाउनलोड + पूर्वावलोकन द्वारा)।.
· MediaService
सामग्री एनालिटिक्स कंट्रोलर - रिकॉर्ड इवेंट्स + कुल मिलाकर
पोस्ट ************* (record) प्रकार + org कुल).
· kamo-shared-library
सामग्रीईवेंट इकाई + रेपो (उपयोग विश्लेषक)
केवल उपयोग की घटनाओं ************* एक प्रति (imgid, type) के साथ कुल क्वेरी तालिका MATERIAL EVENTS (लक्षित CRDB DDL; KI ऑटो-स्कैन)।.
· kamo-internal
अनुमोदन कार्यप्रवाह UI + लोड-सभी फ़िल्टरिंग (P2)
ड्रॉवर में स्थिति नियंत्रण **************** टाइल पर स्थिति बिल्ला और एक टूलबार में स्टेटस फिल्टर। इसके अलावा सभी सामग्री पृष्ठों को अप-फ्रंट (capped) लोड करता है ताकि सर्च/टैग/ अभियान/स्टैटस फिल्टर पूरे पुस्तकालय को कवर करते हैं, न केवल पहला पृष्ठ।.
· MediaService
MaterialReviewController — स्थिति मानचित्र + सेट-status
GET/api/media/materials/reviews (org-wide imgId →status नक्शा) + POST एक सामग्री की स्थिति निर्धारित करने के लिए (वैलिडेटेड, समीक्षक-मुद्रांकित, अद्यतन)।.
· kamo-shared-library
सामग्रीReview इकाई+repo (approval status side-table)
DRAFT/PENDING/APPROVED/ARCHIVED प्रति सामग्री, imgId द्वारा कुंजी (schema untouched इमेजिंग). टेबल MATERIAL REVIEWS (trgeted CRDB DDL; KI ऑटो-स्कैन)।.
· kamo-internal
प्रति सदस्यीय रिंगसेंट्रल कनेक्ट + सॉफ्टफोन वेब-फोन v2 फिक्स
Softphone SDK फिक्स (ringcentral-web-phone v2.4.0 है, नहीं v0.x एडाप्टर लक्षित - पुराने wp.userAgent.* उपयोग init पर threw: - v2 API के लिए रिंगसेंट्रलफोन एसडीके को फिर से लिखना: एकल sipInfo वस्तु, प्रारंभ()/call()/dispose(), inboundCall/outboundCallईवेंट्स, प्रारंभिक आउटबाउंड वायरिंग, संश्लेषित mute/hold/muted/unmuted, और SDK की गोद लेने प्रति कॉल ऑडियो तत्व #rc-remote-audio के रूप में तो एवी मात्रा/डिवाइस रूटिंग काम करता है। - PhoneSdk.SipInfo: आउटबाउंडप्रोक्सीबैकअप + stunServers जोड़ें। - useSoftphone: के दौरान एक दूरदराज के पिछलग्गू पर अटक आने वाले कॉल बैनर को साफ़ करें रिंग; क्रेडेंशियल रिफ्रेश पर एसडीके मिड-कॉल को फाड़ न दें; खिलाफ गार्ड ऑटो-answer + कॉल-फॉरवर्ड डबल-सेप्टिंग। प्रति सदस्यीय रिंगसेंट्रिक कनेक्शन: - PhoneSettingsTab: सदस्य के अपने आप में स्वयं के "कनेक्ट रिंगसेंट्रल" कार्ड प्रोफ़ाइल (व्यवस्थापकों को केवल स्टेटस), OAuth रीडायरेक्ट हैंडलिंग, और एक एक्सटेंशन-मैच चेतावनी। - voipApi: सदस्य OAuth प्रारंभ/status/disconnect. - UseSoftphone + SoftphonePanel: needMemberConnection gating with a "कनेक्ट" आपका रिंगसेंट्रल खाता एक पंजीकरण त्रुटि के बजाय शीघ्र।.
· VOIPService
प्रति सदस्यीय रिंगसेंट्रल ओथ पहचान + सॉफ्टफोन एसआईपी फिक्स
सॉफ्टफोन एसआईपी क्रेडेंशियल फिक्स: - getSipCredentials: मानचित्र आउटबाउंडProxybackup + stunServers (web-phone v2 की जरूरत) उन्हें WSS असफलओवर + ICE/मीडिया के लिए); थ्रो प्रोवाइडर एक्ससेप्शन (502) एक के बजाय नंगे RuntimeException (500) कि SipController की पकड़ याद आती है; एक के खिलाफ गार्ड गलत विस्तार एसआईपी पहचान। प्रति सदस्यीय रिंगसेंट्रिक कनेक्शन: - रिंगसेंट्रल टोकनरिसोल्वर: सदस्य के अपने टोकन को उसके साथ हल / ताज़ा करें सिंगल-फ्लाइट (RC) ताज़ा टोकन को घुमाता है, एक मृत टोकन पर जरूरतों को फिर से कनेक्ट करता है, और फिर से कनेक्ट करने के लिए। - OAuthController: ************* - सत्र से सदस्यआईडी केवल (self-serve), VoipCalling गुंजाइश, PKCE कनेक्ट कॉलबैक रिकॉर्ड करता है सम्पर्क करने का विवरण - SipController + PhoneProvider Factory: सॉफ्टफोन सदस्य के रूप में पंजीकृत होता है OWN एक्सटेंशन; unconnected होने पर 200 जरूरतों को पूरा करता है। - MemberVoipConfigController: कनेक्शन की स्थिति को उजागर करें; इस्तीफे पर रद्द करें। - यदि सदस्य voip oauth token अभी तक माइग्रेट नहीं है, तो नया-तालिका ने कृपापूर्वक पढ़ा।.
· kamo-shared-library
सदस्य
प्रति सदस्य OAuth token keyed (memberId, प्रदाता, उदाहरण Id) समर्थन एक्सटेंशन-स्किप्ड रिंगसेंट्रल ऑपरेशंस - सॉफ्टफोन सिप-प्रोविजन प्लस सदस्य का व्यक्तिगत कॉल लॉग / वॉयसमेल / उपस्थिति। से अलग org/instance OrgOAuthToken (account-scoped). एक KamoInitializer चलाने के लिए की आवश्यकता है बनाना *************
· kamo-internal
संग्रह/कैंपाइन यूआई (P2)
वाम-नव संग्रह अनुभाग (create/select/delete), संग्रह दृश्य पर अभियान फ़िल्टर, और विस्तार दराज में एक संग्रह संपादक (add/remove material, build-and-add). वायर्ड के माध्यम से /api/materials/campaigns/* + सामग्रीCampaignsApi; कार्यक्षेत्र आइटम मानचित्र में शामिल होता है टैग की तरह क्लाइंट साइड।.
· MediaService
सामग्रीCampaignController - CRUD + आइटम मानचित्र + जोड़ें / निकालें
/api/media/materials/campaigns: list/create/update/delete, GET/items (org-wide imgIdgcampaignId मानचित्र), POST /add + / org-ownership चेक के साथ हटा दें।.
· kamo-shared-library
सामग्री Campaign + आइटम संस्थाओं / प्रस्तावों (संग्रह)
प्रथम श्रेणी में फ़ोल्डरों में संग्रह समूह सामग्री का नाम दिया गया है। टेबल्स MATERIAL CAMPAIGNS + MATERIAL CAMPAIGN ITEMS (trgeted CRDB DDL; अगले रन पर KI ऑटो-स्कैन)।.
· kamo-internal
टैग यूआई + एक्सेस-लेवल कंट्रोल (P2)
टैग (ऑर्ग-स्कैप्ड, क्रॉस-कटिंग): टाइल्स पर टैग चिप्स, एक टैग फिल्टर बार (और पूरे चयनित), और विस्तार दराज में एक टैग संपादक (वर्तमान में असाइन / हटाने, निर्माण और असाइन नया)। वायर्ड के माध्यम से /api/materials/tags/* प्रॉक्सी + materialTagsApi. इसके अलावा एक दृश्यता (एक्सेस-लेवल) जोड़ती है। मौजूदा एक्सेस-लेवल एंडपॉइंट का उपयोग करके दराज को नियंत्रित करें।.
· MediaService
सामग्रीटैगकंट्रोलर - टैग CRUD + असाइन/unassign + असाइनमेंट मैप
/api/media/materials/tags: सूची/create/delete टैग, GET/assignment (org-wide imgIdgId कार्यक्षेत्र क्लाइंट-साइड में शामिल होने का नक्शा, POST / assign + /unassign with org-ownership checks.
· kamo-shared-library
सामग्रीटैग + असाइनमेंट संस्थाएं / रिपोज (ऑर्ग-स्कैप्ड टैग)
विपणन सामग्री के लिए फ़ोल्डर्स पर फ्लैट, क्रॉस कटिंग टैग अक्ष। टेबल्स MATERIAL TAGS और MATERIAL TAG ASSIGNMENTS (Regitated CRDB DDL, KI auto-scans के माध्यम से).
· kamo-internal
प्रबंधित सार्वजनिक लिंक यूआई (P1) - बनाने / अनुकरण / रद्द / अवलोकन-काउंट
विस्तार दराज एक 'सार्वजनिक लिंक' पैनल (ShareLinkManager): के साथ एक टिकाऊ लिंक बनाने एक वैकल्पिक लेबल और समाप्ति (1h/1d/7d/30d/never), इसे कॉपी करें, इसकी दृश्य गिनती देखें, और इसे रद्द करें। नए मीडिया सर्विस रजिस्ट्री द्वारा समर्थित /api/materials/links प्रॉक्सी के माध्यम से समापन बिंदुओं। The तेजी से सामाजिक/ईमेल साझा करने के लिए एक शॉट त्वरित-कॉपी लिंक रहता है।.
· MediaService
प्रबंधित सार्वजनिक-link endpoints (create/list/revoke) + ट्रैक सेवा
POST/GET/api/media/materials/links और DELETE/links/{id} को materialShareLink द्वारा समर्थित जोड़ें, और जनता पर प्रबंधित टोकनों को हल करता है GET पहले (चेकिंग रद्द/expiry और bumping) ViewCount (Count) to get the legacy HMAC verifier. यादृच्छिक अपारदर्शी टोकन, org-scoped स्वामित्व जांच, TTL ने <=1y पर क्लैंप किया।.
· kamo-shared-library
सामग्रीShareLink रजिस्ट्री इकाई + रेपो (प्रबंधित / ट्रैक सार्वजनिक लिंक)
विपणन सामग्री के लिए बैक्स रिवोकेबल, एक्सपायरिंग, व्यू-काउंटेड पब्लिक लिंक - जारी रखा इसलिए लिंक को सूचीबद्ध किया जा सकता है, रद्द किया जा सकता है और गिना जा सकता है (vs. stateless HMAC one-shot tokens). KI (@EntityScan com.kamo) और MediaService द्वारा ऑटो-स्कैन किया गया; KI को बनाने के लिए KI रन की जरूरत है। MATERIAL SHARE LINKS तालिका।.
· kamo-internal
बातचीत-view पंक्तियों के लिए सही क्लिक / लंबी प्रेस संदर्भ मेनू जोड़ें
दोनों दृश्य मोड में सूची एक्शन मेनू को पूरा करता है। अब वार्तालाप पंक्तियाँ खुली दाएं क्लिक पर समान साझा मेनू और थ्रेड-लेवल एक्शन के साथ लंबी प्रेस को स्पर्श करें: उत्तर दें / सभी को उत्तर दें / फॉरवर्ड (थ्रेड के नवीनतम संदेश पर काम करते हुए, पर पहुंचे सक्रिय मेलबॉक्स से मांग और बना), रिपोर्ट स्पैम / स्पैम और डिलीट नहीं (पूरे धागे पर लागू), मार्क रीड और स्टार / अनस्टार।.
· kamo-shared-library
फैसलेGate.applied थ्रेसहोल्ड वास्तविक विश्वास बार को उजागर करता है
गेट आंतरिक रूप से अधिकतम (टेंट ओवरराइड, सेफ्टीफ्लोर, स्टेज फ्लोर) लागू होता है लेकिन कॉलर केवल पूर्व-gate किरायेदार दीवार था। लागू थ्रेसहोल्ड सच लौटाता है बार इसलिए एक निर्णय-ऑफ-रिकॉर्ड थ्रेसहोल्ड-इन-EFFECT (examiner-) को बनाए रख सकता है एक मूल्य के बजाय, गेट चुपचाप उठाता है। योजक; मूल्यांकन () अपरिवर्तित। निर्णयGateTest 14/14 पास।.
· kamo-internal
एंटरप्राइज़ मटेरियल वर्कस्पेस (P0) — फ़ोल्डर्स, सर्च, बल्क, रियल पूर्वावलोकन, साझा ईमेल संगीतकार
मौजूदा इमेजिंग पर एक पूर्ण दस्तावेज़ कार्यक्षेत्र के साथ फ्लैट 200-item ग्रिड को बदल देता है बैकएंड (जो पहले से ही फ़ोल्डर्स, कचरा, शेयरिंग, इतिहास, सामग्री के लिए थोक का समर्थन करता है): - फ़ोल्डर साइडबार (Create/rename/delete, ड्रैग-टू-फ़ोल्डर) + सभी / कचरा दृश्य - खोज, क्रमबद्ध, ग्रिड <-> सूची टॉगल, 'load more' (200 कैप को हटा दें) - थोक चयन + थोक डाउनलोड (ZIP) / ईमेल / चाल / हटाने - राइट-हैंड विवरण दराज: वास्तविक पूर्वावलोकन, इनलाइन का नाम + विवरण, चाल-टू-फ़ोल्डर, आंतरिक साझाकरण (सदस्य, अनुमति संपादित करें, समाप्ति) और गतिविधि इतिहास - ईमेल अब वैश्विक उपकरण के माध्यम से साझा संदेश टूल संगीतकार का पुन: उपयोग करता है: ओपन इवेंट (From/mailbox, CC/BCC, अमीर शरीर, हस्ताक्षर, ड्राफ्ट) बजाय बेस्पोक फॉर्म - नई इमेजिंग प्रॉक्सी मार्ग: फ़ोल्डर बनाने / [id] का नाम बदलें + डेलीट / मूव-doc, नाम बदलें, विवरण, बहाल, पहुँच स्तर - सुपरसेड मटेरियल लिब्रारी को हटा देता है; सभी Canva सुविधाओं (create/import/autofill/) कार्यक्रम आयोजित किया गया। ImgIds पूरे में सटीक स्ट्रिंग के रूप में संभाला।.

तुम्हारा ब्रह्मांड इंतजार कर रहा है.
मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.
हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं