LTR390 Fails to Init with RP2040

I am trying to integrate the LTR390 with a Feather RP2040 but the device is failing to initialize. I am running Circuitpython 7.0.0 (adafruit-circuitpython-adafruit_feather_rp2040-en_US-7.0.0.uf2) and using the libraries from the latest Circuitpython bundle (adafruit-circuitpython-bundle-7.x-mpy-20211127).
The code I am running is as follows:
import board
import adafruit_ltr390

i2c = board.I2C()

ltr = adafruit_ltr390.LTR390(i2c)
print("UV:", ltr.uvs, "\t\tAmbient Light:", ltr.light)
print("UVI:", ltr.uvi, "\t\tLux:", ltr.lux)

And the error I'm receiving is:
code.py output:
Traceback (most recent call last):
  File "code.py", line 6, in <module>
  File "adafruit_ltr390.py", line 286, in __init__
  File "adafruit_ltr390.py", line 292, in initialize
  File "adafruit_ltr390.py", line 315, in _reset
  File "adafruit_register/i2c_bit.py", line 43, in __get__
OSError: [Errno 116] ETIMEDOUT

Code done running.

I have also attached a photo of my setup. You may notice that there are other sensors and boards connected to the Feather RP2040, but I have tried connecting the LTR390 directly to the RP2040 via STEMMA QT Cable. This didn't produce any positive change, however. Other things I have tried include:

Changing the cable
Using a spare RP2040 that was working with release 1.1.1
Wiring the VIN, GND, SCL, and SDA pins on the LTR390 to the appropriate pins on the RP2040
Using Circuitpython 7.1.0-beta.0

I have managed to get the code to execute successfully with a Feather M0 RFM95 LoRa Radio, so the problem appears to be specific to the RP2040.
Hope you can make more sense of this than I have so far. Please let me know if I can provide any additional info.

@caternuson this is due to the LTR390 not acking the reset bit, @hathach just fixed this in arduino - most sensors don't just give up the ghost in the middle of a transaction :/
dupe of https://github.com/adafruit/Adafruit_CircuitPython_LTR390/issues/6

from my testing with arduino after soft reset()

rp2040 can probably recover from 1 failure read()
nrf52 has permanent bus issue and requires i2c to be re-init

other mcus may/may not recover, though I think the "best-to-all" solution is just re-init I2C within the soft-reset, just to be safe. This can be done easily with arduino by calling end() then begin() https://github.com/adafruit/Adafruit_LTR390/pull/3/files#diff-2e600839f345eb79c6af9a2d512e9b212072006ae371f58f2817b6e60538a7f3R92

@hathach thanks for the input. i was thinking same here:

though I think the "best-to-all" solution is just re-init I2C within the soft-reset

I'll setup and test that on various MCU's and see how it plays.

Please try the 1.1.3 release:
https://github.com/adafruit/Adafruit_CircuitPython_LTR390/releases/tag/1.1.3

This worked for me. Thank you for the quick fix, @caternuson


new term - 'medication'

Adrien Barton (at INSERM) has suggested that OGMS would be a good place for the
term 'medication' (also, 'medicine').

Do we agree it belongs here?

Here's a (very weak) first stab at a definition:

"A obi:processed material whose function is to alleviate the signs and symptoms
of a disease or negatively regulate the effects of a disorder and designed to
be realized during part of a treatment process"

Please help improve.  In particular, we need to refine the genus somehow.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 21 Sep 2011 at 4:34

Closed ticket because issue has not been acted upon in reasonable amount of time.


use Compose V2

From the end of June 2023 Compose V1 won’t be supported anymore.

Use docker compose, not docker-compose.

没太懂你的意思


config: add support for multiple github users

Addresses https://github.com/coreos/coreos-cloudinit/issues/229.

lgtm


Password salt should be optional when importing digital twins

Created by: @bradtumy Jul 20 2022 at 17:56 CET
Last updated: Aug 05 2022 at 14:45 CET
ClickUp ID: IK-3648
Verified: salt must be optional. We are not using it at all now. Bcrypt stores the salt in the hash directly.
const idt = new ImportDigitalTwin(
tenantId,                                 // tenantid
DigitalTwinKind.PERSON,                   // digital twin type / kind
DigitalTwinState.ACTIVE,                  // digital twin state (Active / Inactive)
undefined,                                // digitaltwin id - should be left undefined as the backend will create it
{                                         // uid and password are combined as a credential for this DT
password: {
hash: Buffer.from(' $ 2a $ 16 $ JgnmjhqXQhpyHmtP25teSuS3eJUcyhtqF8qG.GXYye7dIGdYMyPl6'),  // hashed password
salt: Buffer.from(''),                                                              // salt ... this should be optional
},
uid<EMAIL_ADDRESS>                                                            // userid ... email
},
undefined,                                // userprovider - who created this digital twin
{
operations: propBuilder,
forceDelete: false,
},
);
Currently
When using the Node SDK (should be the same for any SDK) to import digital twins salt is required and we are forced to provide an empty string value (as shown in the code sample above).
Steps to reproduce
Expected behavior
Salt should be optional and left out of the ImportDigitalTwin object without causing an error
Actual behavior
If not included, then the backend will return an error.

Commented by: @bradtumy Jul 20 2022 at 18:01 CET
@dusan-kovacik-profiq @andskaal @pepe-zamarripa @bayegan FYI


Missing package

When trying to install I got an error
VisualCaptcha: updating npm dependencies -- visualcaptcha...
=> Errors while scanning packages:

While building package `VisualCaptcha`:
error: no such package: 'router'

Hi @picsoung I'm sorry but we've deprecated this package for visualCaptcha. Feel free to fork/submit a PR.


RFE: Please include output from 'docker build'

As per Tomas' request in the mailing list thread, I am filing this RFE.
Currently the log information when using the atomic-reactor API is limited in scope to what happens from inside the build container:
    response = \
       build_image_using_hosts_docker(
            "buildimage",
            source,
            "test-build"
        )
    response.build_logs

I would like to request that the external information also be available as log information, similar to:
# docker build .
Sending build context to Docker daemon   105 kB
Sending build context to Docker daemon
Step 0 : FROM fedora:latest
 ---> ded7cd95e059
Step 1 : MAINTAINER http://fedoraproject.org/wiki/Cloud
 ---> Using cache
 ---> 9f97f024d47a
Step 2 : RUN dnf -y update && dnf clean all
 ---> Using cache
 ---> e5b0ea2b7754
Step 3 : RUN dnf -y install httpd && dnf clean all
 ---> Using cache
 ---> 0c9f137f508c
Step 4 : RUN echo "Apache" >> /var/www/html/index.html
 ---> Using cache
 ---> 85461d238aef
Step 5 : EXPOSE 80
 ---> Using cache
 ---> 7c08c855c39f
Step 6 : ADD run-apache.sh /run-apache.sh
 ---> 83f8d7985d04
Removing intermediate container c3107d502888
Step 7 : RUN chmod -v +x /run-apache.sh
 ---> Running in e0cce7c17116
mode of '/run-apache.sh' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)
 ---> 93c019e967d6
Removing intermediate container e0cce7c17116
Step 8 : CMD /run-apache.sh
 ---> Running in 6bd5a6cfc7f3
 ---> e6d701d7f85e
Removing intermediate container 6bd5a6cfc7f3
Successfully built e6d701d7f85e

Thank you,
-AdamM

This is currently stored as an OSv3 Build annotation. With the new Content Generator workflow, however, we should instead store this log file as a separate output attached to the Koji Build.

This is resolved in #319 - build logs are stored in http:////packages////data/logs/build.log


feat: create new API to return addresses to use of a wallet

Looks OK. I only think that "addresses to use" is an awkward expression. I don't immediately understand what is it supposed to mean, is it supposed to be "new addresses + potentially already used addresses". Either way, here are some alternatives (which IMO are better but I'm obviously biased here):

new addresses
next addresses
available addresses

Changed the name to newAddresses and the API name to /addresses/new


v1.10.1-beta complains about an announcement error whenever I go to the home page

We should to do both:

If an error happens at this stage, we don't show such a dominant dialog, but simply log the error
investigate why this happened.

I have the same with iOS.


Gaia Gravity DEX upgrade simulation from cosmoshub-4 genesis

Export latest genesis.json from cosmoshub-4

Modify genesis.json

validator info and power for starting test account
reduce governance voting period for testing software-upgrade proposal  sed -i '' 's/172800s/10s/' genesis.json

Submit software-upgrade proposal ( need to set --upgrade-height )
gaiad tx gov submit-proposal software-upgrade Gravity-DEX -y \
  --deposit 10000000uatom \
  --title Gravity-DEX \
  --upgrade-height 0000 \
  --upgrade-info v4.3.0-testhash \
  --from validator \
  --chain-id testing \
  --description testdescription \
  --keyring-backend test

Vote gaiad tx gov vote {proposal-id} yes -y --chain-id testing --from validator --keyring-backend test

After panic on upgrade-height build new Gaia using this-branch

Start with the new Gaia binary, Check and Test liquidity module functionality

ref

https://github.com/cosmos/gaia/pull/859
https://github.com/tendermint/liquidity/issues/367

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

I'm on it :)

I Added scripts and result of the upgrade test using cosmoshub-4 states
https://github.com/b-harvest/gravity-dex-upgrade-test


I approved and still aproved for airdrop in site and app but did not receive any things where is my xlm!!!

in site and app but did not receive any things where is my xlm!!!
Where is keybase support team!!

You need to be banned. It's a gift. Stop acting entitled.

Hi yes you right and Im not use this app for this gift yes keybase really good app but really why I did not recive my all friends in groups recived ! I even don't know bug to solve I need help and instead you help and guide me say you should be ban😑
Sent from Yahoo7 Mail on Android
On Wed, 27 Nov 2019 at 9:34 PM<EMAIL_ADDRESS>wrote:
You need to be banned. It's a gift. Stop acting entitled.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Possibility of exposing VTL compiler?

I am a contributor of serverless-appsync-plugin and a maintainer of serverless-webpack.
Before AppSync natively supports JavaScript runtime, which may or may not happen, your Velocity compiler looks promising for AppSync users who also uses the Serverless Framework.
Have you considered exposing the compiler for programmatic use?

Interesting idea! Do you have an example of what integration might look like?
I don't have a problem with pulling it out into its own isolated package. It works against our Integration interface which may help us with decoupling but we need to know more about your use-case before we can know for sure.

I am imagining something similar to synthesizeFunctions, where it compiles TypeScript strings into Velocity strings. I should be able to add some grabbing logic for resolver mapping templates before serverless-appsync-plugin do its deployments.
https://github.com/functionless/functionless/blob/23c6be4e4af49a15b8a2f759b10ef0a7d0ca24bb/src/appsync.ts#L353-L356

So you need a function you can call, point at a source file and convert into a single VTl file that would be used as the request or response resolver handler. You don't want the compiler to create bother the request and resolved stages - instead you will have separate js/ts files for each stage?

Yes, exposing the compile function to VTL is all I need to plug that into my other plugins.


Minor fixes to the examples

This came up during #615 which showed warnings / errors for these issues

Coverage remained the same at 95.537% when pulling f8ea9d97097aca523c5708f1a704af1e78fcce06 on bartvde:example-fixes into bd248c7b6c2f32a90d743e0a541bf943405c66bb on boundlessgeo:master.

Example only so merging.


In the 'modern' paperdoll, there's no way to get to the special abilities

Describe the bug
In the original paperdoll, there is a purple book at the lower right, that when double-clicked shows the primary & secondary abilities for the current weapon.  The 'modern' paperdoll doesn't seem to have any way to get to this information.
To Reproduce
Steps to reproduce the behavior:

In options, switch to using the modern paperdoll
No way to access special moves

Expected behavior
I would have expected access to most likely be through the menu
Screenshots
If applicable, add screenshots to help explain your problem.
Shard

Name of the shard: UOAlive

Information (please complete the following information):

OS: Win10
ClassicUO Version: <IP_ADDRESS> is what the screen says, but it's v2.9.x I believe
[ ] Using DEV Version? No
Launcher: I just click on the .exe.  RE is my main plugin

Additional context

How many clients do you run in parallel: None
Screen Resolution: 2560x1440

Fixed for the next update

Thanks for the report 👍


vehicle.home_location should be settable.

There is a message for setting the home location. We should make this settable and cache the value.
Ideally add this to #384

This is added now in the tcr-home branch.

@tcr3dr Does not appear to work. Test code is here
Basically this gets the home location before downloading the waypoints. It then downloads the waypoints in a loop until it gets a non-zero home location (ie after home location is actually set), then it explicitly sets the home location, then it reads back the home location (after a short delay).
I say this fails because the read-back home location does not match.
In addition, the docs say

"If the GPS values differ heavily from EKF values, setting this value will fail silently."

Why? The home location can be set to anything and shouldn't rely on EKF positioning should it?
The test code also has an attribute observer test. I'm not expecting that to work.
Home Location (before downloading waypoints): None
 Home Location (after downloading waypoints - but possibly before we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=-35.3632621765,lon=149.165237427,alt=583.989990234,is_relative=False
 Home Location (after setting waypoints): LocationGlobal:lat=-35.3632621765,lon=149.165237427,alt=583.989990234,is_relative=False
 Home Location (after setting then downloading waypoints): LocationGlobal:lat=-35.3632621765,lon=149.165237427,alt=583.989990234,is_relative=False

Add home_location attribute observer
set new home location
 Home Location (after setting waypoints): LocationGlobal:lat=-35.3632621765,lon=149.165237427,alt=583.989990234,is_relative=False
 Wait 2s so callback invoked before observer removed

Thanks for the test repro, I will get to work on this.

Why? The home location can be set to anything and shouldn't rely on EKF positioning should it?

Oh, I meant to provide a link. This is literally the case, and one reason why I had trouble implementing an effective test: https://github.com/diydrones/ardupilot/blob/b15bf3243ed085409f77d211c7795ec9bc0ad8cc/ArduCopter/commands_logic.cpp#L843

Thanks very much. 99% certain the problem will be that my test home location is too far away - so perhaps I should retest this.

OK, so FYI, the distance you can be from EKF origin is about 50km in Copter 3.3. This means my test was no good - so I will re-write it and let you know how it goes.
The reason for the EKF check is, according to Randy, that the navigation controllers work relative to the EKF origin. As the floating point values only have 7 digits of accuracy for very large distances from the origin the positioning accuracy gets low enough to make copter movement jittery (the accuracy numbers don't actually look that bad as Randy explained them, but the measured result is quite poor in terms of performance)
I still think that is unlikely to be as big a problem as having an RTL position that is too far to get to :-0. Wish this did not fail silently.

@tcr3dr I updated the test gist so that instead of setting a fake location it gets the current location and just changes the altitude to 222. This ensures that it is within the EKF distance, but still "detectable" from the original home location set by the autopilot.
What this shows is that the location is correctly sent to the vehicle, and if you download the waypoints again it will be read as such.
However if you just read the home_location attribute after updating, but before redownloading the commands, it will have the "old" value. I would have though you would cache the value you sent to the vehicle so it can immediately be read.
Since setting the value can arguably fail then forcing the user to do a re-read is probably the right thing to do ... but it feels wrong! So please just confirm what you think is best and how it is going to be!
Output is:
 Home Location (before downloading waypoints): None
 Home Location (after downloading waypoints - but possibly before we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=0.0,lon=0.0,alt=0.0,is_relative=False
 Home Location (when we have a fix): LocationGlobal:lat=-35.3632621765,lon=149.165237427,alt=583.989990234,is_relative=False
 Home Location (after setting waypoints): LocationGlobal:lat=-35.3632621765,lon=149.165237427,alt=583.989990234,is_relative=False
 Home Location (after setting then downloading waypoints): LocationGlobal:lat=-35.3632621765,lon=149.165237427,alt=222.0,is_relative=False

Also, I have found that you cannot set the home location until it has a valid value from the autopilot - if you do so you will either get a location with 0 values or the autopilot home location. This is something autopilot-side right?
There is another long-standing bug we should fix. In copter the home location is_relative=False correct. But for normal locations the value should be true. I believe this bug does not affect Plane, but could be wrong.
Global Location: LocationGlobal:lat=-35.363261,lon=149.1652299,alt=0.0,is_relative=False

#403 fixes the documentation to say exactly how this works now. I'll modify it if needed in line with your response.

See #429.

This property is now implemented and documented.

There is another long-standing bug we should fix. In copter the home location is_relative=False correct. But for normal locations the value should be true. I believe this bug does not affect Plane, but could be wrong.

@hamishwillee What do you mean by "normal locations"? Trying to figure out how to solve #306.

@tcr3dr On copter the frame for the *home location" reported by the vehicle is in mean sea level (isRelative=False). EVERY other location (ie "normal locations" :-) ) is reported in the relative frame, relative to the home location (isRelative=True). Either our code is misreporting the value sent by the vehicle or it is wrong.
The situation is more complicated for Plane, and shows a weakness in the API. There is nothing to stop a Plan using terrain data and reporting altitude relative to the terrain frame. In that case what should isRelative be? (in practice I think much more rare to see this, but it is supported).
Does that anwer?


Upgrade rook to v1.5.3

Updating to latest rook version, v1.5.3, which brings the external port available through CephCluster spec.

I believe #964 supersedes v1.5.3 rook version.

Closing this PR as a PR for upgrading to 1.5.4 is opened now...

Closing this PR as a PR for upgrading to 1.5.4 is opened now...


Stopped working after reboot -- std::runtime error 22

So I finally got it working after realising I was missing libproto from my setup.
Installed libproto, and everything burst to life as expected. Left it a day or so, came back, reboot the pi and now it doesn't work and I have the same error I had prior to installing libproto (yes, I've confirmed libproto IS installed).
pi@localhost ~ $ sudo hyperion-v4l2 -p 100
V4L2 width=720 height=480
V4L2 pixel format=YUYV
V4L2 grabber signal threshold set to: {0,0,0}
Connecting to Hyperion: <IP_ADDRESS>:19445
Connected to Hyperion host
terminate called after throwing an instance of 'std::runtime_error'
  what():  VIDIOC_STREAMOFF error 22, Invalid argument
Aborted

pi@localhost ~ $ sudo hyperion-v4l2 --screenshot
V4L2 width=720 height=480
V4L2 pixel format=YUYV
V4L2 grabber signal threshold set to: {0,0,0}
terminate called after throwing an instance of 'std::runtime_error'
  what():  VIDIOC_STREAMOFF error 22, Invalid argument
Aborted
`
` Device configuration:
{
        "colorOrder" : "rgb",
        "name" : "MyPi",
        "output" : "/dev/spidev0.0",
        "rate" : 250000,
        "type" : "ws2801"
}

Black border threshold set to 0.01 (3)
Not creating any smoothing
Effect loaded: Knight rider
Effect loaded: Blue mood blobs
Effect loaded: Cold mood blobs
Effect loaded: Full color mood blobs
Effect loaded: Green mood blobs
Effect loaded: Red mood blobs
Effect loaded: Warm mood blobs
Effect loaded: Rainbow mood
Effect loaded: Rainbow swirl fast
Effect loaded: Rainbow swirl
Effect loaded: Snake
Effect loaded: Strobe blue
Effect loaded: Strobe Raspbmc
Effect loaded: Strobe white
Initializing Python interpreter
Hyperion created and initialised
run effect Rainbow swirl fast on channel 0
Boot sequence(Rainbow swirl fast) created and started
Display opened with resolution: 720x480
Frame grabber created and started
Json server created and started on port 19444
Proto server created and started on port 19445
effect finished
New proto connection
Proto connection closed
New proto connection
Proto connection closed

pi@localhost ~ $ cat /etc/hyperion.config.json:
// Automatically generated configuration file for 'Hyperion daemon'
// Generated by: HyperCon (The Hyperion deamon configuration file builder

{
	/// Device configuration contains the following fields:
	/// * 'name'       : The user friendly name of the device (only used for display purposes)
	/// * 'type'       : The type of the device or leds (known types for now are 'ws2801', 'ldp8806',
	///                  'lpd6803', 'sedu', 'adalight', 'lightpack', 'test' and 'none')
	/// * 'output'     : The output specification depends on selected device. This can for example be the
	///                  device specifier, device serial number, or the output file name
	/// * 'rate'       : The baudrate of the output to the device
	/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
	"device" :
	{
		"name"       : "MyPi",
		"type"       : "ws2801",
		"output"     : "/dev/spidev0.0",
		"rate"       : 250000,
		"colorOrder" : "rgb"
	},

	/// Color manipulation configuration used to tune the output colors to specific surroundings.
	/// The configuration contains a list of color-transforms. Each transform contains the
	/// following fields:
	///  * 'id'   : The unique identifier of the color transformation (eg 'device_1')	///  * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
	///             (eg '0-5, 9, 11, 12-17'). The indices are zero based.	///  * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
	///            tuning parameters:
	///            - 'saturationGain'  The gain adjustement of the saturation
	///            - 'valueGain'       The gain adjustement of the value
	///  * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
	///                           following tuning parameters for each channel:
	///            - 'threshold'       The minimum required input value for the channel to be on
	///                                (else zero)
	///            - 'gamma'           The gamma-curve correction factor
	///            - 'blacklevel'      The lowest possible value (when the channel is black)
	///            - 'whitelevel'      The highest possible value (when the channel is white)
	///
	/// Next to the list with color transforms there is also a smoothing option.
	///  * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
	///                  parameters:
	///            - 'type'            The type of smoothing algorithm ('linear' or 'none')
	///            - 'time_ms'         The time constant for smoothing algorithm in milliseconds
	///            - 'updateFrequency' The update frequency of the leds in Hz
	"color" :
	{
		"transform" :
		[
			{
				"id"   : "default",
				"leds" : "*",
				"hsv" :
				{
					"saturationGain" : 2.0000,
					"valueGain"      : 1.5000
				},
				"red" :
				{
					"threshold"  : 0.2000,
					"gamma"      : 2.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				},
				"green" :
				{
					"threshold"  : 0.2000,
					"gamma"      : 2.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 0.8000
				},
				"blue" :
				{
					"threshold"  : 0.2000,
					"gamma"      : 2.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 0.5000
				}
			}
		],
		"smoothing" :
		{
			"type"            : "none",
			"time_ms"         : 100,
			"updateFrequency" : 25.0000
		}
	},

	///  The configuration for each individual led. This contains the specification of the area
	///  averaged of an input image for each led to determine its color. Each item in the list
	///  contains the following fields:
	///  * index: The index of the led. This determines its location in the string of leds; zero
	///           being the first led.
	///  * hscan: The fractional part of the image along the horizontal used for the averaging
	///           (minimum and maximum inclusive)
	///  * vscan: The fractional part of the image along the vertical used for the averaging
	///           (minimum and maximum inclusive)
	"leds" :
	[
		{
			"index" : 0,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
			"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
		},
		{
			"index" : 1,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
			"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
		},
		{
			"index" : 2,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
			"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
		},
		{
			"index" : 3,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
			"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
		},
		{
			"index" : 4,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
			"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
		},
		{
			"index" : 5,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
			"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
		},
		{
			"index" : 6,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
		},
		{
			"index" : 7,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0833 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 8,
			"hscan" : { "minimum" : 0.0833, "maximum" : 0.1667 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 9,
			"hscan" : { "minimum" : 0.1667, "maximum" : 0.2500 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 10,
			"hscan" : { "minimum" : 0.2500, "maximum" : 0.3333 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 11,
			"hscan" : { "minimum" : 0.3333, "maximum" : 0.4167 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 12,
			"hscan" : { "minimum" : 0.4167, "maximum" : 0.5000 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 13,
			"hscan" : { "minimum" : 0.5000, "maximum" : 0.5833 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 14,
			"hscan" : { "minimum" : 0.5833, "maximum" : 0.6667 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 15,
			"hscan" : { "minimum" : 0.6667, "maximum" : 0.7500 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 16,
			"hscan" : { "minimum" : 0.7500, "maximum" : 0.8333 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 17,
			"hscan" : { "minimum" : 0.8333, "maximum" : 0.9167 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 18,
			"hscan" : { "minimum" : 0.9167, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
		},
		{
			"index" : 19,
			"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
		},
		{
			"index" : 20,
			"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
		},
		{
			"index" : 21,
			"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
		},
		{
			"index" : 22,
			"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
		},
		{
			"index" : 23,
			"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
		},
		{
			"index" : 24,
			"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
		},
		{
			"index" : 25,
			"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
			"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
		}
	],

	/// The black border configuration, contains the following items:
	///  * enable    : true if the detector should be activated
	///  * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
	"blackborderdetector" :
	{
		"enable" : true,
		"threshold" : 0.01
	},

	/// The configuration of the effect engine, contains the following items:
	///  * paths        : An array with absolute location(s) of directories with effects
	///  * bootsequence : The effect selected as 'boot sequence'
	"effects" :
	{
		"paths" :
		[
			"/opt/hyperion/effects"
		]
	},

	"bootsequence" :
	{
		"effect" : "Rainbow swirl fast",
		"duration_ms" : 8000
	},

	///  The configuration for the frame-grabber, contains the following items:
	///   * width        : The width of the grabbed frames [pixels]
	///   * height       : The height of the grabbed frames [pixels]
	///   * frequency_Hz : The frequency of the frame grab [Hz]
	"framegrabber" :
	{
		"width" : 96,
		"height" : 54,
		"frequency_Hz" : 25.0
	},

	/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
	///  * xbmcAddress       : The IP address of the XBMC-host
	///  * xbmcTcpPort       : The TCP-port of the XBMC-server
	///  * grabVideo         : Flag indicating that the frame-grabber is on(true) during video playback
	///  * grabPictures      : Flag indicating that the frame-grabber is on(true) during picture show
	///  * grabAudio         : Flag indicating that the frame-grabber is on(true) during audio playback
	///  * grabMenu          : Flag indicating that the frame-grabber is on(true) in the XBMC menu
	///  * grabScreensaver   : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
	///  * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
// 	"xbmcVideoChecker" :
// 	{
// 		"xbmcAddress" : "<IP_ADDRESS>",
// 		"xbmcTcpPort" : 9090,
// 		"grabVideo" : true,
// 		"grabPictures" : true,
// 		"grabAudio" : true,
// 		"grabMenu" : false,
// 		"grabScreensaver" : true,
// 		"enable3DDetection" : true
// 	},

	/// The configuration of the Json server which enables the json remote interface
	///  * port : Port at which the json server is started
	"jsonServer" :
	{
		"port" : 19444
	},

	/// The configuration of the Proto server which enables the protobuffer remote interface
	///  * port : Port at which the protobuffer server is started
	"protoServer" :
	{
		"port" : 19445
	},

	/// The configuration of the boblight server which enables the boblight remote interface
	///  * port : Port at which the boblight server is started
// 	"boblightServer" :
// 	{
// 		"port" : 19333
// 	},

	"endOfJson" : "endOfJson"
}

Please check issue #226, maybe you are experiencing the same issue.

@djsmiley2k can be closed?

Indeed,
Closed as it's working - sorry I can't recall how I fixed it.


Refactor ExecuteGraphQuery, ExecuteGraphQueryRaw

I want to add a flag for sending via ZMQ here, so want to clean up this duplicated code.
Autotester: https://autotester.test.mujin.co.jp/?scheduleid=2&pipelineid=344581

@felixvd are there any test cases handling ExecuteGraphQuery?

@felixvd added test_GraphClientListBodies to test_planningsystem, testing now

@felixvd ok, could you run another pipeline?

ran for you
pipelineid=344688
Pipeline #512074

test_GraphClientListBodies passed on both py and cpp

thanks


Initial version

Looking into this. Will be doing some code cleanup and pushing some commits to this branch.


GH-38145: [Docs][Python] Add tzdata on Windows subsection in Python install docs

What changes are included in this PR?
The option to set custom path to timezone database through python API has been implemented in https://github.com/apache/arrow/issues/35600 and is documented in docs/source/python/install.rst with this PR.

Closes: #38145

cc @jorisvandenbossche


(draft) Float precision cstyle

Follow-up from https://github.com/tinygrad/tinygrad/pull/3375:

Remove the long double suffix l - initially introduced to avoid ambiguity (e.g. error: call to 'mad' is ambiguous) but not needed as long as other smaller floats continue to use the f suffix.
Add test to show the increased precision when working with float64; that test fails if we keep the f suffix for all float dtypes.

This PR is a draft (not ready for review) so I can run the full test suite, my hardware/software only allows limited testing at the moment (issues with OpenCL on WSL2 - https://github.com/microsoft/WSL/issues/6951).
Please let me know if you'd like to see more / different tests for this float64 precision change.

Checking test failures now.

Metal tests pass, need to figure out why we only have float32 precision on hip test[0] and why cuda test segfaults.
[0]
E           Max absolute difference: 1.87374919e-06
E           Max relative difference: 9.32884791e-08

Locally I can reproduce a segfault like this:
env PYTHONPATH="." LD_LIBRARY_PATH=$HOME/gpuocelot/ocelot/build/ CUDA=1 CUDACPU=1 OPT=2 JIT=1 python3 test/test_dtype.py TestDoubleDtype

.terminate called after throwing an instance of 'executive::RuntimeException'
  what():  conversion not implemented

https://github.com/gpuocelot/gpuocelot/blob/c476bcb605579b123b85d34afef2c848127e8cdc/ocelot/src/executive/CooperativeThreadArray.cpp#L3747

The offending instr.type is 9, which is f16. That aligns with the comment in the dtypes support check   # CUDA in CI uses CUDACPU that does not support half, need to disable test for that case.

Next failure is HIP/HIPCPU - somehow we only get f32 precision. Investigating.

Ah, the HIP renderer in cstyle.py does not support f64, hence truncated to f32. Disabling high precision test for HIP.


Errors disappear after a while

The errors in the Problems window disappears after a while of being idle.
VS Code version: 1.29
Omnisharp version: 1.17.1
OS: MacOS Mojave
Project template: dotnet new razor
dotnet SDK version: 3.0.100-preview-009730

This is due to the underlying C# virtual buffer being closed out by vscode in an effort to conserve memory. We can workaround this limitation by occasionally pinging the virtual document if it's parent host document is the active editor.

Closing as this is super low priority work, we won't get to it ever.


srt-live-server: add missing ctime include

Description of changes
Fixes srt-live-server.  It was missing the #include <ctime>.  There is already a PR open to adress this for musl, so this change just fetches that with fetchPatch.
For ZHF #230712 at the #ZurichZHF hackathon!

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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.05 Release Notes (or backporting 22.11 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.

Result of nixpkgs-review pr 234409 run on x86_64-linux 1

1 package built:

srt-live-server


fixed some clippy warnings

Just some small readability things, the code is already quite nice. :+1:

the code is already quite nice. 👍

blushes :)


GHA: Use codecov action to upload coverage

This might workaround https://github.com/boostorg/boost-ci/issues/230
I had experienced similar issues and found them to occur less with the action instead of the script. You might want to set up a CODECOV_TOKEN as a secret in this repository as I assume the error is caused by rate limits. That token avoids that at least when the PR is coming from this repo or the branch got merged.

You might want to set up a CODECOV_TOKEN as a secret in this repository...

I have it in there; I double checked the value a few days ago to make sure it was updated when the repo was moved into boostorg.

CODECOV_TOKEN

It wasn't used by the Boost.CI script. Changed that just now.

Thanks for this. Didn't get the results notification because drone errored, but they are viewable on the website.


Clock Exercise

Added.Ds_Store to gitignore
Implemented the clock exercise.
Note the introduction of X Macro's to generate some of the test routines.  Only as an introduction.  It may be too complicated for a user to modify but I think it is a small enough introduction for users to appreciate the elimination of the duplication.  For these endless test cases -- it could have been applied more.

I think everything passes in both mac and linux enviro now.

LGTM 👍


Restore Inovelli LZW31-SN (draft until multi-target updates are fixed)

Reverts zwave-js/firmware-updates#38

Were multi target updates fixed yet?

Nope. I've been in contact with Inovelli a couple of times to get my hand on one of those. They wanted to send

Nope. I've been in contact with Inovelli a couple of times to get my hand on one of those, so I can reproduce and fix. They wanted to send me one, but I never got it.

Hey can you email me? I'm not sure what happened, we've been working with a few different people on this issue, but I'm happy to send you one to mess with.
My email is my first name @inovelli.com
Eric
Sorry about the confusion, I'll get this out immediately.

Any eta on when this will merge?

Honestly I'm not sure. I still need to get my hands on the device.
A while ago, Inovelli finally sent me one, only for Fedex to simply not deliver and return it to the USA without notice 🤷♂

It's fixed 🎉
I'll wait for the latest release to gain some traction, then enable these updates again.

Did you finally get their switches @AlCalzone? Or did you do some magic without them?

@sdholden28 sent me 2


[App]: Wrong color label for experiments and messed-up hidden/shown buttons for experiments

Current Behavior

The color for experiments when I use "group by" and "filter" is wrong.
The hidden/shown button for each group makes the other hidden/shown button for its group disappear

Screenshots
For both problems

The color in the graphs should be green. The "eye" (shown/hidden) button should be consistent
Environment
OS: MacOS 14.4.1 (23E224)
Browsers: Chrome
Version: Version 123.0.6312.124 (Official Build) (arm64)

Hi @realjoenguyen, thanks for reaching out and surfacing this issue - would you be able to share the link to the Workspace you are seeing this issue with (please feel free to email it to<EMAIL_ADDRESS>if you don't want to share here)? I will also try to reproduce on our side and will keep you posted.

@fmamberti-wandb my workspace link is here

@fmamberti-wandb the group color in my workspace is messed up too. It doesn't show the correct colors for groups using group-by

It also fails to give "group-by" attributes to the experiment lines in the graph

Hi @realjoenguyen - thank you for your patience while I investigate this.
I've been able to reproduce the behaviour with the Runs colors and I've reported this to our engineering team - I also wanted to clarify that the color you see on the sidebar next to the group is the color for the grouped runs rather than the individual Runs, which is why they are different.
Regarding this:

The hidden/shown button for each group makes the other hidden/shown button for its group disappear

Would you mind making a recording of this and adding some details on the behaviour you see and what you would expect? I've been trying to reproduce with no success in this case. Thanks!

@fmamberti-wandb I was able to do everything normally. Turns out that resetting the whole workspace works. But at the cost of losing all your customized settings.

Thanks for the update @realjoenguyen. Sorry about the issue with losing the customisation. We recently released a new feature Workspace Views - you can have multiple saved Views with different customisations, and this may mitigate the loss of customisation in the future, having multiple saved views for different tasks.
I will mark this as solved now, please feel free to reach out in the future for any further questions.


Update Canadian economic information

https://github.com/pacific-hake/hake-assessment/blob/e221c15b63d5b032cf5a3482a5ab83ea465e5f71/doc/007-introduction.rmd#L244-L250 needs to be updated.

Will do, though I think I looked last year and the stats hadn't been updated. Might not be "Canada's largest commercial wild fishery" any more.


Touch support implementation

Added initial touch input implementation.
Replaces https://github.com/bevyengine/bevy/pull/334 as it seems abandoned.
Required for #87 and probably #86
Related issue #300
Checklist
I confirm that I have done the following (if applicable):

[x] Added a changelog entry
[ ] Added respective unit tests

This looks good to me. I think we should make one of the two examples actually consume touch events, but I'll just do that in a followup pr so we can merge this faster.
Thanks!


Migrate wiki

Process:

Pick existing Wiki page
Manually migrate all content to the website, using the sitemap to figure out where to put it
Don't just copy/paste. Review and rewrite if needed
Remove content of the Wiki page with links to the new location

Pages to migrate from https://github.com/cucumber/cucumber/wiki:

[ ] Home
[ ] A Table Of Content
[ ] A Whole New World
[ ] Autotest Integration
[ ] Background
[ ] Browsers and Transactions
[ ] Calling Steps from Step Definitions
[ ] Conjunction Steps (Antipattern)
[ ] Console Colours
[ ] Continuous Integration
[ ] Contributing
[ ] Cucumber Backgrounder
[ ] Cucumber Feature
[ ] Cucumber for Perl
[ ] Cucumber JVM
[ ] cucumber.yml
[ ] Custom Formatters
[ ] Debugging
[ ] Environment Variables
[ ] Examples
[ ] Feature Coupled Step Definitions (Antipattern)
[ ] Feature Introduction
[ ] Fixtures
[ ] FunFX and Flex
[ ] Get in touch
[ ] Gherkin
[ ] Given When Then
[ ] Given when then (new)
[ ] Hooks
[ ] Install
[ ] Introduction to Cucumber for non programmers
[ ] IronRuby and .NET
[ ] IronRuby and Mono
[ ] Javascript and AJAX
[ ] Jenkins integration
[ ] JRuby and Java
[ ] Merb
[ ] Mocking and Stubbing with Cucumber
[ ] Multiline Step Arguments
[ ] Patterns
[ ] PHP
[ ] Profiles
[ ] Projects Using Cucumber
[ ] Python
[ ] RDoc
[ ] Related tools
[ ] RSpec Expectations
[ ] Ruby on Rails
[ ] Running Features
[ ] SAP Enterprise Portal Behavior Testing
[ ] Scenario Outlines
[ ] Setting up Selenium
[ ] Setting up Steam
[ ] Sinatra
[ ] Snailgun and Cucumber
[ ] Spoken languages
[ ] Step Argument Transforms
[ ] Step Definitions
[ ] Step Organisation
[ ] subdomain_fu and incorrect redirection to " body You are being redirected body " page
[ ] Tables
[ ] Tags
[ ] Troubleshooting
[ ] Tutorials and Related Blog Posts
[ ] Upgrading
[ ] Using AE
[ ] Using MiniTest
[ ] Using Rake
[ ] Using RCov with Cucumber and Rails
[ ] Using Test::Unit
[ ] Watircraft
[ ] watircuke
[ ] Wire Protocol

I'd be happy to help, but it's my understanding that the intended target for all documentation is now: https://github.com/cucumber/docs.cucumber.io

Thanks @mlvandijk that's correct. If you're interested in helping out, ping @plaindocs as he's best placed to tell you where he needs help the most.

@mattwynne Thanks! Will do :)


[Contract Upgrade] Solver Arithmetic

It was mentioned (cc @fedgiac) that there was a math.floor used in a place where math.ceil (or vice-versa) was used that should probably be considered when performing this migration. This may have something to do with arithmetic that was changed in the smart contract due to auditor's recommendation.
TODO - This task needs some elaboration.

Specifically, when computing the executed sell amounts, we round in favour of the user. This means that the executed buy amount may be 1 greater than what it is with the currently used contracts.
The only think I could think of where this would matter would be in the solution objective value computation. However, it looks like we use big rationals there, so it shouldn't be an issue.
I think its still worth keeping this issue open a little longer and going through the code to make sure there is no other place where this could matter.


3.35.51

They changed the second class too now. I was able to find both by searching through .smali files.

Everything works fine?

Yes


[rstmgr] update rstmgr header generation

Signed-off-by: Timothy Chen<EMAIL_ADDRESS>

@silvestrst this switches the header generation and fixes the related issues. But obviously now the difs no longer compile.
Do you want to have a look and fix?

@tjaychen thank you for the change. I think it makes easier to catch HW changes with static asserts, and in general extending the DIF (if/when new peripherals come along).
I am about to submit the pull request that is based on this one. To make CI happy and make this change mergeable, could you do the following in sw/device/lib/dif/meson.build:
# Reset Manager DIF library (dif_rstmgr)
#sw_lib_dif_rstmgr = declare_dependency(
#  link_with: static_library(
#    'sw_lib_dif_rstmgr',
#    sources: [
#      hw_ip_rstmgr_reg_h,
#      'dif_rstmgr.c'
#    ],
#    dependencies: [
#      sw_lib_bitfield,
#      sw_lib_mmio,
#    ],
#  )
#)

thanks @silvestrst.  I've fixed as you instructed, please let me know if this looks okay.

yes that's right, there will be a few more in the future.
It won't be "many", but I expect 2~3 more once those peripherals are designed.


3D Point cloud Segmentation

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
I Have using CVAT to annotate my lidar data for object detection, but i want to create semantic segmentation mask also, is there any plan to add it to the cvat 3d workspace. if not is there any idea from the cvat team to create segmentation for our dataset? Thank you so much.
Describe the solution you'd like
I would like that cvat add the possibility to create 3d segmentation into the 3d workspace
Describe alternatives you've considered
No response
Additional context
No response

okay, i want to work on this issue please assign me this issue.


Subscription attached to the Unused Reservation cost?

Hello,
Unused reservation cost seems to be attached to a dummy subscription at EA level.
The unused reservation cost was more expected to be attached to the subscription used for the reservation purchase.
Moreover, while the Reader role at root management group enables to get the reservation purchase cost, it seems it does not allow to get the unused reservation cost: it seems the unused reservation cost can be retrieved only by the Enterprise Administrator Role.
So reservation purchase cost and unused reservation purchase cost are not handled in a symmetrical way in term of subscription and access right, which looks cumbersome.
Cheers,
Marc

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a5205150-d00d-725a-4fb7-f0d111b50574
Version Independent ID: 93e72498-45c7-3277-6f3f-c08b3c7f7ce4
Content: Understand Azure reservations usage for Enterprise Agreement and Microsoft Customer Agreement
Content Source: articles/cost-management-billing/reservations/understand-reserved-instance-usage-ea.md
Service: cost-management-billing
Sub-service: reservations
GitHub Login: @bandersmsft
Microsoft Alias: banders

@marc-perreaut Thank you for reaching out with your query, assigned this issue to our document author @bandersmsft to further review your query.

@marc-perreaut Hi there. A reservation’s purchase cost and unused reservation costs aren’t handled the same way because the unused charges aren’t attached to the subscription. That’s to allow users to use chargeback automation without associating the charge to the same subscription that was used to make the purchase. The functionality, as-implemented, was requested by many customers.
Thanks for letting know about your experience.
#please-close

Thanks for the feedback.
If possible, I would be interested to get documentation, guidelines, or best practices about "That’s to allow users to use chargeback automation without associating the charge to the same subscription that was used to make the purchase." Indeed, I have found https://docs.microsoft.com/en-us/azure/cost-management-billing/reservations/charge-back-usage, but it is not explicit about the unused reservation cost not being in the same subscription as the reservation purchase, and how to leverage it for the chargeback.
Cheers,
Marc


Document batch upload children.

Purpose / why
We had a discussion on Slack that the batch upload children is undocumented.
What changes were made?
New section on Paged Content page, describing the feature.
And a bit of editing the Resource Node page.
Verification
Is true/valid? Do links work?
Interested Parties

Replace this text - Name some folks who may be interested, if documentation related mention @Islandora/documentation, or, if unsure, @Islandora/committers

Checklist

Pull-request reviewer should ensure the following

[ ] Does this PR link to related issues?
[ ] Does the proposed documentation align with the Islandora Documentation Style Guide?
[ ] Are the changes accurate, useful, free of typos, etc?

Person merging should ensure the following

[ ] Does mkdocs still build successfully? (This is indicated by TravisCI passing. To test locally, and see warnings, see How To Build Documentation.)
[ ] If pages are renamed or removed, have all internal links to those pages been fixed?
[ ] If pages are added, have they been linked to or placed in the menu?
[ ] Did the PR receive at least one approval from a committer, and all issues raised have been addressed?

I confirm the document for "Batch Upload Children" is useful. I also checked those files changed. They are free of typos.
Thanks!
Simon.


Fast Fourier Transform as an atomic function

Is your feature request related to a problem? Please describe.
When going through the atomic functions, I noticed that there was not the Fast Fourier Transform (FFT) operation.
Therefore, I cannot define my optimisation problem which makes use of the FFT.
Describe the solution you'd like
There could be a set of functions cvxpy.fft1d, cvxpy.ifft1d, cvxpy.fft2d, cvxpy.ifft2d, cvxpy.fftnd, cvxpy.ifftnd which would provide such a functionality.
Describe alternatives you've considered
I could use the matrix expression of the Fourier Transform but it would be very inefficient.
Additional context
For a bit of context the optimization problem I want to write is that of MRI reconstruction. In MRI the data lies in a space that is very similar to the Fourier space of the anatomical image, so you need to use the Fourier transform when defining your optimisation problem.
In the long run I would even like to use it in a cvxpylayer.
I didn't find much on the topic (which surprised me), except these discussion that are a bit old:

google groups discussion in 2016
this gitter question in 2018

Also the current release of cvxopt features the use of FFT, so I guess it's doable (even though I am not familiar with the differences between cvxopt and cvxpy).

Exploiting FFT in a system like cvxpy is a very interesting topic, that I spent a lot of time studying. In the end the system we developed for such problems is available here: https://github.com/comp-imaging/ProxImaL
It's a bit of a different animal than cvxpy but much more oriented towards imaging problems.

I see, but then I would have to develop my own wrapper to integrate it in an auto-diff framework for my end goal.
Also, I saw that cvxpy can benefit from solvers using the GPU, is it the case for ProxImaL?
Anyway, I guess that if there is not really room in cvxpy for the FFT, we can just close this.


wandb.sklearn.plot_summary_metrics Example

Hi! Is the visualization for scikit-learn models still supported?
In the example notebook the summary statistic variables are in the wrong order.
To Reproduce
The provided code wandb.sklearn.plot_summary_metrics(model, X_train, X_test, y_train, y_test) throws an error ("Expected 2D array, got 1D array instead:").
Expected behavior
Should it be wandb.sklearn.plot_summary_metrics(model, X_train, y_train, X_test, y_test) instead?

Hi @SteEcker thanks for reporting this, yes you're right that's the correct order!

From the code:
def plot_summary_metrics(model=None, X=None, y=None, X_test=None, y_test=None):
    """
    Logs the charts generated by summary_metrics in wandb.

    Should only be called with a fitted model (otherwise an error is thrown).

    Arguments:
        model (clf or reg): Takes in a fitted regressor or classifier.
        X (arr): Training set features.
        y (arr): Training set labels.
        X_test (arr): Test set features.
        y_test (arr): Test set labels.

    Returns:
        Nothing. To see plots, go to your W&B run page then expand the 'media' tab
              under 'auto visualizations'.

    Example:
        wandb.sklearn.plot_summary_metrics(model, X_train, y_train, X_test, y_test)
    """
    wandb.log({"summary_metrics": summary_metrics(model, X, y, X_test, y_test)})

Hi @cvphelps,, thanks for the quick reply!
Sorry if I am missing something obvious, but when I compare the output metrics from wandb.sklearn.plot_summary_metrics() with manually logged metrics I get different results in my dashboard.
Here is a small example of what I mean. I build a naive LR model and log the F1 score in two different ways.
from sklearn import linear_model
from sklearn.metrics import f1_score
import wandb

wandb.init( project="my_project")

# Load data
# [...]

classifier = linear_model.LogisticRegression()

# Fit model
classifier.fit(X_train, y_train)

# Predict classes
y_pred = classifier.predict(X_test)

# wandb logs
wandb.sklearn.plot_summary_metrics(classifier, X_train, y_train, X_test, y_test)
wandb.log({'f1': f1_score(y_test, y_pred)})

Resulting in this dashboard output:

I would expect the summary statistic F1 to also be around 0.1.
OS: Windows 10 64bit
pyhton 3.9.2
wandb==0.10.24
scikit-learn==0.24.1

@SteEcker potentially the difference is that wandb.sklearn.plot_summary_metrics uses a weighted f1 score, you can see it on this line here
sklearn's default averaging uses binary (sklearn f1 docs here)
You can see the difference between the 2 here:
f1 = f1_score(y_test, y_pred)
f1, round(f1, 2)
>>> (0.9089233347297864, 0.91)

wgt_f1 = f1_score(y_test, y_pred, average="weighted")
wgt_f1, round(wgt_f1, 2)
>>> (0.9032258064516129, 0.9)

Full gist here to replicate this
Let us know if you are still seeing a difference, and if so if you could share the dataset you're working with that would help us reproduce :)

@morganmcg1 You are correct. Thanks for the clarification!


Missing support for account picker?

http://stackoverflow.com/questions/22746664/robotium-chose-an-account-in-accoutpicker-with-solo

You should be able to use solo.clickOnText or solo.clickOnView to click it.
On Thu, Sep 24, 2015 at 8:46 AM, Christian Sisti<EMAIL_ADDRESS>wrote:

http://stackoverflow.com/questions/22746664/robotium-chose-an-account-in-accoutpicker-with-solo
—
Reply to this email directly or view it on GitHub
https://github.com/RobotiumTech/robotium/issues/782.

Not sure if that is the solution. We don't have a text neither a view to pass as an input.
Just to clarify I am speaking about this:
Intent pickContactIntent =
new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);

startActivityForResult(pickContactIntent,REQUEST_PICK_CONTACT);

This will display a dialog from where we can choose an account (or add a new one).

Or better, for handling this
 final Intent accountPickerIntent =
                AccountPicker.newChooseAccountIntent(null, null, new String[]{"com.google"}, false, null, null, null, null);

I would expect something like:
solo.setAccountPicker(accountPickerIntent, ...


Add issue template with pointers to other repositories

Help new users (as well as experienced ones) with filing issues on the "right" repository. If we like this I'd propose to add this template to all of the mentioned repos.

I think this is a great idea! I'm a bit worried that this wording doesn't have a pathway forward for super new users (e.g., people who just want to make a binder-ready repository, or who clicked a link but something didn't work...it's not clear to me which direction that person should go).
Perhaps we should agree on the general paths we want people to take and then come up with wording for each? My thinking is:

mybinder.org-deploy: only for "is this website down" questions or something that seems buggy with the website
binderhub: only if you're trying to deploy your own binderhub server or want to develop the tech that deploys binderhub
binder: for "my repository isn't building properly" questions...since for these users they don't know anything about repo2docker, and I don't want to discourage people by capturing a common use-case with "this is the wrong place for your question, go somewhere else".

The biggest departure from the list above and yours is that I'm not explicitly directing anyone to repo2docker...in my mind r2d is a more advanced tool and people should be directed their after we've iterated with them a bit, or if we know they're advanced users. WDYT?

Updated the text. I also added a catch-all at the bottom that sends people to this repository.

I think this looks good! We may still make modifications over time but I think it's a valuable addition so +1 to merge. I'll do so tomorrow AM to give folks an opportunity to give their thoughts.

mergy merge merge

Because the repetitive text annoys me when I "know what I am doing" I propose we do not add it everywhere but only to the "high incoming traffic" repositories. The assumption is if you are creating issues in mybinder.org-deploy you probably do not need informing about "please report 'my repo ain't building' in the binder repo". WDYT?

for sure, I think that binderhub + binder are fine


The progress of branch gui

main.py and mainwindow.py show a QMainWindow for user to open and display an image; then user can select "Classify" or "Attack".
Now the image is of the type QImage (from QImageReader.read()) and it can be transformed into a QPixmap which can be displayed on the screen by calling QPixmap.fromImage(self._image) at line 139, mainwindow.py. The problem is that I am not sure whether it can be the input of classifier and attacker.

TODO: use pyside6-designer to redesign the GUI application


IFormFile parameters are not working when you do a "Try it out" call from the SwaggerUI. The files comes in with a count of zero.

I'm also trying to use IFormFile. I just get a text box for this property in the swagger page. Is it possible to change this to a file upload button?

closing in favor of #193


upgrade typespec-java 0.11.0

Follow module is skipped in this PR.

openai, client.tsp need to be modified, mostly due to now beginAzureBatchImageGeneration be public and has convenience API
contentsafety, service is preparing the GA version of the SDK
documentintelligence, this one having problems

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

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


First tentative at reducing number of warnings

@ebussieres It would be great the clean up the code and reduce the number of warnings.
Beware that this PR doesn't include #352.

It would be great the address the remaining warnings:

formatting is not consistant across project. I would recommend to stick a standard, typically IntelliJ defaults, to ease contributions.
Javadoc errors
license file header (which is NOT javadoc and shouldn't start with /** but /*).
decide what is an API and what is not, and make what is not package private

@slandelle It's definitely on my TODO list to reformat the code using probably google style formatter.  I'll open an issue with your bullet points


jsconfig.json - checkJS option not recognized

I am trying to follow this setup instructions for VS Code:
https://code.visualstudio.com/docs/languages/javascript
to enable type checking for all JavaScript files that are part of a jsconfig.json. My jsconfig.json file looks like this:
{
  "compilerOptions": {
    "checkJs": true,
    "target": "ES5",
    "rootDir": "src",
    "outDir": "lib",
    "watch": true
  },
  "exclude": ["node_modules", "**/node_modules/*"],
  "include": ["./src"]
}

When runnning from command line with
tsc -p jsconfig.json

I get this error:
error TS5023: Unknown compiler option 'checkJs'.

Using //@ts-check at the top of individual files works as expected.
Additional info:
VS Code version: 1.23.1 d0182c3417d225529c6d5ad24b7572815d0de9ac x64
tsc version: Version 2.1.6

tsc version: Version 2.1.6

That is your problem. --checkJs support started in 2.5.

I was under impression that I was on the latest version after running
npm update -g typescript@latest a few times, tried again with
npm install -g typescript@latest and it updated to 2.8.3 which doesn't seem to work (doesn't create the output dir and files).

please share a self-contained repro to help us identify the issue.

Please check out this repository for the example
https://github.com/arturdeveloper/tsc_repro

A jsconfig.json has some implicit defaults that are not in a tsconfig.json. the rational is that these are used in a .js project in an IDE like VSCode/VS/SublimeText, etc.. One of these defaults is "allowJs" : true, and another is "noEmit": false. that is why you are not getting output generated, the compiler only runs in check mode..
my recommendation here is to either use tsconfig.json, add "allowJs": true, or add "noEmit": false in your jsconfig.json

Thanks, it works now. The above mentioned setup instructions probably need to be updated with this info. It isn't apparent that with the default settings no output is produced.
https://code.visualstudio.com/docs/languages/javascript#_use-the-typescript-compiler


collision String method name "b" with Ruby 2.1

sorry for my poor english...
Ruby 2.1.0 String.b #=> http://www.ruby-doc.org/core-2.1.0/String.html#method-i-b
& I tried require(gemfile) radix in rails & use will be fail
~/.rvm/gems/ruby-2.1.0/gems/radix-2.2.0/lib/radix/operator.rb:51:in 'b': wrong number of arguments (0 for 1) (ArgumentError) 	from ~/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/erb.rb:600:in 'compile' 	from ~/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/erb.rb:800:in 'initialize'

Been busy with other work this last year (android development) and just learned about this (unfortunately I don't always get issue emails, not sure why). So I just put in an issue at bugs.ruby-lang.org, asking that the method name be changes. Seem to me an awful name for ascii 8-bit conversion, anyway. The obvious choice being #ascii. Of course, I don't have high hopes for my request. They never give me much credence, so barring thata miracle, what is the next best fix? Any ideas?


Made explanatory text more understandable

Made explanatory text under last-cursor-position more understandable and more pleasant to read.

[ ] All compiled assets are included (atom packages are git tags and hence the built files need to be a part of the source control)

Moved to #1519


HHH-11573 Support restricting an alias to specified type

https://hibernate.atlassian.net/browse/HHH-11573
This PR supersedes #1850 and is based on main branch for ORM 6.

So investigation seems to indicate there is some problems with how the discriminator mappings get built when a composite PK in conjunction with expected table joins that get rendered in 5.6 but aren't present in the 6.0 flavor.  I've reached out to @beikov with details so we can try and resolve the problems with type( entityAlias ) rendering.

Depends on PR #4482


Remaining areas to replace legacy references of opendistro and move to inclusive language

There have been a few recent updates to the Documentation Website to update documentation in areas that were missed from the transition to /_plugins or to the use of inclusive language.
Here are three examples:

[ ] Fix setting name for LDAP custom attribute filter
[ ] Update documentation from opensearch_security_roles to opendistro_security_roles
[ ] Change /_plugins/_security/.. routes to /_opendistro/_security/... for SAML until plugins route is supported

I'm opening an issue to keep track of any instances that come up to keep track of the remaining areas that need to be updated.

@cwperks Thanks for filing this, could we separate out the individual actions that we need to take, maybe create issues for the legacy API paths, update legacy settings, or change documentation around the roles.  This way we can close them as they are completed.

@peternied 3 new issues have been created to track each issue independently.

https://github.com/opensearch-project/security/issues/2059
https://github.com/opensearch-project/security/issues/2058
https://github.com/opensearch-project/security/issues/2060

@cwperks Thanks for filing these issues, we will close them as we work these issues.


Move from kc/konnect to libregraph/lico

This switches the oidc implementation to libregraph/lico, which for now
is just a rename of kc/konnect. As there is no working lico release yet
(lico 0.34.0 wasn't fully renamed), we point it to the current master.

could you search for konnect and replace occurrences with meaningful wording where possible, eg. the docs / markdown files, but I also see Dockerfiles and Makefile hits...

could you search for konnect and replace occurrences with meaningful wording where possible, eg. the docs / markdown files, but I also see Dockerfiles and Makefile hits...

Done


feat(oncall-vendor-transition): Increase Dependabot limit and move scheduled runs to 08:30 UTC

Details

Dependabot for our repos is scheduled to run at fairly different times that are inconvenient for some geographies. This PR moves this repo's dependabot time to 08:30 UTC (14:00 IST, 01:30 PDT, 00:30 PST).
Web-based projects have many dependencies, and a low Dependabot PR limit causes us to need to run Dependabot manually multiple times to update all dependencies. This PR increases the limit.

Motivation
Part of Feature 2083093 (internal access required to view).
Pull request checklist

[n/a] Addresses an existing issue: Fixes #0000
[n/a] Added relevant unit test for your changes. (yarn test)
[n/a] Verified code coverage for the changes made. Check coverage report at: <rootDir>/test-results/unit/coverage
[n/a] Ran precheckin (yarn precheckin)

Codecov Report

Merging #1869 (7dcf160) into main (325baf3) will not change coverage.
Report is 55 commits behind head on main.
The diff coverage is n/a.

:exclamation: Current head 7dcf160 differs from pull request most recent head 2f44ae2. Consider uploading reports for the commit 2f44ae2 to get more accurate results

@@           Coverage Diff           @@
##             main    #1869   +/-   ##
=======================================
  Coverage   94.52%   94.52%
=======================================
  Files          38       38
  Lines        1059     1059
  Branches      144      145    +1
=======================================
  Hits         1001     1001
  Misses         58       58


makePom omits scope

The makePom omits <scope>test</scope> when there are multiple libraryDependencies with the same group + artifactId + version, but different classifiers.
Steps

git clone https://github.com/htmldoug/sbt-bug-pom-missing-scope.git
sbt makePom
Open the generated pom.xml
Observe that the dependency entry for "guava-tests" % "18.0" % "test" classifier "tests" is missing a <scope>test</scope> element.

Problems
The following library dependencies...
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0"
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0" % "test" classifier "tests"

... produce a pom dependency with a missing <scope>test</scope>.
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava-tests</artifactId>
    <version>18.0</version>
    <classifier>tests</classifier>
</dependency>

Expectations
The dependency with configuration "test" should produce a pom entry with <scope>test</scope>.
Notes
Interaction issue?
On its own, the following produces the correct result.
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0" % "test" classifier "tests"

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava-tests</artifactId>
    <version>18.0</version>
    <classifier>tests</classifier>
    <scope>test</scope>
</dependency>

It's only when you add a libraryDependency with the same group + artifactId + version in compile configuration in addition to the test configuration with the classifier, that the problem occurs.
pom generation vs dependencyClasspath
dependencyClasspath and test:dependencyClasspath appear okay. This may be isolated to the pom generation.
> export dependencyClasspath
/Users/doug/.sbt/boot/scala-2.10.4/lib/scala-library.jar:
/Users/doug/.ivy2/cache/com.google.guava/guava-tests/jars/guava-tests-18.0.jar:
/Users/doug/.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-1.3.9.jar

> export test:dependencyClasspath
/code/sbt-bug-classifier-pom/target/scala-2.10/classes:
/Users/doug/.sbt/boot/scala-2.10.4/lib/scala-library.jar:
/Users/doug/.ivy2/cache/com.google.guava/guava-tests/jars/guava-tests-18.0-tests.jar:
/Users/doug/.ivy2/cache/com.google.guava/guava-tests/jars/guava-tests-18.0.jar:
/Users/doug/.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-1.3.9.jar

Yeah, this looks to be a limitaiton in MakePom.scala that can be solved.

The issue stems from the pom generation. Specifically, from this bit of code:
https://github.com/sbt/sbt/blob/f334d76f70bb6ba2befc38b414f13776d0b119ac/ivy/src/main/scala/sbt/MakePom.scala#L244-L258
In particular, the culprit is getScopeAndOptional at line 250.
Here is some diagnostic debugging. In the case of just:
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0" % "test" classifier "tests"

the various values before the call to makeDependencyElem() at line 257 are:
---------------
artifact   : DA:guava-tests.jar(jar) ([*])
artconfigs : *
configs    : test
dependency :
  dependency: com.google.guava#guava-tests;18.0 {test=[default(compile)]}
scope      : Some(test)
optional   : false
classifier : Some(tests)
type       : None
---------------

Notice that the list of "configs" contains only test. The generation of the scope item only looks at the list of config, hence "test" is returned.
However, in the case of
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0"
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0" % "test" classifier "tests"

the two are combined into a MergedDescriptors dependency. The values now are:
---------------
artifact   : DA:guava-tests.jar(jar) ([compile])
artconfigs : compile
configs    : compile
dependency :
  sbt.ivyint.MergedDescriptors@5494e20f
   dependency: com.google.guava#guava-tests;18.0 {compile=[default(compile)]}
   dependency: com.google.guava#guava-tests;18.0 {test=[default(compile)]}
scope      : Some(compile)
optional   : false
classifier : None
type       : None
---------------
artifact   : DA:guava-tests.jar(jar) ([*])
artconfigs : *
configs    : compile,test
dependency :
  sbt.ivyint.MergedDescriptors@5494e20f
   dependency: com.google.guava#guava-tests;18.0 {compile=[default(compile)]}
   dependency: com.google.guava#guava-tests;18.0 {test=[default(compile)]}
scope      : Some(compile)
optional   : false
classifier : Some(tests)
type       : None
---------------

The same dependency is used twice to generate the two pom elements. The classifier changes
because it is directly extracted from the accompanying DependencyArtifactDescriptor.
In the second case, the artifact descriptor list of configs is "*", therefore the list of configs is
taken instead from the dependency: compile,test. At this point, getScopeAndOptional
selects Some(compile), and the scope is not printed.
I suppose getScopeAndOptional could be tweaked a bit, or the list of configs passed to
it could be selected differently. That needs some decisions related to dependency management
however; /cc @eed3si9n @jsuereth

So to clarify a bit, when you write:
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0"
libraryDependencies += "com.google.guava" % "guava-tests" % "18.0" % "test" classifier "tests"

You're actually (under the scenes) creating this:
libraryDependencies +=
  ("com.google.guava" % "guava-tests" % "18.0" % "compile->compile;test->test").
     artifacts(Artifact("guava-tests", Some("tests"), "jar", "jar"), Artifact("guava-tests", None, "jar", "jar"))

That is, in Ivy vernacular:

I have one dependency on the guava-tests moudle
I want the compile-artifacts of the module to be on my compiles scope, and the test artifacts of the module to be on my test scope.
I only want two artifacts, the "tests" classifier and the basic jar.

What sbt's "merge descriptors" does is allow users to be "less ivy" and "more maven" in how they specify dependencies, and sbt will unify the concept of artifact-based dependnecy back into ivy's "module" based dependency tracking.
Now, add in how Ivy handles maven artifacts ->  Artifacts are associated with ALL configurations, except for specifically handled ones.   So, as Toni shows, the artconfigs value is *, meaning the tests classifier artifact is assigned to ALL the configurations of the module.
When you only have ONE artifact for that module, all is good because we only see/care about the "test->compile" configuration.   sbt's "MakePom" code can handle this.   The issue is if we have two, then when merging them we're merging them acurrately but hte original DSL was too inspecific.  We're ending up with the following equivalent definition:
libraryDependencies +=
  ("com.google.guava" % "guava-tests" % "18.0" % "compile->compile;test->compile").
     artifacts(Artifact("guava-tests", Some("tests"), "jar", "jar"), Artifact("guava-tests", None, "jar", "jar"))

As you can see, this means that the guava-tests jar, which is mapped to configuration *, will show up on both the compile and test classpaths, as well as show up in the POM as being on the compile classpath.
While we may have hacked ivy around so the tests jar DOESN'T actually show up in the compile classpath in sbt, the data is still wrong, and we're seeing that in the MakePom code.
Solutions

Option 1*

We could attack the issue here, and try to outline what configuratoin we think the Artifact should be mapped to:   https://github.com/sbt/sbt/blob/0.13/ivy/src/main/scala/sbt/Ivy.scala#L612-L619
That is, we could try to do post-processing on libraryDependencies and pre-detect "merge" dependencies, where we try to adjust the configuration mappings ahead of time.  We may also have to go into Ivy's "maven" code and ensure that tests artifacts are always assigned to the test configuration (but I suspect it's actually sbt code that is incorrectly overriding that).
Option 2
We could adjust merge descriptors to detect the case where  a classified artifact is merged with the default on, and check the configuration / explciitly migrate that artifacts into a configuration to avoid the issue.
This feels more hacky, but it actually could be the merge descriptors logic is faulty now, leading to this situation to begin with.

Possible duplicate of #1500.

:+1: this impacts neo4j

so what's the workaround?

I've tried this
      "org.neo4j" % "neo4j-kernel" % "2.3.0",
      ("org.neo4j" % "neo4j-kernel" % "2.3.0" % "test,it").artifacts(
        Artifact("neo4j-kernel", "tests")
      ),

but the sources and javadocs for the tests classifier do not show up in the updateClassifiers report. I'll file it as a separate bug.

Fixed in https://github.com/sbt/sbt/pull/2642, part of sbt 0.13.12.


LCFS - Create Cypress E2E Test for User Creation Workflow

Describe the task:
Develop an end-to-end test using Cypress for the user creation process in the application. The test should simulate the scenario where an IDIR user logs in and creates a new user through the application's user interface, interacting with the API.
Purpose:
The aim is to ensure the user creation feature works seamlessly from a real user's perspective. This test will help us verify the integration of the frontend with the backend API, authentication flows, and the user interface's behavior in response to user inputs and API responses.
Acceptance Criteria:

[ ] Implement a test that logs in as an IDIR user, and creates a new IDIR user.
[ ] Implement a test that logs in as an IDIR user, and creates a new organization user.
Test Steps
[ ] Login as an IDIR user from the splash page, there is an existing command for this.
[ ] After successful login, navigate to the user creation section of the application.
[ ] Fill out the user creation form with valid data and submit it.
[ ] Verify that the API call to create a new user is made correctly and succeeds.
[ ] Confirm that the application UI responds appropriately after user creation (e.g., displaying a success message, redirecting to a specific page).
[ ] Ensure the test checks for the presence of the newly created user in the user list or database.
[ ] The test should handle cleanup, like logging out or deleting the test user if necessary.

Additional context:

Provide the test with any necessary environment variables and test data.
Ensure the test respects the privacy and security of real user data.
Document the test case clearly, and ensure it can be easily run in different environments (development, staging, etc.).

Hey team! Please add your planning poker estimate with Zenhub @AlexZorkin @hamed-valiollahi @kevin-hashimoto @prv-proton


Incompatible with PDM running in virtual envs?

My environment:
Python 3.13.0
Darwin mac.local 24.1.0 Darwin Kernel Version 24.1.0: Thu Oct 10 21:03:15 PDT 2024; root:xnu-11215.41.3~2/RELEASE_ARM64_T6000 arm64

My steps, pyproject.toml:
[project]
name = "my_project"
version = "1.0.0"
description = "PDM example"
authors = [
]
dependencies = [
    "requests>=2.25.1",
    "flask>=3.0.0",
    "zhmcclient==1.18.0"
]

requires-python = ">=3.9"

[tool.pdm.dev-dependencies]
dev = [
]

Steps:
python3 -m venv my-venv
source my-venv/bin/activate
python3 -m pip install pdm 'pdm-sbom[spdx3,spdx,cyclonedx]'
./my-venv/bin/pdm install

This results in the following output when we try to get a SBOM out of it:
% ./my-venv/bin/pdm sbom --format spdx
Could not find package typing-extensions derived from typing-extensions in package map.
Failed to resolve package zipp, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package importlib-metadata, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package colorama, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package decorator, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package docopt, as it is not installed. Maybe due to falsified conditions.
Could not find package Jinja2 derived from Jinja2 in package map.
Could not find package Werkzeug derived from Werkzeug in package map.
Failed to resolve package immutable-views, as it is not installed. Maybe due to falsified conditions.
Could not find package MarkupSafe derived from MarkupSafe in package map.
Could not find package importlib-resources derived from importlib-resources in package map.
Could not find package pkgutil-resolve-name derived from pkgutil-resolve-name in package map.
Failed to resolve package nocasedict, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package pyrsistent, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package pytz, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package websocket-client, as it is not installed. Maybe due to falsified conditions.
Failed to resolve package stomp-py, as it is not installed. Maybe due to falsified conditions.
Could not find package MarkupSafe derived from MarkupSafe in package map.
Failed to resolve package yamlloader, as it is not installed. Maybe due to falsified conditions.
Could not find package PyYAML derived from PyYAML in package map.
Failed to resolve package zhmcclient, as it is not installed. Maybe due to falsified conditions.

Hi,
sorry for coming back to you rather late, but currently I'm in no good health condition.
I have not tested this plug-in yet so it may be as you say.
I will come back to you this weekend with a further investigation.
Regards Carsten

Thank you very much.
I'll try to do my best. But as of now, this plug-in is still rather beta and more than a PoC.
Please don't have high hoped, that this might be your last issue here.


Use timeit instead of time

Benchopt currently uses the time module, but I believe a better option is to use timeit instead. See https://stackoverflow.com/questions/17579357/time-time-vs-timeit-timeit and https://docs.python.org/2/library/timeit.html#timeit.default_timer for context, but basically what timeit.timeit() does is to disable garbage collection when timing, which makes for more consistent benchmarking since garbage collection will be scheduled intermittently throughout benchmarking and affect timings inconsistently between runs.
This is not completely uncontroversial, because I think methods that are leaner, i.e. waste less resources, will trigger garbage collection less often, but this seems like a minor issue to me since most of the time garbage collection will just happen for completely unrelated reasons.
This of course won't affect garbage collection on the R side (and I'm unsure about how cython works in this regard).

Sorry, I totally bungled this pull request. Disregard this.


Port

First off, thanks for making this slimmer version of node-red-contrib-ical-events. :thumbsup:🌷
I took it for a test drive and stumbled across a few questions:

According to the documentation the node should send on port 1 on event start and on port 2 on event end, however all I'm getting is a payload on port 2 (end) at the start of the event. The source code seemingly confirms this to be a bug:

    var sendStatus = function (node, calConfigNode) {
        var calculateStatus = function () {
            var inEvent = !calConfigNode.events.every(function (event) {
                var start = basic_ical_events_1.icalCalendar.countdown(event.eventStart);
                var end = basic_ical_events_1.icalCalendar.countdown(event.eventEnd);
                return !((0, node_common_1.inThePast)(start) && (0, node_common_1.inTheFuture)(end));
            });
            if (inEvent) {
                node.send({ payload: { inEvent: inEvent } });
            }
            else {
                node.send([null, { payload: { inEvent: inEvent } }]); // "if outside event
            }
            node.status({
                fill: 'green',
                shape: 'ring',
                text: "".concat(calConfigNode.events.length, " events, in event ").concat(inEvent, ", ").concat(getNextCheckTimeString(node)),
            });
        };
        calculateStatus();
    };

A debugging session reveals that when inEvent is evaluated, start has the value {days: -0, hours: -0, minutes: -0, seconds: -0} which !((0, node_common_1.inThePast)(start) && (0, node_common_1.inTheFuture)(end)) evaluates to true, which  !calConfigNode.events then negates...

I was curious as to the nodes' resilience but I'm having issues reading the __generator code in cal-config.js. I understand as much as that you've removed the cache. I tried reploying with a disconnected wifi which crashed my entire NR instance:

1 Oct 00:54:13 - [red] Uncaught Exception:
red.js:501
1 Oct 00:54:13 - [error] Error: getaddrinfo ENOTFOUND calendar.google.com

Would it be possible to add a try/catch?
On the topic of caching; a quick win could be storing the next five events in a node context variable...

Copy-wise, right now my trigger node says next check Oct 01, 24:30 [14m 3s]. However I set the calendar config to refresh every hour. Looking at the source code it seems node._nextCheckTime is actually _node.nextTriggerTime (?) and consequently the status should read next trigger Oct 01....
Right now the trigger node sends inEvent: true/false. I think it would make more sense for the trigger to send the event object. If I were interested in inEvent, I could easily serialize the trigger with the sensor component, however sending the event opens the door to having Node Red act on data inside calender events.

Awesome work so far! I went through all the calendar components in the node red flow library and found this to be easily the 🥇 option if you want something user-friendly that (almost 😃) just works.

@lgrkvst
Thanks for the comments!  It looks like you're on an old version of the library though.  Even though you're looking at the generated javascript and not the source typescript (reading the TS will be much easier, I promise!) I can see that the var inEvent is being calculated with the countdown values which I got rid of.  (see https://github.com/AlmostInteractive/node-red-contrib-basic-ical-calendar/blob/master/src/nodes/node-common.ts#L29)  I'll address the topics that I can confirm are still valid on the latest version anyway.  😃

Done.  Good catch.  Now it reports an error to NodeRed instead of being an uncaught error which crashes NodeRed.  Thank you!

"check" as in "check the status of", however you have a valid point, it triggers as a result of checking.  That's a bug, in that you'll get an {inEvent: false} message if you have nothing scheduled within a day of the last event.  I can fix that.

That's an easy upgrade.  I didn't add it because I won't use it, but I can stick that in for you since you took the time to write me.  😄

So yeah, grab  the latest version (v2.1.0 @ https://flows.nodered.org/node/@almostinteractive/node-red-contrib-basic-ical-calendar) and try again!

Haha, I wrote that Saturday night and a fix came Sunday morning. Swift like a cobra! 🐍
The oddest thing – I installed the repo yesterday evening for the first time and for some reason got version 2.0.1...
Anyway great! The trigger node triggers just like advertised.
However (there's always a however), the sensor reports inEvent: true no matter when I trigger it.
The trigger node still says next check – I think you can avoid some confusion by changing the nomenclature. Granted the trigger node does check when to fire, but it's the triggering that is of value and the user probably don't want to know about its inner workings.
Great that it's sending event information, however it's sending ALL of the events so I still have to perform just the kind of logic I want to outsource to the calendar component in order to determine what calendar data triggered an event.
Might I suggest an information architecture that minimizes "collateral logic":

sensor node to send just the current event as payload if there's an ongoing event (analogous to literally "sensing" the calendar) and false as payload if not.
trigger node to just send event as payload. inEvent doesn't make any sense as the trigger node cannot trigger unless there's an event. Right now the trigger node sends inEvent: true via its end port which is a philosophic discussion. By just sending event at the start and at the end, a user/flow can determine start/end from the separation of the ports.
a dedicated node to obtain upcoming events.

A last question: what has changed with the formatting? It's not minified or obscured, but for some reason all the line breaks and indents are gone.

@lgrkvst

Not sure why it's still telling you v2.0.1.  Sounds like your system hasn't grabbed the latest repo information.  Maybe try restarting the service?

I'm not able to reproduce the Sensor always reporting inEvent: true.  If you'd like to sync up on Discord and do a screen share session, I'd be curious to see that.  Send me your id and I'll contact you.

Since the Sensor can be triggered whenever (not just an event beginning / ending threshold) it made sense to me to send all currently running events.  I think that's what you're asking for anyway.  (Rather than making events false if there are none, I prefer to leave it as an empty array.  I see no value in sending two false values and I like simple return types.  😄 )

For a Trigger node, inEvent is useful for me since all I, personally, only care about is whether or not I'm currently in an event.  (I use this to turn on / off my background music.)  Sending just an event wouldn't make too much sense for me since then I'd need to do some additional work (in a JS node probably) to see if the event is starting or ending.  I can probably send along the event in the payload, though I'm not certain what will happen if there are two events that have overlapping thresholds (eg: two events start or end at the same time, or one starts when another ends).  I'll have to test that and make sure it makes sense.  I wanted to keep the Trigger node light, pretty much a little guy yelling "Hey, something happened!"  To do anything beyond that, use the Sensor node.

I like the idea of a node to obtain the next N events.  Feel like writing a new feature?  😁

@lgrkvst
2. I started looking around and yup, I made a silly mistake.  In some situations it'll report inEvent: true when indeed it is false.  I'll fix that bug in the next update.


Potential fix for kkWh unit of measurement issue

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

4 of 4 (100.0%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 99.945%

Files with Coverage Reduction
New Missed Lines
%

custom_components/powercalc/sensors/energy.py
1
99.15%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
3662

Relevant Lines:
3664

💛  - Coveralls


publish on open-vsx?

Hi!
I just thought to ask that do u have any plans to publish ur extension on open-vsx??
See this for more details: MadsKristensen.Tweaks
Thanks!

No, because that's for VSCode extensions. I publish mine to both the offiial Visual Studio Marketplace and to the Open VSIX Gallery

No, because that's for VSCode extensions

ohww, ohkay, got it.


Support parameterized queries

It feels really weird to have to use custom query builders instead of being able to generate queries with something like:
_dbClient.QueryAsync("databaseName", "SELECT * FROM temp WHERE cpuId = @CpuId",
   new
   {
       CpuId = cpuId
   });

@joakimhew sounds good, contribution is very welcome!

@ziyasal Okay, I have a working solution that we are using within our team. I'll get some time to polish it and do a PR soon 👍


Could not create device driver context!

When I run wfreerdp-server.exe,  I am facing this issue
Detecting screens...
ID      Resolution              Name (Interface)
0       1360x768x32     .\DISPLAY1 (Intel(R) Graphics Media Accelerator HD)
Starting server
Listening on :: port 3389.
Listening on <IP_ADDRESS> port 3389.
Activating Mirror Driver
Could not create device driver context!
CreateDC failed on device [.\DISPLAYV4] with error 0: The operation completed
successfully.
Unable to map memory for mirror driver!
I am running the freerdp server on Windows 7 64 bit system.  Please help me in fixing this issue

Any solution for this issue? I am facing the same. Details:
--> Server

OS : Windows 7 Pro x86
Mirage Driver (2.0.301) Installed
Run wfreerdp-server.exe

--> Client

OS : Windows 7 Pro x64
mstsc to server with custom server port on which FreeRDP is listening

Error - Could not create device driver context!


Repo unmaintained?

Is this repo still being maintained? Seems like the addition was four months ago, and there are pull requests outstanding since Dec.
If not, happy to start maintaining at https://github.com/IronTooch/awesome-ansible

Hi, yeah I have just been very busy the last few month or so, If you would like help out with this List, you are welcome to add to it, of course.
If you would like to have an more active role, I could give you necessary permissions to co-maintain / contribute.
If you are good with just contributing via Merge Requests, that is totally fine though! I don't want to burden anyone with responsibilities nor obligations ;) Everyone has enough of those.

Hi,
I look after the Ansible Community Engineering Team at Red Hat, if we could support this, I'd be more than happy to.
We have https://github.com/ansible-community/ where we have various community maintained projects with various community folks who have commit powers.
I obviously don't want to step on anybody's toes.

Hi @gundalow, as discussed, I am happy to make this repository Part of the ansible-community, I am preparing the Transfer, rn.

As the Repository is

I'm happy to be added as a co-maintainer, @gundalow , I'd be happy to help over at Ansible Commmuity. Either way, just trying to help!