From 5df3f721a2ae8efe1e547fce7073e079d4b8e03b Mon Sep 17 00:00:00 2001 From: nerdCopter <56646290+nerdCopter@users.noreply.github.com> Date: Tue, 12 Jul 2022 11:34:04 -0500 Subject: [PATCH 01/11] VTX tab (#457) * VTX tab - WIP - very failing, but somewhere worth saving * VTX tab - WIP - very failing still * VTX tab - WIP - very failing still; waitng for data(no error) * VTX tab - WIP - very failing still; no clue--GUI.interval_add('vtx_pull',//self._DEVICE_STATUS_UPDATE_INTERVAL_NAME, * VTX tab - WIP - very failing still; no clue--ports.js:110 * VTX tab- reads MSP data, but waiting loop; bunch of console.logs * VTX tab- reads MSP data, but waiting loop; bunch of console.logs * VTX tab loads; fails displayInit; needs purge VTX em/messages; need setup vtx.js more like other .js * VTX tab - vtx table farther. uncaught vtx_band:vtx.js:381. Uncaught VTX_DEVICE_STATUS:vtx.js:46 * VTX tab loads; woot working father than before. need local/en/messages purge. need html purge/rewrite. need vtx.js save. need vtx.js cleanup. * VTX tab loads; woot working father than before. need local/en/messages purge. need html purge/rewrite. need vtx.js save. need vtx.js cleanup. need tab-cleanup working. * VTX tab - some locale/en fixes. still need all the prior stuff * VTX tab - more html cleanup. still need all the prior stuff * VTX tab - more html cleanup. still need all the prior stuff * VTX tab - more html/locale/en cleanup. still need all the prior stuff * VTX tab - more html/locale/en cleanup. still need all the prior stuff * VTX tab - cleanup/table. still need all the prior stuff and more * VTX tab - fixed vtx.cleanup. purged vtxtables codes. still needs stuff. needs SAVE and further cleanup of used/unused code. * VTX tab - cleaned some unused code. still needs stuff. needs SAVE/REFRESH and further cleanup of used/unused code. * VTX tab - added set MSP, but save click does nothing. * VTX tab - manual freq toggle * VTX tab - better channel populate; max band 5 * VTX tab - semicolons; vtx_low_power_disarm not supported in MSP :( * VTX tab - locale/en power-on-switch * VTX tab - fixes and debugs and still failing * VTX tab - should save, does not save proper :(( * VTX tab - more debugs * VTX tab - fix var and debugs * VTX tab - fix table ch7 * VTX tab - OMG the fugging old band/channel-->freq encode worksyarn gulp clean ; yarn gulp debug Now need major cleaning and UI simplification * VTX tab - this work better, moved //initDisplay close bracket }, then set input[id="vtx_frequency_channel"] * VTX tab - clickable table (no effect yet); code cleanup; remove animation * VTX tab - fix onload freq tofflee; cleanup css * VTX tab - an easy vtx table * VTX tab - locales/en; css cleanup * VTX tab - css cleanup * vtx tab - pitmode hide/show logic and required css shanges; comment-out other unsused code * vtx tab - add BeeSign type * VTX tab - pitmode pause/refresh again * VTX tab - comment-out console.log ; cleanup * VTX tab - fix some Codacy complaints * VTX tab - fix some Codacy complaints * VTX tab - fix some Codacy complaints * VTX tab - prettier vtx tablez * VTX tab - generically simplify HAM License verbiage * VTX tab - caps VTX * VTX tab - add colored freq (out-of-band and modulates o-o-b); fix Codact Complaints; fix verical transform text blocking freq buttons:hover * VTX tab - fix Codact Complaint * VTX tab - move tab under OSD --- locales/en/messages.json | 193 ++++++++++ src/css/main.css | 10 +- src/css/tabs/vtx.css | 195 ++++++++++ src/js/fc.js | 10 + src/js/gui.js | 1 + src/js/main.js | 5 +- src/js/msp/MSPHelper.js | 33 +- src/js/tabs/ports.js | 11 +- src/js/tabs/vtx.js | 359 ++++++++++++++++++ .../VtxDeviceStatus/Rtc6705DeviceStatus.js | 19 + .../VtxDeviceStatus/SmartAudioDeviceStatus.js | 49 +++ .../VtxDeviceStatus/TrampDeviceStatus.js | 19 + .../utils/VtxDeviceStatus/VtxDeviceStatus.js | 79 ++++ .../VtxDeviceStatus/VtxDeviceStatusFactory.js | 40 ++ src/main.html | 10 + src/tabs/vtx.html | 221 +++++++++++ 16 files changed, 1250 insertions(+), 4 deletions(-) create mode 100644 src/css/tabs/vtx.css create mode 100644 src/js/tabs/vtx.js create mode 100644 src/js/utils/VtxDeviceStatus/Rtc6705DeviceStatus.js create mode 100644 src/js/utils/VtxDeviceStatus/SmartAudioDeviceStatus.js create mode 100644 src/js/utils/VtxDeviceStatus/TrampDeviceStatus.js create mode 100644 src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js create mode 100644 src/js/utils/VtxDeviceStatus/VtxDeviceStatusFactory.js create mode 100644 src/tabs/vtx.html diff --git a/locales/en/messages.json b/locales/en/messages.json index ce028db46..ca77d3c3a 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -5535,5 +5535,198 @@ }, "pidTuningIMUFFilterSettings": { "message": "Profile independent IMU-F Filter Settings" + }, + "tabVtx": { + "message": "Analog VTX" + }, + "COMMENT": {"message": "most these need purge"}, + "vtxHelp": { + "message": "Here you can configure the values for your Video Transmitter if the flight controller and the VTX support it. Set the values manually, or click the chart frequencies then save.", + "description": "Introduction message in the VTX tab" + }, + "vtxMessageNotSupported": { + "message": "Attention: Your VTX is not configured or not supported. Configuration will only be possible if the VTx is properly soldered to the flight-controller and setup correctly with a protocol like Tramp or SmartAudio in the $t(tabPorts.message) tab.", + "description": "Message to show when the VTX is not supported in the VTX tab" + }, + "vtxMessageFactoryBandsNotSupported": { + "message": "Attention: The selected VTX type does not support the 'factory' setting for bands, but some of your bands have this setting. Click '$t(vtxButtonSave.message)' to fix this.", + "description": "Message to show when the configured VTX type does not support factory bands, but one or more of the configured bands are of this type" + }, + "vtxMessageRequiresHAM": { + "message": "Attention: Pilots operating an analog VTX must comply with the governmental regulations. An amateur radio license may be required." + }, + "vtxMessageHardwareModes": { + "message": "Other things to consider: Locked, Unlocked, Race-Mode, Free-Mode should all be set by the VTX hardware. EmuFlight does not have access to this." + }, + "vtxMessageAnalogFunny": { + "message": "Set up however you want, you're not gonna see anything but lines and static anyways" + }, + "vtxMessageNonMSP": { + "message": "CLI-only settings include 'vtx_low_power_disarm', 'vtx_pit_mode_freq', 'vtx_halfduplex' and VTX-Power-on-a-Switch. Configure them as needed in CLI." + }, + "vtxFrequencyChannel": { + "message": "Frequency Mode", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxFrequencyChannelHelp": { + "message": "If you enable this, the Configurator will let you select a frequency in place of the habitual band/channel. For this to work your VTX must support this feature.", + "description": "Help text for the frequency or channel select field of the VTX tab" + }, + "vtxSelectedMode": { + "message": "Selected Mode", + "description": "Title for the actual mode header of the VTX" + }, + "vtxActualState": { + "message": "Current Values", + "description": "Title for the actual values header of the VTX" + }, + "vtxType": { + "message": "VTX Type", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxType_0": { + "message": "Unsupported", + "description": "Text for one of the types of the VTX type in VTX tab" + }, + "vtxType_1": { + "message": "RTC607", + "description": "Text for one of the types of the VTX type in VTX tab" + }, + "vtxType_3": { + "message": "SmartAudio", + "description": "Text for one of the types of the VTX type in VTX tab" + }, + "vtxType_4": { + "message": "Tramp", + "description": "Text for one of the types of the VTX type in VTX tab" + }, + "vtxType_5": { + "message": "BeeSign", + "description": "Text for one of the types of the VTX type in VTX tab" + }, + "vtxType_255": { + "message": "Unknown", + "description": "Text for one of the types of the VTX type in VTX tab" + }, + "vtxBand": { + "message": "Band", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxBandHelp": { + "message": "Here, set the band for your VTX", + "description": "Help text for the band field of the VTX tab" + }, + "vtxBand_0": { + "message": "User", + "description": "Text of one of the options for the band field of the VTX tab" + }, + "vtxBand_X": { + "message": "Band {{bandName}}", + "description": "Text of one of the options for the band field of the VTX tab" + }, + "vtxChannel_0": { + "message": "None", + "description": "Text of one of the options for the channel field of the VTX tab" + }, + "vtxChannel_X": { + "message": "Channel {{channelName}}", + "description": "Text of one of the options for the channel field of the VTX tab" + }, + "vtxPower_0": { + "message": "None", + "description": "Text of one of the options for the power field of the VTX tab" + }, + "vtxPower_X": { + "message": "Level {{powerLevel}}", + "description": "Text of one of the options for the power field of the VTX tab" + }, + "vtxChannel": { + "message": "Channel", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxChannelHelp": { + "message": "Here, set the channel for your VTX", + "description": "Help text for the channel field of the VTX tab" + }, + "vtxFrequency": { + "message": "Frequency", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxFrequencyHelp": { + "message": "Here, set the frequency for your VTX if it is supported", + "description": "Help text for the frequency field of the VTX tab" + }, + "vtxDeviceReady": { + "message": "Device ready", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxPower": { + "message": "Power", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxPowerHelp": { + "message": "Here, set the operational power level for the VTX. It can be modified if the $t(vtxPitMode.message) or the $t(vtxLowPowerDisarm.message) is enabled", + "description": "Help text for the power field of the VTX tab" + }, + "vtxPitMode": { + "message": "Pit Mode", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxPitModeHelp": { + "message": "When enabled, the VTX enters in a very low power mode to let the quad be on at the bench without disturbing other pilots. Usually the range of this mode is less than 5m.

NOTE: Some protocols, like SmartAudio, can't enable Pit Mode via software after power-up.", + "description": "Help text for the pit mode field of the VTX tab" + }, + "vtxPitModeFrequency": { + "message": "Pit Mode frequency", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxPitModeFrequencyHelp": { + "message": "Frequency at which the Pit Mode changes when enabled.", + "description": "Help text for the pit mode field of the VTX tab" + }, + "vtxLowPowerDisarm": { + "message": "Low Power Disarm", + "description": "Text of one of the fields of the VTX tab" + }, + "vtxLowPowerDisarmHelp": { + "message": "When enabled, the VTX uses the lowest available power when disarmed (except if a failsafe has occurred).", + "description": "Help text for the low power disarm field of the VTX tab" + }, + "vtxLowPowerDisarmOption_0": { + "message": "Off", + "description": "One of the options for the Low Power Disarm mode of the VTX" + }, + "vtxLowPowerDisarmOption_1": { + "message": "On", + "description": "One of the options for the Low Power Disarm mode of the VTX" + }, + "vtxLowPowerDisarmOption_2": { + "message": "On until first arm", + "description": "One of the options for the Low Power Disarm mode of the VTX" + }, + "vtxButtonSave": { + "message": "Save", + "description": "Save button in the VTX tab" + }, + "vtxButtonSaved": { + "message": "Saved", + "description": "Saved action button in the VTX tab" + }, + "vtxButtonRefresh": { + "message": "Refresh", + "description": "Refresh button in the VTX tab" + }, + "vtxSmartAudioUnlocked": { + "message": "{{version}} unlocked", + "description": "Indicates if SA device is unlocked" + }, + "vtxTableNameCol": { + "message": "Name" + }, + "vtxTableChannelRow": { + "message": "Channels" + }, + "vtxTableBandCol": { + "message": "Bands" } } diff --git a/src/css/main.css b/src/css/main.css index c646483b6..d7d5f2bcd 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -830,6 +830,14 @@ li.active .ic_data { background-image: url(../images/icons/cf_icon_data_white.svg); } +.ic_vtx { + background-image: url(../images/icons/cf_icon_vtx_grey.svg); +} + +.ic_vtx:hover { + background-image: url(../images/icons/cf_icon_vtx_white.svg); +} + .ic_cli { background-image: url(../images/icons/cf_icon_cli_grey.svg); } @@ -1710,7 +1718,7 @@ dialog { /* fixing padding for all Tabs*/ .tab-setup, .tab-landing, .tab-adjustments, .tab-auxiliary, .tab-cli, .tab-configuration, .tab-failsafe, .tab-firmware_flasher, - .tab-gps, .tab-help, .tab-led-strip, .tab-logging, .tab-modes, .tab-motors, .tab-pid_tuning, .tab-ports, .tab-receiver, +.tab-gps, .tab-help, .tab-led-strip, .tab-logging, .tab-modes, .tab-motors, .tab-pid_tuning, .tab-ports, .tab-receiver, .tab-vtx, .tab-sensors, .tab-servos, .tab-osd, .tab-power { height: 100%; position: relative; diff --git a/src/css/tabs/vtx.css b/src/css/tabs/vtx.css new file mode 100644 index 000000000..f393ed65e --- /dev/null +++ b/src/css/tabs/vtx.css @@ -0,0 +1,195 @@ +.tab-vtx { + height: 100%; +} + +.tab-vtx .cf_table { + -webkit-border-horizontal-spacing: 1px; +} + +.tab-vtx .require-support { + display: none; +} + +.tab-vtx.supported .require-support { + display: block; +} + +.tab-vtx .require-upgrade { + display: block; +} + +.tab-vtx.supported .require-upgrade { + display: none; +} + +.tab-vtx .columnsWrapper { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; +} + +.tab-vtx .columnsWrapper .leftColumn { + width: calc(30%); + min-width: 266px; /* anything smaller will word-wrap mode-descriptions */ +} + +.tab-vtx .columnsWrapper .rightColumn { + flex-shrink: 0; + flex-grow: 0; + flex-basis: 60%; + width: calc(60%); + min-width: 540px; /* anything smaller will word-wrap Band Names */ +} + +.tab-vtx .leftWrapper { + float: left; + width: calc(60% - 20px); +} + +.tab-vtx .rightWrapper { + float: left; + width: calc(60%); + max-width: 300px; + margin: 0 0 10px 20px; +} + +.tab-vtx input, .tab-vtx select { + border: 1px solid var(--subtleAccent); + max-width: 100px; + background: var(--boxBackground); + color: var(--defaultText); +} + +.tab-vtx .number input { + width: 55px; + padding-left: 3px; + height: 20px; + line-height: 20px; + text-align: left; + margin-right: 11px; + font-size: 12px; + font-weight: normal; +} + +.tab-vtx .gui_box span { + font-style: normal; + line-height: 19px; + color: var(--mutedtext); + font-size: 11px; +} + +.tab-vtx .spacer_box .field { + margin-bottom: 5px; + clear: left; + /* padding-bottom: 5px; */ /* because swapped to top borders */ + padding-top: 5px; + width: 100%; + float: left; +} + +/* because swapped to top borders */ +.tab-vtx .helpicon { + margin-top: 2px; +} + +/* swap this for top borders */ +/* +.tab-vtx .spacer_box .field:not(:last-child) { + border-bottom: 1px solid var(--subtleAccent); +} +*/ + +.tab-vtx .spacer_box .field:not(:first-child) { + border-top: 1px solid var(--subtleAccent); +} + +.tab-vtx .select_mode .field > span { + margin-right: 10px; + display: inline-block; + min-width: 100px; +} + +.tab-vtx input.one_digit_input { + width: 28px; +} + +.tab-vtx input.frequency_input { + width: 48px; +} + +/* not great but good enough - actually overridden by show/hide */ +.tab-vtx input.frequency_input:disabled { + color: inherit; + background-color: inherit; +} + +.tab-vtx .field_powerlevel_value input, .tab-vtx .field_powerlevel_label input { + width: 53px; +} + +.tab-vtx .field_band_name input { + width: 71px; +} + +.tab-vtx .field_band_letter input { + width: 13px; +} + +.tab-vtx table.outer div.band { + width: auto; + vertical-align: middle; + transform: rotate(-90deg); + -webkit-transform: rotate(-90deg); /* Safari/Chrome */ + -moz-transform: rotate(-90deg); /* Firefox */ + -o-transform: rotate(-90deg); /* Opera */ + -ms-transform: rotate(-90deg); /* IE 9 */ + white-space: nowrap; +} + +.tab-vtx table.outer { + border-style: none !important; + border-collapse: collapse; + width: 100%; + text-align: center; + padding: 5px; +} + +.tab-vtx table.outer td { + padding: 10px 15px 1px 5px; /* top right bottom left */ +} + +.tab-vtx table.inner { + border-width: 1px 1px 1px 1px !important; + border-style: solid; + border-collapse: collapse; + width: 100%; +} + +.tab-vtx table.inner td { /* tr may work, but don't do th { */ + border-width: 1px 1px 1px 1px !important; + border-style: solid !important; + border-collapse: collapse; + padding: 5px; +} + +.tab-vtx .freq { + background: inherit; + color: inherit; + padding: 3px; +} + +.tab-vtx .freq:hover { + background: #00a3e0; + color: white; + font-weight: bold; + padding: 3px; +} + +.tab-vtx .freq.us_moob:hover { + color: orange; +} + +.tab-vtx .freq.us_oob:hover { + color: red; +} diff --git a/src/js/fc.js b/src/js/fc.js index eb3e711c9..bfcde2ceb 100644 --- a/src/js/fc.js +++ b/src/js/fc.js @@ -61,6 +61,7 @@ var KALMAN_FILTER_CONFIG; var ADVANCED_TUNING; var SENSOR_CONFIG; var COPY_PROFILE; +var VTX_CONFIG; var DEFAULT; var FC = { @@ -521,6 +522,15 @@ var FC = { RXFAIL_CONFIG = []; + VTX_CONFIG = { + vtx_type: 0, + vtx_band: 0, + vtx_channel: 1, + vtx_power: 0, + vtx_pit_mode: 0, + vtx_frequency: 0, + }; + DEFAULT = { gyro_lowpass_hz: 100, gyro_lowpass_dyn_min_hz: 150, diff --git a/src/js/gui.js b/src/js/gui.js index 35fb9b0d9..1c750c842 100644 --- a/src/js/gui.js +++ b/src/js/gui.js @@ -43,6 +43,7 @@ var GUI_control = function () { 'receiver', 'sensors', 'servos', + 'vtx' ]; this.defaultAllowedOSDTabsWhenConnected = [ 'setup_osd', diff --git a/src/js/main.js b/src/js/main.js index d42b69615..db7b0b8ae 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -348,6 +348,9 @@ function startProcess() { case 'onboard_logging': TABS.onboard_logging.initialize(content_ready); break; + case 'vtx': + TABS.vtx.initialize(content_ready); + break; case 'cli': TABS.cli.initialize(content_ready, GUI.nwGui); break; @@ -716,7 +719,7 @@ function updateTabList(features) { $('#tabs ul.mode-connected li.tab_power').hide(); } - if (semver.gte(CONFIG.apiVersion, "1.42.0")) { + if (semver.gte(CONFIG.apiVersion, "1.40.0")) { $('#tabs ul.mode-connected li.tab_vtx').show(); } else { $('#tabs ul.mode-connected li.tab_vtx').hide(); diff --git a/src/js/msp/MSPHelper.js b/src/js/msp/MSPHelper.js index 8ad7bc9aa..d89d21bbc 100644 --- a/src/js/msp/MSPHelper.js +++ b/src/js/msp/MSPHelper.js @@ -1528,9 +1528,21 @@ MspHelper.prototype.process_data = function(dataHandler) { break; case MSPCodes.MSP_VTX_CONFIG: + console.log('MSPCodes.MSP_VTX_CONFIG'); + if (semver.gte(CONFIG.apiVersion, "1.40.0")) { //is this gte necessary? + console.log('VTX_config read MSP > 1.40.0'); + VTX_CONFIG.vtx_type = data.readU8(); + VTX_CONFIG.vtx_band = data.readU8(); + VTX_CONFIG.vtx_channel = data.readU8(); + VTX_CONFIG.vtx_power = data.readU8(); + VTX_CONFIG.vtx_pit_mode = data.readU8() !== 0; + VTX_CONFIG.vtx_frequency = data.readU16(); + } + //console.log('exit MSPCodes.MSP_VTX_CONFIG'); break; - case MSPCodes.MSP_SET_VTX_CONFIG: + case MSPCodes.MSP_SET_VTX_CONFIG: //will never set in process_data + console.log("VTX config set"); break; case MSPCodes.MSP_SET_NAME: @@ -2226,6 +2238,25 @@ MspHelper.prototype.crunch = function(code) { .push8(SENSOR_CONFIG.mag_hardware); break; + case MSPCodes.MSP_SET_VTX_CONFIG: + console.log("MSPCodes.MSP_SET_VTX_CONFIG"); + if (semver.gte(CONFIG.apiVersion, "1.40.0")) { //is this gte necessary? + //console.log("%c MSP push: type:"+VTX_CONFIG.vtx_type + // +' band:'+VTX_CONFIG.vtx_band + // +' chan:'+VTX_CONFIG.vtx_channel + // +' pwr:'+VTX_CONFIG.vtx_power + // +' pit:'+VTX_CONFIG.vtx_pit_mode + // +' freq:'+VTX_CONFIG.vtx_frequency, "color: magenta"); + + // two options: encoded BAND/CHANNEL into freq variable -OR- actual frequency + // see firmware msp.c:MSP_SET_VTX_CONFIG (line ~1991) + // cannot send un-encoded band/channel + buffer.push16(VTX_CONFIG.vtx_frequency) + .push8(VTX_CONFIG.vtx_power) + .push8(VTX_CONFIG.vtx_pit_mode ? 1 : 0); + } + break; + case MSPCodes.MSP_SET_NAME: var MSP_BUFFER_SIZE = 64; for (var i = 0; i 0).change(frequencyOrBandChannel); // trigger on toggles + $('input[id="vtx_frequency_channel"]').prop('checked',frequencyOrBandChannel); //current status on load + + //console.log('exit initDisplay()'); +}; // initDisplay + + function populateBandSelect() { + //console.log('enter populateBandSelect()'); + const selectBand = $(".field #vtx_band"); + //selectBand.append(new Option(i18n.getMessage('vtxBand_0'), 0)); //user + for (let i = 1; i <= TABS.vtx.MAX_BAND_VALUES; i++) { + selectBand.append(new Option(i18n.getMessage('vtxBand_X', { + bandName: i + }), i)); + } + //console.log('exit populateBandSelect()'); + }; + + function populateChannelSelect() { + //console.log('enter populateChannelSelect()'); + const selectChannel = $(".field #vtx_channel"); + // const selectedBand = $("#vtx_band").val(); //makes no sense for non-vtxTables + selectChannel.empty(); + //selectChannel.append(new Option(i18n.getMessage('vtxChannel_0'), 0)); //in EmuF, 0 is not possible + for (let i = 1; i <= TABS.vtx.MAX_BAND_CHANNELS_VALUES; i++) { + selectChannel.append(new Option(i18n.getMessage('vtxChannel_X', { + channelName: i + }), i)); + } + //console.log('exit populateChannelSelect()'); + }; + + function populatePowerSelect() { + //console.log('enter populatePowerSelect()'); + const selectPower = $(".field #vtx_power"); + const powerMaxMinValues = getPowerValues(VTX_CONFIG.vtx_type); + for (let i = powerMaxMinValues.min; i <= powerMaxMinValues.max; i++) { + if (i === 0) { + selectPower.append(new Option(i18n.getMessage('vtxPower_0'), 0)); + } else { + selectPower.append(new Option(i18n.getMessage('vtxPower_X', { + powerLevel: i + }), i)); + } + } + //console.log('exit populatePowerSelect()'); + }; + + // Returns the power values min and max depending on the VTX Type + function getPowerValues(vtxType) { + //console.log('enter getPowerValues()'); + let powerMinMax = {}; + switch (vtxType) { + case VtxDeviceTypes.VTXDEV_UNSUPPORTED: + powerMinMax = {}; + break; + case VtxDeviceTypes.VTXDEV_RTC6705: + powerMinMax = { + min: 1, + max: 3 + }; + break; + case VtxDeviceTypes.VTXDEV_SMARTAUDIO: + powerMinMax = { + min: 1, + max: 4 + }; + break; + case VtxDeviceTypes.VTXDEV_TRAMP: + powerMinMax = { + min: 1, + max: 5 + }; + break; + case VtxDeviceTypes.VTXDEV_UNKNOWN: + default: + powerMinMax = { + min: 0, + max: 7 + }; + } + //console.log('exit getPowerValues()'); + return powerMinMax; + }; + + // Save all the values to MSP + function save_vtx() { + //console.log('enter save_vtx()'); + self.updating = true; + dump_html_to_msp(); + + //console.log('save_vtx(): type:'+VTX_CONFIG.vtx_type + // +' band:'+VTX_CONFIG.vtx_band + // +' chan:'+VTX_CONFIG.vtx_channel + // +' pwr:'+VTX_CONFIG.vtx_power + // +' pit:'+VTX_CONFIG.vtx_pit_mode + // +' freq:'+VTX_CONFIG.vtx_frequency); + // Start MSP saving + save_vtx_config(); + + function save_vtx_config() { + //console.log('enter save_vtx_config()'); + MSP.send_message(MSPCodes.MSP_SET_VTX_CONFIG, mspHelper.crunch(MSPCodes.MSP_SET_VTX_CONFIG), false, save_to_eeprom); + //console.log('exit save_vtx_config()'); + }; + + function save_to_eeprom() { + //console.log('enter save_to_eeprom()'); + MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, save_completed); //required to save + //console.log('exit save_to_eeprom()'); + }; + + function save_completed() { + //console.log('enter save_completed()'); + GUI.log(i18n.getMessage('configurationEepromSaved')); + const oldText = $("#save_button").text(); + $("#save_button").html(i18n.getMessage('vtxButtonSaved')); + + let saveTimeout = setTimeout(function() { + $("#save_button").html(oldText); + clearTimeout(saveTimeout); + }, 2000); + + TABS.vtx.initialize(); + + // if pitmode, then wait and refresh again (is 3000ms enough?) + if (VTX_CONFIG.vtx_pit_mode) { + //console.log('pitmode true, pause and refresh again due to slow VTX setting'); + let refreshTimeout = setTimeout(function() { + TABS.vtx.initialize(); + clearTimeout(refreshTimeout); + }, 3000); + } + + //console.log('exit save_completed()'); + }; + //console.log('exit save_vtx()'); + } +}; //TABS.vtx.initialize + +//modified for EmuF +function dump_html_to_msp() { + //console.log('enter dump_html_to_msp()'); + // General config + const frequencyEnabled = $('input[id="vtx_frequency_channel"]').prop('checked'); + //console.log('%c manual freq toggle is: '+frequencyEnabled, "color: magenta"); + if (frequencyEnabled) { //user freq + VTX_CONFIG.vtx_frequency = parseInt( $("#vtx_frequency").val() ); + VTX_CONFIG.vtx_band = 0; //user + VTX_CONFIG.vtx_channel = 1; //setting this doesn't really do anything, MSP will retain last saved channel + } else { //band/channel + VTX_CONFIG.vtx_band = parseInt( $("#vtx_band").val() ); + VTX_CONFIG.vtx_channel = parseInt( $("#vtx_channel").val() ); + if (semver.gte(CONFIG.apiVersion, "1.40.0")) { //redundant + if (VTX_CONFIG.vtx_band > 0 || VTX_CONFIG.vtx_channel > 0) { + VTX_CONFIG.vtx_frequency = (VTX_CONFIG.vtx_band - 1) * 8 + (VTX_CONFIG.vtx_channel - 1); + //console.log('%c special old ass encoded freq: '+VTX_CONFIG.vtx_frequency, "color: magenta"); + } + } // else some other semver option that does not yet exist + } + + VTX_CONFIG.vtx_power = parseInt($("#vtx_power").val()); + VTX_CONFIG.vtx_pit_mode = $("#vtx_pit_mode").prop('checked'); + // VTX_CONFIG.vtx_low_power_disarm = parseInt($("#vtx_low_power_disarm").val()); //no EmuF MSP + + //console.log('dump_html_to_msp(): bnd'+VTX_CONFIG.vtx_band+'/ch'+VTX_CONFIG.vtx_channel+'/frq'+VTX_CONFIG.vtx_frequency+'/lvl'+VTX_CONFIG.vtx_power+'/pm'+VTX_CONFIG.vtx_pit_mode); + //console.log('exit dump_html_to_msp()'); +}; + +TABS.vtx.cleanup = function(callback) { + //console.log('enter TABS.vtx.cleanup()'); + // Add here things that need to be cleaned or closed before leaving the tab + if (callback) { + callback(); + } + //console.log('exit TABS.vtx.cleanup()'); +}; + +TABS.vtx.refresh = function(callback) { + var self = this; + GUI.tab_switch_cleanup(function() { + self.initialize(); + if (callback) { + callback(); + } + }); +}; diff --git a/src/js/utils/VtxDeviceStatus/Rtc6705DeviceStatus.js b/src/js/utils/VtxDeviceStatus/Rtc6705DeviceStatus.js new file mode 100644 index 000000000..2ae2dd014 --- /dev/null +++ b/src/js/utils/VtxDeviceStatus/Rtc6705DeviceStatus.js @@ -0,0 +1,19 @@ +'use strict'; + +class VtxDeviceStatusRtc6705 extends VtxDeviceStatus { + constructor(dataView) + { + super(dataView); + + dataView.readU8(); // custom device status size + + // Read other Tramp VTX device parameters here + } + + static get staticDeviceStatusType() + { + return VtxDeviceTypes.VTXDEV_RTC6705; + } +} + +vtxDeviceStatusFactory.registerVtxDeviceStatusClass(VtxDeviceStatusRtc6705); diff --git a/src/js/utils/VtxDeviceStatus/SmartAudioDeviceStatus.js b/src/js/utils/VtxDeviceStatus/SmartAudioDeviceStatus.js new file mode 100644 index 000000000..279bbde7c --- /dev/null +++ b/src/js/utils/VtxDeviceStatus/SmartAudioDeviceStatus.js @@ -0,0 +1,49 @@ +'use strict'; + +class VtxDeviceStatusSmartAudio extends VtxDeviceStatus { + constructor(dataView) + { + super(dataView); + + dataView.readU8(); // custom device status size + + this._version = dataView.readU8(); + this._mode = dataView.readU8(); + this._orfreq = dataView.readU16(); + this._willBootIntoPitMode = Boolean(dataView.readU8()); + } + + get smartAudioVersion() + { + const sa = this._version * 100 + this._mode; + let result = ""; + + switch (this._version) { + case 1: + result = "1.0"; + break; + case 2: + result = "2.0"; + break; + case 3: + result = "2.1"; + break; + default: + // unknown SA version + result = i18n.getMessage("vtxType_255"); + } + + if (16 == this._mode) { + result = i18n.getMessage("vtxSmartAudioUnlocked", {"version": result}); + } + + return result; + } + + static get staticDeviceStatusType() + { + return VtxDeviceTypes.VTXDEV_SMARTAUDIO; + } +} + +vtxDeviceStatusFactory.registerVtxDeviceStatusClass(VtxDeviceStatusSmartAudio); diff --git a/src/js/utils/VtxDeviceStatus/TrampDeviceStatus.js b/src/js/utils/VtxDeviceStatus/TrampDeviceStatus.js new file mode 100644 index 000000000..287eec9ca --- /dev/null +++ b/src/js/utils/VtxDeviceStatus/TrampDeviceStatus.js @@ -0,0 +1,19 @@ +'use strict'; + +class VtxDeviceStatusTramp extends VtxDeviceStatus { + constructor(dataView) + { + super(dataView); + + dataView.readU8(); // custom device status size + + // Read other Tramp VTX device parameters here + } + + static get staticDeviceStatusType() + { + return VtxDeviceTypes.VTXDEV_TRAMP; + } +} + +vtxDeviceStatusFactory.registerVtxDeviceStatusClass(VtxDeviceStatusTramp); diff --git a/src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js b/src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js new file mode 100644 index 000000000..015a29b15 --- /dev/null +++ b/src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js @@ -0,0 +1,79 @@ +'use strict'; + +const VtxDeviceTypes = { + VTXDEV_UNSUPPORTED: 0, // reserved for MSP + VTXDEV_RTC6705: 1, + // 2 reserved + VTXDEV_SMARTAUDIO: 3, + VTXDEV_TRAMP: 4, + VTXDEV_UNKNOWN: 0xFF, +}; + +class VtxDeviceStatus +{ + constructor(dataView) + { + this._deviceIsReady = dataView.readU8(); + const bandAndChannelAvailable = Boolean(dataView.readU8()); + this._band = dataView.readU8(); + this._channel = dataView.readU8(); + + if (!bandAndChannelAvailable) { + this._band = undefined; + this._channel = undefined; + } + + const powerIndexAvailable = Boolean(dataView.readU8()); + this._powerIndex = dataView.readU8(); + + if (!powerIndexAvailable) { + this._powerIndex = undefined; + } + + const frequencyAvailable = Boolean(dataView.readU8()); + this._frequency = dataView.readU16(); + + if (!frequencyAvailable) { + this._frequency = undefined; + } + + const vtxStatusAvailable = Boolean(dataView.readU8()); + this._vtxStatus = dataView.readU32(); // pitmode and/or locked + + if (!vtxStatusAvailable) { + this._vtxStatus = undefined; + } + + this._readPowerLevels(dataView); + } + + _readPowerLevels(dataView) + { + this._levels = []; + this._powers = []; + const powerLevelCount = dataView.readU8(); + + for (let i = 0; i < powerLevelCount; i++) + { + this._levels.push(dataView.readU16()); + this._powers.push(dataView.readU16()); + } + } + + get deviceIsReady() + { + return this._deviceIsReady; + } + + // overload this function in subclasses + static get staticDeviceStatusType() + { + return VtxDeviceTypes.VTXDEV_UNKNOWN; + } + + get deviceStatusType() + { + // returns result of overloaded static function "staticDeviceStatusType" + return this.constructor.staticDeviceStatusType; + } +} diff --git a/src/js/utils/VtxDeviceStatus/VtxDeviceStatusFactory.js b/src/js/utils/VtxDeviceStatus/VtxDeviceStatusFactory.js new file mode 100644 index 000000000..acad76b07 --- /dev/null +++ b/src/js/utils/VtxDeviceStatus/VtxDeviceStatusFactory.js @@ -0,0 +1,40 @@ +'use strict'; + +const vtxDeviceStatusFactory = { + _vtxDeviceStatusClasses: [], + + // call this to register a new vtx type like SmartAudio, Tramp or Rtc6705 + registerVtxDeviceStatusClass: function(vtxDeviceStatusClass) + { + this._vtxDeviceStatusClasses.push(vtxDeviceStatusClass); + }, + + createVtxDeviceStatus: function(byteArray) + { + const dataView = new DataView(byteArray.buffer); + + const vtxTypeIndex = dataView.readU8(); + const vtxDeviceStatusClass = this._getDeviceStatusClass(vtxTypeIndex); + + return new vtxDeviceStatusClass(dataView); + }, + + _readVtxType: function(dataView) + { + return dataView.readU8(); + }, + + _getDeviceStatusClass: function(vtxTypeIndex) + { + let result = this._vtxDeviceStatusClasses.find( + (vtxClass) => { + return vtxClass.staticDeviceStatusType === vtxTypeIndex; + }); + + if (typeof result === 'undefined') { + result = VtxDeviceStatus; + } + + return result; + }, +}; diff --git a/src/main.html b/src/main.html index b1001140f..e60b96206 100644 --- a/src/main.html +++ b/src/main.html @@ -165,6 +165,15 @@ + + + + + + + + + @@ -317,6 +326,7 @@
  • +
  • diff --git a/src/tabs/vtx.html b/src/tabs/vtx.html new file mode 100644 index 000000000..723e7d5ae --- /dev/null +++ b/src/tabs/vtx.html @@ -0,0 +1,221 @@ +
    +
    + +
    +
    +
    + +
    +
    +
    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + +
    +
    + + + + +
    +
    + + + + +
    +
    + + + + +
    +
    + + + + +
    +
    + + +
    + + + + +
    +
    +
    +
    + +
    + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    12345678
    158655845582558055785576557455725(A) Boscam A
    257335752577157905809582858475866(B) Boscam B
    357055685566556455885590559255945(E) Boscam E
    457405760578058005820584058605880(F) Fatshark
    556585695573257695806584358805917(R) Raceband
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    From aeacc5f219ea024753619b7796252b3a57c89244 Mon Sep 17 00:00:00 2001 From: nerdCopter <56646290+nerdCopter@users.noreply.github.com> Date: Tue, 12 Jul 2022 11:47:42 -0500 Subject: [PATCH 02/11] connect/flash remains disabled until ports list populated (#458) --- src/js/main.js | 5 +++-- src/js/port_handler.js | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/js/main.js b/src/js/main.js index db7b0b8ae..094abe9f4 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -582,8 +582,9 @@ function startProcess() { DarkTheme.setConfig(typeof result.darkTheme == 'undefined' || result.darkTheme); }); - $('.connect_b a.connect').removeClass('disabled'); - $('.firmware_b a.flash').removeClass('disabled'); + //moved to port_handler.js -- allows disabled until ports list is populated + //$('.connect_b a.connect').removeClass('disabled'); + //$('.firmware_b a.flash').removeClass('disabled'); }; function checkForConfiguratorUpdates() { diff --git a/src/js/port_handler.js b/src/js/port_handler.js index 919977615..98bd65f91 100644 --- a/src/js/port_handler.js +++ b/src/js/port_handler.js @@ -142,6 +142,11 @@ PortHandler.check = function () { self.check_usb_devices(); GUI.updateManualPortVisibility(); + + //moved from main.js + $('.connect_b a.connect').removeClass('disabled'); + $('.firmware_b a.flash').removeClass('disabled'); + setTimeout(function () { self.check(); }, TIMEOUT_CHECK); From 409bbac938cc7db0d18e336e096052165419bc84 Mon Sep 17 00:00:00 2001 From: nerdCopter <56646290+nerdCopter@users.noreply.github.com> Date: Sat, 16 Jul 2022 10:53:40 -0500 Subject: [PATCH 03/11] VTX tab - fix power level offset (#461) * VTX - WIP - very failing, but somewhere worth saving * VTX - WIP - very failing still * VTX - WIP - very failing still; waitng for data(no error) * VTX - WIP - very failing still; no clue--GUI.interval_add('vtx_pull',//self._DEVICE_STATUS_UPDATE_INTERVAL_NAME, * VTX - WIP - very failing still; no clue--ports.js:110 * VTX tab- reads MSP data, but waiting loop; bunch of console.logs * VTX tab- reads MSP data, but waiting loop; bunch of console.logs * VTX tab loads; fails displayInit; needs purge VTX em/messages; need setup vtx.js more like other .js * vtx table farther. uncaught vtx_band:vtx.js:381. Uncaught VTX_DEVICE_STATUS:vtx.js:46 * VTX tab loads; woot working father than before. need local/en/messages purge. need html purge/rewrite. need vtx.js save. need vtx.js cleanup. * VTX tab loads; woot working father than before. need local/en/messages purge. need html purge/rewrite. need vtx.js save. need vtx.js cleanup. need tab-cleanup working. * VTX tab - some locale/en fixes. still need all the prior stuff * VTX tab - more html cleanup. still need all the prior stuff * VTX tab - more html cleanup. still need all the prior stuff * VTX tab - more html/locale/en cleanup. still need all the prior stuff * VTX tab - more html/locale/en cleanup. still need all the prior stuff * VTX tab - cleanup/table. still need all the prior stuff and more * VTX tab - fixed vtx.cleanup. purged vtxtables codes. still needs stuff. needs SAVE and further cleanup of used/unused code. * VTX tab - cleaned some unused code. still needs stuff. needs SAVE/REFRESH and further cleanup of used/unused code. * VTX tab - added set MSP, but save click does nothing. * manual freq toggle * better channel populate; max band 5 * semicolons; vtx_low_power_disarm not supported in MSP :( * locale/en power-on-switch * fixes and debugs and still failing * VTX tab - should save, does not save proper :(( * more debugs * fix var and debugs * fix table ch7 * OMG the fugging old band/channel-->freq encode worksyarn gulp clean ; yarn gulp debug Now need major cleaning and UI simplification * VTX tab - this work better, moved //initDisplay close bracket }, then set input[id="vtx_frequency_channel"] * clickable table (no effect yet); code cleanup; remove animation * fix onload freq tofflee; cleanup css * an easy vtx table * locales/en; css cleanup * css cleanup * vtx tab - pitmode hide/show logic and required css shanges; comment-out other unsused code * vtx tab - add BeeSign type * pitmode pause/refresh again * VTX tab - comment-out console.log ; cleanup * VTX tab - fix some Codacy complaints * VTX tab - fix some Codacy complaints * VTX tab - fix some Codacy complaints * VTX tab - prettier vtx tablez * VTX tab - generically simplify HAM License verbiage * VTX tab - caps VTX * VTX tab - add colored freq (out-of-band and modulates o-o-b); fix Codact Complaints; fix verical transform text blocking freq buttons:hover * VTX tab - fix Codact Complaint * VTX tab - move tab under OSD * VTX tab - fix power level offset --- src/js/tabs/vtx.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/vtx.js b/src/js/tabs/vtx.js index 3e1164d09..752394e41 100644 --- a/src/js/tabs/vtx.js +++ b/src/js/tabs/vtx.js @@ -106,7 +106,7 @@ TABS.vtx.initialize = function(callback) { $("#vtx_frequency").val(VTX_CONFIG.vtx_frequency); $("#vtx_band").val(VTX_CONFIG.vtx_band); $("#vtx_channel").val(VTX_CONFIG.vtx_channel); - $("#vtx_power").val(VTX_CONFIG.vtx_power); + $("#vtx_power").val(VTX_CONFIG.vtx_power+1); $("#vtx_pit_mode").prop('checked', VTX_CONFIG.vtx_pit_mode); if (VTX_CONFIG.vtx_type === VtxDeviceTypes.VTXDEV_TRAMP) { //smart audio does not support. beesign seemingly neither @@ -331,7 +331,7 @@ function dump_html_to_msp() { } // else some other semver option that does not yet exist } - VTX_CONFIG.vtx_power = parseInt($("#vtx_power").val()); + VTX_CONFIG.vtx_power = parseInt($("#vtx_power").val()-1); VTX_CONFIG.vtx_pit_mode = $("#vtx_pit_mode").prop('checked'); // VTX_CONFIG.vtx_low_power_disarm = parseInt($("#vtx_low_power_disarm").val()); //no EmuF MSP From 82ee4c1303a368e2ff5cdea3bfa2be2d287b8c79 Mon Sep 17 00:00:00 2001 From: nerdCopter <56646290+nerdCopter@users.noreply.github.com> Date: Sat, 16 Jul 2022 13:49:24 -0500 Subject: [PATCH 04/11] VTX tab - fix power level offset proper (#462) * VTX tab - handle BeeSign power levels properly * VTX tab - account for Beesign as well --- src/js/tabs/vtx.js | 28 +++++++++++-------- .../utils/VtxDeviceStatus/VtxDeviceStatus.js | 1 + 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/js/tabs/vtx.js b/src/js/tabs/vtx.js index 752394e41..2b0e78106 100644 --- a/src/js/tabs/vtx.js +++ b/src/js/tabs/vtx.js @@ -106,7 +106,7 @@ TABS.vtx.initialize = function(callback) { $("#vtx_frequency").val(VTX_CONFIG.vtx_frequency); $("#vtx_band").val(VTX_CONFIG.vtx_band); $("#vtx_channel").val(VTX_CONFIG.vtx_channel); - $("#vtx_power").val(VTX_CONFIG.vtx_power+1); + $("#vtx_power").val(VTX_CONFIG.vtx_power); $("#vtx_pit_mode").prop('checked', VTX_CONFIG.vtx_pit_mode); if (VTX_CONFIG.vtx_type === VtxDeviceTypes.VTXDEV_TRAMP) { //smart audio does not support. beesign seemingly neither @@ -207,13 +207,13 @@ TABS.vtx.initialize = function(callback) { const selectPower = $(".field #vtx_power"); const powerMaxMinValues = getPowerValues(VTX_CONFIG.vtx_type); for (let i = powerMaxMinValues.min; i <= powerMaxMinValues.max; i++) { - if (i === 0) { - selectPower.append(new Option(i18n.getMessage('vtxPower_0'), 0)); - } else { + //if (i === 0) { + // selectPower.append(new Option(i18n.getMessage('vtxPower_0'), 0)); + //} else { selectPower.append(new Option(i18n.getMessage('vtxPower_X', { powerLevel: i }), i)); - } + //} } //console.log('exit populatePowerSelect()'); }; @@ -228,20 +228,26 @@ TABS.vtx.initialize = function(callback) { break; case VtxDeviceTypes.VTXDEV_RTC6705: powerMinMax = { - min: 1, - max: 3 + min: 0, + max: 2 }; break; case VtxDeviceTypes.VTXDEV_SMARTAUDIO: powerMinMax = { - min: 1, + min: 0, max: 4 }; break; case VtxDeviceTypes.VTXDEV_TRAMP: powerMinMax = { - min: 1, - max: 5 + min: 0, + max: 4 + }; + break; + case VtxDeviceTypes.VTXDEV_BEESIGN: + powerMinMax = { + min: 0, + max: 4 }; break; case VtxDeviceTypes.VTXDEV_UNKNOWN: @@ -331,7 +337,7 @@ function dump_html_to_msp() { } // else some other semver option that does not yet exist } - VTX_CONFIG.vtx_power = parseInt($("#vtx_power").val()-1); + VTX_CONFIG.vtx_power = parseInt($("#vtx_power").val()); VTX_CONFIG.vtx_pit_mode = $("#vtx_pit_mode").prop('checked'); // VTX_CONFIG.vtx_low_power_disarm = parseInt($("#vtx_low_power_disarm").val()); //no EmuF MSP diff --git a/src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js b/src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js index 015a29b15..0808062ed 100644 --- a/src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js +++ b/src/js/utils/VtxDeviceStatus/VtxDeviceStatus.js @@ -6,6 +6,7 @@ const VtxDeviceTypes = { // 2 reserved VTXDEV_SMARTAUDIO: 3, VTXDEV_TRAMP: 4, + VTXDEV_BEESIGN: 5, VTXDEV_UNKNOWN: 0xFF, }; From c2e4d787c6b9c3eaa2c5966a2568813752019d4d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Jul 2022 14:11:08 -0500 Subject: [PATCH 05/11] Bump jbox from 1.3.2 to 1.3.3 (#415) Bumps [jbox](https://github.com/StephanWagner/jBox) from 1.3.2 to 1.3.3. - [Release notes](https://github.com/StephanWagner/jBox/releases) - [Commits](https://github.com/StephanWagner/jBox/compare/v1.3.2...v1.3.3) --- updated-dependencies: - dependency-name: jbox dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 33bbe69c2..d248806b8 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "i18next": "^21.3.1", "i18next-xhr-backend": "^3.2.2", "inflection": "1.12.0", - "jbox": "1.3.2", + "jbox": "1.3.3", "jquery": "3.4.1", "jquery-textcomplete": "^1.8.5", "jquery-ui-npm": "1.12.0", diff --git a/yarn.lock b/yarn.lock index 736d32603..dc6fc0f1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3116,10 +3116,10 @@ iterate-value@^1.0.0: es-get-iterator "^1.0.2" iterate-iterator "^1.0.1" -jbox@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/jbox/-/jbox-1.3.2.tgz#5bceb910002b6e13ce41add9d5f0215589cefc02" - integrity sha512-MPhJ0MVjbCLql9KVkFuHBucOQEsd17+gmiKZdlkkyEnzio3TsMkCGmV75fL78Ef7bFKS5vGg+LgEeDfkQRNiBQ== +jbox@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/jbox/-/jbox-1.3.3.tgz#7bfc5f2c89eb3f4dd5185ce6b56a5f9875d70692" + integrity sha512-aayuZDf4Dc3w/adEdixUetNxJMIbThgt3r9Gfsxh8rWqBBEM3ODKON3YWSwpjgy7BzUHQjIeZ2sdPwV8RSVW6w== dependencies: jquery "^3.6.0" From 145d76fac010ece7c4ef8bc9e0c54cb5da4cdc5b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Jul 2022 14:22:18 -0500 Subject: [PATCH 06/11] Bump engine.io from 4.1.1 to 4.1.2 (#420) Bumps [engine.io](https://github.com/socketio/engine.io) from 4.1.1 to 4.1.2. - [Release notes](https://github.com/socketio/engine.io/releases) - [Changelog](https://github.com/socketio/engine.io/blob/4.1.2/CHANGELOG.md) - [Commits](https://github.com/socketio/engine.io/compare/4.1.1...4.1.2) --- updated-dependencies: - dependency-name: engine.io dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 64 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/yarn.lock b/yarn.lock index dc6fc0f1d..6256bd58d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -89,12 +89,12 @@ integrity sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g== accepts@~1.3.4: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + mime-types "~2.1.34" + negotiator "0.6.3" aggregate-error@^3.0.0: version "3.0.1" @@ -522,7 +522,7 @@ base32-encode@^0.1.0: base64-arraybuffer@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" - integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= + integrity sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg== base64-js@^1.0.2, base64-js@^1.2.3: version "1.3.1" @@ -1113,9 +1113,9 @@ convert-source-map@^1.5.0: safe-buffer "~5.1.1" cookie@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== copy-descriptor@^0.1.0: version "0.1.1" @@ -1258,17 +1258,17 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@4.1.1, debug@^4.1.1: +debug@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" -debug@~4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== +debug@^4.1.1, debug@~4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" @@ -1503,16 +1503,16 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: once "^1.4.0" engine.io-parser@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-4.0.2.tgz#e41d0b3fb66f7bf4a3671d2038a154024edb501e" - integrity sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-4.0.3.tgz#83d3a17acfd4226f19e721bb22a1ee8f7662d2f6" + integrity sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA== dependencies: base64-arraybuffer "0.1.4" engine.io@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-4.1.1.tgz#9a8f8a5ac5a5ea316183c489bf7f5b6cf91ace5b" - integrity sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w== + version "4.1.2" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-4.1.2.tgz#f96ceb56d4b39cc7ca5bd29a20e9c99c1ad1a765" + integrity sha512-t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ== dependencies: accepts "~1.3.4" base64id "2.0.0" @@ -3689,6 +3689,11 @@ mime-db@1.45.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.26" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" @@ -3703,6 +3708,13 @@ mime-types@~2.1.24: dependencies: mime-db "1.45.0" +mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@^2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" @@ -3856,10 +3868,10 @@ ncp@^2.0.0: resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== nested-error-stacks@^1.0.1: version "1.0.2" @@ -3987,7 +3999,7 @@ object-assign@^3.0.0: object-assign@^4, object-assign@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-copy@^0.1.0: version "0.1.0" @@ -5749,7 +5761,7 @@ value-or-function@^3.0.0: vary@^1: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== verror@1.10.0: version "1.10.0" From d7c21caf288b468d0a4ea80889723719b0194cf3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Jul 2022 14:33:03 -0500 Subject: [PATCH 07/11] Bump ajv from 6.12.0 to 6.12.6 (#430) Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.0 to 6.12.6. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.0...v6.12.6) --- updated-dependencies: - dependency-name: ajv dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6256bd58d..addb62018 100644 --- a/yarn.lock +++ b/yarn.lock @@ -105,9 +105,9 @@ aggregate-error@^3.0.0: indent-string "^4.0.0" ajv@^6.5.5: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" - integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1791,9 +1791,9 @@ fancy-log@^1.1.0, fancy-log@^1.3.2: time-stamp "^1.0.0" fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.1.1: version "3.2.4" @@ -5700,9 +5700,9 @@ upper-case@^1.0.3: integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" From 9e2b075d002a5837800824990d00d1131228144a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Jul 2022 14:47:27 -0500 Subject: [PATCH 08/11] Bump follow-redirects from 1.14.1 to 1.15.1 (#452) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.1 to 1.15.1. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.1...v1.15.1) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d248806b8..ec1cddb4f 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "command-exists": "^1.2.9", "del": "^6.0.0", "electron-installer-dmg": "^3.0.0", - "follow-redirects": "^1.14.1", + "follow-redirects": "^1.15.1", "fs-extra": "^9.1.0", "gulp": "^4.0.2", "gulp-concat": "~2.6.1", diff --git a/yarn.lock b/yarn.lock index addb62018..302ec2408 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1962,10 +1962,10 @@ fmix@^0.1.0: dependencies: imul "^1.0.0" -follow-redirects@^1.0.0, follow-redirects@^1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" - integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== +follow-redirects@^1.0.0, follow-redirects@^1.15.1: + version "1.15.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" + integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" From 58fbe279aad6545b6bde2c38c68307d187094db7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Jul 2022 14:59:03 -0500 Subject: [PATCH 09/11] Bump copy-props from 2.0.4 to 2.0.5 (#460) Bumps [copy-props](https://github.com/gulpjs/copy-props) from 2.0.4 to 2.0.5. - [Release notes](https://github.com/gulpjs/copy-props/releases) - [Changelog](https://github.com/gulpjs/copy-props/blob/master/CHANGELOG.md) - [Commits](https://github.com/gulpjs/copy-props/compare/2.0.4...2.0.5) --- updated-dependencies: - dependency-name: copy-props dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index 302ec2408..1962cfddc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -350,7 +350,7 @@ array-differ@^1.0.0: array-each@^1.0.0, array-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" - integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + integrity sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA== array-initial@^1.0.0: version "1.1.0" @@ -1123,12 +1123,12 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-props@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" - integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" + integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== dependencies: - each-props "^1.3.0" - is-plain-object "^2.0.1" + each-props "^1.3.2" + is-plain-object "^5.0.0" core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -1448,7 +1448,7 @@ duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -each-props@^1.3.0: +each-props@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== @@ -1970,12 +1970,12 @@ follow-redirects@^1.0.0, follow-redirects@^1.15.1: for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== for-own@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + integrity sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg== dependencies: for-in "^1.0.1" @@ -2983,6 +2983,11 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-property@^1.0.0, is-property@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -3096,7 +3101,7 @@ isobject@^2.0.0: isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== isstream@~0.1.2: version "0.1.2" @@ -4055,7 +4060,7 @@ object.assign@^4.0.4, object.assign@^4.1.0: object.defaults@^1.0.0, object.defaults@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" - integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + integrity sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA== dependencies: array-each "^1.0.1" array-slice "^1.0.0" From a4ffe2ae7b0c33758e4ba7121ccebe20296fd5a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Jul 2022 15:09:01 -0500 Subject: [PATCH 10/11] Bump plist from 3.0.1 to 3.0.6 (#463) Bumps [plist](https://github.com/TooTallNate/node-plist) from 3.0.1 to 3.0.6. - [Release notes](https://github.com/TooTallNate/node-plist/releases) - [Changelog](https://github.com/TooTallNate/plist.js/blob/master/History.md) - [Commits](https://github.com/TooTallNate/node-plist/commits) --- updated-dependencies: - dependency-name: plist dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1962cfddc..fb8860a53 100644 --- a/yarn.lock +++ b/yarn.lock @@ -524,10 +524,10 @@ base64-arraybuffer@0.1.4: resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" integrity sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg== -base64-js@^1.0.2, base64-js@^1.2.3: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== +base64-js@^1.0.2, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base64id@2.0.0, base64id@~2.0.0: version "2.0.0" @@ -4352,13 +4352,12 @@ pinkie@^2.0.0: integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= plist@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" - integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ== + version "3.0.6" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" + integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== dependencies: - base64-js "^1.2.3" - xmlbuilder "^9.0.7" - xmldom "0.1.x" + base64-js "^1.5.1" + xmlbuilder "^15.1.1" plugin-error@^1.0.1: version "1.0.1" @@ -5965,15 +5964,10 @@ xdg-basedir@^4.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xmlbuilder@^9.0.7: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - -xmldom@0.1.x: - version "0.1.31" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff" - integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ== +xmlbuilder@^15.1.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" From 58d5535353bf163753b785f487d05f72121fa065 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Jul 2022 15:35:27 -0500 Subject: [PATCH 11/11] Bump object-hash from 2.0.3 to 3.0.0 (#435) Bumps [object-hash](https://github.com/puleos/object-hash) from 2.0.3 to 3.0.0. - [Release notes](https://github.com/puleos/object-hash/releases) - [Commits](https://github.com/puleos/object-hash/compare/v2.0.3...v3.0.0) --- updated-dependencies: - dependency-name: object-hash dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ec1cddb4f..98cd7ada4 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "jquery-ui-npm": "1.12.0", "lru_map": "^0.3.3", "marked": "^2.0.7", - "object-hash": "^2.0.3", + "object-hash": "^3.0.0", "request": "^2.88.2", "short-unique-id": "^4.3.3", "tslib": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index fb8860a53..626425456 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4015,10 +4015,10 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-hash@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== object-inspect@^1.7.0: version "1.7.0"