@nextclaw/x-harness 0.2.45 → 0.2.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SOURCE.md +2 -2
- package/dist/browser-dom-navigation.js +1 -4
- package/dist/platform-writing.d.ts +1 -0
- package/dist/platform-writing.js +26 -14
- package/package.json +2 -2
package/SOURCE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Corresponding source
|
|
2
2
|
|
|
3
|
-
Version 0.2.
|
|
3
|
+
Version 0.2.47, commit b993ce6df34c50bdff2f4010b5935ca532f12f7a.
|
|
4
4
|
|
|
5
|
-
Complete source, build scripts and dependencies: https://github.com/Peiiii/x-harness/tree/
|
|
5
|
+
Complete source, build scripts and dependencies: https://github.com/Peiiii/x-harness/tree/b993ce6df34c50bdff2f4010b5935ca532f12f7a
|
|
6
6
|
|
|
7
7
|
Clone this revision, run npm ci, npm run bootstrap and npm run release:build.
|
|
8
8
|
|
|
@@ -279,10 +279,7 @@ export class DOMNavigation {
|
|
|
279
279
|
// Native observation settles the real loading transition when the tab exposes it.
|
|
280
280
|
if (typeof this.#tab.getAXState === "function")
|
|
281
281
|
await this.#tab.getAXState({ emit: false });
|
|
282
|
-
await this.#tab.playwright
|
|
283
|
-
.getByRole("article")
|
|
284
|
-
.first()
|
|
285
|
-
.waitFor({ state: "visible", timeoutMs: 5000 });
|
|
282
|
+
await this.handleWaitPublicArticle(this.#tab.playwright.getByRole("article").first(), command.url);
|
|
286
283
|
return;
|
|
287
284
|
}
|
|
288
285
|
}
|
|
@@ -9,6 +9,7 @@ export declare class PlatformWriting {
|
|
|
9
9
|
constructor(dependencies: Pick<PlatformDependencies, "observed" | "browser" | "followStage" | "readPerson" | "open" | "clock" | "readPost">);
|
|
10
10
|
private handleCompose;
|
|
11
11
|
private handleFindSubmission;
|
|
12
|
+
private readCandidateDetail;
|
|
12
13
|
private matchesQuote;
|
|
13
14
|
private matchesContent;
|
|
14
15
|
private readQuotedReceipt;
|
package/dist/platform-writing.js
CHANGED
|
@@ -148,20 +148,7 @@ export class PlatformWriting {
|
|
|
148
148
|
const url = xURL(new URL(candidate.primary, xURL(value.page).origin).href);
|
|
149
149
|
if (url.pathname.toLowerCase() ===
|
|
150
150
|
`/${action.accountHandle}/status/${candidate.id}`.toLowerCase()) {
|
|
151
|
-
value = await this
|
|
152
|
-
url: url.href,
|
|
153
|
-
evidenceRef: {
|
|
154
|
-
page: value.page,
|
|
155
|
-
observedAt: value.observedAt,
|
|
156
|
-
publicId: candidate.id,
|
|
157
|
-
primary: candidate.primary,
|
|
158
|
-
},
|
|
159
|
-
}, {
|
|
160
|
-
view: "posts",
|
|
161
|
-
targetId: candidate.id,
|
|
162
|
-
replyTargetId: action.postId,
|
|
163
|
-
});
|
|
164
|
-
value = await this.readLoadedReplyReceipt(value, candidate.id, matchesContent);
|
|
151
|
+
value = await this.readCandidateDetail(value, url.href, candidate, action.postId, matchesContent);
|
|
165
152
|
matches = (value.posts ?? []).filter(matchesContent);
|
|
166
153
|
}
|
|
167
154
|
}
|
|
@@ -181,6 +168,31 @@ export class PlatformWriting {
|
|
|
181
168
|
missing: matches.length === 1 ? [] : ["unique-public-submission-unconfirmed"],
|
|
182
169
|
};
|
|
183
170
|
}
|
|
171
|
+
async readCandidateDetail(value, url, candidate, parentId, matchesContent) {
|
|
172
|
+
try {
|
|
173
|
+
const opened = await this.#open({
|
|
174
|
+
url,
|
|
175
|
+
evidenceRef: {
|
|
176
|
+
page: value.page,
|
|
177
|
+
observedAt: value.observedAt,
|
|
178
|
+
publicId: candidate.id,
|
|
179
|
+
primary: candidate.primary,
|
|
180
|
+
},
|
|
181
|
+
}, {
|
|
182
|
+
view: "posts",
|
|
183
|
+
targetId: candidate.id,
|
|
184
|
+
replyTargetId: parentId,
|
|
185
|
+
});
|
|
186
|
+
return await this.readLoadedReplyReceipt(opened, candidate.id, matchesContent);
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
// Preserve the fresh observed link for the root API’s existing read-only recovery.
|
|
190
|
+
// Missing parent evidence still fails the exact-parent gate below.
|
|
191
|
+
if (!/Timed out waiting for URL/.test(error instanceof Error ? error.message : ""))
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
return value;
|
|
195
|
+
}
|
|
184
196
|
matchesQuote(post, action) {
|
|
185
197
|
return (post.quoteSource?.parentId === post.id &&
|
|
186
198
|
post.quoteSource?.id === action.quoteTarget.postId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nextclaw/x-harness",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.47",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Typed X task harness with compact business results and explicit diagnostics.",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"publishConfig": {
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "b993ce6df34c50bdff2f4010b5935ca532f12f7a"
|
|
46
46
|
}
|