電子メールビューペインの水平オーバーフローを3番目の列に保持
- MessageBrowser の外コンテナにハード境界としてオーバーフローx-hidden を追加 - 列3ラッパーとオーバーフローx-autoにオーバーフローx-hiddenをメールコンテンツエリアに追加する - 制約SanitizedEmailRenderer Shadow ホストと max-w-full オー...
Coqui TTSをPiper TTS(en US-norman-medium)に置き換える
Coqui VCTKモデルには、スピーカーの名前が付けられていないため、Piper TTSに置き換えられます。 正確にノーマン[中] 声。 パイパーバイナリ(〜3 MB)とモデル(〜60 MB) 最初に実行してキャッシュされた init コンテナによってダウンロードされます。 /var/lib/piper/{bin,m...
Reset stale hasAttachments on sync and accumulate correctly
- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...
返信/フォワードおよび修正の送信先のアドレスに事前に入力
- DraftMessageは、OpenNewMessageから流れているので、今から運びます 作曲者へ - MessageBrowser は、アクティブなメールボックスのメールアドレスを格納します。 個人的なメールボックスは、返信/フォワードを開くときにそれを渡す - MessageToolは、初期データからMetア...
送信先のアドレスオーバーライドのサポート
FromAddressRequest を emailSendRequest に追加して、フロントエンドを指定できます alias/shared/mailbox アドレスから送信する。 SmtpOnlyProvider リリース 現在、ヘッダのアドレスを継承し、 設定されていないときにプロバイダの設定メール.
Split-DNS/LANクライアント RTP 修正用に local net を追加
K1m1と同じLAN上の電話は、分割されたDNSを介して接続します(ドメインが解決する) 192.168.4.22 内部で。 local net がなければ、Asterisk はまだ広告しています SDP の外部ドメインを LAN クライアントにルーティングし、パブリック IP 経由で RTP をルーティングします。 ...
Persist の sorcery contact=memory の苦境およびブロック SIP の走査器 の start.sh
- Asteriskが始まる前に、 [res pjsip] contact=memory を sorcery.conf に注入します。 デフォルト sorcery-astdb SQLite バックエンドは、すべての REGISTER コンタクトを静かにドロップします。 - 既知のSIPスキャナー87.246.54.22...
Sub-tab content fills full content-area width
Drop the centered max-width constraint (was 920 / 1200 / 680 / 720 depending on tab) on SubTabShell. The page already lives inside SettingsView's content column...
Fix attachment parsing and hasAttachment false positives
Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...
Add download button to classic view attachment section
The classic view (MessageBrowser) had its own attachment list that was missing the download button — only the conversation view was fixed previously. Also align...
Add com.kamo.z.shared.commerce to EnableJpaRepositories scan
**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...
適切なレイアウト、パディング、および提供者のロゴ
レイアウト/間隔の修正: - 6つのタブ(プロバイダー、エクステンション、電話ユーザー、デバイス、ボイスメール、健康) TabShell に px:{xs:2,md:3} py:3 pb:6 のパディングでコンテンツをラップするようになりました パネルの端に対してボタンをもはやbutt。 - スティール2列タブヘッダー...
Correct field name and type in getFromAddresses response
Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...
Load FROM addresses from accessible mailboxes and aliases
Replaces the broken getFromAddresses() endpoint (which sent 'email' instead of 'address') with getAccessibleMailboxes() + listMemberAliases(), matching the same...
CockroachDB対応DROP INDEX CASCADE構文を使用する
CockroachDB は、ALTER TABLE ... DROP CONSTRAINT を UNIQUE 制約で拒否します。 unimplemented: UNIQUE制約 "uk org oauth provider" は使用できません。 ALTER TABLE DROP CONSTRAINTは、代わりにDRO...
リポジトリのスキャンにcom.kamo.z.shared.commerceを含める
最新のkamo-shared-library伝搬 メニュー (donotmodify.dao.services) はコンストラクタの依存性を持つ メニュー メニュー ザ・オブ・ザ・ サービスは VOIPService のコンポーネントのスキャンによってロードされますが、そのリポジトリは スコープから、スタートアップでU...
添付ファイルのダウンロードボタンとデカップリングマークを読み取ります
- 各添付行にダウンロードアイコンボタンを追加すると、ユーザーは強制的にできます 新しいタブで開くのではなくファイルのダウンロード - Decouple markConversationスレッドロードトライ/キャッシュから読み込むので 一時的なOTK/networkは偽の糸負荷として表面を失敗しません エラーやメールを...
MinIO (rclone FUSE) からローカル /var/lib/pbx に移動する
Rclone FUSE による MinIO は POSIX chmod や symlink() をサポートしていません。 FreePBXのモジュールシステムが必要です。 すべてのFreePBXとMariaDBを変更 hostPath は /mnt/shared-files/pbx/ から /var/lib/pbx/ ま...
MinIO FUSE hostPath 用の PHP 経由で fwconsole/amportal をラップ
/var/lib/asterisk は、サポートしていない rclone FUSE 経由で MinIO がバックアップされます。 POSIX chmod なので fwconsole スクリプトは、そのボリュームで実行可能にすることはできません。 boot.sh は ephemeral /usr/local/bin で ...
プレストップホックと終了GracePeriodSecondsを追加
コンテナは、バックグラウンドAsteriskのために用語集に立ち往生していた apache2ctl (PID 1) が終了した後に実行されるプロセス。 preStopのホックは送ります Kubernetesが容器を殺す前にAsteriskにSIGTERMはきれいにすることを可能にします ポートのリリースと、次のPodが...
Boottrap.php を追加して /etc/freepbx.conf を再生成する必要があります
インストーラは、datasource='' と require once で freepbx.conf を記述します。 boottrap.php では、config.php は FreePBX のクラスを読み込みます。 「Class FreePBXが見つからなかった」という2つのバージョンがリリースされました。 すべて...
再起動時に /etc/freepbx.conf を再生する
/etc は ephemeral ( hostPath ではなく) なので /etc/freepbx.conf は インストーラは、すべてのPodの再起動で失われます。 再生するブランチを追加 boottrap.php が既に存在しているときに env vars から、admin UI は 続いているすべてのブーツでM...
Start asterisk をバイパスし、代わりに制御ソケットを待ちます
start asterisk は `pidof asterisk` を使って、 Pod で false 正を返します。 再起動すると、待ち合わせループが掛かるようになります。 スタートアップ.shが始まります Safe asterisk 経由で直接アスタリスク(階段ソケット/ピッドファイルをクリアした後) 制御ソケット...
バックグラウンドでAsteriskを起動し、それを待って、インストーラを実行します
Entrypoint.sh は FreePBX インストーラーを実行していません。 サービス。 boot.sh は、エントリーポイントのセットアップ手順を再現しました。 バックグラウンドでAsterisk、そのソケットが準備されるのを待ってから、実行します php は最初の起動時にインストールします。その後、Apach...
エントリーポイント ハンドル インストール, 起動しません.sh
FreePBX インストーラー (php install -n) は、Asterisk が必要です。 ランニング。 スタートアップ.sh は、Asterisk が起動する前に呼び出されました。 「Asteriskで通信するエラー」クラッシュ。 スタートアップ.sh は待ち合わせのみ MariaDB と Apache の...
/etc/asterisk を /etc だけマウントし、PHP の単純なxml エラーを修正
HostPath のボリュームとして /etc をマウントすると、PHP の拡張子が破損していた 画像から参照した後でも読み込み — easyxml load file undefined インストール時間 今だけ/etc/asteriskは主張されます;/etcはから来ます PHP の config の intact...
CPUの限界を2:1の比率に減らして下さい過コミットを除去して下さい
Docs 4→1 コア、ジブリ 4→2 コア、libretranslate 2→1 コア、 ベルガモット2→1コア、コターン1→0.5コア。 ノードの制限を離れた~7.5コアを保存します.
正しいアーキテクチャでescomputers/freepbx:17に切り替える
疲労/freepbx に FreePBX 17 イメージがありません(2022 年以来の放棄)。 escomputers/freepbx:17 (updated Apr 2026, Asterisk 21 + FreePBX 17) 必要 別の MariaDB pod と 1 回 php のインストール手順。 変更点...
バイナリの破損を防ぐために転送する前にフォームデータを解析
multipart/form-data 上での.text() リクエストはバイナリファイルバイトを破損します。 parsed FormData を init.body として渡しますので、foreToApi は request.text() をスキップします。 正しい境界でクリーンなマルチパートを再生できるようにします...
MinHeight:100vh を削除して、ダブルスクロールバーを引き起こします
外箱の minHeight:100vh はレイアウトの calc (100vh - 56px) を超過しました ブラウザレベルのスクロールと内部の両方を引き起こしたコンテナ overflow:auto は同時に活動的です。 高さ:100%だけで十分です.
ドロップ・ストール セキュリティ・モデル・テーブルからのペイ・コラム・ヘッダー
従業員の自己支払いカモ手数料が削除されたとき、マッチング 行体内のテーブルセルは削除されましたが、ヘッダ行はまだ持っていました チームメンバー Pay' セル、すべての体列を 1 つのスロットにシフト ヘッダーの左。 orphanedヘッダーを削除して、カラム/ヘッダ 幅は再び並べます.
GoDaddy 400の間違いの背後にある実質の理由
GoDaddy は code=UNABLE TO AUTHENTICATE と body で HTTP 400 を返すようになりました 口座が現在のところ満たない場合は「悪いリクエスト」 生産 ドメイン API の適格性 (10+ ドメイン アカウントまたはアカウント) アクティブな割引ドメインクラブ会員). 資格情報...
Censorship sub-tab は、仕様ごとに ATF を最初にレンダリングします
要求された注文に合わせて、Censorshipサブタブカードを注文します。 1. アルコール、タバコ及び防火薬 2. 許可されたメンバーの年齢の範囲 3. 許可された従業員(チームメンバー)の年齢範囲 他のサブタブは、すでに正しい順序でありました(一般: 基本的な情報/可視性/作成できる人/プラットホームの設定/ ド...
FindByIdWithDomainsによるEager-loadドメイン、drop @Transactional
コントローラーメソッドの@Transactionalは、DB接続を間接的に保持します。 MinIOアップロード全体で、LazyInitializationExceptionもリスク 解決前の内部 getOrganizationById トランザクションコミットPrimaryDomain org.getDomains()...
ApiPath から重複 ?type= を削除
forwardToApi は、元の から incomingSearch (?type=...) を既に追加しています。 リクエスト URL. ?type= を apiPath で生成した秒間埋め込む ?type=full?type=full はバックエンドで、 Spring は次のようにタイプします。 "full?ty...
Int64 会員 ID のメールボックス スイッチャの復元
GetMemberIdString をメールボックス/member fetch に使用し、id/mailboxId を正規化します。 emailService から、スイッチャをアクセス可能な個人から動かして下さい JS 番号の coercion が ID の精密を除去できないので利用できる場合の mailboxes.
Config.json からの themeRevision を使用して Cache-bust ロゴ URL
DynamicMetaLoaderがテーマを記憶するセッションの修正 config.json をフェッチした後、KAMO THEME CONFIG LOADED。 ThemeLogoが聴く そのイベントのために、 ?v={revision} クエリパラメータを再適用し、強制 ブラウザは、更新されたロゴをキャッシュされた...
Config.json からの themeRevision を使用して Cache-bust ロゴ URL
DynamicMetaLoaderがテーマを記憶するセッションの修正 config.json をフェッチした後、KAMO THEME CONFIG LOADED。 ThemeLogoが聴く そのイベントのために、 ?v={revision} クエリパラメータを再適用し、強制 ブラウザは、更新されたロゴをキャッシュされた...
直接アップロード/{domain-folder}/img/ ではなく、ステージングバケット
UploadLogo エンドポイントはハードコードされた 'sumtingwong' プレースホルダーに書いていました (unfilled set) の代わりに org の実際のパブリックテーマパス。 今のロゴ 直接****************またはロゴフル.{ext}に移動します。 - copyFolder は...
エッジノードのデフォルトからダウンした k2m1 ノードを削除します
k2m1 (10.8.2.1)は永久にダウンします。 フェイルオーバーリストでそれを残す 新しいOkHttpのタイムアウト火まで掛けるためにリトリートをアップロードしました。 デフォルト k1m1-only; k0m1コールドノードはフォールバックとして残っています.
OkHttpClient 経由で MinioClient に connect/write/read のタイムアウトを適用します
タイムアウトなし, ダウンされたサイト·レプリケーションピア (k2m1) 原因makeBucket と、pputObject は無期限にブロックする呼び出しをします。 ロゴのアップロードUIの「保存...」。 OkHttpClient が 30 秒を強制できるようになりました MinIOConfig で宣言されている...
Mailbox チェックボックスは org domains を読み込み、プロバイダードメインではなく
前の配線は /api/email/domains を読みました (email provider domains) テーブル)。 そのテーブルは、サードパーティの電子メールプロバイダでのみポップアップされます 統合はセットアップされます — カモメールのorgsで空の — なので、フォームは言った orgが完全に持ってい...
Unwrap {markets:[...]} は Attach ダイアログでエンベロープ
GET /api/security/Commerce-markets は { 市場: [...], メッセージ: "..." }, bare 配列ではありません。 Attach Commerce Market ダイアログが全体を扱う 配列として応答し、'a.filter で吹くことは関数ではありません' (そして偽りに...
OTK-redirect を proxy.ts にマージし、重複する middleware.ts を削除
Next.js 15 は、ミドルウェアとプロキシの両方が存在するときにビルドを拒否します。 ザ・オブ・ザ・ ミドルウェアに住んでいたOTKハンドオフリダイレクト — 任意のリクエストをリクエストを送信する ?otk=... を /validate にすると、OTK は実際に消費されます。 auth/access-rul...
Redis master と dedupe OTK POST から新しい***を読みます
Replica は、OTK 交換後、新鮮に書かれたセッションを見逃してしまった。 偽の失敗とログインリダイレクト。 otk が存在しているときにイントロ遅延をスキップします。 Strictモードの倍の台紙のための共有の機内検証の約束.
/platform/orgs の非配列応答に対する監視
非配列応答(空体、エラーエンベロープ、または{data: [...]}ラッパー) orgsの状態に着陸し、レンダーを吹き上げる 'e.map は関数ではありません。 Array.isArrayの背後にある状態の更新をゲートします。 {data: [...]}を許容する envelope と、インラインのエラーを inl...
/network を強制する ルール サーバー側
ターゲットが現在のセッションorgの場合、カスタムドメインSSLは拒否されません 確認、またはヒトターゲット会員は非アクティブです。 ドメイン設定を共有する OrgNetworkEnterPolicy 経由でmy-networks とロジック; ロードターゲット org と findByIdWithDomains によ...
宛先メンバーを要求し、orgメンバーシップを検証
Enter-as は、クライアントが提案したターゲットで、常に新しい *** を構築します。 会員の行; 不一致した org/member を拒否します。 セッションデバッグログを改善します.