Live Change Log

لنرى ما نبنيه في الوقت الحقيقي كُلّ سمة، تَثبّتُ، وتَحسّنُ شُحنتْ عبر الرصيفِ.

17,888
مجموع التغييرات
4,594
المعالم
4,520
Fixes
32
المشاريع
عرض حسب المشروع
جميع المشاريع17,888AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService364InitializerService299KBService74KlusterServices542MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,557kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
الأفلام حسب النوع
جميع الأنواعBuild24CI522Chore670Docs226Feature4,594Fix4,520Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
March 23, 2026
Otherkamo-analytics

correct performance tracker inconsistency issues

Francis Cao·5mo ago
Otherkamo-analytics

fix EventDataValues query

Francis Cao·5mo ago
Fixkamo-internal

Add filter toggle button to notes header

The sidebar collapse button was hidden behind the app's left nav bar. Replaced it with a filter icon toggle in the NotesHeader that is always accessible regardl...

kamo·5mo ago
FixSecurityService

Transparent server-side encryption with stable master key

- Add permanent notes.master-encryption-key to ConfigMap (was generating a random key on each pod restart, making old notes undecryptable) - Always encrypt ...

Kamo·5mo ago
FixSecurityService

Clear undecryptable note content and disable encryption flag

When server-side decryption fails (corrupted data or key mismatch), clear the content and set isEncrypted=false on the entity so the note stops showing cipherte...

Kamo·5mo ago
Otherkamo-analytics

remvoe replay from share page

Francis Cao·5mo ago
FixSecurityService

Decrypt encrypted notes in getAllNotes and searchNotes responses

getAllNotes and searchNotes were returning raw encrypted content for notes with isEncrypted=true. Now decrypts content server-side before returning, matching th...

Kamo·5mo ago
Otherkamo-analytics

fix share pages for new screens

Francis Cao·5mo ago
Otherkamo-analytics

update session replay tracking code UI/UX

Francis Cao·5mo ago
Featurekamo-internal

Use sized avatar variants — medium for profiles/emails, small for nav/lists

Add size parameter to fetchMemberAvatar (defaults to 'sm'). Email signatures, email sending, profile headers, posts, comments, and hex heads now request the med...

kamo·5mo ago
Fixkamo-internal

Extract plain text from Lexical JSON for note card previews

The note content is now Lexical JSON, not HTML. The preview function was falling back to stripHtml which dumped raw JSON as the preview. Now parses Lexical JSON...

kamo·5mo ago
Otherkamo-analytics

add new share screen options

Francis Cao·5mo ago
FeatureSecurityService

Support multi-size photo avatar uploads and crop endpoint

Update uploadPhotoAvatar to accept optional sized variants (fileSm, fileMd, fileLg) stored with suffix naming ({hash}_sm.png, etc). Add PUT /{id}/crop endpoint ...

Kamo·5mo ago
Featurekamo-internal

Add photo crop tool with react-easy-crop and multi-size avatar storage

Replace the old PhotoCropDialog with an interactive crop tool using react-easy-crop. When uploading or editing a photo, users now select a square crop area (wit...

kamo·5mo ago
Fixkamo-shared-library

خدمة الهويات الطويلة لـ (ملاحظات ديتو) كسلاسل لسلامة الختان

هويات مروّعة تتجاوز (جافاسكريبت) يسبب فقداناً دقيقاً عندما يصنف كأرقام Add@JsonSerialize with ToStringSerializer to id and userId fields so they are sequenceize...

Kamo·5mo ago
FixDaemonService

Rewrite GeoLite sync — correct download URL, streaming hash, batch inserts

- Use MaxMind's current permalink API with HTTP Basic Auth (account-id + license-key) - Streaming SHA-256 instead of Files.readAllBytes (prevents OOM on 100MB+ ...

Kamo·5mo ago
Fixkamo-internal

Forward raw JSON responses in notes API routes to preserve ID precision

CockroachDB unique_rowid() IDs exceed JavaScript's MAX_SAFE_INTEGER. The previous response.json() + NextResponse.json() round-trip caused JSON.parse to convert ...

kamo·5mo ago
Fixkamo-internal

Improve notes save flow — keep editor open, show actual errors

- Don't close the editor after saving an existing note (only close after creating a new one) - Fix fetchWithAuth to read error.error instead of error.message ...

kamo·5mo ago
Fixkamo-internal

Open notes directly on click, derive categories from data, remove encryption

- Click a note to open it directly in the editor instead of making a separate API call that was failing - Derive categories and tags from loaded notes data in...

kamo·5mo ago
FixSecurityService

Use OTKPreAuthFilter attributes instead of re-validating OTK in NotesController

The OTKPreAuthFilter already consumes and validates the OTK, storing the session data in request attributes. NotesController was trying to re-validate the alrea...

Kamo·5mo ago
FixAPIService

Explicitly forward visitor IP to downstream services

ForwardedHeaderFilter consumes X-Forwarded-For from the incoming request, so when APIService forwards to SecurityService via RestTemplate the header is missing....

Kamo·5mo ago
Featurekamo-internal

Load countries from CountryType enum, add flag icons to geo-blocking

Countries route now proxies to /api/security/countries (CountryType enum) instead of **************** (empty GeoLite table). Adds react-world-flags for country ...

kamo·5mo ago
March 22, 2026
Featurekamo-internal

Rewrite Access Blocks help tips for clarity

Explains all four sections (whitelist, blacklist, temp blocks, geo-blocking) in plain language. Adds a CIDR range guide with examples showing /32, /24, /16, /8 ...

kamo·5mo ago
Fixkamo-internal

Resolve notes page load failure and replace Quill editor with Lexical

Add missing runtime/dynamic exports to all notes API routes to enable proper OTK authentication. Replace React Quill WYSIWYG editor with the same Lexical-based ...

kamo·5mo ago
Fixkamo-internal

Forward visitor IP/User-Agent to backend, add duration unit picker

apiProxy: Now forwards X-Forwarded-For and User-Agent from the original visitor so backend logs the real client info instead of the Next.js server. AccessBlock...

kamo·5mo ago
FixInitializerService

Remove RoleRightsSyncRunner — rights are added manually for existing orgs

The underlying bug in **************** (detached entity issue) has been fixed in kamo-shared-library. New rights for existing roles will be added manually via S...

Kamo·5mo ago
Fixkamo-shared-library

استخدام إشارات مرجعية إلى الدور المنظم عند إنشاء حقوق في إنشاء المنظمة

بعد المستودعات المنظمة، حافظوا على الدور المحلي آدمين/رويون ويمكن فصل المتغيرات عن سياق الثبات. "يخلق "الرصاصات كان يضيف دخول (أورغرورايت) إلى الأجسام المقطعة ا...

Kamo·5mo ago
Fixkamo-internal

Restore permission gate on AccessBlockManager

Re-adds the MANAGE_ACCESS_RULES permission check that was incorrectly removed. The underlying issue (admin roles missing new rights) is fixed by KamoInitializer...

kamo·5mo ago
FeatureInitializerService

Add RoleRightsSyncRunner to backfill missing role rights

When new RoleRightType entries are added to the enum, existing roles don't have OrgRoleRight entries for them. This runner checks all roles on startup and adds ...

Kamo·5mo ago
Fixkamo-internal

Remove full-component permission gate from AccessBlockManager

New rights aren't assigned to any role yet, blocking all users. Other security settings tabs (API Access, OAuth2, System Debug) don't have permission gates — fo...

kamo·5mo ago
FixSecurityService

Remove GD check from ****************

The sed command that added the god-mode bypass incorrectly inserted it into all methods containing sessionData, not just hasRight. This caused 'return true' (bo...

Kamo·5mo ago
Otherkamo-analytics

Merge branch 'dev' of **************** into dev

Mike Cao·5mo ago
Otherkamo-analytics

Added download to breakdown report.

Mike Cao·5mo ago
CISecurityService

Trigger pipeline

Kamo·5mo ago
Fixkamo-internal

Initialize god mode state synchronously from localStorage

isGodMode was initialized as false and only loaded from localStorage in a useEffect (after first render), so checkRight() returned false on initial render even ...

kamo·5mo ago
Fixkamo-internal

Allow god-mode-active users to bypass right checks in checkRight

New security rights aren't assigned to any role yet, causing all users to be denied. God-mode-active users now pass all checkRight() calls.

kamo·5mo ago
FixSecurityService

Allow god-eligible users to bypass access security permission checks

New rights (MANAGE_ACCESS_RULES, VIEW_ACCESS_LOGS, etc.) aren't granted to any existing role yet, so all users get Forbidden. God-eligible users (GD=true in ses...

Kamo·5mo ago
FixAPIService

Move AccessEnforcementFilter to scanned package, revert ComponentScan

The widened @ComponentScan caused a corsFilter bean conflict between CorsConfig and WebConfig. Moved the filter into com.kamo.api.app.config (already scanned by...

Kamo·5mo ago
March 21, 2026
FixAPIService

Add Redis connection config to K8s configmap

APIService pod was failing to start because spring-boot-starter-data-redis auto-configuration couldn't connect to Redis at localhost:6379. Points to redis.kamo....

Kamo·5mo ago
Featurekamo-internal

Add access security system frontend

13 API proxy routes, access check module with CIDR matching, proxy.ts enforcement integration. Reworks AccessBlockManager (real API + geo-blocking), creates Sys...

kamo·5mo ago
FeatureDaemonService

Add GeoLite2 sync job for MaxMind IP-to-location database

Quartz-scheduled job (weekly Sunday 3 AM) that downloads MaxMind GeoLite2-City-CSV, parses IPv4/IPv6 blocks and locations, loads into staging tables, and perfor...

Kamo·5mo ago
FeatureAPIService

Add access enforcement filter for IP-based access control

Redis-backed servlet filter that evaluates whitelist/blacklist/temp-block rules on every inbound request. Adds spring-boot-starter-data-redis dependency and Red...

Kamo·5mo ago
FeatureSecurityService

Add access security system backend

8 new services (AccessCacheService, GeoLiteService, GeoLiteSyncService, AccessRuleService, GeoBlockService, AccessLogService, DetectionRuleService, SuspiciousDe...

Kamo·5mo ago
FeatureInitializerService

Add access security system schema migration

Creates 7 new tables (org_access_rules, org_geo_block_rules, org_suspicious_detection_rules, system_access_logs, geolite_blocks, geolite_locations, geolite_sync...

Kamo·5mo ago
Featurekamo-shared-library

يضاف إلى كيانات النظام الأمني، ومجمعات، ومخازن

يضاف إلى كيانات الجيش الشعبي الياباني (OrgAccessRule, OrgGeoBlockRule, OrgSuspiciousDetectionRule, SystemAccessLog, GeoLiteBlock, GeoLiteLocation, GeoLiteSyncSt...

Kamo·5mo ago
Otherkamo-analytics

create team key in cloud mode

Francis Cao·5mo ago

مثل ما ترى الشحن؟?

كل واحد من هذه تحديثات الأراضي في مكان عملك تلقائيا. ابدأوا بالمجان وشاهدوها تنمو بعد أسبوع.

ابدأوا حراً للأبدخصخصة الفيو