commit 483cf6fc0dae77eeabbb9211425194d97fd54bbe
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date: Sat Oct 10 03:41:50 2026 +0000
ui preview for #11544 at a4a82f2
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/index.html b/index.html
new file mode 100644
index 0000000000..93cd8a5ec1
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+
dbx UI previewsScreenshots and recordings of t8y2/dbx pull requests, made by .github/workflows/ui-preview.yml.
\ No newline at end of file
diff --git a/pr-10801/7b40675/01-postgres-fdw-groups-entry.png b/pr-10801/7b40675/01-postgres-fdw-groups-entry.png
new file mode 100644
index 0000000000..2c3b9fa25f
Binary files /dev/null and b/pr-10801/7b40675/01-postgres-fdw-groups-entry.png differ
diff --git a/pr-10801/7b40675/index.html b/pr-10801/7b40675/index.html
new file mode 100644
index 0000000000..b297411de8
--- /dev/null
+++ b/pr-10801/7b40675/index.html
@@ -0,0 +1,15 @@
+
+#10801 界面预览 · 7b40675
+
+#10801 界面预览
commit 7b40675 · 回到 PR · 在 PostgreSQL 连接的数据库节点下新增了 3 个可浏览的组节点:外部数据包装器、外部服务器、用户映射。展开后可看到对应对象列表,点击或右键可打开详情对话框,并展示字段信息与 DDL 预览。
+⚠️ 这次录制有 4 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 树中出现 FDW 组节点 · 展示数据库节点下新增的 FDW 相关 group 入口
+
\ No newline at end of file
diff --git a/pr-10801/7b40675/manifest.json b/pr-10801/7b40675/manifest.json
new file mode 100644
index 0000000000..04c7fbc019
--- /dev/null
+++ b/pr-10801/7b40675/manifest.json
@@ -0,0 +1,30 @@
+{
+ "summary": "在 PostgreSQL 连接的数据库节点下新增了 3 个可浏览的组节点:外部数据包装器、外部服务器、用户映射。展开后可看到对应对象列表,点击或右键可打开详情对话框,并展示字段信息与 DDL 预览。",
+ "scenes": [
+ {
+ "title": "树中出现 FDW 组节点",
+ "shots": [
+ {
+ "file": "01-postgres-fdw-groups-entry.png",
+ "caption": "展示数据库节点下新增的 FDW 相关 group 入口",
+ "width": 1120,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "树中出现 FDW 组节点 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "树中出现 FDW 组节点 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "树中出现 FDW 组节点 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "树中出现 FDW 组节点 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "PR 说明里提到“扩展 / 事件触发器已确立的全链路架构模式”以及 Kingbase fallback 等后端链路,这些都不是单纯前端可见点;另外描述里说“截图/录屏已附”,但 diff 本身只提供了页面实现,没有实际录屏内容。",
+ "unseen": "沙盒里没有 PostgreSQL/Kingbase 服务器连接,只有 SQLite 种子数据,所以无法实际展开这 3 个新 group、加载对象列表或打开对应详情对话框。这里只能展示数据库树中该功能入口所在位置。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-10801/7b40675/poster.png b/pr-10801/7b40675/poster.png
new file mode 100644
index 0000000000..8524f763aa
Binary files /dev/null and b/pr-10801/7b40675/poster.png differ
diff --git a/pr-10801/7b40675/preview.mp4 b/pr-10801/7b40675/preview.mp4
new file mode 100644
index 0000000000..cd1708b7ef
Binary files /dev/null and b/pr-10801/7b40675/preview.mp4 differ
diff --git a/pr-10812/89580e2/01-plugin-center-settings.png b/pr-10812/89580e2/01-plugin-center-settings.png
new file mode 100644
index 0000000000..06d7b54d05
Binary files /dev/null and b/pr-10812/89580e2/01-plugin-center-settings.png differ
diff --git a/pr-10812/89580e2/02-plugin-center-settings-scrolled.png b/pr-10812/89580e2/02-plugin-center-settings-scrolled.png
new file mode 100644
index 0000000000..5f132cac85
Binary files /dev/null and b/pr-10812/89580e2/02-plugin-center-settings-scrolled.png differ
diff --git a/pr-10812/89580e2/03-mcp-connection-tool-options.png b/pr-10812/89580e2/03-mcp-connection-tool-options.png
new file mode 100644
index 0000000000..4458ac7f93
Binary files /dev/null and b/pr-10812/89580e2/03-mcp-connection-tool-options.png differ
diff --git a/pr-10812/89580e2/index.html b/pr-10812/89580e2/index.html
new file mode 100644
index 0000000000..4d8097939e
--- /dev/null
+++ b/pr-10812/89580e2/index.html
@@ -0,0 +1,17 @@
+
+#10812 界面预览 · 89580e2
+
+#10812 界面预览
commit 89580e2 · 回到 PR · MCP 工具权限列表新增了两个连接管理项:`dbx_get_connection` 和 `dbx_update_connection`,并补齐了对应的本地化标签与权限选择逻辑。前端设置页里与 MCP 工具权限相关的开关会把这两个工具单独列出、可独立勾选。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 打开 MCP 工具权限设置 · 查看插件中心设置页
+
⚠️ 打开 MCP 工具权限设置 · 查看设置页下方内容
+
⚠️ 查看新增工具项 · 查看新增的连接详情与修改权限项
+
\ No newline at end of file
diff --git a/pr-10812/89580e2/manifest.json b/pr-10812/89580e2/manifest.json
new file mode 100644
index 0000000000..4a1638bfee
--- /dev/null
+++ b/pr-10812/89580e2/manifest.json
@@ -0,0 +1,50 @@
+{
+ "summary": "MCP 工具权限列表新增了两个连接管理项:`dbx_get_connection` 和 `dbx_update_connection`,并补齐了对应的本地化标签与权限选择逻辑。前端设置页里与 MCP 工具权限相关的开关会把这两个工具单独列出、可独立勾选。",
+ "scenes": [
+ {
+ "title": "打开 MCP 工具权限设置",
+ "shots": [
+ {
+ "file": "01-plugin-center-settings.png",
+ "caption": "查看插件中心设置页",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-plugin-center-settings-scrolled.png",
+ "caption": "查看设置页下方内容",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "查看新增工具项",
+ "shots": [
+ {
+ "file": "03-mcp-connection-tool-options.png",
+ "caption": "查看新增的连接详情与修改权限项",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "打开 MCP 工具权限设置 · click button[data-slot=\"button\"]: nothing visible matches button[data-slot=\"button\"] with \"设置\" (0 in the page)",
+ "打开 MCP 工具权限设置 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"设置\" (0 in the page)",
+ "查看新增工具项 · click button[data-slot=\"button\"]: nothing visible matches button[data-slot=\"button\"] with \"设置\" (0 in the page)",
+ "查看新增工具项 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"设置\" (0 in the page)",
+ "查看新增工具项 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"MCP\" (0 in the page)",
+ "查看新增工具项 · scroll : nothing visible matches div.connection-tree-content div with \"dbx_get_connection\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "这次 PR 主要改的是 MCP 工具权限目录与文案;沙盒里没有单独暴露新增的设置页视觉差异入口,且没有可演示的 AI/MCP 实际工具调用界面,所以只能在设置里的 MCP 权限目录看到条目变化。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-10812/89580e2/poster.png b/pr-10812/89580e2/poster.png
new file mode 100644
index 0000000000..3e961d9f18
Binary files /dev/null and b/pr-10812/89580e2/poster.png differ
diff --git a/pr-10812/89580e2/preview.mp4 b/pr-10812/89580e2/preview.mp4
new file mode 100644
index 0000000000..502fa416f1
Binary files /dev/null and b/pr-10812/89580e2/preview.mp4 differ
diff --git a/pr-10841/f19567b/01-unencrypted-export-default.png b/pr-10841/f19567b/01-unencrypted-export-default.png
new file mode 100644
index 0000000000..4b3cd1ad3f
Binary files /dev/null and b/pr-10841/f19567b/01-unencrypted-export-default.png differ
diff --git a/pr-10841/f19567b/02-unencrypted-export-with-credentials.png b/pr-10841/f19567b/02-unencrypted-export-with-credentials.png
new file mode 100644
index 0000000000..4b3cd1ad3f
Binary files /dev/null and b/pr-10841/f19567b/02-unencrypted-export-with-credentials.png differ
diff --git a/pr-10841/f19567b/03-connection-picker-all.png b/pr-10841/f19567b/03-connection-picker-all.png
new file mode 100644
index 0000000000..4f7634386f
Binary files /dev/null and b/pr-10841/f19567b/03-connection-picker-all.png differ
diff --git a/pr-10841/f19567b/04-connection-picker-category-all.png b/pr-10841/f19567b/04-connection-picker-category-all.png
new file mode 100644
index 0000000000..65d8f87692
Binary files /dev/null and b/pr-10841/f19567b/04-connection-picker-category-all.png differ
diff --git a/pr-10841/f19567b/index.html b/pr-10841/f19567b/index.html
new file mode 100644
index 0000000000..4e11a67de0
--- /dev/null
+++ b/pr-10841/f19567b/index.html
@@ -0,0 +1,18 @@
+
+#10841 界面预览 · f19567b
+
+#10841 界面预览
commit f19567b · 回到 PR · 这个 PR 在界面上把“明文导出配置”改成了带凭据开关的确认弹窗,并把连接类型选择器的数据库分类导航改成了默认“全部”视图,支持在全部分类下浏览完整目录、减少重复项。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 明文导出凭据开关 · 查看不加密导出时的默认提示和凭据选项
+
⚠️ 明文导出凭据开关 · 查看勾选后的文案和警告样式
+
连接类型选择器的全部视图 · 查看数据库类型选择器默认的全部分类视图
+
⚠️ 连接类型选择器的全部视图 · 查看全部分类下的完整数据库类型目录
+
\ No newline at end of file
diff --git a/pr-10841/f19567b/manifest.json b/pr-10841/f19567b/manifest.json
new file mode 100644
index 0000000000..bfb1529f82
--- /dev/null
+++ b/pr-10841/f19567b/manifest.json
@@ -0,0 +1,58 @@
+{
+ "summary": "这个 PR 在界面上把“明文导出配置”改成了带凭据开关的确认弹窗,并把连接类型选择器的数据库分类导航改成了默认“全部”视图,支持在全部分类下浏览完整目录、减少重复项。",
+ "scenes": [
+ {
+ "title": "明文导出凭据开关",
+ "shots": [
+ {
+ "file": "01-unencrypted-export-default.png",
+ "caption": "查看不加密导出时的默认提示和凭据选项",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-unencrypted-export-with-credentials.png",
+ "caption": "查看勾选后的文案和警告样式",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "连接类型选择器的全部视图",
+ "shots": [
+ {
+ "file": "03-connection-picker-all.png",
+ "caption": "查看数据库类型选择器默认的全部分类视图",
+ "width": 2880
+ },
+ {
+ "file": "04-connection-picker-category-all.png",
+ "caption": "查看全部分类下的完整数据库类型目录",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "明文导出凭据开关 · click button: nothing visible matches button with \"导出连接配置\" (0 in the page)",
+ "明文导出凭据开关 · click button: nothing visible matches button with \"导出连接配置\" (0 in the page)",
+ "明文导出凭据开关 · click button: nothing visible matches button with \"导出连接配置\" (0 in the page)",
+ "明文导出凭据开关 · click button: nothing visible matches button with \"导出配置\" (0 in the page)",
+ "明文导出凭据开关 · click button: nothing visible matches button with \"不加密导出\" (0 in the page)",
+ "明文导出凭据开关 · click input[type=checkbox]: nothing visible matches input[type=checkbox] (0 in the page)",
+ "明文导出凭据开关 · click button: nothing visible matches button with \"取消\" (0 in the page)",
+ "连接类型选择器的全部视图 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "连接类型选择器的全部视图 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到的 OAuth 远程资源服务器、MCP / Linux Streamable HTTP、代理/系统服务部署等内容没有对应的前端界面改动可展示;本次可见的前端变化主要是配置导出弹窗和连接选择器。",
+ "unseen": "OAuth 服务端、CI/workflow、CLI 和后端权限/导入逻辑不在这个浏览器界面里,沙箱也没有外部 IdP、服务器数据库或插件/JDBC 运行时,所以这些部分只能在代码里看,不能通过页面截图验证。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-10841/f19567b/poster.png b/pr-10841/f19567b/poster.png
new file mode 100644
index 0000000000..e0ce224052
Binary files /dev/null and b/pr-10841/f19567b/poster.png differ
diff --git a/pr-10841/f19567b/preview.mp4 b/pr-10841/f19567b/preview.mp4
new file mode 100644
index 0000000000..149104570e
Binary files /dev/null and b/pr-10841/f19567b/preview.mp4 differ
diff --git a/pr-11391/37265ea/01-structure-editor-opened.png b/pr-11391/37265ea/01-structure-editor-opened.png
new file mode 100644
index 0000000000..6ebd3bd614
Binary files /dev/null and b/pr-11391/37265ea/01-structure-editor-opened.png differ
diff --git a/pr-11391/37265ea/02-length-unit-controls.png b/pr-11391/37265ea/02-length-unit-controls.png
new file mode 100644
index 0000000000..5c8c58329b
Binary files /dev/null and b/pr-11391/37265ea/02-length-unit-controls.png differ
diff --git a/pr-11391/37265ea/index.html b/pr-11391/37265ea/index.html
new file mode 100644
index 0000000000..b691e0725e
--- /dev/null
+++ b/pr-11391/37265ea/index.html
@@ -0,0 +1,16 @@
+
+#11391 界面预览 · 37265ea
+
+#11391 界面预览
commit 37265ea · 回到 PR · 这次修复让 OceanBase Oracle 的表结构编辑器在读取和编辑字段时保留字符长度单位(BYTE/CHAR),并且 NUMBER 的负 scale 也能完整显示和回填。前端还把 OceanBase Oracle 识别为支持长度单位的数据库类型。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 打开 SQLite 表结构编辑器 · 打开 customers 表后的结构编辑器
+
⚠️ 查看长度单位控件 · 查看字段类型与长度单位相关控件
+
\ No newline at end of file
diff --git a/pr-11391/37265ea/manifest.json b/pr-11391/37265ea/manifest.json
new file mode 100644
index 0000000000..395c73ed69
--- /dev/null
+++ b/pr-11391/37265ea/manifest.json
@@ -0,0 +1,45 @@
+{
+ "summary": "这次修复让 OceanBase Oracle 的表结构编辑器在读取和编辑字段时保留字符长度单位(BYTE/CHAR),并且 NUMBER 的负 scale 也能完整显示和回填。前端还把 OceanBase Oracle 识别为支持长度单位的数据库类型。",
+ "scenes": [
+ {
+ "title": "打开 SQLite 表结构编辑器",
+ "shots": [
+ {
+ "file": "01-structure-editor-opened.png",
+ "caption": "打开 customers 表后的结构编辑器",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "查看长度单位控件",
+ "shots": [
+ {
+ "file": "02-length-unit-controls.png",
+ "caption": "查看字段类型与长度单位相关控件",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "打开 SQLite 表结构编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开 SQLite 表结构编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开 SQLite 表结构编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)",
+ "打开 SQLite 表结构编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开 SQLite 表结构编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "查看长度单位控件 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看长度单位控件 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "需要 OceanBase Oracle 数据源才能直接看到元数据读取和结构编辑回填效果;当前沙箱只有 SQLite 连接,无法在真实 OceanBase Oracle 连接上复现。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11391/37265ea/poster.png b/pr-11391/37265ea/poster.png
new file mode 100644
index 0000000000..ebd4e34bf6
Binary files /dev/null and b/pr-11391/37265ea/poster.png differ
diff --git a/pr-11391/37265ea/preview.mp4 b/pr-11391/37265ea/preview.mp4
new file mode 100644
index 0000000000..975052964f
Binary files /dev/null and b/pr-11391/37265ea/preview.mp4 differ
diff --git a/pr-11393/2daec19/01-table-grid-open.png b/pr-11393/2daec19/01-table-grid-open.png
new file mode 100644
index 0000000000..a56b450929
Binary files /dev/null and b/pr-11393/2daec19/01-table-grid-open.png differ
diff --git a/pr-11393/2daec19/02-structure-editor-view.png b/pr-11393/2daec19/02-structure-editor-view.png
new file mode 100644
index 0000000000..3fb4abd9fe
Binary files /dev/null and b/pr-11393/2daec19/02-structure-editor-view.png differ
diff --git a/pr-11393/2daec19/03-oceanbase-oracle-unseen-placeholder.png b/pr-11393/2daec19/03-oceanbase-oracle-unseen-placeholder.png
new file mode 100644
index 0000000000..3fb4abd9fe
Binary files /dev/null and b/pr-11393/2daec19/03-oceanbase-oracle-unseen-placeholder.png differ
diff --git a/pr-11393/2daec19/index.html b/pr-11393/2daec19/index.html
new file mode 100644
index 0000000000..937d1a6cdb
--- /dev/null
+++ b/pr-11393/2daec19/index.html
@@ -0,0 +1,17 @@
+
+#11393 界面预览 · 2daec19
+
+#11393 界面预览
commit 2daec19 · 回到 PR · 本 PR 让 OceanBase Oracle 在表结构编辑器里获得“已有无主键表添加主键”的能力,前端能力判断和后端 DDL 生成都对齐到了 Oracle 的添加主键流程。对已有主键的替换、删除等限制仍保留。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 查看 OceanBase Oracle 结构编辑能力 · 打开表后的数据网格与结构相关入口
+
⚠️ 进入表结构编辑器看主键开关 · 查看结构编辑器里的主键与列选项
+
说明真实 OceanBase Oracle 位置 · 这里应展示 OceanBase Oracle 已有无主键表添加主键的编辑位置,但沙盒没有该服务器连接
+
\ No newline at end of file
diff --git a/pr-11393/2daec19/manifest.json b/pr-11393/2daec19/manifest.json
new file mode 100644
index 0000000000..381559087f
--- /dev/null
+++ b/pr-11393/2daec19/manifest.json
@@ -0,0 +1,55 @@
+{
+ "summary": "本 PR 让 OceanBase Oracle 在表结构编辑器里获得“已有无主键表添加主键”的能力,前端能力判断和后端 DDL 生成都对齐到了 Oracle 的添加主键流程。对已有主键的替换、删除等限制仍保留。",
+ "scenes": [
+ {
+ "title": "查看 OceanBase Oracle 结构编辑能力",
+ "shots": [
+ {
+ "file": "01-table-grid-open.png",
+ "caption": "打开表后的数据网格与结构相关入口",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "进入表结构编辑器看主键开关",
+ "shots": [
+ {
+ "file": "02-structure-editor-view.png",
+ "caption": "查看结构编辑器里的主键与列选项",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "说明真实 OceanBase Oracle 位置",
+ "shots": [
+ {
+ "file": "03-oceanbase-oracle-unseen-placeholder.png",
+ "caption": "这里应展示 OceanBase Oracle 已有无主键表添加主键的编辑位置,但沙盒没有该服务器连接",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "查看 OceanBase Oracle 结构编辑能力 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看 OceanBase Oracle 结构编辑能力 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看 OceanBase Oracle 结构编辑能力 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看 OceanBase Oracle 结构编辑能力 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看 OceanBase Oracle 结构编辑能力 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)",
+ "进入表结构编辑器看主键开关 · click button: nothing visible matches button with \"结构\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到的真实 OceanBase Oracle 验收、前端截图/录屏和产品错误界面,在这份 diff 里没有直接体现;另外它强调了“替换、删除、第二主键和外键编辑继续受限”,但本次前端改动主要只展示了 addPrimaryKey 放开。",
+ "unseen": "沙盒里没有 OceanBase Oracle 服务器连接,只有 SQLite 种子数据,因此无法在真实 OceanBase Oracle 上实际点开并验证结构编辑器里的添加主键交互,只能展示能力逻辑对应的 UI 位置。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11393/2daec19/poster.png b/pr-11393/2daec19/poster.png
new file mode 100644
index 0000000000..9ac2ba764c
Binary files /dev/null and b/pr-11393/2daec19/poster.png differ
diff --git a/pr-11393/2daec19/preview.mp4 b/pr-11393/2daec19/preview.mp4
new file mode 100644
index 0000000000..dca07a5ad3
Binary files /dev/null and b/pr-11393/2daec19/preview.mp4 differ
diff --git a/pr-11394/c9b1934/01-shop-database-browser.png b/pr-11394/c9b1934/01-shop-database-browser.png
new file mode 100644
index 0000000000..ef70762e92
Binary files /dev/null and b/pr-11394/c9b1934/01-shop-database-browser.png differ
diff --git a/pr-11394/c9b1934/02-triggers-section.png b/pr-11394/c9b1934/02-triggers-section.png
new file mode 100644
index 0000000000..ef70762e92
Binary files /dev/null and b/pr-11394/c9b1934/02-triggers-section.png differ
diff --git a/pr-11394/c9b1934/03-audit-log-table-open.png b/pr-11394/c9b1934/03-audit-log-table-open.png
new file mode 100644
index 0000000000..ef70762e92
Binary files /dev/null and b/pr-11394/c9b1934/03-audit-log-table-open.png differ
diff --git a/pr-11394/c9b1934/04-new-trigger-draft-structure.png b/pr-11394/c9b1934/04-new-trigger-draft-structure.png
new file mode 100644
index 0000000000..b9625ab8c4
Binary files /dev/null and b/pr-11394/c9b1934/04-new-trigger-draft-structure.png differ
diff --git a/pr-11394/c9b1934/index.html b/pr-11394/c9b1934/index.html
new file mode 100644
index 0000000000..a161ed9b69
--- /dev/null
+++ b/pr-11394/c9b1934/index.html
@@ -0,0 +1,18 @@
+
+#11394 界面预览 · c9b1934
+
+#11394 界面预览
commit c9b1934 · 回到 PR · 这个改动把已有的 OceanBase Oracle 触发器也纳入结构化编辑的只读限制,和 Oracle 一样,已有触发器不能再用结构化表单改名称、时机、事件和正文;新建草稿仍可编辑。另补齐了 Web 迁移 demo-mode 的测试夹具,但界面上主要可见的是触发器编辑权限变化。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 打开已有触发器的结构编辑 · 打开商店连接后的数据库浏览页
+
⚠️ 打开已有触发器的结构编辑 · 结构页里的触发器区域
+
⚠️ 打开已有触发器的结构编辑 · 打开审计表后的数据网格
+
⚠️ 对照查看新建草稿仍可编辑 · 结构页中新建触发器草稿的编辑入口
+
\ No newline at end of file
diff --git a/pr-11394/c9b1934/manifest.json b/pr-11394/c9b1934/manifest.json
new file mode 100644
index 0000000000..257a8a4cba
--- /dev/null
+++ b/pr-11394/c9b1934/manifest.json
@@ -0,0 +1,59 @@
+{
+ "summary": "这个改动把已有的 OceanBase Oracle 触发器也纳入结构化编辑的只读限制,和 Oracle 一样,已有触发器不能再用结构化表单改名称、时机、事件和正文;新建草稿仍可编辑。另补齐了 Web 迁移 demo-mode 的测试夹具,但界面上主要可见的是触发器编辑权限变化。",
+ "scenes": [
+ {
+ "title": "打开已有触发器的结构编辑",
+ "shots": [
+ {
+ "file": "01-shop-database-browser.png",
+ "caption": "打开商店连接后的数据库浏览页",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-triggers-section.png",
+ "caption": "结构页里的触发器区域",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-audit-log-table-open.png",
+ "caption": "打开审计表后的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "对照查看新建草稿仍可编辑",
+ "shots": [
+ {
+ "file": "04-new-trigger-draft-structure.png",
+ "caption": "结构页中新建触发器草稿的编辑入口",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "打开已有触发器的结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开已有触发器的结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main\" (0 in the page)",
+ "打开已有触发器的结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开已有触发器的结构编辑 · click button: nothing visible matches button with \"结构\" (0 in the page)",
+ "打开已有触发器的结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"triggers\" (0 in the page)",
+ "打开已有触发器的结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"audit_log\" (0 in the page)",
+ "对照查看新建草稿仍可编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对照查看新建草稿仍可编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "对照查看新建草稿仍可编辑 · click button: nothing visible matches button with \"结构\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "沙盒里只有 SQLite,没有 OceanBase Oracle 连接,所以不能直接展示该数据库类型下已有触发器表单字段变灰/只读的真实效果;只能在支持该类型的数据库连接中验证。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11394/c9b1934/poster.png b/pr-11394/c9b1934/poster.png
new file mode 100644
index 0000000000..8e48a4beca
Binary files /dev/null and b/pr-11394/c9b1934/poster.png differ
diff --git a/pr-11394/c9b1934/preview.mp4 b/pr-11394/c9b1934/preview.mp4
new file mode 100644
index 0000000000..132b519244
Binary files /dev/null and b/pr-11394/c9b1934/preview.mp4 differ
diff --git a/pr-11475/3b94bf1/01-home-screen.png b/pr-11475/3b94bf1/01-home-screen.png
new file mode 100644
index 0000000000..6479c8fd03
Binary files /dev/null and b/pr-11475/3b94bf1/01-home-screen.png differ
diff --git a/pr-11475/3b94bf1/02-customers-grid-open.png b/pr-11475/3b94bf1/02-customers-grid-open.png
new file mode 100644
index 0000000000..6668be7413
Binary files /dev/null and b/pr-11475/3b94bf1/02-customers-grid-open.png differ
diff --git a/pr-11475/3b94bf1/03-sql-editor-completion-context.png b/pr-11475/3b94bf1/03-sql-editor-completion-context.png
new file mode 100644
index 0000000000..269e2d20f9
Binary files /dev/null and b/pr-11475/3b94bf1/03-sql-editor-completion-context.png differ
diff --git a/pr-11475/3b94bf1/04-orders-grid-metadata.png b/pr-11475/3b94bf1/04-orders-grid-metadata.png
new file mode 100644
index 0000000000..4b6c90891d
Binary files /dev/null and b/pr-11475/3b94bf1/04-orders-grid-metadata.png differ
diff --git a/pr-11475/3b94bf1/05-sql-editor-before-completion.png b/pr-11475/3b94bf1/05-sql-editor-before-completion.png
new file mode 100644
index 0000000000..717c851f7c
Binary files /dev/null and b/pr-11475/3b94bf1/05-sql-editor-before-completion.png differ
diff --git a/pr-11475/3b94bf1/index.html b/pr-11475/3b94bf1/index.html
new file mode 100644
index 0000000000..5718f1fda6
--- /dev/null
+++ b/pr-11475/3b94bf1/index.html
@@ -0,0 +1,19 @@
+
+#11475 界面预览 · 3b94bf1
+
+#11475 界面预览
commit 3b94bf1 · 回到 PR · 这次改动让 OceanBase Oracle 的同义词/引用名在补全、语义诊断和表元数据里保留真实解析目标身份,并把当前 schema 单独传递,避免把同义词当成普通本地表处理。界面上主要能看到 SQL 编辑器里的列补全更准确,表详情/编辑相关元数据会跟着真实目标表走。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
打开编辑器查看现有树与入口 · 应用打开后的首页,确认左侧连接树和编辑器入口都在
+
⚠️ 打开编辑器查看现有树与入口 · customers 表打开后的数据网格
+
⚠️ 打开编辑器查看现有树与入口 · SQL 编辑器中输入查询前缀后的状态,观察补全上下文
+
查看数据网格的表元数据 · 订单表打开后的数据网格,查看表头、网格工具栏和元数据区域
+
在 SQL 编辑器里看补全上下文 · SQL 编辑器中输入查询前缀后的状态,观察补全是否弹出并与当前连接上下文一致
+
\ No newline at end of file
diff --git a/pr-11475/3b94bf1/manifest.json b/pr-11475/3b94bf1/manifest.json
new file mode 100644
index 0000000000..65b39e4b54
--- /dev/null
+++ b/pr-11475/3b94bf1/manifest.json
@@ -0,0 +1,66 @@
+{
+ "summary": "这次改动让 OceanBase Oracle 的同义词/引用名在补全、语义诊断和表元数据里保留真实解析目标身份,并把当前 schema 单独传递,避免把同义词当成普通本地表处理。界面上主要能看到 SQL 编辑器里的列补全更准确,表详情/编辑相关元数据会跟着真实目标表走。",
+ "scenes": [
+ {
+ "title": "打开编辑器查看现有树与入口",
+ "shots": [
+ {
+ "file": "01-home-screen.png",
+ "caption": "应用打开后的首页,确认左侧连接树和编辑器入口都在",
+ "width": 2880
+ },
+ {
+ "file": "02-customers-grid-open.png",
+ "caption": "customers 表打开后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-sql-editor-completion-context.png",
+ "caption": "SQL 编辑器中输入查询前缀后的状态,观察补全上下文",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "查看数据网格的表元数据",
+ "shots": [
+ {
+ "file": "04-orders-grid-metadata.png",
+ "caption": "订单表打开后的数据网格,查看表头、网格工具栏和元数据区域",
+ "width": 2880
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "在 SQL 编辑器里看补全上下文",
+ "shots": [
+ {
+ "file": "05-sql-editor-before-completion.png",
+ "caption": "SQL 编辑器中输入查询前缀后的状态,观察补全是否弹出并与当前连接上下文一致",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "打开编辑器查看现有树与入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开编辑器查看现有树与入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开编辑器查看现有树与入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开编辑器查看现有树与入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开编辑器查看现有树与入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "查看数据网格的表元数据 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看数据网格的表元数据 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到 OceanBase 通过同义词访问对象时列元数据为空、后续补全和行定位丢失真实基表身份,这部分与 diff 一致;但“DBLink 字典入口的可用实例”“远端探测拒绝分支的真实实例验收”在这个沙盒里没有可连接的服务器库,无法在 GUI 中完成。",
+ "unseen": "这次 UI 验收的关键场景是 OceanBase Oracle 连接上的同义词补全、诊断和行定位;当前沙盒只有 SQLite,两条已保存连接也都是 SQLite,没有 OceanBase / Oracle 实例,所以无法直接复现 PR 里的同义词解析效果。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11475/3b94bf1/poster.png b/pr-11475/3b94bf1/poster.png
new file mode 100644
index 0000000000..6d8e8f9f7e
Binary files /dev/null and b/pr-11475/3b94bf1/poster.png differ
diff --git a/pr-11475/3b94bf1/preview.mp4 b/pr-11475/3b94bf1/preview.mp4
new file mode 100644
index 0000000000..65ea934c1d
Binary files /dev/null and b/pr-11475/3b94bf1/preview.mp4 differ
diff --git a/pr-11483/7b13875/01-ob-browser-initial.png b/pr-11483/7b13875/01-ob-browser-initial.png
new file mode 100644
index 0000000000..492eb1405e
Binary files /dev/null and b/pr-11483/7b13875/01-ob-browser-initial.png differ
diff --git a/pr-11483/7b13875/02-ob-browser-search-results.png b/pr-11483/7b13875/02-ob-browser-search-results.png
new file mode 100644
index 0000000000..492eb1405e
Binary files /dev/null and b/pr-11483/7b13875/02-ob-browser-search-results.png differ
diff --git a/pr-11483/7b13875/03-ob-browser-after-load-more.png b/pr-11483/7b13875/03-ob-browser-after-load-more.png
new file mode 100644
index 0000000000..492eb1405e
Binary files /dev/null and b/pr-11483/7b13875/03-ob-browser-after-load-more.png differ
diff --git a/pr-11483/7b13875/04-sidebar-paged-tree.png b/pr-11483/7b13875/04-sidebar-paged-tree.png
new file mode 100644
index 0000000000..fc28a7decc
Binary files /dev/null and b/pr-11483/7b13875/04-sidebar-paged-tree.png differ
diff --git a/pr-11483/7b13875/05-sidebar-search-with-more.png b/pr-11483/7b13875/05-sidebar-search-with-more.png
new file mode 100644
index 0000000000..7de63a5ee4
Binary files /dev/null and b/pr-11483/7b13875/05-sidebar-search-with-more.png differ
diff --git a/pr-11483/7b13875/index.html b/pr-11483/7b13875/index.html
new file mode 100644
index 0000000000..6ddaa1d9b7
--- /dev/null
+++ b/pr-11483/7b13875/index.html
@@ -0,0 +1,19 @@
+
+#11483 界面预览 · 7b13875
+
+#11483 界面预览
commit 7b13875 · 回到 PR · 这个 PR 为 OceanBase Oracle 的对象列表和侧栏对象树引入了条件分页加载:按名称/注释/类型在 Agent 侧做有界分页,保持数据库顺序,并在对象浏览器底部提供“加载更多”;同时搜索中使用正则会直接提示不支持。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 对象浏览器分页与继续加载 · 打开对象浏览器后的列表区域
+
⚠️ 对象浏览器分页与继续加载 · 对象浏览器按搜索条件分页后的列表与底部提示
+
⚠️ 对象浏览器分页与继续加载 · 继续加载后的对象列表与分页按钮状态
+
⚠️ 侧栏对象树分页 · 对象树/侧栏中的分页加载位置
+
⚠️ 侧栏对象树分页 · 侧栏搜索结果里保留分页继续加载节点
+
\ No newline at end of file
diff --git a/pr-11483/7b13875/manifest.json b/pr-11483/7b13875/manifest.json
new file mode 100644
index 0000000000..4327f4b9ca
--- /dev/null
+++ b/pr-11483/7b13875/manifest.json
@@ -0,0 +1,65 @@
+{
+ "summary": "这个 PR 为 OceanBase Oracle 的对象列表和侧栏对象树引入了条件分页加载:按名称/注释/类型在 Agent 侧做有界分页,保持数据库顺序,并在对象浏览器底部提供“加载更多”;同时搜索中使用正则会直接提示不支持。",
+ "scenes": [
+ {
+ "title": "对象浏览器分页与继续加载",
+ "shots": [
+ {
+ "file": "01-ob-browser-initial.png",
+ "caption": "打开对象浏览器后的列表区域",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-ob-browser-search-results.png",
+ "caption": "对象浏览器按搜索条件分页后的列表与底部提示",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-ob-browser-after-load-more.png",
+ "caption": "继续加载后的对象列表与分页按钮状态",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "侧栏对象树分页",
+ "shots": [
+ {
+ "file": "04-sidebar-paged-tree.png",
+ "caption": "对象树/侧栏中的分页加载位置",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "05-sidebar-search-with-more.png",
+ "caption": "侧栏搜索结果里保留分页继续加载节点",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "对象浏览器分页与继续加载 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对象浏览器分页与继续加载 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对象浏览器分页与继续加载 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对象浏览器分页与继续加载 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对象浏览器分页与继续加载 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "对象浏览器分页与继续加载 · type input[data-object-search-input]: nothing visible matches input[data-object-search-input] (0 in the page)",
+ "对象浏览器分页与继续加载 · click button[data-object-load-more]: nothing visible matches button[data-object-load-more] (0 in the page)",
+ "侧栏对象树分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "侧栏对象树分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“注释搜索前置 #11448 已合并”不属于本次可见改动;此外“并发 DDL 后从第一页刷新”在界面上没有新增独立入口,只是分页/刷新逻辑的行为变化。",
+ "unseen": "这里无法展示 OceanBase/OB Oracle 真实后端分页,因为沙盒只有 SQLite;因此只能在对象浏览器和侧栏上演示该 PR 新增的分页 UI、搜索提示和“加载更多”状态,不能验证真实 OceanBase 代理请求。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11483/7b13875/poster.png b/pr-11483/7b13875/poster.png
new file mode 100644
index 0000000000..e1ec008829
Binary files /dev/null and b/pr-11483/7b13875/poster.png differ
diff --git a/pr-11483/7b13875/preview.mp4 b/pr-11483/7b13875/preview.mp4
new file mode 100644
index 0000000000..83b3801583
Binary files /dev/null and b/pr-11483/7b13875/preview.mp4 differ
diff --git a/pr-11513/60696b1/01-types-list-entry-point.png b/pr-11513/60696b1/01-types-list-entry-point.png
new file mode 100644
index 0000000000..62327704ad
Binary files /dev/null and b/pr-11513/60696b1/01-types-list-entry-point.png differ
diff --git a/pr-11513/60696b1/02-create-type-button.png b/pr-11513/60696b1/02-create-type-button.png
new file mode 100644
index 0000000000..62327704ad
Binary files /dev/null and b/pr-11513/60696b1/02-create-type-button.png differ
diff --git a/pr-11513/60696b1/03-type-panel-actions.png b/pr-11513/60696b1/03-type-panel-actions.png
new file mode 100644
index 0000000000..62327704ad
Binary files /dev/null and b/pr-11513/60696b1/03-type-panel-actions.png differ
diff --git a/pr-11513/60696b1/04-custom-type-view.png b/pr-11513/60696b1/04-custom-type-view.png
new file mode 100644
index 0000000000..2488a5ee55
Binary files /dev/null and b/pr-11513/60696b1/04-custom-type-view.png differ
diff --git a/pr-11513/60696b1/05-custom-type-edit-form.png b/pr-11513/60696b1/05-custom-type-edit-form.png
new file mode 100644
index 0000000000..2488a5ee55
Binary files /dev/null and b/pr-11513/60696b1/05-custom-type-edit-form.png differ
diff --git a/pr-11513/60696b1/06-custom-type-edit-preview.png b/pr-11513/60696b1/06-custom-type-edit-preview.png
new file mode 100644
index 0000000000..2488a5ee55
Binary files /dev/null and b/pr-11513/60696b1/06-custom-type-edit-preview.png differ
diff --git a/pr-11513/60696b1/index.html b/pr-11513/60696b1/index.html
new file mode 100644
index 0000000000..3f06f09794
--- /dev/null
+++ b/pr-11513/60696b1/index.html
@@ -0,0 +1,20 @@
+
+#11513 界面预览 · 60696b1
+
+#11513 界面预览
commit 60696b1 · 回到 PR · 这个 PR 给 PostgreSQL 用户自定义类型增加了可视化管理能力:在对象浏览器里可新建、编辑、删除类型,并支持草稿、预览 SQL、删除确认和会话保留。它还把对象面板的缓存改成可保留未完成修改的 KeepAlive,避免切换标签时丢失编辑状态。
+⚠️ 这次录制有 12 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 类型面板的新建与编辑入口 · 查看类型列表入口位置
+
⚠️ 类型面板的新建与编辑入口 · 查看类型列表中的新建入口
+
⚠️ 类型面板的新建与编辑入口 · 查看类型面板中的编辑与删除入口
+
⚠️ 打开类型编辑并查看预览 · 查看自定义类型详情面板
+
⚠️ 打开类型编辑并查看预览 · 查看新增的类型编辑表单和 SQL 预览
+
⚠️ 打开类型编辑并查看预览 · 查看修改后重新生成的预览 SQL 与表单状态
+
\ No newline at end of file
diff --git a/pr-11513/60696b1/manifest.json b/pr-11513/60696b1/manifest.json
new file mode 100644
index 0000000000..b0a71751e8
--- /dev/null
+++ b/pr-11513/60696b1/manifest.json
@@ -0,0 +1,74 @@
+{
+ "summary": "这个 PR 给 PostgreSQL 用户自定义类型增加了可视化管理能力:在对象浏览器里可新建、编辑、删除类型,并支持草稿、预览 SQL、删除确认和会话保留。它还把对象面板的缓存改成可保留未完成修改的 KeepAlive,避免切换标签时丢失编辑状态。",
+ "scenes": [
+ {
+ "title": "类型面板的新建与编辑入口",
+ "shots": [
+ {
+ "file": "01-types-list-entry-point.png",
+ "caption": "查看类型列表入口位置",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-create-type-button.png",
+ "caption": "查看类型列表中的新建入口",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-type-panel-actions.png",
+ "caption": "查看类型面板中的编辑与删除入口",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "打开类型编辑并查看预览",
+ "shots": [
+ {
+ "file": "04-custom-type-view.png",
+ "caption": "查看自定义类型详情面板",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "05-custom-type-edit-form.png",
+ "caption": "查看新增的类型编辑表单和 SQL 预览",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "06-custom-type-edit-preview.png",
+ "caption": "查看修改后重新生成的预览 SQL 与表单状态",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "类型面板的新建与编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型面板的新建与编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型面板的新建与编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型面板的新建与编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型面板的新建与编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"types\" (0 in the page)",
+ "类型面板的新建与编辑入口 · click button[data-slot=\"button\"]: nothing visible matches button[data-slot=\"button\"] with \"创建类型\" (0 in the page)",
+ "类型面板的新建与编辑入口 · click button: nothing visible matches button with \"关闭\" (0 in the page)",
+ "打开类型编辑并查看预览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开类型编辑并查看预览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"types\" (0 in the page)",
+ "打开类型编辑并查看预览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"status\" (0 in the page)",
+ "打开类型编辑并查看预览 · click button[title=\"customType.editor.edit\"]: nothing visible matches button[title=\"customType.editor.edit\"] (0 in the page)",
+ "打开类型编辑并查看预览 · type input[aria-label=\"customType.editor.namePlaceholder\"]: nothing visible matches input[aria-label=\"customType.editor.namePlaceholder\"] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里写的是“新增 pg 数据库自定义类型的新增,删除和修改功能”,与代码一致;未见额外的按钮、设置或独立页面。",
+ "unseen": "沙盒里没有 PostgreSQL 连接、也没有真正的 pg 自定义类型数据,因此新建/编辑/删除的完整工作流只能在对象浏览器的 PostgreSQL 场景位置展示,无法实际对真实 PG 类型执行。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11513/60696b1/poster.png b/pr-11513/60696b1/poster.png
new file mode 100644
index 0000000000..a4adf58150
Binary files /dev/null and b/pr-11513/60696b1/poster.png differ
diff --git a/pr-11513/60696b1/preview.mp4 b/pr-11513/60696b1/preview.mp4
new file mode 100644
index 0000000000..9c11d8c3bc
Binary files /dev/null and b/pr-11513/60696b1/preview.mp4 differ
diff --git a/pr-11521/1457f44/01-orders-grid-before-switch.png b/pr-11521/1457f44/01-orders-grid-before-switch.png
new file mode 100644
index 0000000000..31a43e9f5a
Binary files /dev/null and b/pr-11521/1457f44/01-orders-grid-before-switch.png differ
diff --git a/pr-11521/1457f44/02-orders-grid-after-switch.png b/pr-11521/1457f44/02-orders-grid-after-switch.png
new file mode 100644
index 0000000000..31a43e9f5a
Binary files /dev/null and b/pr-11521/1457f44/02-orders-grid-after-switch.png differ
diff --git a/pr-11521/1457f44/index.html b/pr-11521/1457f44/index.html
new file mode 100644
index 0000000000..a4e5e8a69e
--- /dev/null
+++ b/pr-11521/1457f44/index.html
@@ -0,0 +1,16 @@
+
+#11521 界面预览 · 1457f44
+
+#11521 界面预览
commit 1457f44 · 回到 PR · 结果集子 Tab 切换前会先派发统一的 `dbx:before-tab-switch` 事件,用来让网格在结果索引或结果批次变化前保存视图状态。PR 还补了回归测试,约束这两个切换入口都必须先发事件再更新结果。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 结果集切换前后 · 打开订单表后的数据网格
+
⚠️ 结果集切换前后 · 切换结果集后的数据网格
+
\ No newline at end of file
diff --git a/pr-11521/1457f44/manifest.json b/pr-11521/1457f44/manifest.json
new file mode 100644
index 0000000000..f729f7c489
--- /dev/null
+++ b/pr-11521/1457f44/manifest.json
@@ -0,0 +1,38 @@
+{
+ "summary": "结果集子 Tab 切换前会先派发统一的 `dbx:before-tab-switch` 事件,用来让网格在结果索引或结果批次变化前保存视图状态。PR 还补了回归测试,约束这两个切换入口都必须先发事件再更新结果。",
+ "scenes": [
+ {
+ "title": "结果集切换前后",
+ "shots": [
+ {
+ "file": "01-orders-grid-before-switch.png",
+ "caption": "打开订单表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-orders-grid-after-switch.png",
+ "caption": "切换结果集后的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "结果集切换前后 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结果集切换前后 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main\" (0 in the page)",
+ "结果集切换前后 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结果集切换前后 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结果集切换前后 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "结果集切换前后 · click div[data-editor-content] button, div[data-editor-content] [data-slot=\"button\"]: nothing visible matches div[data-editor-content] button, div[data-editor-content] [data-slot=\"button\"] with \"结果\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "这个改动主要是切换前的状态保存时机,肉眼未必直接看到差异;在沙盒里可通过切换同一 SQL 的不同结果集子 Tab,观察返回页签时网格是否还能保持原滚动位置与选中状态来验证。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11521/1457f44/poster.png b/pr-11521/1457f44/poster.png
new file mode 100644
index 0000000000..0b586da47e
Binary files /dev/null and b/pr-11521/1457f44/poster.png differ
diff --git a/pr-11521/1457f44/preview.mp4 b/pr-11521/1457f44/preview.mp4
new file mode 100644
index 0000000000..6e6be11049
Binary files /dev/null and b/pr-11521/1457f44/preview.mp4 differ
diff --git a/pr-11522/e471ea5/01-database-node-selected.png b/pr-11522/e471ea5/01-database-node-selected.png
new file mode 100644
index 0000000000..6ebdeccefc
Binary files /dev/null and b/pr-11522/e471ea5/01-database-node-selected.png differ
diff --git a/pr-11522/e471ea5/02-local-table-search-focused.png b/pr-11522/e471ea5/02-local-table-search-focused.png
new file mode 100644
index 0000000000..9da3d95954
Binary files /dev/null and b/pr-11522/e471ea5/02-local-table-search-focused.png differ
diff --git a/pr-11522/e471ea5/03-table-node-selected.png b/pr-11522/e471ea5/03-table-node-selected.png
new file mode 100644
index 0000000000..2fccaf7741
Binary files /dev/null and b/pr-11522/e471ea5/03-table-node-selected.png differ
diff --git a/pr-11522/e471ea5/04-table-search-focused.png b/pr-11522/e471ea5/04-table-search-focused.png
new file mode 100644
index 0000000000..f372e5f785
Binary files /dev/null and b/pr-11522/e471ea5/04-table-search-focused.png differ
diff --git a/pr-11522/e471ea5/05-table-search-with-text.png b/pr-11522/e471ea5/05-table-search-with-text.png
new file mode 100644
index 0000000000..f372e5f785
Binary files /dev/null and b/pr-11522/e471ea5/05-table-search-with-text.png differ
diff --git a/pr-11522/e471ea5/06-table-search-after-escape.png b/pr-11522/e471ea5/06-table-search-after-escape.png
new file mode 100644
index 0000000000..f372e5f785
Binary files /dev/null and b/pr-11522/e471ea5/06-table-search-after-escape.png differ
diff --git a/pr-11522/e471ea5/index.html b/pr-11522/e471ea5/index.html
new file mode 100644
index 0000000000..0eb6a053ad
--- /dev/null
+++ b/pr-11522/e471ea5/index.html
@@ -0,0 +1,20 @@
+
+#11522 界面预览 · e471ea5
+
+#11522 界面预览
commit e471ea5 · 回到 PR · 这个 PR 调整了侧栏里的 Ctrl+F 搜索定位逻辑:当当前激活的是数据库、schema 或表节点时,会优先聚焦该作用域下的局部表搜索框,而不是总是回到侧栏顶部的全局搜索。它还让局部表搜索框支持用 Escape 快速退出/清空当前搜索,并在树侧栏焦点分发里优先拦截这个快捷键。
+⚠️ 这次录制有 8 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 在数据库节点按 Ctrl+F · 数据库节点选中后的侧栏状态
+
⚠️ 在数据库节点按 Ctrl+F · 按下 Ctrl+F 后,查看局部表搜索框是否被聚焦
+
⚠️ 在表节点按 Ctrl+F · 选中表节点后的侧栏状态
+
⚠️ 在表节点按 Ctrl+F · 按下 Ctrl+F 后对应表搜索框被聚焦的状态
+
⚠️ Escape 处理局部表搜索 · 局部表搜索框已有输入内容的状态
+
⚠️ Escape 处理局部表搜索 · 按下 Escape 后局部表搜索框的状态
+
\ No newline at end of file
diff --git a/pr-11522/e471ea5/manifest.json b/pr-11522/e471ea5/manifest.json
new file mode 100644
index 0000000000..ec90531845
--- /dev/null
+++ b/pr-11522/e471ea5/manifest.json
@@ -0,0 +1,76 @@
+{
+ "summary": "这个 PR 调整了侧栏里的 Ctrl+F 搜索定位逻辑:当当前激活的是数据库、schema 或表节点时,会优先聚焦该作用域下的局部表搜索框,而不是总是回到侧栏顶部的全局搜索。它还让局部表搜索框支持用 Escape 快速退出/清空当前搜索,并在树侧栏焦点分发里优先拦截这个快捷键。",
+ "scenes": [
+ {
+ "title": "在数据库节点按 Ctrl+F",
+ "shots": [
+ {
+ "file": "01-database-node-selected.png",
+ "caption": "数据库节点选中后的侧栏状态",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-local-table-search-focused.png",
+ "caption": "按下 Ctrl+F 后,查看局部表搜索框是否被聚焦",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "在表节点按 Ctrl+F",
+ "shots": [
+ {
+ "file": "03-table-node-selected.png",
+ "caption": "选中表节点后的侧栏状态",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "04-table-search-focused.png",
+ "caption": "按下 Ctrl+F 后对应表搜索框被聚焦的状态",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Escape 处理局部表搜索",
+ "shots": [
+ {
+ "file": "05-table-search-with-text.png",
+ "caption": "局部表搜索框已有输入内容的状态",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "06-table-search-after-escape.png",
+ "caption": "按下 Escape 后局部表搜索框的状态",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "在数据库节点按 Ctrl+F · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "在数据库节点按 Ctrl+F · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "在数据库节点按 Ctrl+F · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "在数据库节点按 Ctrl+F · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "在表节点按 Ctrl+F · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "在表节点按 Ctrl+F · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "Escape 处理局部表搜索 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Escape 处理局部表搜索 · type input[data-sidebar-table-search-parent-id]: nothing visible matches input[data-sidebar-table-search-parent-id] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11522/e471ea5/poster.png b/pr-11522/e471ea5/poster.png
new file mode 100644
index 0000000000..a1dd3669f2
Binary files /dev/null and b/pr-11522/e471ea5/poster.png differ
diff --git a/pr-11522/e471ea5/preview.mp4 b/pr-11522/e471ea5/preview.mp4
new file mode 100644
index 0000000000..dcfe94339f
Binary files /dev/null and b/pr-11522/e471ea5/preview.mp4 differ
diff --git a/pr-11534/791cd2e/01-shop-database-browser.png b/pr-11534/791cd2e/01-shop-database-browser.png
new file mode 100644
index 0000000000..5a954d2dd6
Binary files /dev/null and b/pr-11534/791cd2e/01-shop-database-browser.png differ
diff --git a/pr-11534/791cd2e/02-orders-grid-before.png b/pr-11534/791cd2e/02-orders-grid-before.png
new file mode 100644
index 0000000000..5a954d2dd6
Binary files /dev/null and b/pr-11534/791cd2e/02-orders-grid-before.png differ
diff --git a/pr-11534/791cd2e/03-events-grid.png b/pr-11534/791cd2e/03-events-grid.png
new file mode 100644
index 0000000000..6614d1cddf
Binary files /dev/null and b/pr-11534/791cd2e/03-events-grid.png differ
diff --git a/pr-11534/791cd2e/04-orders-grid-editable.png b/pr-11534/791cd2e/04-orders-grid-editable.png
new file mode 100644
index 0000000000..d3d4cf7263
Binary files /dev/null and b/pr-11534/791cd2e/04-orders-grid-editable.png differ
diff --git a/pr-11534/791cd2e/index.html b/pr-11534/791cd2e/index.html
new file mode 100644
index 0000000000..1deefc794a
--- /dev/null
+++ b/pr-11534/791cd2e/index.html
@@ -0,0 +1,18 @@
+
+#11534 界面预览 · 791cd2e
+
+#11534 界面预览
commit 791cd2e · 回到 PR · 这个 PR 主要让 OceanBase Oracle 的星号查询和完成/诊断更准确地保留“当前 schema”和“真实解析目标”的分离,避免把同义词、业务别名和物理 ROWID 混在一起;同时在 ROWID 删除并发冲突时,保存结果会显示实际影响行数并保留冲突提示。
+⚠️ 这次录制有 10 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 星号查询保留别名与隐藏定位列 · 商店连接的数据库浏览页
+
⚠️ OceanBase 星号查询保留别名与隐藏定位列 · 打开订单表后的数据网格
+
⚠️ OceanBase 星号查询保留别名与隐藏定位列 · 分析表的数据网格
+
⚠️ ROWID 保存冲突提示 · 进入可编辑的数据网格
+
\ No newline at end of file
diff --git a/pr-11534/791cd2e/manifest.json b/pr-11534/791cd2e/manifest.json
new file mode 100644
index 0000000000..501791510c
--- /dev/null
+++ b/pr-11534/791cd2e/manifest.json
@@ -0,0 +1,60 @@
+{
+ "summary": "这个 PR 主要让 OceanBase Oracle 的星号查询和完成/诊断更准确地保留“当前 schema”和“真实解析目标”的分离,避免把同义词、业务别名和物理 ROWID 混在一起;同时在 ROWID 删除并发冲突时,保存结果会显示实际影响行数并保留冲突提示。",
+ "scenes": [
+ {
+ "title": "OceanBase 星号查询保留别名与隐藏定位列",
+ "shots": [
+ {
+ "file": "01-shop-database-browser.png",
+ "caption": "商店连接的数据库浏览页",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-orders-grid-before.png",
+ "caption": "打开订单表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-events-grid.png",
+ "caption": "分析表的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "ROWID 保存冲突提示",
+ "shots": [
+ {
+ "file": "04-orders-grid-editable.png",
+ "caption": "进入可编辑的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 星号查询保留别名与隐藏定位列 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 星号查询保留别名与隐藏定位列 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 星号查询保留别名与隐藏定位列 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 星号查询保留别名与隐藏定位列 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 星号查询保留别名与隐藏定位列 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "OceanBase 星号查询保留别名与隐藏定位列 · click button[data-slot=\"button\"]: nothing visible matches button[data-slot=\"button\"] with \"设置\" (0 in the page)",
+ "OceanBase 星号查询保留别名与隐藏定位列 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 星号查询保留别名与隐藏定位列 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "ROWID 保存冲突提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "ROWID 保存冲突提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“真实主键优先”“隐藏定位列不进入普通复制和 CSV 导出”“恢复一致”等更偏验证结论的内容,diff 里没有直接新增对应的可见 UI 功能入口;另外“并发删除已经被其他会话移除的行时”在界面上表现为保存提示,而不是单独新增一个删除结果页。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11534/791cd2e/poster.png b/pr-11534/791cd2e/poster.png
new file mode 100644
index 0000000000..89aa7ff776
Binary files /dev/null and b/pr-11534/791cd2e/poster.png differ
diff --git a/pr-11534/791cd2e/preview.mp4 b/pr-11534/791cd2e/preview.mp4
new file mode 100644
index 0000000000..48ab861e87
Binary files /dev/null and b/pr-11534/791cd2e/preview.mp4 differ
diff --git a/pr-11535/47acd37/01-orders-grid-open.png b/pr-11535/47acd37/01-orders-grid-open.png
new file mode 100644
index 0000000000..1fb4795ab3
Binary files /dev/null and b/pr-11535/47acd37/01-orders-grid-open.png differ
diff --git a/pr-11535/47acd37/02-quoted-routine-completion.png b/pr-11535/47acd37/02-quoted-routine-completion.png
new file mode 100644
index 0000000000..1fb4795ab3
Binary files /dev/null and b/pr-11535/47acd37/02-quoted-routine-completion.png differ
diff --git a/pr-11535/47acd37/03-wildcard-routine-completion.png b/pr-11535/47acd37/03-wildcard-routine-completion.png
new file mode 100644
index 0000000000..1fb4795ab3
Binary files /dev/null and b/pr-11535/47acd37/03-wildcard-routine-completion.png differ
diff --git a/pr-11535/47acd37/index.html b/pr-11535/47acd37/index.html
new file mode 100644
index 0000000000..74bc20a470
--- /dev/null
+++ b/pr-11535/47acd37/index.html
@@ -0,0 +1,17 @@
+
+#11535 界面预览 · 47acd37
+
+#11535 界面预览
commit 47acd37 · 回到 PR · 本次 PR 让 OceanBase Oracle 的 SQL 补全能按输入搜索独立的 PROCEDURE/FUNCTION,并修复带引号名称、字面通配符和切换 schema 后旧补全结果回弹的问题;前端还会在相关上下文变更时立即让旧请求失效。
+⚠️ 这次录制有 8 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase Oracle 补全过程 · 打开订单表后的数据网格
+
⚠️ OceanBase Oracle 补全过程 · 查看带引号过程名称的补全候选
+
⚠️ OceanBase Oracle 补全过程 · 查看字面通配符名称的补全候选
+
\ No newline at end of file
diff --git a/pr-11535/47acd37/manifest.json b/pr-11535/47acd37/manifest.json
new file mode 100644
index 0000000000..8f6f6d1e71
--- /dev/null
+++ b/pr-11535/47acd37/manifest.json
@@ -0,0 +1,46 @@
+{
+ "summary": "本次 PR 让 OceanBase Oracle 的 SQL 补全能按输入搜索独立的 PROCEDURE/FUNCTION,并修复带引号名称、字面通配符和切换 schema 后旧补全结果回弹的问题;前端还会在相关上下文变更时立即让旧请求失效。",
+ "scenes": [
+ {
+ "title": "OceanBase Oracle 补全过程",
+ "shots": [
+ {
+ "file": "01-orders-grid-open.png",
+ "caption": "打开订单表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-quoted-routine-completion.png",
+ "caption": "查看带引号过程名称的补全候选",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-wildcard-routine-completion.png",
+ "caption": "查看字面通配符名称的补全候选",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase Oracle 补全过程 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase Oracle 补全过程 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase Oracle 补全过程 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase Oracle 补全过程 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase Oracle 补全过程 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "OceanBase Oracle 补全过程 · click button[data-slot='button']: nothing visible matches button[data-slot='button'] with \"新建查询\" (0 in the page)",
+ "OceanBase Oracle 补全过程 · type textarea, [contenteditable='true']: nothing visible matches textarea, [contenteditable='true'] (0 in the page)",
+ "OceanBase Oracle 补全过程 · type textarea, [contenteditable='true']: nothing visible matches textarea, [contenteditable='true'] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“中文、名称内双引号、字面通配符、上限及实际点击选入”这些都属于补全行为,diff 里确实有对应修复;没有额外的 UI 功能性描述与 diff 明显不符。",
+ "unseen": "这次改动主要作用在 OceanBase Oracle 的过程/函数补全与后端候选筛选,沙盒里没有可连接的 OceanBase/Oracle 实库,所以只能在编辑器里演示补全逻辑的入口,不能展示真实数据库候选来自服务端的完整效果。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11535/47acd37/poster.png b/pr-11535/47acd37/poster.png
new file mode 100644
index 0000000000..740d315d40
Binary files /dev/null and b/pr-11535/47acd37/poster.png differ
diff --git a/pr-11535/47acd37/preview.mp4 b/pr-11535/47acd37/preview.mp4
new file mode 100644
index 0000000000..86441e6114
Binary files /dev/null and b/pr-11535/47acd37/preview.mp4 differ
diff --git a/pr-11536/8316f45/01-editor-rest.png b/pr-11536/8316f45/01-editor-rest.png
new file mode 100644
index 0000000000..6a7312b6ae
Binary files /dev/null and b/pr-11536/8316f45/01-editor-rest.png differ
diff --git a/pr-11536/8316f45/02-tree-expanded-analytics.png b/pr-11536/8316f45/02-tree-expanded-analytics.png
new file mode 100644
index 0000000000..fa75d54a8b
Binary files /dev/null and b/pr-11536/8316f45/02-tree-expanded-analytics.png differ
diff --git a/pr-11536/8316f45/03-oceanbase-routine-completion.png b/pr-11536/8316f45/03-oceanbase-routine-completion.png
new file mode 100644
index 0000000000..894720cd69
Binary files /dev/null and b/pr-11536/8316f45/03-oceanbase-routine-completion.png differ
diff --git a/pr-11536/8316f45/04-package-member-completion.png b/pr-11536/8316f45/04-package-member-completion.png
new file mode 100644
index 0000000000..83096a043b
Binary files /dev/null and b/pr-11536/8316f45/04-package-member-completion.png differ
diff --git a/pr-11536/8316f45/index.html b/pr-11536/8316f45/index.html
new file mode 100644
index 0000000000..5c1c74b8fc
--- /dev/null
+++ b/pr-11536/8316f45/index.html
@@ -0,0 +1,18 @@
+
+#11536 界面预览 · 8316f45
+
+#11536 界面预览
commit 8316f45 · 回到 PR · 这个 PR 让 OceanBase Oracle 的 SQL 补全也支持包成员树与重载身份:包成员按 routine_id 区分,补全能保留参数顺序、方向、默认值和返回类型,且对带引号的包名/成员名更准确。左侧树和编辑器补全结果都会受影响。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 包成员树与重载标识 · 显示编辑器与左侧树的当前状态
+
⚠️ 包成员树与重载标识 · 显示不同连接下树节点展开后的状态
+
⚠️ OceanBase 补全上下文与包成员分流 · 查看带引号的补全上下文与候选列表
+
⚠️ OceanBase 补全上下文与包成员分流 · 查看 OceanBase 包成员补全与签名展示
+
\ No newline at end of file
diff --git a/pr-11536/8316f45/manifest.json b/pr-11536/8316f45/manifest.json
new file mode 100644
index 0000000000..a818046d3b
--- /dev/null
+++ b/pr-11536/8316f45/manifest.json
@@ -0,0 +1,59 @@
+{
+ "summary": "这个 PR 让 OceanBase Oracle 的 SQL 补全也支持包成员树与重载身份:包成员按 routine_id 区分,补全能保留参数顺序、方向、默认值和返回类型,且对带引号的包名/成员名更准确。左侧树和编辑器补全结果都会受影响。",
+ "scenes": [
+ {
+ "title": "包成员树与重载标识",
+ "shots": [
+ {
+ "file": "01-editor-rest.png",
+ "caption": "显示编辑器与左侧树的当前状态",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-tree-expanded-analytics.png",
+ "caption": "显示不同连接下树节点展开后的状态",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "OceanBase 补全上下文与包成员分流",
+ "shots": [
+ {
+ "file": "03-oceanbase-routine-completion.png",
+ "caption": "查看带引号的补全上下文与候选列表",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "04-package-member-completion.png",
+ "caption": "查看 OceanBase 包成员补全与签名展示",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "包成员树与重载标识 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "包成员树与重载标识 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "包成员树与重载标识 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"主库 main 默认库\" (0 in the page)",
+ "包成员树与重载标识 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "包成员树与重载标识 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)",
+ "包成员树与重载标识 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "包成员树与重载标识 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 补全上下文与包成员分流 · type textarea: nothing visible matches textarea (0 in the page)",
+ "OceanBase 补全上下文与包成员分流 · type textarea: nothing visible matches textarea (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "沙盒里没有 OceanBase Oracle 真实连接,也没有真实 Agent/Core 的联调环境;因此包成员元数据与补全返回值只能在代码层存在,无法在界面里直接复现真实 OceanBase 包树/重载签名来源。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11536/8316f45/poster.png b/pr-11536/8316f45/poster.png
new file mode 100644
index 0000000000..d307246213
Binary files /dev/null and b/pr-11536/8316f45/poster.png differ
diff --git a/pr-11536/8316f45/preview.mp4 b/pr-11536/8316f45/preview.mp4
new file mode 100644
index 0000000000..9c549c263c
Binary files /dev/null and b/pr-11536/8316f45/preview.mp4 differ
diff --git a/pr-11537/8f3da22/01-explain-plan-current-title.png b/pr-11537/8f3da22/01-explain-plan-current-title.png
new file mode 100644
index 0000000000..78ed08aafc
Binary files /dev/null and b/pr-11537/8f3da22/01-explain-plan-current-title.png differ
diff --git a/pr-11537/8f3da22/02-oceanbase-oracle-estimated-plan-unseen.png b/pr-11537/8f3da22/02-oceanbase-oracle-estimated-plan-unseen.png
new file mode 100644
index 0000000000..3749bcd16b
Binary files /dev/null and b/pr-11537/8f3da22/02-oceanbase-oracle-estimated-plan-unseen.png differ
diff --git a/pr-11537/8f3da22/03-connect-by-root-parameter-boundary-unsee.png b/pr-11537/8f3da22/03-connect-by-root-parameter-boundary-unsee.png
new file mode 100644
index 0000000000..186b5cd0d3
Binary files /dev/null and b/pr-11537/8f3da22/03-connect-by-root-parameter-boundary-unsee.png differ
diff --git a/pr-11537/8f3da22/index.html b/pr-11537/8f3da22/index.html
new file mode 100644
index 0000000000..7e2940d76f
--- /dev/null
+++ b/pr-11537/8f3da22/index.html
@@ -0,0 +1,17 @@
+
+#11537 界面预览 · 8f3da22
+
+#11537 界面预览
commit 8f3da22 · 回到 PR · 这次改动让 OceanBase Oracle 的执行计划在界面上明确显示为“估算执行计划”,并把表格里的“实际行数”改成“预估行数”等估算语义。另有一处输入参数识别修正,避免 `CONNECT_BY_ROOT` 被误当成参数前缀。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 估算计划标题与列名 · 查看执行计划页的当前标题与列头
+
OceanBase Oracle 估算文案 · OceanBase Oracle 的估算执行计划显示位置
+
⚠️ 参数识别边界修正 · 参数边界修正对应的位置(代码逻辑在界面上不可直接验证)
+
\ No newline at end of file
diff --git a/pr-11537/8f3da22/manifest.json b/pr-11537/8f3da22/manifest.json
new file mode 100644
index 0000000000..b99c4beb0c
--- /dev/null
+++ b/pr-11537/8f3da22/manifest.json
@@ -0,0 +1,56 @@
+{
+ "summary": "这次改动让 OceanBase Oracle 的执行计划在界面上明确显示为“估算执行计划”,并把表格里的“实际行数”改成“预估行数”等估算语义。另有一处输入参数识别修正,避免 `CONNECT_BY_ROOT` 被误当成参数前缀。",
+ "scenes": [
+ {
+ "title": "估算计划标题与列名",
+ "shots": [
+ {
+ "file": "01-explain-plan-current-title.png",
+ "caption": "查看执行计划页的当前标题与列头",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "OceanBase Oracle 估算文案",
+ "shots": [
+ {
+ "file": "02-oceanbase-oracle-estimated-plan-unseen.png",
+ "caption": "OceanBase Oracle 的估算执行计划显示位置",
+ "width": 1120
+ }
+ ],
+ "derailed": false
+ },
+ {
+ "title": "参数识别边界修正",
+ "shots": [
+ {
+ "file": "03-connect-by-root-parameter-boundary-unsee.png",
+ "caption": "参数边界修正对应的位置(代码逻辑在界面上不可直接验证)",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "估算计划标题与列名 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "估算计划标题与列名 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "估算计划标题与列名 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "估算计划标题与列名 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "估算计划标题与列名 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "估算计划标题与列名 · click button: nothing visible matches button with \"执行\" (0 in the page)",
+ "参数识别边界修正 · click button: nothing visible matches button with \"全局搜索\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "沙盒里只有 SQLite 连接,无法真实打开 OceanBase Oracle 连接来触发这条新文案和计划路径;只能在代码层确认相关文本与逻辑。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11537/8f3da22/poster.png b/pr-11537/8f3da22/poster.png
new file mode 100644
index 0000000000..3caa83652e
Binary files /dev/null and b/pr-11537/8f3da22/poster.png differ
diff --git a/pr-11537/8f3da22/preview.mp4 b/pr-11537/8f3da22/preview.mp4
new file mode 100644
index 0000000000..ad574c2b3a
Binary files /dev/null and b/pr-11537/8f3da22/preview.mp4 differ
diff --git a/pr-11538/b9e75cf/01-orders-table-view.png b/pr-11538/b9e75cf/01-orders-table-view.png
new file mode 100644
index 0000000000..cab3af1a8b
Binary files /dev/null and b/pr-11538/b9e75cf/01-orders-table-view.png differ
diff --git a/pr-11538/b9e75cf/02-events-table-view.png b/pr-11538/b9e75cf/02-events-table-view.png
new file mode 100644
index 0000000000..ce65f8085d
Binary files /dev/null and b/pr-11538/b9e75cf/02-events-table-view.png differ
diff --git a/pr-11538/b9e75cf/03-orders-table-info.png b/pr-11538/b9e75cf/03-orders-table-info.png
new file mode 100644
index 0000000000..85b41b20ae
Binary files /dev/null and b/pr-11538/b9e75cf/03-orders-table-info.png differ
diff --git a/pr-11538/b9e75cf/index.html b/pr-11538/b9e75cf/index.html
new file mode 100644
index 0000000000..3b4717cee3
--- /dev/null
+++ b/pr-11538/b9e75cf/index.html
@@ -0,0 +1,17 @@
+
+#11538 界面预览 · b9e75cf
+
+#11538 界面预览
commit b9e75cf · 回到 PR · 这个 PR 给 OceanBase Oracle 的对象列表加了服务端分页与“加载更多”,并在触发器相关界面里按真实 owner 区分同名触发器,显示 owner.名称。另一个变化是表信息/导出侧开始展示并保留完整触发器信息,分页搜索时正则会被明确提示不支持。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 对象分页提示 · 查看订单表的数据网格和右侧信息面板
+
⚠️ OceanBase 对象分页提示 · 查看事件表的数据网格,用于对照分页对象列表相关改动
+
⚠️ 触发器信息展示 · 查看表信息面板里的触发器区域,观察触发器名称展示位置
+
\ No newline at end of file
diff --git a/pr-11538/b9e75cf/manifest.json b/pr-11538/b9e75cf/manifest.json
new file mode 100644
index 0000000000..4ce3cacc0f
--- /dev/null
+++ b/pr-11538/b9e75cf/manifest.json
@@ -0,0 +1,53 @@
+{
+ "summary": "这个 PR 给 OceanBase Oracle 的对象列表加了服务端分页与“加载更多”,并在触发器相关界面里按真实 owner 区分同名触发器,显示 owner.名称。另一个变化是表信息/导出侧开始展示并保留完整触发器信息,分页搜索时正则会被明确提示不支持。",
+ "scenes": [
+ {
+ "title": "OceanBase 对象分页提示",
+ "shots": [
+ {
+ "file": "01-orders-table-view.png",
+ "caption": "查看订单表的数据网格和右侧信息面板",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-events-table-view.png",
+ "caption": "查看事件表的数据网格,用于对照分页对象列表相关改动",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "触发器信息展示",
+ "shots": [
+ {
+ "file": "03-orders-table-info.png",
+ "caption": "查看表信息面板里的触发器区域,观察触发器名称展示位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "触发器信息展示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "触发器信息展示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到的“预览、复制、存储选项切换和保存后的脚本一致”“读取失败时阻断部分脚本”都属于导出/测试行为,本次可见改动里主要能看到对象浏览器分页提示、加载更多、触发器 owner 显示;其余是后端/测试验证,界面里不直接出现独立按钮或新页面。",
+ "unseen": "这套沙盒只有 SQLite,没有 OceanBase Oracle 实库,所以无法直接展示真实的 OceanBase 对象分页、触发器 owner、以及表 DDL 导出的完整触发器源码效果;只能在对象浏览器界面和现有表/触发器面板上展示相关 UI 位置。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11538/b9e75cf/poster.png b/pr-11538/b9e75cf/poster.png
new file mode 100644
index 0000000000..72bf9c553e
Binary files /dev/null and b/pr-11538/b9e75cf/poster.png differ
diff --git a/pr-11538/b9e75cf/preview.mp4 b/pr-11538/b9e75cf/preview.mp4
new file mode 100644
index 0000000000..4b5ca47e7f
Binary files /dev/null and b/pr-11538/b9e75cf/preview.mp4 differ
diff --git a/pr-11539/d91abfc/01-sidebar-tree-expanded.png b/pr-11539/d91abfc/01-sidebar-tree-expanded.png
new file mode 100644
index 0000000000..bd00732f5a
Binary files /dev/null and b/pr-11539/d91abfc/01-sidebar-tree-expanded.png differ
diff --git a/pr-11539/d91abfc/02-events-grid-initial.png b/pr-11539/d91abfc/02-events-grid-initial.png
new file mode 100644
index 0000000000..32f4318d64
Binary files /dev/null and b/pr-11539/d91abfc/02-events-grid-initial.png differ
diff --git a/pr-11539/d91abfc/03-paged-object-browser-footer.png b/pr-11539/d91abfc/03-paged-object-browser-footer.png
new file mode 100644
index 0000000000..32f4318d64
Binary files /dev/null and b/pr-11539/d91abfc/03-paged-object-browser-footer.png differ
diff --git a/pr-11539/d91abfc/index.html b/pr-11539/d91abfc/index.html
new file mode 100644
index 0000000000..4db331957e
--- /dev/null
+++ b/pr-11539/d91abfc/index.html
@@ -0,0 +1,17 @@
+
+#11539 界面预览 · d91abfc
+
+#11539 界面预览
commit d91abfc · 回到 PR · 这次 PR 给 OceanBase Oracle 增加了按元数据克隆表结构的专用流程:克隆前会弹出说明与目标 schema 输入,执行时改为逐步 DDL 并展示复制/排除内容。侧栏对象列表也改成 OceanBase 的分页加载,新增“加载更多”和分页搜索提示,且关闭了这类列表里的部分排序交互。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 克隆确认 · 侧边栏连接树展开到数据库层,查看各连接下的 main 默认库
+
⚠️ OceanBase 对象分页 · 打开 events 表后的数据网格
+
⚠️ OceanBase 对象分页 · 对象列表底部的分页加载区域,查看加载更多与顺序提示
+
\ No newline at end of file
diff --git a/pr-11539/d91abfc/manifest.json b/pr-11539/d91abfc/manifest.json
new file mode 100644
index 0000000000..7f301622f9
--- /dev/null
+++ b/pr-11539/d91abfc/manifest.json
@@ -0,0 +1,49 @@
+{
+ "summary": "这次 PR 给 OceanBase Oracle 增加了按元数据克隆表结构的专用流程:克隆前会弹出说明与目标 schema 输入,执行时改为逐步 DDL 并展示复制/排除内容。侧栏对象列表也改成 OceanBase 的分页加载,新增“加载更多”和分页搜索提示,且关闭了这类列表里的部分排序交互。",
+ "scenes": [
+ {
+ "title": "OceanBase 克隆确认",
+ "shots": [
+ {
+ "file": "01-sidebar-tree-expanded.png",
+ "caption": "侧边栏连接树展开到数据库层,查看各连接下的 main 默认库",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "OceanBase 对象分页",
+ "shots": [
+ {
+ "file": "02-events-grid-initial.png",
+ "caption": "打开 events 表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-paged-object-browser-footer.png",
+ "caption": "对象列表底部的分页加载区域,查看加载更多与顺序提示",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 克隆确认 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 克隆确认 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main\" (0 in the page)",
+ "OceanBase 对象分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“侧栏/对象页克隆及两处仅结构粘贴四入口”,但前端实际可见的是对象浏览器里的克隆/粘贴相关入口与侧栏对话框,没有额外新增四个独立入口页;另外描述里说“虚拟列拒绝无目标”,前端只能看到克隆前确认与失败提示,真正的元数据校验发生在后端/构建逻辑。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11539/d91abfc/poster.png b/pr-11539/d91abfc/poster.png
new file mode 100644
index 0000000000..63c6eb68ed
Binary files /dev/null and b/pr-11539/d91abfc/poster.png differ
diff --git a/pr-11539/d91abfc/preview.mp4 b/pr-11539/d91abfc/preview.mp4
new file mode 100644
index 0000000000..4139eb1808
Binary files /dev/null and b/pr-11539/d91abfc/preview.mp4 differ
diff --git a/pr-11540/3484d6d/01-view-object-page.png b/pr-11540/3484d6d/01-view-object-page.png
new file mode 100644
index 0000000000..970c4ed13b
Binary files /dev/null and b/pr-11540/3484d6d/01-view-object-page.png differ
diff --git a/pr-11540/3484d6d/02-data-page-baseline.png b/pr-11540/3484d6d/02-data-page-baseline.png
new file mode 100644
index 0000000000..01337147d0
Binary files /dev/null and b/pr-11540/3484d6d/02-data-page-baseline.png differ
diff --git a/pr-11540/3484d6d/03-source-snapshot-placeholder.png b/pr-11540/3484d6d/03-source-snapshot-placeholder.png
new file mode 100644
index 0000000000..01337147d0
Binary files /dev/null and b/pr-11540/3484d6d/03-source-snapshot-placeholder.png differ
diff --git a/pr-11540/3484d6d/index.html b/pr-11540/3484d6d/index.html
new file mode 100644
index 0000000000..55c065b0b1
--- /dev/null
+++ b/pr-11540/3484d6d/index.html
@@ -0,0 +1,17 @@
+
+#11540 界面预览 · 3484d6d
+
+#11540 界面预览
commit 3484d6d · 回到 PR · 这个 PR 给 OceanBase Oracle 的普通视图改名加了保护:改名时会提示不可回滚,并在改名结果不确定或响应丢失时,把旧源码固定成只读快照,阻止继续保存/执行旧身份的内容。同时,侧栏对象页和打开的源码标签也会在视图改名后进入快照状态,避免旧标签被误恢复成可编辑对象。
+⚠️ 这次录制有 10 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 视图改名提示 · 打开视图后的对象页
+
⚠️ 旧源码快照 · 对象页的常规状态
+
⚠️ 旧源码快照 · 源码快照提示出现的位置
+
\ No newline at end of file
diff --git a/pr-11540/3484d6d/manifest.json b/pr-11540/3484d6d/manifest.json
new file mode 100644
index 0000000000..23afc2dc53
--- /dev/null
+++ b/pr-11540/3484d6d/manifest.json
@@ -0,0 +1,54 @@
+{
+ "summary": "这个 PR 给 OceanBase Oracle 的普通视图改名加了保护:改名时会提示不可回滚,并在改名结果不确定或响应丢失时,把旧源码固定成只读快照,阻止继续保存/执行旧身份的内容。同时,侧栏对象页和打开的源码标签也会在视图改名后进入快照状态,避免旧标签被误恢复成可编辑对象。",
+ "scenes": [
+ {
+ "title": "视图改名提示",
+ "shots": [
+ {
+ "file": "01-view-object-page.png",
+ "caption": "打开视图后的对象页",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "旧源码快照",
+ "shots": [
+ {
+ "file": "02-data-page-baseline.png",
+ "caption": "对象页的常规状态",
+ "width": 2456,
+ "warn": true
+ },
+ {
+ "file": "03-source-snapshot-placeholder.png",
+ "caption": "源码快照提示出现的位置",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "视图改名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "视图改名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "视图改名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "视图改名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "视图改名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"v_daily_revenue\" (0 in the page)",
+ "视图改名提示 · click button: nothing visible matches button with \"重命名\" (0 in the page)",
+ "视图改名提示 · shot [role='dialog']: nothing visible matches [role='dialog'] (0 in the page)",
+ "旧源码快照 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "旧源码快照 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"daily_stats\" (0 in the page)",
+ "旧源码快照 · click button: nothing visible matches button with \"SQL 库\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“两个入口”“未保存草稿保留”等,和实际改动一致;没有明显不符项。",
+ "unseen": "沙盒只有 SQLite,没有 OceanBase Oracle,因此无法真实演示视图改名的数据库回读、响应丢失分支和权限校验提示;只能在代码层对应位置展示改名对话框和源码页的只读快照表现。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11540/3484d6d/poster.png b/pr-11540/3484d6d/poster.png
new file mode 100644
index 0000000000..ade418e24f
Binary files /dev/null and b/pr-11540/3484d6d/poster.png differ
diff --git a/pr-11540/3484d6d/preview.mp4 b/pr-11540/3484d6d/preview.mp4
new file mode 100644
index 0000000000..db4b9e76d2
Binary files /dev/null and b/pr-11540/3484d6d/preview.mp4 differ
diff --git a/pr-11541/8465ee3/01-oceanbase-rename-warning.png b/pr-11541/8465ee3/01-oceanbase-rename-warning.png
new file mode 100644
index 0000000000..8d149f3f4c
Binary files /dev/null and b/pr-11541/8465ee3/01-oceanbase-rename-warning.png differ
diff --git a/pr-11541/8465ee3/02-snapshot-placeholder-entry.png b/pr-11541/8465ee3/02-snapshot-placeholder-entry.png
new file mode 100644
index 0000000000..c64a45b03d
Binary files /dev/null and b/pr-11541/8465ee3/02-snapshot-placeholder-entry.png differ
diff --git a/pr-11541/8465ee3/index.html b/pr-11541/8465ee3/index.html
new file mode 100644
index 0000000000..f271d2a806
--- /dev/null
+++ b/pr-11541/8465ee3/index.html
@@ -0,0 +1,16 @@
+
+#11541 界面预览 · 8465ee3
+
+#11541 界面预览
commit 8465ee3 · 回到 PR · 这个 PR 给 OceanBase Oracle 的对象重命名加了更严格的受控流程:视图重命名现在会先校验当前 schema、再回读新旧名称状态;过程/函数重命名改为五步计划,失败时保留原定义快照并阻止继续编辑。界面上还新增了重命名警告、失败提示和“重命名后源码快照只读”的状态文案。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 视图重命名提示 · 查看重命名对话框中的新增提示文案
+
⚠️ 视图源码快照只读 · 查看查询/编辑区域所在位置,作为重命名后只读快照状态的对照位置
+
\ No newline at end of file
diff --git a/pr-11541/8465ee3/manifest.json b/pr-11541/8465ee3/manifest.json
new file mode 100644
index 0000000000..9943c14497
--- /dev/null
+++ b/pr-11541/8465ee3/manifest.json
@@ -0,0 +1,47 @@
+{
+ "summary": "这个 PR 给 OceanBase Oracle 的对象重命名加了更严格的受控流程:视图重命名现在会先校验当前 schema、再回读新旧名称状态;过程/函数重命名改为五步计划,失败时保留原定义快照并阻止继续编辑。界面上还新增了重命名警告、失败提示和“重命名后源码快照只读”的状态文案。",
+ "scenes": [
+ {
+ "title": "OceanBase 视图重命名提示",
+ "shots": [
+ {
+ "file": "01-oceanbase-rename-warning.png",
+ "caption": "查看重命名对话框中的新增提示文案",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "视图源码快照只读",
+ "shots": [
+ {
+ "file": "02-snapshot-placeholder-entry.png",
+ "caption": "查看查询/编辑区域所在位置,作为重命名后只读快照状态的对照位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 视图重命名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 视图重命名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 视图重命名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 视图重命名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 视图重命名提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "OceanBase 视图重命名提示 · click button: nothing visible matches button with \"重命名\" (0 in the page)",
+ "视图源码快照只读 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "视图源码快照只读 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"daily_stats\" (0 in the page)",
+ "视图源码快照只读 · click button: nothing visible matches button with \"查询历史\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里说“视图改名响应丢失后,旧编辑页还可能误用原名称保存”“提示读回实际状态”,diff 里对应做了回读和快照冻结,但没有新增一个专门的“读回实际状态”按钮或独立页面;而且“保存旧编辑页草稿”是通过只读快照实现,不是继续按旧身份保存。",
+ "unseen": "这次改动核心还包含 OceanBase Oracle 过程/函数的五步编译与授权恢复、以及跨 schema/权限读回分支;沙盒里没有真实 OceanBase Oracle 实库,无法验证这些 DDL 在目标数据库里的真实执行结果,只能展示 UI 警告、预览和受控重命名对话框。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11541/8465ee3/poster.png b/pr-11541/8465ee3/poster.png
new file mode 100644
index 0000000000..7febfea988
Binary files /dev/null and b/pr-11541/8465ee3/poster.png differ
diff --git a/pr-11541/8465ee3/preview.mp4 b/pr-11541/8465ee3/preview.mp4
new file mode 100644
index 0000000000..1f861cbd36
Binary files /dev/null and b/pr-11541/8465ee3/preview.mp4 differ
diff --git a/pr-11542/9757f90/01-table-overview-with-row-statistics.png b/pr-11542/9757f90/01-table-overview-with-row-statistics.png
new file mode 100644
index 0000000000..ad02078421
Binary files /dev/null and b/pr-11542/9757f90/01-table-overview-with-row-statistics.png differ
diff --git a/pr-11542/9757f90/02-connection-dialog-placeholder.png b/pr-11542/9757f90/02-connection-dialog-placeholder.png
new file mode 100644
index 0000000000..44d2fa8611
Binary files /dev/null and b/pr-11542/9757f90/02-connection-dialog-placeholder.png differ
diff --git a/pr-11542/9757f90/index.html b/pr-11542/9757f90/index.html
new file mode 100644
index 0000000000..046f443e6f
--- /dev/null
+++ b/pr-11542/9757f90/index.html
@@ -0,0 +1,16 @@
+
+#11542 界面预览 · 9757f90
+
+#11542 界面预览
commit 9757f90 · 回到 PR · OceanBase Oracle 的对象列表和表详情开始展示基于全局统计的估计行数,并补充来源、采集时间与时效状态;同时该数据库类型的对象列表改为按服务器分页加载,底部出现“加载更多”和已加载数量提示。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 打开表详情并查看估计行数 · 打开订单表后的详情面板,查看行数相关信息
+
查看 OceanBase 分页位置 · 新建连接入口,展示这里可以进入数据库连接配置
+
\ No newline at end of file
diff --git a/pr-11542/9757f90/manifest.json b/pr-11542/9757f90/manifest.json
new file mode 100644
index 0000000000..032d91ad41
--- /dev/null
+++ b/pr-11542/9757f90/manifest.json
@@ -0,0 +1,42 @@
+{
+ "summary": "OceanBase Oracle 的对象列表和表详情开始展示基于全局统计的估计行数,并补充来源、采集时间与时效状态;同时该数据库类型的对象列表改为按服务器分页加载,底部出现“加载更多”和已加载数量提示。",
+ "scenes": [
+ {
+ "title": "打开表详情并查看估计行数",
+ "shots": [
+ {
+ "file": "01-table-overview-with-row-statistics.png",
+ "caption": "打开订单表后的详情面板,查看行数相关信息",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "查看 OceanBase 分页位置",
+ "shots": [
+ {
+ "file": "02-connection-dialog-placeholder.png",
+ "caption": "新建连接入口,展示这里可以进入数据库连接配置",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "打开表详情并查看估计行数 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开表详情并查看估计行数 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开表详情并查看估计行数 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开表详情并查看估计行数 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开表详情并查看估计行数 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“表列表和详情原先缺少行数来源及统计状态”,与本分支新增的实际表现一致;未发现额外 UI 承诺与 diff 不符的地方。",
+ "unseen": "这个录屏只能在 OceanBase Oracle 连接上完整看到新行数状态和服务器分页;沙盒没有真实 OceanBase,只能用现成的 SQLite 连接演示进入表详情的普通界面,无法实测 OceanBase 统计来源接口、分页请求和“估计/过期”状态的真实数据。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11542/9757f90/poster.png b/pr-11542/9757f90/poster.png
new file mode 100644
index 0000000000..7c7b5bafe6
Binary files /dev/null and b/pr-11542/9757f90/poster.png differ
diff --git a/pr-11542/9757f90/preview.mp4 b/pr-11542/9757f90/preview.mp4
new file mode 100644
index 0000000000..55256ec4fc
Binary files /dev/null and b/pr-11542/9757f90/preview.mp4 differ
diff --git a/pr-11543/ce04034/01-shop-tree-expanded.png b/pr-11543/ce04034/01-shop-tree-expanded.png
new file mode 100644
index 0000000000..ddd70b7888
Binary files /dev/null and b/pr-11543/ce04034/01-shop-tree-expanded.png differ
diff --git a/pr-11543/ce04034/02-analytics-tree-expanded.png b/pr-11543/ce04034/02-analytics-tree-expanded.png
new file mode 100644
index 0000000000..146edaf33b
Binary files /dev/null and b/pr-11543/ce04034/02-analytics-tree-expanded.png differ
diff --git a/pr-11543/ce04034/03-oceanbase-unseen-entry.png b/pr-11543/ce04034/03-oceanbase-unseen-entry.png
new file mode 100644
index 0000000000..146edaf33b
Binary files /dev/null and b/pr-11543/ce04034/03-oceanbase-unseen-entry.png differ
diff --git a/pr-11543/ce04034/04-events-grid.png b/pr-11543/ce04034/04-events-grid.png
new file mode 100644
index 0000000000..4d94adefdc
Binary files /dev/null and b/pr-11543/ce04034/04-events-grid.png differ
diff --git a/pr-11543/ce04034/05-table-info-panel.png b/pr-11543/ce04034/05-table-info-panel.png
new file mode 100644
index 0000000000..4d94adefdc
Binary files /dev/null and b/pr-11543/ce04034/05-table-info-panel.png differ
diff --git a/pr-11543/ce04034/06-oceanbase-space-unseen.png b/pr-11543/ce04034/06-oceanbase-space-unseen.png
new file mode 100644
index 0000000000..4d94adefdc
Binary files /dev/null and b/pr-11543/ce04034/06-oceanbase-space-unseen.png differ
diff --git a/pr-11543/ce04034/index.html b/pr-11543/ce04034/index.html
new file mode 100644
index 0000000000..99d1a62394
--- /dev/null
+++ b/pr-11543/ce04034/index.html
@@ -0,0 +1,20 @@
+
+#11543 界面预览 · ce04034
+
+#11543 界面预览
commit ce04034 · 回到 PR · 这个 PR 为 OceanBase Oracle 增加了对象列表的分页加载与搜索分页支持,隐藏了部分不适用的排序/筛选交互,并在表信息面板里把行数与空间统计拆成更细的 OceanBase 专用来源、Leader 口径、索引和 LOB 分项显示。
+⚠️ 这次录制有 8 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 对象列表分页 · 商店连接展开后的对象树
+
⚠️ OceanBase 对象列表分页 · 分析连接展开后的对象树
+
⚠️ OceanBase 对象列表分页 · 这里是 OceanBase Oracle 对象列表分页与加载更多按钮会出现的位置
+
⚠️ 表信息里的 OceanBase 行数与空间统计 · 事件表打开后的数据网格
+
⚠️ 表信息里的 OceanBase 行数与空间统计 · 表信息面板中的统计区域
+
⚠️ 表信息里的 OceanBase 行数与空间统计 · 这里是 OceanBase Oracle 会显示行数来源、Leader 口径、已分配空间、索引和 LOB 分项的表信息位置
+
\ No newline at end of file
diff --git a/pr-11543/ce04034/manifest.json b/pr-11543/ce04034/manifest.json
new file mode 100644
index 0000000000..15e80f15d2
--- /dev/null
+++ b/pr-11543/ce04034/manifest.json
@@ -0,0 +1,70 @@
+{
+ "summary": "这个 PR 为 OceanBase Oracle 增加了对象列表的分页加载与搜索分页支持,隐藏了部分不适用的排序/筛选交互,并在表信息面板里把行数与空间统计拆成更细的 OceanBase 专用来源、Leader 口径、索引和 LOB 分项显示。",
+ "scenes": [
+ {
+ "title": "OceanBase 对象列表分页",
+ "shots": [
+ {
+ "file": "01-shop-tree-expanded.png",
+ "caption": "商店连接展开后的对象树",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-analytics-tree-expanded.png",
+ "caption": "分析连接展开后的对象树",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-oceanbase-unseen-entry.png",
+ "caption": "这里是 OceanBase Oracle 对象列表分页与加载更多按钮会出现的位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "表信息里的 OceanBase 行数与空间统计",
+ "shots": [
+ {
+ "file": "04-events-grid.png",
+ "caption": "事件表打开后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "05-table-info-panel.png",
+ "caption": "表信息面板中的统计区域",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "06-oceanbase-space-unseen.png",
+ "caption": "这里是 OceanBase Oracle 会显示行数来源、Leader 口径、已分配空间、索引和 LOB 分项的表信息位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "表信息里的 OceanBase 行数与空间统计 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "表信息里的 OceanBase 行数与空间统计 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "表信息里的 OceanBase 行数与空间统计 · click button: nothing visible matches button with \"信息\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“列表和详情缺少可解释的空间统计、来源、Leader 范围及表、索引、LOB 独立分项、缺失值保留未知”,这些在前端改动里基本都做了;但“CTE 换行转义引发的 ORA-00900”属于后端修复,前端无法直接单独验证。",
+ "unseen": "这次改动只对 OceanBase Oracle 生效,但当前沙盒没有 OceanBase 连接,只能打开 SQLite 两个连接,无法在真实 OceanBase 上看到新分页查询、行数统计回退和空间统计来源字段的实际返回内容。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11543/ce04034/poster.png b/pr-11543/ce04034/poster.png
new file mode 100644
index 0000000000..d21ec23068
Binary files /dev/null and b/pr-11543/ce04034/poster.png differ
diff --git a/pr-11543/ce04034/preview.mp4 b/pr-11543/ce04034/preview.mp4
new file mode 100644
index 0000000000..dc53464a43
Binary files /dev/null and b/pr-11543/ce04034/preview.mp4 differ
diff --git a/pr-11544/a4a82f2/01-customers-grid-open.png b/pr-11544/a4a82f2/01-customers-grid-open.png
new file mode 100644
index 0000000000..c4b2502dcf
Binary files /dev/null and b/pr-11544/a4a82f2/01-customers-grid-open.png differ
diff --git a/pr-11544/a4a82f2/02-events-grid-open.png b/pr-11544/a4a82f2/02-events-grid-open.png
new file mode 100644
index 0000000000..3d735140b9
Binary files /dev/null and b/pr-11544/a4a82f2/02-events-grid-open.png differ
diff --git a/pr-11544/a4a82f2/03-orders-grid-open.png b/pr-11544/a4a82f2/03-orders-grid-open.png
new file mode 100644
index 0000000000..67f960d2d1
Binary files /dev/null and b/pr-11544/a4a82f2/03-orders-grid-open.png differ
diff --git a/pr-11544/a4a82f2/04-oceanbase-context-unseen.png b/pr-11544/a4a82f2/04-oceanbase-context-unseen.png
new file mode 100644
index 0000000000..cf6948ffd9
Binary files /dev/null and b/pr-11544/a4a82f2/04-oceanbase-context-unseen.png differ
diff --git a/pr-11544/a4a82f2/index.html b/pr-11544/a4a82f2/index.html
new file mode 100644
index 0000000000..aaefe0b21c
--- /dev/null
+++ b/pr-11544/a4a82f2/index.html
@@ -0,0 +1,18 @@
+
+#11544 界面预览 · a4a82f2
+
+#11544 界面预览
commit a4a82f2 · 回到 PR · 这次改动让 OceanBase Oracle 的查询与表浏览在遇到大 CLOB 时先显示有界预览,后续可按需读取完整内容,并且在数据网格保存、取消和导出时更稳妥地释放这类大值资源。编辑器的列补全与诊断也改为更尊重 OceanBase 的当前 schema / 同义词上下文。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 大值预览与按需入口 · 打开 customers 表后的数据网格
+
⚠️ 大值预览与按需入口 · 打开 events 表后的数据网格
+
⚠️ 保存时的行级反馈 · 打开订单表后的数据网格,观察保存和行状态反馈入口
+
OceanBase 补全与诊断上下文 · 显示编辑器所在位置,说明本次改动也影响 OceanBase Oracle 的补全和诊断上下文
+
\ No newline at end of file
diff --git a/pr-11544/a4a82f2/manifest.json b/pr-11544/a4a82f2/manifest.json
new file mode 100644
index 0000000000..c38fbfe622
--- /dev/null
+++ b/pr-11544/a4a82f2/manifest.json
@@ -0,0 +1,64 @@
+{
+ "summary": "这次改动让 OceanBase Oracle 的查询与表浏览在遇到大 CLOB 时先显示有界预览,后续可按需读取完整内容,并且在数据网格保存、取消和导出时更稳妥地释放这类大值资源。编辑器的列补全与诊断也改为更尊重 OceanBase 的当前 schema / 同义词上下文。",
+ "scenes": [
+ {
+ "title": "大值预览与按需入口",
+ "shots": [
+ {
+ "file": "01-customers-grid-open.png",
+ "caption": "打开 customers 表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-events-grid-open.png",
+ "caption": "打开 events 表后的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "保存时的行级反馈",
+ "shots": [
+ {
+ "file": "03-orders-grid-open.png",
+ "caption": "打开订单表后的数据网格,观察保存和行状态反馈入口",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "OceanBase 补全与诊断上下文",
+ "shots": [
+ {
+ "file": "04-oceanbase-context-unseen.png",
+ "caption": "显示编辑器所在位置,说明本次改动也影响 OceanBase Oracle 的补全和诊断上下文",
+ "width": 2456
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "大值预览与按需入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "大值预览与按需入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "大值预览与按需入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "大值预览与按需入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "大值预览与按需入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "大值预览与按需入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "大值预览与按需入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "保存时的行级反馈 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "保存时的行级反馈 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到的“查看、复制、编辑和导出按需读取全文”“连续编辑两列 CLOB 保留撤销状态”“关闭 CLOB 详情后迟到响应不回写”等具体 UI 行为,diff 里有对应底层支持,但前端可直接展示的完整交互只覆盖了大值预览、网格/补全/诊断的上下文修正与导出下载入口;另外描述里提到“导出公式防护 reader.bytes() 修复”“Java CI 三个测试 Proxy 修复”属于非 UI 或测试侧,不是这次页面可见改动。",
+ "unseen": "沙盒里没有 OceanBase Oracle 服务器和真实 CLOB 字段,因此无法直接在 GUI 里演示“按需读全文/完整导出/大值释放”的真实数据库路径;只能展示相关入口和现有 SQLite 页面,说明这些能力在代码里已经接入但本环境不能实证。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11544/a4a82f2/poster.png b/pr-11544/a4a82f2/poster.png
new file mode 100644
index 0000000000..9f82e2b996
Binary files /dev/null and b/pr-11544/a4a82f2/poster.png differ
diff --git a/pr-11544/a4a82f2/preview.mp4 b/pr-11544/a4a82f2/preview.mp4
new file mode 100644
index 0000000000..ebf203417d
Binary files /dev/null and b/pr-11544/a4a82f2/preview.mp4 differ
diff --git a/pr-11545/20c346d/01-home-screen.png b/pr-11545/20c346d/01-home-screen.png
new file mode 100644
index 0000000000..ef0f9c9965
Binary files /dev/null and b/pr-11545/20c346d/01-home-screen.png differ
diff --git a/pr-11545/20c346d/02-no-oceanbase-lob.png b/pr-11545/20c346d/02-no-oceanbase-lob.png
new file mode 100644
index 0000000000..ef0f9c9965
Binary files /dev/null and b/pr-11545/20c346d/02-no-oceanbase-lob.png differ
diff --git a/pr-11545/20c346d/index.html b/pr-11545/20c346d/index.html
new file mode 100644
index 0000000000..4c836f1e77
--- /dev/null
+++ b/pr-11545/20c346d/index.html
@@ -0,0 +1,16 @@
+
+#11545 界面预览 · 20c346d
+
+#11545 界面预览
commit 20c346d · 回到 PR · 这个 PR 让 OceanBase Oracle 连接支持 BLOB 有界预览、按需读取原始字节分块,以及大值引用在事务边界和取消时的失效/释放处理;同时还补了按上下文解析表/同义词列元数据的能力。界面层面主要体现在该驱动下大 LOB 查询结果会先显示截断预览,并能继续取全文。
+
+
+
连接页查看大值预览入口 · 打开应用后的首页,查看现有连接与历史入口
+
说明当前沙盒无法演示 OceanBase LOB · 当前沙盒仅有 SQLite 连接,展示无法进入 OceanBase Oracle 大值预览的场景
+
\ No newline at end of file
diff --git a/pr-11545/20c346d/manifest.json b/pr-11545/20c346d/manifest.json
new file mode 100644
index 0000000000..f231e71d62
--- /dev/null
+++ b/pr-11545/20c346d/manifest.json
@@ -0,0 +1,35 @@
+{
+ "summary": "这个 PR 让 OceanBase Oracle 连接支持 BLOB 有界预览、按需读取原始字节分块,以及大值引用在事务边界和取消时的失效/释放处理;同时还补了按上下文解析表/同义词列元数据的能力。界面层面主要体现在该驱动下大 LOB 查询结果会先显示截断预览,并能继续取全文。",
+ "scenes": [
+ {
+ "title": "连接页查看大值预览入口",
+ "shots": [
+ {
+ "file": "01-home-screen.png",
+ "caption": "打开应用后的首页,查看现有连接与历史入口",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ },
+ {
+ "title": "说明当前沙盒无法演示 OceanBase LOB",
+ "shots": [
+ {
+ "file": "02-no-oceanbase-lob.png",
+ "caption": "当前沙盒仅有 SQLite 连接,展示无法进入 OceanBase Oracle 大值预览的场景",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": null,
+ "poster": null,
+ "errors": [],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“读取、复制与下载区分预览和全文”“连续编辑两列 LOB 时保留第一列草稿和撤销状态”等更完整的交互,但这段 diff 里没看到对应前端下载/复制 UI 或双列编辑器状态表现的改动;此外它还补了同义词列元数据解析,描述里没有专门强调。",
+ "unseen": "这里是沙盒 SQLite 环境,没有 OceanBase Oracle 连接、没有 BLOB/CLOB 大对象结果,也没有该驱动的 LOB 预览/分块读取入口可实测;相关改动只能在代码层说明,无法在当前页面真实展示。",
+ "interactive": false
+}
\ No newline at end of file
diff --git a/pr-11546/e1e216b/01-oracle-structure-entry.png b/pr-11546/e1e216b/01-oracle-structure-entry.png
new file mode 100644
index 0000000000..490a55d4f4
Binary files /dev/null and b/pr-11546/e1e216b/01-oracle-structure-entry.png differ
diff --git a/pr-11546/e1e216b/index.html b/pr-11546/e1e216b/index.html
new file mode 100644
index 0000000000..a289bbbcaf
--- /dev/null
+++ b/pr-11546/e1e216b/index.html
@@ -0,0 +1,15 @@
+
+#11546 界面预览 · e1e216b
+
+#11546 界面预览
commit e1e216b · 回到 PR · 这个 PR 在 Oracle 表结构页新增了“编辑主键”交互:可按列顺序选择/重排主键列,预览将执行的 DDL,并在应用后回读实际状态与恢复信息。界面还增加了是否在成功后移除原支持索引的选项,并把这些文案本地化到中文。
+⚠️ 这次录制有 11 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 结构页入口 · 打开表结构页,查看 Oracle 主键编辑器入口
+
\ No newline at end of file
diff --git a/pr-11546/e1e216b/manifest.json b/pr-11546/e1e216b/manifest.json
new file mode 100644
index 0000000000..09fff9c6bd
--- /dev/null
+++ b/pr-11546/e1e216b/manifest.json
@@ -0,0 +1,42 @@
+{
+ "summary": "这个 PR 在 Oracle 表结构页新增了“编辑主键”交互:可按列顺序选择/重排主键列,预览将执行的 DDL,并在应用后回读实际状态与恢复信息。界面还增加了是否在成功后移除原支持索引的选项,并把这些文案本地化到中文。",
+ "scenes": [
+ {
+ "title": "Oracle 结构页入口",
+ "shots": [
+ {
+ "file": "01-oracle-structure-entry.png",
+ "caption": "打开表结构页,查看 Oracle 主键编辑器入口",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "主键编辑与预览",
+ "shots": [],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 结构页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 结构页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 结构页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 结构页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 结构页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "主键编辑与预览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "主键编辑与预览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "主键编辑与预览 · click button: nothing visible matches button with \"编辑主键\" (0 in the page)",
+ "主键编辑与预览 · shot section[aria-label='编辑主键']: nothing visible matches section[aria-label='编辑主键'] (0 in the page)",
+ "主键编辑与预览 · click button: nothing visible matches button with \"预览 DDL\" (0 in the page)",
+ "主键编辑与预览 · shot section[aria-label='编辑主键']: nothing visible matches section[aria-label='编辑主键'] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“联合主键移除列、检查数据冲突、引用和索引后执行并读回状态、默认保留原索引”等都基本有体现;但它说“完整 CI、Oracle 实库和 GUI 验收待完成”属于说明性文字,不是 UI 变更。另“演示迁移测试连接夹具”不在可见界面上。",
+ "unseen": "沙盒里没有 Oracle 服务器连接,只有 SQLite 种子数据,所以这个功能的真实 Oracle 预检、DDL 预览与执行、外键/索引依赖检查都无法在现有数据上实际走通;只能展示结构页里 Oracle 专用编辑器出现的位置,不能演示真正的 Oracle 结果。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11546/e1e216b/poster.png b/pr-11546/e1e216b/poster.png
new file mode 100644
index 0000000000..2d785f15d1
Binary files /dev/null and b/pr-11546/e1e216b/poster.png differ
diff --git a/pr-11546/e1e216b/preview.mp4 b/pr-11546/e1e216b/preview.mp4
new file mode 100644
index 0000000000..6e462714ab
Binary files /dev/null and b/pr-11546/e1e216b/preview.mp4 differ
diff --git a/pr-11547/671bb49/01-structure-page.png b/pr-11547/671bb49/01-structure-page.png
new file mode 100644
index 0000000000..20b8e9f324
Binary files /dev/null and b/pr-11547/671bb49/01-structure-page.png differ
diff --git a/pr-11547/671bb49/02-oracle-primary-key-editor-place.png b/pr-11547/671bb49/02-oracle-primary-key-editor-place.png
new file mode 100644
index 0000000000..20b8e9f324
Binary files /dev/null and b/pr-11547/671bb49/02-oracle-primary-key-editor-place.png differ
diff --git a/pr-11547/671bb49/03-oracle-primary-key-editor-place.png b/pr-11547/671bb49/03-oracle-primary-key-editor-place.png
new file mode 100644
index 0000000000..9dac657920
Binary files /dev/null and b/pr-11547/671bb49/03-oracle-primary-key-editor-place.png differ
diff --git a/pr-11547/671bb49/index.html b/pr-11547/671bb49/index.html
new file mode 100644
index 0000000000..d617fd82c9
--- /dev/null
+++ b/pr-11547/671bb49/index.html
@@ -0,0 +1,17 @@
+
+#11547 界面预览 · 671bb49
+
+#11547 界面预览
commit 671bb49 · 回到 PR · 在 Oracle / OceanBase Oracle 的表结构页里新增了“编辑主键”内联编辑器,可按列顺序调整或清空主键,并在预览后展示受影响对象、DDL、执行结果和恢复 SQL。后端同时接入了主键预览/执行接口,支持 OceanBase 的 MODIFY PRIMARY KEY 路径及 Oracle 的替换流程与失败读回。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 结构页打开主键编辑器 · 订单表结构页中的主键编辑入口
+
⚠️ 结构页打开主键编辑器 · 这里会显示 Oracle / OceanBase Oracle 的主键编辑器,但当前沙盒没有这类连接,因此只能展示入口位置
+
Oracle 主键编辑区域 · 这里会显示 Oracle / OceanBase Oracle 的主键编辑器,但当前沙盒没有这类连接,因此只能展示入口位置
+
\ No newline at end of file
diff --git a/pr-11547/671bb49/manifest.json b/pr-11547/671bb49/manifest.json
new file mode 100644
index 0000000000..7d774020ad
--- /dev/null
+++ b/pr-11547/671bb49/manifest.json
@@ -0,0 +1,49 @@
+{
+ "summary": "在 Oracle / OceanBase Oracle 的表结构页里新增了“编辑主键”内联编辑器,可按列顺序调整或清空主键,并在预览后展示受影响对象、DDL、执行结果和恢复 SQL。后端同时接入了主键预览/执行接口,支持 OceanBase 的 MODIFY PRIMARY KEY 路径及 Oracle 的替换流程与失败读回。",
+ "scenes": [
+ {
+ "title": "结构页打开主键编辑器",
+ "shots": [
+ {
+ "file": "01-structure-page.png",
+ "caption": "订单表结构页中的主键编辑入口",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-oracle-primary-key-editor-place.png",
+ "caption": "这里会显示 Oracle / OceanBase Oracle 的主键编辑器,但当前沙盒没有这类连接,因此只能展示入口位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Oracle 主键编辑区域",
+ "shots": [
+ {
+ "file": "03-oracle-primary-key-editor-place.png",
+ "caption": "这里会显示 Oracle / OceanBase Oracle 的主键编辑器,但当前沙盒没有这类连接,因此只能展示入口位置",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "结构页打开主键编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结构页打开主键编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结构页打开主键编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"展开\" (0 in the page)",
+ "结构页打开主键编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结构页打开主键编辑器 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "结构页打开主键编辑器 · click button: nothing visible matches button with \"结构\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "这个改动依赖 Oracle 或 OceanBase Oracle 连接;当前沙盒只有 SQLite,两类数据库都未连接,所以无法真实打开该编辑器并验证主键变更流程。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11547/671bb49/poster.png b/pr-11547/671bb49/poster.png
new file mode 100644
index 0000000000..9355f92bbe
Binary files /dev/null and b/pr-11547/671bb49/poster.png differ
diff --git a/pr-11547/671bb49/preview.mp4 b/pr-11547/671bb49/preview.mp4
new file mode 100644
index 0000000000..dbe3bc5537
Binary files /dev/null and b/pr-11547/671bb49/preview.mp4 differ
diff --git a/pr-11548/a776e72/01-orders-grid-before.png b/pr-11548/a776e72/01-orders-grid-before.png
new file mode 100644
index 0000000000..0a804c5b11
Binary files /dev/null and b/pr-11548/a776e72/01-orders-grid-before.png differ
diff --git a/pr-11548/a776e72/index.html b/pr-11548/a776e72/index.html
new file mode 100644
index 0000000000..d1608261c9
--- /dev/null
+++ b/pr-11548/a776e72/index.html
@@ -0,0 +1,15 @@
+
+#11548 界面预览 · a776e72
+
+#11548 界面预览
commit a776e72 · 回到 PR · 这个 PR 在 Oracle / OceanBase Oracle 的表结构编辑里新增了主键、外键的专用编辑器,并接入了预览、执行与失败后回读恢复信息的流程。界面会显示按列顺序调整、删除/保留支持索引、OceanBase 差异提示,以及外键编辑的复合列、引用对象和状态选项。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle/OceanBase 结构编辑入口 · 打开订单表后的数据网格
+
\ No newline at end of file
diff --git a/pr-11548/a776e72/manifest.json b/pr-11548/a776e72/manifest.json
new file mode 100644
index 0000000000..73b889cf6e
--- /dev/null
+++ b/pr-11548/a776e72/manifest.json
@@ -0,0 +1,31 @@
+{
+ "summary": "这个 PR 在 Oracle / OceanBase Oracle 的表结构编辑里新增了主键、外键的专用编辑器,并接入了预览、执行与失败后回读恢复信息的流程。界面会显示按列顺序调整、删除/保留支持索引、OceanBase 差异提示,以及外键编辑的复合列、引用对象和状态选项。",
+ "scenes": [
+ {
+ "title": "Oracle/OceanBase 结构编辑入口",
+ "shots": [
+ {
+ "file": "01-orders-grid-before.png",
+ "caption": "打开订单表后的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle/OceanBase 结构编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle/OceanBase 结构编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle/OceanBase 结构编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle/OceanBase 结构编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle/OceanBase 结构编辑入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“低权限账号预检”与 Oracle/OceanBase 的权限门禁改进;这些能力主要体现在编辑器预检与报错上,但当前沙盒没有 Oracle/OceanBase 服务端,无法验证真实权限路径。",
+ "unseen": "沙盒只有 SQLite 连接,无法进入 Oracle / OceanBase Oracle 的主键、外键编辑器,因此本次新增的界面只能在代码里确认,不能在当前环境实机展示。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11548/a776e72/poster.png b/pr-11548/a776e72/poster.png
new file mode 100644
index 0000000000..0d7b8f76fa
Binary files /dev/null and b/pr-11548/a776e72/poster.png differ
diff --git a/pr-11548/a776e72/preview.mp4 b/pr-11548/a776e72/preview.mp4
new file mode 100644
index 0000000000..5e78f09f62
Binary files /dev/null and b/pr-11548/a776e72/preview.mp4 differ
diff --git a/pr-11549/d803006/01-oracle-table-structure-overview.png b/pr-11549/d803006/01-oracle-table-structure-overview.png
new file mode 100644
index 0000000000..50f6f22f0a
Binary files /dev/null and b/pr-11549/d803006/01-oracle-table-structure-overview.png differ
diff --git a/pr-11549/d803006/02-foreign-key-editor.png b/pr-11549/d803006/02-foreign-key-editor.png
new file mode 100644
index 0000000000..50f6f22f0a
Binary files /dev/null and b/pr-11549/d803006/02-foreign-key-editor.png differ
diff --git a/pr-11549/d803006/03-check-editor-entry.png b/pr-11549/d803006/03-check-editor-entry.png
new file mode 100644
index 0000000000..6fc80fe739
Binary files /dev/null and b/pr-11549/d803006/03-check-editor-entry.png differ
diff --git a/pr-11549/d803006/04-check-preview-ddl.png b/pr-11549/d803006/04-check-preview-ddl.png
new file mode 100644
index 0000000000..6fc80fe739
Binary files /dev/null and b/pr-11549/d803006/04-check-preview-ddl.png differ
diff --git a/pr-11549/d803006/05-foreign-key-editor.png b/pr-11549/d803006/05-foreign-key-editor.png
new file mode 100644
index 0000000000..e2d28a3a28
Binary files /dev/null and b/pr-11549/d803006/05-foreign-key-editor.png differ
diff --git a/pr-11549/d803006/06-primary-key-editor.png b/pr-11549/d803006/06-primary-key-editor.png
new file mode 100644
index 0000000000..e2d28a3a28
Binary files /dev/null and b/pr-11549/d803006/06-primary-key-editor.png differ
diff --git a/pr-11549/d803006/index.html b/pr-11549/d803006/index.html
new file mode 100644
index 0000000000..8c4de820c3
--- /dev/null
+++ b/pr-11549/d803006/index.html
@@ -0,0 +1,20 @@
+
+#11549 界面预览 · d803006
+
+#11549 界面预览
commit d803006 · 回到 PR · 这个 PR 在 Oracle / OceanBase Oracle 的表结构编辑里新增了三类约束编辑器:主键、外键和 CHECK。它们都支持先预览 DDL,再执行并读回实际状态,执行结果里会显示部分成功、恢复 SQL 和实际约束状态;同时 OceanBase 版会隐藏 Oracle 专属的延迟选项和主键旧索引处理。
+⚠️ 这次录制有 17 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 约束编辑器入口 · 查看订单表的结构页,定位约束编辑区
+
⚠️ Oracle 约束编辑器入口 · 展示外键编辑器里的列对顺序、引用表和 Oracle 专属选项
+
⚠️ CHECK 约束编辑与预览 · 展示 CHECK 约束编辑器入口
+
⚠️ CHECK 约束编辑与预览 · 查看 CHECK 约束的 DDL 预览、影响对象和恢复 SQL
+
⚠️ 外键与主键编辑结果 · 展示外键编辑器里的列对顺序、引用表和 Oracle 专属选项
+
⚠️ 外键与主键编辑结果 · 展示主键编辑器里的列顺序、预览和恢复信息
+
\ No newline at end of file
diff --git a/pr-11549/d803006/manifest.json b/pr-11549/d803006/manifest.json
new file mode 100644
index 0000000000..0c9449fa24
--- /dev/null
+++ b/pr-11549/d803006/manifest.json
@@ -0,0 +1,85 @@
+{
+ "summary": "这个 PR 在 Oracle / OceanBase Oracle 的表结构编辑里新增了三类约束编辑器:主键、外键和 CHECK。它们都支持先预览 DDL,再执行并读回实际状态,执行结果里会显示部分成功、恢复 SQL 和实际约束状态;同时 OceanBase 版会隐藏 Oracle 专属的延迟选项和主键旧索引处理。",
+ "scenes": [
+ {
+ "title": "Oracle 约束编辑器入口",
+ "shots": [
+ {
+ "file": "01-oracle-table-structure-overview.png",
+ "caption": "查看订单表的结构页,定位约束编辑区",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-foreign-key-editor.png",
+ "caption": "展示外键编辑器里的列对顺序、引用表和 Oracle 专属选项",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "CHECK 约束编辑与预览",
+ "shots": [
+ {
+ "file": "03-check-editor-entry.png",
+ "caption": "展示 CHECK 约束编辑器入口",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "04-check-preview-ddl.png",
+ "caption": "查看 CHECK 约束的 DDL 预览、影响对象和恢复 SQL",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "外键与主键编辑结果",
+ "shots": [
+ {
+ "file": "05-foreign-key-editor.png",
+ "caption": "展示外键编辑器里的列对顺序、引用表和 Oracle 专属选项",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "06-primary-key-editor.png",
+ "caption": "展示主键编辑器里的列顺序、预览和恢复信息",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "Oracle 约束编辑器入口 · click button: nothing visible matches button with \"编辑外键\" (0 in the page)",
+ "CHECK 约束编辑与预览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "CHECK 约束编辑与预览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"daily_stats\" (0 in the page)",
+ "CHECK 约束编辑与预览 · click button: nothing visible matches button with \"设置\" (0 in the page)",
+ "CHECK 约束编辑与预览 · click button: nothing visible matches button with \"添加 CHECK\" (0 in the page)",
+ "CHECK 约束编辑与预览 · type textarea[data-expression]: nothing visible matches textarea[data-expression] (0 in the page)",
+ "CHECK 约束编辑与预览 · click button: nothing visible matches button with \"预览 DDL\" (0 in the page)",
+ "外键与主键编辑结果 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "外键与主键编辑结果 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "外键与主键编辑结果 · click button: nothing visible matches button with \"编辑外键\" (0 in the page)",
+ "外键与主键编辑结果 · click button: nothing visible matches button with \"预览 DDL\" (0 in the page)",
+ "外键与主键编辑结果 · click button: nothing visible matches button with \"编辑主键\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“CHECK 新增、修改、删除和状态切换”与“外键保护修复”,实现里对应的是新的结构页编辑器与读回/保护逻辑,但没有新增独立按钮页或全局设置;另外描述中的“NOT NULL 仍由列编辑器处理”没有在界面上新增任何可见入口,只是通过 CHECK 编辑器避免把 NOT NULL 当成 CHECK 来改。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11549/d803006/poster.png b/pr-11549/d803006/poster.png
new file mode 100644
index 0000000000..3aadbf93f6
Binary files /dev/null and b/pr-11549/d803006/poster.png differ
diff --git a/pr-11549/d803006/preview.mp4 b/pr-11549/d803006/preview.mp4
new file mode 100644
index 0000000000..8fec26b642
Binary files /dev/null and b/pr-11549/d803006/preview.mp4 differ
diff --git a/pr-11550/8bdbd16/01-sqlite-orders-grid.png b/pr-11550/8bdbd16/01-sqlite-orders-grid.png
new file mode 100644
index 0000000000..91e47af5ff
Binary files /dev/null and b/pr-11550/8bdbd16/01-sqlite-orders-grid.png differ
diff --git a/pr-11550/8bdbd16/02-oracle-editor-unseen.png b/pr-11550/8bdbd16/02-oracle-editor-unseen.png
new file mode 100644
index 0000000000..ec988f067c
Binary files /dev/null and b/pr-11550/8bdbd16/02-oracle-editor-unseen.png differ
diff --git a/pr-11550/8bdbd16/index.html b/pr-11550/8bdbd16/index.html
new file mode 100644
index 0000000000..71f3446283
--- /dev/null
+++ b/pr-11550/8bdbd16/index.html
@@ -0,0 +1,16 @@
+
+#11550 界面预览 · 8bdbd16
+
+#11550 界面预览
commit 8bdbd16 · 回到 PR · 这个 PR 在 Oracle / OceanBase Oracle 的表结构编辑里新增了 UNIQUE、外键和主键的专用编辑器,支持先预览 DDL、再确认执行,并在结果区回读当前约束、受影响对象和恢复 SQL。它还区分 Oracle 与 OceanBase 的行为差异,例如 OceanBase 隐藏部分状态选项、主键和 UNIQUE 的支持索引处理不同。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 表结构里的约束编辑器入口 · 当前沙盒里的订单表数据网格
+
Oracle 结构编辑器中新增的约束面板 · Oracle / OceanBase Oracle 约束编辑入口的位置
+
\ No newline at end of file
diff --git a/pr-11550/8bdbd16/manifest.json b/pr-11550/8bdbd16/manifest.json
new file mode 100644
index 0000000000..9f6981cb3c
--- /dev/null
+++ b/pr-11550/8bdbd16/manifest.json
@@ -0,0 +1,42 @@
+{
+ "summary": "这个 PR 在 Oracle / OceanBase Oracle 的表结构编辑里新增了 UNIQUE、外键和主键的专用编辑器,支持先预览 DDL、再确认执行,并在结果区回读当前约束、受影响对象和恢复 SQL。它还区分 Oracle 与 OceanBase 的行为差异,例如 OceanBase 隐藏部分状态选项、主键和 UNIQUE 的支持索引处理不同。",
+ "scenes": [
+ {
+ "title": "Oracle 表结构里的约束编辑器入口",
+ "shots": [
+ {
+ "file": "01-sqlite-orders-grid.png",
+ "caption": "当前沙盒里的订单表数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Oracle 结构编辑器中新增的约束面板",
+ "shots": [
+ {
+ "file": "02-oracle-editor-unseen.png",
+ "caption": "Oracle / OceanBase Oracle 约束编辑入口的位置",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 表结构里的约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 表结构里的约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 表结构里的约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 表结构里的约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 表结构里的约束编辑器入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里强调“准确区分唯一约束与普通索引、超长新名称门禁修复、删除旧支持索引后重新创建失败前的限制检查”等更细的 Oracle/OceanBase 约束索引边界,但前端可直接展示的主要是新增编辑器与预览/结果流程;这些更偏后端校验细节,界面上不能完整单独验证。",
+ "unseen": "沙盒里没有 Oracle / OceanBase 服务器连接,只有 SQLite 种子数据;因此新增的 Oracle 约束编辑器在真实入口下无法实际打开到可用数据,也无法验证这些 API 的真实回读、DDL 门禁和依赖预检,只能在代码层说明其位置和入口。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11550/8bdbd16/poster.png b/pr-11550/8bdbd16/poster.png
new file mode 100644
index 0000000000..9062b36401
Binary files /dev/null and b/pr-11550/8bdbd16/poster.png differ
diff --git a/pr-11550/8bdbd16/preview.mp4 b/pr-11550/8bdbd16/preview.mp4
new file mode 100644
index 0000000000..12d0b6ffed
Binary files /dev/null and b/pr-11550/8bdbd16/preview.mp4 differ
diff --git a/pr-11552/543fc8a/01-shop-database-expanded.png b/pr-11552/543fc8a/01-shop-database-expanded.png
new file mode 100644
index 0000000000..b3d91fb2a0
Binary files /dev/null and b/pr-11552/543fc8a/01-shop-database-expanded.png differ
diff --git a/pr-11552/543fc8a/02-products-grid-open.png b/pr-11552/543fc8a/02-products-grid-open.png
new file mode 100644
index 0000000000..b3d91fb2a0
Binary files /dev/null and b/pr-11552/543fc8a/02-products-grid-open.png differ
diff --git a/pr-11552/543fc8a/03-deploy-readonly-validation-state.png b/pr-11552/543fc8a/03-deploy-readonly-validation-state.png
new file mode 100644
index 0000000000..6fe3eb4e64
Binary files /dev/null and b/pr-11552/543fc8a/03-deploy-readonly-validation-state.png differ
diff --git a/pr-11552/543fc8a/index.html b/pr-11552/543fc8a/index.html
new file mode 100644
index 0000000000..d85ad09123
--- /dev/null
+++ b/pr-11552/543fc8a/index.html
@@ -0,0 +1,17 @@
+
+#11552 界面预览 · 543fc8a
+
+#11552 界面预览
commit 543fc8a · 回到 PR · 这个 PR 扩展了 Schema Diff 的程序对象比较/部署能力,新增了 Oracle / OceanBase Oracle 的包规格、包体和触发器比较,并在部署页加入只读预览、阻断原因、依赖与验证结果展示。它还把程序对象的标识和前后端传输字段统一起来,避免把不同种类的对象混淆。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 对比页中的 Oracle 程序对象 · 查看商店连接展开后的树节点
+
⚠️ 对比页中的 Oracle 程序对象 · 打开 products 表后的数据网格
+
⚠️ 部署页中的只读预览与验证信息 · 打开部署预览后查看只读提示、阻断信息和验证结果的位置
+
\ No newline at end of file
diff --git a/pr-11552/543fc8a/manifest.json b/pr-11552/543fc8a/manifest.json
new file mode 100644
index 0000000000..572b38b798
--- /dev/null
+++ b/pr-11552/543fc8a/manifest.json
@@ -0,0 +1,50 @@
+{
+ "summary": "这个 PR 扩展了 Schema Diff 的程序对象比较/部署能力,新增了 Oracle / OceanBase Oracle 的包规格、包体和触发器比较,并在部署页加入只读预览、阻断原因、依赖与验证结果展示。它还把程序对象的标识和前后端传输字段统一起来,避免把不同种类的对象混淆。",
+ "scenes": [
+ {
+ "title": "对比页中的 Oracle 程序对象",
+ "shots": [
+ {
+ "file": "01-shop-database-expanded.png",
+ "caption": "查看商店连接展开后的树节点",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-products-grid-open.png",
+ "caption": "打开 products 表后的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "部署页中的只读预览与验证信息",
+ "shots": [
+ {
+ "file": "03-deploy-readonly-validation-state.png",
+ "caption": "打开部署预览后查看只读提示、阻断信息和验证结果的位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "对比页中的 Oracle 程序对象 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对比页中的 Oracle 程序对象 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对比页中的 Oracle 程序对象 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对比页中的 Oracle 程序对象 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对比页中的 Oracle 程序对象 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)",
+ "部署页中的只读预览与验证信息 · click button[data-slot=\"button\"]: nothing visible matches button[data-slot=\"button\"] with \"新建查询\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“Oracle 原行为和任意输入 SQL 的严格守卫保留”“失败保留步骤与恢复材料”等,但本次前端主要能看到的是比较/部署页的展示与禁选逻辑;那些守卫更多体现在后端与测试里,UI 上无法单独验证。",
+ "unseen": "Sandbox 里没有 Oracle / OceanBase Oracle 真实连接,也没有可用的服务器数据库或编译失败场景,所以包规格、包体、触发器的真实比较与部署验证、以及读回后启用/恢复流程都无法在此环境完整跑通。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11552/543fc8a/poster.png b/pr-11552/543fc8a/poster.png
new file mode 100644
index 0000000000..26b10743ea
Binary files /dev/null and b/pr-11552/543fc8a/poster.png differ
diff --git a/pr-11552/543fc8a/preview.mp4 b/pr-11552/543fc8a/preview.mp4
new file mode 100644
index 0000000000..5451be829b
Binary files /dev/null and b/pr-11552/543fc8a/preview.mp4 differ
diff --git a/pr-11553/6598ebc/01-transfer-dialog-open.png b/pr-11553/6598ebc/01-transfer-dialog-open.png
new file mode 100644
index 0000000000..ce01033e62
Binary files /dev/null and b/pr-11553/6598ebc/01-transfer-dialog-open.png differ
diff --git a/pr-11553/6598ebc/02-package-preview-unseen.png b/pr-11553/6598ebc/02-package-preview-unseen.png
new file mode 100644
index 0000000000..4c8e406196
Binary files /dev/null and b/pr-11553/6598ebc/02-package-preview-unseen.png differ
diff --git a/pr-11553/6598ebc/03-transfer-progress-unseen.png b/pr-11553/6598ebc/03-transfer-progress-unseen.png
new file mode 100644
index 0000000000..4c8e406196
Binary files /dev/null and b/pr-11553/6598ebc/03-transfer-progress-unseen.png differ
diff --git a/pr-11553/6598ebc/index.html b/pr-11553/6598ebc/index.html
new file mode 100644
index 0000000000..712ef7aea7
--- /dev/null
+++ b/pr-11553/6598ebc/index.html
@@ -0,0 +1,17 @@
+
+#11553 界面预览 · 6598ebc
+
+#11553 界面预览
commit 6598ebc · 回到 PR · 数据传输对话框新增了 Oracle/OceanBase Oracle 的包规格/包体迁移支持:对象树里可单独选择包规格和包体,迁移前会显示依赖与冲突预检,执行结果页也会展示每个对象的编译、读回验证和恢复信息。
+
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
打开数据传输并查看包对象入口 · 查看数据传输对话框的对象选择区域
+
查看包规格与包体的预检提示 · 查看包规格/包体预检与冲突策略的位置
+
查看迁移进度里的对象结果 · 查看对象迁移结果在进度对话框中的展示位置
+
\ No newline at end of file
diff --git a/pr-11553/6598ebc/manifest.json b/pr-11553/6598ebc/manifest.json
new file mode 100644
index 0000000000..c4340ad8a1
--- /dev/null
+++ b/pr-11553/6598ebc/manifest.json
@@ -0,0 +1,46 @@
+{
+ "summary": "数据传输对话框新增了 Oracle/OceanBase Oracle 的包规格/包体迁移支持:对象树里可单独选择包规格和包体,迁移前会显示依赖与冲突预检,执行结果页也会展示每个对象的编译、读回验证和恢复信息。",
+ "scenes": [
+ {
+ "title": "打开数据传输并查看包对象入口",
+ "shots": [
+ {
+ "file": "01-transfer-dialog-open.png",
+ "caption": "查看数据传输对话框的对象选择区域",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ },
+ {
+ "title": "查看包规格与包体的预检提示",
+ "shots": [
+ {
+ "file": "02-package-preview-unseen.png",
+ "caption": "查看包规格/包体预检与冲突策略的位置",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ },
+ {
+ "title": "查看迁移进度里的对象结果",
+ "shots": [
+ {
+ "file": "03-transfer-progress-unseen.png",
+ "caption": "查看对象迁移结果在进度对话框中的展示位置",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“依赖预检和执行后读回、保留旧定义备份、失败显式恢复”,这些都在 diff 中;没有看到额外的独立“恢复”按钮或单独恢复页面,恢复是作为失败后的提示/结果信息呈现。",
+ "unseen": "这次改动的核心是 Oracle / OceanBase Oracle 包对象迁移;沙盒里只有 SQLite,没有 Oracle 或 OceanBase 连接,因此无法真实打开包规格/包体节点、查看完整计划或跑到对象结果页。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11553/6598ebc/poster.png b/pr-11553/6598ebc/poster.png
new file mode 100644
index 0000000000..6c6cd292f1
Binary files /dev/null and b/pr-11553/6598ebc/poster.png differ
diff --git a/pr-11553/6598ebc/preview.mp4 b/pr-11553/6598ebc/preview.mp4
new file mode 100644
index 0000000000..dd4724d511
Binary files /dev/null and b/pr-11553/6598ebc/preview.mp4 differ
diff --git a/pr-11554/fc8d50a/01-data-transfer-dialog.png b/pr-11554/fc8d50a/01-data-transfer-dialog.png
new file mode 100644
index 0000000000..5830dd801a
Binary files /dev/null and b/pr-11554/fc8d50a/01-data-transfer-dialog.png differ
diff --git a/pr-11554/fc8d50a/02-transfer-options-and-hints.png b/pr-11554/fc8d50a/02-transfer-options-and-hints.png
new file mode 100644
index 0000000000..6ee0cf0808
Binary files /dev/null and b/pr-11554/fc8d50a/02-transfer-options-and-hints.png differ
diff --git a/pr-11554/fc8d50a/03-transfer-progress-object-results-placeho.png b/pr-11554/fc8d50a/03-transfer-progress-object-results-placeho.png
new file mode 100644
index 0000000000..310732361f
Binary files /dev/null and b/pr-11554/fc8d50a/03-transfer-progress-object-results-placeho.png differ
diff --git a/pr-11554/fc8d50a/index.html b/pr-11554/fc8d50a/index.html
new file mode 100644
index 0000000000..1485c2f46a
--- /dev/null
+++ b/pr-11554/fc8d50a/index.html
@@ -0,0 +1,17 @@
+
+#11554 界面预览 · fc8d50a
+
+#11554 界面预览
commit fc8d50a · 回到 PR · 这次改动把数据传输能力扩展到 Oracle/OceanBase Oracle 的包规格、包体、私有同义词和公共同义词,并在传输对话框里加入了对象冲突策略、依赖/预检提示以及对象级执行结果展示。后端还会为这些对象生成独立预检与迁移计划,失败时保留恢复信息。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
打开数据传输对话框 · 查看数据传输对话框中的对象选择区域和新增的对象类型提示
+
⚠️ 查看对象冲突策略和依赖提示 · 查看对象冲突策略和依赖提示区域
+
查看传输进度里的对象结果区 · 查看传输进度对话框中新增加的对象结果展示区域位置
+
\ No newline at end of file
diff --git a/pr-11554/fc8d50a/manifest.json b/pr-11554/fc8d50a/manifest.json
new file mode 100644
index 0000000000..d0d5766303
--- /dev/null
+++ b/pr-11554/fc8d50a/manifest.json
@@ -0,0 +1,53 @@
+{
+ "summary": "这次改动把数据传输能力扩展到 Oracle/OceanBase Oracle 的包规格、包体、私有同义词和公共同义词,并在传输对话框里加入了对象冲突策略、依赖/预检提示以及对象级执行结果展示。后端还会为这些对象生成独立预检与迁移计划,失败时保留恢复信息。",
+ "scenes": [
+ {
+ "title": "打开数据传输对话框",
+ "shots": [
+ {
+ "file": "01-data-transfer-dialog.png",
+ "caption": "查看数据传输对话框中的对象选择区域和新增的对象类型提示",
+ "width": 2336
+ }
+ ],
+ "derailed": false
+ },
+ {
+ "title": "查看对象冲突策略和依赖提示",
+ "shots": [
+ {
+ "file": "02-transfer-options-and-hints.png",
+ "caption": "查看对象冲突策略和依赖提示区域",
+ "width": 2336,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "查看传输进度里的对象结果区",
+ "shots": [
+ {
+ "file": "03-transfer-progress-object-results-placeho.png",
+ "caption": "查看传输进度对话框中新增加的对象结果展示区域位置",
+ "width": 2336
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "查看对象冲突策略和依赖提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看对象冲突策略和依赖提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "查看对象冲突策略和依赖提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看对象冲突策略和依赖提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看对象冲突策略和依赖提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "沙盒里没有 Oracle / OceanBase Oracle 连接,也没有能真正触发这类对象迁移的服务端数据库,所以只能展示数据传输对话框中新增加的对象类型、冲突策略和结果区域,无法实际跑通包/同义词的预检与执行。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11554/fc8d50a/poster.png b/pr-11554/fc8d50a/poster.png
new file mode 100644
index 0000000000..3d5687db13
Binary files /dev/null and b/pr-11554/fc8d50a/poster.png differ
diff --git a/pr-11554/fc8d50a/preview.mp4 b/pr-11554/fc8d50a/preview.mp4
new file mode 100644
index 0000000000..027264a04b
Binary files /dev/null and b/pr-11554/fc8d50a/preview.mp4 differ
diff --git a/pr-11556/8dd9728/01-object-browser-entry.png b/pr-11556/8dd9728/01-object-browser-entry.png
new file mode 100644
index 0000000000..8477fc358e
Binary files /dev/null and b/pr-11556/8dd9728/01-object-browser-entry.png differ
diff --git a/pr-11556/8dd9728/02-new-connection-dialog.png b/pr-11556/8dd9728/02-new-connection-dialog.png
new file mode 100644
index 0000000000..44d2fa8611
Binary files /dev/null and b/pr-11556/8dd9728/02-new-connection-dialog.png differ
diff --git a/pr-11556/8dd9728/03-oracle-type-metadata-unseen.png b/pr-11556/8dd9728/03-oracle-type-metadata-unseen.png
new file mode 100644
index 0000000000..44d2fa8611
Binary files /dev/null and b/pr-11556/8dd9728/03-oracle-type-metadata-unseen.png differ
diff --git a/pr-11556/8dd9728/index.html b/pr-11556/8dd9728/index.html
new file mode 100644
index 0000000000..4575112206
--- /dev/null
+++ b/pr-11556/8dd9728/index.html
@@ -0,0 +1,17 @@
+
+#11556 界面预览 · 8dd9728
+
+#11556 界面预览
commit 8dd9728 · 回到 PR · 本 PR 为 Oracle / OceanBase Oracle 的类型对象增加了只读“类型元数据”面板,并把类型/类型体的源码打开与对象列表都改为保留精确 owner 与 TYPE/TYPE BODY 身份。面板会显示状态、配对定义、可见依赖和授权,并区分可见、空、未知、无权限和失败。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 类型对象入口 · 打开对象浏览器后的页面,用来对照类型对象入口位置
+
Oracle 类型元数据面板 · 新建连接对话框,用来展示目前沙盒没有可完成的 Oracle 连接
+
Oracle 类型元数据面板 · Oracle 类型元数据面板对应的位置在这里,但沙盒没有可用 Oracle / OceanBase Oracle 数据可展示
+
\ No newline at end of file
diff --git a/pr-11556/8dd9728/manifest.json b/pr-11556/8dd9728/manifest.json
new file mode 100644
index 0000000000..62cf7deafa
--- /dev/null
+++ b/pr-11556/8dd9728/manifest.json
@@ -0,0 +1,47 @@
+{
+ "summary": "本 PR 为 Oracle / OceanBase Oracle 的类型对象增加了只读“类型元数据”面板,并把类型/类型体的源码打开与对象列表都改为保留精确 owner 与 TYPE/TYPE BODY 身份。面板会显示状态、配对定义、可见依赖和授权,并区分可见、空、未知、无权限和失败。",
+ "scenes": [
+ {
+ "title": "Oracle 类型对象入口",
+ "shots": [
+ {
+ "file": "01-object-browser-entry.png",
+ "caption": "打开对象浏览器后的页面,用来对照类型对象入口位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Oracle 类型元数据面板",
+ "shots": [
+ {
+ "file": "02-new-connection-dialog.png",
+ "caption": "新建连接对话框,用来展示目前沙盒没有可完成的 Oracle 连接",
+ "width": 2880
+ },
+ {
+ "file": "03-oracle-type-metadata-unseen.png",
+ "caption": "Oracle 类型元数据面板对应的位置在这里,但沙盒没有可用 Oracle / OceanBase Oracle 数据可展示",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 类型对象入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 类型对象入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 类型对象入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 类型对象入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 类型对象入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“普通 HTTP 缺少 randomUUID 时曾无法发请求并持续加载,现在使用兼容 UUID,初始化失败明确结束加载”,但这组 diff 里没有对应的全局兼容 UUID 修复;只看到新面板内部改用 uuid 生成 execution id。",
+ "unseen": "沙盒没有 Oracle / OceanBase Oracle 真实连接,也没有对应类型对象可浏览,因此无法实际展示类型元数据面板、TYPE/TYPE BODY 源码或对象列表回归。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11556/8dd9728/poster.png b/pr-11556/8dd9728/poster.png
new file mode 100644
index 0000000000..f23f3480f5
Binary files /dev/null and b/pr-11556/8dd9728/poster.png differ
diff --git a/pr-11556/8dd9728/preview.mp4 b/pr-11556/8dd9728/preview.mp4
new file mode 100644
index 0000000000..d202a6d89b
Binary files /dev/null and b/pr-11556/8dd9728/preview.mp4 differ
diff --git a/pr-11557/80fbe23/01-connection-expanded-no-types.png b/pr-11557/80fbe23/01-connection-expanded-no-types.png
new file mode 100644
index 0000000000..30f807606a
Binary files /dev/null and b/pr-11557/80fbe23/01-connection-expanded-no-types.png differ
diff --git a/pr-11557/80fbe23/02-welcome-without-oracle-connection.png b/pr-11557/80fbe23/02-welcome-without-oracle-connection.png
new file mode 100644
index 0000000000..2dafa09324
Binary files /dev/null and b/pr-11557/80fbe23/02-welcome-without-oracle-connection.png differ
diff --git a/pr-11557/80fbe23/index.html b/pr-11557/80fbe23/index.html
new file mode 100644
index 0000000000..e4b6edb455
--- /dev/null
+++ b/pr-11557/80fbe23/index.html
@@ -0,0 +1,16 @@
+
+#11557 界面预览 · 80fbe23
+
+#11557 界面预览
commit 80fbe23 · 回到 PR · 这个 PR 新增了 Oracle / OceanBase Oracle 的 TYPE 定义查看与编辑入口,并在对象源码、侧边栏和编辑器里显示类型元数据面板、支持读取完整类型规格/体以及审阅后执行读回。还把 Oracle 类型纳入对象树和源码读取能力,并保留类型 tab 的精确身份与只读状态。
+⚠️ 这次录制有 3 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 对象树里的类型入口 · 查看该 SQLite 连接展开后的对象树状态
+
⚠️ Oracle 类型元数据面板位置 · 当前欢迎页里没有 Oracle 连接,先停在这里说明无法继续验证类型面板
+
\ No newline at end of file
diff --git a/pr-11557/80fbe23/manifest.json b/pr-11557/80fbe23/manifest.json
new file mode 100644
index 0000000000..44a2b82564
--- /dev/null
+++ b/pr-11557/80fbe23/manifest.json
@@ -0,0 +1,41 @@
+{
+ "summary": "这个 PR 新增了 Oracle / OceanBase Oracle 的 TYPE 定义查看与编辑入口,并在对象源码、侧边栏和编辑器里显示类型元数据面板、支持读取完整类型规格/体以及审阅后执行读回。还把 Oracle 类型纳入对象树和源码读取能力,并保留类型 tab 的精确身份与只读状态。",
+ "scenes": [
+ {
+ "title": "对象树里的类型入口",
+ "shots": [
+ {
+ "file": "01-connection-expanded-no-types.png",
+ "caption": "查看该 SQLite 连接展开后的对象树状态",
+ "width": 1120,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Oracle 类型元数据面板位置",
+ "shots": [
+ {
+ "file": "02-welcome-without-oracle-connection.png",
+ "caption": "当前欢迎页里没有 Oracle 连接,先停在这里说明无法继续验证类型面板",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "对象树里的类型入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对象树里的类型入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 类型元数据面板位置 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“依赖保护及执行读回”“覆盖依赖不可读、并发修改和编译失败”等行为,diff 里确实有这类逻辑,但前端可见的主要新增点是类型元数据面板与类型编辑器;另外描述里强调 Oracle 与 OceanBase Oracle,UI 中类型入口也确实只对这两类数据库出现。",
+ "unseen": "沙盒里没有 Oracle / OceanBase Oracle 连接,不能真实打开“类型元数据”面板或“类型定义”编辑器,也无法展示后端 `/schema/oracle-type-details` 和类型 DDL 读回的真实结果;当前只能看到 Oracle 类型入口在对象树里出现的位置。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11557/80fbe23/poster.png b/pr-11557/80fbe23/poster.png
new file mode 100644
index 0000000000..53ba44445d
Binary files /dev/null and b/pr-11557/80fbe23/poster.png differ
diff --git a/pr-11557/80fbe23/preview.mp4 b/pr-11557/80fbe23/preview.mp4
new file mode 100644
index 0000000000..c3a385f37a
Binary files /dev/null and b/pr-11557/80fbe23/preview.mp4 differ
diff --git a/pr-11558/8b62004/01-oracle-jobs-page.png b/pr-11558/8b62004/01-oracle-jobs-page.png
new file mode 100644
index 0000000000..f569b6acf5
Binary files /dev/null and b/pr-11558/8b62004/01-oracle-jobs-page.png differ
diff --git a/pr-11558/8b62004/02-oracle-jobs-list.png b/pr-11558/8b62004/02-oracle-jobs-list.png
new file mode 100644
index 0000000000..85446386b5
Binary files /dev/null and b/pr-11558/8b62004/02-oracle-jobs-list.png differ
diff --git a/pr-11558/8b62004/03-oracle-job-details.png b/pr-11558/8b62004/03-oracle-job-details.png
new file mode 100644
index 0000000000..85446386b5
Binary files /dev/null and b/pr-11558/8b62004/03-oracle-job-details.png differ
diff --git a/pr-11558/8b62004/04-schedule-impact-preview.png b/pr-11558/8b62004/04-schedule-impact-preview.png
new file mode 100644
index 0000000000..2b3286c51d
Binary files /dev/null and b/pr-11558/8b62004/04-schedule-impact-preview.png differ
diff --git a/pr-11558/8b62004/index.html b/pr-11558/8b62004/index.html
new file mode 100644
index 0000000000..faa3536a37
--- /dev/null
+++ b/pr-11558/8b62004/index.html
@@ -0,0 +1,18 @@
+
+#11558 界面预览 · 8b62004
+
+#11558 界面预览
commit 8b62004 · 回到 PR · 新增了 Oracle/OceanBase Oracle 的调度作业管理页,并把它接入到连接侧栏菜单与内容区标签页中。页面支持查看 Scheduler/旧式 DBMS_JOB、预览创建/编辑/启用/禁用/删除,以及在预览里单独展示计划影响。
+⚠️ 这次录制有 19 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 从连接菜单打开调度作业页 · 打开调度作业页后的界面
+
⚠️ 查看作业详情与旧式作业 · 作业列表与旧式 DBMS_JOB 分区
+
⚠️ 查看作业详情与旧式作业 · 作业详情、启用/禁用/删除按钮与读回信息
+
⚠️ 预览计划影响 · 预览弹窗中单独显示计划影响与旧下次运行时间
+
\ No newline at end of file
diff --git a/pr-11558/8b62004/manifest.json b/pr-11558/8b62004/manifest.json
new file mode 100644
index 0000000000..f8df4a0722
--- /dev/null
+++ b/pr-11558/8b62004/manifest.json
@@ -0,0 +1,75 @@
+{
+ "summary": "新增了 Oracle/OceanBase Oracle 的调度作业管理页,并把它接入到连接侧栏菜单与内容区标签页中。页面支持查看 Scheduler/旧式 DBMS_JOB、预览创建/编辑/启用/禁用/删除,以及在预览里单独展示计划影响。",
+ "scenes": [
+ {
+ "title": "从连接菜单打开调度作业页",
+ "shots": [
+ {
+ "file": "01-oracle-jobs-page.png",
+ "caption": "打开调度作业页后的界面",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "查看作业详情与旧式作业",
+ "shots": [
+ {
+ "file": "02-oracle-jobs-list.png",
+ "caption": "作业列表与旧式 DBMS_JOB 分区",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-oracle-job-details.png",
+ "caption": "作业详情、启用/禁用/删除按钮与读回信息",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "预览计划影响",
+ "shots": [
+ {
+ "file": "04-schedule-impact-preview.png",
+ "caption": "预览弹窗中单独显示计划影响与旧下次运行时间",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "从连接菜单打开调度作业页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "从连接菜单打开调度作业页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "从连接菜单打开调度作业页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "从连接菜单打开调度作业页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "从连接菜单打开调度作业页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "从连接菜单打开调度作业页 · click button: nothing visible matches button with \"调度作业\" (0 in the page)",
+ "查看作业详情与旧式作业 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看作业详情与旧式作业 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "查看作业详情与旧式作业 · click button: nothing visible matches button with \"调度作业\" (0 in the page)",
+ "查看作业详情与旧式作业 · click button: nothing visible matches button with \"Daily.Job\" (0 in the page)",
+ "预览计划影响 · click button: nothing visible matches button with \"新建禁用作业\" (0 in the page)",
+ "预览计划影响 · type input[aria-label=\"精确 owner\"]: nothing visible matches input[aria-label=\"精确 owner\"] (0 in the page)",
+ "预览计划影响 · type input[aria-label=\"精确作业名称\"]: nothing visible matches input[aria-label=\"精确作业名称\"] (0 in the page)",
+ "预览计划影响 · type textarea: nothing visible matches textarea (0 in the page)",
+ "预览计划影响 · type textarea: nothing visible matches textarea (0 in the page)",
+ "预览计划影响 · type input[aria-label=\"开始时间(含时区偏移)\"]: nothing visible matches input[aria-label=\"开始时间(含时区偏移)\"] (0 in the page)",
+ "预览计划影响 · type input[aria-label=\"调度表达式\"]: nothing visible matches input[aria-label=\"调度表达式\"] (0 in the page)",
+ "预览计划影响 · click button: nothing visible matches button with \"预览定义\" (0 in the page)",
+ "预览计划影响 · click button: nothing visible matches button with \"取消\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“数据库菜单接入”,但这次改动实际是在连接侧栏的右键/上下文菜单里增加“调度作业”;另外没有看到独立的“数据库菜单”页面入口。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11558/8b62004/poster.png b/pr-11558/8b62004/poster.png
new file mode 100644
index 0000000000..4b562d49d7
Binary files /dev/null and b/pr-11558/8b62004/poster.png differ
diff --git a/pr-11558/8b62004/preview.mp4 b/pr-11558/8b62004/preview.mp4
new file mode 100644
index 0000000000..8978b81dbd
Binary files /dev/null and b/pr-11558/8b62004/preview.mp4 differ
diff --git a/pr-11560/9ad8c06/01-table-page-baseline.png b/pr-11560/9ad8c06/01-table-page-baseline.png
new file mode 100644
index 0000000000..16bc7002f8
Binary files /dev/null and b/pr-11560/9ad8c06/01-table-page-baseline.png differ
diff --git a/pr-11560/9ad8c06/02-oracle-invalid-menu-entry.png b/pr-11560/9ad8c06/02-oracle-invalid-menu-entry.png
new file mode 100644
index 0000000000..aeed8b1ccb
Binary files /dev/null and b/pr-11560/9ad8c06/02-oracle-invalid-menu-entry.png differ
diff --git a/pr-11560/9ad8c06/03-connection-dialog-entry.png b/pr-11560/9ad8c06/03-connection-dialog-entry.png
new file mode 100644
index 0000000000..bfb345ecaf
Binary files /dev/null and b/pr-11560/9ad8c06/03-connection-dialog-entry.png differ
diff --git a/pr-11560/9ad8c06/04-oracle-panel-unseen-placeholder.png b/pr-11560/9ad8c06/04-oracle-panel-unseen-placeholder.png
new file mode 100644
index 0000000000..8408824150
Binary files /dev/null and b/pr-11560/9ad8c06/04-oracle-panel-unseen-placeholder.png differ
diff --git a/pr-11560/9ad8c06/index.html b/pr-11560/9ad8c06/index.html
new file mode 100644
index 0000000000..a4d2e5c1cb
--- /dev/null
+++ b/pr-11560/9ad8c06/index.html
@@ -0,0 +1,18 @@
+
+#11560 界面预览 · 9ad8c06
+
+#11560 界面预览
commit 9ad8c06 · 回到 PR · 这个 PR 给 Oracle / OceanBase Oracle 增加了“无效对象”入口页:可以分页查看无效对象,点选后读取编译错误和源码,并支持先预览再显式编译单个对象。另新增 Oracle 类型源码/元数据面板,能在类型和类型体页面直接展示配对定义、依赖和授权信息。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 打开无效对象面板 · 打开表页后的常规内容,作为对照。
+
⚠️ 打开无效对象面板 · 菜单中出现的无效对象入口;当前沙盒连接不是 Oracle 时也能看见入口位置。
+
类型源码与元数据面板 · 连接对话框位置;沙盒没有 Oracle 服务器,无法完成到真实 Oracle 面板的进入。
+
类型源码与元数据面板 · 这里应展示 Oracle 类型源码/元数据面板的位置,但沙盒没有 Oracle 类型对象,无法实测内容。
+
\ No newline at end of file
diff --git a/pr-11560/9ad8c06/manifest.json b/pr-11560/9ad8c06/manifest.json
new file mode 100644
index 0000000000..f0d4187112
--- /dev/null
+++ b/pr-11560/9ad8c06/manifest.json
@@ -0,0 +1,53 @@
+{
+ "summary": "这个 PR 给 Oracle / OceanBase Oracle 增加了“无效对象”入口页:可以分页查看无效对象,点选后读取编译错误和源码,并支持先预览再显式编译单个对象。另新增 Oracle 类型源码/元数据面板,能在类型和类型体页面直接展示配对定义、依赖和授权信息。",
+ "scenes": [
+ {
+ "title": "打开无效对象面板",
+ "shots": [
+ {
+ "file": "01-table-page-baseline.png",
+ "caption": "打开表页后的常规内容,作为对照。",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-oracle-invalid-menu-entry.png",
+ "caption": "菜单中出现的无效对象入口;当前沙盒连接不是 Oracle 时也能看见入口位置。",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "类型源码与元数据面板",
+ "shots": [
+ {
+ "file": "03-connection-dialog-entry.png",
+ "caption": "连接对话框位置;沙盒没有 Oracle 服务器,无法完成到真实 Oracle 面板的进入。",
+ "width": 2880
+ },
+ {
+ "file": "04-oracle-panel-unseen-placeholder.png",
+ "caption": "这里应展示 Oracle 类型源码/元数据面板的位置,但沙盒没有 Oracle 类型对象,无法实测内容。",
+ "width": 2880
+ }
+ ],
+ "derailed": false
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "打开无效对象面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开无效对象面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开无效对象面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开无效对象面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开无效对象面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“取消不宣称回滚,连接切换丢弃旧响应”这些行为,diff 确实有对应实现;但“OB TYPE/VIEW未确认编译形式继续禁用”在 UI 上只对无效对象面板的编译按钮生效,页面里没有单独说明这一点。",
+ "unseen": "沙盒里没有 Oracle / OceanBase Oracle 服务器连接,只有 SQLite 种子数据,所以“无效对象列表”“ALL_ERRORS/ALL_SOURCE”“Oracle 类型详情”和显式编译的实际数据内容都无法在真实后端上展示;只能显示入口和空/不支持状态。 ",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11560/9ad8c06/poster.png b/pr-11560/9ad8c06/poster.png
new file mode 100644
index 0000000000..007be2f980
Binary files /dev/null and b/pr-11560/9ad8c06/poster.png differ
diff --git a/pr-11560/9ad8c06/preview.mp4 b/pr-11560/9ad8c06/preview.mp4
new file mode 100644
index 0000000000..7eb72bee5d
Binary files /dev/null and b/pr-11560/9ad8c06/preview.mp4 differ
diff --git a/pr-11561/18c38e3/01-events-grid.png b/pr-11561/18c38e3/01-events-grid.png
new file mode 100644
index 0000000000..3ad562f076
Binary files /dev/null and b/pr-11561/18c38e3/01-events-grid.png differ
diff --git a/pr-11561/18c38e3/02-session-blocking-dialog.png b/pr-11561/18c38e3/02-session-blocking-dialog.png
new file mode 100644
index 0000000000..3ad562f076
Binary files /dev/null and b/pr-11561/18c38e3/02-session-blocking-dialog.png differ
diff --git a/pr-11561/18c38e3/03-session-blocking-snapshot.png b/pr-11561/18c38e3/03-session-blocking-snapshot.png
new file mode 100644
index 0000000000..ec411b8bcd
Binary files /dev/null and b/pr-11561/18c38e3/03-session-blocking-snapshot.png differ
diff --git a/pr-11561/18c38e3/index.html b/pr-11561/18c38e3/index.html
new file mode 100644
index 0000000000..cea1eca60e
--- /dev/null
+++ b/pr-11561/18c38e3/index.html
@@ -0,0 +1,17 @@
+
+#11561 界面预览 · 18c38e3
+
+#11561 界面预览
commit 18c38e3 · 回到 PR · 新增了编辑器工具栏里的“会话与阻塞链”入口,并弹出一个只读对话框,展示 Oracle / OceanBase Oracle 的会话快照、SQL ID、阻塞关系和阻塞链。对话框还支持刷新、自动刷新、取消采样,并显示采样窗口、过期和权限/超时等限制说明。
+⚠️ 这次录制有 10 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 工具栏入口 · 打开事件表后的数据网格
+
⚠️ Oracle 工具栏入口 · 会话与阻塞链窗口初始状态
+
⚠️ Oracle 会话快照 · 展示采样窗口、会话表和阻塞链内容
+
\ No newline at end of file
diff --git a/pr-11561/18c38e3/manifest.json b/pr-11561/18c38e3/manifest.json
new file mode 100644
index 0000000000..69446ac0bb
--- /dev/null
+++ b/pr-11561/18c38e3/manifest.json
@@ -0,0 +1,54 @@
+{
+ "summary": "新增了编辑器工具栏里的“会话与阻塞链”入口,并弹出一个只读对话框,展示 Oracle / OceanBase Oracle 的会话快照、SQL ID、阻塞关系和阻塞链。对话框还支持刷新、自动刷新、取消采样,并显示采样窗口、过期和权限/超时等限制说明。",
+ "scenes": [
+ {
+ "title": "Oracle 工具栏入口",
+ "shots": [
+ {
+ "file": "01-events-grid.png",
+ "caption": "打开事件表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-session-blocking-dialog.png",
+ "caption": "会话与阻塞链窗口初始状态",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Oracle 会话快照",
+ "shots": [
+ {
+ "file": "03-session-blocking-snapshot.png",
+ "caption": "展示采样窗口、会话表和阻塞链内容",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "Oracle 工具栏入口 · click button: nothing visible matches button with \"会话与阻塞链\" (0 in the page)",
+ "Oracle 会话快照 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 会话快照 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "Oracle 会话快照 · click button: nothing visible matches button with \"会话与阻塞链\" (0 in the page)",
+ "Oracle 会话快照 · click button: nothing visible matches button with \"刷新\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“按实例或租户身份建立关系、显示读取限制和过期快照、刷新有频率、超时和行数上限、切换连接丢弃旧响应、只采集 SQL ID、不提供终止会话/回滚/解锁”,这些在 diff 里都有;但提到“OCI/JDBC 工具栏入口”属于测试与验收语境,不是新增的单独 UI 文案或页面。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11561/18c38e3/poster.png b/pr-11561/18c38e3/poster.png
new file mode 100644
index 0000000000..5b7ce131e1
Binary files /dev/null and b/pr-11561/18c38e3/poster.png differ
diff --git a/pr-11561/18c38e3/preview.mp4 b/pr-11561/18c38e3/preview.mp4
new file mode 100644
index 0000000000..260c83ec54
Binary files /dev/null and b/pr-11561/18c38e3/preview.mp4 differ
diff --git a/pr-11562/44f8640/01-table-grid-baseline.png b/pr-11562/44f8640/01-table-grid-baseline.png
new file mode 100644
index 0000000000..4961385f8d
Binary files /dev/null and b/pr-11562/44f8640/01-table-grid-baseline.png differ
diff --git a/pr-11562/44f8640/02-events-grid-open.png b/pr-11562/44f8640/02-events-grid-open.png
new file mode 100644
index 0000000000..590ff58460
Binary files /dev/null and b/pr-11562/44f8640/02-events-grid-open.png differ
diff --git a/pr-11562/44f8640/03-schema-diff-entry-unseen.png b/pr-11562/44f8640/03-schema-diff-entry-unseen.png
new file mode 100644
index 0000000000..f56d2a4e47
Binary files /dev/null and b/pr-11562/44f8640/03-schema-diff-entry-unseen.png differ
diff --git a/pr-11562/44f8640/04-object-panel-baseline.png b/pr-11562/44f8640/04-object-panel-baseline.png
new file mode 100644
index 0000000000..e736c217c0
Binary files /dev/null and b/pr-11562/44f8640/04-object-panel-baseline.png differ
diff --git a/pr-11562/44f8640/05-oracle-type-metadata-unseen.png b/pr-11562/44f8640/05-oracle-type-metadata-unseen.png
new file mode 100644
index 0000000000..e736c217c0
Binary files /dev/null and b/pr-11562/44f8640/05-oracle-type-metadata-unseen.png differ
diff --git a/pr-11562/44f8640/index.html b/pr-11562/44f8640/index.html
new file mode 100644
index 0000000000..b918d22fe7
--- /dev/null
+++ b/pr-11562/44f8640/index.html
@@ -0,0 +1,19 @@
+
+#11562 界面预览 · 44f8640
+
+#11562 界面预览
commit 44f8640 · 回到 PR · 这次改动把 Oracle / OceanBase Oracle 的类型(TYPE/TYPE BODY)纳入对象浏览、源码查看和 Schema Diff 流程,并在比较/部署界面补充了类型元数据、依赖与阻断原因展示。部署结果页也新增了针对 Oracle routine 的校验/回读信息,执行前会更严格地阻止不完整或不安全的计划。
+⚠️ 这次录制有 10 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 类型对象浏览 · 打开表后的数据网格
+
⚠️ 类型对象浏览 · 打开分析库事件表后的数据网格
+
⚠️ Schema Diff 中的 Oracle 类型提示 · Schema Diff 入口与 Oracle 类型提示位置;当前沙盒没有 Oracle 数据源,无法进入真实比较页面
+
⚠️ 对象源码里的类型元数据面板 · 对象页面的常规状态
+
⚠️ 对象源码里的类型元数据面板 · Oracle 类型元数据面板的位置;当前沙盒没有 TYPE/TYPE BODY 对象,无法展示实际内容
+
\ No newline at end of file
diff --git a/pr-11562/44f8640/manifest.json b/pr-11562/44f8640/manifest.json
new file mode 100644
index 0000000000..dd842237fe
--- /dev/null
+++ b/pr-11562/44f8640/manifest.json
@@ -0,0 +1,72 @@
+{
+ "summary": "这次改动把 Oracle / OceanBase Oracle 的类型(TYPE/TYPE BODY)纳入对象浏览、源码查看和 Schema Diff 流程,并在比较/部署界面补充了类型元数据、依赖与阻断原因展示。部署结果页也新增了针对 Oracle routine 的校验/回读信息,执行前会更严格地阻止不完整或不安全的计划。",
+ "scenes": [
+ {
+ "title": "类型对象浏览",
+ "shots": [
+ {
+ "file": "01-table-grid-baseline.png",
+ "caption": "打开表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-events-grid-open.png",
+ "caption": "打开分析库事件表后的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Schema Diff 中的 Oracle 类型提示",
+ "shots": [
+ {
+ "file": "03-schema-diff-entry-unseen.png",
+ "caption": "Schema Diff 入口与 Oracle 类型提示位置;当前沙盒没有 Oracle 数据源,无法进入真实比较页面",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "对象源码里的类型元数据面板",
+ "shots": [
+ {
+ "file": "04-object-panel-baseline.png",
+ "caption": "对象页面的常规状态",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "05-oracle-type-metadata-unseen.png",
+ "caption": "Oracle 类型元数据面板的位置;当前沙盒没有 TYPE/TYPE BODY 对象,无法展示实际内容",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "类型对象浏览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型对象浏览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型对象浏览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型对象浏览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型对象浏览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "类型对象浏览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "类型对象浏览 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "Schema Diff 中的 Oracle 类型提示 · click button: nothing visible matches button with \"设置\" (0 in the page)",
+ "对象源码里的类型元数据面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "对象源码里的类型元数据面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "沙盒里没有 Oracle 或 OceanBase Oracle 实例,所以只能打开这些能力在界面中的入口,无法真实读取类型元数据、比较类型定义或验证部署回读状态。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11562/44f8640/poster.png b/pr-11562/44f8640/poster.png
new file mode 100644
index 0000000000..a228c7ad02
Binary files /dev/null and b/pr-11562/44f8640/poster.png differ
diff --git a/pr-11562/44f8640/preview.mp4 b/pr-11562/44f8640/preview.mp4
new file mode 100644
index 0000000000..6580ac22cc
Binary files /dev/null and b/pr-11562/44f8640/preview.mp4 differ
diff --git a/pr-11563/0ad5557/01-oracle-toolbar-hidden-on-sqlite.png b/pr-11563/0ad5557/01-oracle-toolbar-hidden-on-sqlite.png
new file mode 100644
index 0000000000..2448c2a407
Binary files /dev/null and b/pr-11563/0ad5557/01-oracle-toolbar-hidden-on-sqlite.png differ
diff --git a/pr-11563/0ad5557/02-runtime-diagnostics-entry-where-it-would.png b/pr-11563/0ad5557/02-runtime-diagnostics-entry-where-it-would.png
new file mode 100644
index 0000000000..0787605d1b
Binary files /dev/null and b/pr-11563/0ad5557/02-runtime-diagnostics-entry-where-it-would.png differ
diff --git a/pr-11563/0ad5557/03-runtime-diagnostics-dialog.png b/pr-11563/0ad5557/03-runtime-diagnostics-dialog.png
new file mode 100644
index 0000000000..3e14c099be
Binary files /dev/null and b/pr-11563/0ad5557/03-runtime-diagnostics-dialog.png differ
diff --git a/pr-11563/0ad5557/04-runtime-diagnostics-records-area.png b/pr-11563/0ad5557/04-runtime-diagnostics-records-area.png
new file mode 100644
index 0000000000..085fdecec7
Binary files /dev/null and b/pr-11563/0ad5557/04-runtime-diagnostics-records-area.png differ
diff --git a/pr-11563/0ad5557/index.html b/pr-11563/0ad5557/index.html
new file mode 100644
index 0000000000..9b7b352fd3
--- /dev/null
+++ b/pr-11563/0ad5557/index.html
@@ -0,0 +1,18 @@
+
+#11563 界面预览 · 0ad5557
+
+#11563 界面预览
commit 0ad5557 · 回到 PR · 在 SQL 编辑器工具栏里新增了 Oracle 专用的“运行诊断”入口按钮,点开后可按 SQL ID 查找游标,读取并保存累计运行统计;弹窗里还能查看已保存的诊断记录并重新打开。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 工具栏入口 · 查看 SQLite 连接下的编辑器工具栏
+
⚠️ Oracle 工具栏入口 · 查看工具栏区域,说明 Oracle 连接时这里会出现运行诊断入口
+
⚠️ 打开运行诊断弹窗 · 查看运行诊断弹窗的标题、说明和 SQL ID 输入区
+
⚠️ 诊断记录区域 · 查看弹窗下方的诊断记录列表、重新加载和更多加载按钮位置
+
\ No newline at end of file
diff --git a/pr-11563/0ad5557/manifest.json b/pr-11563/0ad5557/manifest.json
new file mode 100644
index 0000000000..6fc0c18555
--- /dev/null
+++ b/pr-11563/0ad5557/manifest.json
@@ -0,0 +1,63 @@
+{
+ "summary": "在 SQL 编辑器工具栏里新增了 Oracle 专用的“运行诊断”入口按钮,点开后可按 SQL ID 查找游标,读取并保存累计运行统计;弹窗里还能查看已保存的诊断记录并重新打开。",
+ "scenes": [
+ {
+ "title": "Oracle 工具栏入口",
+ "shots": [
+ {
+ "file": "01-oracle-toolbar-hidden-on-sqlite.png",
+ "caption": "查看 SQLite 连接下的编辑器工具栏",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-runtime-diagnostics-entry-where-it-would.png",
+ "caption": "查看工具栏区域,说明 Oracle 连接时这里会出现运行诊断入口",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "打开运行诊断弹窗",
+ "shots": [
+ {
+ "file": "03-runtime-diagnostics-dialog.png",
+ "caption": "查看运行诊断弹窗的标题、说明和 SQL ID 输入区",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "诊断记录区域",
+ "shots": [
+ {
+ "file": "04-runtime-diagnostics-records-area.png",
+ "caption": "查看弹窗下方的诊断记录列表、重新加载和更多加载按钮位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "打开运行诊断弹窗 · click button[data-slot=\"button\"][aria-label=\"运行诊断\"]: nothing visible matches button[data-slot=\"button\"][aria-label=\"运行诊断\"] (0 in the page)",
+ "诊断记录区域 · click button[data-slot=\"button\"][aria-label=\"运行诊断\"]: nothing visible matches button[data-slot=\"button\"][aria-label=\"运行诊断\"] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“选择实例、child、游标地址和加载时间匹配的目标”以及“前后复核身份”,但界面实际先按 SQL ID 查找目标,再在结果表中点选目标,不是单独的实例/child/地址/时间输入组合。",
+ "unseen": "这项功能只对 Oracle 连接显示;沙盒里没有 Oracle 实库,所以只能展示入口、弹窗结构和空/示例态,无法验证真实 GV$SQL、GV$SQL_PLAN_STATISTICS_ALL 的采集结果。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11563/0ad5557/poster.png b/pr-11563/0ad5557/poster.png
new file mode 100644
index 0000000000..9960724175
Binary files /dev/null and b/pr-11563/0ad5557/poster.png differ
diff --git a/pr-11563/0ad5557/preview.mp4 b/pr-11563/0ad5557/preview.mp4
new file mode 100644
index 0000000000..1f7cb62768
Binary files /dev/null and b/pr-11563/0ad5557/preview.mp4 differ
diff --git a/pr-11564/c846d1d/index.html b/pr-11564/c846d1d/index.html
new file mode 100644
index 0000000000..2a84b46d33
--- /dev/null
+++ b/pr-11564/c846d1d/index.html
@@ -0,0 +1,15 @@
+
+#11564 界面预览 · c846d1d
+
+#11564 界面预览
commit c846d1d · 回到 PR · 这个 PR 给连接/数据库/表/视图/SQL 编辑器的右键菜单加了“分组菜单”和“完整菜单”两种呈现,并新增了一个可保存的自定义面板,用来勾选一级操作、调整顺序和分组顺序。它还让长菜单自动限高滚动,并保留当前右键目标在切换布局后继续可用。
+⚠️ 这次录制有 18 步没能按计划执行。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
+
\ No newline at end of file
diff --git a/pr-11564/c846d1d/manifest.json b/pr-11564/c846d1d/manifest.json
new file mode 100644
index 0000000000..10e82ad7b9
--- /dev/null
+++ b/pr-11564/c846d1d/manifest.json
@@ -0,0 +1,47 @@
+{
+ "summary": "这个 PR 给连接/数据库/表/视图/SQL 编辑器的右键菜单加了“分组菜单”和“完整菜单”两种呈现,并新增了一个可保存的自定义面板,用来勾选一级操作、调整顺序和分组顺序。它还让长菜单自动限高滚动,并保留当前右键目标在切换布局后继续可用。",
+ "scenes": [
+ {
+ "title": "连接右键菜单分组",
+ "shots": [],
+ "derailed": true
+ },
+ {
+ "title": "编辑器右键菜单与自定义面板",
+ "shots": [],
+ "derailed": true
+ },
+ {
+ "title": "长菜单滚动",
+ "shots": [],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "连接右键菜单分组 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "连接右键菜单分组 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "连接右键菜单分组 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "连接右键菜单分组 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "连接右键菜单分组 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "连接右键菜单分组 · shot [data-dbx-context-menu]: nothing visible matches [data-dbx-context-menu] (0 in the page)",
+ "连接右键菜单分组 · click button: nothing visible matches button with \"使用完整菜单\" (0 in the page)",
+ "连接右键菜单分组 · shot [data-dbx-context-menu]: nothing visible matches [data-dbx-context-menu] (0 in the page)",
+ "编辑器右键菜单与自定义面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "编辑器右键菜单与自定义面板 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "编辑器右键菜单与自定义面板 · shot [data-dbx-context-menu]: nothing visible matches [data-dbx-context-menu] (0 in the page)",
+ "编辑器右键菜单与自定义面板 · click button: nothing visible matches button with \"自定义分组菜单…\" (0 in the page)",
+ "编辑器右键菜单与自定义面板 · shot [role=\"dialog\"]: nothing visible matches [role=\"dialog\"] (0 in the page)",
+ "长菜单滚动 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "长菜单滚动 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "长菜单滚动 · click div[data-toolbar-action=\"addRow\"]: nothing visible matches div[data-toolbar-action=\"addRow\"] (0 in the page)",
+ "长菜单滚动 · click button[aria-label=\"新增行\"]: nothing visible matches button[aria-label=\"新增行\"] (0 in the page)",
+ "长菜单滚动 · shot [data-dbx-context-menu]: nothing visible matches [data-dbx-context-menu] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“SQL 编辑器的完整菜单在矮窗口下会超出可视区域”与“完整模式保留原布局,不提供分组自定义入口”都在本次改动里有体现;没有明显与 diff 不符的点。",
+ "unseen": "PR 描述提到多种服务器数据库的完整菜单路径、AI/插件/JDBC/SSH 相关入口,但这个沙盒没有这些连接与驱动,无法在真实对象上展示对应菜单项;只能在现有 SQLite 连接、数据库和表的菜单上验证分组、自定义与滚动。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11564/c846d1d/poster.png b/pr-11564/c846d1d/poster.png
new file mode 100644
index 0000000000..12a6f394a5
Binary files /dev/null and b/pr-11564/c846d1d/poster.png differ
diff --git a/pr-11564/c846d1d/preview.mp4 b/pr-11564/c846d1d/preview.mp4
new file mode 100644
index 0000000000..6b8306240b
Binary files /dev/null and b/pr-11564/c846d1d/preview.mp4 differ
diff --git a/pr-11565/74defdf/01-customers-grid.png b/pr-11565/74defdf/01-customers-grid.png
new file mode 100644
index 0000000000..545d78dc51
Binary files /dev/null and b/pr-11565/74defdf/01-customers-grid.png differ
diff --git a/pr-11565/74defdf/02-new-connection-dialog.png b/pr-11565/74defdf/02-new-connection-dialog.png
new file mode 100644
index 0000000000..257fbc468a
Binary files /dev/null and b/pr-11565/74defdf/02-new-connection-dialog.png differ
diff --git a/pr-11565/74defdf/index.html b/pr-11565/74defdf/index.html
new file mode 100644
index 0000000000..1ec20a58e5
--- /dev/null
+++ b/pr-11565/74defdf/index.html
@@ -0,0 +1,16 @@
+
+#11565 界面预览 · 74defdf
+
+#11565 界面预览
commit 74defdf · 回到 PR · 新增了 Oracle / OceanBase Oracle 连接的只读权限查看页,用来展示当前账号可见的用户、角色、系统授权、对象授权、列授权及其来源,并标出受限、失败和截断状态。左侧连接树的“用户管理”入口现在在 Oracle 家族连接下会打开这页,而不是通用用户管理页。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 权限页入口 · 查看表数据网格
+
⚠️ Oracle 权限页入口 · 查看连接类型入口
+
\ No newline at end of file
diff --git a/pr-11565/74defdf/manifest.json b/pr-11565/74defdf/manifest.json
new file mode 100644
index 0000000000..af17144670
--- /dev/null
+++ b/pr-11565/74defdf/manifest.json
@@ -0,0 +1,37 @@
+{
+ "summary": "新增了 Oracle / OceanBase Oracle 连接的只读权限查看页,用来展示当前账号可见的用户、角色、系统授权、对象授权、列授权及其来源,并标出受限、失败和截断状态。左侧连接树的“用户管理”入口现在在 Oracle 家族连接下会打开这页,而不是通用用户管理页。",
+ "scenes": [
+ {
+ "title": "Oracle 权限页入口",
+ "shots": [
+ {
+ "file": "01-customers-grid.png",
+ "caption": "查看表数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-new-connection-dialog.png",
+ "caption": "查看连接类型入口",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 权限页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 权限页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 权限页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 权限页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 权限页入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“选择主体或对象 → 读取字典 → 标明可见范围 → 展示授权来源”,与实现基本一致;没有看到额外的独立按钮、AI、插件或其他前置入口。",
+ "unseen": "沙盒里只有 SQLite 连接,无法打开 Oracle / OceanBase Oracle 实连接来验证新页面;因此这页只能在对应数据库类型连接下展示。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11565/74defdf/poster.png b/pr-11565/74defdf/poster.png
new file mode 100644
index 0000000000..c9b5e82cbb
Binary files /dev/null and b/pr-11565/74defdf/poster.png differ
diff --git a/pr-11565/74defdf/preview.mp4 b/pr-11565/74defdf/preview.mp4
new file mode 100644
index 0000000000..618de71201
Binary files /dev/null and b/pr-11565/74defdf/preview.mp4 differ
diff --git a/pr-11566/719caeb/01-events-grid-open.png b/pr-11566/719caeb/01-events-grid-open.png
new file mode 100644
index 0000000000..e1a1b915ef
Binary files /dev/null and b/pr-11566/719caeb/01-events-grid-open.png differ
diff --git a/pr-11566/719caeb/02-result-set-tabs.png b/pr-11566/719caeb/02-result-set-tabs.png
new file mode 100644
index 0000000000..2641e29c7f
Binary files /dev/null and b/pr-11566/719caeb/02-result-set-tabs.png differ
diff --git a/pr-11566/719caeb/03-all-results-popover.png b/pr-11566/719caeb/03-all-results-popover.png
new file mode 100644
index 0000000000..2641e29c7f
Binary files /dev/null and b/pr-11566/719caeb/03-all-results-popover.png differ
diff --git a/pr-11566/719caeb/index.html b/pr-11566/719caeb/index.html
new file mode 100644
index 0000000000..49784832f4
--- /dev/null
+++ b/pr-11566/719caeb/index.html
@@ -0,0 +1,17 @@
+
+#11566 界面预览 · 719caeb
+
+#11566 界面预览
commit 719caeb · 回到 PR · 把结果集导航弹层里的列表内容抽成了共享子组件,并在“列表模式”和“All results”两处复用;同时保留并统一了搜索过滤、空状态、当前项勾选和键盘导航行为。
+⚠️ 这次录制有 8 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 结果集下拉弹层复用 · 打开 events 表后的数据网格
+
⚠️ 结果集下拉弹层复用 · 结果集导航出现在编辑器上方
+
⚠️ 结果集下拉弹层复用 · 查看共享后的结果集弹层内容
+
\ No newline at end of file
diff --git a/pr-11566/719caeb/manifest.json b/pr-11566/719caeb/manifest.json
new file mode 100644
index 0000000000..bc53da4a9c
--- /dev/null
+++ b/pr-11566/719caeb/manifest.json
@@ -0,0 +1,46 @@
+{
+ "summary": "把结果集导航弹层里的列表内容抽成了共享子组件,并在“列表模式”和“All results”两处复用;同时保留并统一了搜索过滤、空状态、当前项勾选和键盘导航行为。",
+ "scenes": [
+ {
+ "title": "结果集下拉弹层复用",
+ "shots": [
+ {
+ "file": "01-events-grid-open.png",
+ "caption": "打开 events 表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-result-set-tabs.png",
+ "caption": "结果集导航出现在编辑器上方",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-all-results-popover.png",
+ "caption": "查看共享后的结果集弹层内容",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "结果集下拉弹层复用 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结果集下拉弹层复用 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结果集下拉弹层复用 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结果集下拉弹层复用 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结果集下拉弹层复用 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "结果集下拉弹层复用 · type textarea, input[aria-label=\"SQL\"]: nothing visible matches textarea, input[aria-label=\"SQL\"] (0 in the page)",
+ "结果集下拉弹层复用 · click button: nothing visible matches button with \"运行\" (0 in the page)",
+ "结果集下拉弹层复用 · click button: nothing visible matches button with \"All results\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11566/719caeb/poster.png b/pr-11566/719caeb/poster.png
new file mode 100644
index 0000000000..1a65a93d58
Binary files /dev/null and b/pr-11566/719caeb/poster.png differ
diff --git a/pr-11566/719caeb/preview.mp4 b/pr-11566/719caeb/preview.mp4
new file mode 100644
index 0000000000..6bd0c68ba2
Binary files /dev/null and b/pr-11566/719caeb/preview.mp4 differ
diff --git a/pr-11567/cb2c913/01-oracle-toolbar-with-diagnostics.png b/pr-11567/cb2c913/01-oracle-toolbar-with-diagnostics.png
new file mode 100644
index 0000000000..8920040c48
Binary files /dev/null and b/pr-11567/cb2c913/01-oracle-toolbar-with-diagnostics.png differ
diff --git a/pr-11567/cb2c913/02-runtime-diagnostics-dialog.png b/pr-11567/cb2c913/02-runtime-diagnostics-dialog.png
new file mode 100644
index 0000000000..919d962378
Binary files /dev/null and b/pr-11567/cb2c913/02-runtime-diagnostics-dialog.png differ
diff --git a/pr-11567/cb2c913/03-runtime-diagnostics-oceanbase-form.png b/pr-11567/cb2c913/03-runtime-diagnostics-oceanbase-form.png
new file mode 100644
index 0000000000..6dbc422e45
Binary files /dev/null and b/pr-11567/cb2c913/03-runtime-diagnostics-oceanbase-form.png differ
diff --git a/pr-11567/cb2c913/index.html b/pr-11567/cb2c913/index.html
new file mode 100644
index 0000000000..6c67123ae9
--- /dev/null
+++ b/pr-11567/cb2c913/index.html
@@ -0,0 +1,17 @@
+
+#11567 界面预览 · cb2c913
+
+#11567 界面预览
commit cb2c913 · 回到 PR · 在 Oracle 和 OceanBase Oracle 连接的查询工具栏里新增了“运行诊断”入口,打开后可以按游标/请求显式查找诊断、采集并保存记录,并在弹窗中查看和对比已保存的诊断结果。配套补上了本地历史持久化、分页加载和取消/超时等状态展示,并区分 Oracle 累计统计与 OceanBase 审计请求的身份与指标口径。
+⚠️ 这次录制有 8 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 工具栏入口 · 查看查询编辑器工具栏中的运行诊断入口
+
⚠️ 运行诊断弹窗 · 查看运行诊断弹窗初始内容
+
⚠️ OceanBase Oracle 请求诊断 · 查看 OceanBase Oracle 的 Trace ID 和时间范围输入区
+
\ No newline at end of file
diff --git a/pr-11567/cb2c913/manifest.json b/pr-11567/cb2c913/manifest.json
new file mode 100644
index 0000000000..17f3208fe8
--- /dev/null
+++ b/pr-11567/cb2c913/manifest.json
@@ -0,0 +1,58 @@
+{
+ "summary": "在 Oracle 和 OceanBase Oracle 连接的查询工具栏里新增了“运行诊断”入口,打开后可以按游标/请求显式查找诊断、采集并保存记录,并在弹窗中查看和对比已保存的诊断结果。配套补上了本地历史持久化、分页加载和取消/超时等状态展示,并区分 Oracle 累计统计与 OceanBase 审计请求的身份与指标口径。",
+ "scenes": [
+ {
+ "title": "Oracle 工具栏入口",
+ "shots": [
+ {
+ "file": "01-oracle-toolbar-with-diagnostics.png",
+ "caption": "查看查询编辑器工具栏中的运行诊断入口",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "运行诊断弹窗",
+ "shots": [
+ {
+ "file": "02-runtime-diagnostics-dialog.png",
+ "caption": "查看运行诊断弹窗初始内容",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "OceanBase Oracle 请求诊断",
+ "shots": [
+ {
+ "file": "03-runtime-diagnostics-oceanbase-form.png",
+ "caption": "查看 OceanBase Oracle 的 Trace ID 和时间范围输入区",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 工具栏入口 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "运行诊断弹窗 · click button: nothing visible matches button with \"运行诊断\" (0 in the page)",
+ "OceanBase Oracle 请求诊断 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase Oracle 请求诊断 · click button: nothing visible matches button with \"运行诊断\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“比较”更像是新增了专门比较视图,但 diff 只是允许在弹窗里勾选两条记录并排显示,没有单独的比较页或比较按钮文案以外的专用流程。说明里还强调“保存真实指标或明确的未采集状态”,这部分在代码里有,但 UI 只通过数值/“未采集”文本展示,未见额外的强提示。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11567/cb2c913/poster.png b/pr-11567/cb2c913/poster.png
new file mode 100644
index 0000000000..1ab419594d
Binary files /dev/null and b/pr-11567/cb2c913/poster.png differ
diff --git a/pr-11567/cb2c913/preview.mp4 b/pr-11567/cb2c913/preview.mp4
new file mode 100644
index 0000000000..dcd820408b
Binary files /dev/null and b/pr-11567/cb2c913/preview.mp4 differ
diff --git a/pr-11568/4f120d1/01-customers-structure-before.png b/pr-11568/4f120d1/01-customers-structure-before.png
new file mode 100644
index 0000000000..b0f5ea8d14
Binary files /dev/null and b/pr-11568/4f120d1/01-customers-structure-before.png differ
diff --git a/pr-11568/4f120d1/02-trigger-definition-dialog.png b/pr-11568/4f120d1/02-trigger-definition-dialog.png
new file mode 100644
index 0000000000..b0f5ea8d14
Binary files /dev/null and b/pr-11568/4f120d1/02-trigger-definition-dialog.png differ
diff --git a/pr-11568/4f120d1/03-trigger-definition-preview.png b/pr-11568/4f120d1/03-trigger-definition-preview.png
new file mode 100644
index 0000000000..b0f5ea8d14
Binary files /dev/null and b/pr-11568/4f120d1/03-trigger-definition-preview.png differ
diff --git a/pr-11568/4f120d1/04-events-grid.png b/pr-11568/4f120d1/04-events-grid.png
new file mode 100644
index 0000000000..9e84c66200
Binary files /dev/null and b/pr-11568/4f120d1/04-events-grid.png differ
diff --git a/pr-11568/4f120d1/05-object-browser-paging-placeholder.png b/pr-11568/4f120d1/05-object-browser-paging-placeholder.png
new file mode 100644
index 0000000000..4028e56091
Binary files /dev/null and b/pr-11568/4f120d1/05-object-browser-paging-placeholder.png differ
diff --git a/pr-11568/4f120d1/index.html b/pr-11568/4f120d1/index.html
new file mode 100644
index 0000000000..76bd286b24
--- /dev/null
+++ b/pr-11568/4f120d1/index.html
@@ -0,0 +1,19 @@
+
+#11568 界面预览 · 4f120d1
+
+#11568 界面预览
commit 4f120d1 · 回到 PR · 本 PR 为 Oracle / OceanBase Oracle 的触发器新增了完整定义编辑入口,支持在结构化字段与完整源码之间切换、预览完整 DDL、保存后保留恢复材料,并在表结构页/对象浏览中把触发器按真实所有者显示出来。另在 OceanBase Oracle 的对象列表中加入了分页加载与分页搜索提示,且禁用了不适用的正则搜索与部分排序操作。
+⚠️ 这次录制有 12 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 触发器完整定义编辑 · customers 表结构页,查看触发器列表
+
⚠️ Oracle 触发器完整定义编辑 · 完整触发器定义编辑对话框,查看结构化字段、完整源码与恢复入口
+
⚠️ Oracle 触发器完整定义编辑 · 完整 DDL 预览,查看保存前的触发器替换语句
+
⚠️ OceanBase Oracle 对象分页 · 事件表数据网格,展示大表场景
+
⚠️ OceanBase Oracle 对象分页 · 对象浏览区域,展示分页加载相关控件和提示位置
+
\ No newline at end of file
diff --git a/pr-11568/4f120d1/manifest.json b/pr-11568/4f120d1/manifest.json
new file mode 100644
index 0000000000..f37856b96b
--- /dev/null
+++ b/pr-11568/4f120d1/manifest.json
@@ -0,0 +1,68 @@
+{
+ "summary": "本 PR 为 Oracle / OceanBase Oracle 的触发器新增了完整定义编辑入口,支持在结构化字段与完整源码之间切换、预览完整 DDL、保存后保留恢复材料,并在表结构页/对象浏览中把触发器按真实所有者显示出来。另在 OceanBase Oracle 的对象列表中加入了分页加载与分页搜索提示,且禁用了不适用的正则搜索与部分排序操作。",
+ "scenes": [
+ {
+ "title": "Oracle 触发器完整定义编辑",
+ "shots": [
+ {
+ "file": "01-customers-structure-before.png",
+ "caption": "customers 表结构页,查看触发器列表",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-trigger-definition-dialog.png",
+ "caption": "完整触发器定义编辑对话框,查看结构化字段、完整源码与恢复入口",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-trigger-definition-preview.png",
+ "caption": "完整 DDL 预览,查看保存前的触发器替换语句",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "OceanBase Oracle 对象分页",
+ "shots": [
+ {
+ "file": "04-events-grid.png",
+ "caption": "事件表数据网格,展示大表场景",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "05-object-browser-paging-placeholder.png",
+ "caption": "对象浏览区域,展示分页加载相关控件和提示位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 触发器完整定义编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click button: nothing visible matches button with \"结构\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click button: nothing visible matches button with \"编辑触发器定义\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click button: nothing visible matches button with \"完整源码\" (0 in the page)",
+ "Oracle 触发器完整定义编辑 · click button: nothing visible matches button with \"预览完整 DDL\" (0 in the page)",
+ "OceanBase Oracle 对象分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase Oracle 对象分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "OceanBase Oracle 对象分页 · click button: nothing visible matches button with \"对象\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“已有 Oracle/OB 触发器可编辑受支持字段或完整源码,保留未修改定义并保存原定义供恢复”与“刷新会阻止打开完整定义并提示先处理草稿”,这些在 diff 中是通过新对话框、保存保护和草稿检查实现的;未发现额外独立的“刷新提示页/设置项”。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11568/4f120d1/poster.png b/pr-11568/4f120d1/poster.png
new file mode 100644
index 0000000000..21b106f910
Binary files /dev/null and b/pr-11568/4f120d1/poster.png differ
diff --git a/pr-11568/4f120d1/preview.mp4 b/pr-11568/4f120d1/preview.mp4
new file mode 100644
index 0000000000..1bdae7b4e3
Binary files /dev/null and b/pr-11568/4f120d1/preview.mp4 differ
diff --git a/pr-11569/c30700c/01-oracle-user-admin-page.png b/pr-11569/c30700c/01-oracle-user-admin-page.png
new file mode 100644
index 0000000000..a33b51f851
Binary files /dev/null and b/pr-11569/c30700c/01-oracle-user-admin-page.png differ
diff --git a/pr-11569/c30700c/02-oracle-user-change-preview.png b/pr-11569/c30700c/02-oracle-user-change-preview.png
new file mode 100644
index 0000000000..91c672a2ba
Binary files /dev/null and b/pr-11569/c30700c/02-oracle-user-change-preview.png differ
diff --git a/pr-11569/c30700c/index.html b/pr-11569/c30700c/index.html
new file mode 100644
index 0000000000..47ccb3da2b
--- /dev/null
+++ b/pr-11569/c30700c/index.html
@@ -0,0 +1,16 @@
+
+#11569 界面预览 · c30700c
+
+#11569 界面预览
commit c30700c · 回到 PR · 这个 PR 为 Oracle / OceanBase Oracle 连接新增了“用户、角色与授权”页,并在其中内嵌了用户变更的预览、执行与读回结果展示;同时把 Oracle 家族连接的用户管理入口切到这套新界面。页面还能读取并筛选授权来源、角色关系与字典可见性状态。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 用户管理页 · 打开后的 Oracle 用户管理页,查看用户、角色与授权区域
+
⚠️ 用户变更预览与执行 · 查看预览对话框里的 SQL 与状态复核信息
+
\ No newline at end of file
diff --git a/pr-11569/c30700c/manifest.json b/pr-11569/c30700c/manifest.json
new file mode 100644
index 0000000000..7e7e0c3fe9
--- /dev/null
+++ b/pr-11569/c30700c/manifest.json
@@ -0,0 +1,47 @@
+{
+ "summary": "这个 PR 为 Oracle / OceanBase Oracle 连接新增了“用户、角色与授权”页,并在其中内嵌了用户变更的预览、执行与读回结果展示;同时把 Oracle 家族连接的用户管理入口切到这套新界面。页面还能读取并筛选授权来源、角色关系与字典可见性状态。",
+ "scenes": [
+ {
+ "title": "Oracle 用户管理页",
+ "shots": [
+ {
+ "file": "01-oracle-user-admin-page.png",
+ "caption": "打开后的 Oracle 用户管理页,查看用户、角色与授权区域",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "用户变更预览与执行",
+ "shots": [
+ {
+ "file": "02-oracle-user-change-preview.png",
+ "caption": "查看预览对话框里的 SQL 与状态复核信息",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 用户管理页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 用户管理页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 用户管理页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 用户管理页 · click button: nothing visible matches button with \"用户管理\" (0 in the page)",
+ "用户变更预览与执行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "用户变更预览与执行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"用户管理\" (0 in the page)",
+ "用户变更预览与执行 · click button: nothing visible matches button with \"用户变更\" (0 in the page)",
+ "用户变更预览与执行 · click select[aria-label=\"用户动作\"]: nothing visible matches select[aria-label=\"用户动作\"] (0 in the page)",
+ "用户变更预览与执行 · click button: nothing visible matches button with \"预览用户变更\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“连接池带超时获取方式”“密码仅临时使用”“失败保留实际状态和恢复限制”等后端行为,UI 里只能看到相关提示和结果回读,无法直接验证连接池实现本身;另外它提到 Oracle/OceanBase Oracle 的“创建、修改、锁定/解锁、改密和删除”都有预览与执行,UI 确实提供这些动作,但删除的安全拒绝、状态复核和改密后的登录验证都只能通过结果文案间接判断。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11569/c30700c/poster.png b/pr-11569/c30700c/poster.png
new file mode 100644
index 0000000000..7b1aa38e48
Binary files /dev/null and b/pr-11569/c30700c/poster.png differ
diff --git a/pr-11569/c30700c/preview.mp4 b/pr-11569/c30700c/preview.mp4
new file mode 100644
index 0000000000..93dbe00e55
Binary files /dev/null and b/pr-11569/c30700c/preview.mp4 differ
diff --git a/pr-11570/4063cff/01-shop-database-browser.png b/pr-11570/4063cff/01-shop-database-browser.png
new file mode 100644
index 0000000000..b34acfec41
Binary files /dev/null and b/pr-11570/4063cff/01-shop-database-browser.png differ
diff --git a/pr-11570/4063cff/02-oracle-security-admin-loaded.png b/pr-11570/4063cff/02-oracle-security-admin-loaded.png
new file mode 100644
index 0000000000..b51a011096
Binary files /dev/null and b/pr-11570/4063cff/02-oracle-security-admin-loaded.png differ
diff --git a/pr-11570/4063cff/index.html b/pr-11570/4063cff/index.html
new file mode 100644
index 0000000000..6b82bc81d7
--- /dev/null
+++ b/pr-11570/4063cff/index.html
@@ -0,0 +1,16 @@
+
+#11570 界面预览 · 4063cff
+
+#11570 界面预览
commit 4063cff · 回到 PR · 这个 PR 在 Oracle / OceanBase Oracle 连接下新增了“用户、角色与授权”管理页,并在表结构页给 Oracle 表补了“对象权限”入口。页面可预览再执行用户变更、角色变更和对象授权撤销/授予,并把授权来源区分为直接、角色继承和 PUBLIC。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ Oracle 用户与授权页 · 打开商店连接后的数据库浏览页
+
⚠️ Oracle 权限预览与执行 · 查看用户、角色与授权页面
+
\ No newline at end of file
diff --git a/pr-11570/4063cff/manifest.json b/pr-11570/4063cff/manifest.json
new file mode 100644
index 0000000000..33e499a505
--- /dev/null
+++ b/pr-11570/4063cff/manifest.json
@@ -0,0 +1,44 @@
+{
+ "summary": "这个 PR 在 Oracle / OceanBase Oracle 连接下新增了“用户、角色与授权”管理页,并在表结构页给 Oracle 表补了“对象权限”入口。页面可预览再执行用户变更、角色变更和对象授权撤销/授予,并把授权来源区分为直接、角色继承和 PUBLIC。",
+ "scenes": [
+ {
+ "title": "Oracle 用户与授权页",
+ "shots": [
+ {
+ "file": "01-shop-database-browser.png",
+ "caption": "打开商店连接后的数据库浏览页",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "Oracle 权限预览与执行",
+ "shots": [
+ {
+ "file": "02-oracle-security-admin-loaded.png",
+ "caption": "查看用户、角色与授权页面",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 用户与授权页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 用户与授权页 · click button: nothing visible matches button with \"users\" (0 in the page)",
+ "Oracle 用户与授权页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 权限预览与执行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 权限预览与执行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"customers\" (0 in the page)",
+ "Oracle 权限预览与执行 · click button: nothing visible matches button with \"对象权限\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“用户预览角色/授权变更 → 目标身份与权限检查 → 执行和实际结果”,这些都在代码里实现了;但它把“实库授权来源、grantor 语义、级联影响及部分失败恢复”仍列为待验收,不能当成已完成的界面承诺。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11570/4063cff/poster.png b/pr-11570/4063cff/poster.png
new file mode 100644
index 0000000000..c2b580258b
Binary files /dev/null and b/pr-11570/4063cff/poster.png differ
diff --git a/pr-11570/4063cff/preview.mp4 b/pr-11570/4063cff/preview.mp4
new file mode 100644
index 0000000000..8096105674
Binary files /dev/null and b/pr-11570/4063cff/preview.mp4 differ
diff --git a/pr-11571/f676700/01-orders-object-page.png b/pr-11571/f676700/01-orders-object-page.png
new file mode 100644
index 0000000000..5bdacce8d8
Binary files /dev/null and b/pr-11571/f676700/01-orders-object-page.png differ
diff --git a/pr-11571/f676700/02-rename-dialog-before.png b/pr-11571/f676700/02-rename-dialog-before.png
new file mode 100644
index 0000000000..5be800794d
Binary files /dev/null and b/pr-11571/f676700/02-rename-dialog-before.png differ
diff --git a/pr-11571/f676700/03-rename-dialog-warning-preview.png b/pr-11571/f676700/03-rename-dialog-warning-preview.png
new file mode 100644
index 0000000000..5be800794d
Binary files /dev/null and b/pr-11571/f676700/03-rename-dialog-warning-preview.png differ
diff --git a/pr-11571/f676700/index.html b/pr-11571/f676700/index.html
new file mode 100644
index 0000000000..bfbec156b9
--- /dev/null
+++ b/pr-11571/f676700/index.html
@@ -0,0 +1,17 @@
+
+#11571 界面预览 · f676700
+
+#11571 界面预览
commit f676700 · 回到 PR · 这次改动让 OceanBase Oracle 的对象重命名更完整:包会同时处理规格和包体,并把“旧包清理”拆成可单独确认的第二步;同时,视图和例程重命名后会把旧源码保留成只读快照,不再可直接编辑或运行。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 包重命名与旧包清理 · 查看订单表对象页顶部与右键入口
+
⚠️ 包重命名与旧包清理 · 查看重命名对话框中的新名称输入与新增的确认区域
+
⚠️ 包重命名与旧包清理 · 查看重命名说明、预览 SQL 和旧包清理确认区
+
\ No newline at end of file
diff --git a/pr-11571/f676700/manifest.json b/pr-11571/f676700/manifest.json
new file mode 100644
index 0000000000..2d82d91794
--- /dev/null
+++ b/pr-11571/f676700/manifest.json
@@ -0,0 +1,43 @@
+{
+ "summary": "这次改动让 OceanBase Oracle 的对象重命名更完整:包会同时处理规格和包体,并把“旧包清理”拆成可单独确认的第二步;同时,视图和例程重命名后会把旧源码保留成只读快照,不再可直接编辑或运行。",
+ "scenes": [
+ {
+ "title": "包重命名与旧包清理",
+ "shots": [
+ {
+ "file": "01-orders-object-page.png",
+ "caption": "查看订单表对象页顶部与右键入口",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-rename-dialog-before.png",
+ "caption": "查看重命名对话框中的新名称输入与新增的确认区域",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-rename-dialog-warning-preview.png",
+ "caption": "查看重命名说明、预览 SQL 和旧包清理确认区",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "包重命名与旧包清理 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "包重命名与旧包清理 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "包重命名与旧包清理 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "包重命名与旧包清理 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "包重命名与旧包清理 · click div[role='menuitem'], button: nothing visible matches div[role='menuitem'], button with \"重命名\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“成员和重载直接通过字典核验,不依赖 #11424 的成员树”,但这次前端可见改动没有新增可见的成员树核验界面;另外说到“Oracle 与 OceanBase Oracle”整体支持,但实际前端展开的 UI 变化主要集中在 OceanBase Oracle 相关重命名提示与包/视图/例程流程。",
+ "unseen": "沙盒里没有 Oracle 或 OceanBase 实库,只能用 SQLite 数据集展示界面入口和通用重命名对话框,无法真实验证这些 OceanBase Oracle DDL、字典读回和授权/依赖核验是否按后端计划执行。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11571/f676700/poster.png b/pr-11571/f676700/poster.png
new file mode 100644
index 0000000000..56db03283c
Binary files /dev/null and b/pr-11571/f676700/poster.png differ
diff --git a/pr-11571/f676700/preview.mp4 b/pr-11571/f676700/preview.mp4
new file mode 100644
index 0000000000..af57e8823a
Binary files /dev/null and b/pr-11571/f676700/preview.mp4 differ
diff --git a/pr-11572/a488e52/01-oceanbase-paging-footer.png b/pr-11572/a488e52/01-oceanbase-paging-footer.png
new file mode 100644
index 0000000000..b7ac4179b0
Binary files /dev/null and b/pr-11572/a488e52/01-oceanbase-paging-footer.png differ
diff --git a/pr-11572/a488e52/02-rename-entry-view.png b/pr-11572/a488e52/02-rename-entry-view.png
new file mode 100644
index 0000000000..ea9c7ceb59
Binary files /dev/null and b/pr-11572/a488e52/02-rename-entry-view.png differ
diff --git a/pr-11572/a488e52/index.html b/pr-11572/a488e52/index.html
new file mode 100644
index 0000000000..092fc3643d
--- /dev/null
+++ b/pr-11572/a488e52/index.html
@@ -0,0 +1,16 @@
+
+#11572 界面预览 · a488e52
+
+#11572 界面预览
commit a488e52 · 回到 PR · 本 PR 让 OceanBase Oracle 的对象浏览改为服务器分页加载,并在分页对象搜索时隐藏排序控件、显示“已加载 N 个对象”的提示,还禁止了物化视图改名的前端入口。后端同时修正了分页的顺序与上下文保持,并对 OceanBase Oracle 的物化视图重命名直接返回未验证错误。
+⚠️ 这次录制有 8 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 对象分页提示 · 查看对象浏览页底部的分页信息与继续加载按钮
+
⚠️ 物化视图改名入口检查 · 查看视图对象页中的重命名相关入口位置
+
\ No newline at end of file
diff --git a/pr-11572/a488e52/manifest.json b/pr-11572/a488e52/manifest.json
new file mode 100644
index 0000000000..172cec8562
--- /dev/null
+++ b/pr-11572/a488e52/manifest.json
@@ -0,0 +1,46 @@
+{
+ "summary": "本 PR 让 OceanBase Oracle 的对象浏览改为服务器分页加载,并在分页对象搜索时隐藏排序控件、显示“已加载 N 个对象”的提示,还禁止了物化视图改名的前端入口。后端同时修正了分页的顺序与上下文保持,并对 OceanBase Oracle 的物化视图重命名直接返回未验证错误。",
+ "scenes": [
+ {
+ "title": "OceanBase 对象分页提示",
+ "shots": [
+ {
+ "file": "01-oceanbase-paging-footer.png",
+ "caption": "查看对象浏览页底部的分页信息与继续加载按钮",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "物化视图改名入口检查",
+ "shots": [
+ {
+ "file": "02-rename-entry-view.png",
+ "caption": "查看视图对象页中的重命名相关入口位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象分页提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "物化视图改名入口检查 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "物化视图改名入口检查 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"v_daily_revenue\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里说“前端 objectRenameSql 5 项通过”“GUI 验证”等,属于测试/验证结论,界面本身看不出来;此外“与已隐藏入口保持一致”的入口在当前沙盒里本来就未展示,不能单独在页面上验证为新增。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11572/a488e52/poster.png b/pr-11572/a488e52/poster.png
new file mode 100644
index 0000000000..13f2f6196c
Binary files /dev/null and b/pr-11572/a488e52/poster.png differ
diff --git a/pr-11572/a488e52/preview.mp4 b/pr-11572/a488e52/preview.mp4
new file mode 100644
index 0000000000..eed9e8d465
Binary files /dev/null and b/pr-11572/a488e52/preview.mp4 differ
diff --git a/pr-11573/0739596/01-analytics-browser-open.png b/pr-11573/0739596/01-analytics-browser-open.png
new file mode 100644
index 0000000000..39a4369d04
Binary files /dev/null and b/pr-11573/0739596/01-analytics-browser-open.png differ
diff --git a/pr-11573/0739596/02-analytics-main-expanded.png b/pr-11573/0739596/02-analytics-main-expanded.png
new file mode 100644
index 0000000000..3018a64bfe
Binary files /dev/null and b/pr-11573/0739596/02-analytics-main-expanded.png differ
diff --git a/pr-11573/0739596/03-events-grid.png b/pr-11573/0739596/03-events-grid.png
new file mode 100644
index 0000000000..1d6cbd6057
Binary files /dev/null and b/pr-11573/0739596/03-events-grid.png differ
diff --git a/pr-11573/0739596/04-orders-table-info.png b/pr-11573/0739596/04-orders-table-info.png
new file mode 100644
index 0000000000..85b41b20ae
Binary files /dev/null and b/pr-11573/0739596/04-orders-table-info.png differ
diff --git a/pr-11573/0739596/index.html b/pr-11573/0739596/index.html
new file mode 100644
index 0000000000..42754eab6f
--- /dev/null
+++ b/pr-11573/0739596/index.html
@@ -0,0 +1,18 @@
+
+#11573 界面预览 · 0739596
+
+#11573 界面预览
commit 0739596 · 回到 PR · 这次改动让 OceanBase Oracle 的对象浏览与表信息区开始区分触发器 owner,并为该数据库的对象列表引入分页加载、按数据库顺序展示与搜索时的分页续载逻辑。触发器名称现在会按“owner.名称”显示,表的导出/对象源码读取也会带上完整触发器源码和启停状态。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 对象列表分页 · 打开分析连接后的数据库浏览页
+
⚠️ OceanBase 对象列表分页 · 展开默认库后的对象树
+
⚠️ OceanBase 对象列表分页 · 打开 events 表后的数据网格和右侧信息区
+
⚠️ 触发器 owner 显示 · 打开订单表后的表信息面板,查看触发器列表里的显示名称
+
\ No newline at end of file
diff --git a/pr-11573/0739596/manifest.json b/pr-11573/0739596/manifest.json
new file mode 100644
index 0000000000..1ebee97293
--- /dev/null
+++ b/pr-11573/0739596/manifest.json
@@ -0,0 +1,56 @@
+{
+ "summary": "这次改动让 OceanBase Oracle 的对象浏览与表信息区开始区分触发器 owner,并为该数据库的对象列表引入分页加载、按数据库顺序展示与搜索时的分页续载逻辑。触发器名称现在会按“owner.名称”显示,表的导出/对象源码读取也会带上完整触发器源码和启停状态。",
+ "scenes": [
+ {
+ "title": "OceanBase 对象列表分页",
+ "shots": [
+ {
+ "file": "01-analytics-browser-open.png",
+ "caption": "打开分析连接后的数据库浏览页",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-analytics-main-expanded.png",
+ "caption": "展开默认库后的对象树",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-events-grid.png",
+ "caption": "打开 events 表后的数据网格和右侧信息区",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "触发器 owner 显示",
+ "shots": [
+ {
+ "file": "04-orders-table-info.png",
+ "caption": "打开订单表后的表信息面板,查看触发器列表里的显示名称",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "触发器 owner 显示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "触发器 owner 显示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述提到视图、物化视图、过程、函数、触发器和序列的“执行前核对 owner、名称、类型及定义”以及“程序和触发器必须 VALID 且无 ALL_ERRORS 错误、序列核对六项静态配置”等后端校验;这些在当前前端界面里没有单独的新按钮或可见校验页可直接展示,UI 侧主要能看到的是对象列表分页、触发器 owner 显示和对象源码/导出内容变化。",
+ "unseen": "PR 里真正的 OceanBase Oracle 源码读取与迁移验证依赖数据库对象和触发器元数据;沙盒只有 SQLite 两个连接,没有 OceanBase/Oracle、也没有对应的目标库或实库迁移流程,所以只能展示对象浏览器和表信息面板里触发器 owner/分页相关的 UI 结果,无法验证真实 OceanBase 迁移 RPC。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11573/0739596/poster.png b/pr-11573/0739596/poster.png
new file mode 100644
index 0000000000..2029847159
Binary files /dev/null and b/pr-11573/0739596/poster.png differ
diff --git a/pr-11573/0739596/preview.mp4 b/pr-11573/0739596/preview.mp4
new file mode 100644
index 0000000000..1ce233a026
Binary files /dev/null and b/pr-11573/0739596/preview.mp4 differ
diff --git a/pr-11574/43139c6/01-oceanbase-index-capability-state.png b/pr-11574/43139c6/01-oceanbase-index-capability-state.png
new file mode 100644
index 0000000000..a984e0bcd4
Binary files /dev/null and b/pr-11574/43139c6/01-oceanbase-index-capability-state.png differ
diff --git a/pr-11574/43139c6/index.html b/pr-11574/43139c6/index.html
new file mode 100644
index 0000000000..72a5c1f017
--- /dev/null
+++ b/pr-11574/43139c6/index.html
@@ -0,0 +1,15 @@
+
+#11574 界面预览 · 43139c6
+
+#11574 界面预览
commit 43139c6 · 回到 PR · 这个 PR 在 OceanBase Oracle 的结构编辑器里,按服务端版本收紧索引类型选项:版本已知且为 4.2.5 系列时才开放函数索引,并把函数索引改成逐项表达式编辑、支持上移下移和增删。后端也会读取 ALL_IND_EXPRESSIONS 回填表达式与顺序,并在生成 DDL 时按版本/类型做校验。
+⚠️ 这次录制有 11 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 索引类型限制 · 查看 OceanBase Oracle 索引能力提示与索引编辑区
+
\ No newline at end of file
diff --git a/pr-11574/43139c6/manifest.json b/pr-11574/43139c6/manifest.json
new file mode 100644
index 0000000000..ab7c3f7a2c
--- /dev/null
+++ b/pr-11574/43139c6/manifest.json
@@ -0,0 +1,42 @@
+{
+ "summary": "这个 PR 在 OceanBase Oracle 的结构编辑器里,按服务端版本收紧索引类型选项:版本已知且为 4.2.5 系列时才开放函数索引,并把函数索引改成逐项表达式编辑、支持上移下移和增删。后端也会读取 ALL_IND_EXPRESSIONS 回填表达式与顺序,并在生成 DDL 时按版本/类型做校验。",
+ "scenes": [
+ {
+ "title": "OceanBase 索引类型限制",
+ "shots": [
+ {
+ "file": "01-oceanbase-index-capability-state.png",
+ "caption": "查看 OceanBase Oracle 索引能力提示与索引编辑区",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "函数索引表达式编辑",
+ "shots": [],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 索引类型限制 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 索引类型限制 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 索引类型限制 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 索引类型限制 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 索引类型限制 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)",
+ "OceanBase 索引类型限制 · click [data-tab-value=\"indexes\"], [value=\"indexes\"]: nothing visible matches [data-tab-value=\"indexes\"], [value=\"indexes\"] with \"索引\" (0 in the page)",
+ "函数索引表达式编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "函数索引表达式编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "函数索引表达式编辑 · click [data-tab-value=\"indexes\"], [value=\"indexes\"]: nothing visible matches [data-tab-value=\"indexes\"], [value=\"indexes\"] with \"索引\" (0 in the page)",
+ "函数索引表达式编辑 · click [data-select-option=\"FUNCTION-BASED NORMAL\"]: nothing visible matches [data-select-option=\"FUNCTION-BASED NORMAL\"] (0 in the page)",
+ "函数索引表达式编辑 · shot [data-oceanbase-index-expressions]: nothing visible matches [data-oceanbase-index-expressions] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“前后端按版本使用相同索引类型限制”“版本未知仅展示、不重建”“表达式字典缺失或无权不能冒充引擎不支持”,这些都在 diff 里体现;没有明显不一致。",
+ "unseen": "沙盒里只有 SQLite,没有 OceanBase Oracle 连接,也拿不到真实的 ALL_IND_EXPRESSIONS 和版本元数据,所以只能展示改好的编辑器界面与普通/函数索引逻辑,无法核验真实数据库回读和服务器端权限/版本分支。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11574/43139c6/poster.png b/pr-11574/43139c6/poster.png
new file mode 100644
index 0000000000..b350394e85
Binary files /dev/null and b/pr-11574/43139c6/poster.png differ
diff --git a/pr-11574/43139c6/preview.mp4 b/pr-11574/43139c6/preview.mp4
new file mode 100644
index 0000000000..a0b4de8c7b
Binary files /dev/null and b/pr-11574/43139c6/preview.mp4 differ
diff --git a/pr-11575/256efe7/01-orders-structure-editor.png b/pr-11575/256efe7/01-orders-structure-editor.png
new file mode 100644
index 0000000000..006faa621c
Binary files /dev/null and b/pr-11575/256efe7/01-orders-structure-editor.png differ
diff --git a/pr-11575/256efe7/02-new-connection-dialog.png b/pr-11575/256efe7/02-new-connection-dialog.png
new file mode 100644
index 0000000000..44d2fa8611
Binary files /dev/null and b/pr-11575/256efe7/02-new-connection-dialog.png differ
diff --git a/pr-11575/256efe7/03-analytics-events-grid.png b/pr-11575/256efe7/03-analytics-events-grid.png
new file mode 100644
index 0000000000..ecb50b990f
Binary files /dev/null and b/pr-11575/256efe7/03-analytics-events-grid.png differ
diff --git a/pr-11575/256efe7/index.html b/pr-11575/256efe7/index.html
new file mode 100644
index 0000000000..74afee2b06
--- /dev/null
+++ b/pr-11575/256efe7/index.html
@@ -0,0 +1,17 @@
+
+#11575 界面预览 · 256efe7
+
+#11575 界面预览
commit 256efe7 · 回到 PR · 这个 PR 修复了 Oracle / OceanBase Oracle 表结构编辑器里数值类型和字符长度单位的保留:能从元数据恢复 FLOAT 的二进制精度、NUMBER 的星号精度与负 scale,并在预览/生成 DDL 时不再丢失这些参数。界面上还把 OceanBase Oracle 的字符长度单位选择与 Oracle 对齐。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 打开数值列结构编辑 · 打开订单表后的表结构编辑器
+
查看 Oracle / OceanBase Oracle 数值类型保留逻辑 · 新建连接对话框中的连接类型选择
+
⚠️ 查看 Oracle / OceanBase Oracle 数值类型保留逻辑 · 分析库 events 表的数据网格
+
\ No newline at end of file
diff --git a/pr-11575/256efe7/manifest.json b/pr-11575/256efe7/manifest.json
new file mode 100644
index 0000000000..dbd8a56c87
--- /dev/null
+++ b/pr-11575/256efe7/manifest.json
@@ -0,0 +1,50 @@
+{
+ "summary": "这个 PR 修复了 Oracle / OceanBase Oracle 表结构编辑器里数值类型和字符长度单位的保留:能从元数据恢复 FLOAT 的二进制精度、NUMBER 的星号精度与负 scale,并在预览/生成 DDL 时不再丢失这些参数。界面上还把 OceanBase Oracle 的字符长度单位选择与 Oracle 对齐。",
+ "scenes": [
+ {
+ "title": "打开数值列结构编辑",
+ "shots": [
+ {
+ "file": "01-orders-structure-editor.png",
+ "caption": "打开订单表后的表结构编辑器",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "查看 Oracle / OceanBase Oracle 数值类型保留逻辑",
+ "shots": [
+ {
+ "file": "02-new-connection-dialog.png",
+ "caption": "新建连接对话框中的连接类型选择",
+ "width": 2880
+ },
+ {
+ "file": "03-analytics-events-grid.png",
+ "caption": "分析库 events 表的数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "打开数值列结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开数值列结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开数值列结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"主库 main 默认库\" (0 in the page)",
+ "打开数值列结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "打开数值列结构编辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "查看 Oracle / OceanBase Oracle 数值类型保留逻辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "查看 Oracle / OceanBase Oracle 数值类型保留逻辑 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11575/256efe7/poster.png b/pr-11575/256efe7/poster.png
new file mode 100644
index 0000000000..176000cba6
Binary files /dev/null and b/pr-11575/256efe7/poster.png differ
diff --git a/pr-11575/256efe7/preview.mp4 b/pr-11575/256efe7/preview.mp4
new file mode 100644
index 0000000000..50e1b0fd64
Binary files /dev/null and b/pr-11575/256efe7/preview.mp4 differ
diff --git a/pr-11576/8fa0a49/01-ob-events-opened.png b/pr-11576/8fa0a49/01-ob-events-opened.png
new file mode 100644
index 0000000000..ae152d72f6
Binary files /dev/null and b/pr-11576/8fa0a49/01-ob-events-opened.png differ
diff --git a/pr-11576/8fa0a49/02-ob-daily-stats-browser.png b/pr-11576/8fa0a49/02-ob-daily-stats-browser.png
new file mode 100644
index 0000000000..ae152d72f6
Binary files /dev/null and b/pr-11576/8fa0a49/02-ob-daily-stats-browser.png differ
diff --git a/pr-11576/8fa0a49/03-ob-search-default.png b/pr-11576/8fa0a49/03-ob-search-default.png
new file mode 100644
index 0000000000..8cea90e268
Binary files /dev/null and b/pr-11576/8fa0a49/03-ob-search-default.png differ
diff --git a/pr-11576/8fa0a49/04-ob-search-regex-warning.png b/pr-11576/8fa0a49/04-ob-search-regex-warning.png
new file mode 100644
index 0000000000..8cea90e268
Binary files /dev/null and b/pr-11576/8fa0a49/04-ob-search-regex-warning.png differ
diff --git a/pr-11576/8fa0a49/index.html b/pr-11576/8fa0a49/index.html
new file mode 100644
index 0000000000..827768e2a0
--- /dev/null
+++ b/pr-11576/8fa0a49/index.html
@@ -0,0 +1,18 @@
+
+#11576 界面预览 · 8fa0a49
+
+#11576 界面预览
commit 8fa0a49 · 回到 PR · 这个 PR 让 OceanBase Oracle 的对象浏览按数据库顺序分页加载,并在列表里透出对象有效状态;同时对象列表搜索在分页模式下不再支持正则,且显示“已加载多少个对象”的分页提示。另对权限失败的执行错误分类做了修正,普通无权限编译会更准确地显示为 SQL 权限错误。
+⚠️ 这次录制有 9 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ OceanBase 对象列表分页与有效状态 · 查看事件表分支已展开的左侧树
+
⚠️ OceanBase 对象列表分页与有效状态 · 打开表后查看对象浏览区域
+
⚠️ 分页搜索与正则提示 · 对象浏览搜索框与列表初始状态
+
⚠️ 分页搜索与正则提示 · 查看分页搜索不支持正则时的提示
+
\ No newline at end of file
diff --git a/pr-11576/8fa0a49/manifest.json b/pr-11576/8fa0a49/manifest.json
new file mode 100644
index 0000000000..6b8734884e
--- /dev/null
+++ b/pr-11576/8fa0a49/manifest.json
@@ -0,0 +1,59 @@
+{
+ "summary": "这个 PR 让 OceanBase Oracle 的对象浏览按数据库顺序分页加载,并在列表里透出对象有效状态;同时对象列表搜索在分页模式下不再支持正则,且显示“已加载多少个对象”的分页提示。另对权限失败的执行错误分类做了修正,普通无权限编译会更准确地显示为 SQL 权限错误。",
+ "scenes": [
+ {
+ "title": "OceanBase 对象列表分页与有效状态",
+ "shots": [
+ {
+ "file": "01-ob-events-opened.png",
+ "caption": "查看事件表分支已展开的左侧树",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-ob-daily-stats-browser.png",
+ "caption": "打开表后查看对象浏览区域",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "分页搜索与正则提示",
+ "shots": [
+ {
+ "file": "03-ob-search-default.png",
+ "caption": "对象浏览搜索框与列表初始状态",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "04-ob-search-regex-warning.png",
+ "caption": "查看分页搜索不支持正则时的提示",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "OceanBase 对象列表分页与有效状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页与有效状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main\" (0 in the page)",
+ "OceanBase 对象列表分页与有效状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页与有效状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "OceanBase 对象列表分页与有效状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "OceanBase 对象列表分页与有效状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"daily_stats\" (0 in the page)",
+ "分页搜索与正则提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "分页搜索与正则提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "分页搜索与正则提示 · type input[data-object-search-input]: nothing visible matches input[data-object-search-input] (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“错误位置核验用例”“独立编译由 #11454 负责”等偏验证/CI 内容,不是本次 UI 改动;另外它强调真实普通账号执行无权限编译的错误分类修正,但界面上只会体现在错误提示分类,不能直接从静态页面看出具体 cause 链。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11576/8fa0a49/poster.png b/pr-11576/8fa0a49/poster.png
new file mode 100644
index 0000000000..72e3069f57
Binary files /dev/null and b/pr-11576/8fa0a49/poster.png differ
diff --git a/pr-11576/8fa0a49/preview.mp4 b/pr-11576/8fa0a49/preview.mp4
new file mode 100644
index 0000000000..fd40ce8755
Binary files /dev/null and b/pr-11576/8fa0a49/preview.mp4 differ
diff --git a/pr-11577/b3b74e6/01-orders-grid-before-copy.png b/pr-11577/b3b74e6/01-orders-grid-before-copy.png
new file mode 100644
index 0000000000..ea4b9832ba
Binary files /dev/null and b/pr-11577/b3b74e6/01-orders-grid-before-copy.png differ
diff --git a/pr-11577/b3b74e6/02-orders-grid-after-copy-target.png b/pr-11577/b3b74e6/02-orders-grid-after-copy-target.png
new file mode 100644
index 0000000000..9ca2575466
Binary files /dev/null and b/pr-11577/b3b74e6/02-orders-grid-after-copy-target.png differ
diff --git a/pr-11577/b3b74e6/03-daily-stats-grid.png b/pr-11577/b3b74e6/03-daily-stats-grid.png
new file mode 100644
index 0000000000..8980731383
Binary files /dev/null and b/pr-11577/b3b74e6/03-daily-stats-grid.png differ
diff --git a/pr-11577/b3b74e6/04-export-menu-temporal-null.png b/pr-11577/b3b74e6/04-export-menu-temporal-null.png
new file mode 100644
index 0000000000..f0e7e070a6
Binary files /dev/null and b/pr-11577/b3b74e6/04-export-menu-temporal-null.png differ
diff --git a/pr-11577/b3b74e6/index.html b/pr-11577/b3b74e6/index.html
new file mode 100644
index 0000000000..8fbcc67ea2
--- /dev/null
+++ b/pr-11577/b3b74e6/index.html
@@ -0,0 +1,18 @@
+
+#11577 界面预览 · b3b74e6
+
+#11577 界面预览
commit b3b74e6 · 回到 PR · 这次改动修复了数据网格导出/复制里的时间值处理:Oracle/OceanBase Oracle 的时间型单元格在复制插入语句时会保留真实值并正确识别带空格的时区偏移,同时时间导出不会把 NULL 误格式化成文本。另一个变化是右键复制时会固定使用触发菜单时点击的单元格目标,而不是菜单关闭后被改写的目标。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 复制时保持点击目标 · 打开订单表后的数据网格
+
⚠️ 复制时保持点击目标 · 展示订单表网格中的单元格复制入口位置
+
⚠️ 时间导出保留 NULL · 打开日统计表后的数据网格
+
⚠️ 时间导出保留 NULL · 查看时间导出相关入口与数据网格
+
\ No newline at end of file
diff --git a/pr-11577/b3b74e6/manifest.json b/pr-11577/b3b74e6/manifest.json
new file mode 100644
index 0000000000..867d5a5333
--- /dev/null
+++ b/pr-11577/b3b74e6/manifest.json
@@ -0,0 +1,57 @@
+{
+ "summary": "这次改动修复了数据网格导出/复制里的时间值处理:Oracle/OceanBase Oracle 的时间型单元格在复制插入语句时会保留真实值并正确识别带空格的时区偏移,同时时间导出不会把 NULL 误格式化成文本。另一个变化是右键复制时会固定使用触发菜单时点击的单元格目标,而不是菜单关闭后被改写的目标。",
+ "scenes": [
+ {
+ "title": "复制时保持点击目标",
+ "shots": [
+ {
+ "file": "01-orders-grid-before-copy.png",
+ "caption": "打开订单表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-orders-grid-after-copy-target.png",
+ "caption": "展示订单表网格中的单元格复制入口位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "时间导出保留 NULL",
+ "shots": [
+ {
+ "file": "03-daily-stats-grid.png",
+ "caption": "打开日统计表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "04-export-menu-temporal-null.png",
+ "caption": "查看时间导出相关入口与数据网格",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "复制时保持点击目标 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "复制时保持点击目标 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main\" (0 in the page)",
+ "复制时保持点击目标 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "复制时保持点击目标 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "复制时保持点击目标 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "时间导出保留 NULL · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "时间导出保留 NULL · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"daily_stats\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "实库里的 Oracle/OceanBase Oracle 时区时间 INSERT 语义和剪贴板回读细节在当前沙盒里无法直接验收;这里没有 Oracle/OB 服务器连接,只能在 SQLite 数据和前端导出/复制流程上展示对应行为。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11577/b3b74e6/poster.png b/pr-11577/b3b74e6/poster.png
new file mode 100644
index 0000000000..de28a98077
Binary files /dev/null and b/pr-11577/b3b74e6/poster.png differ
diff --git a/pr-11577/b3b74e6/preview.mp4 b/pr-11577/b3b74e6/preview.mp4
new file mode 100644
index 0000000000..a95497cf67
Binary files /dev/null and b/pr-11577/b3b74e6/preview.mp4 differ
diff --git a/pr-11580/4ae7fe0/01-sidebar-search-before.png b/pr-11580/4ae7fe0/01-sidebar-search-before.png
new file mode 100644
index 0000000000..1bdfb90c29
Binary files /dev/null and b/pr-11580/4ae7fe0/01-sidebar-search-before.png differ
diff --git a/pr-11580/4ae7fe0/02-sidebar-tree-two-connections.png b/pr-11580/4ae7fe0/02-sidebar-tree-two-connections.png
new file mode 100644
index 0000000000..560666a806
Binary files /dev/null and b/pr-11580/4ae7fe0/02-sidebar-tree-two-connections.png differ
diff --git a/pr-11580/4ae7fe0/index.html b/pr-11580/4ae7fe0/index.html
new file mode 100644
index 0000000000..44f5434851
--- /dev/null
+++ b/pr-11580/4ae7fe0/index.html
@@ -0,0 +1,16 @@
+
+#11580 界面预览 · 4ae7fe0
+
+#11580 界面预览
commit 4ae7fe0 · 回到 PR · 侧边栏搜索现在会在非当前激活的已连接连接上继续搜索,但只限于用户已经打开过的数据库;激活连接仍保持原来的“打开/未打开”搜索规则。这样可以让多个连接的同名表在搜索结果里同时出现,而不是只看当前连接。
+⚠️ 这次录制有 6 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
侧边栏搜索初始状态 · 查看应用打开后的侧边栏与搜索框初始状态
+
⚠️ 在连接间切换并观察搜索 · 查看两个已连接连接的表树都已展开
+
\ No newline at end of file
diff --git a/pr-11580/4ae7fe0/manifest.json b/pr-11580/4ae7fe0/manifest.json
new file mode 100644
index 0000000000..8221c4130b
--- /dev/null
+++ b/pr-11580/4ae7fe0/manifest.json
@@ -0,0 +1,43 @@
+{
+ "summary": "侧边栏搜索现在会在非当前激活的已连接连接上继续搜索,但只限于用户已经打开过的数据库;激活连接仍保持原来的“打开/未打开”搜索规则。这样可以让多个连接的同名表在搜索结果里同时出现,而不是只看当前连接。",
+ "scenes": [
+ {
+ "title": "侧边栏搜索初始状态",
+ "shots": [
+ {
+ "file": "01-sidebar-search-before.png",
+ "caption": "查看应用打开后的侧边栏与搜索框初始状态",
+ "width": 1120
+ }
+ ],
+ "derailed": false
+ },
+ {
+ "title": "在连接间切换并观察搜索",
+ "shots": [
+ {
+ "file": "02-sidebar-tree-two-connections.png",
+ "caption": "查看两个已连接连接的表树都已展开",
+ "width": 1120,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "在连接间切换并观察搜索 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "在连接间切换并观察搜索 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main\" (0 in the page)",
+ "在连接间切换并观察搜索 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "在连接间切换并观察搜索 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "在连接间切换并观察搜索 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)",
+ "在连接间切换并观察搜索 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "描述里提到“多个 MySQL 连接”和“eval-a 到 eval-d”的验证场景,但这次前端改动本身只是在侧边栏搜索范围逻辑上做了调整,没有新增这些连接或 UI 文案。",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11580/4ae7fe0/poster.png b/pr-11580/4ae7fe0/poster.png
new file mode 100644
index 0000000000..9ee82f52ee
Binary files /dev/null and b/pr-11580/4ae7fe0/poster.png differ
diff --git a/pr-11580/4ae7fe0/preview.mp4 b/pr-11580/4ae7fe0/preview.mp4
new file mode 100644
index 0000000000..c0030ac28c
Binary files /dev/null and b/pr-11580/4ae7fe0/preview.mp4 differ
diff --git a/pr-11582/febfd60/01-structure-columns-horizontal-scrollbar-i.png b/pr-11582/febfd60/01-structure-columns-horizontal-scrollbar-i.png
new file mode 100644
index 0000000000..61bff611a0
Binary files /dev/null and b/pr-11582/febfd60/01-structure-columns-horizontal-scrollbar-i.png differ
diff --git a/pr-11582/febfd60/02-structure-triggers-tab.png b/pr-11582/febfd60/02-structure-triggers-tab.png
new file mode 100644
index 0000000000..9f8de7caa6
Binary files /dev/null and b/pr-11582/febfd60/02-structure-triggers-tab.png differ
diff --git a/pr-11582/febfd60/03-structure-columns-horizontal-scrollbar-a.png b/pr-11582/febfd60/03-structure-columns-horizontal-scrollbar-a.png
new file mode 100644
index 0000000000..9f8de7caa6
Binary files /dev/null and b/pr-11582/febfd60/03-structure-columns-horizontal-scrollbar-a.png differ
diff --git a/pr-11582/febfd60/index.html b/pr-11582/febfd60/index.html
new file mode 100644
index 0000000000..4acd96e5c5
--- /dev/null
+++ b/pr-11582/febfd60/index.html
@@ -0,0 +1,17 @@
+
+#11582 界面预览 · febfd60
+
+#11582 界面预览
commit febfd60 · 回到 PR · 修复了表结构编辑器在切换到“触发器”页再返回“字段”页时,横向滚动条的测量时机过早导致滚动条消失的问题。现在会额外延后一轮 tick 再测量,以适配 TabsContent 的延迟挂载。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 字段页初始横向滚动条 · 查看字段页底部的横向滚动条
+
⚠️ 切到触发器再返回字段 · 查看触发器页
+
⚠️ 切到触发器再返回字段 · 查看返回字段页后的横向滚动条
+
\ No newline at end of file
diff --git a/pr-11582/febfd60/manifest.json b/pr-11582/febfd60/manifest.json
new file mode 100644
index 0000000000..5c58aa0a5f
--- /dev/null
+++ b/pr-11582/febfd60/manifest.json
@@ -0,0 +1,51 @@
+{
+ "summary": "修复了表结构编辑器在切换到“触发器”页再返回“字段”页时,横向滚动条的测量时机过早导致滚动条消失的问题。现在会额外延后一轮 tick 再测量,以适配 TabsContent 的延迟挂载。",
+ "scenes": [
+ {
+ "title": "字段页初始横向滚动条",
+ "shots": [
+ {
+ "file": "01-structure-columns-horizontal-scrollbar-i.png",
+ "caption": "查看字段页底部的横向滚动条",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "切到触发器再返回字段",
+ "shots": [
+ {
+ "file": "02-structure-triggers-tab.png",
+ "caption": "查看触发器页",
+ "width": 2456,
+ "warn": true
+ },
+ {
+ "file": "03-structure-columns-horizontal-scrollbar-a.png",
+ "caption": "查看返回字段页后的横向滚动条",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "字段页初始横向滚动条 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "字段页初始横向滚动条 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "字段页初始横向滚动条 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "字段页初始横向滚动条 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "字段页初始横向滚动条 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"audit_log\" (0 in the page)",
+ "切到触发器再返回字段 · click button: nothing visible matches button with \"触发器\" (0 in the page)",
+ "切到触发器再返回字段 · click button: nothing visible matches button with \"字段\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11582/febfd60/poster.png b/pr-11582/febfd60/poster.png
new file mode 100644
index 0000000000..deaf72dea3
Binary files /dev/null and b/pr-11582/febfd60/poster.png differ
diff --git a/pr-11582/febfd60/preview.mp4 b/pr-11582/febfd60/preview.mp4
new file mode 100644
index 0000000000..cda143f1ea
Binary files /dev/null and b/pr-11582/febfd60/preview.mp4 differ
diff --git a/pr-11583/fb00004/01-editor-search-focused.png b/pr-11583/fb00004/01-editor-search-focused.png
new file mode 100644
index 0000000000..66269be467
Binary files /dev/null and b/pr-11583/fb00004/01-editor-search-focused.png differ
diff --git a/pr-11583/fb00004/02-goto-line-focused.png b/pr-11583/fb00004/02-goto-line-focused.png
new file mode 100644
index 0000000000..66269be467
Binary files /dev/null and b/pr-11583/fb00004/02-goto-line-focused.png differ
diff --git a/pr-11583/fb00004/03-datagrid-search-focused.png b/pr-11583/fb00004/03-datagrid-search-focused.png
new file mode 100644
index 0000000000..cafdab04be
Binary files /dev/null and b/pr-11583/fb00004/03-datagrid-search-focused.png differ
diff --git a/pr-11583/fb00004/index.html b/pr-11583/fb00004/index.html
new file mode 100644
index 0000000000..c123e731f6
--- /dev/null
+++ b/pr-11583/fb00004/index.html
@@ -0,0 +1,17 @@
+
+#11583 界面预览 · fb00004
+
+#11583 界面预览
commit fb00004 · 回到 PR · 这次改动让页面内的搜索/跳转输入框在获得焦点时切换为不透明的主题背景,避免在壁纸半透明时文字变得难读。受影响的有编辑器查找替换、跳转行、表格搜索栏,以及文本内容搜索栏。
+⚠️ 这次录制有 11 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 编辑器搜索与跳转行 · 查看编辑器查找输入框获得焦点后的背景
+
⚠️ 编辑器搜索与跳转行 · 查看跳转行输入框获得焦点后的背景
+
⚠️ 表格搜索栏 · 查看表格搜索栏获得焦点后的背景
+
\ No newline at end of file
diff --git a/pr-11583/fb00004/manifest.json b/pr-11583/fb00004/manifest.json
new file mode 100644
index 0000000000..0f9c8fc8fb
--- /dev/null
+++ b/pr-11583/fb00004/manifest.json
@@ -0,0 +1,55 @@
+{
+ "summary": "这次改动让页面内的搜索/跳转输入框在获得焦点时切换为不透明的主题背景,避免在壁纸半透明时文字变得难读。受影响的有编辑器查找替换、跳转行、表格搜索栏,以及文本内容搜索栏。",
+ "scenes": [
+ {
+ "title": "编辑器搜索与跳转行",
+ "shots": [
+ {
+ "file": "01-editor-search-focused.png",
+ "caption": "查看编辑器查找输入框获得焦点后的背景",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-goto-line-focused.png",
+ "caption": "查看跳转行输入框获得焦点后的背景",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "表格搜索栏",
+ "shots": [
+ {
+ "file": "03-datagrid-search-focused.png",
+ "caption": "查看表格搜索栏获得焦点后的背景",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "编辑器搜索与跳转行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "编辑器搜索与跳转行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "编辑器搜索与跳转行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "编辑器搜索与跳转行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "编辑器搜索与跳转行 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "编辑器搜索与跳转行 · click button: nothing visible matches button with \"查询编辑器\" (0 in the page)",
+ "编辑器搜索与跳转行 · press : keyboard.press: Unknown key: \"Ctrl\"",
+ "编辑器搜索与跳转行 · press : keyboard.press: Unknown key: \"Ctrl\"",
+ "表格搜索栏 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "表格搜索栏 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)",
+ "表格搜索栏 · click button[data-slot=\"button\"]: nothing visible matches button[data-slot=\"button\"] with \"搜索\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "截图环境里没有开启可配置壁纸/高透明背景的入口,也无法直接验证“半透明壁纸下”的可读性问题;但可以在现有界面打开这些搜索面板,看到它们获得焦点时的背景类与样式位置。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11583/fb00004/poster.png b/pr-11583/fb00004/poster.png
new file mode 100644
index 0000000000..0f948fb399
Binary files /dev/null and b/pr-11583/fb00004/poster.png differ
diff --git a/pr-11583/fb00004/preview.mp4 b/pr-11583/fb00004/preview.mp4
new file mode 100644
index 0000000000..297363ce89
Binary files /dev/null and b/pr-11583/fb00004/preview.mp4 differ
diff --git a/pr-11584/65a1a56/01-structure-columns-scrollbar-visible.png b/pr-11584/65a1a56/01-structure-columns-scrollbar-visible.png
new file mode 100644
index 0000000000..504a820813
Binary files /dev/null and b/pr-11584/65a1a56/01-structure-columns-scrollbar-visible.png differ
diff --git a/pr-11584/65a1a56/02-structure-triggers-tab.png b/pr-11584/65a1a56/02-structure-triggers-tab.png
new file mode 100644
index 0000000000..504a820813
Binary files /dev/null and b/pr-11584/65a1a56/02-structure-triggers-tab.png differ
diff --git a/pr-11584/65a1a56/03-structure-columns-scroll-restored.png b/pr-11584/65a1a56/03-structure-columns-scroll-restored.png
new file mode 100644
index 0000000000..504a820813
Binary files /dev/null and b/pr-11584/65a1a56/03-structure-columns-scroll-restored.png differ
diff --git a/pr-11584/65a1a56/index.html b/pr-11584/65a1a56/index.html
new file mode 100644
index 0000000000..eec4227f7f
--- /dev/null
+++ b/pr-11584/65a1a56/index.html
@@ -0,0 +1,17 @@
+
+#11584 界面预览 · 65a1a56
+
+#11584 界面预览
commit 65a1a56 · 回到 PR · 这个 PR 修复了结构编辑器里在“字段/列”与其他结构页签之间切换后,横向滚动条会丢失、并且列区横向滚动位置无法恢复的问题。它还在列虚拟列表更新时主动刷新横向滚动条状态,以保证页签切回后界面能继续正确显示滚动条。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ 结构页签切换前的列滚动状态 · 打开表结构编辑器后的字段页签与横向滚动条
+
⚠️ 结构页签切换前的列滚动状态 · 切换到触发器页签后的结构面板
+
⚠️ 结构页签切换前的列滚动状态 · 切回字段页签后的横向滚动条与滚动位置
+
\ No newline at end of file
diff --git a/pr-11584/65a1a56/manifest.json b/pr-11584/65a1a56/manifest.json
new file mode 100644
index 0000000000..c98e6c6c04
--- /dev/null
+++ b/pr-11584/65a1a56/manifest.json
@@ -0,0 +1,45 @@
+{
+ "summary": "这个 PR 修复了结构编辑器里在“字段/列”与其他结构页签之间切换后,横向滚动条会丢失、并且列区横向滚动位置无法恢复的问题。它还在列虚拟列表更新时主动刷新横向滚动条状态,以保证页签切回后界面能继续正确显示滚动条。",
+ "scenes": [
+ {
+ "title": "结构页签切换前的列滚动状态",
+ "shots": [
+ {
+ "file": "01-structure-columns-scrollbar-visible.png",
+ "caption": "打开表结构编辑器后的字段页签与横向滚动条",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-structure-triggers-tab.png",
+ "caption": "切换到触发器页签后的结构面板",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "03-structure-columns-scroll-restored.png",
+ "caption": "切回字段页签后的横向滚动条与滚动位置",
+ "width": 2880,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "结构页签切换前的列滚动状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结构页签切换前的列滚动状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结构页签切换前的列滚动状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结构页签切换前的列滚动状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "结构页签切换前的列滚动状态 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"products\" (0 in the page)",
+ "结构页签切换前的列滚动状态 · click button, [data-slot=\"button\"]: nothing visible matches button, [data-slot=\"button\"] with \"触发器\" (0 in the page)",
+ "结构页签切换前的列滚动状态 · click button, [data-slot=\"button\"]: nothing visible matches button, [data-slot=\"button\"] with \"字段\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11584/65a1a56/poster.png b/pr-11584/65a1a56/poster.png
new file mode 100644
index 0000000000..5fad3050f1
Binary files /dev/null and b/pr-11584/65a1a56/poster.png differ
diff --git a/pr-11584/65a1a56/preview.mp4 b/pr-11584/65a1a56/preview.mp4
new file mode 100644
index 0000000000..760686b51b
Binary files /dev/null and b/pr-11584/65a1a56/preview.mp4 differ
diff --git a/pr-11587/6a2cdb4/01-orders-grid-before-save.png b/pr-11587/6a2cdb4/01-orders-grid-before-save.png
new file mode 100644
index 0000000000..0909245e5c
Binary files /dev/null and b/pr-11587/6a2cdb4/01-orders-grid-before-save.png differ
diff --git a/pr-11587/6a2cdb4/02-rowid-conflict-place.png b/pr-11587/6a2cdb4/02-rowid-conflict-place.png
new file mode 100644
index 0000000000..d6a6912ae1
Binary files /dev/null and b/pr-11587/6a2cdb4/02-rowid-conflict-place.png differ
diff --git a/pr-11587/6a2cdb4/03-events-grid-page-one.png b/pr-11587/6a2cdb4/03-events-grid-page-one.png
new file mode 100644
index 0000000000..3080bb41ba
Binary files /dev/null and b/pr-11587/6a2cdb4/03-events-grid-page-one.png differ
diff --git a/pr-11587/6a2cdb4/04-wildcard-cursor-place.png b/pr-11587/6a2cdb4/04-wildcard-cursor-place.png
new file mode 100644
index 0000000000..7ef48dbf5c
Binary files /dev/null and b/pr-11587/6a2cdb4/04-wildcard-cursor-place.png differ
diff --git a/pr-11587/6a2cdb4/index.html b/pr-11587/6a2cdb4/index.html
new file mode 100644
index 0000000000..e3e42b02f6
--- /dev/null
+++ b/pr-11587/6a2cdb4/index.html
@@ -0,0 +1,18 @@
+
+#11587 界面预览 · 6a2cdb4
+
+#11587 界面预览
commit 6a2cdb4 · 回到 PR · 这个 PR 给数据网格的保存流程增加了 ROWID 删除冲突提示:当 OceanBase/Oracle 的 ROWID 删除实际影响行数少于选中行数时,会清空待删除状态、刷新结果,并弹出中文 toast。与此同时,通配符查询和导出在 OceanBase 上改为始终沿用同一个结果游标,避免分页时把真实的 `__dbx_row_num` 列和分页辅助列混淆。
+⚠️ 这次录制有 7 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
⚠️ ROWID 删除冲突提示 · 打开订单表后的数据网格
+
⚠️ ROWID 删除冲突提示 · 这里是保存后会出现 ROWID 冲突提示的位置
+
⚠️ 通配符分页与导出沿用游标 · 打开 events 表第一页的数据网格
+
⚠️ 通配符分页与导出沿用游标 · 这里是 OceanBase 通配符分页与导出沿用同一结果游标的位置
+
\ No newline at end of file
diff --git a/pr-11587/6a2cdb4/manifest.json b/pr-11587/6a2cdb4/manifest.json
new file mode 100644
index 0000000000..d71ae5cf6e
--- /dev/null
+++ b/pr-11587/6a2cdb4/manifest.json
@@ -0,0 +1,57 @@
+{
+ "summary": "这个 PR 给数据网格的保存流程增加了 ROWID 删除冲突提示:当 OceanBase/Oracle 的 ROWID 删除实际影响行数少于选中行数时,会清空待删除状态、刷新结果,并弹出中文 toast。与此同时,通配符查询和导出在 OceanBase 上改为始终沿用同一个结果游标,避免分页时把真实的 `__dbx_row_num` 列和分页辅助列混淆。",
+ "scenes": [
+ {
+ "title": "ROWID 删除冲突提示",
+ "shots": [
+ {
+ "file": "01-orders-grid-before-save.png",
+ "caption": "打开订单表后的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "02-rowid-conflict-place.png",
+ "caption": "这里是保存后会出现 ROWID 冲突提示的位置",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ },
+ {
+ "title": "通配符分页与导出沿用游标",
+ "shots": [
+ {
+ "file": "03-events-grid-page-one.png",
+ "caption": "打开 events 表第一页的数据网格",
+ "width": 2880,
+ "warn": true
+ },
+ {
+ "file": "04-wildcard-cursor-place.png",
+ "caption": "这里是 OceanBase 通配符分页与导出沿用同一结果游标的位置",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "ROWID 删除冲突提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "ROWID 删除冲突提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "ROWID 删除冲突提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "ROWID 删除冲突提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "ROWID 删除冲突提示 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)",
+ "通配符分页与导出沿用游标 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "通配符分页与导出沿用游标 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"events\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "",
+ "unseen": "这次改动还涉及 OceanBase/Oracle 的 ROWID 保存冲突与通配符分页/导出会话复用,但当前种子数据里没有真实的 OceanBase 服务器数据库,无法在 GUI 里直接触发真实驱动返回的冲突或后端游标复用差异;只能通过沙盒里的 SQLite 页面展示数据网格位置,不能实测该数据库类型的行为。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11587/6a2cdb4/poster.png b/pr-11587/6a2cdb4/poster.png
new file mode 100644
index 0000000000..b5242acbd6
Binary files /dev/null and b/pr-11587/6a2cdb4/poster.png differ
diff --git a/pr-11587/6a2cdb4/preview.mp4 b/pr-11587/6a2cdb4/preview.mp4
new file mode 100644
index 0000000000..7f8013b06b
Binary files /dev/null and b/pr-11587/6a2cdb4/preview.mp4 differ
diff --git a/pr-11588/a714d0d/01-start-page.png b/pr-11588/a714d0d/01-start-page.png
new file mode 100644
index 0000000000..b5d97216ea
Binary files /dev/null and b/pr-11588/a714d0d/01-start-page.png differ
diff --git a/pr-11588/a714d0d/02-table-grid.png b/pr-11588/a714d0d/02-table-grid.png
new file mode 100644
index 0000000000..a5e3014669
Binary files /dev/null and b/pr-11588/a714d0d/02-table-grid.png differ
diff --git a/pr-11588/a714d0d/index.html b/pr-11588/a714d0d/index.html
new file mode 100644
index 0000000000..8477812770
--- /dev/null
+++ b/pr-11588/a714d0d/index.html
@@ -0,0 +1,16 @@
+
+#11588 界面预览 · a714d0d
+
+#11588 界面预览
commit a714d0d · 回到 PR · 这次改动修正了 Oracle / OceanBase Oracle 参数扫描:不再把表达式和 DDL 里的 `@参数` 误判成 DBLink,保留真实的模板参数提取与替换;同时更严格保留远程例程链接上下文。
+⚠️ 这次录制有 5 步没能按计划执行;带 ⚠️ 的截图拍摄于步骤失败之后,画面未必是说明文字所描述的状态。
+红线是鼠标走过的轨迹,红色圆环是一次点击;底部文字是这一步在做什么。多个场景各自从应用初始状态开始。空格暂停,← → 逐段查看。
+
Oracle 参数识别说明 · 初始首页,保留作为进入编辑器前的对照
+
⚠️ Oracle 参数识别说明 · 打开订单表后的数据网格
+
\ No newline at end of file
diff --git a/pr-11588/a714d0d/manifest.json b/pr-11588/a714d0d/manifest.json
new file mode 100644
index 0000000000..22657e9d27
--- /dev/null
+++ b/pr-11588/a714d0d/manifest.json
@@ -0,0 +1,36 @@
+{
+ "summary": "这次改动修正了 Oracle / OceanBase Oracle 参数扫描:不再把表达式和 DDL 里的 `@参数` 误判成 DBLink,保留真实的模板参数提取与替换;同时更严格保留远程例程链接上下文。",
+ "scenes": [
+ {
+ "title": "Oracle 参数识别说明",
+ "shots": [
+ {
+ "file": "01-start-page.png",
+ "caption": "初始首页,保留作为进入编辑器前的对照",
+ "width": 2456
+ },
+ {
+ "file": "02-table-grid.png",
+ "caption": "打开订单表后的数据网格",
+ "width": 2456,
+ "warn": true
+ }
+ ],
+ "derailed": true
+ }
+ ],
+ "video": "preview.mp4",
+ "poster": "poster.png",
+ "errors": [
+ "Oracle 参数识别说明 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 参数识别说明 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 参数识别说明 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 参数识别说明 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"main 默认库\" (0 in the page)",
+ "Oracle 参数识别说明 · click div.connection-tree-content div: nothing visible matches div.connection-tree-content div with \"orders\" (0 in the page)"
+ ],
+ "leak": false,
+ "skipped": null,
+ "mismatch": "PR 描述提到“GUI 或实库验收”尚未进行,但这次实际改动只在参数解析逻辑和回归测试里,没有新增可直接点开的界面功能。",
+ "unseen": "这个变化本身是 SQL 参数识别规则,界面上没有单独的新控件可展示;只能在 Oracle/OceanBase Oracle 的 SQL 编辑器里通过输入相关语句间接验证,但沙盒里没有这些服务器数据库连接可完成。",
+ "interactive": true
+}
\ No newline at end of file
diff --git a/pr-11588/a714d0d/poster.png b/pr-11588/a714d0d/poster.png
new file mode 100644
index 0000000000..c6ae4db7f3
Binary files /dev/null and b/pr-11588/a714d0d/poster.png differ
diff --git a/pr-11588/a714d0d/preview.mp4 b/pr-11588/a714d0d/preview.mp4
new file mode 100644
index 0000000000..71c881eaf7
Binary files /dev/null and b/pr-11588/a714d0d/preview.mp4 differ