Skip to content

Commit 27fbdfe

Browse files
committed
Merge branch 'release/9.0.0'
* release/9.0.0: Final commit of version 9.0.0 Major: prefix all api calls with /api by using latest VC version
2 parents 034698c + fec32df commit 27fbdfe

10 files changed

Lines changed: 49 additions & 46 deletions

File tree

dist/videomail-for-ninja-forms.zip

23 Bytes
Binary file not shown.

package-lock.json

Lines changed: 20 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "videomail-for-ninja-forms",
3-
"version": "8.3.1",
3+
"version": "9.0.0",
44
"description": "With this add-on recording videos in Wordpress Ninja Forms comes true.",
55
"author": "Michael Heuberger <michael.heuberger@binarykitchen.com>",
66
"contributors": [
@@ -58,7 +58,7 @@
5858
]
5959
},
6060
"dependencies": {
61-
"videomail-client": "11.5.2"
61+
"videomail-client": "13.0.0"
6262
},
6363
"devDependencies": {
6464
"@babel/core": "7.28.4",

readme.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Tags: video, email, recorder, sign language
55

66
Requires at least: 6.0
77
Tested up to: 6.8.2
8-
Stable tag: 8.3.1
8+
Stable tag: 9.0.0
99
Requires PHP: 8.1.0
1010
Donate link: https://videomail.io/faq
1111
License: CC0-1.0
@@ -70,13 +70,17 @@ To get help, just use any of these contacts at [https://binarykitchen.com](https
7070
2. Once you have assembled a form and preview it, any browser will ask for webcam access first.
7171

7272
== Changelog ==
73+
= 9.0.0 (21 Oct 2025) =
74+
**Change:**
75+
* Breaking change: switch to new Videomail API endpoint.
76+
7377
= 8.3.1 (17 Oct 2025) =
7478
**Fix**
7579
* Adds one missing comma :)
7680

7781
= 8.3.0 (17 Oct 2025) =
7882
**Improvement**
79-
* Adds new advanced option "disableFormWhenSubmitting" to increase security during form submissions
83+
* Adds new advanced option "disableFormWhenSubmitting" to increase security during form submissions.
8084

8185
**Change:**
8286
* Defaults that new option "disableFormWhenSubmitting" to false, because plugins overlap with each other.

src/js/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Remember, you can't use any import/require statements here
2-
const PLUGIN_VERSION = "8.3.1";
2+
const PLUGIN_VERSION = "9.0.0";
33

44
// manual switch to have more stuff printed to console
55
let DEBUG = false;

src/php/videomail.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
final class NF_Videomail {
33

44
const NAME = 'Videomail';
5-
const VERSION = '8.3.1';
5+
const VERSION = '9.0.0';
66
const AUTHOR = 'Michael Heuberger + Kyle B. Johnson';
77
const SLUG = 'videomail';
88
const PREFIX = 'NF_Videomail';

target/js/main-min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

target/js/videomail-client/index-min.js

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10502,9 +10502,13 @@
1050210502
"use strict";
1050310503
__webpack_require__.r(__webpack_exports__);
1050410504
__webpack_require__.d(__webpack_exports__, {
10505-
VideomailClient: ()=>src_client,
10505+
VideomailClient: ()=>VideomailClient,
1050610506
VideoType: ()=>VideoType
1050710507
});
10508+
const VideoType = {
10509+
WebM: "webm",
10510+
MP4: "mp4"
10511+
};
1050810512
const constants = {
1050910513
SITE_NAME_LABEL: "x-videomail-site-name",
1051010514
VERSION_LABEL: "videomailClientVersion",
@@ -10666,7 +10670,7 @@
1066610670
var client = __webpack_require__("./node_modules/superagent/lib/client.js");
1066710671
var client_default = /*#__PURE__*/ __webpack_require__.n(client);
1066810672
var package_namespaceObject = {
10669-
rE: "11.5.2"
10673+
rE: "13.0.0"
1067010674
};
1067110675
var defined = __webpack_require__("./node_modules/defined/index.js");
1067210676
var defined_default = /*#__PURE__*/ __webpack_require__.n(defined);
@@ -13826,10 +13830,6 @@
1382613830
NAME,
1382713831
VERSION
1382813832
]);
13829-
const VideoType = {
13830-
WebM: "webm",
13831-
MP4: "mp4"
13832-
};
1383313833
function canPlayType_canPlayType(video, type) {
1383413834
const canPlayType = video.canPlayType(`video/${type}`);
1383513835
if ("" === canPlayType) return false;
@@ -13879,7 +13879,7 @@
1387913879
isOkSafari() {
1388013880
const version = this.getBrowserVersion();
1388113881
if (!version) return false;
13882-
return this.isSafari() && parseFloat(version) >= 11;
13882+
return this.isSafari() && Number.parseFloat(version) >= 11;
1388313883
}
1388413884
getVideoType(video) {
1388513885
if (!this.videoType) {
@@ -14553,7 +14553,7 @@
1455314553
this.options.logger.debug(`Form: doTheSubmit(${util_pretty(e)})`);
1455414554
e.preventDefault();
1455514555
} else this.options.logger.debug("Form: doTheSubmit()");
14556-
const url = this.formElement.getAttribute("action") ?? this.options.baseUrl;
14556+
const url = this.formElement.getAttribute("action") ?? this.options.apiUrl;
1455714557
const method = this.formElement.getAttribute("method");
1455814558
let chosenMethod;
1455914559
switch(method){
@@ -14632,7 +14632,7 @@
1463214632
return newVideomail;
1463314633
}
1463414634
async get(identifierName, identifierValue) {
14635-
const url = `${this.options.baseUrl}/videomail/${identifierName}/${identifierValue}/snapshot`;
14635+
const url = `${this.options.apiUrl}/videomail/${identifierName}/${identifierValue}/snapshot`;
1463614636
try {
1463714637
const request = await client_default()("get", url).type("json").set("Accept", "application/json").withCredentials().set("Timezone-Id", this.timezoneId).set(constants.SITE_NAME_LABEL, this.options.siteName).timeout(this.options.timeouts.connection);
1463814638
const videomail = request.body;
@@ -14648,7 +14648,7 @@
1464814648
const queryParams = {
1464914649
[constants.SITE_NAME_LABEL]: this.options.siteName
1465014650
};
14651-
let url = `${this.options.baseUrl}/videomail/`;
14651+
let url = `${this.options.apiUrl}/videomail/`;
1465214652
if (method === FormMethod.PUT && videomail.key) url += videomail.key;
1465314653
try {
1465414654
const request = await client_default()(method, url).query(queryParams).set("Timezone-Id", this.timezoneId).withCredentials().send(videomail).timeout(this.options.timeouts.connection);
@@ -14670,7 +14670,7 @@
1467014670
const queryParams = {
1467114671
[constants.SITE_NAME_LABEL]: this.options.siteName
1467214672
};
14673-
const url = `${this.options.baseUrl}/client-error/`;
14673+
const url = `${this.options.apiUrl}/client-error/`;
1467414674
try {
1467514675
const fullVideomailErrorData = {
1467614676
browser: err.browser,
@@ -14767,7 +14767,7 @@
1476714767
logger: console,
1476814768
logStackSize: 30,
1476914769
verbose: !PRODUCTION,
14770-
baseUrl: "https://videomail.io",
14770+
apiUrl: "https://videomail.io/api",
1477114771
socketUrl: "wss://videomail.io",
1477214772
siteName: "videomail-client-demo",
1477314773
enablePause: true,
@@ -15449,7 +15449,7 @@
1544915449
}
1545015450
start(cb) {
1545115451
if (!this.countdownElement) throw new Error("Unable to start countdown without an element");
15452-
if ("number" != typeof this.options.video.countdown) throw new Error(`The defined countdown is not a valid number: ${this.options.video.countdown}`);
15452+
if ("number" != typeof this.options.video.countdown) throw new TypeError(`The defined countdown is not a valid number: ${this.options.video.countdown}`);
1545315453
this.countdown = this.options.video.countdown;
1545415454
this.countdownElement.innerHTML = this.countdown.toString();
1545515455
this.show();
@@ -17704,7 +17704,7 @@
1770417704
const tracks = this.replayElement.getElementsByTagName("track");
1770517705
const firstTrack = tracks[0];
1770617706
if (firstTrack) if (src) firstTrack.setAttribute("src", src);
17707-
else this.replayElement.removeChild(firstTrack);
17707+
else firstTrack.remove();
1770817708
else {
1770917709
const track = document.createElement("track");
1771017710
track.setAttribute("src", src);
@@ -17721,7 +17721,7 @@
1772117721
let url = src;
1772217722
if (url && bustCache) url += `?${Date.now()}`;
1772317723
if (source) if (src) source.setAttribute("src", src);
17724-
else this.replayElement.removeChild(source);
17724+
else source.remove();
1772517725
else if (src) {
1772617726
const { fps } = this.options.video;
1772717727
const t = 1 / fps * 2;
@@ -18629,7 +18629,6 @@
1862918629
if (this.options.logger.getLines) return this.options.logger.getLines();
1863018630
}
1863118631
}
18632-
const src_client = VideomailClient;
1863318632
})();
1863418633
return __webpack_exports__;
1863518634
})());

target/php/videomail.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
final class NF_Videomail {
33

44
const NAME = 'Videomail';
5-
const VERSION = '8.3.1';
5+
const VERSION = '9.0.0';
66
const AUTHOR = 'Michael Heuberger + Kyle B. Johnson';
77
const SLUG = 'videomail';
88
const PREFIX = 'NF_Videomail';

videomail-for-ninja-forms.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Plugin Name: Videomail for Ninja Forms
44
Plugin URI: https://github.com/binarykitchen/videomail-for-ninja-forms
55
Description: Express yourself in more than just words. Record and send a short video from your webcam.
6-
Version: 8.3.1
6+
Version: 9.0.0
77
Author: Michael Heuberger + Kyle B. Johnson
88
Author URI: https://videomail.io
99
Author URI: http://kylebjohnson.me

0 commit comments

Comments
 (0)