How do I request and free a WSL interop socket?

I'm using WSL2 in an enterprise environment. A recent "update" in WSL across the whole company has made it impossible for us to work.
We have a certain tailored systemd service that needs to run all the time. One of the child processes of that service relies on WSL interop, because it's a Windows binary. With the latest update, we found that it's not enough that we have /init as the interpreter for Windows binaries set up by binfmt_misc - such a process also requires an environment variable WSL_INTEROP to be a path to a working WSL interop socket - usually located in /run/WSL with a filename that starts with the PID of the process who owns the socket followed by _interop, such as 666_interop.
I have tried to make 3 solutions for this issue, but all are terrible.

When the parent process starts, it will locate the latest (according to file creation mtime) interop socket and parasitize it. This proved to be error-prone, because as soon as the rightful owner of the socket closes, the socket disappears and our Windows binary becomes unusable.
I have noticed that systemd being PID 1, spawns a child process /init with PID 2 that never closes for the runtime of the entire WSL2 instance. Trying to parasitize this socket was even worse, because this socket is special in that it does not work at all.
Each time WSL interop capacity is needed, the parent process will repeat the search from point 1, ensuring that new processes always have a fresh interop socket. This proved to be slightly more reliable, but it still is vulnerable - there may occur a situation where no valid socket exists at the time.

As such, I would like to ask how can I properly request an exclusive WSL interop socket when it's needed and free it when my process no longer needs it? Like good old fashioned malloc and free from C.

@grepwood: WSL_INTEROP isn't required to run windows binaries.
$ unset WSL_INTEROP
$ wsl_build cmd.exe echo foo
Microsoft Windows [Version 10.0.22621.2715]
(c) Microsoft Corporation. All rights reserved.

C:\Users\piboulay\Desktop\repos\wsl_build>

Can you share repro instructions for your situation where windows binaries aren't executed properly ?

@grepwood: WSL_INTEROP isn't required to run windows binaries.

I'm sorry but it doesn't look like it, at least on our end. Other team members were able to work around this by placing the Windows binary in question on a Windows drive, such that WSL would have to execute it from a location in /mnt/c, where C:\ is mounted. We also have another way, which involves editing Windows registry entries, but we fear that editing the registry will aggrevate our company's IT Security, so we would like to not rely on this in particular.

Can you share repro instructions for your situation where windows binaries aren't executed properly ?

Of course.

Download https://github.com/sakai135/wsl-vpnkit/releases/download/v0.4.1/wsl-vpnkit.tar.gz - this is the systemd service we need, but we're going to tailor it a bit, to better fit the enterprise environment I'm working in.
Extract these files from the tarball, to those locations:

app/wsl-gvproxy.exe -> /usr/local/bin/wsl-gvproxy.exe
app/wsl-vm -> /usr/local/bin/wsl-vm
app/wsl-vpnkit -> /usr/local/bin/wsl-vpnkit
app/wsl-vpnkit.service -> /lib/systemd/system/wsl-vpnkit.service

Create a softlink /etc/systemd/system/multi-user.target.wants/wsl-vpnkit.service that leads to /lib/systemd/system/wsl-vpnkit.service.
Delete the downloaded tarball. It is no longer needed.
Edit /lib/systemd/system/wsl-vpnkit.service because it's messy. It should look more like this:

[Unit]
Description=Provides network connectivity to WSL 2 when blocked by VPN
After=network.target

[Service]
ExecStart=/usr/local/bin/wsl-vpnkit
Restart=always
KillMode=control-group

[Install]
WantedBy=multi-user.target

Edit /usr/local/bin/wsl-vpnkit - since we're following the Filesystem Hierarchy Standard, we don't need absolute paths to any wsl-vpnkit binaries. And we need to adjust some variables for the company. Here's a pseudo-patch for this file:

-VMEXEC_PATH=${VMEXEC_PATH:-/app/wsl-vm}
-GVPROXY_PATH=${GVPROXY_PATH:-/app/wsl-gvproxy.exe}
+VMEXEC_PATH=${VMEXEC_PATH:-$(command -v wsl-vm)}
+GVPROXY_PATH=${GVPROXY_PATH:-$(command -v wsl-gvproxy.exe)}
...
-CHECK_HOST=${CHECK_HOST:-example.com}
-CHECK_DNS=${CHECK_DNS:-<IP_ADDRESS>}
+CHECK_HOST=${CHECK_HOST:-corporate.intranet.domain}
+CHECK_DNS=${CHECK_DNS:-corporate_dns_server_ipv4_here}

Once it's all adjusted, proceed with service wsl-vpnkit start.

Expected result: wsl-vpnkit should start without issues.
Actual result: with regards to this source file https://github.com/sakai135/wsl-vpnkit/blob/dcc6b97809fb013a7bab7d03639b818c30925055/wsl-vpnkit which corresponds to what we're running, we are failing the check in line 152. Relevant code:
$GVPROXY_PATH -help 2>/dev/null
if [ $? -eq 1 ]; then
    echo "$GVPROXY_PATH is not executable due to WSL interop settings or Windows permissions"
    exit 1
fi

We have found in https://github.com/sakai135/wsl-vpnkit/tree/dcc6b97809fb013a7bab7d03639b818c30925055#wsl-gvproxyexe-is-not-executable-due-to-wsl-interop-settings-or-windows-permissions a confirmation that the Windows executable's location plays some kind of factor in this issue. We were successful in determining, that you can still run Windows binaries outside of those directories (whatever they are), if and only if your Windows binary possesses WSL_INTEROP that points to a valid WSL interop socket.
Our perfect solution assumes that we will keep the Windows binary inside the filesystem that belongs to the WSL instance, because we want to avoid scenarios where users accidentally remove wsl-gvproxy.exe from their C:\ drive and are then surprised when wsl-vpnkit stops working.

Ok thank you for the detailed explanation. I think I might know what's happening, but to be sure can you collect /logs of a repro, and share an strace of the execution of the windows executable ? (strace -f GVPROXY_PATH)

Ok thank you for the detailed explanation. I think I might know what's happening, but to be sure can you collect /logs of a repro, and share an strace of the execution of the windows executable ? (strace -f GVPROXY_PATH)

I can provide that!
gvproxy.log

Hello! Could you please provide more logs to help us better diagnose your issue?

I can provide that, too!
WslLogs-2023-11-27_11-57-21.zip

Thank you @nealey. Looking at the logs I can see that the execution request makes it to the Windows side, but fails with access denied:
38	True	Microsoft.Windows.Subsystem.Lxss	LxssException	0	11-27-2023 10:57:37.150	"	"	"Code:
File: 	D:\a\1\s\src\windows\common\SubProcess.cpp
FunctionName:
HRESULT: 	0x80070005
Line number: 	206
Message: 	""ApplicationName: \\wsl.localhost\Debian\opt\wsl-vpnkit\app\wsl-gvproxy.exe, CommandLine: wsl-gvproxy.exe -help""

Can you make sure that your distribution's default user has read & execute access to that file ?

Thank you @nealey. Looking at the logs I can see that the execution request makes it to the Windows side, but fails with access denied:
38	True	Microsoft.Windows.Subsystem.Lxss	LxssException	0	11-27-2023 10:57:37.150	"	"	"Code:
File: 	D:\a\1\s\src\windows\common\SubProcess.cpp
FunctionName:
HRESULT: 	0x80070005
Line number: 	206
Message: 	""ApplicationName: \\wsl.localhost\Debian\opt\wsl-vpnkit\app\wsl-gvproxy.exe, CommandLine: wsl-gvproxy.exe -help""

Can you make sure that your distribution's default user has read & execute access to that file ?

Yes:
WE47763:/home/neale % id
uid=1000(neale) gid=1000(neale) groups=1000(neale),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),112(docker)
WE47763:/home/neale % ls -l /opt/wsl-vpnkit/app/wsl-gvproxy.exe
-rwxr-xr-x 1 neale neale 10302976 Apr  4  2023 /opt/wsl-vpnkit/app/wsl-gvproxy.exe*
WE47763:/home/neale % /opt/wsl-vpnkit/app/wsl-gvproxy.exe -help 2>&1 | head
Usage of wsl-gvproxy.exe:
  -debug
        Print debug info
  -forward-dest value
        Forwards a unix socket to the guest virtual machine over SSH
  -forward-identity value
        Path to SSH identity key for forwarding
  -forward-sock value
        Forwards a unix socket to the guest virtual machine over SSH
  -forward-user value

However, based on the strace I attached, it appears /init is using /run/WSL/1_interop to launch \wsl.localhost\Debian\opt\wsl-vpnkit\app\wsl-gvproxy.exe. When I specify that socket, I get the same failure:
WE47763:/home/neale % WSL_INTEROP=/run/WSL/1_interop /opt/wsl-vpnkit/app/wsl-gvproxy.exe -help
/opt/wsl-vpnkit/app/wsl-gvproxy.exe: Invalid argument

As a reminder - this behavior started in version 2.0.5.  It was not present in 2.0.4 and earlier.
https://github.com/sakai135/wsl-vpnkit/issues/246

Thank you @blakeduffey. I did some digging and here's the root cause of the behavior change:
In 2.0.5 we enabled the NoRemoteImages flag in our process mitigation policy for wslservice.exe.
This causes execution of windows binaries stored in the linux filesystem to fail (because internally we end up executing \wsl.localhost\distro\path\to\program).
This mitigation policy only applies to processes that are children of wslservice.exe (so it doesn't apply to the wsl.exe process tree), therefore if you have a valid WSL_INTEROP env variable that points to a wsl.exe process tree, the process mitigation policy and the execution succeeds.
If not, WSL will default to the wslhost.exe that is started with the distribution by wslservice.exe, which will fail given its process mitigation policy.

@nealey I cannot thank you enough for providing the logs! Fantastic job! My workplace policy basically prevents me from using personal accounts on the workstation, and the security is pretty tight - as in, can't even plug a pendrive and have it work. That's why I would have to pretty much rewrite the logs by hand while reading them off the screen.
@OneBlue thank you! This gives me an idea for a little hacky workaround until this issue is resolved properly. I'll let you all know if it worked.

@OneBlue thank you! This gives me an idea for a little hacky workaround until this issue is resolved properly. I'll let you all know if it worked.

FYI I'm working on a fix for this. It should be in the next WSL release.

@OneBlue thank you! This gives me an idea for a little hacky workaround until this issue is resolved properly. I'll let you all know if it worked.

FYI I'm working on a fix for this. It should be in the next WSL release.

awesome - happy to test once released.

I am able to request and free WSL interop sockets. More soon, need to run the groceries

And it's done https://gist.github.com/grepwood/8e42b2bd0e56cd964cbd77b6d182aff0
This could be used to work around the shortcomings of this bug. When it gets properly resolved, this could be used for something else.

And it's done https://gist.github.com/grepwood/8e42b2bd0e56cd964cbd77b6d182aff0

Ah ! That's a good hack. Of course I'd recommend not to use it because the behavior our interop socket isn't an API so it might change anytime.
To give an update we're planning to publish an update with the fix for this bug either today or tomorrow.

Fixed in 2.0.14

Indeed, just debugging a similar problem (though a different executable, my own https://github.com/puetzk/wsl-mount-helpers rather than wsl-vpnkit) that started failing with 2.0.9 (or at least started to fail after I updated to 2.0.9, I don't know what version I had before to pinpoint a specific change). but the 2.0.14 pre-release seems to fix it, Thanks!

This is still not fixed @OneBlue
People are still having problems with this on wsl-vpnkit.


Update all.json

Site
Urlscan
Screenshot

arkhamintel.claims
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/3430b5e1-d57d-4fd3-8cc0-129228106055

aave-rewards.com
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/6de52bb2-8f44-4781-ac82-9bc4c1a7eeb4

claim-circle.app
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/e47d148e-49f8-453f-8b1b-6e9dc9d4a36b

claim-parallel.com
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/dc3a2d05-10b2-4bc6-8654-070a51f158d2

curvefinance.com.de
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/34c3e9b7-291b-4206-b365-b3a947ea3a55

dashboard-aave.info
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/8a3f8b66-ec1e-4066-9eb6-b00ccf3a9d72

dashboard-aave.net
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/25debb55-4188-40c6-ac89-59de29ffcf5d

ens-domains.com.de
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/81106b2f-fcfd-466a-98a9-160c8d959c94

stables-money.com
subwallet
https://github.com/polkadot-js/phishing/assets/97024090/fa80f634-4ac3-458d-8573-26fba3622620

please fix the conflict @thwjanssen89

@ical10 that conflict arises when you merge a commit, temporarily it results in a conflict that resolves automatically ;)


Publish on pypi

Hello, please, publish on pypi.

Alright, but this is very much a "pre" version. Please open issues if you find bugs. Thank you!
https://pypi.org/project/aiosql-mysql/0.0.1a1/


Repo sync for protected CLA branch

The pull request is created from master637447111346618834 to master to fix git push error for protected CLA branch

@cmcclister : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Add a Simple Test Suite

Patch Description
Prior to this change, we were simply checking to see if cooltt could actually load the files in question. This PR adds a simple form of testing where we snapshot the output of cooltt on all of our test files, and then compare against this known good snapshot. There is also a handy feature of dune that allows us to update the snapshots nicely, which I've added to the makefile under make snapshot
Resolves #194

🎆


[IgniteNetwork] Read-only support for InterfaceEndpoints

NOTE: Merge to IgniteNetwork branch.
cc/ @rupalivohra
Adds support for network interface-endpoint show/list.  create, update, delete code is included but blocked since the service does not fully support those operations. These will be enabled at the service team's request, tracked via issue #7271.

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[X] I adhere to the Command Guidelines.

@williexu comments addressed.


Flatten prefix structure in transfer script

Here it looks like we're transferring products into a nested prefix structure (<job-name>/<job-id>/), but after discussing with @hjkristenson it sounds like we want all the files under a common prefix. I think this will just require changing that line to:
target_key = f'{target_prefix}/{filename}'

addressed by https://github.com/ASFHyP3/hyp3-flood-monitoring/pull/44


Online documentation link (on Hex.pm) does not work

Maru seems like an interesting project. However, the link   to the documentation ( https://hexdocs.pm/maru/ ) that is linked to from both the Hex.PM page as well as the Guides website, does not work.
You are redirected to https://hexdocs.pm/maru/extra-readme.html , which returns a 404 status code.

Thank you :D
It should be redirected to https://hexdocs.pm/maru/readme.html and it's fixed now.
Also see https://maru.readme.io.
If you're using the master version, https://maru.readme.io/v0.10 is helpful.
I'll release v0.10.0 these days, it's quite different with v0.9. So master version is recommended.


Added team member page on landing page

@thecuriousteam I have made changes as suggested and  closed previous PR

@raghavawasthi24 don't change the folder structure, we are using the tailwindcss please write the code according to it

@thecuriousteam there is one component which is getting used in OurTeam page.
Where do I keep that as OurTeam is already in components folder?

@thecuriousteam , I have modified folder structure . Please review.

@thecuriousteam can you please merge this PR?

Please check the issue #60


🌐 Add Chinese translation for Benchmarks

This PR translates the benchmarks.md to Chinese.
Please help review. @waynerv @Dustyposa @RunningIkkyu @Choyeon

Great! Thank you @spaceack :bow: :rocket:
And thanks @waynerv and @Laineyzhang55 for the reviews :clap: :clap: :coffee:


TraceID stringer prefix zeroes

Requirement - what kind of business use case are you trying to solve?
Logging TraceIDs should result in the same TraceIDs that are shown in the JaegerUI.
For example if I see 0c2de5a29f1a2dff in the JaegerUI and if I log the TraceID id with id.String() I will see c2de5a29f1a2dff in the log. This makes it harder than it should be to find a trace ID in the logs.

The change of displaying the 0 prefix in the UI was introduced in Jaeger 1.16 (see https://github.com/jaegertracing/jaeger/releases/tag/v1.16.0)
Problem - what in Jaeger blocks you from solving the requirement?
I could manually address this by writing my own formatting for the logging. The question is whether it wouldn't make sense to change the String method of the TraceID

Proposal - what do you suggest to solve the problem or improve the existing situation?
Change https://github.com/jaegertracing/jaeger-client-go/blob/4b202322950de2e8f14da2f7786a6128a7d485c3/span_context.go#L345-L350 to use always a fixed width hex representation.
Example: https://play.golang.org/p/DyCZUMF33i9

Any open questions to address
If you think it makes sense to change the Stringer in the proposed way, I can send a PR.
If you think it doesn't make sense I would be interested in the reason.

+1. The wire encoding was already changed in #472 to include leading zeros, and ^^^ function should be consistent with that.
Would you like to create a PR?

Thanks, I created #533 , let me know if you want me to change anything.


Fan speed

Hi,
the fan option is a good news.
My question is : can You develop also a fan speed manager inside Dual-smart-thermostat ?
For example I have this setup : I have only fan-coils (two types, this Aermec fix speeds with 3 fixed fan speeds plus 0 and this Aermec inverter with variable fan speed from 0 to 100% that are both heater + cooler) ; I used on inverter type an ESP32 Chinese electronic board with ESPHome firmware and on fixed speeds type a Shelly relè.
It will be awesome if Dual-smart-thermostat can also calculate and publish the right fan speed.
My idea is :

first parameter  >  fan coil fixed speed or fan coil inverter
if fan coil fixed speed > parameter : max difference between target temperature and real temperature to choose speed 1, max difference between target temperature and real temperature to choose speed 2, etc. (max five speeds)
The logic is : in heating Dual-smart switch on toggle for heating so trough an automation is possible to give order to fan coil to open hot water valve (via relè, via modbus, etc.) and also Dual-smart publish the right speed (1, 2, 3 or so on) and trough an automation is possible to give order to fan coil to switch the right fan speed (via relè, via modbus, etc.) ; in cooling Dual-smart switch on toggle for cooling so trough an automation is possible to give order to fan coil to open cold water valve (via relè, via modbus, etc.) and also Dual-smart publish the right speed (1, 2, 3 or so on) and trough an automation is possible to give order to fan coil to switch the right fan speed (via relè, via modbus, etc.)
if fan coil inverter > parameter : minimum percentage for speed, max percentage for speed, difference between target temperature and real temperature to choose max percentage for speed
The logic is : in heating Dual-smart switch on toggle for heating so trough an automation is possible to give order to fan coil to open hot water valve (via relè, via modbus, etc.) and also Dual-smart publish the percentage for speed (a calculation, if I set that 20% min speed + 80% max speed + difference for max speed is 1 degree and the difference target / real is 0.6 the published percentage will be 56%) and trough an automation is possible to give order to fan coil to switch the right fan speed (via relè, via modbus, etc.); the same for cooling.
the maximum will be also if it is possible to define an external switch for quiet mode that limits the max speed > for example a "good night" switch that I manually activate for the night...

At this point, we can turn on/off the switches from the thermostat.
I can create extra attributes for speed steps or percentages, which one can use in automation.
Regarding the quiet mode, extending the preset modes with fan speed should be the way to go. You will be able to choose a preset, like "sleep," and it will set everything for you.

I would suggest making use of the built-in fan_mode support of the climate platform in home assistant:
https://developers.home-assistant.io/docs/core/entity/climate/#fan-modes

I don't know what is the best solution (I'm not a developer)....
For now I made this solution :

Dual- smart controls two helper switches, one for heating and one for cooling
an automation triggers when the heating switch change its state : if from off to on the automation executes the start-heating script, if from on to off the stop- heating script
the start-heating script open hot water valve and execute a calculation target temp - real temp (from sensor), if the difference is less than 0,2 then it activates switch for first speed, if between 0,2 and 0,4 switch for second speed, more than 0,4 switch for third speed
etc. etc.
It works, but it will be more simple if all the work about choose of speed is made by Dual-smart.

Ok.
The logic to set proper fan speed can be tricky though.
In your setup you step up the speed by 0,2 degree difference.
So I will set up the logic around that and will make it configurable.

Two elements :

I think that is better if in the yaml configuration there will be two parameters > number of speeds (some fan coil as 2 speeds + 0, others 3 speeds + 0, others 5 speeds + 0, etc. we cannot make a general rule) and degree difference step between speeds (like You told)
starting from my experience, I understood one limit of my automation : if the necessary speed change during a cycle nothing changes on the fancoil; example : night preset is on (20 C degree), real temperature goes to 19,9° C, Dual-smart switches on heating and the speed by my automation is 1, then Simple-scheduler changes preset to comfort (21° C) and the necessary speed is 3 but nothing happens and the fancoil remains in speed 1......
So, it is good if Dual-smart publishes the necessary speed and that it changes continuously the speed if there is an increase until the real temperature matches the target temperature.

Just to clarify:
The thermostat will not control the switches but will provide the required speed stage and percentage.
Configuration options:
hvac_speed_step: 0.2 # <- temperature step
hvac_speed_steps: 3 # <- fan stages

Note: I prefer not to use literal fan speed to avoid limiting the feature to fan devices.
Provided state attributes:

hvac_speed_stage
hvac_speed_percent

The speed per cent can be tricky. I will need to use the hvac_speed_step to calculate the percentage or maybe the difference from the tolerance. I'm not sure. If there is only a 1-degree difference, the percentage will be 100%, and if there are 2 degrees, it will still be 100%. What if the system will never reach the target temperature if it is below 10%?

Just to clarify:
The thermostat will not control the switches but will provide the required speed stage and percentage.

Yes, You are right !
By my point of view :
First configuration option
hvac_fan_type: fixed or percentage
so there will be
hvac_fan_type: fixed
hvac_speed_step: 0.2 # <- temperature step
hvac_speed_steps: 3 # <- fan stages
or
hvac_fan_type: percentage
hvac_min_start: 20 # <- minim percentage for hardware to start the fan
hvac_max_stop: 80 # <- percentage for hardware to achieve max fan speed
hvac_start_percentage: 30 # <- percentage when starting
diff_max_speed: 1 # <- tolerance where the fan speed must be max
I think the difference from the tolerance is the best way to calculate the percentage, this is the reason of diff_max_speed: : "at what difference the speed must be max ? At 1 degree, at 1.4, at 2, etc." .

If there is only a 1-degree difference, the percentage will be 100%, and if there are 2 degrees, it will still be 100%

Obviusly I agree (and I like)

What if the system will never reach the target temperature if it is below 10%?

We can define a minim percentage when the fan coil must start
The formula can be this :
A > calculated percentage
B > hvac_start_percentage:
C > percentage for every 0.1 difference
D > 0.1 steps of difference detected
E > hvac_max_stop:
F > hvac_min_start:
G > number of 0.1 steps from yaml setup
H > target temperature
I > detected temperature
L > diff_max_speed:
hvac_speed_percent = the greater between A and B only when is necessary to heat or cool, when heating and cooling are off the value is 0
where A is
A = the greater between E and C * D + F
C = (E - F) / G
D = (H - I) / 0.1 for heating and (I - H) / 0.1 for cooling
G = L / 0.1

Hi,
how are You ?
Do You have any news, idea, doubt or plan about fan speed ?
I don't want to press, only I think that enhancement will be very usefull for others like for me.
I found ready-made boards that can control directly the fancoils, they are based on ESP32 chip and I'm working on the firmware ESPHome : the board will take speed from the thermostat, pay attention to water temperature inside the fancoil and then set the fan speed directly to the fancoil engine in 0-10v.
When all will be running, if You want, I can send You a video of the "case history" :) : a kitchen with heating/cooling fancoil, mvhr ventilation and cooker hood all working together......

I need to finish up other features and I will focus on this one.

I am implementing a more generic solution that doesn't depend on fan mode, and I will call it hvac_power_level.

I don't understand at 100%.....
In this way (hvac_power) it will be fine for fancoils with static speeds ( something like this Aermec 3 speeds ) but in inverter fancoils ( something like this Aermec inverter ) You lose the advantage of an inverter fancoil > the possibility to range fan speed continuously

I will calculate a percentage and a power level, which will be available at all times.

There is no need to set which mode to use as both modes will be calculated and provided in the state of the thermostat.

Ok, now I understand.
Good, I like it.

Please check https://github.com/swingerman/ha-dual-smart-thermostat/releases/tag/v0.9.8.beta-3
Note: the feature is not covered with test yet, so there can be bugs
It uses fallback values fo everything
defaults:
hvac_power_levels: 5
hvac_power_min: 1
hvac_power_max: 5
hvac_power_tolerance: 1 or 33 (based on the metric system of HA)
To enable you need to set either hvac_power_levels or hvac_power_tolerance
hvac_power_tolerance sets the sensitivity. The maximum difference between the current temp and the target temp.
In other words the levels and percentages will be calculated inside this tolerance.

Ok, quite late I start tests....
One question out of this item : I saw the function "sensor_stale_duration", but how must I write the time in yaml code ?

hh:mm:ss

Ok, thanks


CSS improvements of Angular frontend

Improve the CSS for the Angular frontend application - see https://demo.traderx.finos.org/ to make it look nicer.
Checkout the .scss files in https://github.com/finos/traderX/tree/main/web-front-end/angular/main/app
To run locally, use docker compose.

All done here, thanks @TheJuanAndOnly99


default namespace fixed to "djinni_generated"

Extracted from #28 and based on the latest master for easier review

Pushed as 7b384fa7997aedf8b66b6f47afaba46f355e53f3


Error validation summary guidance leads to repetition

If you follow both our validation guidance, and our guidance to have 'one thing per page', I'm concerned that you'll end up with redundant repetition on the page.
For example, if there's one thing on the page: "What is your national insurance number?", then the summary error and the field error will be the same.
Is there a way to make this situation accessible (eg using a visually hidden element, or focusing the field error) without adding redundant elements to the page?
An example:

When Gemma and I were first working on the error message guidance, we wanted to say 'if there's only one question on the page then you don't need a summary box'. I think we dropped it because the advice was getting complicated. Might be a good time to revisit that decision.

I think there's a clear advantage to always having a summary box for users of assistive technology. This is why we decided to keep summary boxes, even when there's only one question per page.
The advantage is that the error message is prominent, it appears as one of the first items on the page and provides a link as a shortcut to allow the error message to be easily reached and corrected.
Ideally, the repetition you see here would be solved by changing the wording of the error messages.
The first would give an indication that an error has occurred 'You must answer the question', the second would indicate what the error is and how to resolve it 'Choose how you would like to get your photo'.

Yeh I definitely get the advantages for assistive tech, and thats crucial. Was just wondering if it's at all possible to keep that support, and avoid the visual repetition. In your example, the repetition would move from the 2 error messages to the error message and the label - both would be (slight variant on) "how you would like to get your photo?"


ElasticSearch mapping index hangs without results

I'm using the latest source code from v2.4.2-11. Cassandra cluster is fine. Schema is created and I'm able to insert a huge of records.
But when I'm trying to create db in Elastic Search, the PUT request hangs. Search structure is created but no results is returned.
How can I debug to identify it's a bug from Elassandra or missing configuration somewhere ?

You can set logging level to DEBUG or even TRACE in conf/logback.conf to get more information about any issue in logs/system.log. Would you have some details about your test to reproduce your issue ?
Thanks.

Thanks @vroyer
Currently I solved this problem, seems I'm wrong in Cassandra configuration but good to know how to debug it.


Implement thoughtsense and apply to Empathic Sense ancestry feature

This is the implementation suggested by https://github.com/foundryvtt/pf2e/issues/15111
It also updates the "Empathic Sense" ancestry feature for the Kashrishi race to use this new sense out to 15 ft (even behind walls).
The new sense will only detect Actor types of: character, npc, familiar.
It is best tested by giving the PC with "Empathic Sense" the "Deaf" condition (otherwise they can hear it).

I think we'd want a distinct visual effect for this so it can be identified to a user.

Updates change the colour to green.
It fixes the case of the "id" so that "Thoughtsense" works when Rules-Based Vision is disabled.
Set correct localization.

Cauthooj creature wrongly had tremorsense when it should have thoughtsense.
Other creatures in Monster Core already have thoughtsense configured on their Actors.

You might consider rebasing in the future instead of merging master on top.


OLH-1559: Add activity log start date

Proposed changes

What changed
Add today's date to the config and replace the placeholder variable on the activity log page with the translated, formatted date.
Why did it change
We released the backend to production this morning and are now storing data. This will explain to users why they don't see history before today.
Checklists

Environment variables or secrets

[x] No environment variables or secrets were added or changed

Testing
I've tested this in dev in both English and Welsh

To be fair we could also just hard code the date in the translation files since we now know it's 12 March 2024/12 Mawrth 2024.  Saves us calling the formatting function again and doing the replace thing with Nunjucks, though there might be some advantage to this approach that I haven't thought of!

Hmm yes I think you're right. I'm getting too clever. We're never going to want to change this date once it goes live. I'll get rid of all the code changes and put it in the translation files instead.


Enterprise guidance

Q
A

content fix?
no

New article?
yes

Related issues?
Guidance for Enterprise admins

What's in this Pull Request?
Enterprise guidance documentations, targeted at enterprise admins and architects

Hi @wictorwilen, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

thx Wictor, adding it also to TOCs now. There's one thing around the versioning which will double check internally, but in general getting this out, since it provides lot of value for the field. Great work.

And messing up things - Could you actually do another PR with the same content. I was supposed to send this for quick voice review first with tech writers, but merged -> reverted and then lost your edits, which certainly was not the intention.


Reduce memory rbf

Description of the problem

Memory requirements was too high for dense RBF shapes (high number of RBF nodes) in very fine grids.

Description of the solution

Nodes precalculations was changed: before, every cell had a vector with the IDs of the contributing RBF nodes, and now every node is in only one vector, associated to a fine cell. The cells then have a list of shared pointers that reference these vectors of IDs.
-- The performance is barely affected in terms of computing speed, but very much improved for memory requirements even for the densest RBF tested and in fine grids.
-- A side effect of this (for the moment) is that RBF nodes that are in no cell are lost, so their contribution on the shape is as well. This happens only near the domain boundaries. An option to prevent mesh based precalculations was added for cases where accurate surface representation is important near the background grid boundary.

Another change is that information of RBF nodes that don't affect locally owned cells are removed (a reload function is then used  when the shape moves).

An additional change is that cache of constituents in CompositeShapes is not used anymore: this prevents duplication of information.

How Has This Been Tested?

Tests still pass.

Documentation

Changes are reflected in the sharp IB parameters section.

Future changes

A modification will be made to the algorithm to keep the effect of RBF nodes located outside the background grid.

@oguevremont can you rebase and then I'll review?


Android - DI

Could you add this library to Android - DI?
Android Annotations
=)

Thanks, it is added: https://github.com/JStumpp/awesome-android/commit/256dfd94bee0831af6b5dc9f76eded17e69f08bf


Notice of monolog handler available since 3.2.0

I added a notice of the monolog handler available since the version 3.2.0  of the bundle to the README.md file.
I install this bundle following the Sentry guide offered in the docs an ended up with the 3.0 version and faced this problem. Finally i figure it out but i think it will be helpful for other developers to add this notice in the README.md

For future reference, the feature was added with #247.
Build is failing for unrelated cause, I'll first fix that.


feat: update lastLoginIp saving on login

PR Fixes:

Save user IP address on login

I have attempted to implement the functionality to save the user's IP address when they log in. While I believe the implementation works, I'm not entirely confident about it, and would appreciate your feedback and suggestions for improvement.
Resolves #1613
Checklist before requesting a review
[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding the same issue

@hkirat @devsargam


docs: fix jsdoc type example

The example uses an incorrect type symbol.
It should be PlebConfiguration.

Nice catch. Could u rename it to Configuration in the index.ts instead? Not sure why I renamed.

Know what... It's a breaking change so I'll do it in the next major.


ScalaTest 3.2, drop PhantomJS/Java 8/Scala 2.12, add MS Edge, add GithHub actions

Please do not merge this, trying out sharable workflow as suggested by ihostage.

@cheeseng So I took a look and pushed a couple of commits. IMHO this should now be ready. What I did is

use our workflows that run with Ubuntu intead of macOs. As you can see in the logs it complains about missing drivers for Safarai and Internet Explorer (:roll_eyes:), however the tests don't crash.
Upgraded to a unstable 2.9 Play milestone release that comes with latest Jackson.
Dropped Java 8, but test against Java 17
Dropped Scala 2.12

What do you think? Can you have a look and review my commits? Are you happy with the test output?
@ihostage Please review as well, thanks!

@mkurz Not an issue for me to skip Safari (just nice to have imho), and let's forget about IE  :), Ubuntu should be able to run Edge though, it is good to go for me!

Thanks a lot @cheeseng.

@ihostage if you want something changed here let me know,we can do that in a a follow up PR.


[TESTING] add clean to workflow

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


newsboat: show queries before urls

continuation of https://github.com/rycee/home-manager/pull/1039

Thanks! Rebased to master in ef148ab3cb015be98c795b89b9aff2afe4fff4a1.


Providing the Subject and class details in the Teacher end point

Providing the Subject thought by the teacher when the user access the Teacher API
The latest API response looks like this:
{
    "first_name": "keerti",
    "last_name": "malik",
    "mobile_number":<PHONE_NUMBER>,
    "email"<EMAIL_ADDRESS>    "subjects": [
        {
            "subject": "Kannada",
            "class_number": 10,
            "subjectId": 1
        },
        {
            "subject": "English",
            "class_number": 10,
            "subjectId": 2
        }
    ]
}

Updated the response to remove the SubjectId from the response as that detail is not required. Updated response:
[
    {
        "first_name": "keerti",
        "last_name": "malik",
        "mobile_number":<PHONE_NUMBER>,
        "email"<EMAIL_ADDRESS>        "subjects": [
            {
                "subject": "Kannada",
                "class_number": 10
            },
            {
                "subject": "English",
                "class_number": 10
            }
        ]
    }
]


Making another model in an existing module

I have a module named 'Contract' in my laravel project.
To make a model named 'Contract', I used this command:
php artisan module:make-model Contract -ms
Then I am going to make another model named 'ContractType' in existing 'Contract' module.
In this case, I used the php artisan cli like the above:
php artisan module:make-model ContractType -ms.
But in this case, "Module [ContractType] does not exist!" error ocurred.
Please let me know how to make another model in an existing module.

you need the module name too
php artisan module:make-model ContractType Contract -ms.

Yeah, you are right. Thanks


No auto import available but yellow warning diagnostic is shown on symbol

Environment data

VS Code version:  1.44.0-insider
Extension version (available under the Extensions sidebar): 2020.4.68586-dev
OS and version: MacOS 10.15.3
Python version (& distribution if applicable, e.g. Anaconda): 3.7.3
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): NA
Relevant/affected Python packages and their versions: NA
Relevant/affected Python-related VS Code extensions and their versions: NA
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info microsoft/vscode-python#3977): Language server
Value of the python.languageServer setting: Microsoft

Steps to reproduce:
Create a file consisting only of:
sleep(1)

Bug
sleep is underlined in yellow but there are no auto imports available:

If I add import time, it starts suggesting the import

What is your language server version? We recently pushed an update to stable which likely fixed this. microsoft/vscode-python#3977 for manual update instructions.

<IP_ADDRESS> (I'm on the daily insiders channel for the extension)


Enhancement - Add short positions with perhaps margin tunable parameters

Hello!
First of all thank you for this amazing project! I would like to know if there is a possibility to integrate short positions in your algorithms with some margin tunable parameters as you did with the transaction costs. As far as I saw and read, the current project supports only long positions.
I think this could be a great addition to the entire FinRL project, addition that could also greatly improve the models and perhaps the returns.

I believe it is possible, following an inverse logic of long positions.

@TheWCKD I am currently evaluating to implement this as a Bachelor Thesis. I would be happy if someone experienced with margin trading / shorting could help me to understand how it should be implemented. I have little experience with trading and I think with margin trading there are quite a few things to consider.


Spring Boot Form Validation with JTE

Hi Andreas, first of all thanks for the awesome template engine.
I would like to use Spring Boot Validation, like with Thymleaf, e.g. https://stackabuse.com/spring-boot-thymeleaf-form-data-validation-with-bean-validator/
Is it possible to access the BindingsResult, like in the Thymleaf example with ${#fields.hasErrors('age')}?
I am not sure, if this is possible.

No, this isn't implemented in the spring-boot-starter as far as I'm aware of.
I think you would need to find a way to pass the BindingResult to the template and could do it by hand as in thymeleaf template. I'm no Spring user, so I'm not sure what the best practice for this is.
That being said, jte has an HtmlInterceptor feature that could be used to make this even more usable. We wrote such an interceptor for the Stripes framework we're using at work. Unfortunately that one is still closed source so I can't share it here.
But the unit tests here show what's possible:
https://github.com/casid/jte/blob/main/jte/src/test/java/gg/jte/TemplateEngine_HtmlInterceptorTest.java
You can basically automatically bind controller values to HTML elements, show field errors, etc. At least we could do all of that in Stipes :-)

Thanks for pointing out the HtmlInceptor. Meanwhile, I will use my own validation setup / path the BindingResult manually.
You are using stripes at work and with jte?

Yes, but it is rather for historic reasons and we maintain our own fork of it by now. But it is a very lightweight, easy to understand and highly customizable framework.
Good luck with the validation!

I saw this issue and wanted to give some insight into how I've solved this.
I didn't want to add the BindingResult to the Model each time because it is repetitive and the view you're returning of the form would likely used templates for the form inputs which meant you'd have to pass the BindingResult along with each of those templates.
Spring has the concept of an HandlerInterceptor. Which exposes a preHandle and postHandle hook. The documentation for the postHandle reads:

Interception point after successful execution of a handler. Called after HandlerAdapter actually invoked the handler, but before the DispatcherServlet renders the view. Can expose additional model objects to the view via the given ModelAndView.

This seems to me exactly what I want, to automatically add the BindingResult BEFORE the view is rendered. So I setup a JteContextInterceptor which implements the HandlerInterceptor.
In the JteContextInterceptor I implement the postHandle method and there I "initialize" a JteContext class which holds a number of ThreadLocals, one of them being the one for the BindingResult. So my JteContext class looks like this (now only contains the "form" inner static class, but normally contains others as well):
public class JteContext {
    public static class ctx {
        public static class form {

            private static final ThreadLocal<BindingResult> bindingResultContext = new ThreadLocal<>();

            public static void init(BindingResult bindingResult) {
                bindingResultContext.set(bindingResult);
            }

            public static boolean hasFieldError(String fieldName) {
                return bindingResultContext.get() != null && bindingResultContext.get().hasFieldErrors(fieldName);
            }

            public static boolean hasGlobalError() {
                return bindingResultContext.get() != null && bindingResultContext.get().hasGlobalErrors();
            }

            public static String getFieldError(String fieldName) {
                if (bindingResultContext.get() == null) {
                    return "";
                }

                FieldError fieldError = bindingResultContext.get().getFieldError(fieldName);

                return Optional.ofNullable(fieldError)
                        .map(fe -> i18n.localizerContext.get()
                                .getMessageSource()
                                .getMessage(fe, LocaleContextHolder.getLocale())
                        )
                        .orElse("");
            }

            public static String getGlobalError() {
                BindingResult bindingResult = bindingResultContext.get();
                if (bindingResult == null) {
                    return "";
                }

                if (!bindingResult.hasGlobalErrors()) {
                    return "";
                }

                return bindingResult.getGlobalErrors().iterator().next().getDefaultMessage();
            }
        }
    }
}

The ThreadLocal is necessary to couple the right BindingResult to the in-flight request and can then be accessed when rendering the template. The code to init the JteContext in the JteContextInterceptor:
@RequiredArgsConstructor
public class JteContextInterceptor implements HandlerInterceptor {

    private final MessageSource messageSource;

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        JteContext.ctx.i18n.init(new JteLocalizer(this.messageSource, LocaleContextHolder.getLocale()));
        JteContext.ctx.request.init(request);
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
        if (modelAndView == null) {
            return;
        }

        // in order to be able to access the form's BindingResult we need to intercept it here and initialize it in
        // the JteContext as a ThreadLocal.
        // the alternative would be to declare it as a param on the relevant .jte file, but seeing as that would be a form, it would then
        // have to pass the BindingResult as a param to each input on the form, this leads to a cascade of passing the BindingResult along
        // the approach used here to set it in a ThreadLocal which can then be accessed directly at the correct level seems easier and cleaner
        Map<String, Object> model = modelAndView.getModel();
        if (model.containsKey("org.springframework.validation.BindingResult.form")) {
            BindingResult bindingResult = (BindingResult) model.get("org.springframework.validation.BindingResult.form");
            JteContext.ctx.form.init(bindingResult);
        }
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
        JteContext.dispose();
    }
}

I also init some other things as you can see in the preHandle method, but that's not important.
Having done this, I now simply do a static import of my JteContext in my templates and can then easily interact with the BindingResult without having to pass it around from controller to view and to its children templates, an example would look like this:
@import static be.bluemagma.web.infrastructure.jte.JteContext.*

<input  class="input ${ctx.form.hasFieldError("firstName") ? "is-danger" : ""}">

@if(ctx.form.hasFieldError("firstName"))
    <p class="help is-danger">
        ${ctx.form.getFieldError("firstName")}
    </p>
@endif

I've left out some bits of code here and there as I've taken this from a larger project so apologies if there are any inconsistencies.
Happy to hear your thouhts too @casid about the implementation approach.


⚠ Bofrost.com has degraded performance

In f279bcf, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 790 ms

Resolved: Bofrost.com performance has improved in f454ea0 after 9 minutes.


fix: temp fix for issue #354 _layoutRootView method missing

Fixes info window in NS 6 as suggested in #354.

Sorry for the delay @abhayastudios - pull request has been merged.  Thanks!

Hey @dapriett! Thanks for merging PR #367.
However somehow the solution stopped working, I guess due to some of the other changes in the latest release. If I copy the mapview.ios.js from my PR then it works fine.

@dapriett see my comment to #331


[FR] - CLI command to truncate chain db from a specific slot

Internal/Exernal
Internal   if an IOHK staff member.
Describe the feature you'd like
cardanoc-cli chain truncate --slot-no 3000000 would remove all data after slot 3000000
Describe alternatives you've considered
Additional context / screenshots
Add any other context or screenshots about the feature request here.

I have created https://github.com/input-output-hk/ouroboros-network/issues/2530 for the consensus-related changes.


LLMNR Enabled

Get-ItemProperty needs changed to Get-ItemPropertyValue in some lines to fix error in running the script.

Going to get this one closed out, but if you have a chance to look into what @CaseyM-PDQ let us know and we can take a closer look


ios/android: allow zero for total upstream timeouts

We should allow zero to be specified for totalUpstreamTimeoutMS, which effectively disables the upstream timeout per Envoy's docs.
This can be useful for consumers who only want to timeout on a per-request basis (rather than timing out all retries in aggregate).
Signed-off-by: Michael Rebello<EMAIL_ADDRESS>

aren't we worried that API for perRetryTimeoutMS and totalUpstreamTimeoutMS are different? One of them accepts nil while the other relies on 0 being passed. Could we come up with something that would work for both of them - accepting nils for both of them or 0 for both of them?

This is a good call out. I'll update both to be nullable.

For context, there's a difference in how those are serialized on the wire. For upstream/route timeouts, we need to manually specify 0 in the header, whereas for request timeouts, we omit the header. But I don't think we should expose these implementation details in the public platform interface.


chore: remove node fetch

Checklist:

[X] I have read freeCodeCamp's contribution guidelines.
[X] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #XXXXX

It seemed fairly reasonable to use the built-in version of fetch instead of a third party library. In addition I fixed a typo in the Jest tests.

It might not exist in 16. I was using 20.


added missing error code message

added an error message to interpret the error code related to export of fluent case file.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (47e5004) 76.02% compared to head (c2e10bc) 76.02%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #652   +/-   ##
=======================================
  Coverage   76.02%   76.02%
=======================================
  Files          32       32
  Lines        2273     2273
=======================================
  Hits         1728     1728
  Misses        545      545

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Remake server and client responses

We should support translations, especially for client responses, so we need to store all responses in dedicated .json files (e.g. en.json, ua.json, de.json)
Implement Template class, that will retrieve required text based on language
Template class should support variables in text

Also using Template class will clean code a little, especially with big amount of dynamic values
All of described above can be reviewed and changed

UPD: For language translation will be implemented TranslateService, Template class will only replace string literals (or do something else as well)


Fix public path

When using nested <Route>s in your application using this boilerplate, as soon as you are two levels deep the browser won't find the necessary JS files anymore. The links in the index.html link to bundle.js, but when the URL is yourdomain.com/sub/route all those files 404 because the browser tries to get yourdomain.com/sub/bundle.js which doesn't exist.

This should be fixed by adding publicPath: '/' to the webpack config output variable.
Tip: The webpack config is right here.

Steps to do this:

[ ] Claim this issue by commenting below
[ ] Setup a local copy of react-boilerplate

[ ] Clone the repo with git clone git@github.com:mxstbr/react-boilerplate
[ ] Enter the newly created folder with cd react-boilerplate
[ ] Go to the v3.0.0 branch of this repo with git checkout v3.0.0
[ ] Install the dependencies with npm install

[ ] Fix the bug mentioned above
[ ] Start a pull request
[ ] Review
[ ] Merge

Feel free to ping me on twitter if you need any help/tips/pointers/are stuck!

Note: This feature is scheduled for v3 of this boilerplate, please don't forget to make your changes on the v3.0.0 branch of this repo.

Will this help? https://developer.mozilla.org/en/docs/Web/HTML/Element/base

That might work, I like it! Do you want to give it a try?

I am seeing this too. I tried using the latest html-webpack-plugin because there was a recent fix around module id's, https://github.com/ampedandwired/html-webpack-plugin/commit/b42074844ce22cfc711838317cc1907f92bd6e07 however the issue still exists.


Update README.md

Line numbers in config_default changed for GSX information

I'm leaving this open for the moment because I want to explore the possibility to store the default values in the module directory


fixfix bug that query infomation_schema.rowsets fe send fragment to one of muilti be. (#27025)

Fixed the bug of incomplete query results when querying information_schema.rowsets in the case of multiple BEs.
The reason is that the schema scanner sends the scan fragment to one of multiple bes, and be queries the information of fe through rpc. Since the rowsets information requires information about all BEs, the scan fragment needs to be sent to all BEs.
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

#27025


Update fake ip address table with updated Controller entries

current content:

While creating the MWDI v1.0.0 spec other values have been used, so the following entries need to be changed:

Component = OpenDayLight   (upper case L)
new abbreviation: ODL

Done.


counter of message

Hi !
what do you think about this idea - for user experience :)
see attached image.

I like this ideea! Seems pretty useful to mee

Should this feature already work?

Not yet.

Hi, After one here and good product - is there?

I guess this is one of the most-wanted features. Hope it's implemented some day. If unliked at main code, how about an additional plugin?

+1 on this.  I've got like 10 accounts and have to check them all one at a time.
I'd get a commercial license if the software had this.

+1 on this.

+1


200S and Air Quality

Is your feature request related to a problem? Please describe:
Purchased a 200S today, found this plugin and it works great! I can turn the device on/off and change fan speed with no issue. However, this device is not capable of reading air quality, and triggers the following warning:
[12/5/2021, 11:51:19 PM] [homebridge-levoit-air-purifier] This plugin generated a warning from the characteristic 'PM2.5 Density': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
Describe the solution you'd like:
Could you please allow the air quality sensor/PM2.5 Density to be optional? When I add the Air Purifier to to a room, the associated Air Quality sensor appears, but is unusable.
Please let me know if you need anything further, or if I can help you with other 200S testing.
Thanks

Hey, the 200S version doesn’t have a pm2.5 sensor?

@nutty-daddy Version 1.1.4 was released

Hello, thank you for writing and keeping up with this plugin. I also have a 200S and v1.1.4 installed. I'm still getting a second dub-device for the Air Quality. Was v1.1.4 supposed to remove that for the 200S?

Hello @GoodyGizmos @RaresAil
Thanks for the update! While this update stopped the errors in the homebridge logs regarding the pm2.5 sensor, I do have the same experience as @GoodyGizmos. I will work on providing screenshots.

@nutty-daddy @RaresAil

@nutty-daddy @GoodyGizmos Can you provide the logs from debug mode?

I enable debug logs per your instructions. How do I retrieve the log and post for you here?

@GoodyGizmos Should be in homebridge in the right up, near the restart button

@GoodyGizmos I released v1.1.6, try to upgrade to that one and see if it will work now

@RaresAil Thanks. I upgraded. It's still there. I'll post the log tomorrow.

@RaresAil Here is the log immediately following a Homebridge restart.
homebridge.log.txt

@GoodyGizmos Try to reset the accessory in order to delete the cache
https://github.com/homebridge/homebridge/wiki/Connecting-Homebridge-To-HomeKit#how-to-reset-homebridge

@RaresAil After reading the warning, I think I'll just live with it. Thank you though.

Resetting just requires you to remove the bridge from homekit and add it again, another method is to remove the purificator from VeSync and re sync it and then restart homebridge and it will automatically reset the old pair with the purificator

Hey @RaresAil,
Sorry for the delay. Updated the plugin and tried both avenues to reset: removing bridge from HomeKit and removing/repairing in VeSync. Unfortunately, the Air Quality accessory still comes through after reset. I made sure to clear single cached accessory, as well. As @GoodyGizmos said, this can be lived with. Please let me know if there's anything else I can provide to help, should you still want to investigate. Thanks

@RaresAil I did the VeSync method and got the same results as @nutty-daddy.
I did notice this in the log:
[18/12/2021, 12:18:21] [Levoit Air Purifiers] Adding new accessory: Air Purifier
[Air Purifier@@Filter Change Indication] Characteristic not in required or optional characteristic section for service AirPurifier. Adding anyway.
[Air Purifier@@Filter Life Level] Characteristic not in required or optional characteristic section for service AirPurifier. Adding anyway.

@GoodyGizmos those two lines are related to the change filter indicator light on the device and the air filter life % (you can find this in VeSync)
@RaresAil Maybe our issue is a symptom of HomeKit and not your plugin/Homebridge. I don't see anything of value in my logs in relation to the Air Quality sensor. It seems that there are few HomeKit supported Air Purifiers. I imagine they all come equipped with PM2.5 Sensors, and thus this is how HomeKit reacts to unsupported purifiers.

I realise this issue is closed, but it seems to persist. I have just connected a 200S via this plugin and see an air quality sensor despite the 200S not having one. I see there is some code to exclude parts of the air quality sensor service but it still publishes the sensor service with a permanent "Unknown" value.
Would it be possible to adjust the plugin to not publish the air quality sensor at all for devices without a sensor? Or is the air quality sensor required for an air purifier?

Hello, i will try more to check if this can be solved or not

@kieranmjones @GitHubGoody @nutty-daddy This issue should be fixed in v1.1.13


camera app crashing when i use in multiple tabs

i am using camera in TabBarView(i have 5 tabs and i am using camera in 2 tabs).when i move one tab to another app is crashing and giving below one in console.

logs
I/CameraDeviceState(24272): Legacy camera service transitioning to state CAPTURING
E/BufferQueueProducer(24272): [SurfaceTexture-1-24272-25] queueBuffer: BufferQueue has been abandoned
E/BufferQueueProducer(24272): [SurfaceTexture-1-24272-25] cancelBuffer: BufferQueue has been abandoned
I/chatty  (24272): uid=10079(com.example.cameraappwithtabs) Binder:24272_4 identical 6 lines
E/BufferQueueProducer(24272): [SurfaceTexture-1-24272-25] cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer(24272): [SurfaceTexture-1-24272-25] connect: BufferQueue has been abandoned
E/BufferQueueProducer(24272): [SurfaceTexture-1-24272-25] setMaxDequeuedBufferCount: BufferQueue has been abandoned
W/Binder:24272_4(24272): type=1400 audit(0.0:142272): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=2208 scontext=u:r:untrusted_app:s0:c79,c256,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
E/libc    (24272): Access denied finding property "vendor.camera.aux.packagelist"
E/libc    (24272): Access denied finding property "persist.vendor.camera.privapp.list"
W/meraappwithtabs(24272): type=1400 audit(0.0:142273): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=2208 scontext=u:r:untrusted_app:s0:c79,c256,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
I/CameraManager(24272): Using legacy camera HAL.
W/Thread-42(24272): type=1400 audit(0.0:142274): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=2216 scontext=u:r:untrusted_app:s0:c79,c256,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
E/libc    (24272): Access denied finding property "vendor.camera.hal1.packagelist"
E/libc    (24272): Access denied finding property "vendor.camera.aux.packagelist"
E/libc    (24272): Access denied finding property "vendor.camera.aux.packagelist"
E/libc    (24272): Access denied finding property "persist.vendor.camera.privapp.list"
I/CameraManager(24272): Using legacy camera HAL.
E/libc    (24272): Access denied finding property "vendor.camera.hal1.packagelist"
E/Camera  (24272): Error 2
I/RequestThread-1(24272): Flushing all pending requests.
E/RequestQueue(24272): cancel failed: no repeating request exists.
I/CameraDeviceState(24272): Legacy camera service transitioning to state ERROR
E/libc    (24272): Access denied finding property "vendor.camera.aux.packagelist"
E/libc    (24272): Access denied finding property "vendor.camera.aux.packagelist"
E/libc    (24272): Access denied finding property "vendor.camera.aux.packagelist"
D/AndroidRuntime(24272): Shutting down VM
E/AndroidRuntime(24272): FATAL EXCEPTION: main
E/AndroidRuntime(24272): Process: com.example.cameraappwithtabs, PID: 24272
E/AndroidRuntime(24272): java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Surface android.media.ImageReader.getSurface()' on a null object reference
E/AndroidRuntime(24272):        at io.flutter.plugins.camera.Camera.startPreview(Camera.java:424)
E/AndroidRuntime(24272):        at io.flutter.plugins.camera.Camera$2.onOpened(Camera.java:160)
E/AndroidRuntime(24272):        at android.hardware.camera2.impl.CameraDeviceImpl$1.run(CameraDeviceImpl.java:149)
E/AndroidRuntime(24272):        at android.os.Handler.handleCallback(Handler.java:873)
E/AndroidRuntime(24272):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(24272):        at android.os.Looper.loop(Looper.java:201)
E/AndroidRuntime(24272):        at android.app.ActivityThread.main(ActivityThread.java:6810)
E/AndroidRuntime(24272):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(24272):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
E/AndroidRuntime(24272):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
I/Process (24272): Sending signal. PID: 24272 SIG: 9
Lost connection to device.

if you want i will share one sample app.

Hi @janardhanmupparaju
could you please provide your updated  flutter doctor -v
and a minimal code sample to reproduce the problem?
Thank you

[✓] Flutter (Channel master, v1.10.15-pre.252, on Mac OS X 10.14.6 18G1012, locale en-IN)
• Flutter version 1.10.15-pre.252 at /opt/apps/flutter
• Framework revision 903ebd714d (5 weeks ago), 2019-10-24 21:35:14 -0700
• Engine revision 8d6b74aee6
• Dart version 2.6.0 (build 2.6.0-dev.8.2 1bd6e20d76)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
• Android SDK at /Users/janardhan/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.1
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.2.1, Build version 11B500
• CocoaPods version 1.8.4
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 39.0.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[✓] VS Code (version 1.40.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.6.0
[✓] Connected device (1 available)
• iPhone 11 Pro Max • 3BA08FB5-9466-49BE-905D-EFF0AD0691D3 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-2 (simulator)
This is sample app:
CameraAppwithTabs.zip
note: In this file i given lib folder and yaml file only can please add to sample app and test it.

Hi @janardhanmupparaju
Are you still experiencing this issue with latest stable?
If so, can you please provide your flutter doctor -v and flutter run --verbose?
Also, to better address the issue, would be helpful
if you could post a minimal code sample to reproduce the problem
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so it's always better to open new issues and reference related issues.

given your last message I feel safe to close this issue,
if you disagree please write in the comments and I will reopen it.
Thank you


Supporting Global Shortcuts

Thanks for the great application!
I wish I could set a keyboard shortcut for opening the Gitmoji app on the menu bar.
Sometimes It feels redundant to click the icon on the menu bar when I'm writing commit messages, looking at the code editor.

Thanks for your feedback.
A keyboard shortcut would be a great feature for the app. I will try to add this as soon as I have time for it.
Let me know if you have a particular shortcut in your mind.

Thanks for your feedback.
A keyboard shortcut would be a great feature for the app. I will try to add this as soon as I have time for it.
Let me know if you have a particular shortcut in your mind.

Well, It would be perfect if I can modify the shortcut as I want.
However, Cmd + Option + G or Option + Control + G would be nice, I guess.

Well, It would be perfect if I can modify the shortcut as I want.
However, Cmd + Option + G or Option + Control + G would be nice, I guess.

Good point, I'll keep that in mind.

Added the ability to add a custom shortcut with v1.1.0


Use audio of video if available

If the selected video has audio, offer this as default in the audio menu.
youtube-dl  -f '137+bestaudio' will probably download two files instead of one.

fixed in current release, https://github.com/synox/youtube-dl-interactive/releases/tag/v0.1.0


Firmware 0.25 and disktype=amiga

Hello Keirf.
I Have a Greaseweazle F1 working fine. I have updated to 0.25 without issues. Writing adf or scp imega files is working fine, but I have a question ...
What is the exact command line to assign disktype=amiga (to change the fourth byte)?
I can't see the disktype as an option in read or write modes ...
Thanks in advance.

Hello Keirf.
Solved, I think is a parameter only to read from disk.
I have used this command line: gw read test.scp::disktype=amiga
Opening the test.scp file with HxD I can see the fourth byte is 04. Now the scp file is 100% compatible with the SuperCard Pro format.
Thanks you very much!!!


Support console.table(...) in REPL

From @Avocher on Gitter:
Support console.table(...). See https://developer.mozilla.org/en-US/docs/Web/API/Console/table

our debug console implementation is not able to support this

Request to reopen this:

Although https://github.com/microsoft/vscode/issues/12970#issuecomment-250388851 mentioned it's not on standard track, it seems to be on standard track now: https://developer.mozilla.org/en-US/docs/Web/API/Console/table
Node also added it to its API: https://nodejs.org/api/console.html#console_console_table_tabulardata_properties
I find it very useful.
It should be implementable now.

For example, when I'm attaching to a Node process, Debug Console doesn't show the output but the Node process (CSS Language Server) does show its output:

Let's reopen and leave as a feature request.
The only way this could work is that the node debugger sends multiple strings which format to form a table.
fyi @roblourens

Most likely we would have to extend the DAP's "Output" event to support an array of objects.

This is an example of what we get from the runtime:
{"method":"Runtime.consoleAPICalled","params":{"type":"table","args":[{"type":"object","subtype":"array","className":"Array","description":"Array(3)","objectId":"{\"injectedScriptId\":1,\"id\":214}","preview":{"type":"object","subtype":"array","description":"Array(3)","overflow":false,"properties":[{"name":"0","type":"string","value":"apples"},{"name":"1","type":"string","value":"oranges"},{"name":"2","type":"string","value":"bananas"}]}}],"executionContextId":1,"timestamp":1562168420835.384,"stackTrace":{"callFrames":[{"functionName":"","scriptId":"91","url":"","lineNumber":0,"columnNumber":8},{"functionName":"","scriptId":"54","url":"file:///Users/roblou/code/testapp-node2/test.js","lineNumber":1,"columnNumber":0},{"functionName":"Module._compile","scriptId":"46","url":"internal/modules/cjs/loader.js","lineNumber":755,"columnNumber":13},{"functionName":"Module._extensions..js","scriptId":"46","url":"internal/modules/cjs/loader.js","lineNumber":769,"columnNumber":9},{"functionName":"Module.load","scriptId":"46","url":"internal/modules/cjs/loader.js","lineNumber":627,"columnNumber":31},{"functionName":"Module._load","scriptId":"46","url":"internal/modules/cjs/loader.js","lineNumber":554,"columnNumber":11},{"functionName":"Module.runMain","scriptId":"46","url":"internal/modules/cjs/loader.js","lineNumber":823,"columnNumber":9},{"functionName":"","scriptId":"41","url":"internal/main/run_main_module.js","lineNumber":16,"columnNumber":10}]}}}

the DA doesn't handle it or send anything to vscode currently

@isidorn any suggestions how could could surface these tables in the UI and how we could support tables on the DAP level?

My naive hope is that we can just get this to work with the debugger sending text to vscode, and everything just alligning perfectly to form a table.
If that naive approach is not possible my suggestion would be to first check if this or somthing similar can be done in other languages like pyhton and C#. And then we can try to find a common ground which would make sense for the DAP.
As for the UI, the only place where we can show this is in the debug console.
We could render a table in the UI as one element in the debug console in theory. So if the debug adapter would send the size of the table and the contents we could in theory render it. Each table line would have same height.

This seems to be working already!

Like when things just start working. Also works for me both with Node and pwa. So it seems my naive suggestion from previous coment seems to get the job done.
Good job @roblourens and @conno4312 if you fixed this on the extension side.


Update README.md

The instructions emphasized updating the subprojects to newest (master), while most people will likely need to update the main repo (newest stable). This can be confusing to newbies.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello @decimoseptimo 👋
I apologize for keeping you waiting for so long.
@lkostrowski are these changes correct from the technical point of view?

Hey
I think its a little stale, maybe we can reflect it here
https://github.com/saleor/saleor-platform/pull/169
We can add a little more explainer like here
https://github.com/saleor/saleor-platform/pull/171/files
But for now - closing and let's switch to #169


List of 'Packages installed as dependencies' - edit mode

Goal :
have a react component to display a list of packages installed as dependencies and "promoting" a dependency package as a required package.
Figma design

the "arrow up" button on the right is the "promote as required" button

Concepts :
same as in issue #8
Differences from the Figma design :

Don't display the "Version" before the version number
Display the package name as it is returned by the API (no uppercased first letter modification)

Behavior

The box has a maximum height and overflow content scrolls. Expect this height to be a parameter.
Clicking on the top arrow in the header collapses/expands the box.
Click on the promote button :

Removes the row from the component
Add the corresponding package in the "Requested packages" component
We'll need to keep track of this change and reflect it when the user clicks on the final "Create" button to build the environment. I assume this will be handled from in Redux.

API and data
Check the "API and data" section in issue #8.
We don't want to load all the packages at first, page after page. We want the list in the component to automatically call the API (for the moment, just mock that up) when the user scrolls to the bottom of the list, and then the component updates its content after received the result.
Other :
Split this main component into sub-components as necessary.
In the end, this component is very similar to it read-only version, only showing the promote button and being linked to a Requested packages component.

pr in progress: https://github.com/Quansight/conda-store-ui/pull/24


Fix diff on windows. #61

Sorry for the delay.
await_main() prevents os.tmpname () from crashing.
--ignore-space-at-eol prevents diff to be the whole file when bcache.staged use \r\n instead of \n.

Thanks for this. You just need to run make tl-build to update the lua files.

Ok after many hours of fighting to install luarocks and teal, it's a fail sniff xD
→ ~\AppData\Local\nvim-data\site\pack\paqs\start\gitsigns.nvim [main ↑2]› tl --version
0.11.2

Checks are still failing. Probably a Windows issue. Don't worry, I'll make the changes.

Ok when trying to fix the line ending problem, I found that git config --global core.autocrlf input makes neovim crash at startup.
git config --global core.autocrlf true or git config --global core.autocrlf true works well.
The crash appear in git.run_diff, I investigate.

Changes applied in https://github.com/lewis6991/gitsigns.nvim/pull/66


Failing component constructor should throw RemoteInvocationException

Describe the bug
When a component constructor throws an exception, it should be sent to the client.
To Reproduce
public class TestService()
{
	public TestService() => throw new NotImplementedException();
}

Expected behavior
The client should get a RemoteInvocationException wrapping the actual exception thrown by the component.
Additional notes
This issue is related to this: https://github.com/theRainbird/CoreRemoting/issues/69

Looks like the underlying issue is this:
ISerializable type 'Castle.MicroKernel.ComponentActivator.ComponentActivatorException'
does not have a valid constructor. To correctly implement ISerializable a constructor
that takes SerializationInfo and StreamingContext parameters should be present. Path ''.

Blacklisted the ComponentActivatorException so it doesn't break the RemotingClient message processing loop.


Could be useful to support wasm plateform

Maybe instead of doing env::current_exe to get the bundle path do File::open it could try to fetch assets.bin as an asset using the plateform default asset io.
we could try something like:
and we use "./" instead of `assets
    #[cfg(all(not(target_arch = "wasm32"), not(target_os = "android")))]
    let source = FileAssetIo::new("./", settings.watch_for_changes);
    #[cfg(target_arch = "wasm32")]
    let source = WasmAssetIo::new("./");
    #[cfg(target_os = "android")]
    let source = AndroidAssetIo::new("./");

and use source to fetch the assets.bin
This is just an idea

but then all asset will be downloaded upfront, so I guess I'll just put all the asset inside the binary itself and not use a bundler.
But thank you for the crate.


[FR] Support LM Studio

LM Studio is another excellent local LLM launcher

I read that LM Studio also implements the OpenAI standard / API. (Correct me if I am wrong)
So, you can already use it by:

Select the open API provider.
Change the URL and model name to your local API.

This might look something like:

This was already possible, but the API key was mandatory during the connection test.
I just merged a PR that removes this requirement, so you can now test the settings.
I hope it helps. If not, feel free to reopen

The link is accessible, but it seems unable to accept LLM output results.


Diff mode does not update when a context line is changed.

What steps will reproduce the problem?
1. Open up a file, change at least one line.
2. ":saveas tmp"
2. ":diffsplit original-file"
3. Modify one of the context lines.

What is the expected output? What do you see instead?

The line in the original file should be highlighted with DiffChange; the
modified file should have that line highlighted with DiffChange and DiffText
where the change occurred. Instead, nothing happens.

What version of the product are you using? On what operating system?

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jul 24 2014 17:37:05)
Included patches: 1-383
Compiled by admin@scott-pc
Normal version with GTK2 GUI.  Features included (+) or not (-):
+acl             -farsi           -mouse_netterm   +syntax
-arabic          +file_in_path    -mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
+balloon_eval    +float           -mouse_urxvt     -tag_any_white
+browse          +folding         +mouse_xterm     -tcl
+builtin_terms   -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
+clientserver    -hangul_input    +netbeans_intg   +title
+clipboard       +iconv           +path_extra      +toolbar
+cmdline_compl   +insert_expand   -perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    -keymap          +postscript      +virtualedit
+comments        -langmap         +printer         +visual
-conceal         +libcall         -profile         +visualextra
+cryptv          +linebreak       -python          +viminfo
-cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con_gui  -lua             -rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      +X11
+dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     +xim
-emacs_tags      +mouseshape      -sniff           +xsmp_interact
+eval            -mouse_dec       +startuptime     +xterm_clipboard
+ex_extra        -mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread
-I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/freetype2
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/harfbuzz     -O2
-fno-strength-reduce -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-x11-2.0
-lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0
-lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0
-lfreetype   -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -ldl

Please provide any additional information below.

The solution on vim.wikia.com [1] is to add :diffupdate as an auto-command on
every BufWrite, but that seems inefficient and obviously not what vim does when
one adds or removes a line in diff mode. For example:

1. Open up a file, change at least one line.
2. ":saveas tmp"
2. ":diffsplit original-file"
3. Modify one of the context lines and then hit enter.

Observe that while the diff of the original updates to highlight the new line
with DiffDelete, but that the modified line above it does not change. If
:diffupdate had been called, both changes would be noted by vim.

[1]: http://vim.wikia.com/wiki/Update_the_diff_view_automatically

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 29 Jul 2014 at 6:46

closing, as we have included xdiff for calculating the diff


Could not build Objective-C module 'CDTDatastore' - Swift

Hi,
i'm having a problem running my project with CDTDatastore, i'm using Cocoapods and Swift.
When i build the project all goes fine, but when i try to do "import CDTDatastore", Xcode give me a compilation error: "Could not build Objective-C module 'CDTDatastore'", there are others error that are all of the same type, like "Include of non-modular header inside framework module..."
I have some additional information:

i use Xcode 7.2
in the Podfile i have "use_frameworks!"
if i remove "use_frameworks!" and i import "CloudantSync.h" in the bridging header all goes fine, but i  can't remove "use_frameworks!"

In the current release version of CDTDatastore you cannot build as a framework, in the next release (1.1) this function will be supported, for reference it was fixed as part of #194


Update Smithy types to 3.0.0 and AWS SDK to 3.577.0

Last version of AWS SDK is using Smithy types 3.0.0, no more 1.1.0.
So let's try this bump
Is it related to this issue : https://github.com/m-radzikowski/aws-sdk-client-mock/issues/197 ?

I don't know why but Actions does not pull my amended commit with fixed comment.

For the PR lint task change the name of the PR to --> chore: Update Smithy types to 3.0.0 and AWS SDK to 3.577.0

For the PR lint task change the name of the PR to --> chore: Update Smithy types to 3.0.0 and AWS SDK to 3.577.0

Updated but still failing. I do't know why chore:  is dropped during check

Hey,
thank you for the PR. However, those are only dev dependencies, used in unit tests. The aws-sdk-client-mock works fine with both @smithy/types v1.1.0 and 3.0.0.
When you install the aws-sdk-client-mock, it does not install @smithy/types. They are installed as dependency of @aws-sdk/* packages. The aws-sdk-client-mock deliberately does not list it as a dependency to reduce the chance of installing a conflicting version, but it still happens because @aws-sdk/* packages in different versions can install different types - hence the steps described in #197
The AWS SDK version 3.363.0 used here as dev dependency is the one that introduced @smithy/types. Since aws-sdk-client-mock v3+ is compatible with AWS SDK v3.363.0+, I want to run unit tests on v3.363.0 to prevent accidental breaking changes.
So, in short - thanks, but this does not affect lib usage or solve #197 and I don't want to bump it.


Server Side Apply: Adds support for CA Injector controller to use SSA with Feature Gate

Branched from #4773 which should be merged first.
This PR implements Server Side Apply for the ca-injector controller when the SeverSideApply Feature Gate (default disabled) is enabled.
See  https://github.com/jetstack/cert-manager/pull/4758 for more details and design.

This PR adds the --feature-gates flag to the ca-injector component. A featureGates field has been added to the ca-injector section in the helm chart. This field gets piped down to the ca-injector Deployment.
The /devel/addons/cert-manager/install.sh script has been updated to interpret the FEATURE_GATES_CA_INJECTOR environment variable, which gets piped down to the cainjector.featureGates helm chart value. We should update the testing config to include the same feature gate options we assign for the controller component.
ServerSideApply: The feature gate `ServerSideApply=true` configures the ca-injector controller to use Kubernetes Server Side Apply on CA Injector injectable target resources.

/milestone v1.8
/kind feature

A featureGates field has been added to the ca-injector section in the helm chart. This field gets piped down to the ca-injector Deployment.

Can we avoid adding this field to the Helm chart & I'll prioritise switching us to accept a config file instead? Migrations for field renames from the Helm values schema to the config file format are already quite painful 😬

How can we test this behaviour? Could an integration test be created that verifies that other fields don't get 'clobbered' by the cainjector? Perhaps using the fuzz testing stuff to populate objects (using a fuzz function to restrict the range of valid values) and have the cainjector run against these objects and assert that only the CABundle ever changes?

How can we test this behaviour? Could an integration test be created that verifies that other fields don't get 'clobbered' by the cainjector? Perhaps using the fuzz testing stuff to populate objects (using a fuzz function to restrict the range of valid values) and have the cainjector run against these objects and assert that only the CABundle ever changes?

I agree, I'll work on that now

Hi! As part of the effort of migrating from Bazel to Make, we have added two new Prow jobs that require this PR to be rebased on top of master in order to pass. The two Prow jobs that were added are pull-cert-manager-make-test and pull-cert-manager-make-e2e-v1-23. Thanks! 🙏

/priority important-soon

/remove-lifecycle rotten


Rename variables, change accessing to font path

Hello, I changed some part of ScalebarPlugin,

Rename some variables for better readability,
Change accessing to font path, now we are using an assertion mechanism for possible errors,
Change unit of measurement from "nm" to "um"
Add new variable for defining distance between additional text and scalebar, and distance is bigger now.

Thanks for your patch! Looks like font path is working now. Assertion sounds good to prevent errors propagating. Haven't tested on real hardware yet.


Create a high fidelity prototype for the UI

So far, we only have a very basic wireframe for our app's UI to help us visualize the basic elements. The next step would be to create a high(er) fidelity prototype so we can start implementing style.

Done


Add dockerfile support and pre-commit +fixes

In This PR

Hopefully updated the pattern matching to find and also the error checking
Add in pre-commit
changes to markdown spacing and spelling
auto fixes to ts from pre-commit

Pictures/videos

[ ] I've reviewed my own code
[ ] Ive built and added the vsix

To Do
Parse the output from the running command to work inside of VScode. Fails when checkov finds an unsuppressed error in a Dockerfile

@JamesWoolfenden Can you please remove all the changes in the package-lock.json file?


[FLINK-35198][table] Support the execution of refresh materialized table

What is the purpose of the change
Support the execution of refresh materialized table.
Brief change log

Add execution in sql gateway
Add operation in table-api&table-planner
Add tests

Verifying this change
Some tests are added.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented?

Hi, @lsyldliu all comments have been addressed. Can you take a look again?