Plugin keeps crashing Homebridge and restarting it.

Starting yesterday, Homebridge started restarting constantly and I wondered what could be going on.
I opened the Config UI X only to find out the XboxTv Plugin was crashing constantly and making Homebridge restart.
 It must be >= 0 and <= 318. Received 38875
    at new NodeError (node:internal/errors:371:5)
    at boundsError (node:internal/buffer:86:9)
    at Buffer.readUInt16BE (node:internal/buffer:332:5)
    at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
    at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
    at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
    at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
    at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
    at Socket.emit (node:events:390:28)
    at UDP.onMessage (node:dgram:939:8)
Already tried to restart the Mac, restart the Xbox, restart the router, reinstall the plugin, reinstall Homebridge, even tried installing it on Windows. Always getting the same "offset" error.
On the other hand, Homebridge-Smartglass works - the problem is that it's not even half as good as this plug in.
Can't figure out on which side the problem is and how to solve it.

Very strange, already tested with XBOX and XBSX and both working correct.
Are you using the plugin previously correct?
What version is installed?
Please enable debug mode in Advanced Section and get the log.

It's indeed strange. I'm pretty sure I did nothing wrong as it just stopped working out of nowhere. I have version 2.0.12, the latest right now.
Here's the debug log (I also enabled Homebridge Debug along with XboxTv's Debug:
`[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, requesting installed apps from your Xbox Live account.
[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, authorized and Web Api enabled.
[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server listening: <IP_ADDRESS>:55569, start discovering.
[1/11/2022, 12:35:43 AM] Homebridge v1.3.9 (HAP v0.9.8) (Homebridge 6FB8) is running on port 51472.
[1/11/2022, 12:35:43 AM] Publishing external accessory (name: TV, publishInfo: {
username: '4B:FA:A6:14:55:AF',
pincode: '--',
category: 31,
port: undefined,
bind: undefined,
mdns: undefined,
addIdentifyingMaterial: true,
advertiser: 'bonjour-hap'
}).
[1/11/2022, 12:35:43 AM] TV 5FA5 is running on port 58366.
[1/11/2022, 12:35:43 AM] Please add [TV 5FA5] manually in Home app. Setup Code: 728-25-127
[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug devInfo: {
manufacturer: 'Microsoft',
modelName: 'Xbox One X',
serialNumber: 'FD005B18A2F0DFE1',
firmwareRevision: '10.0.22000'
}
[1/11/2022, 12:35:43 AM] [XboxTv] prepareTelevisionService
[1/11/2022, 12:35:43 AM] [XboxTv] prepareSpeakerService
[1/11/2022, 12:35:43 AM] [XboxTv] prepareInputsService
[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, read saved Inputs successful, inpits: [
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object]
]
[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, read saved custom Inputs Names successful, names: {}
[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, read saved Target Visibility successful, states {}
[1/11/2022, 12:35:43 AM] [XboxTv] prepareInputsButtonService
[1/11/2022, 12:35:43 AM] [XboxTv] Device: <IP_ADDRESS> undefined, publishExternalAccessories.
[1/11/2022, 12:35:43 AM] Publishing external accessory (name: undefined, publishInfo: {
username: '18:54:9F:DE:26:14',
pincode: '--',
category: 35,
port: undefined,
bind: undefined,
mdns: undefined,
addIdentifyingMaterial: true,
advertiser: 'bonjour-hap'
}).
[1/11/2022, 12:35:43 AM] undefined 87AB is running on port 58367.
[1/11/2022, 12:35:43 AM] Please add [undefined 87AB] manually in Home app. Setup Code: 728-25-127
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug getInstalledAppsData: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object]
]
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, saved inputs/apps list: [
{
"name": "Screensaver",
"titleId": "851275400",
"reference": "Xbox.IdleScreen_8wekyb3d8bbwe!Xbox.IdleScreen.Application",
"oneStoreProductId": "Screensaver",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Dashboard",
"titleId": "750323071",
"reference": "Xbox.Dashboard_8wekyb3d8bbwe!Xbox.Dashboard.Application",
"oneStoreProductId": "Dashboard",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Settings",
"titleId": "1837352387",
"reference": "Microsoft.Xbox.Settings_8wekyb3d8bbwe!Xbox.Settings.Application",
"oneStoreProductId": "Settings",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Television",
"titleId": "371594669",
"reference": "Microsoft.Xbox.LiveTV_8wekyb3d8bbwe!Microsoft.Xbox.LiveTV.Application",
"oneStoreProductId": "Television",
"type": "HDMI",
"contentType": "systemApp"
},
{
"name": "Settings TV",
"titleId": "2019308066",
"reference": "Microsoft.Xbox.TvSettings_8wekyb3d8bbwe!Microsoft.Xbox.TvSettings.Application",
"oneStoreProductId": "SettingsTv",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Accessory",
"titleId": "758407307",
"reference": "Microsoft.XboxDevices_8wekyb3d8bbwe!App",
"oneStoreProductId": "Accessory",
"type": "HOME_SCREEN",
"contentType": "systemApp"
},
{
"name": "Microsoft Store",
"titleId": "1864271209",
"reference": "Microsoft.storify_8wekyb3d8bbwe!App",
"oneStoreProductId": "MicrosoftStore",
"type": "HOME_SCREEN",
"contentType": "systemApp"
},
{
"name": "Asphalt 9: Legends",
"titleId":<PHONE_NUMBER>,
"reference": "A278AB0D.Asphalt9_h6adky7gbf63m!Asphalt9",
"oneStoreProductId": "9NZQPT0MWTD0",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Grand Theft Auto V",
"titleId": 972249091,
"reference": "GTA-V_vesz1v3mcwykm!GTAV",
"oneStoreProductId": "BPJ686W6S0NH",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Just Dance 2018®",
"titleId": 251796387,
"reference": "JD2018EMEA0F021BA3_z1zgv8ff8e49g!JustDance2018Final",
"oneStoreProductId": "BTTV55C2V96T",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Blu-ray Player",
"titleId":<PHONE_NUMBER>,
"reference": "Microsoft.BlurayPlayer_8wekyb3d8bbwe!Xbox.BlurayPlayer.Application",
"oneStoreProductId": "9NBLGGH4VVD4",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Microsoft Edge",
"titleId": 0,
"reference": "Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!MSEDGE",
"oneStoreProductId": null,
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Groove Music",
"titleId": 419416564,
"reference": "Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic",
"oneStoreProductId": "9WZDNCRFJ3PT",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Paladins",
"titleId": 682404126,
"reference": "Paladins_92qpp8rb5ay7p!ChaosGameDingoShipping",
"oneStoreProductId": "C4PZ0V39GXN2",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Sayonara Wild Hearts",
"titleId":<PHONE_NUMBER>,
"reference": "Simogo.SayonaraWildHearts_pkc7z5j7q4hb4!App",
"oneStoreProductId": "9P0L4XR9D8L3",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Spotify | Xbox",
"titleId":<PHONE_NUMBER>,
"reference": "SpotifyAB.SpotifyMusic-forXbox_zpdnekdrzrea0!App",
"oneStoreProductId": "9NFQ49H668TB",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Watch Dogs®: Legion",
"titleId": 84790147,
"reference": "Ubisoft.WatchDogsLegion_ngz4m417e0mpw!Game",
"oneStoreProductId": "C1WRX8ZD77M9",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "NOS TV",
"titleId":<PHONE_NUMBER>,
"reference": "ZONTVCABOPORTUGALSA.NOSTV_252crk24ewvjj!App",
"oneStoreProductId": "9NBLGGH42X62",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Watch Dogs Legion - Brazilian Portuguese Audio Pack",
"titleId": 0,
"reference": null,
"oneStoreProductId": "9MWVLXVJRHVC",
"type": "APPLICATION",
"contentType": "Dlc"
},
{
"name": "Watch Dogs®: Legion Resistance Edition Pack",
"titleId": 0,
"reference": null,
"oneStoreProductId": "9NDP8STWH7CK",
"type": "APPLICATION",
"contentType": "Dlc"
}
]
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, requesting web api storage devices.
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, get Power state successful: OFF
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, get Input successful, input: Screensaver, reference: Xbox.IdleScreen_8wekyb3d8bbwe!Xbox.IdleScreen.Application, product Id: Screensaver
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, get Current Media state successful: STOP
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, get Target Media state successful: STOP
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, get Mute successful: OFF
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, get Volume successful: 0
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug getStorageDevicesData, result: {
status: [Object],
deviceId: 'FD005B18A2F0DFE1',
result: [Array],
agentUserId: null
}
[1/11/2022, 12:35:44 AM] [XboxTv] Device: <IP_ADDRESS> undefined, requesting device info from Web API.
[1/11/2022, 12:35:45 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug getConsoleStatusData, result: {
status: [Object],
id: 'FD005B18A2F0DFE1',
name: 'Alex’s Xbox',
locale: 'en-US',
region: 'US',
consoleType: 'XboxOneX',
powerState: 'On',
playbackState: 'Stopped',
loginState: null,
focusAppAumid: '',
isTvConfigured: true,
digitalAssistantRemoteControlEnabled: true,
consoleStreamingEnabled: true,
remoteManagementEnabled: true
}
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 16 bytes.
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Discovered, send connect request.
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Signing public key: 04a508231df2994e02078b38ab0e9d1e2af4292a09e0f4bae799be1afd23862c643989c3f311fe46640623c7db046b6cbfbb53aa6e4fe5f65a7fb65342a1c0c182
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Crypto output object: [object Object]
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Loading crypto, public key: be413eaa385a32008f7b4c951dee64cd515db1b76c84299a2e8cfa07be140e94a7532a61ef4ade2f661089aadf72292720d74ea249597c3a43a8299a76e355da, and secret: 119a9eda15e79cd219a7969f18f214fa920acbab8721c69e660374653e95c9896447172d7a7587970807e52ca57ac1c98bc35f61d6c83060063c39b9f8fb4ac0
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Connecting using token.
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Emit event type: discovery
[1/11/2022, 12:35:48 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 170 bytes.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 16 bytes.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Discovered, send connect request.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Signing public key: 04a508231df2994e02078b38ab0e9d1e2af4292a09e0f4bae799be1afd23862c643989c3f311fe46640623c7db046b6cbfbb53aa6e4fe5f65a7fb65342a1c0c182
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Crypto output object: [object Object]
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Loading crypto, public key: 26333c11568e6bde40737918e5a54172dfabae7f6f351ef56c4bb876845f226670c2e574a46fd249fb028615e5f691cca0462e6f5e8813cc911b099a1a13b1c2, and secret: 5cee31106cb509bb33d83fa8f13b24203020ddea8c658b2a1629981b193da76e6b40c9e813582cd7bbd02272f8eb78dd9463071a3d62bc356ed112cd7c7b0c5f
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Connecting using token.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Emit event type: discovery
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 170 bytes.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Connect response received.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Request number set to: 1
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Emit event type: connectResponse
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 122 bytes.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Emit event type: acknowledge
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:53 AM] RangeError: The value of "offset" is out of range. It must be >= 0 and <= 254. Received 63589
at new NodeError (node:internal/errors:371:5)
at boundsError (node:internal/buffer:86:9)
at Buffer.readUInt16BE (node:internal/buffer:332:5)
at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
at Socket.emit (node:events:390:28)
at UDP.onMessage (node:dgram:939:8)
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Packet needs to be acknowledged, send acknowledge.
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Request number set to: 2
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, {
liveTvProvider: 0,
majorVersion: 10,
minorVersion: 0,
buildNumber: 22000,
locale: 'en-US',
apps: [Array]
}
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Connected.
[1/11/2022, 12:35:53 AM] [XboxTv] -------- undefined --------
[1/11/2022, 12:35:53 AM] [XboxTv] Manufacturer: Microsoft
[1/11/2022, 12:35:53 AM] [XboxTv] Model: Xbox One X
[1/11/2022, 12:35:53 AM] [XboxTv] Serialnr: FD005B18A2F0DFE1
[1/11/2022, 12:35:53 AM] [XboxTv] Firmware: 10.0.22000
[1/11/2022, 12:35:53 AM] [XboxTv] ----------------------------------
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Status changed, app Id:<PHONE_NUMBER>, reference: Microsoft.Xbox.Settings_8wekyb3d8bbwe!Xbox.Settings.Application
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Status changed, app Id:<PHONE_NUMBER>, reference: Xbox.NetworkTroubleshooter_8wekyb3d8bbwe!Xbox.NetworkTroubleshooter.Application
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Emit event type: status
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 74 bytes.
[1/11/2022, 12:35:53 AM] Got SIGTERM, shutting down Homebridge...
[1/11/2022, 12:35:53 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug writeDevInfo: {
"manufacturer": "Microsoft",
"modelName": "Xbox One X",
"serialNumber": "FD005B18A2F0DFE1",
"firmwareRevision": "10.0.22000"
}
[1/11/2022, 12:35:54 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:54 AM] RangeError: The value of "offset" is out of range. It must be >= 0 and <= 254. Received 63589
at new NodeError (node:internal/errors:371:5)
at boundsError (node:internal/buffer:86:9)
at Buffer.readUInt16BE (node:internal/buffer:332:5)
at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
at Socket.emit (node:events:390:28)
at UDP.onMessage (node:dgram:939:8)
[1/11/2022, 12:35:54 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Start check message timeout, last received was 0 seconds ago.
[1/11/2022, 12:35:54 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:54 AM] RangeError: The value of "offset" is out of range. It must be >= 0 and <= 254. Received 63589
at new NodeError (node:internal/errors:371:5)
at boundsError (node:internal/buffer:86:9)
at Buffer.readUInt16BE (node:internal/buffer:332:5)
at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
at Socket.emit (node:events:390:28)
at UDP.onMessage (node:dgram:939:8)
[1/11/2022, 12:35:55 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:55 AM] RangeError: The value of "offset" is out of range. It must be >= 0 and <= 254. Received 63589
at new NodeError (node:internal/errors:371:5)
at boundsError (node:internal/buffer:86:9)
at Buffer.readUInt16BE (node:internal/buffer:332:5)
at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
at Socket.emit (node:events:390:28)
at UDP.onMessage (node:dgram:939:8)
[1/11/2022, 12:35:55 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Start check message timeout, last received was 0 seconds ago.
[1/11/2022, 12:35:55 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:55 AM] RangeError: The value of "offset" is out of range. It must be >= 0 and <= 254. Received 63589
at new NodeError (node:internal/errors:371:5)
at boundsError (node:internal/buffer:86:9)
at Buffer.readUInt16BE (node:internal/buffer:332:5)
at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
at Socket.emit (node:events:390:28)
at UDP.onMessage (node:dgram:939:8)
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:56 AM] RangeError: The value of "offset" is out of range. It must be >= 0 and <= 254. Received 63589
at new NodeError (node:internal/errors:371:5)
at boundsError (node:internal/buffer:86:9)
at Buffer.readUInt16BE (node:internal/buffer:332:5)
at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
at Socket.emit (node:events:390:28)
at UDP.onMessage (node:dgram:939:8)
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Start check message timeout, last received was 0 seconds ago.
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:56 AM] RangeError: The value of "offset" is out of range. It must be >= 0 and <= 254. Received 63589
at new NodeError (node:internal/errors:371:5)
at boundsError (node:internal/buffer:86:9)
at Buffer.readUInt16BE (node:internal/buffer:332:5)
at STRUCTURE.readUInt16 (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/structure.js:78:34)
at Object.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:127:60)
at MESSAGE.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/message.js:456:74)
at PACKER.unpack (/usr/local/lib/node_modules/homebridge-xbox-tv/src/packet/packer.js:39:31)
at Socket. (/usr/local/lib/node_modules/homebridge-xbox-tv/src/smartglass.js:112:41)
at Socket.emit (node:events:390:28)
at UDP.onMessage (node:dgram:939:8)
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server reveived message from: <IP_ADDRESS>:5050
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Packet needs to be acknowledged, send acknowledge.
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Request number set to: 3
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Emit event type: acknowledge
[1/11/2022, 12:35:56 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 74 bytes.
[1/11/2022, 12:35:57 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Start check message timeout, last received was 0 seconds ago.
[1/11/2022, 12:35:58 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Start check message timeout, last received was 1 seconds ago.
[1/11/2022, 12:35:58 AM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[1/11/2022, 12:36:03 AM] [HB Supervisor] Restarting Homebridge...
[1/11/2022, 12:36:03 AM] [HB Supervisor] Starting Homebridge with extra flags: -I -D
[1/11/2022, 12:36:03 AM] [HB Supervisor] Started Homebridge v1.3.9 with PID: 43315
[1/11/2022, 12:36:04 AM] Loaded config.json with 0 accessories and 3 platforms.
[1/11/2022, 12:36:04 AM] Loaded 0 cached accessories from cachedAccessories.
[1/11/2022, 12:36:04 AM] ---
[1/11/2022, 12:36:05 AM] Loaded plugin<EMAIL_ADDRESS>[1/11/2022, 12:36:05 AM] Registering platform 'homebridge-config-ui-x.config'
[1/11/2022, 12:36:05 AM] ---
[1/11/2022, 12:36:05 AM] Loaded plugin<EMAIL_ADDRESS>[1/11/2022, 12:36:05 AM] Registering platform 'homebridge-samsung-tizen.SamsungTizen'
[1/11/2022, 12:36:05 AM] ---
[1/11/2022, 12:36:05 AM] Loaded plugin<EMAIL_ADDRESS>[1/11/2022, 12:36:05 AM] Registering platform 'homebridge-xbox-tv.XboxTv'
[1/11/2022, 12:36:05 AM] ---
[1/11/2022, 12:36:05 AM] Loading 3 platforms...
[1/11/2022, 12:36:05 AM] [Config] Initializing config platform...
[1/11/2022, 12:36:05 AM] [Config] Running in Service Mode
[1/11/2022, 12:36:05 AM] [SamsungTizen] Initializing SamsungTizen platform...
[1/11/2022, 12:36:05 AM] [XboxTv] Initializing XboxTv platform...
[1/11/2022, 12:36:05 AM] [XboxTv] didFinishLaunching
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, preparing web api.
[1/11/2022, 12:36:05 AM] [XboxTv] prepareAccessory
[1/11/2022, 12:36:05 AM] [XboxTv] prepareInformationService
[1/11/2022, 12:36:05 AM] Publishing bridge accessory (name: Homebridge 6FB8, publishInfo: {
username: '0E:39:8A:D5:6F:B8',
port: 51472,
pincode: '--**',
category: 2,
bind: undefined,
mdns: undefined,
addIdentifyingMaterial: true,
advertiser: 'bonjour-hap'
}).
Setup Payload:
X-HM://0024OAGBRJU5D
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
┌────────────┐
│ 728-25-127 │
└────────────┘

[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, requesting installed apps from your Xbox Live account.
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, authorized and Web Api enabled.
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Server listening: <IP_ADDRESS>:64716, start discovering.
[1/11/2022, 12:36:05 AM] Homebridge v1.3.9 (HAP v0.9.8) (Homebridge 6FB8) is running on port 51472.
[1/11/2022, 12:36:05 AM] Publishing external accessory (name: TV, publishInfo: {
username: '4B:FA:A6:14:55:AF',
pincode: '--',
category: 31,
port: undefined,
bind: undefined,
mdns: undefined,
addIdentifyingMaterial: true,
advertiser: 'bonjour-hap'
}).
[1/11/2022, 12:36:05 AM] TV 5FA5 is running on port 58415.
[1/11/2022, 12:36:05 AM] Please add [TV 5FA5] manually in Home app. Setup Code: 728-25-127
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug devInfo: {
manufacturer: 'Microsoft',
modelName: 'Xbox One X',
serialNumber: 'FD005B18A2F0DFE1',
firmwareRevision: '10.0.22000'
}
[1/11/2022, 12:36:05 AM] [XboxTv] prepareTelevisionService
[1/11/2022, 12:36:05 AM] [XboxTv] prepareSpeakerService
[1/11/2022, 12:36:05 AM] [XboxTv] prepareInputsService
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, read saved Inputs successful, inpits: [
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object]
]
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, read saved custom Inputs Names successful, names: {}
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, read saved Target Visibility successful, states {}
[1/11/2022, 12:36:05 AM] [XboxTv] prepareInputsButtonService
[1/11/2022, 12:36:05 AM] [XboxTv] Device: <IP_ADDRESS> undefined, publishExternalAccessories.
[1/11/2022, 12:36:05 AM] Publishing external accessory (name: undefined, publishInfo: {
username: '18:54:9F:DE:26:14',
pincode: '--**',
category: 35,
port: undefined,
bind: undefined,
mdns: undefined,
addIdentifyingMaterial: true,
advertiser: 'bonjour-hap'
}).
[1/11/2022, 12:36:05 AM] undefined 87AB is running on port 58416.
[1/11/2022, 12:36:05 AM] Please add [undefined 87AB] manually in Home app. Setup Code: 728-25-127
[1/11/2022, 12:36:06 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug getInstalledAppsData: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object]
]
[1/11/2022, 12:36:06 AM] [XboxTv] Device: <IP_ADDRESS> undefined, saved inputs/apps list: [
{
"name": "Screensaver",
"titleId": "851275400",
"reference": "Xbox.IdleScreen_8wekyb3d8bbwe!Xbox.IdleScreen.Application",
"oneStoreProductId": "Screensaver",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Dashboard",
"titleId": "750323071",
"reference": "Xbox.Dashboard_8wekyb3d8bbwe!Xbox.Dashboard.Application",
"oneStoreProductId": "Dashboard",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Settings",
"titleId": "1837352387",
"reference": "Microsoft.Xbox.Settings_8wekyb3d8bbwe!Xbox.Settings.Application",
"oneStoreProductId": "Settings",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Television",
"titleId": "371594669",
"reference": "Microsoft.Xbox.LiveTV_8wekyb3d8bbwe!Microsoft.Xbox.LiveTV.Application",
"oneStoreProductId": "Television",
"type": "HDMI",
"contentType": "systemApp"
},
{
"name": "Settings TV",
"titleId": "2019308066",
"reference": "Microsoft.Xbox.TvSettings_8wekyb3d8bbwe!Microsoft.Xbox.TvSettings.Application",
"oneStoreProductId": "SettingsTv",
"type": "HOME_SCREEN",
"contentType": "Dashboard"
},
{
"name": "Accessory",
"titleId": "758407307",
"reference": "Microsoft.XboxDevices_8wekyb3d8bbwe!App",
"oneStoreProductId": "Accessory",
"type": "HOME_SCREEN",
"contentType": "systemApp"
},
{
"name": "Microsoft Store",
"titleId": "1864271209",
"reference": "Microsoft.storify_8wekyb3d8bbwe!App",
"oneStoreProductId": "MicrosoftStore",
"type": "HOME_SCREEN",
"contentType": "systemApp"
},
{
"name": "Asphalt 9: Legends",
"titleId":<PHONE_NUMBER>,
"reference": "A278AB0D.Asphalt9_h6adky7gbf63m!Asphalt9",
"oneStoreProductId": "9NZQPT0MWTD0",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Grand Theft Auto V",
"titleId": 972249091,
"reference": "GTA-V_vesz1v3mcwykm!GTAV",
"oneStoreProductId": "BPJ686W6S0NH",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Just Dance 2018®",
"titleId": 251796387,
"reference": "JD2018EMEA0F021BA3_z1zgv8ff8e49g!JustDance2018Final",
"oneStoreProductId": "BTTV55C2V96T",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Blu-ray Player",
"titleId":<PHONE_NUMBER>,
"reference": "Microsoft.BlurayPlayer_8wekyb3d8bbwe!Xbox.BlurayPlayer.Application",
"oneStoreProductId": "9NBLGGH4VVD4",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Microsoft Edge",
"titleId": 0,
"reference": "Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!MSEDGE",
"oneStoreProductId": null,
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Groove Music",
"titleId": 419416564,
"reference": "Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic",
"oneStoreProductId": "9WZDNCRFJ3PT",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Paladins",
"titleId": 682404126,
"reference": "Paladins_92qpp8rb5ay7p!ChaosGameDingoShipping",
"oneStoreProductId": "C4PZ0V39GXN2",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Sayonara Wild Hearts",
"titleId":<PHONE_NUMBER>,
"reference": "Simogo.SayonaraWildHearts_pkc7z5j7q4hb4!App",
"oneStoreProductId": "9P0L4XR9D8L3",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "Spotify | Xbox",
"titleId":<PHONE_NUMBER>,
"reference": "SpotifyAB.SpotifyMusic-forXbox_zpdnekdrzrea0!App",
"oneStoreProductId": "9NFQ49H668TB",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Watch Dogs®: Legion",
"titleId": 84790147,
"reference": "Ubisoft.WatchDogsLegion_ngz4m417e0mpw!Game",
"oneStoreProductId": "C1WRX8ZD77M9",
"type": "APPLICATION",
"contentType": "Game"
},
{
"name": "NOS TV",
"titleId":<PHONE_NUMBER>,
"reference": "ZONTVCABOPORTUGALSA.NOSTV_252crk24ewvjj!App",
"oneStoreProductId": "9NBLGGH42X62",
"type": "APPLICATION",
"contentType": "App"
},
{
"name": "Watch Dogs Legion - Brazilian Portuguese Audio Pack",
"titleId": 0,
"reference": null,
"oneStoreProductId": "9MWVLXVJRHVC",
"type": "APPLICATION",
"contentType": "Dlc"
},
{
"name": "Watch Dogs®: Legion Resistance Edition Pack",
"titleId": 0,
"reference": null,
"oneStoreProductId": "9NDP8STWH7CK",
"type": "APPLICATION",
"contentType": "Dlc"
}
]
[1/11/2022, 12:36:06 AM] [XboxTv] Device: <IP_ADDRESS> undefined, requesting web api storage devices.
[1/11/2022, 12:36:06 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug getStorageDevicesData, result: {
status: [Object],
deviceId: 'FD005B18A2F0DFE1',
result: [Array],
agentUserId: null
}
[1/11/2022, 12:36:06 AM] [XboxTv] Device: <IP_ADDRESS> undefined, requesting device info from Web API.
[1/11/2022, 12:36:07 AM] [XboxTv] Device: <IP_ADDRESS> undefined, debug getConsoleStatusData, result: {
status: [Object],
id: 'FD005B18A2F0DFE1',
name: 'Alex’s Xbox',
locale: 'en-US',
region: 'US',
consoleType: 'XboxOneX',
powerState: 'On',
playbackState: 'Stopped',
loginState: null,
focusAppAumid: '',
isTvConfigured: true,
digitalAssistantRemoteControlEnabled: true,
consoleStreamingEnabled: true,
remoteManagementEnabled: true
}
[1/11/2022, 12:36:10 AM] [XboxTv] Device: <IP_ADDRESS> undefined, Socket send 16 bytes.
[1/11/2022, 12:36:10 AM] [XboxTv] Device: `

Please post Your config, here is something strange

Here's my config:
{
"devices": [
{
"name": "Xbox One",
"host": "<IP_ADDRESS>",
"xboxLiveId": "FD005B18A2F0DFE1",
"xboxWebApiToken": "M.R3_BAY.a405e491-9783-14a5-bf1a-45fc0dfddbdf",
"disableLogInfo": false,
"disableLogDeviceInfo": false,
"enableDebugMode": true,
"webApiControl": true,
"volumeControl": 0,
"switchInfoMenu": false,
"getInputsFromDevice": true,
"filterGames": false,
"filterApps": false,
"filterSystemApps": true,
"filterDlc": true
}
],
"platform": "XboxTv"
}
I already tried the beta. I tried many solutions, even installing Homebridge on another OS. Always the same error.

Please try beta.9

I tried beta.10 as it was the only one available and, well, it isn't crashing Homebridge anymore
It's just that the Xbox isn't showing up to be added in the Home app :(

Are you run as child bridge or normal mode?

Please try b.12

Sorry for the late response.
It didn't crash Homebridge! Until I turned my Xbox on.

This must be something specific on your system enviroment.

Not understanding what it could be. Like one day the Xbox was working the other day it wasn't... 🤷♂
Do you think resetting the Xbox to factory settings or something would help?

Think what a chnges You made before start report this error, do not reset Xbox there have nothing to do.
I want help You but cannot reproduce this. All working fine.

Please try latest beta.

@alexgsm022
I have reproduced this and I think is fixed now, please try 2.0.14-beta.57 and let me know

I also had issues after upgrading.
solved the issue by installing the 2.0.14-beta.57 version
npm install -g<EMAIL_ADDRESS>Linux            | openSUSE Leap (15.3)
Node.js         | v16.13.1
Npm              | v8.3.0
homebridge  | v1.3.9

Can You also test latest beta.65

Can You also test latest beta.65

version 2.0.14-beta.65 worked aswell without problems.
at least not triggering the homebridge restart loop :)

@frossmant  thanks
@alexgsm022  can you confirm that latest beta working on your Side?

2.1.0 released

It seems to be working!
Greatly appreciate all your help and dedication to solving this issue.
Also apologize for my huge delays in replying.
All the best :)

I am still having this same issue today on Homebridge 1.4.1 with Raspberry Pi. Node.js v16.15.1 and xbox-tv 2.2.3. This is on an XBOX Series X and only happens when the XBOX is running, but when it is running it happens multiple times a day.


Document indexing failure to the user

If there is an indexing failure we need to let the CMS user know.
Initial potential options are:

Page level indicator through a literal field with a warning class and the error.
A report. This would mean we would need to store unsuccessful indexes either on the class object directly or through a separate "IndexError" object.

More to come...

Potentially resolved by #48 ?


Increment versions for sqlvirtualmachine releases

Increment package versions for sqlvirtualmachine releases

API change check
API changes are not detected in this pull request.


Implement PlayerChatEvent

This was already implemented
https://github.com/SpongePowered/Sponge/blob/master/src/main/java/org/spongepowered/mod/mixin/event/player/MixinEventPlayerChat.java


Events delay

I develop an application that dials a big list of phone numbers to determine if it available or not. The algorithm is:

Start separate thread for each campaign.
Originate calls on 1 extension which is connected to pjsua softphone with max_calls = 1000. So the softphone can recieve 1000 simultaneous calls. I don’t think this is the best way to make a large number of simultaneous calls, but I didn’t find any other way to originate an outgoing call without extension connected to softphone. Do you have any advice to improve this part?
Monitoring NewState event. When it receives e.ChannelState = 6 the program marks the phone number as available and hangs it up
If during 30 sec there is no NewState event with e.ChannelState = 6 the program marks the phone number as unavailable and hangs it up

The problem is that there is a big delay (15-45 sec) in receiving NewState event after I take up the phone. To test the problem I have run a separate Asterisk.Net application which monitors all Asterisk events, and there is no such delays in any event. The NewState event appears exactly when I take up the phone.
Also I have tried to separate ManagerConnection instances: one for sending actions and one for receiving event. The result was the same.
And also i have tried to run application without a first step. So there was no additional threads. The result was the same too.
Here is my custom log:
12:17:09=> Hangup. SIP/myTrunk-00000168
12:17:09=> Answer. SIP/myTrunk-00000168: XXXXXXXX2 --the actual answer was at 12:16:25
12:17:09=> Hangup. SIP/myTrunk-00000167
12:17:09=> Answer. SIP/myTrunk-00000167: XXXXXXXX1 --the actual answer was at 12:16:30
12:16:46=> Hangup. SIP/108-00000166
12:16:46=> Hangup. SIP/108-00000165
12:16:19=> Call. SIP/108: XXXXXXXX2
12:16:18=> Call. SIP/108: XXXXXXXX1

Hi,
Not sure I understand step 2, seems like sending 1000 calls to a softphone is asking for trouble. If you want to break down your reason a bit more, it might help to understand. I.e. is it some way of putting calls into the system just to monitor their state? If so, there are other options like using a FastAGI maybe to hold the call?
With regards to event delay:

Could you confirm if the delay is present on the wire (i.e. from Asterisk to you, maybe check using wireshark?)
The seperate app, was that using AsterNET too? If so, was that running at the same time as you were placing 1000's of calls?
Could this be blocking in the event queue? AsterNET pushes all it's events out on the same thread. If you block that thread, then you get a delay in pushing the events out to your code. 2 options here.
a. You set the ManagerConnection to use ASync. This will fire off each event on it's own thread! This may be overkill.
b. You put all your events into a queue and then have a separate thread pool which pulls events off the queue.

Let me know how you get on.
Ben

Thank you for your quick response.
About step 2. My task is… I have a database of 10 000 phone numbers and I need to define which number is available and which is not. To do so I originate calls in cycle and then listen NewState event to identify if call is answered (State = 6). And if so I hang up the call. I decided to send all calls to a softphone because I didn’t find any other way to originate the calls without Exten property.
Answers on your question about delay:

It took a while to install and figure out how to use Wireshark. And now, yes – I confirm the problem is not on Astersik site. Asterisk send events exactly on time.
Yes this app uses AsterNet. And one moment – I test only simultaneous 3 calls, not 1000. My goal is about 100-200 simultaneous calls
I’ve already set to true the UseASyncEvents property. And it hasn’t solved the problem. I don’t think I should place events into a queue, because AsterNet have to manage 3 simultaneous calls without any additional workaround. Besides this, I don’t know how exactly to do it with AsterNet -)

Please answer my question. The delay still occurs. I've changed the code following your last answer.
`private void LogIn()
{
if (isLoggedIn) return;
        managerSendAction = new ManagerConnection(server, port, account, password);
        managerSendAction.NewState += manager_NewState;
        managerSendAction.OriginateResponse += manager_OriginateResponse;
        managerSendAction.UseASyncEvents = true;
        managerSendAction.Dial += managerSendAction_Dial;
        managerSendAction.UserEvents += managerSendAction_UserEvents;

        try
        {
            managerSendAction.Login();

            isLoggedIn = true;
        }
        catch (Exception ex)
        {
            isLoggedIn = false;
            managerSendAction.Logoff();
        }
    }

//The algorithm originate calls in the queue (5 at a time)
private void Call(Log LogInstance)
{
LogIn();
        LogEvent("Call. " + dialerChannel + ": " + LogInstance.b_tel_1, null);

        var action = new OriginateAction();
        action.Channel = dialerChannel;
        action.Context = "gen-out";
        action.Exten = LogInstance.b_tel_1;
        action.Priority = "1";
        action.Async = true;
        action.Timeout = 3000;
        action.CallerId = "Keglya Contact";
        action.ActionId = LogInstance.l_asteriskActionId.ToString();

        SendAction(action, 30000, LogInstance);
    }

private void SendAction(ManagerAction action, int timeout, Log LogInstance)
{
try
{
if (timeout > 0)
{
manager.SendAction(action, timeout);
}
else
{
manager.SendAction(action);
}
}
catch (Exception ex)
{
//some work
}
}
void manager_OriginateResponse(object sender, OriginateResponseEvent e)
{
System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(OnOriginateResponse), e);
}
private void OnOriginateResponse(object eventinfo)
{
OriginateResponseEvent e = (OriginateResponseEvent)eventinfo;
//Catch only calls originated by the algorithm
var _logs = Log.Where(l => l.l_asteriskActionId.ToString() == e.ActionId);
        if (_logs.Count() == 0) return;

        var _log = _logs.First();

        _log.l_asteriskUniqueId = e.UniqueId;
        _log.l_asteriskChannelId = e.Channel;

    }

void managerSendAction_Dial(object sender, DialEvent e)
{
System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(OnDial), e);
}
private void OnDial(object eventinfo)
{
DialEvent e = (DialEvent)eventinfo;
	//Catch only calls originated by the algorithm
        var _logs = Log.Where(l => l.l_asteriskUniqueId == e.UniqueId);

        if (_logs.Count() == 0) return;

        var _log = _logs.First();

        if (e.SubEvent == "Begin")
        {
            LogEvent("Dial. " + _log.b_tel_1, null);

            //some work
        }
        else if (e.SubEvent == "End" && e.DialStatus != "ANSWER")
        {
            LogEvent(e.DialStatus + ". " + _log.b_tel_1, null);

            //some work
        }
    }

`
The output is:
12:16:22=> Dial.<PHONE_NUMBER>0
12:16:20=> Dial.<PHONE_NUMBER>3
12:16:15=> Dial.<PHONE_NUMBER>8
12:16:14=> Dial.<PHONE_NUMBER>1
12:16:10=> Dial.<PHONE_NUMBER>0
12:16:03=> Call. Local/1@parking:<PHONE_NUMBER>0
12:16:03=> Call. Local/1@parking:<PHONE_NUMBER>8
12:16:03=> Call. Local/1@parking:<PHONE_NUMBER>3
12:16:03=> Call. Local/1@parking:<PHONE_NUMBER>1
12:16:03=> Call. Local/1@parking:<PHONE_NUMBER>0
There is a 20 sec delay between OriginateResponce event and last dial Event. And there is no any kind of delay in Wireshark.

up

up

up


Capture didExceedMaxLines after doing text layout with constraints

Subsequent operations like debugAssertDoesMeetConstraints() may do layout
operations that alter _textPainter's state.
Fixes https://github.com/flutter/flutter/issues/9372

@abarth

We need a test here to make sure we don't regress.

Added a test of TextOverflow.fade


Relationship with OpenOccupancy.

I want to know the relationship and differnece of this dataset to OpenOccupancy dataset: https://github.com/JeffWang987/OpenOccupancy
I noticed that some authers show up in both papers, and the datasets looks similar.

OpenOccupancy is a benchmark paper which focuses on building the benchmark with human annotations.  SurroundOcc focuses on methods, including both multi-camera  occupancy prediction method and occupancy groundtruth generation method. Our dataset is autolabeled without expensive occupancy annotations.

OpenOccupancy is a benchmark paper which focuses on building the benchmark with human annotations. SurroundOcc focuses on methods, including both multi-camera occupancy prediction method and occupancy groundtruth generation method. Our dataset is autolabeled without expensive occupancy annotations.

OK~ Thanks!


Testing altlantis

Plan Error
parsing atlantis.yaml: yaml: unmarshal errors:
  line 4: field repos not found in type raw.RepoCfg

Plan Error
parsing atlantis.yaml: yaml: unmarshal errors:
  line 7: field enable not found in type raw.Autoplan

Plan Error
parsing atlantis.yaml: yaml: unmarshal errors:
  line 7: field enable not found in type raw.Autoplan

atlantis plan

Plan Error
parsing atlantis.yaml: yaml: unmarshal errors:
  line 7: field enable not found in type raw.Autoplan

Plan Error
parsing atlantis.yaml: repo config not allowed to set 'workflow' key: server-side config needs 'allowed_overrides: [workflow]'

atlantis plan

Plan Error
parsing atlantis.yaml: repo config not allowed to set 'workflow' key: server-side config needs 'allowed_overrides: [workflow]'

atlantis plan -w test

Plan Error
repo config not allowed to set 'workflow' key: server-side config needs 'allowed_overrides: [workflow]'

atlantis plan -d test

Plan Error
repo config not allowed to set 'workflow' key: server-side config needs 'allowed_overrides: [workflow]'

Plan Error
parsing atlantis.yaml: repo config not allowed to set 'workflow' key: server-side config needs 'allowed_overrides: [workflow]'

atlantis plan -w test

Plan Error
repo config not allowed to set 'workflow' key: server-side config needs 'allowed_overrides: [workflow]'


net: Moved Filter_chain into IP (fix #1486)

I also removed forward chain (for now). I don't think it should be located in IP but maybe the Router?


use wind.size_range to limit window size

Hi
I've replaced the window size checks with a call to WindowExt::size_range(). It should put automatic lower and upper limits to the size. The zero in the upper limits means no limits.

Thanks, I didn't know about size_range!

Thanks, I didn't know about size_range!


DNA construct has introduced a dependancy on matplotlib

Hi @dr3y ,
Somehow, I missed that during the review but dna_construct explicitly requires matplotlib (and numpy as well) inside the core code. I have removed numpy already in my version to make the core code numpy (and matplotlib) free, now all the dna_constrct test are broken.
Can you remove matplotlib or put inside a plotting related function asap? Many thanks!

hi i just submitted a pr #149 to addres this

resolved in PR #149


chore(deps): update common-dev-assets digest to c599901

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
f1d2dcd -> c599901

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.0.3 :tada:
The release is available on:

GitHub release
v1.0.3

Your semantic-release bot :package::rocket:


Tickets Availability Checking and Booking Alert

Description
This is a new script that scrapes book my show for the show details from the website based on the details of the show like movie name, city, date, and venue details, and send an email alert when the ticket is available
Fixes #2182

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] I have added the project meta data in the PR template.
[x] I have created the requirements.txt file if needed.

Project Metadata
If there is no-file/nothing to fill the below fields with, then type: none
Example: If no requirements.txt needed/present, then type none in Requirments.
Category:

[ ] Calculators
[ ] AI/ML
[x] Scrappers
[ ] Social_Media
[ ] PDF
[ ] Image_Processing
[ ] Video_Processing
[ ] Games
[ ] Networking
[ ] OS_Utilities
[ ] Automation
[ ] Cryptography
[ ] Computer_Vision
[ ] Fun
[ ] Others

Title: MOVIE TICKET BOOKING ALERT AUTOMATION
Folder: Ticket Booking Alert
Requirements:  Python3
Script: ticket-book-alert.py
Arguments: None
Contributor:  DEEKSHACodeaim
Description:Check the website "Book My Show" for the required tickets and sends an alert email when tickets are available. Enter the custom details as required in the '<>' inside the script and run the script

@avinashkranjan, hope you like the idea of my script and merge my PR.

@avinashkranjan, please consider this PR

hey @avinashkranjan there is a github workflow action that needs to be fixed, since I have forked from this repo, Im constantly bugged with this warning everyday - " assign_issues
Unhandled error: TypeError: Cannot read properties of undefined (reading 'number')
assign_issues
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/github-script@v4. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/"
Can you please look into it and fix it?
Thankyou

Hey

hey


alt proposer strat: round robin over distinct body_hash

alternate block proposal strategy, buckets all proposable deploys by body_hash (which collates deploys with identical work payload regardless of timestamp or origin), then round robins across the buckets. the intent is to prevent blocks from being monopolized by procedural / iterative type deploys.
this is off the cuff and lightly tested, feedback welcome.

bors r+


Predict(encode=True) will crash with "'StackedDenoisingAutoEncoder' object has no attribute 'encode'. Did you mean: 'encoder'?"

The fix for this issue is to go to ptsdae/model.py and in the "predict" function at line 296 change "model.encode(batch)" to "model.encoder(batch)". It's just a small typo.

I see the problem, there is a function is dae.py called 'encode' that is used to get the latent features from the input space. In sdae.py, the encoder model itself is used for this (encoder(batch)). So for training, the autoencoder function 'encode' is used in the predict function. If you want the stacked autoencoder to encode the input data, then you would use the 'encoder' model.


Merge from master to fork

Summary of the changes (Less than 80 chars)

Detail 1
Detail 2

Addresses #bugnumber (in this specific format)

asdf

sadf


Training, Testing cleared. But problem in demo

Hello,
I'm trying to train on my own dataset and I have some problems
I trained the model for 3 classes (1 background +2 target classes).
I've done the training and also the testing. It worked fine.
(Mean AP: 0.46. the Mean AP is not fine, I know. I have small dataset)
But it seems to have a problem in the demo.
tensorflow/core/framework/op_kernel.cc:993] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [4096,84] rhs shape= [4096,12]
	 [[Node: save/Assign_1 = Assign[T=DT_FLOAT, _class=["loc:@vgg_16/bbox_pred/weights"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](vgg_16/bbox_pred/weights, save/RestoreV2_1/_3)]]

the lhs shape and rhs shape seems to represent the 21 classes in the original model
and the 3 classes in my dataset.
The fact that I done my testing without errors, it means that I modified my model correctly right?
But I don't get why the demo is causing problems.
Any suggestions..?

you may have to change the demo code L141


Very slow in creating large quadratic objective

I have a program with a quadratic objective which has 157000 nonzero terms.  I'm trying to create it.  I make a list of the monomials, which takes about 2 seconds.  But, after 20 minutes, cp.sum of the list still hasn't finished!  Should it really take that long?

Can you vectorize your problem?

Hi Steven, Yes, I was able to vectorize the problem -- the objective is now
a sum of 5 terms like x^t Q y^T, where x and y are variables and Q is a
numpy array.  This should be a quadratic program.  However, when I try to do
prob.solve(solver='CPLEX') (we have cplex.py and cplex installed), it gives
an error message saying that Problem does not follow DCP rules.  How do I
tell it that it's not a DCP, but I want cplex to solve it (which it can
handle)?
Victor
On Wed, Dec 1, 2021 at 7:51 PM Steven Diamond @.***>
wrote:

Can you vectorize your problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cvxpy/cvxpy/issues/1566#issuecomment-984191777, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHBBJUTNCLB3ZBC43SY2YDUO27IHANCNFSM5JFVEH5Q
.

You need to use cp.quad_form(x, P) instead of x.T @ P @ x.

Steven, Thanks, that worked.
Victor
On Thu, Dec 2, 2021 at 1:50 PM Steven Diamond @.***>
wrote:

You need to use cp.quad_form(x, P) instead of x.T @ P @ x.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cvxpy/cvxpy/issues/1566#issuecomment-984902866, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHBBJQUEXMO6QU2CT6YWHTUO65VRANCNFSM5JFVEH5Q
.


[extractor]How do you create one master template for every new added api?

Hi guys,
I'm trying to follow the example of the video.
When i extract one api i end up with one master template and one parameter template that is not generic. How do you work with it in azure devops? Could somebody share a yaml file of their ci/cd pipeline? I really dont see how you could use one mastere template ro validate/deploy every new api that you add.

Hi again @BenaissaElAissaoui
What are you trying to accomplish in regards to the ci/cd pipeline. Do you want to deploy API's individually or all API's in a "big bang" tied together in a root master template?
And with "... that is not generic". Do you mean that for instance the webservice url is hardcoded in the api template and named values are hardcoded in the named-values template? If that's the case, then that's one of the drawbacks of the current implementation. If not, please elaborate.
I can give you an example of the CI/CD pipeline, I just need to understand your case a bit better first.

From the video that you shared with me earlier, you can see that the setup is one folder pr extracted api. Inside each of those api folders is a master file for that specific api.
For connecting together all the individual api's in one deployable unit:
In the video this is covered fairly quickly, but it's this point where Miao manipulates what he calls a "master template for api management service/instance". If you look at the repository image it's showing a hierarchy of templates. In the video it seems like he only have one root master template binding the API's together (although he only adds one api there in the video).

So it will be something like this, where you have to maintain contoso.apim.master.template.json manually (in the video he is using a vscode snippet so it goes fast, but you can create your own snippet/template for working quicker).
templates
├── conf-api/
├──── <other files for conf-api>
├── foodtrucks-api/
├────── contosoapim-dev-apiVersionSets.template.json
├────── contosoapim-dev-FoodTrucks-initial.api.template.json
├────── contosoapim-dev-FoodTrucks-subsequent.api.template.json
├────── contosoapim-dev-master.template.json # deploy this if you only want to deploy a single api, this is the master template for api foodtruck
├────── contosoapim-dev-parameters.json
├── petstore-api/
├──── <files for petstore-api>
├── contoso.apim.master.template.json # deploys if you want to deploy all api's, you edit this manually
└── contoso.apim.master.parameters.json

contoso.apim.master.template.json will look similar to the template at https://github.com/Azure/azure-api-management-devops-resource-kit/blob/master/example/master.template.json. It's entirely up to your use case if you want to add subscriptions, service sku, products, api's there or not.
Perhaps you'll even want an own template just for gathering the api's contoso.apis.master.template.json (which is then referred to from contoso.apim.master.template.json and links to foodtrucks-api/contosoapim-dev-master.template.json, petstore-api/contosoapim-dev-master.template.json and so forth).
Just remember, that currently you must maintain all the master templates "above" your api in the template hierarchy.
If you already have CI/CD for one API, it's similar for the apim service/instance master template.

In this use case you always redeploy the existing apis or have to remove them from that master template, right?

Well, ARM templates are declarative code, so they will be "redeployed". The deploy will be quicker since it doesn't have to do anything to the ones that are already in the environment. It will just confirm that the existing api's are in the same state as they are described in the ARM template, and will add new ones. If you've made changes directly in the portal without doing the same changes in ARM template, Azure will adjust it to whatever is in the ARM template.
I'm still not sure what your trying to accomplish here. You can set up a pipeline for each individual API or you can deploy them all together in one pipeline. Or you can create deployable units for whatever you define as a bounded context.

What i want to accomplish is a fast way to go from dev to acceptance or production.
Changes may be added in the portal for the ease of use.


pre-import-files hooks not being executed before import-files

Describe the bug
I had set a couple of pre-import-files hooks to download files via ftp, but it looks like they are not being executed.
To Reproduce
Steps to reproduce the behavior:
My hook:
  pre-import-files:
    - exec-host: if [ -d .ddev/mrmilu-files ]; then echo "not creating dir"; else mkdir .ddev/mrmilu-db; fi
    - exec-host: curl --ftp-ssl -k -L -o .ddev/mrmilu-files/develop-files.tgz --user xxx:xxxxxxx  ftp://my-ftp/develop/drupal/develop.tgz

Execution:
 asanz@asanz~: ddev import-files --src=.ddev/mrmilu-files/develop-import.tar.gz --extract-path=src/web/sites/default/files
Failed to import files for drupal: invalid asset: file not found

Expected behavior
It should execute those pre-hooks and then try to import.
Version and configuration information (please complete the following information):

Host: Ubuntu 20.04
Docker version: 19.03.8
Docker compose version 1.25.0
ddev version:

DDEV-Local version      v1.16.5
db                      drud/ddev-dbserver-mariadb-10.2:v1.16.0
dba                     phpmyadmin:5
ddev-ssh-agent          drud/ddev-ssh-agent:v1.16.0
docker                  19.03.8
docker-compose          1.25.0-rc4
os                      linux
router                  drud/ddev-router:v1.16.2
web                     drud/ddev-webserver:v1.16.3

config.yaml

name: mrmilu-drupal
type: php
docroot: src
php_version: "7.4"
webserver_type: nginx-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns:
- mrmilu-drupal.dev.mrmilu.com
mariadb_version: "10.5"
mysql_version: ""
provider: default
project_tld: dev.mrmilu.com
use_dns_when_possible: true
composer_version: ""

hooks:
  pre-import-db:
    - exec-host: if [ -d .ddev/mrmilu-db ]; then echo "not creating dir"; else mkdir .ddev/mrmilu-db; fi
    - exec-host: curl --ftp-ssl -k -L -o .ddev/mrmilu-db/develop-import.sql.gz --user xxx:xxxx  ftp://xxxxx/develop/mrmilu-drupal/develop.sql.gz
  post-import-db:
    - exec: cd src; drush cr
      service: web
  pre-import-files:
    - exec-host: if [ -d .ddev/mrmilu-files ]; then echo "not creating dir"; else mkdir .ddev/mrmilu-db; fi
    - exec-host: curl --ftp-ssl -k -L -o .ddev/mrmilu-files/develop-files.tgz --user xx:xxxxx  ftp://xxxxxx/develop/mrmilu-drupal/develop.tgz

webimage_extra_packages: ["lftp", "curl"]

Do you have any custom configuration (nginx, php, mysql) in the .ddev folder? If so, have you tried without them?

No aditional config on images, they are the default ones.

Let's try starting from a simpler example, because it seems to work fine for me.
Please try this:
hooks:
  pre-import-files:
  - exec-host: echo "pre-import-files is being run"

Here's what I see:
$ ddev import-files --src=.tarballs/d9_files.tgz
Executing pre-import-files hook...
=== Running task: Exec command 'echo "pre-import-files is being run"' on the host (rfay-mbp-2017.local), output below
pre-import-files is being run
Successfully imported files for d9

Let's try starting from a simpler example, because it seems to work fine for me.
Please try this:
hooks:
  pre-import-files:
  - exec-host: echo "pre-import-files is being run"

Here's what I see:
$ ddev import-files --src=.tarballs/d9_files.tgz
Executing pre-import-files hook...
=== Running task: Exec command 'echo "pre-import-files is being run"' on the host (rfay-mbp-2017.local), output below
pre-import-files is being run
Successfully imported files for d9

I changed to the echo command and it seems that I get the same error:
adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=test-file --extract-path=src/web/sites/default/files                 !10627
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Failed to import files for mrmilu-drupal: invalid asset: file not found

adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=test-file                                                            !10628
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Failed to import files for mrmilu-drupal: invalid asset: file not found

I also tried removing target and using a file that exists as --src but same result, quite weird.

I changed to the echo command and it seems that I get the same error:
adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=test-file --extract-path=src/web/sites/default/files                 !10627
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Failed to import files for mrmilu-drupal: invalid asset: file not found

adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=test-file                                                            !10628
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Failed to import files for mrmilu-drupal: invalid asset: file not found

I also tried removing target and using a file that exists as --src but same result, quite weird.

Right, my command isn't going to download anything for you. You'll have to pre-download it for it to work. Start with the simplest thing, which is getting your files tarball down there and seeing if you can do a ddev import-files and see the pre-import-files hook fire. That's what I was trying to demonstrate.

Right, my command isn't going to download anything for you. You'll have to pre-download it for it to work. Start with the simplest thing, which is getting your files tarball down there and seeing if you can do a ddev import-files and see the pre-import-files hook fire. That's what I was trying to demonstrate.

I'll try it tomorrow, just for curiosity, is there any kind of validation pre import files?

I'll try it tomorrow, just for curiosity, is there any kind of validation pre import files?

I don't quite understand your question, but there are tests of that feature. And the test I'm trying to get you to run is also a test of it.

Get a tarball
Import it to make sure you can do that
Add a trivial (echo) pre-import-files hook
Do the import-files again.

Oh, I note looking closely at your output that you don't seem to be importing a tarball. You'll definitely want to be doing that.
So get yourself a tarfile (your develop-files.tgz) and import it with ddev import-files --src=/path/to/develop-files.tgz - that's the first step. Getting a tarball and being able to import it.

I don't quite understand your question, but there are tests of that feature. And the test I'm trying to get you to run is also a test of it.

Get a tarball
Import it to make sure you can do that
Add a trivial (echo) pre-import-files hook
Do the import-files again.

Oh, I note looking closely at your output that you don't seem to be importing a tarball. You'll definitely want to be doing that.
So get yourself a tarfile (your develop-files.tgz) and import it with ddev import-files --src=/path/to/develop-files.tgz - that's the first step. Getting a tarball and being able to import it.

Hello, I tried as you said, and it works (kinda)
adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=/tmp/develop-import.tgz                                              !10086
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Executing pre-import-files hook...
=== Running task: Exec command 'echo "pre-import-files is being run"' on the host (adsanz-mrmilu), output below
pre-import-files is being run
Failed to import files for mrmilu-drupal: this project type (php) does not support import-files

adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=/this-path-is-not-set-up-yet/develop-import.tgz                      !10087
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Failed to import files for mrmilu-drupal: invalid asset: file not found

The first try is the one that "worked" although it looks like is not supported for project set-up as PHP (I run our custom drupal setup).
The second one fails because the files does not exist yet, which is a problem because what if I wan't to download the file on the pre-import-file hook?

Hello, I tried as you said, and it works (kinda)
adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=/tmp/develop-import.tgz                                              !10086
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Executing pre-import-files hook...
=== Running task: Exec command 'echo "pre-import-files is being run"' on the host (adsanz-mrmilu), output below
pre-import-files is being run
Failed to import files for mrmilu-drupal: this project type (php) does not support import-files

adsanz@adsanz-mrmilu ~/disco_sec/development/ddev-d9-2 [master *]
± % ddev import-files --src=/this-path-is-not-set-up-yet/develop-import.tgz                      !10087
not adding command drush (/home/adsanz/disco_sec/development/ddev-d9-2/.ddev/.global_commands/web/drush) because it was already added to project mrmilu-drupal
Failed to import files for mrmilu-drupal: invalid asset: file not found

The first try is the one that "worked" although it looks like is not supported for project set-up as PHP (I run our custom drupal setup).
The second one fails because the files does not exist yet, which is a problem because what if I wan't to download the file on the pre-import-file hook?

As you have discovered, the plain-vanilla "php" project type doesn't know how to place your files. However, import-files is a very trivial operation, so since you want to use the generic "php" type, you can just untar your tarball. tar -zxf /path/to/file.tgz -C web/sites/default/files or something.
You'll probably can't use a pre-import-files hook because you're not going to use a known CMS type. So you may want to use a pre-start hook that checks to see if the files are there, or checks to see if the tarball is there, and then downloads everything and untars it.  The example database import-if-empty in ddev-contrib might be an example for you, https://github.com/drud/ddev-contrib/tree/master/hook-examples/import-db-if-empty

As you have discovered, the plain-vanilla "php" project type doesn't know how to place your files. However, import-files is a very trivial operation, so since you want to use the generic "php" type, you can just untar your tarball. tar -zxf /path/to/file.tgz -C web/sites/default/files or something.
You'll probably can't use a pre-import-files hook because you're not going to use a known CMS type. So you may want to use a pre-start hook that checks to see if the files are there, or checks to see if the tarball is there, and then downloads everything and untars it.  The example database import-if-empty in ddev-contrib might be an example for you, https://github.com/drud/ddev-contrib/tree/master/hook-examples/import-db-if-empty

That's nice to know, however, I cannot add a pre-start hook because it should be something completely optional even if there are no files, instead I added a custom import files command that will download and import files from ftp.
So pre-import-files hook is expected not to work when using the vanilla PHP? if so would be good to have that on the docs

That's nice to know, however, I cannot add a pre-start hook because it should be something completely optional even if there are no files, instead I added a custom import files command that will download and import files from ftp.
So pre-import-files hook is expected not to work when using the vanilla PHP? if so would be good to have that on the docs

You can easily use the drupal project types and just turn off settings management... If you think about it, it's impossible to support importing files to a generic CMS type, because the code could never know where the files belong.  So if using import-files is that important, switch to one of the drupal project types and use disable_settings_management

You can easily use the drupal project types and just turn off settings management... If you think about it, it's impossible to support importing files to a generic CMS type, because the code could never know where the files belong.  So if using import-files is that important, switch to one of the drupal project types and use disable_settings_management

I missed where you said

instead I added a custom import files command that will download and import files from ftp

That's a great solution!
BTW, ftp is obsolete and has been for nearly 20 years, because it sends its credentials plain text. Maybe you're using sftp? Or maybe this is on an internal network? Anyway, if you're using plain ftp, do consider using something better if you have any control of the situation.

I missed where you said

instead I added a custom import files command that will download and import files from ftp

That's a great solution!
BTW, ftp is obsolete and has been for nearly 20 years, because it sends its credentials plain text. Maybe you're using sftp? Or maybe this is on an internal network? Anyway, if you're using plain ftp, do consider using something better if you have any control of the situation.

Closing, but happy to continue the conversation here or elsewhere.

Closing, but happy to continue the conversation here or elsewhere.

I'm using ftp with ssl not plain ftp, so no worries about that, we use it because is quite compatible with every platform and it does not require much hassle on the client side. (Though I'm looking over using S3)
In case someone is on the same situation as I, I'll let my custom download command below so I may help other people
#!/bin/bash

## CUSTOM
## Description: Download and import files
## Usage: import-files-mrm
## Example: "ddev import-files-mrm"

set -e

cd ${DDEV_DOCROOT}

echo "Download dump"
curl --ftp-ssl -k -L -o /tmp/develop-import.tgz --user ${FTP_USER}${FTP_PASS} ftp://${FTP_URL}/develop/mrmilu-drupal/develop.tgz

echo "Import files"
tar -xvzf /tmp/develop-import.tgz -C web/sites/default/files

drush cr -y

rm -fr /tmp/develop-import.tgz

I think I will keep using the custom command since is fairly easy to change and I can extend it if needed and use variables. About changing CMS type to drupal, I actually try it out and it seems to change the workdir to be DDEV_DOCROOT which breaks most of my custom scripts, is there any significant benefit over using vanilla php?

I'm using ftp with ssl not plain ftp, so no worries about that, we use it because is quite compatible with every platform and it does not require much hassle on the client side. (Though I'm looking over using S3)
In case someone is on the same situation as I, I'll let my custom download command below so I may help other people
#!/bin/bash

## CUSTOM
## Description: Download and import files
## Usage: import-files-mrm
## Example: "ddev import-files-mrm"

set -e

cd ${DDEV_DOCROOT}

echo "Download dump"
curl --ftp-ssl -k -L -o /tmp/develop-import.tgz --user ${FTP_USER}${FTP_PASS} ftp://${FTP_URL}/develop/mrmilu-drupal/develop.tgz

echo "Import files"
tar -xvzf /tmp/develop-import.tgz -C web/sites/default/files

drush cr -y

rm -fr /tmp/develop-import.tgz

I think I will keep using the custom command since is fairly easy to change and I can extend it if needed and use variables. About changing CMS type to drupal, I actually try it out and it seems to change the workdir to be DDEV_DOCROOT which breaks most of my custom scripts, is there any significant benefit over using vanilla php?

Your solution is great.
The workdir is customizable in the .ddev/config.yaml.
I guess the significant benefit would be support for import-files :)

Your solution is great.
The workdir is customizable in the .ddev/config.yaml.
I guess the significant benefit would be support for import-files :)


ci: bump golangci-lint to v1.62.2

Issue #, if available:
https://github.com/runfinch/common-tests/pull/190 updates ginkgo third-party dependency which comes with Go 1.22 minimum requirements and requires golangci-lint update.
Description of changes:
This change updates the golangci-lint version to v1.62.2 and resolves all warnings and errors. This is required to unblock https://github.com/runfinch/common-tests/pull/190
*Testing done:
Lint is successful in CI

[x] I've reviewed the guidance in CONTRIBUTING.md

License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pulling this in to unblock dependency updates. Thanks.


Upgrade JSON error responses

This PR upgrades JSON error responses according to the framework spec.
It doesn't yet handle any Node errors that might occur due to e.g. network errors and bugs. These should be caught and sent as status 500 internal error.
Fixes #325.
Notes
It can be a bit hard to actually verify all errors, so try a few and then put in some extra time into reviewing the code.
How to verify

Checkout this branch
Use Postman or another HTTP tool and set the Accept header to application/json
Call the API and try to provoke different errors
Verify that the errors have the same format as in the spec

{
  "status": 400,
  "message": "First Name required."
}

I will look into the failing tests.

The tests are now passing. I had missed that/oauth/token errors should look a little different:

Error responses from the /oauth/token endpoint should pass ONLY the error and message properties.
– Error Handling Spec

There are a few places that you've missed:

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/api-authentication-required.js#L32
https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/api-authentication-required.js#L38
https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/api-authentication-required.js#L44
https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/authentication-required.js#L34
https://github.com/stormpath/express-stormpath/blob/json-errors/lib/controllers/get-token.js#L31
https://github.com/stormpath/express-stormpath/blob/json-errors/lib/controllers/register.js#L260
https://github.com/stormpath/express-stormpath/blob/json-errors/lib/helpers/login-with-oauth-provider.js#L29
https://github.com/stormpath/express-stormpath/blob/json-errors/lib/helpers/xsrf-validator.js#L18

Besides this, the PR is looking good! :)

Thanks @typerandom, that's a few ;) However, the get-token.js should not be changed, see my previous comment about that.

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/api-authentication-required.js#L32

Fixed :+1:

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/api-authentication-required.js#L38

Fixed :+1:

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/api-authentication-required.js#L44

Fixed :+1:

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/middleware/authentication-required.js#L34

Fixed :+1:

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/controllers/get-token.js#L31

Not missed, this is according to the spec (OAuth errors are different).

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/controllers/register.js#L260

I don't know what to do with this one as the Accept type if text/html but the error response is still JSON. And also, it's an array of errors. I don't really want to touch this one as I don't know what I can mess up (I'm the one who added the comment btw).

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/helpers/login-with-oauth-provider.js#L29

Fixed :+1:

https://github.com/stormpath/express-stormpath/blob/json-errors/lib/helpers/xsrf-validator.js#L18

Fixed :+1: (But it seems like this file isn't used at all?)

Besides my latest comment! This looks good now! :)

Looks good!  I addressed the error that should be rendered in the from, as @typerandom mentioned.  I also added a few tests to assert that we are rending the email verification errors correctly.  I rebased against current framework-spec-upgrade branch.

Awesome, thanks @robertjd!


Status are deleted by script

Something I've seen today: after setting a status in Slack, a few minutes later it was removed. I think that it's caused by the script that remove any status even if there is something on it, without checking if it's 'zona' status or another thing.
Possible solution: before checking if someone is in La Zona, get our current status to not reset it in case is not empty but is not 'zona'

I'm gonna change the purpose of this project, so I'm gonna close this issue. :-)


Change Mini Program payload in wechaty

I'm submitting a...
[x] Bug Fix
[ ] Feature
[ ] Other (Refactoring, Added tests, Documentation, ...)

Checklist

[ ] Commit Messages follow the Conventional Commits pattern

A feature commit message is prefixed "feat:"
A bugfix commit message is prefixed "fix:"

[ ] Tests for the changes have been added

Description
please describe the changes that you are making
for features, please describe how to use the new feature
please include a reference to an existing issue, if applicable
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Related PR: https://github.com/wechaty/wechaty-puppet/pull/65

@huan It need to be reviewed, because<EMAIL_ADDRESS>for mini-program has been published, but wechaty can not work right with new wechaty-puppet.


Empty promise array for Promise.all and Promise.any never settle

Passing an empty array for either Promise.all or Promise.any results in a promise that never resolves.
await Promise.all([]).settled # hangs
await Promise.any([]).settled # hangs

Ideally, Promise.all([]) should immediately resolve with an empty value [], and Promise.any([]) should immediately reject with an error requiring at least one promise to be passed.

Good catch, I'll prepare a fix for that tomorrow

Ok, the fix is done. I'll update the Asset Library entry shortly. Closing the issue unless some new issues comes up


Scrolling on the documentation website doesn't work.

When scrolling on the documentation website, any attempt to scroll the page anymore than a few lines results in the page snapping back to the top. Not even manually dragging the scrollbar stops it.
It appears to be something related to the sticky navbar at the top, as the visual distance before it snaps back seems to be inline with the top of the page going past to top of the screen.

@Someoneamzing I can't reproduce this locally on https://www.electronjs.org/docs/latest/. Can you share more information on your OS/web browser? A desktop recording showing a repro might help too.

I have the same Issue on Chrome Version 99.0.4844.51 on Ubuntu 21.10. I've tried on Firefox and it works without problems.
I've found that if I remove the eventListener on document's scroll done by the useTOCHighlight (see the picture) it works on chrome but I've to remove it every time I change a page.

@Gerigot try forking this branch: https://github.com/electron/electronjs.org-new/pull/191
Currently blocked on the V3 migration due to some size limits that the V3 crawler infra has.

@Gerigot try forking this branch: #191
Currently blocked on the V3 migration due to some size limits that the V3 crawler infra has.

Sorry for the late reply I couldn't try before.
I've seen that the forked branch mentioned in your comment has been merged to the main branch and now the scrolling is working also in "production" (website).
I cannot reproduce the bug anymore.

Going to close this issue then!
@Someoneamzing if you are still having this issue please let us know!


Optimise the removal of properties in the Parquet Store

To be done after #1179.
If a user asks for only a subset of properties to be returned in a query we should be able to skip deserialising them. This will only work if those properties are not used in Transforms or Filters.

This will require the pruned Parquet schema being passed into the ReadContext when calling the ElementReadSupport.init() method instead of the full schema.


added ADR for selection of rangeslider [delivers #155911084]

Description
see ADR ;)
Reviewer Notes
Verification Steps

[n/a ] All tests pass.
[n/a ] The requirements listed in Querying the Database Safely have been satisfied.
[n/a ] There are no aXe warnings for UI.
[ n/a] This works in IE.

References

Pivotal story for this change
this article explains more about the approach used.

Approved, modulo formatting differences


WIP: all flakes must die

Signed-off-by: baude<EMAIL_ADDRESS>

/me watches

Example previous reproduction of mount/cgroup problem: https://cirrus-ci.com/task/5354395174699008

/approve
/lgtm


Update sbt-git to 2.0.0

Updates com.typesafe.sbt:sbt-git from 1.0.2 to 2.0.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (1.0.2).
You might want to review and update them manually.
cli/yarn.lock

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.sbt", artifactId = "sbt-git" } ]

labels: sbt-plugin-update, early-semver-major, semver-spec-major, old-version-remains, commit-count:1

Superseded by #71.


Any plans to configure for Scrapy middleware like V1?

I use incapsula cracker alot and its great script, it would be nice to incorporate it into scrapy as a middleware, are there any plans to do so? Please let me know.

Do you use bypass_crack=True flag? it depends..

Hello Johndoe11111, no i am not using bypass_crack=True, just running incapsula-cracker-py3 to generate the session, then getting the url. I am, trying to reverse engineer this to be a scrapy middleware right now, any pointers?

The thing is I don't see how it manages to bypass Incapsula with the bypass_crack=False, since when I try to run it as described in the main page of this repository I get an error that says 'max retries exceeded when attempting to crack incapsula'.
Could you write a small snippet of how you run it?

Excited about this package, but saddened that Scrapy middleware is no longer supported.
What are the challenges to implementing the Scrapy middleware in python 3 as was done in 2.7?
If not, are there any working examples with a parameterized class that emulate calls such as:
scrapy crawl MySpider -a queries="something to search for" -o- -t json

I would very much appreciate having the Scrapy Middleware capability as well!

great work!


Adding more classes

Dear @tersekmatija
Thanks for sharing your work and code. We have tested it with different images and situations and seems robust, giving us the expected results.
I would like to extend the number of classes, to include the boat and buoy.
Is it possible to include these 2 new classes? Which approach do you suggest to follow?
Regards

@trocolit2
Thanks and apologies for a late reply. I somehow missed this issue in my email folder... This is certainly possible.
First, you would have to modify the dataset or provide your own, which has boat and buoy annotated. Alternatively, you can use LaRS (https://lojzezust.github.io/lars-dataset/) dataset. Note that eWaSR is semantic segmentation network, while LaRS provides instance segmentation for buoy and boat. You would have to do some dataset preprocessing to create semantic segmentation masks from instances.
Depending on your dataset format, you might need to support additional data loader here or simply adjust one of the existing ones to make it work for your case.
You should be then able to start the training with --num_classes 5 flag.


Color scheme bland

Yeah so the site looks kinda bland, maybe different colors?
heres a couple ideas
Theme #1
and
Theme #2

What about:
https://www.realtimecolors.com/?colors=fcf9f8-180f0c-6aa3b4-221511-5596aa&fonts=Poppins-Poppins

I like it but for the background it's a little too red.

I think the website is fine as it is. It looks bland because we haven't added anything. I kinda like the minimalistic look using the colors I chose

you only chose those colors because they are the exact same color and design of your main portfolio page

Bruh I forked this site for the portfolio lmao. Look at dates before saying anything. I chose the colors because they looked nice and clean

mhm mhm, "clean"

Do you come to CS forum meetings? Take a vote to see if we should keep it or change it.

I don't currently. I attend Lowery Freshman Center and I am currently a part of the LFC Theatre Production Radium Girls so I have rehersal on wednesdays after school.

@Lunarware-xyz This is a public repo. Please don't include any PII

No, i don't*

Closed the issue cause we don't really need to work on this right now


Introduced WindowedJoinOperatorFeatures classes to solve the problem …

…of code duplication
@ShunxinLu In this PR, I'm trying to minimize code duplication. Please take a look and provide any feedback.

Also, note here that you won't have to duplicate the code that supports session window because KeyedWindowedJoinOperatorImpl now extends  KeyedWindowedOperatorImpl

@davidyan74 I am still digesting the implementation of WindowedJoinOperatorFeatures. But from what I understand it certainly can eliminate most of the duplicate code. Thank you so much for your help!

@davidyan74 Thanks David! Everything looks good to me. Should I merge this PR to my branch and continue to work on it?

@ShunxinLu Yes, please do so. I think the only thing that is missing now is proper unit tests for the join operator.


Provide a way to get the duration that was taken to get a connection

Motivation:
Currently, there's no way to get the duration for getting a connection. If you use HTTP/2,
getting the duration might be useless because, most of the time, you will share just one connection which was established beforehand. (So the duration is very short.) If you use HTTP/1.1, however,
you might need the value due to the nature of HTTP/1.1 which sends just one request at a time. (You need as many connections as you send requests concurrently.)
Modifications:

Make RequestLog extends AttributeMap so that you can easily get the attributes from the log.
Add ClientConnectionTimings and it's builder which has the timing information about a connection attempt. The timings are the start time and duration of:

connectionAcquisition
dnsResolution
socketConnect
pendingAcquisition

Add the timing values to the client request metric.
Miscellaneous

Calculate the length of request and response in DefaultRequestLog to use as the initial value of the StringBuilder for efficiency.
Deprecate TextFormatter.epoch() and TextFormatter.appendEpoch(), add
TextFormatter.epochMillis(), TextFormatter.appendEpochMillis(), TextFormatter.epochMicros() and TextFormatter.appendEpochMicros().

Result:

Close #1678
You can get the timing information about a connection attempt.

@minwoox and I had a discussion about this change via chat:

Because the property added in this PR is a client-side only, we get an unused property from the server-side.
We may end up having more client-side timing properties such as the time took for resolving a domain name and waiting for an existing connection attempt. More properties added to RequestLog, we get more unused properties from the server-side.
Therefore, we'd like to avoid adding a client-specific properties to RequestLog.
Instead, we'd like to make RequestLog implement AttributMap, like RequestContext does to provide additional timing properties related with client-side only.

Great work, @minwoox :+1:


Slow Mobile Version

Skrollr-decks is awesome, but i have a issue, when scrolling in mobile version the performance is not
good, can i do something to solved?
url:
http://el-hangar.com/test/#hangar
Thanks

@uxdann The main problem is too heavy page. Scroll is not very fast feature,  but you have also many videos. My macbook air with core i3 is very slow on this page.


feat: Add support for mapped providers to Fresh plugin

What is this change?
A nice quality of life improvement that allows developers to pass in an object where each key is used to create a dynamic URL for the routes added by following this pattern: /oauth/[PROVIDER_KEY]/.... This makes it simpler to add multiple OAuth2 providers.
What's been changed?

Updated Deno Fresh plugin

Added function override to kvOAuthPlugin function
Added new test step to account for the above

Example
// main.ts
import { start } from "$fresh/server.ts";
import { createGitHubOAuth2Client } from<EMAIL_ADDRESS>import { kvOAuthPlugin } from<EMAIL_ADDRESS>import manifest from "./fresh.gen.ts";

await start(manifest, {
  plugins: [
	kvOAuthPlugin({
		// Generates the following routes:
		// `/oauth/github/signin`
		// `/oauth/github/callback`
		// `/oauth/github/signout`
		github: createGitHubOAuth2Client(),
	}),
  ],
});

Hi @NuroDev, thanks for the PR and sorry for the delay in getting back to you. Before knowing how to proceed with this PR, I had to figure out some things. I will close this PR without merging, as we will soon be moving the Deno KV OAuth Fresh plugin to the Fresh repo itself (see https://github.com/denoland/fresh/issues/1733). I think this PR will be great to submit to the Fresh repo once the plugin migration has happened.
Either way, thank you for the contribution. I like the idea behind this PR. I'll let you know in this feed once the plugin migration has happened.


The ability to add overlays onto the camera

The ability to add overlays for IOS and Android on the CameraView control would be really helpful.

Have you tried putting the camera view inside a Grid and after the camera view you put your 'overlay'? So that your overlay is rendered on top of the camera view? Or do you also want this overlay being merged on to the image when taking a photo? With images this could be implemented fairly easy by merging the overlay on top of your native image (this would be a platform specific implementation), but for video's I'm not sure how feasible that would be.

Do you have a bit more information? What kind of overlays? What should they do? How much flexibility do you want? Do you want overlays to be built-in, specify your own template? Why would you just put the CameraView as a background and then place semi-transparent elements over it to act as an overlay?

I'm not sure how camera view works at the moment. Can you put it as a view inside your page and then put other elements over it?
Overlays are nice for custom buttons (record/flash/change camera).

Camera view is itself a ContentView so you can easily put any view above it using grid,absolute or relative layout.

I'm not sure how camera view works at the moment. Can you put it as a view inside your page and then put other elements over it?
Overlays are nice for custom buttons (record/flash/change camera).

Yes @domagojmedo  Camera view is itself a ContentView so you can easily put any view above it using grid,absolute or relative layout.

I don't really see a need for this issue to remain open then

Right you are, let's close this one unless there are more specific reasons to want another overlay of sorts

@LBally all you need to do is wrap the CameraView in a Grid. Then you can place whatever controls on top of it.


Bug: $1b must be escaped with a backslash

You probably want to disable LaTeX mathematical expressions (aka mathjax) in the settings.


feat: add TenantIdentity / DeviceDetails API

User description
What changes do you are proposing?
add TenantIdentity / DeviceDetails API
How did you test these changes?
manually
Closing issues

Type
enhancement

Description

Added a new API endpoint constant GET_TENANT_IDENTITY_URL for fetching tenant identity by device ID.
Implemented new async functions get_device_details and get_device_details_by_code in data.py to interact with the new API endpoint.
Extended the iec_client.py with methods to fetch device details by device ID and device code, enhancing the client's functionality.
Introduced new models DeviceDetails and DeviceIdentity in device_identity.py to represent the device details data structure, along with a decoder for API response handling.

Changes walkthrough
Relevant filesEnhancement

const.pyAdd Tenant Identity API Endpoint Constant

iec_api/const.py
Added GET_TENANT_IDENTITY_URL constant for the Tenant/Identify API endpoint.

+1/-0

data.pyImplement Device Details Fetching Functions

iec_api/data.py
Imported GET_TENANT_IDENTITY_URL and DeviceDetails model.  Added get_device_details and get_device_details_by_code async functions to fetch device details.

+21/-0

iec_client.pyExtend IEC Client with Device Details Methods

iec_api/iec_client.py
Imported DeviceDetails model.  Added get_device_details_by_device_id and get_device_details_by_device_id_and_code methods to the client.

+30/-0

device_identity.pyDefine Device Identity Models and Decoder

iec_api/models/device_identity.py
Defined DeviceDetails and DeviceIdentity data classes for device identity information.  Implemented decoder for the device identity response.

+55/-0

✨ PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/reflect_and_review

/answer

It seems that the API fetch function isn't one-to-one and may return multiple devices with the same device code
The API returns datetime
Following the first bullet, to get a specific DeviceDetails, need to filter by both device_id and device_code


fix shifting bug

Summary of changes
Fix for #174.  The test added should fail without this change.  The issue is div(-3, 12) (or any negative number greater than -12), will return 0 for the year shift, when it should go back a year.
Checklist

[x] New functions have typespecs, changed functions were updated
[x] Same for documentation, including moduledocs
[x] Tests were added or updated to cover changes
[x] Commits were squashed into a single coherent commit

Coverage decreased (-0.04%) to 70.428% when pulling 5ba667d7e4a850753ef4a783a8be8f25ff646c81 on mitchellhenke:shift-bugs into d2eecbef8387d98a5efcff54020d0b78d47cbe3c on bitwalker:master.

Coverage increased (+0.09%) to 70.558% when pulling efe6a2d60e610e3247d403a29761e38afbd6f2b3 on mitchellhenke:shift-bugs into d2eecbef8387d98a5efcff54020d0b78d47cbe3c on bitwalker:master.

One small fix and I'll get this merged. Thanks for the PR!

updated!

Perfect, thanks!

Coverage decreased (-0.04%) to 70.471% when pulling e550261fcdf673651c51d3e775345883030855b9 on mitchellhenke:shift-bugs into 4dc05662b96f7d90f9cbeba3cadbacbfb7d6fa68 on bitwalker:master.


Improve responsibility delegation

Currently files are handling many different responsibilities but this can be improved by moving responsibilities to new files. This will make development and readability better.

bad issue make it actionable next time


Update table storage parameters.

Addresses product change Jiras:

DOC-4664
DOC-4881

This change is


Simplify WSGI handling

WSGI apps always return iterables according to https://www.python.org/dev/peps/pep-3333/#id23 - sorry for leading you down the wrong path.
I also made some simplifications that you may also be able to use elsewhere and made the regex handling a bit safer.

Thank you.