Mabadiliko ya Tabianchi

Kuona nini sisi ni kujenga katika muda halisi. Kila kipengele, kurekebisha, na kuboresha kusafirishwa kwenye jukwaa.

17,933
Mabadiliko ya Jumla
4,614
Features ya
4,543
Wa
32
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Filter ya aina
Aina zoteBuild24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
April 16, 2026
Fixkamo-marketing

Resolve DYNAMIC_SERVER_USAGE 500 errors and missing calculator route

- Add force-dynamic to [locale]/layout.tsx (getMessages() uses headers() internally) - Remove generateStaticParams from [kbSection]/page.tsx (KB content is dyna...

Kamo·4mo ago
FixKlusterServices

Remove --load-only restriction from LibreTranslate

All needed language packages are pre-installed on the hostPath volume. --load-only was preventing some packages from loading. Without the flag, LibreTranslate l...

Kamo·4mo ago
FixKlusterServices

Use startupProbe for LibreTranslate to handle long model downloads

startupProbe with 60 attempts x 30s = 30min startup window for initial model downloads. After startup completes, normal liveness and readiness probes take over ...

Kamo·4mo ago
FixKlusterServices

Restrict LibreTranslate to only load supported language models

Use --load-only with the 22 supported language codes instead of downloading all available models (~hundreds of GB). Removes --update-models flag which would dow...

Kamo·4mo ago
FixKlusterServices

Remove invalid --load-awesome-ai-models flag from LibreTranslate

Flag does not exist in current libretranslate image. Replace with --update-models to ensure language packs are downloaded on startup.

Kamo·4mo ago
FixKlusterServices

Add LibreTranslate permission init container, scale Bergamot to 0

LibreTranslate was crashing with PermissionError on packages subdir. Added busybox init container to mkdir + chmod 777 the mounted hostPath before the main cont...

Kamo·4mo ago
FixTranslateService

Fall through to LibreTranslate when Bergamot is unavailable

ProviderRouter now catches exceptions per provider and tries the next. BergamotProvider throws on failure instead of silently returning original text, so LibreT...

Kamo·4mo ago
Fixkamo-marketing

Widen language selector dropdown to prevent horizontal scrollbar

260px was too narrow for entries like 'Bahasa Indonesia'. Increase to 310px and add overflow-x: hidden to eliminate the scrollbar entirely.

Kamo·4mo ago
Fixkamo-marketing

Port-forward TranslateService to reach it from CI runner

The Forgejo runner runs on k0m1 which cannot resolve .svc.cluster.local DNS. Use kubectl port-forward to tunnel kamowstranslate-service:80 to localhost:18080 du...

Kamo·4mo ago
Fixkamo-marketing

Remove pre-i18n app/(pages)/ and app/page.tsx

These were accidentally restored by git checkout -- app/ during a previous vendor fix. Both old and new route structures existing caused Next.js to try generati...

Kamo·4mo ago
FixTranslateService

Exclude ****************

Excluding SecurityAutoConfiguration leaves Actuator's **************** without an HttpSecurity bean, crashing startup. Exclude it explicitly.

Kamo·4mo ago
FixTranslateService

Add autoconfigure exclusions to k8s configmap

application.yml is for local only — k8s uses the configmap. Move the Spring autoconfiguration exclusions for JPA, Redis, Security, and OAuth2 into k8s/configmap...

Kamo·4mo ago
FixTranslateService

Exclude all transitive Spring autoconfiguration from shared library

kamo-shared-library pulls in JPA, Redis, Security, and OAuth2 starters which cause Spring Boot to attempt autoconfiguring DataSource, Hibernate, Redis/Lettuce, ...

Kamo·4mo ago
FixTranslateService

Exclude DataSource autoconfiguration

kamo-shared-library transitively pulls in JPA which causes Spring Boot to attempt DataSource autoconfiguration. TranslateService is stateless with no database, ...

Kamo·4mo ago
Fixkamo-shared-library

Replace removed DocumentNotFoundException with ImagingException in ImageService

DocumentNotFoundException was deleted as part of the Document entity removal but ImageService still referenced it in 9 places. Replaced with the existing Imagin...

Kamo·4mo ago
FixDocsService

Gracefully cancel superseded reconversion jobs on rapid saves

When a document is saved multiple times quickly, each save registers its ImgDat UUID in a ConcurrentHashMap. The async reconversion task checks this at 6 checkp...

Kamo·4mo ago
Fixkamo-marketing

Chat *** — fix verify timing and improve banner copy

- ***Provider: triggerVerify effect now depends on challengeUrl so verify() is only called after the widget is mounted; uses rAF to ensure the DOM has paint...

Kamo·4mo ago
Fixkamo-shared-library

Remove memberType field entirely to prevent Hibernate duplicate column

The previous fixes (@Transient on field, @Access(AccessType.FIELD) on class) were insufficient. Bytecode inspection revealed Lombok's @Setter generated a public...

Kamo·4mo ago
FixInitializerService

Email as paid add-ons, not included free

- KamoMail Hosting: $5/user/mo add-on on all plans - 3rd Party Email Integration: $2/user/mo add-on on all plans - Email hosting feature reverted to "Add-on" in...

Kamo·4mo ago
Fixkamo-marketing

Email as paid add-on, update all fallback pricing data

- KamoMail Hosting: $5/user/mo add-on (not free — liability concern) - 3rd Party Email Integration: $2/user/mo add-on - Updated calculator page fallback data (w...

Kamo·4mo ago
FixInitializerService

Use 18DOFF promo code with April 30 2026 expiry

Kamo·4mo ago
Fixkamo-marketing

Use 18DOFF promo code, update expiry to April 30, 2026

Reverted promo code from EARLYBIRD back to 18DOFF to match nav headers. Updated nav text from "Prelaunch" to "Early Bird" for consistency. Set offer expiry to 2...

Kamo·4mo ago
Fixkamo-marketing

Update fallback pricing data to match new production prices

The API returns 401 so the marketing site uses hardcoded fallback data. Updated all fallback plans, addons, bundles, and comparison table to match the new prici...

Kamo·4mo ago
Fixkamo-shared-library

Add @Access(AccessType.FIELD) to Member to stop Hibernate mapping getMemberType() as a column

The previous fix (@Transient on the memberType field) was insufficient. Hibernate 6 was still discovering the public getMemberType() method via property scannin...

Kamo·4mo ago
Fixkamo-internal

Show uploader name, widen date column, merge extension icon into file name

- Uploaded By: was always empty — field name was correct but backend never set createdByName; now resolved on the backend side - File Name column: prepend fil...

kamo·4mo ago
Fixkamo-shared-library

Resolve security_level SQL error caused by duplicate MEMBER_TYPE column in Hibernate 6

Member.java mapped MEMBER_TYPE both as @DiscriminatorColumn and as an explicit @Column field. Hibernate 6 selected the column twice in the parent table projecti...

Kamo·4mo ago
Fixkamo-internal

Skip loading screen for file downloads in NavigationInterceptor

Blob URLs and links with the download attribute never cause page navigation, so the global click handler now returns early for these — preventing the "Loading K...

kamo·4mo ago
Fixkamo-internal

Surface save errors and revert optimistic update in email provider selector

When saving a non-configurable provider (KamoMail, ParentOrg, NotConfigured) failed, the error was set in state but never displayed in the list view, and the op...

kamo·4mo ago
FixSecurityService

Correct security_level column reference in login SQL

security_level is on the members table (m), not member_team_member (e). The wrong alias e.security_level caused the entire SQL to fail silently, so memberType w...

Kamo·4mo ago
Fixkamo-internal

Restore team-member/member permission model for share dialog

Team members (memberType=TEAM_MEMBER) bypass all gates. Regular members are gated by SHARE_DOCS_* rights. Legacy sessions without memberType get temporary full ...

kamo·4mo ago
Fixkamo-internal

Allow any authenticated member to share documents

Remove role-based gate on share dialog — any logged-in member can share. The previous check required isTeamMember (from session memberType) or specific SHARE_DO...

kamo·4mo ago
FixDocsService

Correct member name access in resolveAlias endpoint

member.getNameFirst() doesn't exist — name is on User.getName(). Use getMemberDisplayName() helper which correctly navigates the member -> user -> EmbNameFull p...

Kamo·4mo ago
Fixkamo-internal

Import blake3 from blake3/browser to initialize WASM correctly

blake3/esm/browser requires manual WASM provisioning; blake3/browser does it automatically.

kamo·4mo ago
April 15, 2026
Fixkamo-internal

Gate Folder and Doc Type columns/fields on allowFolders and allowDocType

When folder or doc type features are disabled for an assoc type, hide the corresponding datagrid columns and upload form fields consistently.

kamo·5mo ago
Fixkamo-internal

Align upload fields with consistent MUI TextFields, always show folder and doc type

Replace raw <select> elements with MUI TextField select for consistent styling and alignment with the Description field. Folder and Doc Type fields are now alwa...

kamo·5mo ago
FixDocsService

Remove auth requirement from backfill-thumbnails endpoint

This is an internal admin maintenance endpoint that needs to be callable from within the cluster without user authentication.

Kamo·5mo ago
Fixkamo-internal

Accept all file types for upload, use server-side blacklist instead of whitelist

Replace hardcoded ACCEPTED_EXTENSIONS whitelist with server-provided extBlackList from assoc-config. All file types are now uploadable unless explicitly blackli...

kamo·5mo ago
FixDocsService

Use RandomAccessReadBuffer instead of ByteArrayInputStream for PDFBox 3.x

**************** was removed in PDFBox 3.0 — use RandomAccessReadBuffer(byte[]) which implements RandomAccessRead.

Kamo·5mo ago

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei