CollaboraのWebSocket接続をプロキシ経由で復元する
ブラウザからcoolwsdまでのソケットハンドシェイクの失敗を追跡し、CODE 26.04 Apacheの変更を含め、リバースプロキシのルートをCollaboraのバージョンに一致させます。
Collabora Onlineで画面上のキーボードがアクティブな行を覆ってしまう場合は、まず変更を保存し、キーボードを閉じて、カーソルがカーソルの上に表示されるまでドキュメントをスクロールしてください。それでも問題が解決しない場合は、同じファイルをフル機能のモバイルブラウザで開いてみてください。これにより、原因がブラウザ、埋め込みWebView、またはCollaboraがホストされているページのいずれにあるのかを特定できます。
モバイルキーボードの重なりをすべて解決する単一のユーザー設定はありません。Collabora Onlineはブラウザまたは他の製品の統合内で動作するため、利用可能な解決策は、エディタの高さが間違っている原因となっているレイヤーによって異なります。以下のチェック項目は、一時的な編集回避策と、管理者またはアプリ開発者が行う必要のある変更を区別するためのものです。


これはレイアウトを修正するのではなく、現在の表示を変更するものです。カーソルが次のキー入力までしか表示されない場合、またはキーボードを開いたときにページがジャンプする場合は、ブラウザとホストのチェックを続行してください。
同じファイルで同じ編集操作を繰り返し、失敗する箇所を記録してください。CollaboraはCollabora Onlineをレスポンシブなブラウザエディタと説明し、独立したモバイルアプリであるCollabora Officeとは区別しています。これらのパスでは、異なるブラウザエンジン、ホストコンテナ、キーボード処理が使用される可能性があるため、製品の不具合を報告する前に、同じ条件で比較してください。
Collaboraの公式FAQでは、モバイルブラウザでのレスポンシブなCollabora Onlineの利用方法について説明しています。モバイル製品の概要では、ブラウザ版Collabora Onlineと専用モバイルアプリについてそれぞれ個別に解説しています。バグ報告を送るチームを選択する際は、この違いを考慮してください。

モバイル端末では、ビジュアルビューポートとは画面に現在表示されているページの領域のことです。キーボード操作によってビューポートを縮小しても、ページのレイアウトビューポートは変わりません。MDNによると、ビューポートの動作はブラウザによって異なります。埋め込み環境では、最上位のホストページには有用なビジュアルビューポートの測定値が含まれている場合がありますが、iframe自体の測定値はキーボード操作で調整された画面サイズを同じように表すとは限りません。
キーボードが開いたときにホストページが正しく応答することを確認してください。エディタフレームは使用可能な高さに収まり、キャレットは移動可能な状態を維持し、ページはフレームをスクロールして表示できる必要があります。キーボードによって表示領域が変更されないことを前提とした、固定ピクセル高さや常時全画面表示のフレームは避けてください。外側のページのビューポートのリサイズイベントとスクロールイベントを使用してエディタに使用可能なスペースを再計算し、ユーザーが実際に使用するブラウザとデバイスでテストしてください。MDNには、このような表示領域の変更に関するVisualViewport APIとそのリサイズイベントの説明があります。
一部のブラウザは、仮想キーボードが表示されたときにページコンテンツのサイズを変更するようにブラウザに要求するビューポート設定もサポートしていますinteractive-widget=resizes-content。これはホストページのレイアウトに影響し、ブラウザのサポート状況は統一されていないため、Collabora の汎用的な修正として追加しないでください。デプロイする前に、メニュー、ツールバー、スクロール、キーボードの非表示など、埋め込みエクスペリエンス全体をテストしてください。このオプションについては、MDN のビューポートメタリファレンスで説明されています。
アプリ開発者に、WebView を含む Activity を検査するように依頼してください。Android の公式ガイダンスによると、android:windowSoftInputMode="adjustResize"アプリのレイアウトはキーボードによって空いたスペースに合わせてサイズ変更され、スクロールが必要な場合でもコンテンツにアクセスできるようになります。Collabora を埋め込んだアプリの場合、Activity マニフェストには以下が含まれる可能性があります。
<activity
android:name=".EditorActivity"
android:windowSoftInputMode="adjustResize" />アクティビティ名と既存のマニフェスト属性はアプリによって異なります。重複するアクティビティを追加するのではなく、この設定を現在の宣言にマージしてください。この Android 設定は、ネイティブ Android アプリまたは WebView ホストに適用され、通常のブラウザ タブや iOS には適用されません。アプリのビルドを変更する前に、Android キーボードの表示に関するガイドを参照してください。

ウェブページがクラウドストレージプロバイダーまたは組織によって管理されている場合、ユーザーはフレームサイズを変更できない可能性があります。チェックリストと再現手順の詳細をそのサービスの管理者に送信してください。ホストページまたはアプリの所有者のみが、ビューポートまたはWebViewの設定を変更できます。
ブラウザからcoolwsdまでのソケットハンドシェイクの失敗を追跡し、CODE 26.04 Apacheの変更を含め、リバースプロキシのルートをCollaboraのバージョンに一致させます。
Collabora WOPI 認証の失敗を、鍵の不一致、古い検出データ、クロックのずれ、プロキシ URL の変更などが原因で発生する場合でも、検証の信頼性を損なうことなく追跡できます。
ブラウザのズームをリセットし、クリーンなセッションをテストし、サイズが不正なメニューにCollaboraサーバーのアップデートが必要なタイミングを特定します。
Collabora CODEをDockerでデプロイし、Nextcloud Officeに安全に接続し、実用的なWOPIおよびプロキシチェックでドキュメント編集を検証します。
一時的にcoolwsdをデバッグモードに上げ、オープンに失敗したログを1つキャプチャし、ログシーケンスを使用してWebSocket、WOPI、プロキシ、およびコンテナの問題を分離します。
Collabora OnlineのDockerまたはLinux用の管理者ログインを設定し、適切なサービスを再起動し、新しいパスワードを公開せずに検証してください。
Collaboraの設定を変更したりサービスを再起動したりする前に、CPU負荷の原因がアクティブなドキュメント、アイドル状態のワーカープロセス、またはサーバー容量のいずれにあるかを確認してください。
DockerがCollabora CODEのメモリ使用量を制限しているかどうかを確認し、Composeのメモリ制限を安全に引き上げ、実行中のコンテナが新しい制限値を受け入れたことを確認します。
Collabora CODEをコンパクトモードまたはタブモードとWOPI PostMessageコントロールで簡素化し、選択したボタン、コマンド、タブを安全に非表示にできます。
Collabora CODEコンテナのHTTPSをNginxに任せ、WebSocketのフォワード編集を正しく行い、ポート9980を公開せずにパブリックエンドポイントを検証します。