अपने खुद के MinIO फ़ोल्डर में सबडोमेन-tenant org बाल्टी को हल करें
getThemePath () उन्हें दोनों के लिए एपेक्स + टीएलडी के लिए होस्टनाम को कम कर दिया गया था मेजबान और बाल्टी फ़ोल्डर, तो सबडोमेन किरायेदारों की तरह gnosia.demo.kam...
अपने खुद के MinIO फ़ोल्डर में सबडोमेन-tenant org बाल्टी को हल करें
getThemePath () उन्हें दोनों के लिए एपेक्स + टीएलडी के लिए होस्टनाम को कम कर दिया गया था मेजबान और बाल्टी फ़ोल्डर, तो सबडोमेन किरायेदारों की तरह gnosia.demo.kam...
रूट नवटॉप पिकर के माध्यम से / मी / भाषा
पिकर ने जेनेरिक सदस्य पीयूटी को बुलाया, जो सिस्टमयूज़रगार्ड 403s के लिए सिस्टम उपयोगकर्ता ने उप-ऑर्ग में हस्ताक्षर किए। पकड़ चुपचाप लॉग इन, इसलिए कामो-लोकल कुकी...
ऐड / मी / भाषा समापन बिंदु जो सिस्टमUserGuard को बायपास करता है
नवटॉप भाषा पिकर ने सिस्टम उपयोगकर्ता के लिए एक हस्ताक्षरित करने के लिए कुछ भी नहीं किया उप-संगठन: PUT **************** पहले SystemUserGuard चलाता है, जो हर सिस्...
अपने खुद के MinIO फ़ोल्डर में सबडोमेन-tenant org बाल्टी को हल करें
getThemePath() को Apex+tld (mainDomain.tld) के लिए होस्टनाम को कम कर दिया गया था। दोनों थीम्ड होस्ट और बाल्टी फ़ोल्डर। जैसे उप डोमेन किरायेदारों के लिए gnosia.d...
आधुनिक रंगसमूह में डार्क-variant रंग इनपुट को बंद करना
कलर पिकर पंक्तियों में एक हार्डकोडेड 280px रैपर के अंदर एक 1fr 1fr ग्रिड के साथ था अतिप्रवाह: छिपे हुए, इसलिए इनपुट को संकीर्ण स्तंभों पर कटा हुआ था। फ्लेक्स का...
कोई सदस्यता के रूप में फेंका सदस्यता स्टब का इलाज, त्रुटि नहीं
विरासत getCurrentSubscription स्टब डिजाइन द्वारा फेंकता है इसलिए कॉलर गिर जाता है वापस ungated पथ के लिए। स्टैटमैनेजर को फेंकने के रूप में सर्फ करना था "" सदस्य...
Return empty meters instead of null from getCurrentUsage
StatsManager rendered <UsageMeters usage={null}> when the legacy stub resolved to null, crashing on usage.meters. Return { meters: [] } so the component takes t...
CONFIGURE SYSTEM पर गेट माय खाता स्लाइड-आउट सेक्शन
सदस्यों से "मेरा खाता" मेनू छिपाएं, जिनके पास CONFIGURE SYSTEM का अभाव है। वे लिंक नहीं देखते (स्टैट्स एंड कॉस्ट, ऐप्स और सुविधाएँ, शाखा के प्रकार, स्वचालन स्ट्...
Revert "fix(account-settings): ऑटो-रूट चाइल्ड-ऑर्ग मालिकों को उनकी अनुमति ऑर्ग के लिए"
यह उलटा प्रतिबद्ध है *************
ऑटो-रूट चाइल्ड-ऑर्ग मालिकों को उनकी अनुमति प्राप्त करने के लिए
जब एक उपयोगकर्ता के लिए / सेटिंग / खाता लोड होता है, जिसके पास CONFIGURE SYSTEM का अभाव होता है। वर्तमान org, पिछले व्यवहार / सेटिंग के लिए एक चुप पुनर्निर्देशि...
Use full FQDN, not eTLD+1, when fetching org by domain
registrableDomainFromAlias strips any multi-label subdomain (e.g. "gnosia.demo.kamocrm.com") down to its eTLD+1 ("kamocrm.com"). That was fine for the API base ...
सबडोमेन के लिए पूर्ण FQDN को दो लेबलों की तुलना में गहरा बनाए रखें
आयोजक by root() केवल पहला लेबल और आखिरी दो निकाल रहा था प्रत्येक Traefik-logged होस्टनाम से लेबल। आम दो स्तर के मामले के लिए (login.b11capital.com) सही ढंग से। ...
Never gate Kamo-owned subdomains on TXT ownership
Child orgs that picked a Kamo web alias (e.g. gnosia.demo.kamocrm.com) were getting "TXT record found but verification code doesn't match" in the DNS setup UI. ...
Don't show global loading overlay for client-handled forms
NavigationInterceptor's submit listener treated any form whose form.action was truthy and method=get as a navigation, and called setLoading(true) on the global ...
Grant top-level org owners cross-org delete/update access
deleteDomain and updateDomain previously rejected platform admins operating on child-org domains because they checked isUserOwnerOfOrg against the target org di...
Allow deleting per-org *.kamocrm.com subdomains
The endsWith(".kamocrm.com") guard blocked every demo org from swapping its platform subdomain (e.g. gmosia.demo.kamocrm.com) for a custom domain. The platform ...
Manage mail.kamocrm.com TLS end-to-end
Auto-cert now provisions and maintains the Let's Encrypt cert for mail.kamocrm.com (HTTP-01 via Traefik on port 80) and keeps the postfix consumer in sync acros...
Decommissioned Janus WebRTC गेटवे निकालें
जेनस अब उपयोग में नहीं है। अनाथ KlusterServices/janus/ प्रकट होता है (जैनस होस्ट-इंस्टॉल किया गया था, क्लस्टर-डिप्लॉय नहीं किया गया था, और नहीं है K1m1) पर चल र...
बाहरी मीडिया के लिए नए सार्वजनिक आईपी 47.181.8.83 का विज्ञापन दें
JVB-k1m1 को 75.83.113.11 विज्ञापन दिया गया और पलटन को विज्ञापन दिया गया। नोड का LAN IP स्टेटस.hostIP के माध्यम से - दोनों ने बाहरी WebRTC मीडिया को अब तोड़ दिया...
Rebuild against kamo-shared-library 88a8d63
Picks up: - HIGH: **************** refuses NUKE/FORCE_NUKE on admin-essential rights for the ADMINISTRATOR template. - MEDIUM: **************** now re-runs ...
Guard admin-essential rights + re-seed roles on template edit
HIGH: **************** now refuses to persist a NUKE or FORCE_NUKE setting on any of the ADMINISTRATOR template's admin-essential rights (CONFIGURE_SYSTEM, MANA...
Revert "feat(member): **************** for idempotent role promotion"
This reverts commit ****************
Revert "fix(orgs): propagate child-org-creator admin status to parent-org membership"
This reverts commit ****************
Propagate child-org-creator admin status to parent-org membership
When a user creates a child org they become its owner + admin (via **************** Their PARENT-org membership, however, is whatever it was before — typically ...
**************** for idempotent role promotion
Adds a public, transactional ensureRoleAssigned(memberId, roleId) that: - No-ops if the role is already on the member. - Looks up the OrgRole and saves a ne...
Wrap toolbar and shrink search/date so New Event stays on-page
Toolbar packed too much fixed-width content into a single non-wrapping flex row; with the parent main area set to overflow: hidden, the right section (New Event...
Read *** from master after session refresh to avoid replica lag
The previous fix had /api/user-info call /api/security/session/refresh before reading Redis, but the read went through readKsemJsonFromRedisWithRetry which uses...
Track tab by name + refresh session before reading user-info
Two related navigation bugs that both manifest as "the wrong tab opens": 1. SettingsView tracked the active tab by *index*. childrenArray can recompose ...
Replace heredoc with grouped echos so YAML literal block parses
The /etc/odbc.ini heredoc body sat at column 1, which dedented out of the surrounding startup.sh: | literal-block scalar and broke `kubectl apply` of the Config...
Follow rclone remounts via HostToContainer mount propagation
Without slave propagation the pod captures the FUSE bind mount once at container start; if rclone-mount.service restarts on the host, the pod keeps pointing at ...
Reverse-proxy priceturbo.com apex + wildcard via k1m1 with TLS
k1m1 Traefik now terminates HTTPS for priceturbo.com and any *.priceturbo.com subdomain, forwarding plain HTTP to the upstream Traefik at 192.168.4.36:80 with t...
View docments/MANAGE DOCS SETTINGS पर गेट डॉक्स टैब
ईमेल + फोन टैब फाटकों को मिरर करता है। बिना समीक्षा के सदस्य उपयोगकर्ता-स्तर का उपयोग और बिना प्रबंधक DOCS SETTINGS (admin) अब नहीं देखता अपने स्वयं के अकाउंट प...
Gate Email + Phone tabs on rights, gate VOIP config edit, periodic session refresh
Adds the missing right-gating so a basic Member without ACCESS_MAIL / ACCESS_VOIP can no longer see the Email & Mailbox or Phone Settings tabs on their own acco...
Wire template-save recalc + session refresh + effective-rights diagnostic
**************** / updateModel / deleteModel and **************** now invoke recalcAllMembersUsingModel after persisting changes — every org pointed at the mode...
Chunked recalc + cross-model fan-out + typeTemplate non-force fallback
Adds three things needed for template edits to actually reach existing members without forcing a logout/login cycle: 1. **************** — walks every org po...
Align Type/Name/TTL fields by moving TTL hint to a tooltip
The TTL field rendered its 'use 1 hour if your registrar shows a dropdown' hint as a paragraph below the input. That column ended up taller than Type and Name, ...
SSL card stops claiming records are verified before they are
The SSL card had two states (installing / complete) so the "installing" copy ("All required records are verified, we're installing the certificate now") was sho...
Remove header gap, ungate subdomains, drop registrar picker
- Move DnsProvisioningPanel inside DnsSetupStudio so the empty px:4 pt:3 wrapper around it (which created a band of whitespace above the hero when the panel...
Unified DNS Setup Studio with inline help per record
Replaces the split DnsProgressView + AliasStatusTable + ManualDnsGuide trio with a single guided experience: each TXT/CNAME record now lives in one card alongsi...
ऑर्ग बनाने के बाद माता-पिता / सेटअप / DNS पर भूमि
विज़ार्ड ने पहले निर्माता को फिर से निर्देशित किया ************* POST/api/security/org वापस आने के ठीक बाद। नया org डोमेन अभी तक कोई DNS नहीं है, इसलिए पुनर्निर...
Rebuild against kamo-shared-library f76e145 (drop @Convert on EmbAddress.country)
Picks up the JPA fix that lets orgs.country (smallint) accept the int ordinal Hibernate writes for CountryType, unblocking POST /api/security/org from the /netw...
Drop CountryTypeConverter from EmbAddress.country
The converter writes the enum name (e.g. "UNITED_STATES") as a String, but every table embedding EmbAddress (orgs, users, members, user_addresses, account_addre...
Only show Account Recovery seed phrase step for under-13
Why: 13+ users already provide email, phone, and security questions as recovery methods, making the seed phrase step redundant for them. Under-13 accounts have ...
Retrigger build to pick up fully-translated dictionary
The deployed image ec1a3dad was built before kamo-translation-dictionary zh.json crossed from ~0.06% Chinese to 99.9% Chinese. The build step copies messages/ f...
Scale to 2 replicas to absorb sync + runtime traffic
A single replica is the bottleneck for the dictionary sync workflow: each gunicorn worker handles one request then auto-restarts (~5-10s window of connection-re...
Bump LibreTranslate per-call timeout to 90s; keep single-translate backward-compat
Two follow-ups to the retry/failedKeys change: 1. Per-call request timeout was 30s. Production has runtime callers (chat, notifications, etc.) hitting the s...
Retry transient errors and surface failed keys (don't fake passthrough)
Two failure modes were indistinguishable in the response, so the script couldn't tell them apart and kept "translating" the same keys to English on every sync r...
Reverse-proxy rate.loans/stack.loans hosts via k1m1 with TLS
k1m1 Traefik now terminates HTTPS for api.rate.loans, www.rate.loans, and www.stack.loans, forwarding plain HTTP to the upstream Traefik at 192.168.4.36:80. Aut...
Alias zh -> zh-Hans so en->zh actually translates
LibreTranslate's /languages endpoint advertises Chinese under the region-specific codes "zh-Hans" and "zh-Hant" (never bare "zh"), even though POST /translate a...