-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodex_review.diff
More file actions
122 lines (120 loc) · 6.53 KB
/
Copy pathcodex_review.diff
File metadata and controls
122 lines (120 loc) · 6.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
diff --git a/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-manual-validation-notes.md b/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-manual-validation-notes.md
new file mode 100644
index 000000000..61db9dd99
--- /dev/null
+++ b/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-manual-validation-notes.md
@@ -0,0 +1,11 @@
+# PR_26171_BETA_079 Manual Validation Notes
+
+## Review
+- Confirmed the Messages table remains the parent table.
+- Confirmed clicking a non-control Message row cell opens the Message Parts child table.
+- Confirmed Message Parts expose Text, Emotion, TTS Profile, Status, and Actions columns.
+- Confirmed Add Part opens an inline child-table editor with Emotion and TTS Profile selectors.
+- Confirmed TTS Studio compatibility validation still passes.
+
+## Manual Browser Coverage
+- Covered by targeted Playwright validation for Message Studio load, row expansion, add/edit flows, and Message Part selectors.
diff --git a/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-validation-report.md b/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-validation-report.md
new file mode 100644
index 000000000..19361ead5
--- /dev/null
+++ b/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-validation-report.md
@@ -0,0 +1,17 @@
+# PR_26171_BETA_079 Validation Report
+
+## Commands
+- PASS: node --check toolbox/messages/messages.js
+- PASS: npx playwright test tests/playwright/tools/MessagesTool.spec.mjs
+- PASS: npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs
+- PASS: npm run test:workspace-v2
+- PASS: git diff --check
+
+## Targeted Results
+- Message Studio Playwright tests: 2 passed.
+- Text To Speech compatibility Playwright tests: 3 passed.
+- Project Workspace legacy validation: 5 passed.
+
+## Notes
+- npm run test:workspace-v2 is a legacy command name; user-facing language remains Project Workspace.
+- Standard generated validation-report churn was restored before staging this PR.
diff --git a/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion.md b/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion.md
new file mode 100644
index 000000000..dd4c6c13c
--- /dev/null
+++ b/docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion.md
@@ -0,0 +1,20 @@
+# PR_26171_BETA_079-message-studio-parent-child-table-completion
+
+## Team Ownership
+- TEAM: BETA
+- Ownership source: docs_build/dev/PROJECT_MULTI_PC.txt
+- Scope confirmed: Message Studio, Messages, and TTS selection integration are owned by Team BETA.
+
+## Summary
+- Completed Message Studio row-click behavior for the Messages parent table.
+- Kept Message Parts as the selected Message child table.
+- Kept Message Part controls for Text, Emotion, TTS Profile, Status, and Actions.
+- Preserved existing Play Part, Play Message, and Stop controls for the next playback PR.
+
+## Scope Guard
+- Theme V2 only.
+- External JS only.
+- No inline styles, style blocks, inline handlers, page-local CSS, or tool-local CSS.
+- No database schema changes.
+- No separate Emotion Studio.
+- No browser-owned product data source of truth added.
diff --git a/docs_build/dev/reports/codex_changed_files.txt b/docs_build/dev/reports/codex_changed_files.txt
index 10f75398a..795ac3621 100644
--- a/docs_build/dev/reports/codex_changed_files.txt
+++ b/docs_build/dev/reports/codex_changed_files.txt
@@ -1,8 +1,7 @@
docs_build/dev/reports/codex_changed_files.txt
docs_build/dev/reports/codex_review.diff
-docs_build/dev/reports/PR_26171_BETA_077-tts-profile-parent-child-table-manual-validation-notes.md
-docs_build/dev/reports/PR_26171_BETA_077-tts-profile-parent-child-table-validation-report.md
-docs_build/dev/reports/PR_26171_BETA_077-tts-profile-parent-child-table.md
-tests/playwright/tools/TextToSpeechFunctional.spec.mjs
-toolbox/text-to-speech/index.html
-toolbox/text-to-speech/text2speech.js
+docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-manual-validation-notes.md
+docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion-validation-report.md
+docs_build/dev/reports/PR_26171_BETA_079-message-studio-parent-child-table-completion.md
+tests/playwright/tools/MessagesTool.spec.mjs
+toolbox/messages/messages.js
diff --git a/tests/playwright/tools/MessagesTool.spec.mjs b/tests/playwright/tools/MessagesTool.spec.mjs
index e10e79dac..220802b3e 100644
--- a/tests/playwright/tools/MessagesTool.spec.mjs
+++ b/tests/playwright/tools/MessagesTool.spec.mjs
@@ -151,7 +151,7 @@ async function addPart(page, values) {
}
async function openMessageParts(page, messageName) {
- await page.locator("[data-messages-name-cell]").filter({ hasText: messageName }).click();
+ await page.locator("[data-messages-row]").filter({ hasText: messageName }).locator("td").nth(1).click();
}
test("Message Studio renders Messages with child Message Parts and plays ordered parts", async ({ page }) => {
@@ -198,7 +198,11 @@ test("Message Studio renders Messages with child Message Parts and plays ordered
const messageRow = page.locator("[data-messages-row]").filter({ hasText: "Bat Encounter" });
const messageNameCell = page.locator("[data-messages-name-cell]").filter({ hasText: "Bat Encounter" });
await expect(page.locator("[data-messages-segment-host]")).toHaveCount(0);
+ await expect(messageNameCell).toHaveAttribute("aria-expanded", "false");
await messageRow.locator("td").nth(3).click();
+ await expect(page.locator("[data-messages-segment-host]")).toBeVisible();
+ await expect(messageNameCell).toHaveAttribute("aria-expanded", "true");
+ await messageRow.locator("td").nth(2).click();
await expect(page.locator("[data-messages-segment-host]")).toHaveCount(0);
await messageNameCell.click();
await expect(page.locator("[data-messages-segment-host]")).toBeVisible();
diff --git a/toolbox/messages/messages.js b/toolbox/messages/messages.js
index 4cb02f9bf..9165deabe 100644
--- a/toolbox/messages/messages.js
+++ b/toolbox/messages/messages.js
@@ -1188,7 +1188,7 @@ elements.table?.addEventListener("click", async (event) => {
render();
return;
}
- if (messageNameCell && row) {
+ if ((messageNameCell || row) && row) {
state.selectedMessageKey = state.selectedMessageKey === row.dataset.messagesRow ? "" : row.dataset.messagesRow;
state.selectedSegmentKey = "";
state.editingSegmentKey = "";