Fix dovecot_config_version to 2.4.2 (matches installed version)
Use Dovecot 2.4 with proper configuration
- Use Alpine latest (has Dovecot 2.4) - Add dovecot_config_version = 2.4 as FIRST setting (required) - Fix Dovecot SQL user_query to include mail location - Ver...
Remove dovecot_config_version - Dovecot 2.3.17.1 doesn't recognize it
Add dovecot_config_version = 2.3 as first setting (what Dovecot requires)
Use Alpine 3.15 - has Dovecot 2.3.16 without config version requirement
Use Alpine 3.17 with older Dovecot version (no config version requirement)
WORKING SOLUTION: Alpine-based Dovecot with MySQL backend
- Use Alpine Linux base image with Dovecot installed from packages - Dovecot config created inline - no Docker image restrictions - Full control over configurat...
Add initial accounts to postfix-accounts.cf for docker-mailserver
- docker-mailserver requires at least one account in postfix-accounts.cf - Added sage@, support@, sysadmin@kamocrm.com with hashed passwords - Password hash gen...
Replace separate Postfix/Dovecot with docker-mailserver integrated solution
- Deploy docker-mailserver **************** - Integrated Postfix + Dovecot in single proven container - Configure MySQL backend for virtual mailboxes/domains/al...
Try older Dovecot Alpine image to avoid strict config requirements
- Switch from dovecot/dovecot:latest to dovecot/dovecot:2.3.21-alpine - Older version may not have strict dovecot_config_version requirement - Keeps all databas...
Dovecot config iteration - simplified further
- Removed problematic includes and dict blocks - Simplified to minimal configuration - Note: The official dovecot/dovecot image has strict config requirements
Simplify Dovecot config - remove problematic version include
- Remove dovecot-version include that was causing errors - Use simpler configuration with just protocols and protocol includes - Restarted Roundcube pod to trig...
Fix Dovecot version requirement and create roundcubemail database
- Dovecot: Add dovecot-version.conf.ext include (required as first setting) - MySQL Job: CREATE DATABASE roundcubemail before granting permissions - Fixes 'The ...
Simplify Dovecot config and fix MySQL permissions job
- Dovecot: Use single complete dovecot.conf instead of conf.d fragments - Dovecot: Simplified configuration with minimal working setup - MySQL Job: Use root cre...
Fix Dovecot configuration and add permissions job to CI/CD
- Dovecot: Move passdb/userdb config directly into 10-auth.conf - Dovecot: Remove problematic auth-sql.conf.ext include - CI/CD: Add mysql-permissions-job.yaml ...
Fix Dovecot auth syntax and Roundcube database permissions
- Dovecot: Fix auth-sql.conf.ext syntax - passdb/userdb need section names - MySQL: Grant ALL PRIVILEGES on roundcubemail database to kamo user - Add mysql-perm...
Fix Dovecot and Postfix configurations to resolve CrashLoopBackOff
- Dovecot: Use conf.d structure with official Dovecot image defaults - Dovecot: Split config into individual files (10-auth, 10-mail, 10-master, 10-ssl) - Postf...
Fix kubeconfig setup in CI/CD to use Tailscale IPs directly
- Replace sed commands with kubectl config set-cluster for reliable connection - Use 100.64.1.1 for K1M1 and 100.64.2.1 for K2M1 directly - Fixes 'dial tcp 100....
Add complete mail server infrastructure with Postfix, Dovecot, Roundcube, and MySQL
- Deploy mail server (MySQL, Postfix, Dovecot, Roundcube) to K1M1 only - Configure HTTPS access via Traefik at https://mail.kamocrm.com - Set up multi-domain su...
Fix NATSサブスクリプションエラー処理 - 「Consumer既にバインドされている」エラーを扱い、クリーンアップロギングを改善
Fix ChatBoxのサブスクリプションループとNATSクリーンアップ - useEffectの再実行を防ぐためのコールバックの ref を使用して、NATSのエラー処理を改善
Update Janus TURN server configuration to use kamocrm.com:3478
Add room creation to startVideoCall and startScreenShare functions
Add extensive logging to VideoRoom onmessage handler and join success callback to debug publisher subscription
Fix build error - remove incomingCallId from console.log (not in scope)
セッションのバリデーションをsubscribeToPublisherで修正 - セッションが使用前にメソッドを添付していることを確認してください
Add extensive SockJS connection error logging to diagnose connection failures
RememberMe の値と型変換用のロギングを追加
- 文字列/boolean/number を扱うために RememberMe の型変換を追加します - ロジックを設定するクッキーをトレースするために詳細なロギングを追加します - ログメモ値と型をデバッグするクッキー設定の問題
USERNAMEとREMEMBER MEクッキー操作のための包括的なロギングを追加
- ページの読み込みにCookieの読み込みのための詳細なログを追加 - ログイン応答後にクッキーが設定されていることを確認するためにログを追加 - ログインAPIでSet-Cookieヘッダーのロギングを追加 - デバッグのためにページの読み込みにすべてのCookieをログオン
隠れたユーザー名フィールドを更新して、remount 用のフォームキーを使用する
- ログアウト後に強制的なリマウントにキーを追加 - すべてのユーザー名関連のフィールドがログアウト後に完全に新鮮であることを確認
ブラウザの自動充填を防ぐため、ログアウト後の強制フォーム再マウント
- ログアウト後にコンポーネントのリマウントを強制するformKeyの状態を追加します - フォームキーを含むTextFieldキーを変更する - フォームキーを含むモーション.divキーを変更 - ランダム化されたフィールド名と autocomplete=off と組み合わせて、ブラウザの自動充填を完全に防止 - ロ...
ブラウザの自動入力認識を防ぐためのランダム化フィールド名を使用する
- 各ページの読み込みのユーザー名フィールド名用のランダムサフィックスを生成する - ブラウザがページ負荷の1つと同じフィールドを認識しないようにする - 古いユーザー名オートフィルを完全に防ぐためにautocomplete=offとstate clearingと結合
ログアウト後の古いユーザー名の復元からブラウザのオートフィルを防ぐ
- ユーザー名フィールドの「ユーザー名」から「オフ」にオートコンプリートを変更 - フォームの自動補完を「オン」から「オフ」に変更する - ログアウトから来るときのユーザー名とパスワードの状態をクリア - ユーザーが戻ってクリックしたときに、ブラウザが以前のユーザー名の自動入力を防止 - ログアウト後に新しいログインフ...
ログアウト中にすべてのクッキーを不正に削除する
- kamo-loginのログアウトページ(client-side)上のすべてのCookieを削除 - kamo-login ログアウト API (server-side) のすべてのクッキーを削除します。 - ローカルストレージとセッションをクリア - すべてのドメイン/パスの組み合わせでクッキーを削除 - ログアウ...
Delete ALL cookies indiscriminately during logout
- Delete all cookies on kamo-internal logout page (client-side) - Delete all cookies on kamo-internal logout API (server-side) - Clear localStorage and sessionS...
Invalidate existing session before validating OTK
- Check for existing *** cookie in validate request - Clear and delete any existing session before validating OTK - Verify session data is not empty JSON (clear...
Invalidate existing session before creating new one during login
- Check for existing *** cookie in login request - Delete/invalidate existing session before creating new one - Prevents reusing old session cookies when loggin...
Disable activity tracking and session extension during logout
- Add disableClientActivityTracker() function to stop activity tracking - Stop session monitor when logout is initiated - Prevent screen movement/activity from ...
ログアウトエンドポイントでキーを削除する前に、セッションデータを消去
- セッションデータをキーを削除する前にJSONを空にする - 削除が失敗しても、またはレプリケーションの遅れがある場合でも、セッションが利用できないようにする - 削除が失敗した場合、フォールバックでエラー処理を追加 - セッションデータが消去されたかどうかを示すロギングを改善 - getRedisReadClien...
Clear session data before deleting key in logout endpoint
- Set session data to empty JSON before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handling wi...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
