Guition ESP32-S3-4848S040 Display wakes-up randomly

Perform all steps below and tick them with [x]

[x] Check the related part of the Documentation
[x] Update openHASP to the latest version
[x] Reproduce the issue and describe all steps

Describe the bug

To Reproduce
Install latest beta firmware 7.0 rc11 (Guition ESP32-S3-4848S040)
Expected behavior
The display can not wake up
Screenshots or video
Get this code on console, when the display are wake up:
#[22:50:34.205][98292/109668 10][25324/26056  3] HASP: First touch Disabled
#[22:50:34.219][94196/106476 11][25324/26056  3] MQTT PUB: backlight => {"state":"on","brightness":255}
#[22:50:34.231][90100/106488 15][25324/26056  3] MQTT PUB: idle => off
#[22:50:34.244][90100/104904 14][25324/26056  3] MSGR: File not found: L:/idle_off.cmd
#[22:50:34.272][98292/109556 10][25324/26056  3] MQTT RCV:  = backlight {"state": "on", "brightness": 255}
#[22:50:34.285][94196/107960 12][25324/26056  3] MSGR: backlight={"state": "on", "brightness": 255}
#[22:50:34.300][94196/107960 12][25324/26056  3] MQTT PUB: backlight => {"state":"on","brightness":255}

hmm it does not depend on discovery...
I get this, if the display are wakeing up.
#[22:50:34.205][98292/109668 10][25324/26056  3] HASP: First touch Disabled
#[22:50:34.219][94196/106476 11][25324/26056  3] MQTT PUB: backlight => {"state":"on","brightness":255}
#[22:50:34.231][90100/106488 15][25324/26056  3] MQTT PUB: idle => off
#[22:50:34.244][90100/104904 14][25324/26056  3] MSGR: File not found: L:/idle_off.cmd
#[22:50:34.272][98292/109556 10][25324/26056  3] MQTT RCV:  = backlight {"state": "on", "brightness": 255}
#[22:50:34.285][94196/107960 12][25324/26056  3] MSGR: backlight={"state": "on", "brightness": 255}
#[22:50:34.300][94196/107960 12][25324/26056  3] MQTT PUB: backlight => {"state":"on","brightness":255}

Strange thing... it only happen, if i power it my display via 230V... if i use USB type C port, the problem not happen more than one hour...

I have that screen running on 240V and do not see this problem, how often does it wake up ?

@smcgann99
I did more test and seems maybe not the 230V the problem...
sometimes happen about 5-10 min, sometimes not happen hours... I dont understand... Seems happen more time, if for example the sun is shine directly to the screen... but it only just a idea...

This doesn't really sound like a bug to me.
Do you have the complete log prior to the screen idle off, perhaps something is being sent to the screen ?

@smcgann99
Hello sorry the late answer.
Here:
#[20:08:00.000][102388/111876  8][25364/26012  3] MQTT RCV: p0b3.text = 20:08
#[20:08:59.990][102388/111876  8][25364/26012  3] MQTT RCV: p0b3.text = 20:09
#[20:09:38.479][98292/110356 10][25364/26012  3] MQTT PUB: statusupdate => {"node":"nappali_uj","idle":"long","version":"0.7.0-rc12","uptime":37576,"ssid":"iot_network","rssi":-63,"ip":"<IP_ADDRESS>","mac":"80:65:99:C8:8D:40","heapFree":111940,"heapFrag":8,"core":"4.4.6","canUpdate":"false","page":1,"numPages":12,"tftDriver":"Other","tftWidth":480,"tftHeight":480}
#[20:09:38.498][102388/111940  8][25364/26012  3] MQTT PUB: sensors => {"time":"2024-04-21T20:09:38","uptimeSec":37576,"uptime":"0T10:26:16"}
#[20:09:47.082][102388/111940  8][25364/26012  3] HASP: First touch Disabled
#[20:09:47.096][98292/108772  9][25364/26012  3] MQTT PUB: backlight => {"state":"on","brightness":255}
#[20:09:47.108][94196/108768 13][25364/26012  3] MQTT PUB: idle => off
#[20:09:47.121][94196/107184 12][25364/26012  3] MSGR: File not found: L:/idle_off.cmd
#[20:09:47.150][102388/111816  8][25364/26012  3] MQTT RCV:  = backlight {"state": "on", "brightness": 255}
#[20:09:47.163][98292/110228 10][25364/26012  3] MSGR: backlight={"state": "on", "brightness": 255}
#[20:09:47.178][98292/110228 10][25364/26012  3] MQTT PUB: backlight => {"state":"on","brightness":255}
#[20:09:59.989][102388/111876  8][25364/26012  3] MQTT RCV: p0b3.text = 20:10
#[20:10:04.515][98292/110356 10][25364/26012  3] MQTT PUB: discovery => {"node":"nappali_uj","mdl":"1-S3 4848S040","mf":"openHASP","hwid":"806599c88d40","pages":12,"sw":"0.7.0-rc12","node_t":"hasp/nappali_uj/","uri":"http://<IP_ADDRESS>","input":{},"power":[],"light":[40],"dim":[]}
#

Well it doesn't look like anything is waking it via command, so it may just be a faulty screen / local interference ?
I haven't seen this issue with my screen.

This all sounds to me like electromagnetic interference on the device/microcontroller. Make sure all the needed signals have an appropriate pull-up/pull-down resistor. Fixing an issue that only occurs randomly is nearly impossible without knowing the root cause...

Is this problem resolved now?

I have the same problem.
And also with the display 1-S3 4848S040. Sometimes it wakes up randomly and (it seems to me) it clicking in a random place.

Is this problem resolved now?

not solved, unfortunately...

This sounds more like a hardware issue than a bug. e.g. the screen is registering a touch when there is none.

More troubleshooting is needed to determine the root-cause.

Does it happen when you detach the screen from the PSU. Power it with a stable 5V power-supply and see what happens.
Does this also happen with other firmware?
Do you have multiple screens? Do they all have the same symptoms?

More troubleshooting is needed to determine the root-cause.

Does it happen when you detach the screen from the PSU? Power it with a stable 5V power-supply and see what happens.
Does this also happen with other firmware?
Do you have multiple screens? Do they all have the same symptoms?

@fvanroie

Does it happen when you detach the screen from the PSU? Power it with a stable 5V power-supply and see what happens.

Try with USB port, it also happen

Does this also happen with other firmware?

I try more RC firmware, it happen all of them

Do you have multiple screens? Do they all have the same symptoms?

Only one screen, but others are also affect it.

Thanks for your feedback. It really sounds like a hardware issue to me.
Maybe you can try other software like Tasmota, ESPhome, ... and see if that also have the problem.
Like stated before, without a way to replicate the random problem, it will be very hard to fix it.

It might be that the touch driver chip is reacting to electrical noise and generating an interrupt. Been digging in to the GT911 programming notes, and I see a couple of config registers that can be set to filter out noise (and adjust the touch sensitivity). There are a couple of functions within the Arduino Goodix driver for the GT911 that read the config registers. Whilst there is a function call to set the resolution, there isn't one to adjust sensitivity.
It would only take a few lines of code to craft a suitable function, but the question is where within openHASP to put it (and when to call). Perhaps add something to the Configuration->Display screen in the web interface ?

The goodix repo is a fork which already has some openHASP tweaks.
So it is fine to add the settings function to the goodix driver.
Then, openHASP can simple call that function when initializing the driver.
At first, a simple test is needed to see if it actually works before thinking about UI changes.

If you do this I glad to test it!

Hacked a few lines of code to read the config registers inside the GT911 chip. In the process, learned a little... My trivial little hack causes openHASP to crash & burn with a panic. Not had time to work out why.
In the meantime, I do have a standalone utility that could be used to tweak the relevant register in the GT911 chip.

OK so it seems that my screen has developed this problem now ;-(
Recently noticed that devices were switching on randomly, and traced it to the screen registering a button press when there was none.

Tried adding a short bit of code to openHASP to modify the relevant register in the GT911 chip during setup. Unfortunately, this addition triggered a panic and infinite reboots. As life is short, and using the JTAG interface to debug is impossible, I've put together a standalone "project" - https://github.com/FreeBear-nc/HA-openHASP/tree/main/GT911
Compile, upload, and then upload the openHASP firmware.
To adjust the noise sensitivity, edit the NR_LEVEL flag in the platformio.ini and recompile/upload - I would suggest 6 or 7 to start with.

Does this register fix the ghost touches?

@fvanroie
I can not able to test it...

If @FreeBear-nc could provide a (tested) pre built binary or 2 with different values, I'm willing to try it (not wishing to brick my screen) ;-)
In my case I seem to get a bunch of false touches, a power cycle seems to stop them. It can then go for days without problem, so will not be easy to be sure its helping for some time.

Had a spell of phantom touches on my Guition display. Didn't get round to uploading my code, and the events haven't reoccurred.

Had a spell of phantom touches on my Guition display. Didn't get round to uploading my code, and the events haven't reoccurred.

Sounds like you are seeing similar issues to me then, I had it on my desk for weeks before I noticed the problem.
I suspect that it may be present on all Guition screens, but others may not have noticed.
It would be great to get it fixed as these are really nice screens for the price.
I don't have it setup, I have managed to fumble my way to using gitpod in the past. But if you can do a couple of builds with different values then you can test one value and I can test another. I can leave it running for a week or so and see if I get any events. Would also need to see if it effects usability of the screen.

@smcgann99  Catch me on discord over the weekend to discuss options.

Pushed three firmware images to my repository. You'll need to use esptool to upload them to your board. Once loaded, do a reset and let it run. Then upload the openHASP firmware.
If the nr-7 or nr-10 builds don't work, the nr-5 build should put everything back to stock.

Pushed three firmware images to my repository. You'll need to use esptool to upload them to your board. Once loaded, do a reset and let it run. Then upload the openHASP firmware. If the nr-7 or nr-10 builds don't work, the nr-5 build should put everything back to stock.

Have you installed one of the values to your screen, if so which ?

Have you installed one of the values to your screen, if so which ?

Tried 6 and 7. But I've only had one evening of phantom touch events, and can't say for sure if it made any difference.

But I've only had one evening of phantom touch events

So with 6 and 7 you are still seeing phantom touch events ?

But I've only had one evening of phantom touch events

So with 6 and 7 you are still seeing phantom touch events ?
Not currently experiencing any phantom touch events even after reverting to 5 (the default setting).

Is there any notable effect on touch usability at higher values ?, if not then why not just leave at highest usable setting ?

Is there any notable effect on touch usability at higher values ?, if not then why not just leave at highest usable setting ?

Didn't notice any change in touch sensitivity at higher values - the max is 15 which I haven't tried (yet).

not sure if you had seen this ?
https://hackaday.io/project/177256-put-a-raspberry-pi-cm4-into-an-original-ipad/log/212604-attempting-to-tune-the-touchscreen-controller

You'll need to use esptool to upload them to your board

Can detail exactly how to upload your firmware, and then revert back to openhasp please ?
Sorry for being overly cautious but your warnings are pretty stark ;-)

You'll need to use esptool to upload them to your board

Can detail exactly how to upload your firmware, and then revert back to openhasp please ? Sorry for being overly cautious but your warnings are pretty stark ;-)

Please see: https://www.openhasp.com/0.7.0/firmware/esp32/
Upload the nr-X firmware files. Reboot.
Then repeat with the openHASP firmware.
Note: I use platformio for compiling, uploading, and monitoring the output. A very useful suite of tools and worth installing.

So we cannot use ota via gui ? If not then does it need to also be erased first

The firmware isn't built with OTA in mind.

Hello and sorry for hoppin' in. Just wanted to thank @FreeBear-nc for developing a solution for this issue.
I'm also facing some unintended wake-ups from time to time.
I just tried the nr-X firmware as described . Will see and and report back if this worked.
Just a little note on this: A little confirmation when flashing the nr-X firmware would be nice. The display stood black all the time and I'm not quite sure if the change on the "NR_LEVEL flag in the GT911 chip" took place.
Please also don't give up on implementing this into the openhasp-firmware. An option to change the NR-Level directly in the UI would be great.

Just a little note on this: A little confirmation when flashing the nr-X firmware would be nice. The display stood black all the time and I'm not quite sure if the change on the "NR_LEVEL flag in the GT911 chip" took place.

If you use the serial monitor (pio device monitor), the firmware dumps a bit of info to the serial port. Implementing printing to the display would use up a lot of time (something that I'm short on).
More information on pio here: https://docs.platformio.org/en/latest/core/userguide/device/cmd_monitor.html

If this is the confirmed root cause for the Guition ESP32-S3-4848S040 with working fix, then it would indeed make sense to add it to the firmware.

@fvanroie It's too early to say at the moment I think. I have the nr-7 set at the moment, but would need at least a week (based on my observations of how random the events are) to have some confidence that it helps.
If other can share their findings here it would help.

@FreeBear-nc I'm not sure if anyone else has been testing this patch ?
I installed the "7" setting 7 days ago, and haven't had any touch events so far.....
Probably too early to say in my case as ghost events were rare, but looks promising.

I installed the "10" setting (just to be safe I guess)
Guess when!

Looking good sofar

If some time today, i also try to install it :)

I installed it. I hope good :)
.\esptool.exe --chip esp32-S3 --port COM3 write_flash -z 0x0 E:\nr-10\firmware.bin

.\esptool.exe --chip esp32-S3 --port COM3 write_flash -z 0x0 E:\esp32-s3-4848s040_full_16MB_v0.7.0-rc12_c27c8b6.bin

At these time, no random wake up. I use Nr-10 FW.

perfect :)

OK. Need to work out how to integrate into openHASP without the panic attacks.

Drink less coffee ? Nice find by the way ;-)

Has the potential to brick the GT911 chip if other registers are also modified (or the read gets corrupted).
So far, haven't managed to do any damage to my screen.

You could test if the checksum of the read matches the expected checksum to make sure the integrity of the data is intact.
Also, id the noise level is already at the desired level, you can skip the write and reduce the chance of a failed write.

Increased error detection so that the function aborts before doing anything fatal.
If old and new values match, no point in writing data, so gracefully exit as per your suggestion.

Just to let you know after testing on USB power for over a week with no issues, I swapped to Mains power and have had around a dozen ghost events today (using Nr-7 FW).
Can others confirm how they are powering the devices, and what level they used please ?

Pushed a couple of precompiled firmware builds to https://github.com/FreeBear-nc/HA-openHASP/tree/main/GT911/firmware
You have the option of an OTA build, and a full one - Both are built on top of openHASP: https://github.com/FreeBear-nc/openHASP/tree/noise_reduction
Take one for a test spin, and you can play with values between 0 and 15.

Thanks, I will leave it running on 5 for comparison. Then work up from there

I use it with  Nr-10 FW, it work without issue on USB power. Today morning i switch it to Main power and the random wake up are come back... :(

I installed new firmware and set it up to value 5. But it not help at all... it need to increase or decrease the number to find out the correct setting?

I have mine set to 8 at the moment, if I get more issues I will increase it 1 at a time to see if it stops

I installed new firmware and set it up to value 5. But it not help at all... it need to increase or decrease the number to find out the correct setting?

Go to Configuration->Display Settings and increase Noise reduction to 12 or even 15.
You'll need to reboot the plate for changes to take effect.

with 12, it is better, but not perfect. now i set it up to 13.
value 12

I try it with "15" (about 18 o'clock ). First i think it is OK but after it will be crazy...

I also ended up setting to 15 but still getting ghost triggers when on mains power.
Real shame as they are nice cheap screens, but I cannot have it randomly switching things on and off ;-(
I got another screen to test, to see if its a problem with all of them, will do more testing when I get chance.

I also ended up setting to 15 but still getting ghost triggers when on mains power. Real shame as they are nice cheap screens, but I cannot have it randomly switching things on and off ;-(
I got another screen to test, to see if its a problem with all of them, will do more testing when I get chance.

same one me... i think it affect all of these type of display...  :(

It could be that you have a particularly dirty (noisy) mains supply. A filter on the mains input might help.

@FreeBear-nc
it possible that these are help?
https://www.aliexpress.com/item/1005004514382684.html

Something like that might help. But I'd be wary of using it on 230V - Capacitors should be rated at 400V, not the 275V supplied.

@FreeBear-nc
well, the main supply on my county are 230V...

I'd also look for one in a plastic case - Less likely to get an accidental electric shock.

these one?
https://www.aliexpress.com/item/4000509059766.html

Metal case by the looks of it. As long as it is earthed, it should be relatively safe.
Should the capacitors pop, the mess will be contained.

@FreeBear-nc
3A is enough right?

@FreeBear-nc
I put before the display  that we are talking about.

@username-AL @TNTLarsn @vampywiz17 @FreeBear-nc
It might be useful to collect some more information.

Could you detail if you are using the onboard mains power supply or USB / other 5V
Have you applied the patch / new firmware build, if so at what setting e.g. 0-15
Did the patch solve the problem
Did all your screens originally exhibit the ghost touch behaviour or only some. i.e. can some screens work ok without patch.

@username-AL @TNTLarsn @vampywiz17 @FreeBear-nc
It might be useful to collect some more information.

Could you detail if you are using the onboard mains power supply or USB / other 5V

Have you applied the patch / new firmware build, if so at what setting e.g. 0-15

Did the patch solve the problem

Did all your screens originally exhibit the ghost touch behaviour or only some. i.e. can some screens work ok without patch.

Try both. Problem only main power. With usb, set 10 are solve the problem

Applied. Try 5, 8 , 13 and 15

3.no

I have only one screen

@fvanroie I put  message on discourse link back to here, not sure if you can do anything to pin / highlight it so its more visible.

@username-AL @TNTLarsn @vampywiz17 @FreeBear-nc
It might be useful to collect some more information.

Could you detail if you are using the onboard mains power supply or USB / other 5V
Have you applied the patch / new firmware build, if so at what setting e.g. 0-15
Did the patch solve the problem
Did all your screens originally exhibit the ghost touch behaviour or only some. i.e. can some screens work ok without patch.

All powered by mains 230V
yes setting 10
No, but less events than before
see screenshot. It seems that only 2 screens are affected

It could be that you have a particularly dirty (noisy) mains supply

I think so too

Real shame as they are nice cheap screens, but I cannot have it randomly switching things on and off ;-(

I've never had unexpected events that switches any buttons etc. on the screen.
It's only the backlight, which turns on and off repeatedly.
When I see that happen, it often helps to touch the display once and switch to another page. Most of the time the screen then stays off.
Overall the "events" were noticeably reduced with the new firmware.

How many screens do you have? If only 2 are affected, could you try to swap a good PSU with a bad PSU and see if the problem moves too? That way you can be sure the issue is in the PSU part and not the display part.
This might be a long shot, but what's that mains frequency? Probably it is 50Hz. The backlight is set to 100Hz, so may there is some interference... try setting the BACKLIGHT_FREQUENCY to something like 97, 103, 109, 113, 127, 131 or 139.

It might be useful to collect some more information.

Could you detail if you are using the onboard mains power supply or USB / other 5V
Have you applied the patch / new firmware build, if so at what setting e.g. 0-15
Did the patch solve the problem
Did all your screens originally exhibit the ghost touch behaviour or only some. i.e. can some screens work ok without patch.

Got two. One mains powered, the other via USB (used for test & development).
Had been running the default 5 noise reduction on the mains powered plate and had a couple of phantom touches.
The mains powered one has been running at NR=7 for a couple of days, no phantom events yet.
Only the mains powered plate has registered any phantom events, and only a handful over the last couple of months. Too early to say if the patch cures it.

Judging by feedback garnered here, the patch does help to reduce the number of phantom events. Uploaded a new firmware build with a 110Hz backlight frequency.

I have two on my desk powered by same mains socket.
One is running standard 0.7.0-rc14 bb8d24d firmware and the other @FreeBear-nc version set to 15.
Stock firmware no events in the last 8 hours, modified firmware around 40 events.
I and others have had ghost events even with the USB power, but it seems less of an issue, indeed if I swap the problem screen back to USB the issues seems to stop with a higher setting 7+
I never noticed this issue when I first got the screen and was using it for development, so perhaps something is failing over time ?

I never noticed this issue when I first got the screen and was using it for development, so perhaps something is failing over time ?

Just picked up the main power board for the plate I'm using for test & development... One of the capacitors on the switch mode PSU module is rattling around loose. Going to have to remove the module somehow and solder that capacitor down.

I power cycled the bad screen a hour ago and no events yet. Before it was averaging 4-5 an hour.
This is something I noticed before, will see how long it takes for ghost events to come back.

It might be useful to collect some more information.

Could you detail if you are using the onboard mains power supply or USB / other 5V
Have you applied the patch / new firmware build, if so at what setting e.g. 0-15
Did the patch solve the problem
Did all your screens originally exhibit the ghost touch behaviour or only some. i.e. can some screens work ok without patch.

Got two. One mains powered, the other via USB (used for test & development).
Had been running the default 5 noise reduction on the mains powered plate and had a couple of phantom touches.
The mains powered one has been running at NR=7 for a couple of days, no phantom events yet.
Only the mains powered plate has registered any phantom events, and only a handful over the last couple of months. Too early to say if the patch cures it.

Judging by feedback garnered here, the patch does help to reduce the number of phantom events. Uploaded a new firmware build with a 110Hz backlight frequency.

I try 110Hz firmware, but the problem are also happen.

For info after power cycle at 00:00 I have only had 2 false events so far  -
07/09/24 05:50:57 LCD:1 btn:p1b51
07/09/24 07:05:45 LCD:1 btn:p0b21
Where yesterday, before power cycle I got all these -
06/09/24 15:39:51 LCD:1 btn:p0b21
06/09/24 15:45:44 LCD:1 btn:p1b51
06/09/24 16:03:13 LCD:1 btn:p1b2
06/09/24 16:17:11 LCD:1 btn:p1b51
06/09/24 16:40:50 LCD:1 btn:p1b51
06/09/24 17:03:30 LCD:1 btn:p1b5
06/09/24 17:03:30 LCD:1 btn:p1b5
06/09/24 17:04:45 LCD:1 btn:p1b5
06/09/24 17:21:45 LCD:1 btn:p0b21
06/09/24 17:26:36 LCD:1 btn:p0b21
06/09/24 17:26:45 LCD:1 btn:p0b21
06/09/24 18:29:19 LCD:1 btn:p0b30
06/09/24 18:30:58 LCD:1 btn:p0b30
06/09/24 18:31:14 LCD:1 btn:p0b21
06/09/24 18:31:39 LCD:1 btn:p0b30
06/09/24 18:32:10 LCD:1 btn:p0b30
06/09/24 18:35:41 LCD:1 btn:p0b30
06/09/24 18:38:21 LCD:1 btn:p0b21
06/09/24 18:43:48 LCD:1 btn:p0b30
06/09/24 18:50:38 LCD:1 btn:p0b30
06/09/24 18:53:51 LCD:1 btn:p0b30
06/09/24 18:59:09 LCD:1 btn:p0b30
06/09/24 19:05:17 LCD:1 btn:p0b30
06/09/24 19:07:55 LCD:1 btn:p0b30
06/09/24 19:15:26 LCD:1 btn:p0b30
06/09/24 19:44:45 LCD:1 btn:p1b51
06/09/24 20:00:20 LCD:1 btn:p1b6
06/09/24 20:15:47 LCD:1 btn:p1b51
06/09/24 20:26:07 LCD:1 btn:p1b6
06/09/24 20:56:49 LCD:1 btn:p1b6
06/09/24 21:14:29 LCD:1 btn:p1b5
06/09/24 21:20:11 LCD:1 btn:p1b5
06/09/24 21:32:31 LCD:1 btn:p1b51
06/09/24 21:53:47 LCD:1 btn:p1b5
06/09/24 22:06:21 LCD:1 btn:p1b51
06/09/24 22:14:38 LCD:1 btn:p1b6
06/09/24 22:24:51 LCD:1 btn:p1b5
06/09/24 22:34:33 LCD:1 btn:p1b51
06/09/24 23:17:33 LCD:1 btn:p1b6
06/09/24 23:29:38 LCD:1 btn:p1b2
06/09/24 23:38:25 LCD:1 btn:p0b42
06/09/24 23:48:56 LCD:1 btn:p1b51
07/09/24 00:02:11 LCD:1 btn:p1b16
Still no events from the new screen on stock firmware.

I never noticed this issue when I first got the screen and was using it for development, so perhaps something is failing over time ?

Just picked up the main power board for the plate I'm using for test & development... One of the capacitors on the switch mode PSU module is rattling around loose. Going to have to remove the module somehow and solder that capacitor down.

Did you find a problem with the PSU ?

Did you find a problem with the PSU ?

Yes. One of the electrolytic capacitors finally fell off the PSU module - A pain in the b... to solder back in place as there is a relay in the way. Getting the module off the main PCB wasn't easy.
But I have only ever used this particular device on the bench powered via USB.
I did note that it is possible to remove R5 & R6 (both zero ohm links) and insert a suitable small common mode inductor in the space labeled L4. Something like this: https://www.aliexpress.com/item/1005006624953914.html

Update, I swapped over the PSUs between my two screens, and neither screen caused any ghost touches.
Swapped them back to original after around 3 days. STILL no ghost touches!
After 7 days bad screen started with ghost touches again.
Swapped again and now "bad" PSU red LED lights up but screen doesn't power up (works fine on USB)
Noticed that the smaller capacitor looks a little bit suspect (like there is too much black plastic showing at the bottom of the can.
Will do some tests on PSU and swap capacitor.

@FreeBear-nc
I replaced the 330uF capacitor with a new one and screen now boots, will monitor over next days for ghost events.
Have you found anything interesting with your screens / PSUs ?

Found the 330uF capacitor fell out when poked (bad solder joint). But this particular board sits on the bench powered by USB when (if) I'm testing code.
Next time the power is off, I'll take a look at the Guition that is currently screwed to the wall - I've only had a handful of phantom touches on that board, and nothing since setting noise reduction to 7 (was originally 5).

No issues in the last 7 days since changing the  330uF capacitor .....

No issues in the last 7 days since changing the 330uF capacitor .....

Starting to sound like a power supply problem.
I noted some of the reviews left on Aliexpress commented about the poor quality of construction. I have a dodgy unit here which would appear to support the opinion that Guition has quality control issues.
If you haven't already tried it, drop noise reduction back down to 5 and see if you get any more phantom touch events.

I only had your fix on one unit, which I did set to 5 the other has stock firmware.
Sounds like a batch issue perhaps ?

No issues in the last 7 days since changing the 330uF capacitor .....

You able to make a pic what capacitor are replace it?

No issues in the last 7 days since changing the 330uF capacitor .....

You able to make a pic what capacitor are replace it?

It will be the top left one on the PSU board. While you have access to the rear of the module, it is a good idea to check the other capacitor is properly soldered in.

Some interesting remarks regarding to the power-supply and upgrades can be found here:
https://michiel.vanderwulp.be/domotica/Modules/SmartDisplay-ESP32-S3-4.0inch/power-supply/#safety-capacitor

@fvanroie Interesting read and a useful site in general.
@FreeBear-nc You fitted the inductor yourself ?

@FreeBear-nc
@fvanroie
I took it apart my device and not only  C1 and R4 but L4 is also missing....

Somebody able to measure the L4 part? i would like to build it, but it would be good the details.

One of my boards has L4, the other doesn't. Don't have an inductance meter so can't measure the value.
 Not able to comment on the effectiveness as this one spends most of the time on the bench powered by USB.
None of my boards have C1 or R4 fitted...

@vampywiz17 Did you swap the 330uf capacitor, that fixed my issues ?


Iss683 hi t res retrieval

Summary of changes (Bug fix, feature, docs update, ...)

The way that footprint metadata for high time/spatial resolution and short lifetime was
inconsistent with how it was being standardised and searched for.
Previously, search option was e.g. high_time_res=True, while what was being stored
was time_resolution="high_time_resolution".
Now any Boolean metadata that is passed to standardise_footprints is passed to the
metastore unchanged. Thus encoding/decoding of Booleans is done by TinyDB (which
uses the Python JSON module).
This required changing assign_data in _base.py, which adds metadata passed in by
the user to the attributes of the Dataset that is saved to netCDF. Since Booleans are
a valid type for netCDF4 attributes, any invalid data types are converted to strings
before they are added to the dataset attributes.
By default, either True or False is stored in the metastore for the values of 'high_time_resolution",
"high_spatial_resolution", and "short_lifetime". When searching for footprints, these keys are optional,
and if they are not specified, then the search will not be limited by the keys. For instance, if
"high_time_resolution" isn't specified in search_footprints, then both high and low time resolution
results could be returned.
A further change is that instead of "high_time_res", search_footprints and standardise_footprints now
use "high_time_resolution" as a key. Similarly, "high_spatial_res" has been replaced by "high_spatial_resolution".
This makes "standardise_footprints" consistent with "standardise_emissions".

Please check if the PR fulfills these requirements

[x] Closes #683  (Replace xxxx with the Github issue number)
[x] Tests added and passed if fixing a bug or adding a new feature
[x] All code checks passing - black --line-length 110 run over code, mypy and flake8 not showing any errors
[ ] Documentation and tutorials updated/added
[ ] Added an entry in the latest CHANGELOG.md file if fixing a bug or adding a new feature
[x] Added any new requirements to requirements.txt and recipes/meta.yaml

One of the changes I made was to use "high_time_resolution" instead of "high_time_res" for footprint standarisation and search. "resolution" is used instead of "res" in some other search functions, so I thought it would be best to have the same name everywhere.
This makes some of the tutorials a bit inaccurate, since they use "res" instead of "resolution" for footprints. I don't really want to change the tutorials yet, since there is that tutorial typos PR still open.

Codecov Report

Merging #720 (545fa1f) into devel (fe38ee3) will increase coverage by 0.09%.
The diff coverage is 50.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##            devel     #720      +/-   ##
==========================================
+ Coverage   33.56%   33.66%   +0.09%
==========================================
  Files         175      175
  Lines       13877    13899      +22
==========================================
+ Hits         4658     4679      +21
- Misses       9219     9220       +1

Files Changed
Coverage Δ

openghg/retrieve/_search.py
0.00% <0.00%> (ø)

openghg/standardise/_standardise.py
0.00% <0.00%> (ø)

openghg/store/_footprints.py
0.00% <0.00%> (ø)

openghg/store/base/_base.py
0.00% <0.00%> (ø)

tests/dataobjects/test_datamanager.py
100.00% <ø> (ø)

tests/objectstore/test_integrity.py
100.00% <ø> (ø)

tests/standardise/test_standardise.py
98.05% <ø> (ø)

tests/db_integrity/test_data_updates.py
97.37% <100.00%> (+0.12%)
:arrow_up:

tests/retrieve/conftest.py
100.00% <100.00%> (ø)

tests/retrieve/test_access.py
93.33% <100.00%> (ø)

... and 2 more

One of the changes I made was to use "high_time_resolution" instead of "high_time_res" for footprint standarisation and search. "resolution" is used instead of "res" in some other search functions, so I thought it would be best to have the same name everywhere.
This makes some of the tutorials a bit inaccurate, since they use "res" instead of "resolution" for footprints. I don't really want to change the tutorials yet, since there is that tutorial typos PR still open.

Yeah I understand what you're thinking, and we should prioritise getting that PR in if we can, but I think it may be better to just update the tutorials so we can finalise this PR and deal with the merge conflicts on the typos PR instead.

I addressed all of the comments. My responses above cover the major changes, except the tutorials, where I updated any uses of "high_time_res" etc, and updated the hardcoded output to match what is produced on this branch.


Dependency upgrades

Maintenance upgrades of django and other dependencies.
https://github.com/cividi/spatial-data-package-platform/security/dependabot/django/docker/django/requirements/00.txt/django/open

I updated the django and vue packages


RealSense D405 / D401 official CAD files now available

Hi everybody,
The official Intel CAD files for the RealSense D405 camera and the D401 depth module are now available at the link below.
https://dev.intelrealsense.com/docs/stereo-depth-camera-d400#section-cad-files

Hi @dpbnasika  There are currently access problems with the https://www.intelrealsense.com/ website at the time of writing this.  The CAD file downloads use this web address.  Please try again later. Thanks for your patience!

Hi @MartyG-RealSense i still get the error. I could not able to access it.

It may come back later today, taking into account the time zone difference between California and the rest of the world.


Add configurable rule for strict string definitions

I need help with this rule because it doesn't work as expected.
To execute the rule I need the same object in two where clauses, and our documentation is unclear if this is allowed or not.
    where:
      - subject:
          type: Schema
          property: type
        assertions:
          const: string
      - subject:
          type: Schema
          property: enum
        assertions:
          defined: false

The where object is part of a where list which must be defined in order from the root node. Nodes may be skipped in between the subject node types of the where list and those defined in the root subject type.

https://redocly.com/docs/cli/rules/configurable-rules/#where-object
It doesn't state if you can use the same node twice. If I can't, how do I accomplish this rule?

@adamaltman a node cannot be used twice in the where object. This is a restriction of current implementation.

how do I accomplish this rule?

There are several options to this, e.g. you can define a custom function (in a plugin) which will combine the two assertions into one, or you can try 'moving' one of the checks into the actual assertion (depends on the behaviour you're trying to achieve).
Writing a custom rule is also always an option. And lastly, we can try rewriting the core logic that doesn't allow to reuse the nodes (but I suspect that the restriction was implemented intentionally).

It should make sure all strings have minLength and maxLength defined unless they have an enum defined.

Could you try if something like this works for you?
  rule/string-schemas:
    where:
      - subject:
          type: Schema
          property: type
        assertions:
          const: string
    subject:
      type: Schema
    assertions:
      requireAny:
        - minLength
        - maxLength
        - enum
      mutuallyRequired:
        - minLength
        - maxLength

This does work.


feat: add postgresql

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update to latest dependecies

Hi @hassox, I updated the example to use the latest dependencies and fixed a number of errors associated with those updates.  This should close #3.

I looked at this and it looks good to me :+1: I am no expert on Guardian tho


[Mistake]: There is no header guard in loguru.hpp

This is really dangearous ....
This header file should contain a header guard to prevent multiple inclusion.

There are headers guards. Two of them, for two separate sections: LOGURU_HAS_DECLARED_FORMAT_HEADER and LOGURU_HAS_DECLARED_STREAMS_HEADER.
Having two allows you to #include loguru.hpp once without LOGURU_WITH_STREAMS defined and then once again with LOGURU_WITH_STREAMS defined without problems.


Add missing File::PATH_SEPARATOR constant

Feature Request
It would be useful to have an OS aware File::PATH_SEPARATOR constant. Unlike the regular File::SEPARATOR constant, this constant represents the character used to separate directories in the $PATH environment variable. On Windows the path separator is ';', where as on *nix systems it is ':'.
Example Code
  PATH_SEPARATOR = {% if flag?(:win32) %}
                     ';'
                   {% else %}
                     ':'
                   {% end %}

  PATH_SEPARATOR_STRING = {% if flag?(:win32) %}
                            ";"
                          {% else %}
                            ":"
                          {% end %}

Usage
paths = ENV.fetch("PATH", "").split(File::SEPARATOR, remove_empty: true)

I think Process is the best namespace for it. These aren't actually part of a path in any way and they are needed only to be able to pass this information across processes.
And even if it isn't the best location, the difference isn't enough to justify a move with a deprecation.


When the user is added to the group the "user added to group" event is not trigger instead group update event is triggered[in okta multiple time ]

Closing this because this is duplicate of [Task - SCIM]: Split the repository calls into 3 calls in Update User Group for Provision


Wallet import flow could be improved by making the blue button pulse

I don't think it's clear what step is next when importing a seed.
Create Keystore?
Import Keystore?
At this point shouldn't we select or check for accounts on different address types?
By default it suggest to import 84' segwit derivation path,
Then we chose legacy from the script type up top?
Derivation is highlighted, in red, No way to edit it?
Then we expect the user to find the Replace button top right.
Not sure what it's replacing by what, The derivation box still show 84'
Then we start from scratch, Entering 12 words again
Import keystore...
Assume everything is fine on this page,  Find and click the bottom Apply button.
Contrast this with Electrum, that shows a "Detect existing account" right after entering the seed and present them all as such.

I honestly don't know understand what we're supposed to do at most of these preliminary steps so I don't think I can suggest an alternative that isn't a major change.
Ok, so I've hit a wall, Seems like we can't add a custom account number OR more than 10 accounts.

I just stated from scratch, enter the words then enter my Derivation path of /44'/0'/9'
Why does it highlight it in red?  I don't want to replace it I want this one,
But up top it say Native Segwit,
It's pretty weird that the wallet assume a derivation path, show me some red warning that I need to replace, Instead of just asking me what derivation path I want.
It's very confuting to have this large page of information and button where more than half of them cannot be edited,
Like how am I supposed to know what can be edited?
Label? I already wrote a name to this wallet, what's BIP39 label?
So I can edit, BIP39, ok let's do that,,,?
Can edit Fingerprint, Same white box,
Can't edit derivation, Same white box,
Can't change XPUB
Why do the boxes turn blue when clicking on them if nothing can be done about them?

Same white box,

Ok same thing, can't go higher than 9' even if starting at 9'.
It'd be great if we could just type the account number we want here.

If you want to search for used accounts on a seed, use the File > Import Wallet > BIP39 option, and click Discover. Note Sparrow searches the first 10 accounts (as per BIP32) for every supported script type.
If you would like to use any arbitrary derivation path when importing your seed words, change the derivation path after you have entered the seed, but before you import:


Kishorebolinidi home town

Test for pull request

Testing email 123... :dancer:

Hello Mohan

:+1:

Hola :accept:


Unable to create record

The title says it all, I have screenshots and a gif.
screenshot1: https://prnt.sc/saa8lf
screenshot2: https://prnt.sc/saa8yr
screenshot3: https://prnt.sc/saa9cy
screenshot4: https://prnt.sc/saa9pq
screenshot5: https://prnt.sc/saa9xm
gif: https://gyazo.com/1c9a56903f89b6bf6dd581f954a83920

I’ll look in to this issue

This is same issue as #3. This is fixed.


use traditional version on Jekyll gem

(Creating this issue for future reference, after @yingzhuchin has returned)
In the Gemfile, Jekyll is specified as a commit version on GitHub, instead a traditional release version. As a result, the Netlify checks are expensive, requiring gem rebuilds. In this experiment, using a traditional version reduced the execution time from ~5 minutes to ~2.
Looking at ci/README.md, I see that updating gem versions also requires updating the Docker image. So the immediate task is:

Update the Dockerfile with the updated Jekyll gem version, as prescribed in the README

Further optimizations to consider after the above:

Use a more recent Alpine image in the Dockerfile, which will get us a more recent Ruby

It is desirable that the CI Ruby version is close to the default version on Mac, that developers use

Use an actual Ruby Docker image

Further consideration: requiring a Docker image update when gems are updated is a performance optimization, but imho, makes things harder than they should be. I’d rather have a gem update ‘just work’. If we wish to also optimize the Docker image, make it optional.

This was address in a PR by @ianjevans: https://github.com/cockroachdb/docs/pull/9804/files#diff-d09ea66f8227784ff4393d88a19836f321c915ae10031d16c93d67e6283ab55fR8.
The docker image is just for TeamCity. We need to think about moving all the way over to Netlify for CI/CD: https://github.com/cockroachdb/docs/issues/7050 once @yingzhuchin is back.


Tweaks to fix python 2 test on windows

Coverage remained the same at 89.301% when pulling e627671553d974aeae085b25ba9beda02bb1c9cd on kwmsmith:touchup-type-test into b9e8f981051401b99a8260bdf4fc13f959ad965a on blaze:master.


Using commit search to identify new contributors

The current approach to checking for new contributors does not work in repositories with more than 500 contributors because the contributors list API endpoint only associates the first 500 committer emails with GitHub usernames. See #41 for more explanation.
This PR modifies the new contributor check to use the commit search API endpoint. A drawback of this approach is that (at least currently) that endpoint does not provide useful information for fork repositories. To address that, is_new_contributor returns False when the repository is a fork.
To summarize, here are pros and cons:

[pro] Repositories with more than 500 contributors (e.g., rust-lang/rust) will no longer treat every PR from repeat contributors, beyond the first 500 contributors, like they are new contributors.
[con] Nobody in a fork repository will be treated like a new contributor. I don't think Highfive is currently configured to support any fork repositories, so this won't be noticeable for now. I've asked a question here to see if this is a bug or can be worked around.
[con] The Commit Search API is a preview that can change at any time, so there's a risk that this will break one day or just go away altogether. I think this is a better option than what Highfive is currently doing, and if you agree, I am going to follow-up on the PR by adding integration tests so that we will notice through automation if the API changes.

This conflicts with #117, so I'll need to rebase this or that, if one of them is merged. I wanted to get this out now to get commenting going.

I think this is a better approach - not working on forks seems like a theoretical problem at this stage


Security Unconf by SecurETH

If you're submitting an event, please read the instructions below and fill in
the content. Otherwise just remove all the content of this issue and explain
in detail the problem you're experiencing.

####################
INSTRUCTIONS
####################
This file is a template to create new events.
Don't remove any text before the colons at the beginning of each line,
only edit what is after the colon. Example:
Don't remove the word nor colon on 'description:'

Every line starting with a hash symbol (#) is a comment. It will be ignored
and can be safely removed, including these instructions.
###############
###########
SEO
###########
Security Unconf
Security Unconf by SecurETH
title: Security Unconf by SecurETH
Description for this event. This will be rendered as a  tag in the HTML,
and displayed on the /events page. Keep it short.
Linebreaks are ignored, but they must start with two spaces.
description: Gathering of the Ethereum Security Community. This initiative is organized by SecurETH in collaboration with other initiatives.
#####################
EVENT DETAILS
#####################
The name of the event you're creating.
Ideally this is the same as the title.
name: Security Unconf by SecurETH
There needs to be one hyphen before each paragraph.
Linebreaks are ignored, but they must start with two spaces.
Indentation is crucial:
Two spaces before the hyphen, four spaces before the text. No tabs allowed.
Add or remove paragraphs as needed, but remember the hyphen before each entry.
synopsis:
Gathering of the Ethereum Security Community. This initiative is organized by SecurETH in collaboration with other initiatives.
Sign-ups and discussions please suggest here.
The date should be in the format year-month-day (ISO 8601).
Example: 2018-02-28
date: 2018-09-06
The date when the event ends. Can be left empty or set to the same day the
event starts.
endDate:
Set the time in 24 hours format, surrounded by quotes.
Only the starting time!
Example: '18:00'
time: '8:00'
Time when the event ends. Can be left empty.
endTime: '22:00'
The URL where to akquire the tickets. Can be left empty.
tickets: https://eventbrite.com/my-event
If the entrance is free, set zero (0) as the price, or leave it empty.
Don't write the currency symbol (Euro symbol will be used).
price: 0
The name of the venue where the event will be held. Can be left empty.
venue: FULL NODE
The address to link to a Google map. Please test the address on Google Maps.
Example: Skalitzer Strasse 85-86, 10997 Berlin, Germany
address: Skalitzer Strasse 85-86, 10997 Berlin, Germany
The category of the event. Valid options:
- conference
- event
- hackathon
- panel
- workshop
Use only one, and don't capitalize.
category:  worshop
#################
SPEAKERS
#################
There needs to be one hyphen before each entry.
Linebreaks are ignored, but they must start with two spaces.
Indentation is crucial:
Two spaces before the hyphen, four spaces before the text. No tabs allowed.
Add or remove speakers as needed, but remember the hyphen before each entry.
speakers:
# Required.
name: Bryant Eisenbach

# Can be left empty.
title: SecurETH

# Can be left empty.
company:

# The full URL, including http(s)://. Can be left empty.
companyURL: https://secureth.org/

# Just the twitter handle, without Twitter's URL, nor the '@' symbol.
# Can be left empty.
twitter: fubuloubu

# The full URL, including http(s)://. Can be left empty.
website:

# The bio is a single line.
# Linebreaks are ignored, but they _must_ start with two spaces.
bio:

DON'T MAKE CHANGES BELOW THIS LINE!

Thanks!

Added on b13eef01ea952c177b7721ba010d6e8360e6ccdc


[Question] Is there a way to have different colours event on month view ?

Hi!
Pretty new to vue-cal, I want to have different background-color for my events on month view. (screen below)

Is there a way to have the 7th in green, and the 8th and 9th in purple ?
My events object :
 data: () => ({
      selectedDate: new Date(),
      events: [
        {
          start: '2021-04-07',
          end: '2021-04-07',
          class: 'leisure'
        },
        {
          start: '2021-04-08',
          end: '2021-04-08',
          class: 'sport'
        },
        {
          start: '2021-04-09',
          end: '2021-04-09',
          class: 'sport'
        }
      ]
  }),

My css :
  .vuecal__cell--has-events {
    background-color: rgb(121, 224, 144);
    color: white;
  }

What I want :
  .vuecal__cell.leisure {
    background-color: green;
  }
  .vuecal__cell.sport {
    background-color: purple;
  }

the 8th in purple***

Hi! Hi, yes, probably easy to do.
Pure usage-related questions are probably better to post on Stack Overflow than as an issue in this repo.
In any case, a minimal reproduction demonstrating the issue using CodePen, CodeSandbox or similar is needed to be able to help you.

Hi @RobinTHOREL,
To style events on month view this is easy.
But to style cells differently acording to the events they contain it's a little more work.
You should do this manually with custom cell rendering and check the events. then display a background color with a different class in a div that you position absolute.
https://antoniandre.github.io/vue-cal/#ex--custom-title-and-cells
I think you moved on by now, closing the issue.
Thanks @rubjo.


Disable payload signing

AWS SDK for Rust currently signs most payloads. Consider using UNSIGNED-PAYLOAD for uploads. See https://github.com/smithy-lang/smithy-rs/pull/3583

Support was merged to main https://github.com/smithy-lang/smithy-rs/commit/8dbf48cf527bc8836431aa49737caedfe7b28355 but has yet to be released


Blocks & Group-list docs

Yeah that's good feedback for sure. I've def been overusing the code tags. A style guide would be awesome! Thanks for looking at this.

Can we deal with a Style Guide in a further issue and publish this as is for now?


Fixed #27181 -- Enable Sites framework to normalize domains with trailing "."

https://code.djangoproject.com/ticket/27181

This should probably have some tests in tests/requests/test.py.

Added tests

As suggested before, I think some tests should also be included in tests/requests/tests.py rather than testing "core" functionality (HttpRequest) only in a contrib app.

Added a test to tests/requests/tests.py but not sure what the test in tests/requests/tests.py should look like.

Also, please squash commits when updating.

I made the proposed changes. Hope everything is fine.

LGTM, I pushed a few minor edits. The main thing to note is our test docstring guidelines in the Python style guide. Include a more descriptive message than "Regression test for XXXXX."


Occasionally, when I call the DTWAIN_EnumSources method, there is a long delay before getting a response

When I call the DTWAIN_EnumSources method, there is no response for a long time.

The delay can occur due to Windows having to load the DLL's (or .ds files) for each device.  This cannot be prevented.

This is the output log file. The first few attempts didn't produce any results, only the last one was successful.
I don't know what caused it because I am not familiar with DTWAIN
dtwain.log

What computer language are you using?  I see several repeated attempts of using DTWAIN_SetTwainLog.  It looks like you are calling DTWAIN_SetTwainLog in some sort of loop.  If you ran the demo DTWDEMO.exe program, do you get the same results with the speed of enumerating the sources?
The DTWAIN_EnumSources uses TWAIN directly to go through the sources, as per the TWAIN specification using the TWAIN triplets that perform "Get the first source" and then "get the next source".  The way this works is that TWAIN itself is going to your system and finding all of the .ds extensions and calls on each .ds for basic information.
This is what I mentioned in the previous post -- if it takes the system time to get the information, this is an issue that DTWAIN has no control over.  This is why DTWAIN caches the sources found when DTWAIN_EnumSources is called, so that subsequent calls to DTWAIN_EnumSources do not have to go through TWAIN to enumerate the sources again.

The programming language I'm using is Go. I did call DTWAIN_SetTwainLog multiple times. As a WebSocket server, I initialize (DTWAIN_SysInitialize) and call DTWAIN_SetTwainLog each time a client establishes a connection, but these calls are made in different threads.
I ran the demo programs DTWDEMO.exe and twacker_32.exe and encountered the same issue, so it’s not a problem with DTWAIN.

It really depends on the OS and working environment.  For example, I have multiple TWAIN devices (more than 6) that take  about a second (not more than two seconds) to enumerate.   If you take those devices and installed them on another machine, the enumeration may take longer.
If you want to know exactly what is slowing down the process, create a Go program that pauses in some way (maybe wait for a keypress) before you call DTWAIN_EnumSources.  If you have Visual Studio, you open up Visual Studio and attach to the Go process that is running.  Then open the Output Window of Visual Studio.  Then what you want to do is "unpause" the Go program and look at the Output window.  You will see all of the DLL's that are being loaded -- the DLL that shows up being "stuck" is the one that is taking the time to load.

Thanks for the feedback.  I'll do some more testing a report back. Thank you

Since I do not use Go, if possible can you give me a small example of how you set up DTWAIN with the Go language?  I may have to make a language binding for Go (and also for Rust), so that programmers of those languages do not have issues with using DTWAIN right away,
If you can't do this, no problem.  Just that I would like to get other language examples out there, besides the ones that already exist (C/C++, C#, Python, Java, Delphi, VB).

Uploading dtwainDemo.zip…
This is a demo, very simple but it runs.

I tried to upload this example to GitHub, but it was not successful. I am not sure why.
So I sent you an email.

I didn't get the email.
What you can do is copy and paste a few lines of code of the declaration of the DTWAIN function and a sample line calling the code.  For example, in C#, all I would need would have been a couple of sample lines or two declaring a few of the DLL functions.
Unless in Go, you have to have a major coding setup, I should be able to get the general idea of what is required.

mian.zip
ok，
A small example of how to set up DTWAIN with Go language

I opened up a new issue #109 concerning the Go language, so any updates should go there.

Thank you very much, this is not an issue with DTWAIN, so I closed this issue.


formatter not working after installation

i have enabled "atom-formatter-jsbeautify" and then tried to format my js file but it is NOT  reflecting any change
below is my codebase !

Same here. Was hoping I had done something wrong. JSFormat screws up my JSX.


FATA[0000] tls cert and tls key must be set for the external api

Hi.
I have  an error in running  lora-app-server

eza@ubuntu:~/work1/src/github.com/brocaar/lora-app-server/build$ ./lora-app-server
WARN[0000] No configuration file found, using defaults. See: https://www.loraserver.io/lora-app-server/install/config/
INFO[0000] starting LoRa App Server                      docs="https://www.loraserver.io/" version=2.0.0-alpha.2-2-gd9c0628
INFO[0000] connecting to postgresql
INFO[0000] setup redis connection pool
INFO[0000] handler/mqtt: TLS config is empty
INFO[0000] handler/mqtt: connecting to mqtt broker       server="tcp://localhost:1883"
INFO[0000] applying database migrations
INFO[0000] handler/mqtt: connected to mqtt broker
INFO[0000] handler/mqtt: subscribing to tx topic         qos=0 topic=application/+/device/+/tx
INFO[0000] migrations applied                            count=0
INFO[0000] starting application-server api               bind="<IP_ADDRESS>:8001" ca-cert= tls-cert= tls-key=
INFO[0000] starting join-server api                      bind="<IP_ADDRESS>:8003" ca_cert= tls_cert= tls_key=
FATA[0000] tls cert and tls key must be set for the external api

I have changed root.go:
viper.SetDefault("postgresql.dsn", "postgres://loraserver_as:dbpassword@localhost/loraserver_as?sslmode=disable")
viper.SetDefault("application_server.external_api.tls_cert", "/etc/lora-app-server/certs/http.pem")
viper.SetDefault("application_server.external_api.tls_key", "/etc/lora-app-server/certs/http-key.pem")
viper.SetDefault("application_server.external_api.jwt_secret","password")

How can fix this?

You should not make this change in root.go. Please see https://www.loraserver.io/lora-app-server/install/config/.

How can i fixed it. I had the same issues


Add restart strategy

What type of PR is this?
/kind feature
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #684
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Add configurable restart strategy.

/ok-to-test

Looks like a useful change, the idea is to resolve the issue described here correct?
Added a few comments.

Yep, thats exactly what this is targeting.

@nstogner you probably need to run make generate to fix the CI error

/lgtm
/approve
Great, thanks!


Fix for incorrect value_counts

Reverts changes from https://github.com/dask/dask/pull/10182.
https://github.com/dask/dask/pull/10182 was fixing https://github.com/dask/dask/issues/10146. In this PR, the same fix is done another way, and this way correctly calculates value counts. Might not be the most performant; perhaps @phofl could advise.

[x] Closes https://github.com/dask/dask/issues/10322
[x] Tests added / passed
[x] Passes pre-commit run --all-files

The code looks good to me, but before merging, we should add a regression test for the issue in https://github.com/dask/dask/issues/10322 to avoid running into this in the future.

I was unable to find a small example data to recreate it, but I'll poke some more.

GPU failures look unrelated.
dask/bytes/tests/test_s3.py:14: in <module>
    s3fs = pytest.importorskip("s3fs")
/opt/conda/envs/dask/lib/python3.9/site-packages/s3fs/__init__.py:1: in <module>
    from .core import S3FileSystem, S3File
/opt/conda/envs/dask/lib/python3.9/site-packages/s3fs/core.py:15: in <module>
    import botocore.session
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/session.py:26: in <module>
    import botocore.client
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/client.py:15: in <module>
    from botocore import waiter, xform_name
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/waiter.py:18: in <module>
    from botocore.docs.docstring import WaiterDocstring
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/docs/__init__.py:15: in <module>
    from botocore.docs.service import ServiceDocumenter
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/docs/service.py:14: in <module>
    from botocore.docs.client import ClientDocumenter, ClientExceptionsDocumenter
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/docs/client.py:17: in <module>
    from botocore.docs.example import ResponseExampleDocumenter
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/docs/example.py:13: in <module>
    from botocore.docs.shape import ShapeDocumenter
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/docs/shape.py:19: in <module>
    from botocore.utils import is_json_value_header
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/utils.py:37: in <module>
    import botocore.httpsession
/opt/conda/envs/dask/lib/python3.9/site-packages/botocore/httpsession.py:45: in <module>
    from urllib3.contrib.pyopenssl import (
/opt/conda/envs/dask/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py:50: in <module>
    import OpenSSL.crypto
/opt/conda/envs/dask/lib/python3.9/site-packages/OpenSSL/__init__.py:8: in <module>
    from OpenSSL import crypto, SSL
/opt/conda/envs/dask/lib/python3.9/site-packages/OpenSSL/crypto.py:3279: in <module>
    _lib.OpenSSL_add_all_algorithms()
E   AttributeError: module 'lib' has no attribute 'OpenSSL_add_all_algorithms'

Looks like the bug appeared in 2023.4.0.
The problematic line was this one:
https://github.com/dask/dask/blob/84da68e00e53f76f35215afa00914811c91aca04/dask/dataframe/groupby.py#L3125
I'm guessing that after we concatenated groups into a single Series object, we can't assume that indexing remained the same. Maybe it did sometimes, by pure luck. But we shouldn't directly reuse the previous index levels.
instead of reusing the previous MultiIndex levels, this PR does astype on each levels to ensure dtypes match before and after concat.


build_web_compilers shouldn't have an upper SDK bound.

Somebody needs to fix build_web_compilers so it doesn't have an upper sdk limit because it blocks our ability to make releases. Right now if we bump the sdk version, the test will fail, blocking out ability to update the sdk version after cutting a stable release.
The tests
pkg/dartdev/test/commands/create_integration_test RuntimeError (expected Pass)

are failing on configurations
unittest-asserts-release-linux

https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8768040075748241681/+/u/test_results/new_test_failures__logs_

The upper bound isn't just there for no reason... we have a somewhat tight upper bound as an agreement with the web compiler team, because it allows those tools (and others) to make breaking changes to their command line arguments, etc.
If we are notified in advance of the version change, we could pre-emptively bump the max SDK limit ahead of time?

New versions have been published that allow 3.3.x, not closing this for now though since I think there is more discussion to be had for future releases.

Thanks for the quick answers. Yeah we'll definitely need to have solutions here and I'm happy to help find them :)
Because right now it can be pretty impossible to start work on the next dart version and we need to significantly reduce issues like this

I am definitely happy to do a pre-emptive bump. It typically should not take more than a day of turnaround time. I just don't know how to coordinate that with the releases.
These pre-emptive version bumps could go out even a couple weeks before the actual release.

go/dash-team-releases has a lot of information and a spreadsheet where you can register yourself for action items that must be taken during a release. :)
Once the 3.3 bump goes through, I'll learn more about the classes of problems that people need solved and try to make this process easier for everyone :)

I added a row to the template release checklist under the dart_internal bump

Is that sufficient to close this issue? Presumably I will get assigned a task for future releases?

mmm - something seems odd to me from the checklist process, I believe this needs to happen before we bump the version in the SDK, but currently we are thinking about this in terms of the release steps after the bump.


python311Packages.dirty-equals: 0.7.0 -> 0.7.1

Diff: https://github.com/samuelcolvin/dirty-equals/compare/refs/tags/v0.7.0...0.7.1
Changelog: https://github.com/samuelcolvin/dirty-equals/releases/tag/v0.7.1
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@ofborg build python311Packages.dirty-equals python311Packages.fastapi python311Packages.watchfiles python311Packages.pydantic-core


[Unity] [Tracking Issue] Heterogeneous execution for Relax

This issue is to track progress for Relax Heterogenous support proposed in here.

[x] P1.  Add the VDevice, update TVMScript parser and printer to support it.
[x] P2.  Implement hint_on_device, to_vdevice, and builtin to_device.
[x] P3. Update StructInfo Deduction and VM Codegen.
[x] P4. Add UpdateVDevice pass.
[x] P5. Develop RealizeVDevice pass.

cc @quic-sanirudh

Thank you for bringing support for heterogeneous graphs @yongwww! Shall we close this as completed?

Thank you for your contirbution! I am wondering are there any e2e test case I could follow?  It seems I can't specify more than one target in the relax.build API. How should I compile when nodes in my graph are heterogeneous to each other? (CPU node and CUDA node for example)
In relay.vm.compile I could offer a target dict like: target={"cpu": tvm.target.Target("llvm"), "cuda": tvm.target.Target("cuda")} to support multi-device compilation. What should I do when I using relax vm?

@csullivan will close this tracking issue in the coming days, I have a pr to be up to add e2e test cases.

@qelk123 great question!!! currently relax.build doesn't support multiple targets. I have a pr to enable this e2e test case, the pr is supposed to be up in the coming days (hopefully by end of this week). What we plan to do in Relax is:

use the target information defined in vdevice list of global_infos of ir_module, then we don't need to feed a list/dict of targets to relax.build.
modify tvm.build to lower the TIR based on the target attribute of the prim_func.
update relax virtual machine to accept multiple devices.

@yongwww Thank you very much! I am currently working on adding end-to-end multi-device support for my Relax heterogeneous graph based on this issue. At the moment, it works on some simple graphs. As you mentioned, these three  aspects are also the main aspects I am focusing on during development. However, I have encountered some constraints during my experiments. One such constraint is that when I am not using the R.dataflow scope, the vdevice information does not appear to be properly propagated. Is the current design intended to support heterogeneous execution only within the dataflow scope?

The e2e multi-device test cases were added in https://github.com/apache/tvm/pull/15823. Will close this issue once it lands

A very useful job! And I try it on tests/python/relax/test_codegen_cudnn.py::test_conv2d_offload according to tests/python/relax/test_vm_multi_device.py::test_multi_device as shown below
import numpy as np

import tvm
import tvm.testing
import tvm.topi.testing
from tvm import relax
from tvm.relax.backend.contrib.cudnn import partition_for_cudnn
from tvm.script import relax as R, ir as I

from tvm.script.ir_builder import IRBuilder
from tvm.script.ir_builder import relax as relax_builder

data_shape, weight_shape, dtype = (
    (16, 32, 32, 16),
    (32, 3, 3, 16),
    "float32",
)

input_np = np.random.randn(*data_shape).astype(dtype)
weight_np = np.random.randn(*weight_shape).astype(dtype)

oc = weight_shape[0]
bias_np = np.random.randn(1, 1, 1, oc).astype(dtype)
args = (input_np, weight_np, bias_np)

with IRBuilder() as builder:
    with relax_builder.function():
        R.func_name("main")
        data = R.arg("data", R.Tensor(data_shape, dtype))
        weight = R.arg("weight", R.Tensor(weight_shape, dtype))
        bias = R.arg("bias", R.Tensor((1, 1, 1, weight_shape[0]), dtype))

        with R.dataflow() as frame:
            output = R.emit(
                R.nn.conv2d(
                    data,
                    weight,
                    out_dtype=dtype,
                    padding=(1, 1),
                    data_layout="NHWC",
                    kernel_layout="OHWI",
                )
            )
            output = R.emit(output + bias)

            output = R.emit(relax.op.to_vdevice(output, I.vdevice("llvm")))
            output = R.emit(R.multiply(output, R.const(2, "float32")))
            R.output(output)

        R.func_ret_value(frame.output_vars[0])

func = builder.get()
mod = tvm.IRModule(
    {"main": func},
    global_infos={
        "vdevice": [
            I.vdevice("cuda", 0),
            I.vdevice("llvm"),
        ]
    },
)

mod = partition_for_cudnn(mod)
mod = relax.transform.RunCodegen()(mod)

devs = [tvm.device("cuda", 0), tvm.device("llvm")]
mod = relax.transform.RealizeVDevice()(mod)
mod = relax.transform.LegalizeOps()(mod)
mod = tvm.tir.transform.DefaultGPUSchedule()(mod)

with tvm.transform.PassContext(config={"relax.backend.use_cuda_graph": False}):
    ex = relax.build(mod)
vm = relax.VirtualMachine(ex, devs)
f = vm["main"]
inputs = [tvm.nd.array(inp, tvm.device("cuda", 0)) for inp in input_np]

print(f(*inputs).numpy())

raise following error
Traceback (most recent call last):
  File "/workspace/yongwww/tvm/tests/byoc.py", line 77, in <module>
    ex = relax.build(mod)
  File "/workspace/yongwww/tvm/python/tvm/relax/vm_build.py", line 334, in build
    new_mod = lowering_passes(mod)
  File "/workspace/yongwww/tvm/python/tvm/ir/transform.py", line 238, in __call__
    return _ffi_transform_api.RunPass(self, mod)
  File "/workspace/yongwww/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 239, in __call__
    raise_last_ffi_error()
  File "/workspace/yongwww/tvm/python/tvm/_ffi/base.py", line 476, in raise_last_ffi_error
    raise py_err
tvm._ffi.base.TVMError: Traceback (most recent call last):
  24: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::transform::Pass, tvm::IRModule)>::AssignTypedLambda<tvm::transform::{lambda(tvm::transform::Pass, tvm::IRModule)#7}>(tvm::transform::{lambda(tvm::transform::Pass, tvm::IRModule)#7}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}> >::Call(tvm::runtime::PackedFuncObj const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, tvm::runtime::TVMRetValue)
  23: tvm::transform::Pass::operator()(tvm::IRModule) const
  22: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  21: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  20: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  19: tvm::transform::ModulePassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  18: _ZN3tvm7runtime13PackedFuncObj
  17: tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::IRModule, tvm::transform::PassContext)>::AssignTypedLambda<tvm::relax::transform::CallTIRRewrite()::{lambda(tvm::IRModule, tvm::transform::PassContext)#1}>(tvm::relax::transform::CallTIRRewrite()::{lambda(tvm::IRModule, tvm::transform::PassContext)#1})::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs const, tvm::runtime::TVMRetValue) const
  16: tvm::relax::CallTIRMutator::Run()
  15: tvm::relax::ExprMutator::VisitExpr(tvm::RelayExpr const&)
  14: _ZZN3tvm5relax11ExprFunctorIFNS_9RelayExprERKS2_EE10InitVTableEvENUlRKNS_7r
  13: tvm::relax::ExprMutator::VisitExpr_(tvm::relax::FunctionNode const*)
  12: tvm::relax::ExprMutator::VisitWithNewScope(tvm::RelayExpr const&, tvm::runtime::Optional<tvm::runtime::Array<tvm::relax::Var, void> >)
  11: tvm::relax::ExprMutator::VisitExpr(tvm::RelayExpr const&)
  10: _ZZN3tvm5relax11ExprFunctorIFNS_9RelayExprERKS2_EE10InitVTableEvENUlRKNS_7r
  9: tvm::relax::ExprMutator::VisitExpr_(tvm::relax::SeqExprNode const*)
  8: tvm::relax::ExprMutator::VisitBindingBlock(tvm::relax::BindingBlock const&)
  7: tvm::relax::ExprMutator::VisitBindingBlock_(tvm::relax::BindingBlockNode const*)
  6: tvm::relax::ExprMutator::VisitBinding(tvm::relax::Binding const&)
  5: tvm::relax::ExprMutator::VisitBinding_(tvm::relax::VarBindingNode const*)
  4: tvm::relax::ExprMutator::VisitBinding_(tvm::relax::VarBindingNode const*, tvm::relax::CallNode const*)
  3: tvm::relax::ExprMutator::VisitExpr(tvm::RelayExpr const&)
  2: _ZZN3tvm5relax11ExprFunctorIFNS_9RelayExprERKS2_EE10InitVTableEvENUlRKNS_7r
  1: tvm::relax::CallTIRMutator::VisitExpr_(tvm::relax::CallNode const*)
  0: tvm::relax::GetDeviceIndex(tvm::IRModule const&, tvm::VDevice const&)
  File "/workspace/yongwww/tvm/src/relax/transform/utils.h", line 384
TVMError: The vdevice is not in the ir_module.

Is there any problem with byoc?

@liquanfeng  thanks for reporting this! As the error shown, the vdevice is not defined in the global_info of the IRModule. Reason is a new vdevice was created with I.vdevice() in R.emit(relax.op.to_vdevice(output, I.vdevice("llvm"))), whereas another new vdevices are created in global_infos={"vdevice": [ I.vdevice("cuda", 0),I.vdevice("llvm"),.... In order to reuse the same vdevice object, you can define a vdevice list before the builder and reuse it. Updating your sample as below should be good to move forward.

vdevice = [I.vdevice("cuda", 0), I.vdevice("llvm")]
with IRBuilder() as builder:
    with relax_builder.function():
        R.func_name("main")
        data = R.arg("data", R.Tensor(data_shape, dtype))
        weight = R.arg("weight", R.Tensor(weight_shape, dtype))
        bias = R.arg("bias", R.Tensor((1, 1, 1, weight_shape[0]), dtype))

        with R.dataflow() as frame:
            output = R.emit(
                R.nn.conv2d(
                    data,
                    weight,
                    out_dtype=dtype,
                    padding=(1, 1),
                    data_layout="NHWC",
                    kernel_layout="OHWI",
                )
            )
            output = R.emit(output + bias)

            output = R.emit(relax.op.to_vdevice(output, vdevice[1]))
            output = R.emit(R.multiply(output, R.const(2, "float32")))
            R.output(output)

        R.func_ret_value(frame.output_vars[0])

func = builder.get()
mod = tvm.IRModule(
    {"main": func},
    global_infos={"vdevice": vdevice},
)


Refactor/substitution expression

This PR implements the solution adopted from the discussion https://github.com/okp4/community/discussions/14, which is to use an unstructured format for substitutions of the logic module by directly representing them as a Prolog term string (atom, number, or compound).
I also seized the opportunity to refactor the scanning process of the solutions, thereby eliminating the use of go routines and channels in the ichiban/prolog lib (cf interpreter.go#L200).
Notes:
:warning: This change introduces a breaking change in the logic module contract.

Summary by CodeRabbit

New Features

Enhanced query capabilities with the introduction of expression to represent values in substitutions, offering more precise and flexible query results.
Introduced UserOutput in AskResponse and an Error field in Answer struct for improved user feedback and error handling.

Bug Fixes

Updated test cases across various modules to use the new testutil.TermResults type, ensuring consistency and reliability in test results.

Documentation

Updated documentation to reflect changes in entity declarations and type details, aligning with the latest system logic and functionalities.

Refactor

Refactored query execution logic for enhanced performance and accuracy.
Transitioned to using expression instead of term in various contexts, streamlining the handling of substitutions.

Tests

Added and updated test scenarios to cover new query patterns and functionalities, ensuring robustness.

:tada: This PR is included in version 7.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[ONNX] Support custom_opsets in PFTO

Rel: https://github.com/pfnet/pytorch-pfn-extras/pull/564
Ref: https://pytorch.org/docs/stable/onnx.html#custom-operators

/test


Update Campaigns support (part 1)

This PR will enable the creation of Update Campaigns via GraphQL, but it will not yet execute them.
The Update Campaign execution will be implemented in a subsequent PR, to allow frontend development to proceed in parallel.
Note that this PR does not include a CHANGELOG entry since the feature is still considered incomplete in the current state.

Pull Request Test Coverage Report for Build b90708ba58ac35c079d2a16562449a850ac077db-PR-272

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+82.8%) to 82.825%

Totals

Change from base Build<PHONE_NUMBER>:
82.8%

Covered Lines:
1114

Relevant Lines:
1345

💛  - Coveralls

In commit 42928dee90 there are tests with managed_ota_operation_fixture usage, that fixture was added in commit fbc424e5e7, so commit 42928dee90 should be after the fbc424e5e7 one.


feat: Issue Credential - states implementation

This PR fixes an issue related to the tests. States behavior are completed.
Part of #1173
Signed-off-by: Andrii Soluk<EMAIL_ADDRESS>

#1173 shouldn't be closed until the BDD tests are complete. Or is there a followup?

Closed PR by mistake...

#1173 shouldn't be closed until the BDD tests are complete. Or is there a followup?

Agree. I changed Closes to  Part of  in the description.


Cog disposals system needs a redesign

Description
The disposals system in Cog station is an overengineered nightmare and barely works.

The 70+ tiles long, walled conveyor system is hard to understand at a glance, and hard to navigate when it's turned on.
The disposals system control levers are mapped all over the place. One is in the jani closet and controls the recycler belt. One is in the south sorting room and controls the long S-shaped belt. The last one is at the space chute, east.
If the trash is diverted to the sorting room, then the trash exiting the sorting room loops back into the sorting room entrance instead of going to the recycler.
The recycler is mounted backwards, despite what it looks like on the screenshot.  Not sure if mapping/sprite/recycler issue.
People wanting to go from Chapel to Engi through maints have to cross the (running) conveyor belts.

Long story short, this disposals setup needs to be shortened and straightened. It should fit on a single screen. The extra space could be used for abandoned maints rooms.
Reproduction

Be janitor on Cog.
Try to use disposals.
Realize you need a map, a wrench, and a fair bit of running around to get it working.

Screenshots

Possibly fixed in #31458?

fixed in #31458

Most excellent.


kconfig: add OTA symbol that FW_UPDATE depends on

Add CONFIG_GOLIOTH_OTA so that the OTA functions may be used without the firmware update functions.
Firmware updates still depend on OTA functions. Platforms that use Kconfig will automatically select OTA. However, for platforms that don't use Kconfig, ota.c will build when either CONFIG_GOLIOTH_OTA or CONFIG_GOLIOTH_FW_UPDATE are selected.
This is not a panacea but there is some savings to be had if an application wants to work with OTA componentes without fw_update:

60 bytes of flash saved
640 bytes of RAM saved

Resolves https://github.com/golioth/firmware-issue-tracker/issues/709

Apologies, I didn't look to see where those encapsulated symbols were used but I definitely should have. This is sorted out now.


Add example systemd unit file

This adds an example systemd unit file to allow modbus_exporter to be run as a systemd service in the background. Appropriate documentation is added to the README.md. Feel free to let me know your opinion!

Hi @LukeLR, thanks for creating a systemd unit file.
Maybe you could try to clean up all the options used in the service file and have a look at how it's done in other prometheus exporters - for example the snmp_exporter (https://github.com/prometheus/snmp_exporter/blob/main/examples/systemd/snmp_exporter.service)

To expand a bit on what @bastischubert said, the default file should work in the common case.
If you want to comment out recommended settings and add comments on why certain non-default values make sense, feel free to add that

closing this as #67 was just merged


BE AS CLEAR AND CONCISE AS POSSIBLE.
describe the bug
what is the bug - Last night i found that normal notion header is showing on top, below that notion-enhancer header
expected behaviour
why is this a bug - only Notion-enhancer header should display
screenshots
if applicable, add screenshots of your problem.

platform
what OS are you using?
Windows 10

dup of #43

It didn't worked Man. I updated the Enhancer as well.

the fix isn't released yet.


🔧 [Refactor] Userprofile password change layout suboptimal

🔧 Refactor ticket

Userprofile password change feature has suboptimal layout. It looks unfinished and not properly designed on desktop and is very big on mobile.
Desktop is very big and bloated. No constant alignment seems to be used

Mobile:

I think this task can be closed, the graphical representation currently has a state that is ok.


Potion Brewer Crash

https://paste.dimdev.org/lotarirobe.mccrash
Just encountered this playing Stoneblock 2. I was pumping water bottles into it from the left side. It used the 4 inventories at the top, leaving the leftmost one empty. The 5th water bottle entered the the potion brewer and went into the leftmost top spot then crashed the game. Whenever I try to enter my world it automatically crashes now, if that helps.

Duplicate of #413


Can't redirect from side menu

Hi,
Since navigator isn't a part of the side menu's props, we can't redirect from links on the side menu. This makes it hard to do a lot of functionality you would expect from a side menu (logout, go to settings, etc). Are we missing something?

React and React-Native's component should do one thing and one thing good. What you have to do is using something like redux  or reflux.
I have been using react-native-side-menu along side of redux which provides me complete control by generating actions.
So for a simple example, let say that you have a logout on side-menu and you want to call something, what you have to do is, generate a logout action which can be routed to proper logic some where else.
For using redux, you can look at template project
If you need an specific example, let me know and I will create a simple example using redux and side-menu

Okay, that makes sense. Thank you.

@alinz if you could create that example using side-menu and redux, it would be hugely appreciated.
This is the issue I've run into.
https://github.com/Kureev/react-native-side-menu/issues/105

@mikedizon I have found a small time and created a simple project. You can look at it and see how I control Side Menu with Redux. if you need any help just create an issue under that project.
Here's the link to example:
example-side-menu-redux
Cheers

@alinz thank u so much

@alinz <3


"@type" value in output points to bioportal URL instead of ontology's own URL

When modifying a template on CEDAR, if I change the "type" to be, for instance, the Dataset type from the SCHEMA ontology, and then I "populate" the template to get my JSON-LD output, I get this as my @type value: http://data.bioontology.org/ontologies/SCHEMA/classes/http%3A%2F%2Fschema.org%2FDataset, when the @type value should ideally be https://schema.org/dataset.
Without an API key, the http://data.bioontology.org/ontologies/SCHEMA/classes/http%3A%2F%2Fschema.org%2FDataset link does not resolve, so the JSON-LD output object is not technically valid.

I think you have the wrong repository. "CEDAR" appears to be some sort of scientific software, while this project, "Cedar", was control software for theatrical and stage productions.


[CT-164] Update CONTRIBUTING doc and fix Github link

This is two fold.
Add info to CONTRIBUTING.md about the meaning of the help wanted tag indicating it's a little more complex of an issue than good first issue but we would still love for a community member to contribute for it.
https://github.com/dbt-labs/dbt-core/contribute currently shows that we have no issues marked as good first issue when we in fact have 19 open issues marked good first issue.  We link to this page in our CONTRIBUTING.md.
Question: do we want to include help wanted on the page?

Closing because the link is removed by #4967 and these docs linked in CONTRIBUTING.md explain the labels.


Chart displays -1 when initialized with (and not changed) percentage of 0

You may like to check if the step is !== 0 in your animateValue function
For example:
function animateValue(to) {
      const step = to - currentPercent.value;
      if (step) {
        const delay = props.transition / Math.abs(step);
        const counter = setInterval(() => {
          if (step > 0) {
            currentPercent.value += 1;
            if (currentPercent.value >= to) {
              clearInterval(counter);
            }
          } else {
            currentPercent.value -= 1;
            if (currentPercent.value <= to) {
              clearInterval(counter);
            }
          }
        }, delay);
      }
    }

@delowardev Would you mind to create a new version of the module with this fix to publish it to the package managers?

@delowardev Would you mind to create a new version of the module with this fix to publish it to the package managers?

Hi @af-lsh,
I will push an update by tomorrow with the latest changes.
Thanks.

Thank you very much 👍


Update to 0.6.1

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

Encountered problems while solving:
  - nothing provides requested pdftext <0.4.0,>=0.3.12

Waiting for https://anaconda.org/conda-forge/pdftext/files


only tolerate specify key

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

Other Note

/close
In fact, the tunnel agent is similar to the kube-proxy and needs to be executed on all edge nodes.
And the taint has been removed from the yurtcluster-operator.
Ref: #21


Redirect with React Router on onSignedInHook or onSignedOutHook?

Hello
Currently we are using FlowRouter on
  passwordSignupFields: 'EMAIL_ONLY',
  loginPath: '/login',
  signUpPath: '/signup',
  resetPasswordPath: '/reset-password',
  profilePath: '/profile',
  onSignedInHook: () => FlowRouter.go('/general'),//here?? usually we could have a this.context.router but here don't!
  onSignedOutHook: () => FlowRouter.go('/login'),
  minimumPasswordLength: 6
});

usually we could have a this.context.router but here don't!??

How about passing all these options as props to the components instead of defining them in a separate object?

I totally agree, the options array feels obsolete

That would also simplify the code

So can we have access to the props or the context within the Accounts component ?
thanks :)

Anyhow, this should be solved now.


Feature Request

If possible, could you add the ability to change the rank titles? (E.g. Destructive, SSHistorm, ULTRAKILL etc.) It's would just make this mod even better than it already is. If it's not possible to add, it's not a big deal.

There is a different mod, TitleRankSwapper, for it

I didn't know about it, sorry. Either way it doesn't work. I'll just wait ig.

ranktitleswapper works though? if you have a discord, reach out to me there and i can try to help you out
untotentheo on discord

Ok I figured it out, I'm just dumb lol


Remove sample-time checking from PID.

Commits in this PR

Remove sample-time checking from PID.
Now PID recomputes every time you call Compute().  Don't want that?
Then don't call compute!
This is made possible by #465, which changes the timer granularity from
1ms to 1us.  Without that change, the clock is too granular to be used
for the high-priority loop, which runs every 10ms -- due to jitter, we
might read 9ms or 10ms when the actual values are more like 9.999ms or
10.0001ms, resulting in an amplification of error.

PR chain

#470 Build with -wno-error=sign-compare.
#471 Remove unnecessary DbgPrint param from GetResp function.
#462 Revert "Removed time checks from PID library."
#465 Granularity of Time and Duration 1ms -> 1us.
#463 First pass at TV zeroing.
👉 #467 Remove sample-time checking from PID. 👈 YOU ARE HERE

⚠⚠ Please do not click the green "merge" button unless you know what
you're doing.  This PR is part of a chain of PRs, and clicking the merge
button will not merge it into master. ⚠⚠

cc @asmodai27 @sglow


chore: Don't take client cancellation for git flows into account to keep the repo and DB in sane state

Description

Git APIs are slow, because of the interaction with remote repo and working with the file system which includes the serialisation and de-serialisation part. During these operations if client cancels the flow, DB or git repo may end up in bad state as execution on server side takes client subscription into account. To resolve this we are leveraging the MonoSink which don't take subscription cancellation into account.

Fixes #10018
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manual testing
Junit TC

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=43a4b51

/ok-to-test sha=b2e2cda


Core dump during fine-tuning with bin-resnet18

Environment info
Operating System: Ubuntu 16.04
Compiler: gcc, g++ 5.4.0
Package used (Python/R/Scala/Julia): Python
MXNet version: BMXNet built from master. USE_CUDA=0, USE_CUDNN=0 USE_DIST_KVSTORE=0
If you are using python package, please provide
Python version and distribution: 3.6 Anaconda
Error Message:
Core dump in ipython/jupyter notebook. Running with NaiveEngine gives me
./tensor_blob.h:198: Check failed: mshadow::DataType<DType>::kFlag == type_flag_ TBlob.get_with_shape: data type do not match specified type.Expected: 1 v.s. given 0

which seems to be a known issue but not sure if it was resolved the BMXNet version of MXNet 0.10.1!
Minimum reproducible example
/smd_hpi/examples/binary-imagenet1k/fine-tune.py works for regular pretrained resnet downloaded from modelzoo, but get the core dump using bin-resnet18 in smd_hpi/binary_models/binarized_imagenet-resnet18-64bit-0040
Looking at the git history, it seems that you haven't tried the fine-tuning and the paper only mentions training. How can I correctly load the already converted (binarized) weights in smd_hpi/binary_models/ in mx.module and send batch of data to mod.forward(batch)?

hi,
so since this implementation is based on the image classification example of mxnet, so the fine-tune.py was just left in the repository. We do the fine tuning just used the same training script e.g. "train_imagenet.py, train_cifar.py..." and the additional option "--pretrained" like:
python train_imagenet.py --gpus=0 --log=binary-resnet.log --network='resnet-binary' --model-prefix=/...../binary-resnet-cudnn --data-train=/data/mxnet_data/imagenet1k/imagenet1k-train.rec --data-val=/data/mxnet_data/imagenet1k/imagenet1k-val.rec --optimizer=sgd --lr=0.1 --batch-size=256 --pretrained=/home/haojin/workspace/mxnet-HPI/smd_hpi/examples/binary-imagenet1k/binary-resnet-cudnn-0022.params

@yanghaojin yes, the problem is only converted binarized_* params are provided in smd_hpi/binary-models/ so have to first train with binary then I can use them!

I can send you a pretrained model with binary weights (before binary-model conversion) so that you can use it for fine-tuning.

can you send me the pretrained model with binary weights on Imagenet datasets (before binary-model conversion) too? I want to fine-tuning with my datasets, and then convert it .Thank you very much. @yanghaojin

yes, pls let me know your email.
2018-04-03 8:00 GMT+02:00 huanyii<EMAIL_ADDRESS>
can you send me the pretrained model with binary weights on Imagenet
datasets (before binary-model conversion) too? I want to fine-tuning with
my datasets, and then convert it .Thank you very much. @yanghaojin
https://github.com/yanghaojin
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hpi-xnor/BMXNet/issues/21#issuecomment-378137345, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHsYmOXR47PEaA95GWWeGDoqA7GgvQdrks5tkw_0gaJpZM4Q-Cas
.

Thank you!!! This is my email:
<EMAIL_ADDRESS>2018-04-03 22:40 GMT+08:00 SemaMediaData<EMAIL_ADDRESS>
yes, pls let me know your email.
2018-04-03 8:00 GMT+02:00 huanyii<EMAIL_ADDRESS>
can you send me the pretrained model with binary weights on Imagenet
datasets (before binary-model conversion) too? I want to fine-tuning with
my datasets, and then convert it .Thank you very much. @yanghaojin
https://github.com/yanghaojin
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hpi-xnor/BMXNet/issues/21#issuecomment-378137345,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/
AHsYmOXR47PEaA95GWWeGDoqA7GgvQdrks5tkw_0gaJpZM4Q-Cas>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hpi-xnor/BMXNet/issues/21#issuecomment-378274101, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AgrH9j-WOuJXn_P9Jq1sMJGeVtpzqXo5ks5tk4nigaJpZM4Q-Cas
.


[ALPHA] Update tests to show how to define root models in v2

Demonstrate how to migrate root models
Selected Reviewer: @adriangb

please review
I have set the base branch of this to the branch from #5338 as I needed the changes there to handle the JSON schema stuff. We should merge that first, then can merge this.

I've now responded to all the comments above. I think there are still some things to do but I'll say "please review" to get another round of feedback on the review comments

the failing CI seems to be due to the enum descriptions in the JSON schema; this should get fixed once #5338 gets merged.


Update app.d

Some formatting and updated algo

On my local machine with latest Go and D, D performs slightly better than Go.
Will be interesting to see if you get the same results.

Faster but not correct:
Checking output
Error: Post jf0da9ku is invalid!
expected: 15 shared tag count
actual: 11

This means it's not selecting the correct top5

Oh, I messed up. Will fix, thanks

Faster but not correct:
Checking output
Error: Post jf0da9ku is invalid!
expected: 15 shared tag count
actual: 11

This means it's not selecting the correct top5

Fixed the error

~1ms faster


Exclude lmax executor from instrumentation

What does this PR do?
I noticed that our Executor instrumentation is also applied to the lmax disruptor Executor subclass, where we definitely won't need any context propagation.
For example, the following method get instrumented every time because it is part of the agent.
public void com.lmax.disruptor.dsl.BasicExecutor.execute(java.lang.Runnable)
Checklist

[x] This is a bugfix

[ ] I have updated CHANGELOG.asciidoc
[ ] I have added tests that would fail without this fix

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-03-01T14:50:42.946+0000

Duration: 34 min 21 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
2777

Skipped
66

Total
2843

:green_heart: Flaky test report
Tests succeeded.
:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark tests.

run jdk compatibility tests : Run the JDK Compatibility tests.

run integration tests : Run the Agent Integration tests.

run end-to-end tests : Run the APM-ITs.

run windows tests : Build & tests on windows.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

Closing this for now, there is no huge downside to leave it as-is, no context propagation happens in the agent.
Ignoring it completely could make some applications not properly instrumented anymore, and we can't filter both on class name and classloader without using a dedicated instrumentation, which would be likely overkill here.


Get CI for 2.7 working again

Closes https://github.com/getsentry/sentry-python/issues/2178

Apparently the actions on this PR are now broken and won't start regardless of what changes the PR actually contains. Will open a new one.