Skip to content

Design v2 の実装と受け入れ ​

ローカルの Design v2 カタログには 110 シーン/120 件の有効な機能項目があります。コメントアウトされた CRC ダイアログ F066 は除外します。ネイティブ実装は各シーン群と、2026-10-14 のレビューで見つかった 9 件の機能不足をカバーします。この台帳は実装済みの操作と、実サービス・OS での受け入れを区別し、ピクセル単位での設計一致を主張するものではありません。

internal/app/testdata/design-v2-scenes.json でシーン ID を固定します。TestDesignV2Scenes は アプリが管理する 104 シーンのフィクスチャを 5 言語 × 2 テーマ、900 × 620 で描画します。1,040 件の検査は翻訳漏れや閉じる操作の欠けを検出しますが、すべての操作を個別に証明するものではありません。make snapshots は英語のライト/ダーク画像を出力します。D11、D12、D47、D53、D54、D55 は OS 所有の画面または引き渡しであり、ヘッドレス描画数から除外します。

既存の機能 ​

これらの機能はネイティブビューとサービスアダプターに接続されています。レビュー後の対応には完了した 9 グループと回帰テストの範囲を記録しています。

  • 接続:AK、STS、認証コード、HTTPS Endpoint モード、リクエスタ支払いへの同意、資格情報ストアによるログイン保持、期限/読み取り専用の強制、履歴、ブックマーク、ホームディレクトリ。
  • 閲覧:一覧/グリッド、プレフィックス検索とページ分割、アドレス移動、コンテキストメニュー、複数選択、ドラッグ&ドロップの計画、上限付き画像サムネイル。
  • Bucket:リージョン別ストレージ選択、公開 ACL の明示確認、空 Bucket の削除、ページ分割したマルチパート検索とキューでの清掃。
  • オブジェクト:再帰的なコピー/移動/名前変更/削除、同一リージョンの Bucket 間貼り付け、競合確認、項目別結果、HTTP ヘッダーとメタデータ、シンボリックリンク、アーカイブ復元、復元状態に応じたプレビュー。
  • プレビュー:テキスト編集/Diff/未保存変更の保護、画像ズーム、ネイティブ WebView の音声・動画、文書/FLV/未対応形式の明示的な代替動作。保存時はヘッダー、メタデータ、タグ、ACL、ストレージクラスを保持します。既定はコピー作成で、元の置換には明示選択と ETag 事前確認が必要です。
  • 共有:公開 ACL 検証、期限付き署名 URL、カスタム/高速化ドメイン、QR 生成、クリップボード/ブラウザーへの引き渡し、確認後の SMTP メール。
  • ID 管理:RAM ユーザーと AccessKey、ユーザー/グループ/ロールへのポリシー付与、複数オブジェクトのポリシー、新規ユーザーのコード、STS ロールのコードと期限。部分的に完了した付与はダイアログ内に保持し、再試行できます。
  • 転送:アップロード/ダウンロードの個別制限、上限付き自動再試行、一時停止/再開/削除/クリア、診断詳細、永続的なファイル転送復旧、CRC/ETag 検証。
  • 設定/配布:自動保存する独立した 5 カテゴリーの設定ダイアログ、システムテーマと言語、検索/クリア可能なセッション診断。更新フィード/鍵を設定したビルドでは署名パッケージの自動取得、説明、進捗/エラー/再試行、確認付きインストールと再起動を提供します。未設定なら手動ダウンロードを提供します。

レビュー後の対応 ​

2026-10-14 の检查设计页面实施情况レビューで 9 件の機能不足を確認しました。以下の変更で各グループを完了しています。パスはリポジトリ基準です。設計基準に記載したローカルカタログと previews/all が引き続き見た目の参照資料です。

範囲の判断:FLV 再生 ​

internal/app/preview_media.go の D25-flv は外部で開く/ダウンロードする代替動作を保持します。アプリ内デコードは別の範囲判断です。

証拠と残りの受け入れ ​

シーンのフィクスチャは独立した確認、編集可能な保存 Diff、RAM 結果/メール失敗、設定画面、一括結果、更新の準備完了を表します。専用テストはキャンセル、下書き/資格情報の保持、古いコールバック、メタデータ重複、範囲限定ポリシー、準備済み更新を検証します。一部の別のエラーフィクスチャは汎用ネットワークエラーのままです。描画範囲だけでは実サービスの動作を証明できません。実アカウント、コーデック、OS、署名付き配布の受け入れは下記とリリースで追跡します。

本番との境界 ​

実装時には実際の OSS/RAM/SMTP リクエストを実行していません。アカウント資格情報、Windows/Linux デスクトップ環境、配布用署名設定は、リリースの記載どおり所有者が提供する受け入れ条件です。macOS のネイティブ起動はスモークテストにすぎません。WebView のコーデック、OS ダイアログ、資格情報ストアの確認、実際のアーカイブ待ち時間、署名付き更新のインストールには該当環境が必要です。

ローカル検証 ​

2026-10-14 の macOS でのローカル検証は完了した後続作業を対象とし、実環境の受け入れを代替しません。

  • go test ./...、go test -race ./...、go vet ./...、go tool mygo vet が合格しました。
  • 全 1,040 件のシーン検査が合格し、make snapshots で視覚回帰画像を出力しました。
  • macOS のネイティブ起動/キャプチャとパッケージ化が合格しました。Windows/Linux のクロスコンパイルは以前の基準レビューに記録済みですが、実デスクトップ実行は未確認です。
  • ドキュメントの型検査と本番ビルドが合格し、Go の書式と空白検査も問題ありませんでした。

アプリケーションの制限 ​

以下は意図的な制限としてアプリに表示されます。

  • 接続は HTTPS です。リモートテキストの読み込み上限は 8 MiB、編集可能な UTF-8 は 5 MiB、画像デコードは 2,000 万画素です。文書と FLV は外部で開く/ダウンロードを提供します。未対応コーデックの挙動はインストール済みのネイティブメディアエンジンに依存します。
  • メタデータの自己コピーは 1 GiB までです。再帰計画は一意のキー 100,000 件で停止します。サーバー側の Bucket 間コピーは同じリージョンが必要です。オブジェクト変更はセッション限定ですが、ファイル転送記録は再接続後も残ります。
  • OSS ETag の事前確認後の削除/置換はアトミックではありません。同時書き込みを避けてください。バージョニングされた Bucket では上書き禁止の意味が異なり、明示的な置換は新しいバージョンを作る場合があります。
  • SMTP は暗黙的 TLS または STARTTLS が必須です。秘密情報はメモリまたは OS ストアに保存します。RAM AccessKey Secret はこのダイアログで作成した時だけ表示し、既存の Secret は RAM から取得できません。
  • 複数オブジェクトの付与は受信者の閲覧用に共通親ディレクトリの一覧を許可しますが、読み書きは選択リソースに制限します。付与前に編集可能なポリシーを確認してください。
  • 削除した転送記録には削除マーカーを使い、遅い完了処理による復活を防ぎます。タスク削除後も再開用の部分データは残り、マルチパート削除は確認付きの別操作です。
  • 未署名の開発ビルドは更新をインストールできません。署名付きリリースの準備で mygo.json に信頼できる発行者の公開鍵と更新フィードを設定する必要があります。この実装が信頼鍵を勝手に生成することはありません。

シーン台帳 ​

下表の「UI」は TestDesignV2Scenes にネイティブ状態のフィクスチャがあることを示し、設計上の操作や見た目の完成を意味しません。レビュー後の対応と併せて読んでください。サービステストは注入した HTTP 応答を使い、クラウドでの受け入れではありません。ディレクトリのないファイル名は internal/app/ 基準です。ID を元のカタログと直接照合できるよう、カタログの中国語原題を保持しています。

シーンカタログ原題実装証拠/外部受け入れ
P01连接 · AccessKeyconnection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P02连接 · 授权码connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P03所有 Bucketbrowser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04对象浏览与详情browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P05上传队列 · 完整状态transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
P06下载队列transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D01连接历史connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
D02退出连接确认connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
D03收藏管理browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
D04创建 Bucketbucket_tools.go, internal/ossclient/buckets.goUI;リクエスト/範囲/ページ分割テスト;実 Bucket は未確認
D05公开访问风险bucket_tools.go, internal/ossclient/buckets.goUI;リクエスト/範囲/ページ分割テスト;実 Bucket は未確認
D06Bucket 访问权限bucket_tools.go, internal/ossclient/buckets.goUI;リクエスト/範囲/ページ分割テスト;実 Bucket は未確認
D07删除空 Bucketbucket_tools.go, internal/ossclient/buckets.goUI;リクエスト/範囲/ページ分割テスト;実 Bucket は未確認
D08上传碎片管理bucket_tools.go, internal/ossclient/buckets.goUI;リクエスト/範囲/ページ分割テスト;実 Bucket は未確認
D09删除上传碎片bucket_tools.go, internal/ossclient/buckets.goUI;リクエスト/範囲/ページ分割テスト;実 Bucket は未確認
D10新建目录object_actions.go, object_clipboard.goUI;再帰計画と部分変更テスト;実変更は未確認
D11选择上传文件与目录internal/desktop, transfer_actions.go, internal/transfers/download_plan.goネイティブ委譲;OS 選択/場所表示とキャンセルは未確認
D12下载保存位置internal/desktop, transfer_actions.go, internal/transfers/download_plan.goネイティブ委譲;OS 選択/場所表示とキャンセルは未確認
D13文件与目录重命名object_actions.go, object_clipboard.goUI;再帰計画と部分変更テスト;実変更は未確認
D14跨桶批量粘贴确认object_actions.go, object_clipboard.goUI;再帰計画と部分変更テスト;実変更は未確認
D15复制移动进度transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D16同名覆盖确认object_actions.go, object_clipboard.goUI;再帰計画と部分変更テスト;実変更は未確認
D17批量删除确认object_actions.go, object_clipboard.goUI;再帰計画と部分変更テスト;実変更は未確認
D18对象访问权限object_actions.go, internal/ossclient/objects.goUI;属性/ACL 保持テスト;実更新は未確認
D19HTTP 头与元数据object_actions.go, internal/ossclient/objects.goUI;属性/ACL 保持テスト;実更新は未確認
D20创建软链接internal/ossclient/advanced.go, object_actions.goUI;リンク・範囲・復元状態/リクエストテスト;実復元は未確認
D21恢复归档对象internal/ossclient/advanced.go, object_actions.goUI;リンク・範囲・復元状態/リクエストテスト;実復元は未確認
D22批量恢复归档internal/ossclient/advanced.go, object_actions.goUI;リンク・範囲・復元状態/リクエストテスト;実復元は未確認
D23文本与代码编辑object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト
D24图片预览object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト
D25视频预览preview_media.goUI 代替動作;ネイティブ再生/コーデックと外部表示は未確認
D26文档预览降级preview_media.goUI 代替動作;ネイティブ再生/コーデックと外部表示は未確認
D27不支持的文件格式object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト
D28保存前差异对比object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト
D29归档预览检查internal/ossclient/advanced.go, object_actions.goUI;リンク・範囲・復元状態/リクエストテスト;実復元は未確認
D31私有对象签名地址internal/ossclient/share.go, object_actions.goUI;QR の完全復号・URL エンコード・ACL・署名範囲テスト;ドメイン連携は未確認
D32邮件发送下载地址mail_tools.go, internal/mailUI;宛先/ヘッダー/キャンセルテスト;実 TLS 配信は未確認
D33简化 Policy 授权ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D34创建子用户并授权ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D35子用户授权结果ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D36设置 · 传输settings_controls.go, system_settings.go, internal/diagnosticsUI;設定検証とログローテーションのテスト
D37目录临时授权码ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D38RAM 用户管理ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D39编辑 RAM 用户资料ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D40删除 RAM 用户确认ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D41AccessKey 管理ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D42禁用 AccessKey 确认ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D43删除 AccessKey 确认ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D44移除未完成任务transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D45清空传输队列transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D46传输详情与错误诊断transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D47下载本地位置internal/desktop, transfer_actions.go, internal/transfers/download_plan.goネイティブ委譲;OS 選択/場所表示とキャンセルは未確認
D48SMTP 测试确认mail_tools.go, internal/mailUI;宛先/ヘッダー/キャンセルテスト;実 TLS 配信は未確認
D49诊断控制台settings_controls.go, system_settings.go, internal/diagnosticsUI;設定検証とログローテーションのテスト
D50关于与检查更新update.go, internal/releases, internal/updatesUI;リリース解析テスト;署名フィード/インストール/再起動は未確認
D51版本发布说明update.go, internal/releases, internal/updatesUI;リリース解析テスト;署名フィード/インストール/再起動は未確認
D52安装与重启确认update.go, internal/releases, internal/updatesUI;リリース解析テスト;署名フィード/インストール/再起動は未確認
D53应用与系统菜单menu.go, commands()ネイティブ委譲;編集/ウィンドウ/アプリのロール;各 OS メニューは未確認
D54单实例窗口激活main.go, application.openWindowネイティブ委譲;インスタンスロックとアクティブ化;各 OS は未確認
D55外部帮助交接window.openDocs, desktop.OpenURLネイティブ委譲;URL ポリシーテスト;ブラウザー引き渡しは未確認
P01-stsSTS 临时凭证connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P01-customize自定义 Endpointconnection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P01-cnameCNAME 自定义域连接connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P01-privateLinkPrivateLink 私网连接connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P01-invalid连接失败与保留输入connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P01-loading正在建立连接connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P02-expired授权码过期connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
P03-gridBucket 图标视图browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P03-empty没有 Bucketbrowser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P03-readonly临时只读会话browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-grid对象网格视图browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-search前缀搜索与无匹配browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-empty空目录browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-loading目录正在加载browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-offline网络中断与重试browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-forbidden无权读取当前目录browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-multi多选与批量操作browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-context对象右键菜单browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-large大列表与增量列举browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P04-clipboard复制移动待粘贴browser_view.go, browser_controls.go, saved_locations.goUI;ページ分割/移動テスト;実 OSS は未確認
P06-failed下载失败与恢复transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D01-clear清空连接历史确认connection_view.go, connection_actions.go, saved_locations.goUI;認証・範囲・接続テスト;実ログイン/資格情報ストアは未確認
D07-nonemptyBucket 非空删除失败bucket_tools.go, internal/ossclient/buckets.goUI;リクエスト/範囲/ページ分割テスト;実 Bucket は未確認
D15-partial复制移动部分失败transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D17-partial批量删除部分失败object_actions.go, object_clipboard.goUI;再帰計画と部分変更テスト;実変更は未確認
D19-batch批量编辑元数据object_actions.go, internal/ossclient/objects.goUI;属性/ACL 保持テスト;実更新は未確認
D23-readonly只读代码预览object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト
D23-oversize文本超过预览上限object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト
D25-audio音频预览preview_media.goUI 代替動作;ネイティブ再生/コーデックと外部表示は未確認
D25-flvFLV 视频预览preview_media.goUI 代替動作;ネイティブ再生/コーデックと外部表示は未確認
D27-error预览加载失败object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト
D31-public公开对象地址internal/ossclient/share.go, object_actions.goUI;QR の完全復号・URL エンコード・ACL・署名範囲テスト;ドメイン連携は未確認
D31-domain自定义域与二维码internal/ossclient/share.go, object_actions.goUI;QR の完全復号・URL エンコード・ACL・署名範囲テスト;ドメイン連携は未確認
D33-group授权给用户组ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D33-role授权给角色ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D33-policyPolicy JSON 预览编辑ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D35-mailfailure授权成功但邮件失败ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D36-system设置 · 系统settings_controls.go, system_settings.go, internal/diagnosticsUI;設定検証とログローテーションのテスト
D36-mail设置 · 邮件settings_controls.go, system_settings.go, internal/diagnosticsUI;設定検証とログローテーションのテスト
D36-logs设置 · 日志settings_controls.go, system_settings.go, internal/diagnosticsUI;設定検証とログローテーションのテスト
D36-other设置 · 其他settings_controls.go, system_settings.go, internal/diagnosticsUI;設定検証とログローテーションのテスト
D37-generated临时授权码已生成ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D38-forbiddenRAM 列表权限不足ram_tools.go, internal/identityUI;署名 RPC・ページ分割・範囲・コードテスト;実 RAM/STS は未確認
D46-crcCRC 校验不匹配transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D46-changed源对象变更重新下载transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D46-disk本地写入失败诊断transfer_controls.go, internal/transfersUI;キュー・復旧・チェックサム・パステスト;実転送は未確認
D50-downloading更新下载进度update.go, internal/releases, internal/updatesUI;リリース解析テスト;署名フィード/インストール/再起動は未確認
D50-failed更新下载失败update.go, internal/releases, internal/updatesUI;リリース解析テスト;署名フィード/インストール/再起動は未確認
D50-finished更新已就绪update.go, internal/releases, internal/updatesUI;リリース解析テスト;署名フィード/インストール/再起動は未確認
E03放弃未保存修改确认object_actions.go, preview_media.goUI;サイズ/整合性・未変更/Diff・破棄テスト

プロトコル資料 ​

OSS ストレージクラス、リクエスタ支払い、RestoreObject、PutSymlink。更新を事前準備するアップデーターは固定した MyGo v0.4.8 モジュールのマニフェスト/署名形式に従い、移植コードの MIT 表記は internal/updates/LICENSE に保持しています。

OSS Browser を独自に再構築したプロジェクト。