FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

147
node_modules/fast-stable-stringify/test/escape-long.js generated vendored Normal file
View File

@@ -0,0 +1,147 @@
var assert = require('assert');
var stringTest = "Aa1 Bb2 Cc3 \u0000\u001F\u0020\uFFFF☃\"\\\/\f\n\r\t\b. Quisque id mi. Fusce egestas elit eget lorem. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Vivamus euismod mauris. Nam eget dui.";
var stringResult = JSON.stringify(stringTest);
var strReg = /[\u0000-\u001f"\\]/g;
function strReplace(str) {
var code = str.charCodeAt(0);
switch (code) {
case 34: return '\\"';
case 92: return '\\\\';
case 12: return "\\f";
case 10: return "\\n";
case 13: return "\\r";
case 9: return "\\t";
case 8: return "\\b";
default:
if (code > 15) {
return "\\u00" + code.toString(16);
} else {
return "\\u000" + code.toString(16);
}
}
}
function strEscapeIf(str){
var length = str.length;
var buffer = '';
var code = 0;
var i = 0;
for (; i < length; i++) {
code = str.charCodeAt(i);
if (code === 34) buffer += '\\"';
else if (code === 92) buffer += '\\\\';
else if (code > 31) buffer += str[i];
else if (code > 15) buffer += "\\u00" + code.toString(16);
else if (code === 12) buffer += "\\f";
else if (code === 10) buffer += "\\n";
else if (code === 13) buffer += "\\r";
else if (code === 9) buffer += "\\t";
else if (code === 8) buffer += "\\b";
else buffer += "\\u000" + code.toString(16);
}
return buffer;
}
function strEscapeIfReverse(str){
var buffer = '';
var code = 0;
var i = str.length - 1;
for (; i >= 0; i--) {
code = str.charCodeAt(i);
if (code === 34) buffer = '\\"' + buffer;
else if (code === 92) buffer = '\\\\' + buffer;
else if (code > 31) buffer = str[i] + buffer;
else if (code > 15) buffer = "\\u00" + code.toString(16) + buffer;
else if (code === 12) buffer = "\\f" + buffer;
else if (code === 10) buffer = "\\n" + buffer;
else if (code === 13) buffer = "\\r" + buffer;
else if (code === 9) buffer = "\\t" + buffer;
else if (code === 8) buffer = "\\b" + buffer;
else buffer = "\\u000" + code.toString(16) + buffer;
}
return buffer;
}
var escape31 = {
'31': "\\u001f",
'30': "\\u001e",
'29': "\\u001d",
'28': "\\u001c",
'27': "\\u001b",
'26': "\\u001a",
'25': "\\u0019",
'24': "\\u0018",
'23': "\\u0017",
'22': "\\u0016",
'21': "\\u0015",
'20': "\\u0014",
'19': "\\u0013",
'18': "\\u0012",
'17': "\\u0011",
'16': "\\u0010",
'15': "\\u000f",
'14': "\\u000e",
'13': "\\r",
'12': "\\f",
'11': "\\u000b",
'10': "\\n",
'9': "\\t",
'8': "\\b",
'7': "\\u0007",
'6': "\\u0006",
'5': "\\u0005",
'4': "\\u0004",
'3': "\\u0003",
'2': "\\u0002",
'1': "\\u0001",
'0': "\\u0000"
};
function stringEscapeObj(str) {
var i = 0;
var max = str.length;
var buffer = '';
var code = 0;
for (; i < max; i++) {
code = str.charCodeAt(i);
if (code <= 31) buffer += escape31[code];
else if (code === 34) buffer += '\\"';
else if (code === 92) buffer += '\\\\';
else buffer += str[i];
}
return buffer;
}
suite("escape-long", function() {
var minSamples = 120;
benchmark("reg", function() {
assert.equal('"'+stringTest.replace(strReg, strReplace)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("fn if", function() {
assert.equal('"'+strEscapeIf(stringTest)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("fn if reverse", function() {
assert.equal('"'+strEscapeIfReverse(stringTest)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("escape31", function() {
assert.equal('"'+stringEscapeObj(stringTest)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("native", function() {
assert.equal(JSON.stringify(stringTest), stringResult);
}, { minSamples: minSamples })
});

147
node_modules/fast-stable-stringify/test/escape-short.js generated vendored Normal file
View File

@@ -0,0 +1,147 @@
var assert = require('assert');
var stringTest = "Aa1 Bb2 Cc3 \u0000\u001F\u0020\uFFFF☃\"\\\/\f\n\r\t\b";
var stringResult = JSON.stringify(stringTest);
var strReg = /[\u0000-\u001f"\\]/g;
function strReplace(str) {
var code = str.charCodeAt(0);
switch (code) {
case 34: return '\\"';
case 92: return '\\\\';
case 12: return "\\f";
case 10: return "\\n";
case 13: return "\\r";
case 9: return "\\t";
case 8: return "\\b";
default:
if (code > 15) {
return "\\u00" + code.toString(16);
} else {
return "\\u000" + code.toString(16);
}
}
}
function strEscapeIf(str){
var length = str.length;
var buffer = '';
var code = 0;
var i = 0;
for (; i < length; i++) {
code = str.charCodeAt(i);
if (code === 34) buffer += '\\"';
else if (code === 92) buffer += '\\\\';
else if (code > 31) buffer += str[i];
else if (code > 15) buffer += "\\u00" + code.toString(16);
else if (code === 12) buffer += "\\f";
else if (code === 10) buffer += "\\n";
else if (code === 13) buffer += "\\r";
else if (code === 9) buffer += "\\t";
else if (code === 8) buffer += "\\b";
else buffer += "\\u000" + code.toString(16);
}
return buffer;
}
function strEscapeIfReverse(str){
var buffer = '';
var code = 0;
var i = str.length - 1;
for (; i >= 0; i--) {
code = str.charCodeAt(i);
if (code === 34) buffer = '\\"' + buffer;
else if (code === 92) buffer = '\\\\' + buffer;
else if (code > 31) buffer = str[i] + buffer;
else if (code > 15) buffer = "\\u00" + code.toString(16) + buffer;
else if (code === 12) buffer = "\\f" + buffer;
else if (code === 10) buffer = "\\n" + buffer;
else if (code === 13) buffer = "\\r" + buffer;
else if (code === 9) buffer = "\\t" + buffer;
else if (code === 8) buffer = "\\b" + buffer;
else buffer = "\\u000" + code.toString(16) + buffer;
}
return buffer;
}
var escape31 = {
'31': "\\u001f",
'30': "\\u001e",
'29': "\\u001d",
'28': "\\u001c",
'27': "\\u001b",
'26': "\\u001a",
'25': "\\u0019",
'24': "\\u0018",
'23': "\\u0017",
'22': "\\u0016",
'21': "\\u0015",
'20': "\\u0014",
'19': "\\u0013",
'18': "\\u0012",
'17': "\\u0011",
'16': "\\u0010",
'15': "\\u000f",
'14': "\\u000e",
'13': "\\r",
'12': "\\f",
'11': "\\u000b",
'10': "\\n",
'9': "\\t",
'8': "\\b",
'7': "\\u0007",
'6': "\\u0006",
'5': "\\u0005",
'4': "\\u0004",
'3': "\\u0003",
'2': "\\u0002",
'1': "\\u0001",
'0': "\\u0000"
};
function stringEscapeObj(str) {
var i = 0;
var max = str.length;
var buffer = '';
var code = 0;
for (; i < max; i++) {
code = str.charCodeAt(i);
if (code <= 31) buffer += escape31[code];
else if (code === 34) buffer += '\\"';
else if (code === 92) buffer += '\\\\';
else buffer += str[i];
}
return buffer;
}
suite("escape-short", function() {
var minSamples = 120;
benchmark("reg", function() {
assert.equal('"'+stringTest.replace(strReg, strReplace)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("fn if", function() {
assert.equal('"'+strEscapeIf(stringTest)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("fn if reverse", function() {
assert.equal('"'+strEscapeIfReverse(stringTest)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("escape31", function() {
assert.equal('"'+stringEscapeObj(stringTest)+'"', stringResult);
}, { minSamples: minSamples });
benchmark("native", function() {
assert.equal(JSON.stringify(stringTest), stringResult);
}, { minSamples: minSamples })
});

6
node_modules/fast-stable-stringify/test/index.js generated vendored Normal file
View File

@@ -0,0 +1,6 @@
require('./libs');
//require('./escape-short');
//require('./escape-long');
//require('./itar-short');
//require('./itar-long');
//require('./iter');

52
node_modules/fast-stable-stringify/test/itar-long.js generated vendored Normal file
View File

@@ -0,0 +1,52 @@
var assert = require('assert');
var arrTest = [];
var arrExpected;
for (var i = 0; i < 100; i++) { arrTest[i] = i; }
arrExpected = JSON.stringify(arrTest);
var arrReuse = [];
suite('itar-long', function() {
var minSamples = 160;
benchmark("for + if", function() {
var val = arrTest.slice();
var str = '[';
var max = val.length - 1;
var i;
for (i = 0; i < max; i++) {
str += JSON.stringify(val[i]) + ',';
}
if (max > -1) {
str += JSON.stringify(val[i]);
}
assert.equal(str + ']', arrExpected);
}, { minSamples: minSamples });
benchmark("while + if", function() {
var val = arrTest.slice();
var str = '[';
var max = val.length - 1;
var i = 0;
while (i < max) {
str += JSON.stringify(val[i++]) + ',';
}
if (max > -1) {
str += JSON.stringify(val[i]);
}
assert.equal(str + ']', arrExpected);
}, { minSamples: minSamples });
benchmark("array join", function() {
arrReuse.length = 0;
var val = arrTest.slice();
var max = val.length;
var i;
for (i = 0; i < max; i++) {
arrReuse[i] = JSON.stringify(val[i]);
}
assert.equal('[' + arrReuse.join(',') + ']', arrExpected);
}, { minSamples: minSamples });
});

52
node_modules/fast-stable-stringify/test/itar-short.js generated vendored Normal file
View File

@@ -0,0 +1,52 @@
var assert = require('assert');
var arrTest = [];
var arrExpected;
for (var i = 0; i < 10; i++) { arrTest[i] = i; }
arrExpected = JSON.stringify(arrTest);
var arrReuse = [];
suite('itar-short', function() {
var minSamples = 160;
benchmark("for + if", function() {
var val = arrTest.slice();
var str = '[';
var max = val.length - 1;
var i;
for (i = 0; i < max; i++) {
str += JSON.stringify(val[i]) + ',';
}
if (max > -1) {
str += JSON.stringify(val[i]);
}
assert.equal(str + ']', arrExpected);
}, { minSamples: minSamples });
benchmark("while + if", function() {
var val = arrTest.slice();
var str = '[';
var max = val.length - 1;
var i = 0;
while (i < max) {
str += JSON.stringify(val[i++]) + ',';
}
if (max > -1) {
str += JSON.stringify(val[i]);
}
assert.equal(str + ']', arrExpected);
}, { minSamples: minSamples });
benchmark("array join", function() {
arrReuse.length = 0;
var val = arrTest.slice();
var max = val.length;
var i;
for (i = 0; i < max; i++) {
arrReuse[i] = JSON.stringify(val[i]);
}
assert.equal('[' + arrReuse.join(',') + ']', arrExpected);
}, { minSamples: minSamples });
});

84
node_modules/fast-stable-stringify/test/iter.js generated vendored Normal file
View File

@@ -0,0 +1,84 @@
var assert = require('assert');
var stringify = require('json-stable-stringify');
var objectTest = {};
for (var i = 35; i < 91; i++) {
objectTest[String.fromCharCode(i)] = i;
}
var objectExpected = stringify(objectTest);
var names = [];
var values = [];
var objKeys = Object.keys || function(obj) {
var keys = [];
for (var name in obj) {
if (obj[name] !== undefined) {
keys.push(name);
}
}
return keys;
};
suite('iter', function() {
var minSamples = 120;
benchmark('keys-while', function() {
// only object is left
var val = objectTest;
var key;
var keys = objKeys(val).sort();
var max = keys.length;
var str = "";
var i = 0;
while (i < max) {
key = keys[i++];
if (val[key] !== undefined) {
if (str) {
str += ',';
}
str += '"' + key + '":' + val[key];
}
}
assert.equal('{' + str + '}', objectExpected);
}, { minSamples: minSamples });
benchmark('keys-for', function() {
// only object is left
var val = objectTest;
var key;
var keys = objKeys(val).sort();
var max = keys.length;
var str = "";
var i = 0;
for (; i < max; i++) {
key = keys[i];
if (val[key] !== undefined) {
if (str) {
str += ',';
}
str += '"' + key + '":' + val[key];
}
}
assert.equal('{' + str + '}', objectExpected);
}, { minSamples: minSamples });
benchmark('incr-for', function() {
names.length = 0;
values.length = 0;
var val = objectTest;
var name;
var i;
var max = -1;
for (name in val) {
i = max;
while (names[i] > name) i--;
names.splice(i + 1, 0, name);
values.splice(i + 1, 0, '"' + name + '":' + JSON.stringify(val[name]));
max++;
}
assert.equal('{' + values.join(',') + '}', objectExpected);
}, { minSamples: minSamples });
});

57
node_modules/fast-stable-stringify/test/libs.js generated vendored Normal file
View File

@@ -0,0 +1,57 @@
var assert = require("assert");
var indexStringify = require('../index');
var jsonStableStringify = require('json-stable-stringify');
var fasterStableStringify = require('faster-stable-stringify');
var validateLibOutput = require('./validate');
var data = require("../fixtures/index").input;
var dataLength = JSON.stringify(data).length;
suite("libs", function() {
var minSamples = 120;
// This needs to be true before anything else
console.log('Checking index validity...');
validateLibOutput(indexStringify);
console.log('Checking index validity success');
benchmark('native', function () {
var result = JSON.stringify(data);
assert.equal(result.length, dataLength);
}, {
minSamples: minSamples
});
benchmark('index', function () {
var result = indexStringify(data);
assert.equal(result.length, dataLength);
}, {
minSamples: minSamples
});
benchmark('json-stable-stringify', function () {
var result = jsonStableStringify(data);
assert.equal(result.length, dataLength);
}, {
minSamples: minSamples
});
benchmark('faster-stable-stringify', function () {
var result = fasterStableStringify(data);
assert.equal(result.length, dataLength);
}, {
minSamples: minSamples
});
}, {
onComplete: function() {
var namesFastest = this
.filter(function(bench) {
return bench.name !== 'native';
})
.filter('fastest')
.map('name');
assert.notEqual(namesFastest.indexOf('index'), -1, "index should be among the fastest");
}
});

43
node_modules/fast-stable-stringify/test/travis.js generated vendored Normal file
View File

@@ -0,0 +1,43 @@
var assert = require("assert");
var indexStringify = require('../index');
var jsonStableStringify = require('json-stable-stringify');
var validateLibOutput = require('./validate');
var data = require("../fixtures/index").input;
var dataLength = JSON.stringify(data).length;
suite("libs", function() {
var minSamples = 120;
// This needs to be true before anything else
console.log('Checking index validity...');
validateLibOutput(indexStringify);
console.log('Checking index validity success');
benchmark('index', function () {
var result = indexStringify(data);
assert.equal(result.length, dataLength);
}, {
minSamples: minSamples
});
benchmark('json-stable-stringify', function () {
var result = jsonStableStringify(data);
assert.equal(result.length, dataLength);
}, {
minSamples: minSamples
});
}, {
onComplete: function() {
var namesFastest = this
.filter(function(bench) {
return bench.name !== 'native';
})
.filter('fastest')
.map('name');
assert.notEqual(namesFastest.indexOf('index'), -1, "index should be among the fastest");
}
});

24
node_modules/fast-stable-stringify/test/validate.js generated vendored Normal file
View File

@@ -0,0 +1,24 @@
var assert = require('assert');
var eachRecursive = require('../util/eachRecursive');
var jsonStableStringify = require('json-stable-stringify');
var input = require('../fixtures').input;
/**
* Assumes json-stable-stringify is always right.
* @param {function(*):string} stringify
*/
module.exports = function validateLibOutput(stringify) {
var numComparisons = 0;
eachRecursive(input, function (val, path) {
var mine = stringify(val);
var expectedVal = jsonStableStringify(val);
if (mine !== expectedVal) {
console.log('expected', expectedVal);
console.log('actual', mine);
global.value = val;
}
assert.equal(mine, expectedVal);
numComparisons++;
});
assert.equal(numComparisons, 569);
};