@openclaw/zoom-meetings 2026.8.1 → 2026.8.2
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/dist/index.js
CHANGED
|
@@ -681,8 +681,9 @@ function zoomMeetingStatusScript(params) {
|
|
|
681
681
|
}) + zoomMeetingStatusCallSource();
|
|
682
682
|
}
|
|
683
683
|
function zoomMeetingTranscriptScript(meetingUrl, meetingSessionId, finalize) {
|
|
684
|
+
const expectedIdentity = normalizeZoomMeetingUrlForReuse(meetingUrl);
|
|
684
685
|
return createMeetingTranscriptSource({
|
|
685
|
-
expectedIdentity
|
|
686
|
+
expectedIdentity,
|
|
686
687
|
finalize,
|
|
687
688
|
globals: {
|
|
688
689
|
captionArchive: "__openclawZoomCaptionArchive",
|
|
@@ -696,6 +697,7 @@ function zoomMeetingTranscriptScript(meetingUrl, meetingSessionId, finalize) {
|
|
|
696
697
|
}
|
|
697
698
|
function zoomMeetingLeaveScript(params) {
|
|
698
699
|
const selectors = JSON.stringify(ZOOM_MEETING_SELECTORS);
|
|
700
|
+
const expectedIdentity = normalizeZoomMeetingUrlForReuse(params.meetingUrl);
|
|
699
701
|
return createMeetingLeaveSource({
|
|
700
702
|
controlSource: `const first = (list) => {
|
|
701
703
|
for (const selector of list) {
|
|
@@ -725,7 +727,7 @@ function zoomMeetingLeaveScript(params) {
|
|
|
725
727
|
departedMarkerSource: "(postCall || webClientHome)",
|
|
726
728
|
documentSetupSource: `const topDocument = globalThis.document;
|
|
727
729
|
const document = topDocument.querySelector("#webclient")?.contentDocument || topDocument;`,
|
|
728
|
-
expectedIdentity
|
|
730
|
+
expectedIdentity,
|
|
729
731
|
leaveInitiated: params.leaveInitiated,
|
|
730
732
|
meetingSessionId: params.meetingSessionId,
|
|
731
733
|
meetingStateSource: "sessionId: expectedSessionId || state?.sessionId,",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const Email = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[^"\\]
|
|
1
|
+
const Email = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[^"\\]|\\[\x20-\x7e])*")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*|\[(?:IPv6:[a-f0-9:]+|(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})\])$/i;
|
|
2
2
|
/**
|
|
3
3
|
* Returns true if the value is an Email
|
|
4
4
|
* @specification https://datatracker.ietf.org/doc/html/rfc5322
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as FormatBidi from './format/bidi.mjs';
|
|
2
2
|
import * as LabelUnicode from './label/unicode.mjs';
|
|
3
3
|
import * as LabelPuny from './label/puny.mjs';
|
|
4
|
+
// ------------------------------------------------------------------
|
|
5
|
+
// IsLabel
|
|
6
|
+
// ------------------------------------------------------------------
|
|
4
7
|
function IsValidLabelLength(value) {
|
|
5
8
|
return value.length > 0 && value.length <= 63;
|
|
6
9
|
}
|
|
@@ -8,9 +11,24 @@ function IsLabel(value) {
|
|
|
8
11
|
return IsValidLabelLength(value) && (LabelPuny.IsPunyLabel(value) ||
|
|
9
12
|
LabelUnicode.IsUnicodeLabel(value));
|
|
10
13
|
}
|
|
14
|
+
// ------------------------------------------------------------------
|
|
15
|
+
// NormalizeHostname
|
|
16
|
+
//
|
|
17
|
+
// Normalizes a hostname for label validation. Normalizes for NFC
|
|
18
|
+
// such that equivalent codepoint sequences can be uniformly
|
|
19
|
+
// compared. It also removes codepoints that IDNA mapping ignores,
|
|
20
|
+
// and converts full stop variants to ASCII '.' so the hostname can
|
|
21
|
+
// be split into labels.
|
|
22
|
+
// ------------------------------------------------------------------
|
|
11
23
|
function NormalizeHostname(value) {
|
|
12
|
-
return value
|
|
24
|
+
return value
|
|
25
|
+
.normalize('NFC')
|
|
26
|
+
.replace(/[\u00ad\u034f\u180b-\u180d\u200b\ufe00-\ufe0f\u{e0100}-\u{e01ef}]/gu, '') // RE_IGNORED_MAPPING
|
|
27
|
+
.replace(/[\u002E\u3002\uFF0E\uFF61]/g, '.'); // RE_FULL_STOP_MAPPING
|
|
13
28
|
}
|
|
29
|
+
// ------------------------------------------------------------------
|
|
30
|
+
// IsIdnHostname
|
|
31
|
+
// ------------------------------------------------------------------
|
|
14
32
|
export function IsIdnHostname(value) {
|
|
15
33
|
if (value.length === 0 || value.includes(' '))
|
|
16
34
|
return false;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/zoom-meetings",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.2",
|
|
4
4
|
"description": "OpenClaw Zoom browser meeting participant plugin.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"typebox": "1.3.
|
|
11
|
+
"typebox": "1.3.17"
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"openclaw": ">=2026.8.
|
|
14
|
+
"openclaw": ">=2026.8.2"
|
|
15
15
|
},
|
|
16
16
|
"peerDependenciesMeta": {
|
|
17
17
|
"openclaw": {
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"minHostVersion": ">=2026.7.2"
|
|
30
30
|
},
|
|
31
31
|
"compat": {
|
|
32
|
-
"pluginApi": ">=2026.8.
|
|
32
|
+
"pluginApi": ">=2026.8.2"
|
|
33
33
|
},
|
|
34
34
|
"build": {
|
|
35
|
-
"openclawVersion": "2026.8.
|
|
35
|
+
"openclawVersion": "2026.8.2",
|
|
36
36
|
"bundledDist": false
|
|
37
37
|
},
|
|
38
38
|
"release": {
|