Add remove_attribute function to Mesh

Objective
When modifying meshes in a system, it is convenient to be able to edit multiple VertexAttributeValues attributes at the same time (e.g modify a vertex, its normal and uv at the same time). Using Mesh::attribute_mut is only possible to get mutable access to one attribute at a time.
One (expensive) solution is to make a copy of the attributes. To avoid the copy (and memory allocation), one could get the attribute, std::mem:swap with an empty Vec, modify it and set it back. Instead of setting attribute to empty vecs, it would be more ergonomic if the vertex attributes could be moved out of the mesh.
Solution
Add a new function Mesh::remove_attribute which removes the data for a vertex attribute, returning its value.

Closed as out of date with main


chore(docs): add doc aliases

Motivation

Closes #833
Solution

Adds dual Tx <> Transaction doc alias bindings as a non-intrusive way to resolve inconsistent naming: https://github.com/alloy-rs/alloy/issues/814#issuecomment-2150796624
Related alloy-core PR: https://github.com/alloy-rs/core/pull/649
PR Checklist

[ ] Added Tests
[x] Added Documentation
[ ] Breaking changes

Good catches and thanks for the fixes! @DaniPopes


Throwing Modbus Error with Rover Elite

Hi Josh--I have installed SolarThing on my Rover Elite with a Raspberry Pi. I had no issues getting set up and accessing real time data using your Rover-Setup program and base.json. Your excellent software and write ups made this about as turn-key as this stuff gets. I had seen some commentary about using the Elite before--it does indeed use the same Modbus protocol, just over 485 with different pinouts.
I moved my project over to the standard Rover base.json, connected to CouchDB. I'm now throwing a repeating ModBus exception, and wanted to share it with you and see if you have any thoughts, is it a different value that the Elite returns as compared to another model Rover? Am I just missing something small in a config file?
Thanks
2021-01-03 23:54:09.214 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57378 didn't have a cached value. 2021-01-03 23:54:09.273 [main] ERROR me.retrodaredevil.solarthing.program.RoverPacketListUpdater - Modbus exception me.retrodaredevil.io.modbus.handling.FunctionCodeException: Expected to get 3 as the function code, but actually got 131 	at me.retrodaredevil.io.modbus.handling.ReadHoldingRegisters.handleResponse(ReadHoldingRegisters.java:62) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.io.modbus.handling.ReadHoldingRegisters.handleResponse(ReadHoldingRegisters.java:13) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.io.modbus.ModbusSlave.sendRequestMessage(ModbusSlave.java:25) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead.get(RoverModbusSlaveRead.java:40) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead.oneRegister(RoverModbusSlaveRead.java:43) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead.getWorkingHoursRaw(RoverModbusSlaveRead.java:377) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.solar.renogy.rover.RoverReadTable.getSensingBundle(RoverReadTable.java:472) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.solar.renogy.rover.RoverStatusPackets.createFromReadTable(RoverStatusPackets.java:46) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.RoverPacketListUpdater.receive(RoverPacketListUpdater.java:44) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.packets.handling.PacketListReceiverMultiplexer.receive(PacketListReceiverMultiplexer.java:21) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.RequestMain.startRequestProgram(RequestMain.java:112) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.RoverMain.lambda$doRover$2(RoverMain.java:83) ~[solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:153) [solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:54) [solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:112) [solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:195) [solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:253) [solarthing-2020.5.1.jar:?] 	at me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:257) [solarthing-2020.5.1.jar:?] 2021-01-03 23:54:09.278 [main] DEBUG me.retrodaredevil.solarthing.program.RequestMain - Going to sleep for 4487ms

That's a weird error, and I don't think it's your fault through any configuration. I believe it's an inconsistency with the Rover Elite versus other Rover models.
I'll do my best to try to create a fix for this and I'll probably end up having you compile SolarThing yourself to try out a new version, or I can compile it for you if you don't think you can do that. It might take some trial and error, but I think after I give you a new version to try a couple of times we can get rid of that error.
I'll probably have a new version for you to try sometime between 20 minutes from now and the next 24 hours. I'm not really sure.

That's a weird error, and I don't think it's your fault through any configuration. I believe it's an inconsistency with the Rover Elite versus other Rover models.
I'll do my best to try to create a fix for this and I'll probably end up having you compile SolarThing yourself to try out a new version, or I can compile it for you if you don't think you can do that. It might take some trial and error, but I think after I give you a new version to try a couple of times we can get rid of that error.
I'll probably have a new version for you to try sometime between 20 minutes from now and the next 24 hours. I'm not really sure.

So I think the reason this was happening is because the Rover Elite doesn't have a load on it. Thank you for reporting this error. I'm surprised it wasn't reported sooner.
Now, I made a change that I think will fix it.  Once you do that, the next time you run it will have the new version with the unreleased changes.
I think my changes will fix your problem, but if they don't, just give me the new error.
Also, I added a debug message that should be printed out when you run SolarThing. It should look like Error code exception message: .... If you could give me that message, that would be helpful to me.
Also if possible, could you copy paste your successful packet that's also debugged. It should look like:
{
            "packetType": "RENOGY_ROVER_STATUS",
......... a bunch of stuff ........

            "loadWorkingModeName": "MANUAL
}

Note the only sensitive information in that packet is the productSerialNumber, so you may want to remove that.
I just want to better understand the data the Rover Elite gives so anything you can give me once you get it working successfully would be helpful to me.

So I think the reason this was happening is because the Rover Elite doesn't have a load on it. Thank you for reporting this error. I'm surprised it wasn't reported sooner.
Now, I made a change that I think will fix it.  Once you do that, the next time you run it will have the new version with the unreleased changes.
I think my changes will fix your problem, but if they don't, just give me the new error.
Also, I added a debug message that should be printed out when you run SolarThing. It should look like Error code exception message: .... If you could give me that message, that would be helpful to me.
Also if possible, could you copy paste your successful packet that's also debugged. It should look like:
{
            "packetType": "RENOGY_ROVER_STATUS",
......... a bunch of stuff ........

            "loadWorkingModeName": "MANUAL
}

Note the only sensitive information in that packet is the productSerialNumber, so you may want to remove that.
I just want to better understand the data the Rover Elite gives so anything you can give me once you get it working successfully would be helpful to me.

Thank you very much for the quick response. I had no issues pulling and compiling/running the new code.
I am still getting a looping error, the error code exception is: 'Expected to get 3 as the function code, but actually got 131. With exception code 2'
Here is the full printout combined with the packet:
2021-01-04 08:56:34.692 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57378 didn't have a cached value. 2021-01-04 08:56:34.750 [main] DEBUG me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead - Error code exception message: Expected to get 3 as the function code, but actually got 131. With exception code 2 2021-01-04 08:56:34.751 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57379 didn't have a cached value. 2021-01-04 08:56:34.809 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57380 didn't have a cached value. 2021-01-04 08:56:34.867 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57381 didn't have a cached value. 2021-01-04 08:56:34.917 [main] DEBUG me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead - Error code exception message: Expected to get 3 as the function code, but actually got 131. With exception code 2 2021-01-04 08:56:34.918 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57382 didn't have a cached value. 2021-01-04 08:56:34.980 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57383 didn't have a cached value. 2021-01-04 08:56:35.039 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57384 didn't have a cached value. 2021-01-04 08:56:35.097 [main] DEBUG me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead - Error code exception message: Expected to get 3 as the function code, but actually got 131. With exception code 2 2021-01-04 08:56:35.098 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57385 didn't have a cached value. 2021-01-04 08:56:35.148 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57386 didn't have a cached value. 2021-01-04 08:56:35.206 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57387 didn't have a cached value. 2021-01-04 08:56:35.261 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57388 didn't have a cached value. 2021-01-04 08:56:35.315 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57389 didn't have a cached value. 2021-01-04 08:56:35.370 [main] DEBUG me.retrodaredevil.solarthing.program.RoverPacketListUpdater - Debugging special power control values: (Will debug all packets later) charging mode controlled by voltage: false 	special power control: disabled 	each night on: disabled 	no charging below 0C: disabled 	charging method: Direct 2021-01-04 08:56:35.371 [main] DEBUG me.retrodaredevil.solarthing.program.RoverPacketListUpdater - took 1124ms to read from Rover 2021-01-04 08:56:35.371 [main] DEBUG me.retrodaredevil.solarthing.program.RequestMain - Debugging all packets 2021-01-04 08:56:35.374 [main] DEBUG me.retrodaredevil.solarthing.program.RequestMain - [ {   "packetType" : "RENOGY_ROVER_STATUS",   "maxVoltage" : 24,   "ratedChargingCurrent" : 20,   "ratedDischargingCurrent" : 20,   "productType" : 0,   "productModelEncoded" : "UkNDMjBSVlJFLUcxICAgIA==",   "softwareVersion" : 0,   "hardwareVersionString" : "V00.00.00",   "productSerialNumber" : 0,   "controllerDeviceAddress" : 1,   "batteryCapacitySOC" : 100,   "batteryVoltage" : 13.8,   "chargingCurrent" : 0.3,   "controllerTemperatureRaw" : 26,   "batteryTemperatureRaw" : 20,   "loadVoltage" : 0.0,   "loadCurrent" : 0.0,   "loadPower" : 0,   "inputVoltage" : 18.5,   "pvCurrent" : 0.21,   "chargingPower" : 4,   "dailyMinBatteryVoltage" : 12.5,   "dailyMaxBatteryVoltage" : 14.3,   "dailyMaxChargingCurrent" : 3.6,   "dailyMaxDischargingCurrent" : 0.0,   "dailyMaxChargingPower" : 40,   "dailyMaxDischargingPower" : 0,   "dailyAH" : 10,   "dailyAHDischarging" : 0,   "dailyKWH" : 0.131,   "dailyKWHConsumption" : 0.0,   "operatingDaysCount" : 7,   "batteryOverDischargesCount" : 0,   "batteryFullChargesCount" : 0,   "chargingAmpHoursOfBatteryCount" : 18,   "dischargingAmpHoursOfBatteryCount" : 0,   "cumulativeKWH" : 0.219,   "cumulativeKWHConsumption" : 0.0,   "streetLightValue" : 0,   "chargingState" : 5,   "errorMode" : 0,   "nominalBatteryCapacity" : 200,   "systemVoltageSetting" : 255,   "recognizedVoltage" : 12,   "batteryType" : 3,   "overVoltageThresholdRaw" : 160,   "chargingVoltageLimitRaw" : 155,   "equalizingChargingVoltageRaw" : 152,   "boostChargingVoltageRaw" : 142,   "floatingChargingVoltageRaw" : 138,   "boostChargingRecoveryVoltageRaw" : 132,   "overDischargeRecoveryVoltageRaw" : 126,   "underVoltageWarningLevelRaw" : 120,   "overDischargeVoltageRaw" : 111,   "dischargingLimitVoltageRaw" : 106,   "endOfChargeSOC" : 100,   "endOfDischargeSOC" : 50,   "overDischargeTimeDelaySeconds" : 5,   "equalizingChargingTimeRaw" : 0,   "boostChargingTimeRaw" : 120,   "equalizingChargingIntervalRaw" : 0,   "temperatureCompensationFactorRaw" : 3,   "operatingStage1" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "operatingStage2" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "operatingStage3" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "operatingMorningOn" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "loadWorkingMode" : 0,   "lightControlDelayMinutes" : 0,   "lightControlVoltage" : 0,   "ledLoadCurrentSettingRaw" : 0,   "specialPowerControlE021Raw" : 0,   "sensed1" : null,   "sensed2" : null,   "sensed3" : null,   "sensingTimeDelayRaw" : null,   "ledLoadCurrentRaw" : null,   "specialPowerControlE02DRaw" : null,   "productModelString" : "RCC20RVRE-G1",   "softwareVersionString" : "V00.00.00",   "hardwareVersion" : 0,   "streetLightBrightness" : 0,   "streetLightOn" : false,   "chargingStateName" : "Float",   "errors" : "",   "batteryTypeName" : "gel",   "loadWorkingModeName" : "LIGHT_CONTROL" }, {   "packetType" : "SOURCE",   "sourceId" : "default" }, {   "packetType" : "FRAGMENT_INDICATOR",   "fragmentId" : 2 } ] 2021-01-04 08:56:35.382 [main] DEBUG me.retrodaredevil.solarthing.program.RequestMain - Going to sleep for 3865ms

Thank you very much for the quick response. I had no issues pulling and compiling/running the new code.
I am still getting a looping error, the error code exception is: 'Expected to get 3 as the function code, but actually got 131. With exception code 2'
Here is the full printout combined with the packet:
2021-01-04 08:56:34.692 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57378 didn't have a cached value. 2021-01-04 08:56:34.750 [main] DEBUG me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead - Error code exception message: Expected to get 3 as the function code, but actually got 131. With exception code 2 2021-01-04 08:56:34.751 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57379 didn't have a cached value. 2021-01-04 08:56:34.809 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57380 didn't have a cached value. 2021-01-04 08:56:34.867 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57381 didn't have a cached value. 2021-01-04 08:56:34.917 [main] DEBUG me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead - Error code exception message: Expected to get 3 as the function code, but actually got 131. With exception code 2 2021-01-04 08:56:34.918 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57382 didn't have a cached value. 2021-01-04 08:56:34.980 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57383 didn't have a cached value. 2021-01-04 08:56:35.039 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57384 didn't have a cached value. 2021-01-04 08:56:35.097 [main] DEBUG me.retrodaredevil.solarthing.solar.renogy.rover.modbus.RoverModbusSlaveRead - Error code exception message: Expected to get 3 as the function code, but actually got 131. With exception code 2 2021-01-04 08:56:35.098 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57385 didn't have a cached value. 2021-01-04 08:56:35.148 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57386 didn't have a cached value. 2021-01-04 08:56:35.206 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57387 didn't have a cached value. 2021-01-04 08:56:35.261 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57388 didn't have a cached value. 2021-01-04 08:56:35.315 [main] DEBUG me.retrodaredevil.solarthing.program.modbus.ModbusCacheSlave - Register: 57389 didn't have a cached value. 2021-01-04 08:56:35.370 [main] DEBUG me.retrodaredevil.solarthing.program.RoverPacketListUpdater - Debugging special power control values: (Will debug all packets later) charging mode controlled by voltage: false 	special power control: disabled 	each night on: disabled 	no charging below 0C: disabled 	charging method: Direct 2021-01-04 08:56:35.371 [main] DEBUG me.retrodaredevil.solarthing.program.RoverPacketListUpdater - took 1124ms to read from Rover 2021-01-04 08:56:35.371 [main] DEBUG me.retrodaredevil.solarthing.program.RequestMain - Debugging all packets 2021-01-04 08:56:35.374 [main] DEBUG me.retrodaredevil.solarthing.program.RequestMain - [ {   "packetType" : "RENOGY_ROVER_STATUS",   "maxVoltage" : 24,   "ratedChargingCurrent" : 20,   "ratedDischargingCurrent" : 20,   "productType" : 0,   "productModelEncoded" : "UkNDMjBSVlJFLUcxICAgIA==",   "softwareVersion" : 0,   "hardwareVersionString" : "V00.00.00",   "productSerialNumber" : 0,   "controllerDeviceAddress" : 1,   "batteryCapacitySOC" : 100,   "batteryVoltage" : 13.8,   "chargingCurrent" : 0.3,   "controllerTemperatureRaw" : 26,   "batteryTemperatureRaw" : 20,   "loadVoltage" : 0.0,   "loadCurrent" : 0.0,   "loadPower" : 0,   "inputVoltage" : 18.5,   "pvCurrent" : 0.21,   "chargingPower" : 4,   "dailyMinBatteryVoltage" : 12.5,   "dailyMaxBatteryVoltage" : 14.3,   "dailyMaxChargingCurrent" : 3.6,   "dailyMaxDischargingCurrent" : 0.0,   "dailyMaxChargingPower" : 40,   "dailyMaxDischargingPower" : 0,   "dailyAH" : 10,   "dailyAHDischarging" : 0,   "dailyKWH" : 0.131,   "dailyKWHConsumption" : 0.0,   "operatingDaysCount" : 7,   "batteryOverDischargesCount" : 0,   "batteryFullChargesCount" : 0,   "chargingAmpHoursOfBatteryCount" : 18,   "dischargingAmpHoursOfBatteryCount" : 0,   "cumulativeKWH" : 0.219,   "cumulativeKWHConsumption" : 0.0,   "streetLightValue" : 0,   "chargingState" : 5,   "errorMode" : 0,   "nominalBatteryCapacity" : 200,   "systemVoltageSetting" : 255,   "recognizedVoltage" : 12,   "batteryType" : 3,   "overVoltageThresholdRaw" : 160,   "chargingVoltageLimitRaw" : 155,   "equalizingChargingVoltageRaw" : 152,   "boostChargingVoltageRaw" : 142,   "floatingChargingVoltageRaw" : 138,   "boostChargingRecoveryVoltageRaw" : 132,   "overDischargeRecoveryVoltageRaw" : 126,   "underVoltageWarningLevelRaw" : 120,   "overDischargeVoltageRaw" : 111,   "dischargingLimitVoltageRaw" : 106,   "endOfChargeSOC" : 100,   "endOfDischargeSOC" : 50,   "overDischargeTimeDelaySeconds" : 5,   "equalizingChargingTimeRaw" : 0,   "boostChargingTimeRaw" : 120,   "equalizingChargingIntervalRaw" : 0,   "temperatureCompensationFactorRaw" : 3,   "operatingStage1" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "operatingStage2" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "operatingStage3" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "operatingMorningOn" : {     "durationHours" : 0,     "operatingPowerPercentage" : 0   },   "loadWorkingMode" : 0,   "lightControlDelayMinutes" : 0,   "lightControlVoltage" : 0,   "ledLoadCurrentSettingRaw" : 0,   "specialPowerControlE021Raw" : 0,   "sensed1" : null,   "sensed2" : null,   "sensed3" : null,   "sensingTimeDelayRaw" : null,   "ledLoadCurrentRaw" : null,   "specialPowerControlE02DRaw" : null,   "productModelString" : "RCC20RVRE-G1",   "softwareVersionString" : "V00.00.00",   "hardwareVersion" : 0,   "streetLightBrightness" : 0,   "streetLightOn" : false,   "chargingStateName" : "Float",   "errors" : "",   "batteryTypeName" : "gel",   "loadWorkingModeName" : "LIGHT_CONTROL" }, {   "packetType" : "SOURCE",   "sourceId" : "default" }, {   "packetType" : "FRAGMENT_INDICATOR",   "fragmentId" : 2 } ] 2021-01-04 08:56:35.382 [main] DEBUG me.retrodaredevil.solarthing.program.RequestMain - Going to sleep for 3865ms

As a side note--it is pushing data to CouchDB without issue.

As a side note--it is pushing data to CouchDB without issue.

Thank you for that information. That error that is being debugged is intentional and I will remove it next commit. You can recompile the code next time I commit if you'd like or you can ignore the error. I was just curious to see what the exception code was. It turns out it's 2. I'll probably create an official release soon, which you can get by pulling, then running ./download_solarthing.sh in the program directory once the new version is released.
So with the output I see, everything should be working fine. If you run into any more problems, feel free to create another issue.

Thank you for that information. That error that is being debugged is intentional and I will remove it next commit. You can recompile the code next time I commit if you'd like or you can ignore the error. I was just curious to see what the exception code was. It turns out it's 2. I'll probably create an official release soon, which you can get by pulling, then running ./download_solarthing.sh in the program directory once the new version is released.
So with the output I see, everything should be working fine. If you run into any more problems, feel free to create another issue.


WIP - MD Tab Update

Description of Changes
this is a fix for some problems that surged from the last pull request, as well add some improvements and upgrades to the class.
Possible fix for #770
Possible fix for #874
Possible fix for #878
Possible fix for #880
This is a big change for the class, it has been proven with every example code provided by the documentation and kitchen sink.
This updates the documentation for the new implemented methods.
Between the fixes there are:

simplified the remove_widget  function from MDTabs
remove_widget  now removes binds created on add_widget for new tabs.
max width of every tabt's title label is set to "360dp"
both kv and python instance creation reviewed. (small differences that affected its behavior on new widgets)
added exception raises if something is not filled correctly or found.
Added more specific Exceptions to allow developers know what exactly went wrong.
Added basic MDCarousel Documentation.
MDTabsBase.text is now deprecated, still has backward compatibility, but the use tab_label_text is now enforced and the use of this property will show a message in the kivy logger.
Fixed reference bug in which, if the tab with the reference was pressed, the selected tab would be missing its state.
Tab_bar now behaves on the content's width.
If the width of the tab's inside is bigger than the scroll view, the tab_bar will be set to scrollable, the padding of the layout will be set to ["52dp", 0] and allow scroll, if the width is lesser or equal to the scrollview width, the scroll then is locked, and the canvas padding is set to [0,0],  ScrollView.do_scroll_x is set to False in this scenario.
Some duplicated code was removed
Some duplicated movements were removed, since some steps were already done by the children widget or by another event.
Fixed some small recursions.

Adds:

tab_label_text namespace will store the raw tab's title label text. Replaces MDTabsBase.text property.
Tabs.switch_to is now more flexible, you can toggle between text, Tab_objects and if it's a string, search by its icon, title or raw text.
Any text parsed to the Title property will be set with upper(). (this is to maintain every tab title clear)
added title_is_capital, if the value is True, it will update the self. Text to be all capitals.

i have done multiple tests with different codes that where available on the issues reports and on the documentations and demos. i believe this changes works and fulfill the normal behavior of any kivyMD and comply with the Material IO standard.
If there's something that needs to be fixed, ill work on it as soon as possible as I can.

I'm waiting response from a collaborator, please don't approve merge yet.

General Comment :
When I run the new code in Kitchen Sink - there is a gap to the left of the first tab that I don't remember being there before. I don't have the time today to do a side-by-side analysis to confirm that. It does not look like a phantom tab because it cannot be selected.

General Comment :
When I run this new tab.py in my existing (released) application without other changes - I get this error message.
Throwing an error on legacy code that was working before could be a significant problem for the existing users of kivyMD.
builtins.ValueError: switch_tab:
name_tab not found in the tab list
search_by = 'text'
name_tab = 'Basic Details'

@runette  Didn't know the labels were so different on Mac OS :)

@runette Didn't know the labels were so different on Mac OS :)

I am using a custom font - mostly to test the most extreme case but also because my app uses the corporate brand font.

That gap is required for scrollable tabs, it's in the specs and it's supposed to be "52dp"
If the width of every children in the container is lessed than the scroll view width, the do_scroll_x is False, and the padding =[0,0], this behavior updates every time the width is updated or a tab is added/removed/updated.

General Comment :
When I run this new tab.py in my existing (released) application without other changes - I get this error message.
Throwing an error on legacy code that was working before could be a significant problem for the existing users of kivyMD.
builtins.ValueError: switch_tab:
name_tab not found in the tab list
search_by = 'text'
name_tab = 'Basic Details'

That was my error, forgot to simplify the text than to use the property name as the default value

General Comment :
When I run the new code in Kitchen Sink - there is a gap to the left of the first tab that I don't remember being there before. I don't have the time today to do a side-by-side analysis to confirm that. It does not look like a phantom tab because it cannot be selected.

its because of this.

So, these are the latest changes, fix some recursion calls by events, and adds what I believe was the last needed feature.
I'll wait until it can be reviewed.
I suggest that we merge this until everyone involved approves this PR.

I have no further technical issues with this PR - it is working for me both in my app an in kitchen garden.
My only remaining concern is the breaking change in the API (i.e. the change in meaning and usaga of allow_stretch).
I will leave that to @HeaTTheatR to decide.

BTW - just a procedural tip that you probably know already - if instead of
"Possible fix for #770"
you had
"fixes #770"
then merging the PR would automatically close the issue.
see https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword

Just tested this again, allow_stretch still won't work without tab_hint_x: True

?


Stops audio recording after a few seconds

Unfortunately the audio recording of the video stops after 5-10 seconds of recording. Tested it multiple times, but can not get it working. The problem occurs no matter what the debug flag is set to. Also tested it with the default screen size of 1024x576.
System: Ubuntu 20.04.2.
Docker version: 19.03.8
My docker-compose setup is the following:
version: "3.5"
services:
  app:
    image: zoomrec:latest
    container_name: zoomrec
    build: .
    restart: unless-stopped
    environment:
      - TZ=Europe/Berlin
      - VNC_PW=test1234
      - VNC_RESOLUTION=1920x1080
      # in order to debug better
      # - DEBUG=True
    volumes:
      - ./recordings:/home/zoomrec/recordings
      - ./example/meetings.csv:/home/zoomrec/meetings.csv:ro
    ports:
      - 5901:5901

@michaguenther I am trying to reproduce your problem, but I did not have this problem before.
Do you also have the error when you start it without docker-compose?

@kastldratza Thank you for trying to reproduce my problem! Unfortunately, I also have the problem with just using docker commands. I also tried pulling directly your image form docker hub but the problem is the same.

@kastldratza I now tested it as well on a different computer. It works on the computer. I do not know why it does not work on my server but it will probably be difficult to fix.

@michaguenther ok nice!
Unfortunately I could not reproduce your problem yet.  But in my research I read in some forums that Pulseaudio interrupts at high CPU load. Could it be that this was the reason?
I will have a closer look at this.


Add RFC-002: CORS and authn for Go

Add an RFC for creating CORS and authentication packages for users of
Connect in Go.

I've added the current maintainers of the various Connect implementations as reviewers.
I'm formally in favor of adding these small quality-of-life packages to the Connect project. Formally approving this RFC requires approval from an additional 5 maintainers (since we have a total of 10). Maintainers, please indicate support or opposition using Github's code review!

Overall, these make sense to me as something to provide as first class support. They are pretty common patterns by most applications. I think having these too will help guide users of Connect on the patterns for implementing more custom things that fall outside of interceptors too.


Added GitHub action for automated testing

Adding machinery for automated testing of the source code

Closing because we will integrate this changes with another PR arriving soon.


Iterating a data structure with foreach compiles but crashes runtime.

Description:
Iterating a data structure with foreach compiles but crashes runtime. Please see the code snippet below.
Steps to reproduce:
$ cat bug-001.bal
public function main() {
    var fooList = [
        ["A", 1],
        ["B", 2]
    ];
    foreach var foo in fooList {}
}
$ make
time -f 'Build time: %e seconds' ballerina build --offline -o build/bug-001.jar bug-001.bal
Compiling source
        bug-001.bal

Generating executables
        build/bug-001.jar
Build time: 9.22 seconds
$ java -jar build/bug-001.jar
ballerina: Oh no, something really went wrong.

The `ballerina-internal.log` file located in the current directory
will indicate what the problem is.
We really appreciate it if you can share with us, the code
that broke Ballerina, together with this log file by creating a
bug report in https://github.com/ballerina-platform/ballerina-lang/issues.

$ cat ballerina-internal.log
[2020-01-06 20:00:35,142] SEVERE {b7a.log.crash} - null
java.lang.NullPointerException
        at org.ballerinalang.jvm.values.ArrayValueImpl.add(ArrayValueImpl.java:388)
        at bug-001.main(bug-001.bal:3)
        at ___init.$lambda$main$(.)
        at org.ballerinalang.jvm.scheduling.SchedulerItem.execute(Scheduler.java:426)
        at org.ballerinalang.jvm.scheduling.Scheduler.run(Scheduler.java:218)
        at org.ballerinalang.jvm.scheduling.Scheduler.runSafely(Scheduler.java:191)
        at org.ballerinalang.jvm.scheduling.Scheduler.start(Scheduler.java:178)
        at ___init.main(.)

[2020-01-06 20:00:35,154] SEVERE {b7a.log.crash} - null
java.lang.NullPointerException
        at org.ballerinalang.jvm.values.ArrayValueImpl.add(ArrayValueImpl.java:388)
        at bug-001.main(bug-001.bal:3)
        at ___init.$lambda$main$(.)
        at org.ballerinalang.jvm.scheduling.SchedulerItem.execute(Scheduler.java:426)
        at org.ballerinalang.jvm.scheduling.Scheduler.run(Scheduler.java:218)
        at org.ballerinalang.jvm.scheduling.Scheduler.runSafely(Scheduler.java:191)
        at org.ballerinalang.jvm.scheduling.Scheduler.start(Scheduler.java:178)
        at ___init.main(.)

Affected Versions:
$ ballerina --version
jBallerina 1.1.0
Language specification 2019R3
Ballerina tool 0.8.0

OS, DB, other environment details and versions:
$ which java
/usr/lib/ballerina/dependencies/jdk8u202-b08-jre/bin/java
$ java -version
openjdk version "1.8.0_202"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_202-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.202-b08, mixed mode)
$ lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:        19.04
Codename:       disco

Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

The workaround (?) is to explicitly define the variable type. The following compiles and runs fine:
public function main() {
    [string, int][] fooList = [
        ["A", 1],
        ["B", 2]
    ];
    foreach var foo in fooList {}
}

Observed the same without the foreach too.
public function main() {
    var fooList = [
        ["A", 1],
        ["B", 2]
    ];
}

An incorrect instruction seems to be generated with the inferred type. The error occurs when trying to create the ["A", 1] array - "A" is attempted to be added to a string[] where it should be added to a string|int[].
Also, the inferred type seems to be ((string|int)[]|(string|int)[])[], but using that specifically results in a compilation error.
public function main() {
    ((string|int)[]|(string|int)[])[] fooList = [
        ["A", 1], // expected '((string|int)[]|(string|int)[])', found 'any[]'
        ["B", 2]  // expected '((string|int)[]|(string|int)[])', found 'any[]'
    ];
}

But using ((string|int)[])[] works.

There's an issue with the inferring logic. ((string|int)[]|(string|int)[])[] is wrong, cause it'll lead to ambiguity. So the logic needs to be fixed to return ((string|int)[])[] instead of the above union array.
PS: This will get fixed on https://github.com/ballerina-platform/ballerina-lang/pull/20564


[Bug] The current page number does not change if total page size is less than the current page number after a new query in trace page

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache SkyWalking Component
UI (apache/skywalking-booster-ui)
What happened
The current page number does not change if total page size is less than the current page number after a new query in trace page in verion v8.9.1
What you expected to happen
Maybe it's better to set the current page number to 1 if total page size is less than the current page number after a new query in trace page.
How to reproduce
1.Search with a wider filter and get a result with relative large total page size
2.navigate to a certain page, such as 10
3.narrow down the filter, and ensure the result total page size is less than the page we navigated to in step 2.
4.we get the first page data for the new query, how ever the current page numer remain with the numer we navigated in step 2.
Anything else
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

v8 is not on support mode anymore.

Do you mean it's not a problem in v.9.1.0 any more?

Do you mean it's not a problem in v.9.1.0 any more?

V9 uses a brand new UI project and it's called boosterUI, RobcketBotUI is no longer maintained.

Understand now, thx


Bug Reporting System set-up.

This has been discussed, and will be close tonight

Discussed and tested as a team.


[Consignments] Passes the correct consignment state around the wizard flow

Consolidates a few days sprinting at getting a demo out for Consignments Demo Day

Images are moved to the root of the project so that they resolve correctly on device
Stories are now broken down by folders, view controllers have the right title
Shows the location metadata
Picks out the real location metadata from google places API
A lot of style tweaking
Uses the minimum requirements for a consignment
Actually shows the photo taking screen

Fails

:no_entry_sign:

No CHANGELOG added.

:no_entry_sign:

Please assign someone to merge this PR, and optionally include people who should review.

  Generated by :no_entry_sign: dangerJS

Adds a hierarchical browser for stories:

Fails

:no_entry_sign:

Missing Test Files:

src/lib/Components/Storybooks/__tests__/index-tests.tsx
src/lib/Components/Storybooks/__tests__/utils-tests.ts

If these files are supposed to not exist, please update your PR body to include "Skip New Tests".

  Generated by :no_entry_sign: dangerJS


Error on ios: deviceToken not a valid FCM Registration Token

Hello,
I am trying to integrate this library into an app, bug I am having some issues integrating it on ios.
On android everything works fine. The app receives the deviceToken in the "onDeviceRegistered" function and I send it via http request to the server to store it. Later from the server I am able to send notifications and the app receives them correctly.
But now I am configuring it on IOs and the token I receive in the "onDeviceRegistered" function is different than the ones received in android:
Android token is like: cw8YnIYJzFU:APA91bEnbrNPCIUpOYzVYdhdp2BOHRNffYsoSnVC5hbBS-dPjy-kC80XIPNlcaGQzANVcWrtsTbOY0NBumKP6BAnTM7l-usgjK_6yPgpTjWudYkI3AFhudMMmMLQv2jIkd4nVNUGZVBS
Ios token is like: 37b2351c01be868a96bbed3d902219db417fa153323e2524b23b0dd14bf5ea02
And when I try from the server to send a notification to an ios device, I receive the following error: The registration token is not a valid FCM registration token.
I am missing something?

I finally moved my developement to react-native-firebase and everything worked fine.

This solution solved the issue  https://github.com/wix/react-native-notifications/issues/408#issuecomment-656030467


Act 1033 android cache cleanup

Codecov Report

Merging #47 (a0a9a88) into master (4311cd8) will decrease coverage by 2.38%.
The diff coverage is 51.57%.

@@            Coverage Diff             @@
##           master      #47      +/-   ##
==========================================
- Coverage   44.59%   42.21%   -2.39%
==========================================
  Files           6        7       +1
  Lines         444      488      +44
==========================================
+ Hits          198      206       +8
- Misses        215      250      +35
- Partials       31       32       +1

Impacted Files
Coverage Δ

main.go
0.00% <0.00%> (ø)

cache_meta.go
54.02% <54.02%> (ø)

cache_archive.go
25.92% <100.00%> (-3.04%)
:arrow_down:

cache_descriptor.go
77.04% <0.00%> (-3.78%)
:arrow_down:

cache_path.go
77.77% <0.00%> (-3.74%)
:arrow_down:

config.go
0.00% <0.00%> (ø)

stack_info.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4311cd8...a0a9a88. Read the comment docs.


UI updates to sample

Updated CardPresenter to not set a background color onCreate. (this was showing up blue and then gray when the card loads) the right way to do this is onSelected method (also added this)

Modified themes.xml to display colorPrimary when the app launches

PlaybackOverlayActivity is calling overScan() method onCreate. The method was adding a big fat border around the layout. Not sure why we're doing this. I commented it out and it works fine on my end. Didn't remove because I'm not sure if we really need this.

In regards to overscan, I'm not quite sure what the story should be.  IMO the borders are terrible.  Videos probably shouldn't try to scale for overscan.  But I'll leave it commented out to provide an example if devs need to implement overscan.
Also I've removed auto play and will implement it properly after i merge in Cartland's pull requests.


istioctl can specify different tags with multi gateways

And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.
For example, I want to specify different tags with multi gateways.
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  hub: hub.docker.io/istio
  tag: 1.7.2
  meshConfig:
    accessLogFile: /dev/stdout
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: false
      - name: istio-ingressgateway-test
        enabled: true
        hub: hub.docker.io/istio
        tag: 1.7.2-test
        k8s:
          replicaCount: 3

I find the GatewaySpec has the tag attribute, but it is useless.

Hi @andrewshaoyu. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Fixed typos and formatting issues.

Carry and close #1852
Signed-off-by: Rolfe Dlugy-Hegwer<EMAIL_ADDRESS>

LGTM once @thaJeztah comments are fixed/answered

LGTM (thanks!)

Thanks folks. Docs break is unrelated.


Add support for client request from the core application

A new configuration class holding the required beans might be created.
Also there must be a bean of type WebClient ... tentatively this could go like this for a client which performs requests with and authorized token:
 @Bean
  WebClient auothorizedWebClient(ClientRegistrationRepository clientRegistrationRepository,
                            OAuth2AuthorizedClientRepository oAuth2AuthorizedClientRepository,
                            @Value("${spring.security.oauth2.client.registration.cognito.clientId}") String defaultClientId) {
    // servlet because it's an MVC app
    // if it'd have been a reactive web app, the server flavor should have been used
    var oAuth2clientExFF
        = new ServletOAuth2AuthorizedClientExchangeFilterFunction(clientRegistrationRepository,
                                                                  oAuth2AuthorizedClientRepository);
    oAuth2clientExFF.setDefaultClientRegistrationId(defaultClientId);
    return WebClient.builder().apply(oAuth2clientExFF.oauth2Configuration()).build();
  }

For this to work, the following maven dependency needs to be added:
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>

And the module-info.java updated like this:
  // ...
  requires spring.webflux;
  requires spring.security.oauth2.client;
  // ...

After that the webclient can be simply injected wheever it's needed

Additionally an unauthorized webclient should be configured for requests where authentication is not required and/or the auth token MUST NOT be sent, like a request to an external service. Something like:
 @Bean
  WebClient webClient() {
    return WebClient.builder().build();
  }


Which TKInter widgets are supported?

Is there any documentation that covers what tkinter widgets are supported by the tool?

These are all the elements whose are currently supported.


External view embedder shouldn't submit frame if threads aren't merged on iOS

If the thread merger is disabled, the thread merger won't merge or unmerge threads. If this is the case, the external view embedder on iOS should ensure that the frame isn't submitted.

@blasten this missed the cut for 1.22, I assume we need to CP it?

@pcsosinski That is correct. I just added the tag and will follow up with the form.


P.S.A Pipelines Paused

We've paused the pipelines. We're doing some migration work for internal governance requirements. We will start the pipelines back up as soon as possible.

Any estimate on when the pipelines are back?

I believe these might be operational again.

We just re enabled the webhook, so the PR cleaner should start triggering validations again.


build using ghc 8.4.2 with pedantic fails

I get:
    ←[;1msrc\Network\TextViaSockets.hs:52:1: ←[;1m←[31merror:←[0m←[0m←[;1m [←[;1m←[31m-Wunus
mports←[0m←[0m←[;1m]←[0m←[0m←[;1m
        The import of `Data.Monoid' is redundant
          except perhaps to import instances from `Data.Monoid'
        To import instances alone, use: import Data.Monoid()←[0m←[0m
    ←[;1m←[34m   |←[0m←[0m
    ←[;1m←[34m52 |←[0m←[0m ←[;1m←[31mimport           Data.Monoid←[0m←[0m
    ←[;1m←[34m   |←[0m←[0m←[;1m←[31m ^^^^^^^^^^^^^^^^^^^^^^^^^^^^←[0m←[0m
    ←[0m←[0m←[0m

Similar with 8.6.4
   [1 of 2] Compiling Network.TextViaSockets ( src\Network\TextViaSockets.hs, .stack-work\dist\e626a42b\build\Network\TextViaSockets.o )

    src\Network\TextViaSockets.hs:52:1: error: [-Wunused-imports, -Werror=unused-imports]
        The import of `Data.Monoid' is redundant
          except perhaps to import instances from `Data.Monoid'
        To import instances alone, use: import Data.Monoid()
       |
    52 | import           Data.Monoid
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    src\Network\TextViaSockets.hs:111:31: error: [-Wdeprecations, -Werror=deprecations]
        In the use of `iNADDR_ANY' (imported from Network.Socket):
        Deprecated: "Use getAddrInfo instead"
        |
    111 |     bind sock (SockAddrInet p iNADDR_ANY)
        |                               ^^^^^^^^^^

    src\Network\TextViaSockets.hs:131:29: error: [-Wdeprecations, -Werror=deprecations]
        In the use of `aNY_PORT' (imported from Network.Socket):
        Deprecated: "Use defaultPort instead"
        |
    131 |     bind sock (SockAddrInet aNY_PORT iNADDR_ANY)
        |                             ^^^^^^^^

    src\Network\TextViaSockets.hs:131:38: error: [-Wdeprecations, -Werror=deprecations]
        In the use of `iNADDR_ANY' (imported from Network.Socket):
        Deprecated: "Use getAddrInfo instead"
        |
    131 |     bind sock (SockAddrInet aNY_PORT iNADDR_ANY)
        |                                      ^^^^^^^^^^

    src\Network\TextViaSockets.hs:248:15: error: [-Wdeprecations, -Werror=deprecations]
        In the use of data constructor `MkSocket'
        (imported from Network.Socket, but defined in network-<IP_ADDRESS>:Network.Socket.Types):
        Deprecated: "'MkSocket' will not be available in version <IP_ADDRESS> or later. Use fdSocket instead"
        |
    248 |           let MkSocket _ _ _ _ stMV = sock
        |               ^^^^^^^^

    src\Network\TextViaSockets.hs:251:15: error: [-Wdeprecations, -Werror=deprecations]
        In the use of data constructor `Closed'
        (imported from Network.Socket, but defined in network-<IP_ADDRESS>:Network.Socket.Types):
        Deprecated: "SocketStatus will be removed"
        |
    251 |               Closed -> return ()
        |               ^^^^^^


Recreate cumulative playlists

My God. This probably saved me an incredible amount of time and frustration. Many thanks, @mackorone!
Is there a way to copy track URLs from the cumulative lists?
Old additions don't become irrelevant as Spotify updates the playlist with new songs!

Hey! There was a similar issue from last year, where Mack suggested using a CLI utility called jq to grab track URLs from a specific snapshot. Not sure if the exact same command works for cumulative playlist JSON files. But even if it doesn't, then jq's manual should help you craft a similar command for these files.
As I'm a creator of https://spotifyplaylistarchive.com and I was just about to send an email to Mack regarding my intention to finally rewrite this year-old site and show it some love, I'll definitely add an option to copy track URLs from a cumulative playlist.

Closing due to inactivity, and the fact that a workaround exists.


Why timeout of process is always 1, can i set it longer

FFcommon.java  throwOnError()
ProcessUtils.waitForWithTimeout(p, 1, TimeUnit.SECONDS) != 0
the timeout is always 1 second, can i set it longer for larger file

@mayunjie @bramp I would also like to set the timeout longer for my purposes. Has there been any movement on this issue? FYI this seems to be a dupe for #187

Sorry for the extremely late response.
Is there a reason why you would need to customize this option?
Please note that the timeout is not for the entire execution but for the cleanup process.

I'll close this, as there has been no activity in a while.
If someone can provide a use-case for this, please feel free to re-open (or open a new issue) describing why this would be useful.
To my understanding, the line is only executed after the output stream is closed.
Therefore, it should not be possible to exceed that timeout.


cannot consume with logstash 5.5 and logstash-input-kafka 4.2.0

In order to cosume from our kafka 0.9 with losgtash 5.5.0, I have packaged and installed logstash-input-kafka 4.2.0
# bin/logstash --version
logstash 5.5.0
# bin/logstash-plugin list --verbose input-kafka
logstash-input-kafka (4.2.0)

start  logstash is OK:
# bin/logstash -f /etc/logstash/conf.5x/JMAX_POUBELLE3_TOPIC.conf
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Sending Logstash's logs to /opt/logstash-5.5.0/logs which is now configured via log4j2.properties
[2017-07-20T09:58:25,407][INFO ][logstash.pipeline        ] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500}
[2017-07-20T09:58:25,427][INFO ][logstash.pipeline        ] Pipeline main started
[2017-07-20T09:58:25,488][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
log4j:WARN No appenders could be found for logger (org.apache.kafka.clients.consumer.ConsumerConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

checking with kaffka manager indicate that there is no consumer on the topic :-(
the configuration file
input {
  kafka {
    bootstrap_servers => "UD0TX046:2181,UD0TX047:2181,UD0TX048:2181"
    group_id => "LOGSTASH5X"
    topics => "MYS_BAD_BIIIS"
    consumer_threads => 1
    decorate_events => true
    }
}

output {
  stdout { codec => rubydebug }
}

with logstash 2.3 and kafka 0.9, it was OK but what's wrong with logstash 5.5 and logstash-input-kafka 4.2.0 ?
thanks for your tips,

solved using the port 9092 instead the port 2181


Whole InfoCard clickable when only one link

Title

Changes 👷♀

- item 1
How to test 🧪

- step 1 ...
Definition of done ✔

[ ] Acceptance criteria for each issue met
[ ] Unit tests written where needed and passing
[ ] End-to-end tests for happy path
[ ] Documentation updated
[ ] Project builds without errors
[ ] Non-functional requirements met
[ ] Code reviewed and functionality tested by the reviewer (locally, Heroku, etc.)
[ ] Feature verified and accepted by Product Owner
[ ] Project deployed to production environment

The target of anchor is not covering entire card


Add nautilus to the travis test matrix

Support testing with nautilus and add nautilus to the test matrix for travis ci.
Fixes #103

@nixpanic PTAL


List/ListItemIcon wrong style when ListItem is a link

When ListItem is a link the icon been rendered does not have the same style of ListItemText, but the default browser link style.
If ListItemIcon is put inside a  , like it happens for ListItemText, the look remains consistent.
Versions

Material-UI: @next
React: any
Browser: any

Do you have a reproduction example? I'm not sure about what you are experiencing.


JSON formatted output

Is there a way to have the output formatted as JSON code? Currently it fails the validator here http://jsonlint.com/ and causes the JSON.parse() function to throw an error.

Never mind, I figured out what the problem was. I was accessing the result by trying res.latitude instead of res[0].latitude.


Missing container?

I get the following error when trying to run docker-compose up -d
Pulling kafka-music-data-generator (confluentinc/kafka-streams-examples:4.0.0-SNAPSHOT)...
ERROR: manifest for confluentinc/kafka-streams-examples:4.0.0-SNAPSHOT not found

I get the same error

This was fixed in #66


Update kafka base tech to 1.1.1

kindly provide the kafka binary src link .. as currently I am using s3 bucket


Revert "Temporarily ignore deprecation warnings from Sphinx"

This reverts commit 39ba1d65a7aa4e9115504dbaabd8cff6f4c07d02 (PR https://github.com/python/docs-community/pull/69) to fix https://github.com/python/docs-community/issues/70.
Sphinx v6.2.0 no longer uses imghdr: https://github.com/sphinx-doc/sphinx/commit/a502e7523376e0344c1c9cc8a9d128143cd98b2d.
Re: https://github.com/sphinx-doc/sphinx/issues/10440#issuecomment-1556180835

:books: Documentation preview :books:: https://docs-community--79.org.readthedocs.build/en/79/

(I don't have merge permissions for this repo.)

I do, it seems! I think Petr mentioned something about giving documentation triagers the commit bit here, I don't know why core developers don't have it, though...
A


Action button item title background color

How to change the action button item title color ? Now it is in white background(default).

Thanks for the issue!
Right now it's not possible to change the background color. Do you want to make a pull request for that or I can do it in the next few days.

Am 02.02.2016 um 06:18 schrieb Prabakaran Marimuthu<EMAIL_ADDRESS>How to change the action button item title color ? Now it is in white background(default)
—
Reply to this email directly or view it on GitHub.


camel-opentracing: "-" dash is not a valid characters for keys in JMS headers

See Jira issue: https://issues.apache.org/jira/browse/CAMEL-12842

Thanks @aldettinger


Request: Improve user experience of Get-WinEvent -FilterHashtable

Get-WinEvent uses -FilterHashtable @{..} as one way to describe which events to retrieve, and the hashtable takes keys like ID, StartTime. But there's no way to find out which keys are valid without reading the help.
This feels like a PS-style design would have exposed those keys as parameters, they would show up for tab completion and introspection, and then splatting would be available for the hashtable use case.
My experience would be better if there was a quick way to see the valid keys without having to refer to the help, so:

Would it be possible for tab-completion to suggest valid hashtable keys, if the hashtable was being written in this context, e.g. get-winevent -filterhashtable @{ <tab> ?
Would it be possible to make Ctrl-Space suggestions, which currently lists all parameters in a nice view, also support showing some text which isn't parameters - hashtable keys specifically in this case, or in a more general case cmdlets could optionally show a cheatsheet section with some free-form text.
What about exposing the keys as parameters, making them usable by splatting, and deprecating -FilterHashTable?

(FilterXPath and FilterXml parameters also exist, I have no comment on them, they can stay how they are from my point of view).

What about exposing the keys as parameters, making them usable by splatting, and deprecating -FilterHashTable?

I wonder doesn't splatting use hash?
I think IntelliSense for get-winevent -filterhashtable @{ <tab> is best choice.

Sure, splatting uses hashtables, but at least you can get native tab completion for parameters (if they were exposed as parameters) and then get everything sorted before you convert it to a splat. Tab-completion would be available out of the box and not require a weird hacky solution for this specific case.

To get started we would have to add over 15 parameters (!) for the System section only.

If we get back ConvertFrom-String we could make requests on "native" language :-)

I don't think relying on conversions from string is a good route to go on an administrative level for system event data gathering. 😕

@iSazonov could you explain where the 15 comes from? The documentation here and here only shows ten (LogName, ProviderName, Path, Keywords, ID, Level, StartTime, EndTime, UserID, Data) plus the ability to reference "any named data field", I cannot see where it says that they are limited to a section (or that it says they are localised into different languages - does that mean get-winevent -filterhashtable @{StartTime='2019-01-01'} does not work on your computer because of the English "StartTime" ?).
Am I thinking about this all wrong, and I should imagine it like Get-AdUser -Filter "<blob>" or Invoke-SqlCmd "<sql blob>" where the filter only makes sense to the provider?  Should I be looking for Windows Event Log discussions of how it can filter?  (And if so, is the supported filtering different on different versions of Windows?)


Agent fails to re-connect after moving server to new domain

Rancher Version:
v1.2.2
Steps to Reproduce:

Setup Rancher server with the host registration URL http://domain-foo:8080 and enable authentication.
Add custom host
Migrate DB to new rancher server instance and change the host registration URL to https://domain-bar.
Setup a reverse proxy in front of the new server that redirects requests to http://domain-foo:8080 to https://domain-bar using HTTP 301.

Results:
ERROR: Credentials are no longer valid, please re-register this agent
Expected:
Rancher agent should follow HTTP redirects for the server URL
The first issue here is that the run_bootstrap() function in the agent run.sh script is missing -L flag to follow redirect. There was a previous (but obviously incomplete) attempt to fix this in https://github.com/rancher/rancher/pull/4064.
But even after enabling redirects in curl the command fails to authenticate to the new server using the previous registration URL:
# curl -i -L -u <KEY>:<SECRET> http://domain-foo:8080/v1
HTTP/1.1 301 Moved Permanently
Content-length: 0
Location: https://domain-bar/v1
Connection: close

HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=utf-8
Date: Fri, 23 Dec 2016 23:37:36 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Server: Jetty(9.2.11.v20150529)
Set-Cookie: PL=rancher;Path=/
Www-Authenticate: Basic realm="Enter API access key and secret key as username and password"
X-Api-Schemas: https://domain-bar/v1/schemas
Content-Length: 177

{"id":"93c259cb-c091-4b76-b8d0-535de0eea8d0","type":"error","links":{},"actions":{},"status":401,"code":"Unauthorized","message":"Unauthorized","detail":null,"baseType":"error"}#

But when using the new registration URL the agent authenticates successfully:
# curl -i -L -u  <KEY>:<SECRET> https://domain-bar/v1/schemas/configcontent
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 23 Dec 2016 23:31:10 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Server: Jetty(9.2.11.v20150529)
Set-Cookie: PL=rancher;Path=/
Vary: Accept-Encoding, User-Agent
X-Api-Account-Id: 1a7
X-Api-Client-Ip: <IP_ADDRESS>
X-Api-Schemas: https://domain-bar/v1/schemas
Content-Length: 687

{"id":"configContent","type":"schema","links" ...

@janeczku you'd have to use --location-trusted instead of -L if your want the Authorization header you be sent to the followed locations.

@vincent99 Good find!

The Go HTTP client too strips authentication headers when following redirects which means that at least some of the infrastructure services won't probably work with a Cattle URL that is redirected.

It's also not going to be really remembered because the agent container has the old URL in the command and will go through redirects again on restart.  So that redirect effectively has to be supported in DNS and something to respond to it forever.
So I'm not really convinced supporting following redirects to indirectly change the registration URL is a really great idea in the first place...

No longer needed.


Rename everything to fast-forwarding

Now that the paper is done and everything is settled, we should remove references to "lifting", "allow/forbid", etc and call everything fast-forwarding

Sorry forgot to review but good change


How to show profile information with steamid ?

Hi, is it prossible to show profile information (ex: logo) with only the steamid ? (Ex: admin user put is steamid on the admin page and on home page, everyone see is logo)

Hi, is it prossible to show profile information (ex: logo) with only the steamid ? (Ex: admin user put is steamid on the admin page and on home page, everyone see is logo)

Yes, I don’t believe that this library will do it, but a call to the JSON API using the url: http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXXXXXXXXXXXXX&steamids=76561197960435530 will return json data and the avatar image URLs. To use this just replace ur steam API key where the X’s are and the 76... area with the steam ID. Here is a tutorial on JSON in php: https://www.tutorialrepublic.com/php-tutorial/php-json-parsing.php

Once you have the URL, I don’t believe that the url changes so you could probably store it in a database or just manually put in the url into a image area. Not 100% sure about that though, I haven’t used this in awhile.

Correction, just checked and it does change if they change there avatar photo.

If the aim is to show who the admin is by showing their avatar and username(with a link to their profile) you would need to use an insert to add users to a database on login then query the row id for that user, I have done this myself, but I’m currently at work, so I’ll jump on later with more info on the how unless someone beats me to it :)

Ok, thanks for your answer. I found the solution, if someone want:
`$SteamAPIKey = "3503F6426195374A890F3467D028717C";
$stamidtest = "76561198179720810";
$url = file_get_contents("https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=".$SteamAPIKey."&steamids=".$stamidtest);
$content = json_decode($url, true);
$steamavatar = $content['response']['players'][0]['avatarfull'];
?>
`

And how can i check if steamid64 is valid, else echo wrong steamid ?

If it’s incorrect it will return a http error code
More on that here: https://partner.steamgames.com/doc/webapi_overview/responses

Yes but how can i make a confition
If(steam return error) {
echo "wrong steam id";
}
else
{
...
}

https://gist.github.com/james2doyle/33794328675a6c88edd6

And how can i call
function json_response
in my "script" ?
(Sorry i'm starter)

https://github.com/bman46/Steam-Avatar
Here's the code for that.
I made it so then if the image doesn't exist then it returns the default ? icon for steam.

Make sure to cache them if you are working on a production site as it will make a API request every time the page is loaded so you will quickly run out of API calls.

Tanks a lot !!!!

No problem


If I want to scale the convex hull of a rigid body, what is the correct operation?

Transform all vertices and reconstruct the shape?

Transform all vertices and reconstruct the shape?

Yes, transforming all vertices and reconstructing the shape would be the method of choice. However, there's an exception: if you have many instances of convex hulls that only differ in their scaling factor. In such cases, you can wrap your ConvexHullShape inside a TransformedShape. To perform the scaling transformation, modify the diagonal entries of the "orientation" matrix in the constructor. I will rename the matrix, as it supports not only orientation but also scaling. In fact, all affine transformations (see Affine Transformation) are supported by TransformedShape.
Here's an example from JitterDemo, in ConvexDecomposition.cs:
Change:
foreach (ConvexHullShape s in shapesToAdd)
{
  body.AddShape(s.Clone(), false);
}

To:
foreach (ConvexHullShape s in shapesToAdd)
{
  body.AddShape(new TransformedShape(s.Clone(), JMatrix.Identity * 0.2f, JVector.Zero), false);
}

This will scale your object by a factor of 0.2.


Fix time span for "Contributions in the last year"

Now gives for example Dec 2, 2018 – Dec 1, 2019 instead of Dec 1, 2018 – Dec 1, 2019.

Can you please modify the source, not the minified file? Thanks!

Sorry...


Store initial and final topologies for all phases -- small molecule pipeline

Description
These changes make serialization of initial (old) and final (new) topologies for complex and solvent phases for the small molecule pipeline, adding the RelativeFEPSetup._serialize_topologies method which is called at the end of the constructor.
Note that while these changes do NOT break the API, it is a change in the behavior since now the stored objects are different.
Motivation and context
For extracting trajectories for debugging or visualization purposes, it is important to have the topologies available in PDB for the different phases and the initial and final states of the transformation.

Resolves #1154
How has this been tested?
Test written, need to check locally that the files make sense.

Change log

Storage of topologies for initial and final states of the transformation, for all phases of the simulation. Useful for extracting trajectories.

Tested locally and visualizing the different generated PDB files for an example seem to work as expected.

Left some comments, but otherwise looks good!


Validate JVM flags at build time

Fixes #192.
A couple things I can foresee being problems:

JAVA_HOME may not be set in path
Java in base image may be different from user's java, and supported jvm flags may differ, which means this check may fail?

The method itself doesn't matter so much, I'm just trying to find a way to warn about invalid parameters as early as possible (currently build succeeds and the user doesn't see that they misconfigured jvm flags/main class until they try to run their image). If there is a better way I'm all for it.

Ah okay, yeah starting a process seems a little heavy weight, perhaps there's something from the Java community that can do this for us?

There's a bunch of stuff to think about here.  When the user doesn't specify their own base we should be in complete control of the jdk location and version. It would be weird for the user to specify java home for that case.  We could also conceivably have more typesafe jvm configuration parameters if the distroless java version is stable with regard to the plugin version.

I see what you mean, I guess it doesn't make sense to check against the user's java installation instead of the java in the base image. As for "more typesafe" parameters, do you mean something like keeping an up-to-date list of jvm flags to check against instead of checking against the java binary itself? That'd be much more lightweight, although it could be a pain to maintain and may not be compatible if the user specifies their own base image.

I meant conceivably you could expose the most common params in the config:
..
....
I haven't convinced myself this is a good idea yet, but it's just stuff to
think about.  It would definitely be nice to have something like:

5050
y
n

Come to think of it I'm wondering if I'd ever want to bake any of this into
the image build instead of some means of running the image..
On Tue, Mar 27, 2018 at 10:54 AM Tad Cordle<EMAIL_ADDRESS>wrote:

I see what you mean, I guess it doesn't make sense to check against the
user's java installation instead of the java in the base image. As for
"more typesafe" parameters, do you mean something like keeping an
up-to-date list of jvm flags to check against instead of checking against
the java binary itself? That'd be much more lightweight, although it could
be a pain to maintain and may not be compatible if the user specifies their
own base image.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/jib/pull/198#issuecomment-376555774, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHf5HS6yEk37642Hs6CPSQiopGO93tpeks5tilLCgaJpZM4S70a7
.

Yeah, definitely more to think about. I'm gonna close this and we'll revisit it later.

Tad could you schedule a meeting with the team to discuss image
parameterization for when Q is back in the office?
On Tue, Mar 27, 2018 at 1:20 PM Tad Cordle<EMAIL_ADDRESS>wrote:

Closed #198 https://github.com/google/jib/pull/198.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/jib/pull/198#event-1543781251, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AHf5HabMUDkIpIigzZ4oY1zyc_owt49Tks5tinTqgaJpZM4S70a7
.


Handle missing wget gracefully.

The "build" script now detects a missing download mechanism (as designated in the $fetch variable) and prompts the user to download the relevant tar ball and restart the installation.  A few exit statements have also been updated to have unique exit codes. A minor edit in "install.sh" indicates to the user that the tar ball will be downloaded "if necessary", i.e., if it isn't already found in the expected location.
This has only been tested when fetch=wget.  It should be able to detect if another missing required download mechanism (e.g., svn or ftp) is missing, but it's possible the printed messages will be less clear in that case.

Current coverage is 38.57%

Merging #99 into master will not affect coverage as of d578316

@@            master     #99   diff @@
======================================
  Files            2       2
  Stmts          884     884
  Branches         0       0
  Methods          0
======================================
  Hit            341     341
  Partial          0       0
  Missed         543     543

Review entire Coverage Diff as of d578316

Uncovered Suggestions

+1.92% via src/mpi/mpi_caf.c#1892...1908
+1.58% via src/mpi/mpi_caf.c#1990...2003
+1.58% via src/mpi/mpi_caf.c#1557...1570
See 7 more...

Powered by Codecov. Updated on successful CI builds.

Branch based on master? :heavy_check_mark:
Branch merging into master? :heavy_check_mark:
Changes consistent with intended effect, commit message and PR description? :heavy_check_mark:
Looks good to me! :eyeglasses: :100:

@zbeekman what a beautiful commit comment!

@rouson If you like I can merge this and then also apply it to devel

Let's see if I can get it right this time.  :)
If I encounter any difficulties, we can do a Skype call anytime after 9:30 AM Pacific.

sounds good :-)
I may be in the car, so an old fashioned phone call might have to suffice.


nvr -d f1.txt f2.txt opens 4 windows instead of 2

At this point: https://github.com/mhinz/neovim-remote/blob/1ee91078618c7df99451a820d9c12caca6ee41d2/nvr/nvr.py#L478
File list is passed 2 times resulting in duplication of windows.

Thanks! Fixed in v2.2.3.


I can't talk while i have a menu open

If i have a QB-Menu open or some HTML open in FiveM i can't talk to pople.

This isn't an issue related to pma-voice.


Add digikam model, closes #3

The command "eval go get -v ./... " failed. Retrying, 3 of 3.
Go 1.1 seems to fail for other reasons.

@echa, I do not have an xmp file containing all entries. I can fake some entries but that's probably not the way it should be done.


Intellisense doesn't update or updates very slow on VS Code when types are in separate file

Describe the bug
When members are added or removed from a type. Intellisense doesn't update and underlines/not underlines when type members are referenced in another file.
To Reproduce
Steps to reproduce the behaviour:

Create new dot net core project, classlib, console, asp.net core, doesn't matter
Create new file Service.fs
Add new type

type Service() =
    member this.A = "A"

Create new file Library.fs
Add new module

module T =
    let s = Service()
    let a = t.A

Observe that code is underlined with syntax errors
Build the project on the command line.
Observe that project builds correctly with no errors.
Restart VS Code. Observe that errors are no longer shown.

When type is declared in the same file as the module, extension behaves properly.
Sometimes the errors do resolve after a long time period.
Note, that if Ionide extension is disabled in VS Code, types resolve correctly and false errors no longer show up.
Expected behaviour
Syntax errors update in timely manner on code changes
Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

OS: Windows 10
Ionide version: v4.14.0
VSCode version: 1.47.0
dotnet SDK version: 3.1.101
mono / .Net Framework version:

Additional context
F# Language server has strange output with paths not found on my system:
Exception in language server System.IndexOutOfRangeException: Index was outside the bounds of the array.
at FSharpLanguageServer.Program.findMethodCallBeforeCursor(String lineContent, Int32 cursor) in /Users/george/Documents/fsharp-language-server/src/FSharpLanguageServer/Program.fs:line 2
at <StartupCode$FSharp-Core>.$Async.AwaitAndBindChildResult@1495-4.Invoke(AsyncActivation`1 ctxt) in E:\A_work\130\s\src\fsharp\FSharp.Core\async.fs:line 1495
D:\Programowanie\ionide\paket-files\github.com\fsharp\FsAutoComplete\src\FsAutoComplete\FsAutoComplete.Lsp.fs:line 1077
at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in F:\workspace_work\1\s\src\fsharp\FSharp.Core\async.fs:line 109
Code: -32603

No actionable information in the issue.


Is there a way to set cell line-break to "automatic"?

Hello,
I'm trying to set the cell format line-break to automatic.
My cells are filled with long text and by defaut the cell size does not change.
In my worksheet, i set ['!cols'] like this:
 sData['!cols'] = [
        {
            wpx: 400,
        },...

Is there another option here to set an automatic line-break ? Or is it to be set in cell.s field ?

Text wrapping and other cell styling are part of our Pro builds


adds contributing md and cleans up files

Adds contributing.md and updates readme.
I'd love some feedback on the readme.
I also put things in alphabetical order.

@gfscott Thank you! Changes applied :)

Just asking a question here so I don't open another issue!
I see this is a scaffold project for the Shopify CLI but that seems to be internal.
Is it part of the roadmap that the wider community would be able to utilise this repo?

Hey @dan-gamble . At Unite, our partner and developer conference, we'll be sharing our roadmap for developer tools. We recommend checking out unite.shopify.com next week to learn more.

Awesome, thanks for the update @katiedavis, I'll be there :)


Add the  CP_ PATH

we need a CP_PATH to store the following files:

config.toml
libp2pKey
model framework lib
etc.

#52


Add optional financial partner group, fix bug with partner ID matching

Description

Add optional --financial-partner-group-id for categorizing Splitwise transactions into groups. Ex: https://secure.splitwise.com/#/groups/12345678
Make --financial-partner-id an int. Was str previously, thus matching on financial partner ID would always fail with an SplitLunchError exception (as Splitwise user ID is an int)

Has This Been Tested?

Tested locally, works as expected. Expenses created and assigned to my financial partner, using their splitwise user ID and categorized into the Splitwise group that I specified:

$ docker-compose run lunchable lunchable plugins splitlunch splitlunch-import --tag-transactions --financial-partner-id 123456 --financial-partner-group-id 12345678
[
  {
    "original_id": XXXXXXX,
    "payee": "Expense Payee",
    "amount": 123.45,
    "reimbursement_amount": 61.73,
    "notes": null,
    "splitwise_id": XXXXXXX,
    "updated": true,
    "split": [
      XXXXXX,
      XXXXXX
    ]
  }
]

Checklist:

[X] I've read the contributing guidelines of this project
[ ] I've added a BUMP_MAJOR, BUMP_MINOR, or BUMP_PATCH label to this PR to increment the version
[X] I've installed and used .pre_commit on all my code
[X] I have documented my code, particularly in hard-to-understand areas
[X] I have made any necessary corresponding changes to the documentation

There are some GitHub Actions permissions errors I need to clean up here. I'm going to move this to it's own branch (ericzinnikas:split_in_group) and shepherd it from there

Hey @ericzinnikas one last follow up, this was just merged to master and released in lunchable 0.3.0- thank you for the contribution


[Guide] Search

Create guides/search.md similar to the Ruby guide
You must assure that:

All code-blocks, when run from start to finish in order they appear in the guide, do not throw any errors. If you want to demonstrate that certain statements will throw errors, they must be wrapped in a try/catch and print out the expected error.
All code-blocks are properly marked with the language it's written in (i.e.  ```ruby)
The instructions, though mostly identical to the Ruby guide, are suitable for this repo.

Hi, I want to work on this issue

@sayuree go for it :)

@nhtruong I already had a guide ready, can I do a PR? It's not very right of me, but I didn't work for nothing either :[

@Nicksqain Well, I assume that according to the code of conduct, you are not allowed to work on already assigned issues. I admit that I did not submit the changes/commits right away, but still, it does not give an opportunity for others to take up the issue. There are still a bunch of issues you could work on, instead of attaching PR on already assigned ones. Please consider the code of conduct in the future.

@nhtruong Yes, I apologize for my actions. It won't happen again. If suddenly the appointed person for some reason will not be able to work, then please accept my candidacy. I'm not trying to take away the time spent. It's just that I already did, but couldn't ask to be assigned to me. I apologize again.

@Nicksqain It's all good. I appreciate your candor and passion for this project. Since @sayuree has already been assigned to this issue, they have the priority on this issue. Feel free to pick up any other unclaimed issues and keep up the great work :D


Undefined error in ioBroker

The adapter creates several error messages in ioBroker during emby playback: undefined is not a valid state value for id emby.0.device-ID.info.userName
This is related to devices in the object tree with an empty username. These devices appear automatically and cannot be ignored by adding the device ID to the adapter settings, eg.

When playback stopped it can also lead to an adapter crash.

Please add relevant versions:
adapter
js-controller
node
o/s

I've tried a fix at my fork - completly untested.
See forum https://github.com/mcm1957/ioBroker.emby


[SR SQL Planner Summer Camp] Support ShowDynamicPartitionStmt in new parser

What type of PR is this：

[ ] bug
[ ] feature
[ ] enhancement
[x] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #7959
Problem Summary(Required) ：

New Parser and Analyzer support ShowDynamicPartitionStmt

[FE PR Coverage check]
:heart_eyes: pass : 14 / 16 (87.50%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/sql/ast/AstVisitor.java
0
1
00.00%

:large_blue_circle:
com/starrocks/analysis/ShowDynamicPartitionStmt.java
4
5
80.00%

:large_blue_circle:
com/starrocks/sql/analyzer/Analyzer.java
2
2
100.00%

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
4
4
100.00%

:large_blue_circle:
com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
4
4
100.00%

[FE PR Coverage check]
:heart_eyes: pass : 14 / 16 (87.50%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/sql/ast/AstVisitor.java
0
1
00.00%

:large_blue_circle:
com/starrocks/analysis/ShowDynamicPartitionStmt.java
4
5
80.00%

:large_blue_circle:
com/starrocks/sql/analyzer/Analyzer.java
2
2
100.00%

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
4
4
100.00%

:large_blue_circle:
com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
4
4
100.00%

rebase and I will approve again

[FE PR Coverage Check]
:heart_eyes: pass : 14 / 16 (87.50%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/ast/AstVisitor.java
0
1
00.00%
[329]

:large_blue_circle:
com/starrocks/analysis/ShowDynamicPartitionStmt.java
4
5
80.00%
[104]

:large_blue_circle:
com/starrocks/sql/analyzer/Analyzer.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
4
4
100.00%
[]

run starrocks_admit_test


exclude dev assets in prod

this is an fix to go along with ember-js/list-view#204 so that klassy and other development addons are excluded when list-view addon is exposed.

Thank you :)

Good quick hack, but I suspect that code should be in the brocfile anyways. So before we cut a new-release lets try to move it.

I created an issue to remove moduleForView in favour of moduleForIntegration or something similar #207  I'll do this at some point in the near future.


Missing details on process steps

Issue in ./help/components/vrs/c-workflow-vrs/vrs-create.md
Hi, this page should give on overview on how to create a VRS, but it actually explain only one of the 3 steps required. Can you please update with the remaining steps?

Thanks for alerting us to this missing information! Here is the updated page:
https://experienceleague.adobe.com/docs/analytics/components/virtual-report-suites/vrs-workflow/vrs-create.html?lang=en#define-settings


Not possible to close the Extensions: Marketplace window.

Issue Type: Bug

Press shift+ctrl+x to show the Extensions window
now there's no way to close it
a) ctrl+F4 does not work
b) alt+space gives the system menu for the main window
c) pressing ctrl+shift+x again does not close it
d) Selecting the window in the View-menu does nothing
e) No close button [x] in the upper right corner
f)  No documentation available on how to close the Extension window.

VS Code version: Code 1.28.2 (7f3ce96ff4729c91352ae6def877e59c561f4850, 2018-10-17T00:23:12.403Z)
OS version: Windows_NT ia32 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz (4 x 2904)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.89GB (7.03GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

vscode-eslint
dba
1.7.0

xml
Dot
2.3.2

python
ms-
2018.9.2

cpptools
ms-
0.20.1

csharp
ms-
1.17.0

PowerShell
ms-
1.9.0

team
ms-
1.144.1

debugger-for-chrome
msj
4.11.0

Ctrl+b?
Click on extension icon?

First of all, it was not a question, it is impossible to close the "Extensions: Marketplace window". And if you can open a window, then surely it should be able to close it?
Also, wouldn't it be better to make windows behave like windows, so not everyone need to figure out your unique way to close a window?
You do know Microsoft has a huge amount documentation on how to do proper user interfaces, that provide a very good user experience. Are you reading and following following Microsoft's Design Guidelines?

As an Example, this is what Microsoft say about User Interface Principles, and what they consider to be the most important for a good user experience.
User Interface Principles [https://docs.microsoft.com/en-us/windows/desktop/appuistart/-user-interface-principles#intuitiveness]
2018-05-31 - 37 minutes to read

Intuitiveness
This is the most important aspect of a great user experience. Intuitive UX lessens the need for explanations. The user just knows what the controls do.
An important topic in intuitive design is color-coding.  A very good example of recognition of content by colors is Microsoft Office OneNote. The application's tabs can be set to different colors while still looking essentially like a proper part of the overall Windows style design.
Another important aspect is the text in your applications. Recently, there have been various efforts to simplify the language used for the written instructions in Windows software. The usage of text inside software will be discussed later, but please note the following small but important detail.
MSN Messenger had a check box in its Options dialog marked "Share webcam capabilities." Developers and tech-friendly people know what that means, but a novice user could possibly think that you could let another user on the other end of your chat use your Web cam, too. In a recent version, they changed it to "My Webcam: Allow others to see that I have a webcam". This is perfect for the target audience that may not have technical knowledge and are used to simple language.
While simpler language makes it easy to understand, there's also an added advantage. Scientific studies show that our mind works easier with simpler language when trying to understand something new. Often, our brain processes words like 'it,' 'for,' 'that,' and other common words so speedily and effortlessly that more 'bandwidth' is allocated to understanding the words that stand out, like 'Webcam' or 'Others,' in the above example.
Message Box titles, GroupBox captions, and other such text blocks make it easy for you to convey the function of a group of controls to the end user with just a few words.
Intuitiveness is also born from familiarity. For example, the placement of the OK and Cancel buttons is so uniform and well placed in our minds that if a dialog holds these buttons in a reverse sequence (Cancel, then OK; instead of OK, then Cancel)—you just might hit Cancel instead. After using a particular standard for doing things—Windows-based applications for example—for more than a year, habits develop. Following industry standards (however unstated they may be) makes your software easier to use.
In one of the early Windows Vista preview builds, the Minimize, Maximize, and Close buttons of any window became different. In previous versions of Windows (especially when using a single monitor), you develop a habit of moving the cursor in the top-right corner of the screen and clicking. This always resulted in the window closing. Now in this particular build of Windows Vista, there were approximately 8 pixels worth of space between the Close button and the right-most border of the window. The extra space did make it look cool (and was probably necessary for the cool glow animation the button sported), but was irritating because it did not allow users to close open windows as easily. Reconditioning your mind can be tough. Thankfully, in the following build, this issue was addressed. Now, there still is space between the border of the window and the close button, but clicking that space also causes the window to be closed.
A very important factor of intuitive design is the amount of 'mental bandwidth'—the amount of time it might take our mind to comprehend something—it uses. The lower the 'bandwidth' usage, the better your user experience.
These are small things that contribute to the "experience" of using a software application. The following examples provide tips on improving your applications with real-world tips and tricks.

Use Standards
The established standards of any software environment—whether on the operating system level, brand level, or application level—are very important. Besides the branding, the standards act as a proverbial schema in the user's mind. When the user spends long periods of time working with a software application, he or she will automatically increase productivity because of the growing familiarity.
Before discussing standards, let's first discuss what exactly these standards are. The standards include everything from the layout of controls in a particular manner on the dialog boxes—like the OK and Cancel buttons, the user interface's shape—rounded-corners of the top of the window as in Windows dialogs, styles of icons, styles of any other graphics, interactive behavior of your application, and the like.
If your application falls into a specific niche, then it may fare better to follow a different set of standards. For example, if your application supports, application or an add-on for, Office OneNote 2003, it is wise to follow the styles of UI and interactivity standards of Office—and OneNote itself, in particular. This includes using the Office-style command bars instead of the standard toolbars, and other such things— both visual and behavioral. If your application is to be part of the Microsoft Visual Studio .NET category, then you have a separate set of standards. In fact, for such add-on or support applications, companies such as Microsoft do release written guidelines. Also note that sometimes graphics and design concepts are protected intellectual properties. Always check the proper documentation to make sure you have the license to create such designs.
When applications share the operating system-level or application-level standards, the users feel more at home with the software, which makes it easier to learn and use. This results is a direct boost to productivity. Users want to be able to become productive with new software as quickly as possible.

And this is what [Jakob Nielsen](https://en.wikipedia.org/wiki/Jakob_Nielsen_(usability_consultant ) say in his article "Top 10 Application-Design Mistakes" regarding the use of standard GUI controls:

Top 10 Application-Design Mistakes
- 1. Non-Standard GUI Controls
Jakob's Law is:
"users spend most of their time on other websites (or applications)",
then Jakob's Second Law is even more critical:
"Users have several thousand times more experience with standard GUI controls than with any individual new design."

Here are some links to Microsoft's Design Guidelines, among others:

Docs: User Interface Principles
https://docs.microsoft.com/en-us/windows/desktop/appuistart/-user-interface-principles#intuitiveness

MSDN: User Interface Principles
https://msdn.microsoft.com/en-us/library/windows/desktop/dn742491(v=vs.85).aspx

Docs: Usability in Software Design
https://docs.microsoft.com/en-us/windows/desktop/appuistart/usability-in-software-design

AskTOG: First Principles of Interaction Design (Revised & Expanded)
https://asktog.com/atc/principles-of-interaction-design/

Blomberg: A computer users manifesto
https://www.bloomberg.com/news/articles/1998-09-27/a-computer-users-manifesto

Principle of least astonishment
https://en.wikipedia.org/wiki/Principle_of_least_astonishment


feat(server): allow to get service builder from nirvana server

What this PR does / why we need it:
Export server.Builder, you can get service builder now.
Service builder can build HTTP services. The services can be used in another special server or test.
Which issue(s) this PR fixes (optional, close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
/cc @yejiayu
/cc @ddysher
Release note:

NONE

/lgtm

@ddysher Some projects depend on this feature to test themselves. So I have to merge it now.
/approve

LGTM


handle references to telescopes and facilities

The two Context Products that validate can 't find below have been on  pds-gamma:/data/pds4/context-pds4/ for over a year.
Hmmm, I couldn't directly attach the sample .xml and .tab files, so I appended .txt to both filenames.
2035_stearns.xml.txt
2035_stearns.tab.txt
% validate -t 2035_stearns.xml
Oct 14, 2019 11:29:04 PM com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector
INFO: The optimized code generation is disabled
PDS Validate Tool Report
Configuration:
Version                       1.17.0
Date                          2019-10-15T06:29:00Z
Parameters:
Targets                       [file:/Users/rchen/Desktop/2035_stearns.xml]
Severity Level                WARNING
Recurse Directories           true
File Filters Used             [*.xml, *.XML]
Data Content Validation       on
Product Level Validation      on
Max Errors                    100000
Registered Contexts File      /PDS4tools/validate/resources/registered_context_products.json
Product Level Validation Results
FAIL: file:/Users/rchen/Desktop/2035_stearns.xml
ERROR  [error.label.context_ref_not_found]   line 50: 'Context product not found: urn:nasa:pds:context:facility:observatory.mauna_kea
ERROR  [error.label.context_ref_not_found]   line 59: 'Context product not found: urn:nasa:pds:context:telescope:irtf.3m0
Validation complete.
Summary:
2 error(s)
0 warning(s)
Message Types:
2            error.label.context_ref_not_found
End of Report

Oh, wait, this is the same as https://osr.jpl.nasa.gov/jira/browse/PDS-835

thanks @rchenatjpl. looks like this will be resolved from Harvest ingests these facilities / laboratories


Ciceksepeti order retrieve

Does pim try to retrieve all orders every night from Ciceksepeti? Does it have a filter functionality to retrieve only new orders.
p.s. Orders to be retrieved are determined by checking last update times (not creation or order times). Check for the latest update time in database, ask Ciceksepeti to send orders updated at or after that given last update time.

Ciceksepeti orders opened for testing, not included in the order table, will be added

ciceksepeti orders are ready to be added to the orders table every night according to the last update date.


Update and install components using v1 manifests

WIP

Closes https://github.com/pingcap-incubator/tiup/issues/202

Codecov Report

Merging #230 into master will decrease coverage by 14.39%.
The diff coverage is 32.65%.

@@             Coverage Diff             @@
##           master     #230       +/-   ##
===========================================
- Coverage   61.22%   46.83%   -14.40%
===========================================
  Files          40       37        -3
  Lines        2298     2590      +292
===========================================
- Hits         1407     1213      -194
- Misses        674     1162      +488
+ Partials      217      215        -2

Flag
Coverage Δ

#coverage
?

Impacted Files
Coverage Δ

main.go
100.00% <ø> (ø)

pkg/repository/crypto/keys.go
0.00% <0.00%> (ø)

pkg/repository/v0manifest/component.go
26.66% <0.00%> (ø)

pkg/repository/v1manifest/local_manifests.go
0.00% <0.00%> (ø)

pkg/utils/args.go
41.66% <0.00%> (-8.34%)
:arrow_down:

pkg/utils/ioutil.go
38.98% <0.00%> (-5.02%)
:arrow_down:

pkg/utils/sha.go
25.00% <0.00%> (ø)

pkg/version/version.go
80.00% <ø> (-10.00%)
:arrow_down:

pkg/repository/v1manifest/types.go
5.26% <5.26%> (ø)

pkg/repository/v1manifest/repo.go
6.68% <6.68%> (ø)

... and 41 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 89afe45...f04ae74. Read the comment docs.

PTAL @july2993 The test  for updateComponents is still not done, but I think I won't finish it today and this PR is getting large and I don't everyone's branches diverging too much.

@july2993 thanks for the review! I've addressed most of the comments and rebased. I think that we disagree on whether a file key should be a filename or url. See https://github.com/pingcap-incubator/tiup/pull/230#discussion_r428552779

@july2993 thanks for the review! I've addressed most of the comments and rebased. I think that we disagree on whether a file key should be a filename or url. See #230 (comment)

in https://github.com/pingcap-incubator/tiup/blob/master/doc/design/manifest.md#snapshotjson it's a filename,
also tools/migrate will generate as a filename.
if using url then we need to fix both of this later.
see https://github.com/pingcap-incubator/tiup/pull/230#discussion_r428558605
I think should have some method like GetComponentManifest to make sure we can get the manifest(the internal make sure the returning one is update to date), the current updateComponentManifest looks should only be used when we get a new snapshot and update the componentManifest locally if need.


add 2fa enforcement support to cloudflare account schema

This is a rework of #320 which was reverted
APPSRE-6571
This is the schema needed for https://github.com/app-sre/qontract-reconcile/pull/2964 which allows setting 2FA enforcement on Cloudflare accounts via the account definition file. A field type is also needed by this resource
This is required for

https://github.com/app-sre/qontract-reconcile/pull/2970

Will merge this w/o approvals as this is the same code as in https://github.com/app-sre/qontract-schemas/pull/320 with an added field


Omni's OpenMM reset does not reset correctly -- initial forces vary

Reloading from scratch from the XML is consistent, but loading checkpoint does not seem to restore the system entirely to the initial conditions. For some reason the reported forces are not the same as the first load (despite positions and velocities matching), but are consistently wrong between resets.

Removing the forces individually one by one it seems the NonbondedForce is the one at fault for whatever reason.

Adding self.simulation.context.reinitialize() before loading the checkpoint seems to work, but I don't understand why.

In narupa we were reinitialising the context and using state not checkpoint: https://gitlab.com/intangiblerealities/narupa-protocol/-/blob/master/python-libraries/narupa-openmm/src/narupa/openmm/runner.py?ref_type=heads#L332-334