D415 depth sensor streams seem to have stopped working - defective device?

Required Info

Camera Model
D415

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 20.04

Kernel Version (Linux Only)
5.15.0-46-generic

Platform
PC

SDK Version
2.50.0

Issue Description
I have 32 D415 cameras here in a volumetric capture setup, and unfortunately it seems that for one of them, the depth sensor streams (depth or infrared images) have stopped working. I believe that no physical harm has happened to the device. I can rule out the cable or other external factors since I connected it with a cable to a PC with which other cameras work fine.
The color stream of the device still works. I use the RSUSB backend and interestingly, by default the color stream was very choppy this way, and it was constantly spamming messages about the device getting re-attached to the syslog. I then reverted commit #9821 in my local checkout of librealsense since I had read that this caused such issues in #10174. This fixed the choppy stream. I did not observe the same level of choppiness with other devices before. I don't know whether it has already been as choppy before the depth sensor stopped working, or whether it was caused by that.
There don't seem to be any unusual errors or warnings in realsense-viewer when I try to start the depth stream on the device. It does log some errors and warnings, but I see the same log messages when starting the depth stream on a working device, so I think that they are not relevant. The only specific message seems to be types.h:898 - Depth stream start failure / notifications.cpp:511 - Depth stream start failure. In the GUI, realsense-viewer keeps showing "No Frames Received!"
Now I wonder whether there is any way to repair the device. Things that I have tried unsuccessfully so far:

Trying to stream depth images on the lowest resolution to check whether depth streams work at all (they don't)
Performing a firmware upgrade
Resetting the dynamic calibration parameters with Intel.Realsense.CustomRW.exe -g

Is there anything else that could be worth trying?

Hi @puzzlepaint  The kernel version 5.15 should not be an issue, as you are using the RSUSB backend and so the kernel will be bypassed by the RealSense SDK.
Are the cameras used one at a time or enabled in multiple quantities simulatenously by a single program?  The RSUSB backend is not the best choice of build for applications that control multiple cameras from the same program as it is suited to single-camera applications, with a patch-based build of the SDK (V4l / native backend) being the best option for multicam projects.
Whilst the SDK does not currently include support for kernel 5.15 in version 2.50.0, an unofficial test patch to add support for kernels 5.13 and 5.15 is available at https://github.com/IntelRealSense/librealsense/issues/10439#issuecomment-1171965106
Also, are all 32 cameras attached to the same computer?

Are the cameras used one at a time or enabled in multiple quantities simultaneously by a single program?

Each camera is attached to its own computer. So, possible multi-camera issues can also be ruled out completely. I am sorry that my initial description was unclear in that regard. I only mentioned the 32 cameras in total to say that I am sure that the issue is a device-specific problem for that single device that seems to be defective, since all of the others work fine in the same type of setup.
Is there anything that could be attempted to repair the single defective device whose depth sensor does not start anymore?

If you do not mind invalidating the sales warranty on that particular camera then you could open its casing by detatching the USB cable from the side of the camera to reveal a single small screw (inbetween 'CE' and 'FCC').  Once the casing is open, you could then check whether the interposer cable connecting the Vision Processor D4 Board and the D415 Depth Module board is fully seated in the 50 pin connectors at both ends of the interposer cable.
Alternatively, you could perhaps alter the spacing between other cameras so that their fields of view overlap the area that the affected camera was observing, therefore enabling that camera to be retired from your volumetric system.

Thank you for your reply. Since I believe that there is no warranty on the affected device anymore, I will try to open it and check the cable you described. However, I will need to find a suitable screwdriver first, since so far the case screw did not seem to move when I tried to use the tools on it that I have available.

It seems that now a second device broke. It shows almost exactly the same behavior as the first one: The depth sensor (depth or IR stream) does not start anymore, while the color sensor still works. There are some additional items in the log in realsense-viewer when trying to start a depth stream on this device:
This is printed frequently, seemingly each time types.h:898 - Depth stream start failure is printed:
types.h:898 - REC error

This is printed occasionally:
types.h:898 - Right MIPI error

I wasn't able to open the first device yet, but for this second device, it seems unlikely to me that any cable has become loose (at least due to physical shocks), as it was just mounted in a fixed position where it definitely worked before.
Are there by any chance other probable guesses as to what could have made these devices break? The things that I can think of right now are:

The humidity is slightly higher than usual here, with usual conditions of around 70% relative humidity at about 20 degrees Celsius temperature. Is that too much or should this be acceptable? I looked into the datasheet for the D400 cameras and it mentions 40 degrees Celsius and 90% relative humidity, but I am not sure how that transfers to 20 degrees Celsius.
I use the cameras on active USB hubs because they are attached to Raspberry Pi 4 devices, which cannot supply enough power on their own to both the cameras and the SSDs that I attached to them as well. It seems that both faulty devices were plugged in such that when powering on the system, the active USB hub was powered on before the Raspberry Pi 4 that it is attached to. Is this by any chance known to be able to break the cameras if the USB hubs somehow don't behave properly?

This is unfortunately a bit of a nightmare scenario for me, as I invested a lot of time and money into the hardware and software of this volumetric video system. Perhaps the two broken cameras in a row were a coincidence now, but who knows. I would be very happy about any effective suggestions on how to prevent further cameras from breaking - thanks!

I found this analogous case where the depth sensor on a camera stopped working with the "Right MIPI error" log message: #9947
Unfortunately, it seems that this camera needed to be returned to the seller. It would be important to know whether this breakage can be avoided.

Camera hardware should not be harmed if insufficient power is supplied to them by the USBs system.  They would either not be detected or fail to activate a particular camera modeif the camera tries to draw upon the power required to enable that mode and insufficient power is available.
If your computing setup can make use of ethernet then you could explore the use of PoE (Power over Ethernet** "hats" for your Pi's to provide their power needs.
https://www.raspberrypi.com/products/poe-hat/
The Right MIPI Error is not likely to be a significant concern if it only occurs oocasionally.

In the data sheet description of humidity, RH stands for Relative Humidity, which is "a measure of how much water vapor is in a water-air mixture compared to the maximum amount possible".  Normal humidity is considered to be between 30 and 50 percent.  Anything under 30% is considered too dry.  Equally, anythng above 50% (like your 70% humidity) may be too wet.
The Electronics section of the Wikipedia article on humidity explains how effects such as condensation at high humidity can cause short-circuits and may permanently damage electronics if the condensation has not been given an opportunity to evaporate before activating the device.
https://en.wikipedia.org/wiki/Humidity#Electronics
You could investigate the possibility of placing the cameras inside protective housings that protect against water spray and condensation.  A company called autoVimation supply an enclosure for the RealSense D415, D435 and D455 models that is rated to provide IP66 and IP67 environmental protection.
https://www.autovimation.com/en/realsense-en
IP66: Protected from total dust ingress and protected from high pressure water jets from any direction.
IP67: Protected from total dust ingress and protected from immersion between 15 centimeters and 1 meter in
depth.

Humidity is not typically an issue that is raised by RealSense users unless there is a specific situation where humidity is known to be a risk factor in the location where the camera will be placed (such as a stationary position in an outdoor location with a damp climate).  I would think that any electronic device with an open ventilation grille would be vulnerable in such environmental conditions though.
It does not seem likely that the Pi receiving power every 10 seconds would cause damage to the camera attached to it.

Thanks again for your reply. Then I guess I'm out of ideas for what the likely cause was. Maybe it was indeed just two cases of bad luck.
I did get a suitable screwdriver now and disassembled one of the broken devices as far as the disassembly steps were clear to me. The broad black cable seemed to be firmly in place in the green board. It seems like the other side may be less easy to access? At this point I'm not sure how to open it up further.

If the interposer cable joining the depth and D4 boards was firmly attached to the connectors at both ends then further disassembly of the cameras will be unnecessary .

I can't reach the connector on the end that is still attached to the part with the cameras in the photo above. However, looking at it from the outside, I guess that it is probably fine.

And resetting the calibration in the Viewer using the instructions at https://github.com/IntelRealSense/librealsense/issues/10182#issuecomment-1019854487 makes no difference to the depth stream start failure errors?

Resetting the calibration in this way does not seem to work in my case. The "Write Table" button only seems to be active while depth sensor streaming is currently active. Under this condition, the following errors occur:

Clicking "Restore Factory" results in:close() failed. UVC device is streaming!

Clicking "Write Table" results in:hwmon command 0x51( 0 0 0 cafecafe ) failed (response -1= Invalid Command)

I tried this on a dual-boot Windows installation with the most recently released official RealSenseViewer executable to ensure that my specific configuration on Linux with the RSUSB backend does not cause issues.
As mentioned in the first post, I also tried resetting the configuration with Intel.Realsense.CustomRW.exe -g, which prints that it did reset the calibration on the device successfully. But this does not make the depth stream work.

Have you tried the affected cameras on one of the other 30 Pi boards to confirm whether the problem is with the particular Pi boards that the cameras with the problem are attached to rather than the cameras themselves?
Going through this case from the beginning, I took note of this quote:
It seems that both faulty devices were plugged in such that when powering on the system, the active USB hub was powered on before the Raspberry Pi 4 that it is attached to.
This reminded me of past issues, particularly with ROS, where the camera would not work correctly when used with a USB hub because the hub received power first before the computer / computing device had.
I have seen a couple of cases where RealSense users opted to use PCI/E expansion cards with USB ports instead of a hub, like the example for Pi 4 at the link below.
https://www.amazon.com/USB-3-2-Expansion-Gen1-PCIe/dp/B092VVDPWX

I tried the affected cameras on my desktop PC, on which other cameras work fine. So I am sure that the problem is with the cameras and not with the Raspberry Pis.
I already changed the cabling such that the USB hubs won't receive power before the Raspberry Pis that they are attached to anymore, so that shouldn't be an issue anymore in the future. In any case, I guess that this is not supposed to damage the cameras permanently.
The linked expansion card seems to be designed for the RPi 4 Compute Module, which as far as I remember has a usable PCIe port, unlike the standard Raspberry Pi 4.

Seeing that there does not appear to be a clear indication about what the likely cause of the damage was, and there also does not seem to be a way to repair the affected cameras, I would say that this ticket can be closed for now. I might re-open it in case another camera breaks and it gives any new clue about the cause of the problem (but let's hope that this won't happen ...). Thank you for your assistance so far!

You are very welcome.  :)  Good luck!


[TASK] Configure Travis for better build performance

set sudo: false to allow Travis to use their new container-based infrastructure
enable bundler caching
set language: ruby for good measure

Awesome, thank you @oliverklee!


[Question] docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

:question: Question

Hi, can you help me with this error I have been getting? Initially it worked correctly and the other day when running I had this error.
Thanks!

Hi @aldemirfilho ,
sounds like this is either caused by a mismatched driver (there is a minimal driver version for the docker image) or something strange is going on. Did you try restarting your pc?

Since there was no update for some time,  I'll close the Issue for now but if anything else comes up please reopen (if the same) or open a new one.


Snapshot remains after Recover: Delete-Recreate

Description
When you delete-recreate a VM, the previous snapshots remain.
To Reproduce
Take a snapshot from a VM
recover menu => delete-recreate
Expected behavior
The snapshot should be deleted from opennebula database.
Details

Affected Component: Sunstone
Hypervisor: KVM
Version: 6

Additional context
Add any other context about the problem here.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

PRs:

src
doc


Move acceptance tests to /test-bed route

From the discussion here we would like to move all of our accpetance tests to a test-bed route to make sure we're seperating our tests from our demo page.
This also means we'll need a new demo page with this.

Closed with #157


Create test_build.yml

Github workflow configurations for building pype on all three platforms.
So far we have failing build on MacOS, which is however problematic on it's own as well, so we need to check what's going on there.

I've updated the wofkflow to only trigger when review is requested or when PR is moved from draft to reviewable. That should prevent useless builds


Push notifications conflicts

Hi!
I encountered a notification problem (notifee) if infobip is installed. Now I can’t launch local push notifications because they don’t appear, or rather end up in infobip. Is it possible to make it so that there are exceptions?
thanks in advance

Hello @GennadySX, sorry for the late response, we've missed your question somehow. If it's still relevant could you provide more details please, which version are you using, how are you launching the local push notification and have you tried to reproduce the issue with the Example application

Closing the task due to inactivity, feel free to reopen if needed.


feat: migrate to fast-alfred 🚀

BREAKING CHANGE: npm is not supported anymore - download via GitHub Releases

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


Dockerfile: fix filenames of artifacts

@milosgajdos @corhere @squizzi ptal 🤗

Codecov Report
Patch coverage has no change and project coverage change: -0.05 :warning:

Comparison is base (f55a655) 56.92% compared to head (435c7b9) 56.88%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3910      +/-   ##
==========================================
- Coverage   56.92%   56.88%   -0.05%
==========================================
  Files         106      106
  Lines       10703    10703
==========================================
- Hits         6093     6088       -5
- Misses       3938     3942       +4
- Partials      672      673       +1

see 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Yeah, I highly suspect this was a copy/pasta from a release-pipeline of another repo that chose to use .tgz instead of .tar.gz. Either one is fine, but not "both" 😂

But the unfortunate (or perhaps fortunate) result was that the release uploaded only the .sha256 checksums, and not the actual binaries;


Ensure consistent approach to logging / message handling

Add priority filter to MessageDisplay
Use MessageDisplay to display all log messages
See the approach suggested at Logging

Log4j does not appear to be in dependency tree; omitting log4j-over-slf4j.


Let the user pick which animation stack to import in an fbx

PR Details
If multiple animation stacks are present in an fbx, let the user choose the index to import.
Description
This only allows it to be set after the asset is initially created and imported. Also, the index is clamped so it doesn't break if you set something out of bounds.
Tested with a mixamo animation, since they set everything in the 2nd stack and a t-pose in the first.
Related Issue

Motivation and Context

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] I have built and run the editor to try this change out.

Code changes look fine. Since this is modifying the public API of the animation asset, does this scale to any other format than FBX? If so, we probably need to file an issue to get this implemented for other model importers. If not, we need to add to the property description that this is a special case for FBX and the value is ignored for other file types. Maybe even it would make sense to call it FbxAnimationStack if it's a feature specific to that file format. However, I imagine it's the case that other file formats would also support multiple animations. But would other formats also use an integer index or maybe a string identifier?

Code changes look fine. Since this is modifying the public API of the animation asset, does this scale to any other format than FBX? If so, we probably need to file an issue to get this implemented for other model importers. If not, we need to add to the property description that this is a special case for FBX and the value is ignored for other file types. Maybe even it would make sense to call it FbxAnimationStack if it's a feature specific to that file format. However, I imagine it's the case that other file formats would also support multiple animations. But would other formats also use an integer index or maybe a string identifier?

I totally forgot about other formats! I'll get that added.
Ideally I feel like the importer would have a nice little dropdown with the names of all the animations, or at least limited to valid indices. Not sure how I'd implement that with the UI framework, the only dropdowns I've seen have been bound to the names of a hardcoded enum and that would probably be more annoying than an integer field.

Isn't it possible to just import all and create the appropriate number of animation assets according to the names of the animations?

Yeah, I think that would be possible. Maybe with a way to skip certain animations if you want, since my use case is just to use the 2nd animation and ignore the first, lol. Not sure if the names have uniqueness enforced. If they don't the index may need to be used to keep it consistent across imports.


Update git-cheatsheet.md

Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[x] This pull request impacts the contribution experience

[x] I have added the 'writer impact' label
[x] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

MAY88MAY(5)
2022-02-08.18:40
08
MPT *
8677 B2
<1559> B2 [REV]
7676 B2
{SO} M(08)7676 B0
{SO} P(08)7676 B0
{SO} T(08)7676 B0
2098 B2
T(24)


Port melee executions from upstream

Ported https://github.com/space-wizards/space-station-14/pull/30104 from upstream

About the PR
executions
Why / Balance
Dramatic way to kill yourself, ported upstream
Technical details
Compatible with the suicide changes, marines cannot kill themselves by using the suicide command
Media
https://github.com/user-attachments/assets/db0743c8-a9c7-4356-a694-2032e9533a4d

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes
None
🆑 Scribbles0, Plykiya, nikthechampiongr

add: You can now execute incapacitated/cuffed entities or yourself with certain sharp weapons. Executions require a do-after, deal 9x the damage of a normal attack, and ignore damage resistances.

We merged upstream, I don't think this is needed now?

I talked with smug about this and we don't want to add it for the headaches it can probably cause staff, for the only benefit of having a niche way to kill yourself in niche situations, basic suicide was also disabled for the same reasons.
Also because upstream merge.


Remove the install-this-project-as-a-library-submodule-in-your-own-project section, now the users can add LVGL and lvgl_esp32_drivers as separated submodules, they no longer need to add this whole repo.
Update Platformio instructions.
Cleanup in general.

Any other updates you think would be cool?

Sounds good.
I think the info in the README could be added to the docs too. So we can keep them in sync at least to some extent.
What do you think?

Sounds good.
I think the info in the README could be added to the docs too. So we can keep them in sync at least to some extent.
What do you think?

For reference: To update the README I'm working in this branch.

I think the info in the README could be added to the docs too. So we can keep them in sync at least to some extent.
What do you think?

That's great, I think.

For reference: To update the README I'm working in this branch.

I think the info in the README could be added to the docs too. So we can keep them in sync at least to some extent.
What do you think?

That's great, I think.

Closed with #245 and #248

Closed with #245 and #248


Splitting workers to do actual concurrent access,

Purpose

Since w1, w2, w3 and w4 are running on the same physical thread of the parent strand, these workers don't do concurrent updates to counter/counterObj, therefor removing the lock won't change the output of this program, so the example is not explaining the actual purpose of the lock.

Approach

Adding @strand{thread:"any"} annotation will allow wokers to perform simultaneously, this way we can simulate concurrent updates to counter/counterObj.

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

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

Codecov Report

Merging #27757 (35afd12) into ballerina-1.2.x (bccb619) will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.2.x   #27757   +/-   ##
================================================
  Coverage            14.59%   14.59%
================================================
  Files                   51       51
  Lines                 1411     1411
  Branches               219      219
================================================
  Hits                   206      206
  Misses                1189     1189
  Partials                16       16

Continue to review full report at Codecov.

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

Codecov Report

Merging #27757 (35afd12) into ballerina-1.2.x (bccb619) will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.2.x   #27757   +/-   ##
================================================
  Coverage            14.59%   14.59%
================================================
  Files                   51       51
  Lines                 1411     1411
  Branches               219      219
================================================
  Hits                   206      206
  Misses                1189     1189
  Partials                16       16

Continue to review full report at Codecov.

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

@ASMohamedFaheemAnver It seems you have done the changes mistakenly to the 1.2.x branch. This support is only there in swan-lake version of ballerina. [1] [2]
[1] https://ballerina.io/learn/by-example/locks.html
[2] https://github.com/ballerina-platform/ballerina-distribution/blob/master/examples/locks/locks.bal


Sorting when having multiple pages

When I have multiple pages sorting only works only the current displayed page. would it possible. to apply to sort with the filters applied.  so the next page will contain the successive records in order

Multiple grids on the page have to have a unique name, you can see an example here.

I think I explained myself wrong. I have one grid. When sorting is applied
it only works on the page being viewed. ie record paging.
On Nov 29, 2017 6:56 AM, "Muchiachio"<EMAIL_ADDRESS>wrote:

Multiple grids on the page have to have a unique name, you can see an
example here http://mvc6-grid.azurewebsites.net/Grid/Multiple.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NonFactors/MVC6.Grid.Web/issues/25#issuecomment-347761009,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AP95uBN2vSYb5XJcSyaplYI3v8fwTMkmks5s7PIIgaJpZM4QuZ6R
.

What do you mean by next page? Currently paging keeps sorting in tact.

Lets say to have 60 records. and you are displaying 10 records  per page.
In my scenario I am at the first page and I have the following fields,
name, surname, address, etc.
Let say I sort by name. It items will be sorted correctly based on the
items in the current page. Selecting the next page will result in not
getting the successive records. As the paging does not include the sorting
or the filters selected.
Simon
On Wed, Nov 29, 2017 at 7:35 AM, Muchiachio<EMAIL_ADDRESS>wrote:

What do you mean by next page? Currently paging keeps sorting in tact.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NonFactors/MVC6.Grid.Web/issues/25#issuecomment-347766933,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AP95uIty0oA0p9V_CWRfBO9-xhdE-zI4ks5s7PswgaJpZM4QuZ6R
.

This page for example, is filtered by name contains e and If I press 2nd page, filtering and sorting is left the same.

Did you find why it is happening? Or how is your code different for example one?


Unable to write multiple values to a cell at different timestamps atomically

I was trying to write multiple values to a cell at different timestamps, but discovered I couldn't do this in a single atomic operation.
The code would look like this:
const rowsToInsert = [
      {
        key: 'phone#4c410523#20190501',
        data: {
          stats_summary: {
            connected_cell: {
              value: 1,
              timestamp: TIMESTAMP,
            },
            connected_wifi: {
              value: 1,
              timestamp: TIMESTAMP,
            },
            os_build: {
              value: 'PQ2A.190405.003',
              timestamp: TIMESTAMP,
            },
          },
          cell_plan: {
            data_plan_01gb: {
              value: 'true',
              timestamp: TIMESTAMP,
            },
            data_plan_01gb: {
              value: 'true',
              timestamp: TIMESTAMP_MINUS_HR,
            },
            data_plan_05gb: {
              value: 'true',
              timestamp: TIMESTAMP,
            },
          },
        },
      }, // .... (more rows here)

await table.insert(rowsToInsert);

But, under cell_plan, I can't have two object keys with the same name here ( data_plan_01gb.) To get this to work, I can add another row mutation which includes the value at the other timestamp, but then they will not be executed atomically. The documentation says this about mutate rows "Mutates multiple rows in a batch. Each individual row is mutated atomically as in MutateRow, but the entire batch is not executed atomically."
I think a good solution to might be to allow an array of value/timestamp objects to be passed in some way, but I am open to your ideas. Let me know if you need clarification on anything. Thanks

@kolea2 Is this something that is worth prioritizing (for parity across libraries or ...) in 2022?

Maybe use timestamp: [TIMESTAMP, TIMESTAMP_MINUS_HR]?

I don't think this is a high-enough priority to keep open — we haven't seen any other requests like this in the interim. Closing as a "Won't Fix".


Warning: The following resource request cannot be scheduled right now: {'GPU': 0.15, 'CPU': 1.0}. This is likely due to all cluster resources being claimed by actors. Consider creating fewer actors or adding more nodes to this Ray cluster.

When I try to run your code, I get the following warning, which is not an error, but it prevents the program from training properly. I use a separate local gpu(4060ti 16G) for training, how to solve it? Thank you for your work.

I also encountered the same problem.


Add Network Model Configuration

Version Reports:
Distro  version of host:
 Ubuntu
Terraform Version Report
Terraform v0.11.7
Libvirt version
1.3.1
terraform-provider-libvirt plugin version (git-hash)
0.4
 git log

Description of Issue/Question
Add support for other network model besides virtio.
In file: resource_libvirt_domain.go, function: setNetworkInterfaces, there is this line of code which hardcodes the network model to virtio. Ideally, virtio should be the default but it would be nice to be able to set this to other values to add support for a wider amount of devices. I modified this locally to e1000 to validate it added network support for my specific use case.
		netIface := libvirtxml.DomainInterface{
			Model: &libvirtxml.DomainInterfaceModel{
				Type: "virtio",
			},
		}

Additional Infos:
N/A

What is the use-case nowadays to not use virtio?

My use case is for Cisco vIOS and other virtualized routers/switches. The network model support for them is generally poor since their physical counterparts utilize ASICs and these virtualized devices are often meant for a testing / learning environment. Previously, I’ve hand built virtualized network environments to validate code against network devices. My goal is to be able to stand up these environments as part of the testing process (rather than a pre-built environment that I hope never breaks). Besides having to manually change the network model type, I’ve had a ton of success using this project!

+1

I am in favor of this, even if it is not in the top of the list of the things I would spend my time on.
Before even accepting more "options" that change the schema, I am toying with the idea to add some hooks to the resources that would allow to set arbitrary values in the libvirt xml definition, that would help everyone with corner cases or custom configurations.
I was thinking something around the lines of:
libvirt_domain "foo" {
   # ....
   xml = {
      "//devices/nic[0]/model/@type" = "e1000"
  }
}

As a hook that would set the given xpath values before creating the actual resource and after the provider has its own version of the xml description done.
We would solve a much broader array of corner cases, even if we may choose to standardize some of these in the schema later, people would not need to wait and will have a workaround.
Let me think about it for some more time.

@ncsurfus we fixed it. Have look with latest release and doc on xslt.
https://github.com/dmacvicar/terraform-provider-libvirt/tree/master/examples/xslt.


[2.4.0, 1.19.4] Max chat history mixin error

Hey, after updating to 2.4.0 it's spitting out error about failing to inject onModifyMaxChatHistory.
I'm not really good at reading logs but I'm hoping that these might help figuring out what's going on: https://mclo.gs/aYX2IOk
I'm guessing it's some kind of mod-feature conflict.
Cheers!

It is conflicting with nochatreports mod. If you can play without it, try removing it

https://mclo.gs/VJw9CNL
Hey, thanks for the info. Disabling it didn't work, although it allowed me to see that tweakermore-mc1.19.4-v3.12.0.jar is responsible for the incompat. I will try tweaking TweakerMore config to disable some of it's functions and see if it works.
All of these mods seem to work fine along CheatUtils 2.4.0:

I hope this info helps!

Yes... it looks like tweakermore trying to increase chat limit as well. Disabling functions will not help, since mixins work before minecraft classes are loaded into memory.
The only thing I can do is to mark some (or all?) mixins as not required, preventing crash. In this case some modules may not work as expected.

If that would only "break" chat related modules then I don't mind that much. I just hope that won't create a wave of issues because "something isn't working" because of an incompatibility...
I appreciate your work and help in both creating the mod and resolving this issue!

I will not resolve this soon. I have to carefully check mixins one by one and mark some of them as non-required.
If you can build mod by yourself you can try edit zergatul.cheatutils.mixins.json file and set defaultRequire to 0.

That is no problem at all,
I would like to just say that I'm really grateful for how you are handling this issue and that I really appreciate your instructions!:)

Fallen Breath is trying to fix it on TweakerMore side: https://github.com/Fallen-Breath/tweakermore/commit/c68fda30b163f62d16c3f1c961a337983624e2d0
I'm not closing it yet as dev might want to keep this issue still open (or not, if so you can simply close it for me lol)
Cheers and thanks again for the help!<3

Ok. These conflicts are always annoying to fix.

Hey, I can confirm that it's both fixed on TweakerMore side and on CheatUtils side!:)
Thanks


add localization of upload modal

Implement #1550

@dokterbob should be straightforward. Once the two localization improvements are there, I'll add a Finnish localization.


Position Problems with Animation Test page

All shapes are been repositioned at the player. Can you tell me why this is happening?
Link: https://lottiefiles.github.io/jlottie/
Steps to reproduce:
1. Open the above link
2. Enter: https://assets5.lottiefiles.com/packages/lf20_ykcdxg7n.json

Expected: loads animation as https://lottiefiles.com/share/ykcdxg7n
Actual: https://drive.google.com/file/d/1yY0rrD3UitaC7m-7_0Bkq7BtNTLwgIhl/view?usp=sharing

There are two methods to describing bezier curves for describing translations in Lottie JSON. jLottie currently supports the more prevalent of the two.
We will be shortly pushing a version that also supports the less prominent bezier description syntax, which is the one being used to describe the translations in this particular Lottie animation.


Change package name address to myinsurec

Codecov Report
Base: 63.26% // Head: 63.26% // No change to project coverage :thumbsup:

Coverage data is based on head (3aee9f7) compared to base (aa27f0a).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #322   +/-   ##
=========================================
  Coverage     63.26%   63.26%
  Complexity      650      650
=========================================
  Files           112      112
  Lines          2273     2273
  Branches        266      266
=========================================
  Hits           1438     1438
  Misses          736      736
  Partials         99       99

Impacted Files
Coverage Δ

src/main/java/seedu/myinsurec/AppParameters.java
75.00% <ø> (ø)

src/main/java/seedu/myinsurec/Main.java
0.00% <ø> (ø)

src/main/java/seedu/myinsurec/MainApp.java
0.00% <ø> (ø)

...main/java/seedu/myinsurec/commons/core/Config.java
68.18% <ø> (ø)

...java/seedu/myinsurec/commons/core/GuiSettings.java
69.23% <ø> (ø)

.../java/seedu/myinsurec/commons/core/LogsCenter.java
78.37% <ø> (ø)

...in/java/seedu/myinsurec/commons/core/Messages.java
0.00% <ø> (ø)

...ain/java/seedu/myinsurec/commons/core/Version.java
82.50% <ø> (ø)

...java/seedu/myinsurec/commons/core/index/Index.java
100.00% <ø> (ø)

...ec/commons/exceptions/DataConversionException.java
100.00% <ø> (ø)

... and 102 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Maven Wrapper

The Maven Wrapper is an easy way to ensure a user of your Maven build has everything necessary to run your Maven build.
Let us add maven wrapper to our project and initialize it to use version 3.8.7

this has been added and merged into main from #68


Badger W: partial updates for clock

I was just looking through the Badger examples and thought the clock would look quite a lot nicer with some partial updates.
I've also slowed down the per-minute update to make it stick a bit better.

You know, I had totally forgotten that partial updates existed. It works really nicely, although the rest of the time does fade pretty quickly. It's almost a feature, though.
Thank you!


qastack.jp

Translated: https://qastack.jp/unix/305643/ntpd-vs-systemd-timesyncd-how-to-achieve-reliable-ntp-syncing
Original: https://unix.stackexchange.com/questions/305643/ntpd-vs-systemd-timesyncd-how-to-achieve-reliable-ntp-syncing

Has maintenance been abandoned?

Or do you only support stackoverflow.com?

#86

#86

I didn't accept that Pull requests as it won't work for 3 tier domains like qastack.in.th

Or do you only support stackoverflow.com?

@teruteru128 I am currently working on a plugin for rollup in my spare time for more convenient writing user scripts. I planned to rewrite "Back2stackoverflow" and fix at least half of issues when I polish that plugin.


APEXMALHAR-2566 Fixed NPE in FSWindowDataManager

Is it possible to come up with a unit test for this. Looks like the NPE happens only in some cases.

There are checkstyle errors, please see
[ERROR] src/main/java/org/apache/apex/malhar/lib/wal/FSWindowDataManager.java:[487,11] (whitespace) WhitespaceAround: WhitespaceAround: 'if' is not followed by whitespace.
[ERROR] src/main/java/org/apache/apex/malhar/lib/wal/FSWindowDataManager.java:[488] (indentation) Indentation: 'reader' have incorrect indentation level 11, expected level should be 12.
This looks like an edge case as this code generally works and doesn't error always. If it is an edge case and you are unable to come up with a unit test due to that reason, if there is no objection from others, I am ok to merge it without a unit test in this case.

I am not fully convinced that this is the right fix without a unit test. Looking at readNext() implementation, I would suspect that null is returned when the next record was not fully written or there is actually I/O problem. It is not clear, why is it OK to suppress I/O exception in readNext() instead of propagating it as retrieve() signature suggests. For the incomplete written record, it should be possible to create a unit test and see what should be the correct behavior.

@patilvikram can you respond to @vrozov comments


DaFONT site added

I made some errors and i fixed them dafont name updated is the correct commit

Ok. Do note for the future that you can edit open PRs without closing and opening new ones.

Thank you very much!
Regards

Thanks for your contribution!


Sanitize tag names in tags input

Previously, if a user created a tag like…
<script>alert('Hello World')</script>
<img src="https://example.org/ping" />

… that would actually get rendered. Thankfully, we have a very restrictive CSP in place that prevents execution of inline and third-party JS as well as loading third-party images. So while the markup would get rendered, no scripts and no images would actually be executed or loaded. Furthermore, only authenticated editors are able to assign and create tags.

Oh, and another thought I had, could we add some automated test for this?

Hey @mattwr18, thanks for paying attention! What happened here is that the tag name in its unsaved state (gray tag pill) has actually been escaped twice. I’ve pushed a fix.
Now it does sanitize all instances of the tag name correctly:
https://user-images.githubusercontent.com/1512805/201545689-92c461dd-76bc-4153-bb37-062263adfb06.mp4
Unsaved tag in input:

Saved tag in input:

Tag in autocomplete dropdown:

After I add the tag, but before saving, it appears to be sanitized, but after saving it does not. if I console.log the output of sanitize(tagData.name), it looks good, but what is displayed, what I can see in the dev console, and what is saved in the db are all unsanitized, it appears.

I think displaying the tag name just as the user typed it actually is the intended behavior here. The relevant part here is that it must not be treated as raw HTML.
Previously, a tag <script>...</script> would be inserted as literal HTML <script>...</script>. Now special chars like <,> etc. will be encoded properly and the HTML that is inserted will be something like <script>...</script>.
When the browser renders this, it will display the text "", but it will not actually create a script node in the document.

Oh, and another thought I had, could we add some automated test for this?

Unfortunately, I don’t think this is possible as the issue and fix exist in the client-side part of 100eyes.

so not 100% why it appears in my inspector as unsanitized, but as a sanity check I changed our content security policy to allow unsafe_inline and it does not execute the script, so even if we were to change that for some reason, I guess it is being sanitized properly.

I think the difference between actual HTML and properly encoded HTML markup can be a bit difficult to spot in the Firefox dev tools. But if you look closely, you can see that the actual HTML markup is highlighted and uses a brighter color, while the encoded HTML (that is interpreted as plain text) uses a muted text color.
This becomes clearer when you right-click on the text and select "Edit as HTML". This should show something like <script>.


Fixes UTF-8 issues when computing Hashes

I made a previous fix that got mixed up with someone @madchap 's fix for snyk reports , there should have been a merge conflict but it didn't happen ? This should fix it for both of us , I think .
Please submit your pull requests to the 'dev' branch.
When submitting a pull request, please make sure you have completed the following checklist:

[ ] Your code is flake8 compliant (DefectDojo's code isn't currently flake8 compliant, but we're trying to correct that.)
[ ] If this is a new feature and not a bug fix, you've included the proper documentation in the ReadTheDocs documentation folder. https://github.com/DefectDojo/Documentation/tree/master/docs or provide feature documentation in the PR.
[ ] Add applicable tests to the unit tests.

Redoing pull request properly from dev-> dev


Update mockplus.rb

Thank you for the contribution. It was merged directly as bc4cd94121c634b2041127e547186ab3c0ea6614 to keep commit history cleaner. Your contribution is still credited to you.


Improve support for "Platforms:" in LID file

This would avoid having to list all the platforms and would allow us to write the registry entry in the registry/generic/.  It's also nice for self-documenting purposes compared to "here's a list of platforms; you decide if it's complete".

We could also use a way to indicate that a platform doesn't support a specific platform. Ideas:
Platforms: -x86-win32

Antiplatforms: x86-win32

Platforms: not x86-win32

The specific syntax probably doesn't matter too much.


Add mediasdk sw decoder in OpenMAX IL

Tracked-On:
Signed-off-by: Chen, Tianmi<EMAIL_ADDRESS>

Expected syntax:
Commit message one-line summary
  Extra paragraphs can be added here.

  Longer description that explains the problem / solution
  or whatever that needs to be said

  It can contain
    multiple lines
    multiple paragraphs
    blank lines
    references

  But each paragraph must be followed by a blank line

  However, you need to keep the 'Tracked-On', 'Change-Id',
  'Signed-off-by', ..., fields in the **lastest** paragraph of
  the commit message.

  Change-Id: I9e58f79c7faf7f0edb9792e8b5322ab161331141
  Tracked-On: https://jira.server.ext/browse/PROJECTA-123
  Signed-off-by: Developer Name<EMAIL_ADDRESS>


Identity Brokering

Is it possible to implement Identity Brokering feature based on passport-saml?

Sorry, no one is monitoring this issue tracker to answer questions. You can review the code and decide for yourself.


#TE7 TC-TSTAT-2.1 and TC-TSTAT-2.2 fail because of a hardcoded feature map

Problem
TC-TSTAT-2.1 and TC-TSTAT-2.2 fail because of a hardcoded feature map and related pre attribute changed callback MatterThermostatClusterServerPreAttributeChangedCallback. With the current implementation if a device doesn't have the OccupiedCoolingSetpoint attribute all write commands fail.
Proposed Solution
Make implementation independent of feature map.

Feature map is only hard coded due to the incorrect implementation in generated code by ZAP of the feature map.  Once feature map is working correctly, the over ride in the code is simply commented out, and the feature map is then used as intended.

Putting the feature map problem aside the fix also breaks things if one doesn't play with the thermostat cluster implementation. The feature map problem is in many other clusters too and solving it this way doesn't improve the state of things. I made my above mentioned tests fail so that we can track this issue properly.

Attached are 2 log files for 2.1 and 2.2.  All cooling attributes and auto related attributes have been removed.
The Feature map was set to HEAT only.
Test scripts still attempt to acccess/mutate the cooling related attributes, which fail as expected.
The results are as expected.
I have verified with others on the SDK team that Feature Map is being used with it's intended purpose.
heat-only-2-1-log.txt
heat-only-2-2-log.txt
thermostat.zap.txt

I am just saying the implementation should have ignored checking feature map until it was supported properly.

TOT seems Feature Map seems to be working correctly, now.
I will re-test with the #define overide disabled in the thermostat-server.cpp file and if all OK will do a PR
Sorry for any confusion.


I should've asked this before my previous achievement question

What is your question?
I did what I had to do last time. The achievement wouldn't work. Now I'm assuming it doesn't work because I went in assuming I knew how to do achievements. So, how do I add achievements?

Here is a tutorial of how to add custom achivements
https://youtu.be/Gf9y0PNOrqk


Use GPT4 Vision

Hi!
Anyone have idea how to convert it to use GPT4 Vision that allow handle photo and video?
Thanks,

It's already setup to work with GPT4-Vision. Just upload the image using the image button.


FontAwesome escaped inside

Hi,
First of all, thank you for the great library,
If I make a Text-component in which I want to use a FontAwesome icon in this manner:
const text = <Text
            x={10}
            y={10}
            fontFamily="FontAwesome"
            fill="#000"
            text="\uf002"
        />;

the backslash in the text gets escaped automatically (to \\uf002). As a similar use case is displayed in standard Konva, I suppose this should also work in React-Konva.
Best regards

Pass text as javascript string and it will work just fine:
class App extends React.Component {
    componentDidMount() {
      // force redraw after a timeout
      // to make sure that the font is loaded
      // setTimeout is just for demo
      // it is better to use some font observer
      setTimeout(() => {
        this.layer.draw();
      }, 2000);
    }
    render() {
    return (
      <Stage width={700} height={700}>
        <Layer ref={node => this.layer = node}>
            <Text
            x={10}
            y={50}
            fontFamily="FontAwesome"
            text={'\uf063'}
            fill="black"
        />
        </Layer>
      </Stage>
    );
    }
}

Demo: http://jsbin.com/tipedewebi/1/edit?html,js,output
Also, make sure your font is loaded when you want to draw a text. (just redraw stage when font is loaded).

So this is very awesome, but I've been having a couple of problems:
. I'm having problems getting the "pro" Duotone font styles.
. Using setFontStyle to change the font weight, which should change the font style, but it's not working.
Here you can see that the font styles "Solid", "Regular", "Like" are used to select different icon styles.
Here's the code I use to create the icon: ' '\uf005' is FontAwesome's "star", and '900' (or 900) should get me the Duotone star.
      let overlay_icon_star = new Konva.Text({id: 'overlay_icon_star_' + photograph_index.toString(),                                                x: overlay_icon_star_x,                                                y: overlay_icon_y,                                                text: '\uf005',                                                fontSize: 16,                                                fontFamily: '"FontAwesome"',                                                fontStyle: '900',                                                fill: '#3097d1',                                                opacity: 0,                                                align: 'center',                                                verticalAlign: 'middle',                                                height: overlay_icon_group_height,                                                width: overlay_icon_width                                                });
I don't get a duotone start, I just get an outline star.
In an "onClick" method, I'll do this:
...   event.target.setFontStyle('400');  stage.draw(); ...
To get a solid or outline star, but it never changes.
On the same page as the canvas, I refer to other duotone icons using <i ... > and they work perfectly.
So, to sum up:
. I can't figure out how to access "pro" icons from Konva.
. I can't seem to influence which icon style is used by using setIconStyle to set the icon weight.
How can I figure this out?

Can you make a demo of your issue?

Yes, let me do some more debugging and upgrade to V7.


feat: glyph_switch.svg

closes  #31

I don't read this symbol as "browser redirect". I realize this isn't the most productive PR to have this conversation in, but I've not had a moment to raise my concerns

@olizilla I did not ship anything with this icon yet: https://github.com/ipfs-shipyard/ipfs-companion/issues/647 is a good place to discuss the UX of "redirect toggle icon".

This icon ended up being replaced by a toggle in https://github.com/ipfs-shipyard/ipfs-companion/pull/687#issuecomment-469472997 so I'm gonna close it out. We can revive it if future iconographers need it.


correct the typo

correct the typo for setup the hardware.

berk will correct it with his PR, so withdraw this PR


[Feature][Connector-V2] oracle connector

Search before asking

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

Description
v2 connector for oracle
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

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

Code of Conduct

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

#1946


The mute, deafen, and settings icon are too low and too small, causing them to clip under the taskbar

fixed


[Feature Suggestion] Webhooks for automation

I would like to suggest and ask for guidance on where to start looking for implementing webhooks, the idea is to push automated messages like this api.backend.com/?num=xxxxxxxx&action=quickreply1 we can also use the same to activate quick replies from the frontend as well.

I would like to suggest and ask for guidance on where to start looking for implementing webhooks, the idea is to push automated messages like this api.backend.com/?num=xxxxxxxx&action=quickreply1 we can also use the same to activate quick replies from the frontend as well.

@deepesh-agarwal Really nice suggestion, that will be very very useful so that we could perform actions via http request.
I tried out https://github.com/pranavms13/whatsapp-node-api and it worked pretty well.
But im not using it in real environment/situation, im using Whaticket instead because Whaticket have more cool features in my opinion.
Would be awesome to have webhooks in Whaticket in the future!

@deepesh-agarwal i implemented an Webhook API, but need people to test it out, if you wish you can test it, the files that changed are just the wbotMessageListener.ts, i tested in my machine and it all works good.

@deepesh-agarwal i implemented an Webhook API, but need people to test it out, if you wish you can test it, the files that changed are just the wbotMessageListener.ts, i tested in my machine and it all works good.

@deepesh-agarwal i've just implemented an Webhook API, take a look and see if it works for you, the files that changed are just the wbotMessageListener.ts, i tested in my machine and it all works good.

@deepesh-agarwal i've just implemented an Webhook API, take a look and see if it works for you, the files that changed are just the wbotMessageListener.ts, i tested in my machine and it all works good.

please tell me how it works..

Ola, essa função foi implementada?

Ola, essa função foi implementada?

@esteves67 I have the same doubt. Could you confirm please? And in what way is it used? From already thank you very much

Ola, essa função foi implementada?

@esteves67 I have the same doubt. Could you confirm please? And in what way is it used? From already thank you very much

https://github.com/canove/whaticket/pull/103/files
I got it, this link contains the working file..
put it in the backend/src/services/WbotServices/ folder and then run the npm run build command

npm run build..
error


switch to the Nexus model

the new design in #33 is now at least prototyped on trunk, so let's get to implementing

[x] initial implementation #35
[x] #37
[x] #38
[ ] #39
[x] #40

This should be a project or a milestone


Safari compatibility/Performance

Dear Peter,
after all this time I finally have a case where I can make really good use of your venerable workspacer extension! Thanks for this :)
I’m not sure if you are interested in further development of it, but still I wanted to share an issue I found regarding usage in Safari 16.4. When trying to type anything into the editor the text is apparently added after the code-area element and so it turns up next to the Sava as button:

An easy workaround of course is not to use Safari, since the editor works fine in Chrome and Firefox. I’m still curious why this happens though.

Another issue is that it takes quite some time to load the workspacer environment if the number of files is rather large. In my specific case there is a folder containing roughly 9.500 files and it takes about a minute to load. I tried implementing the possibility to exclude certain folders, but my programming still were not sufficient …

I had a brief look at the code and did not manage to see what was going wrong with the editor. It would help if I could run Safari on my computer, but my computer isn't a Mac.
I am now thinking about how to redesign Workspacer so that large numbers of files will not slow down the page loading.

Thanks Peter! It’s no big deal, only a minor annoyance, since it’s obviously easy to switch browsers.
Better performance would be nice though, but that is also just a matter of comfortability, so please don’t put too much effort in it.

Update regarding performance: I now have the same installation running on a proper server and it’s loading the same ammount of files almost instantly. ;) So it might just be a performance problem with local development setups or certain types of servers.

I have added the option to exclude directories in the preferences. The editor still has bugs to fix.

Brilliant, thanks!


libretro: add mGBA core

Motivation for this change
This adds the mGBA retroarch port as a core to libretro.
CC @edwtjo, @MP2E
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I fixed the merge conflict via the github web interface mainly to test it out, feel free to overwrite with a force push, if you prefer :)

Oh, thats an awesome new feature :) I have cherry-picked & rebased all changes directly onto master to keep the history clean.


Grammar fixes

Summary

Test plan

Codecov Report

Merging #6936 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #6936   +/-   ##
=======================================
  Coverage   66.97%   66.97%
=======================================
  Files         250      250
  Lines       10379    10379
  Branches        4        3    -1
=======================================
  Hits         6951     6951
  Misses       3427     3427
  Partials        1        1

Continue to review full report at Codecov.

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


Migrate to gh-actions: Fix linting and deployment issues

@ctralie  I've tagged you to keep you in the loop.  I'm trying to migrate to gh-actions for our CI/CD and actually set it up to automatically deploy. This repo will be the test bed and once the system is all working, I'll port the changes to the other repos.
You'll probably see a number of rapid fire PRs in this repo to facilitate the testing.


mock Episode tables

drug_era, condition_era, episode ...
There are codes to generate drug_era and condition_era tables we could try to reproduce them

episode are not currently populated in CPRD gold.


production

Proposed changes
https://github.com/cloudflare/cloudflare-docs/issues/new?assignees=&labels=documentation%2Ccontent%3Anew&projects=&template=content.add.yml
Subject Matter
hacking
Content Location
sqlmap
Additional information
payment informations

very good


Expose interceptor callbacks and custom operation name for extension classes

Hi,
the baggage naming was just arbitrary, you're right that the name should be better.
My motivation is to provide a way to add more information on the span and then transport it to the eventual child spans (on the other side of the wire) if needed.
The original motivation for this PR was to expose the operationName, which is hard to override otherwise (e.g. if i register another interceptor)

My motivation is to provide a way to add more information on the span and then transport it to the eventual child spans (on the other side of the wire) if needed.

Baggage is not a facility that should be abused, and it's definitely not a mechanism for passing parameters to downstream calls. So what is the actual use case / example?

the example is if someone wants to add the Tags.COMPONENT, or set/override any of the Tags.* that were already set.
as i mentioned, these are OK to be modified by another RequestInterceptor, however my main goal for the PR is to get the operationName extensible

Do you mind adding some documentation?

javadoc comments for the new methods explaining when they are called and giving an example of the extra data each method can add to the span (e.g. where would you get operation name?)
a Custom Extensions section to the README showing how extensions can be done

Otherwise LGTM.

(yay)
Thanks!


File returned by io3d.storage.export* API scale is wrong

The furniture piece Tabano (productResourceId: 0b35a7a1-1251-4652-bfdb-62375558db99) displays ok in archilogic and a-frame, but when exported is at the wrong scale
Steps to reproduce:
io3d.furniture
  .get('0b35a7a1-1251-4652-bfdb-62375558db99')
  .then(x => x.info.data3dStorageId)
  .then(io3d.storage.exportDae)
  .then(io3d.utils.processing.whenDone)
  .then(console.log)
// 535e624259ee6b0200000484/processing/2017-11-28_17-34-19_OBcHg4/2017-11-23_22-27-15_HVGQBc.zip
// => open file in 3d editor

The result is the same with io3d.storage.exportObj
This was fun to stumble on in AR :D

Can you attach the exported file. Thanks

My bad. Saw file key now. Does it only happen with this piece?

No there are also others
this is the buffer file
https://spaces.archilogic.com/3d/template/new?file=/535e624259ee6b0200000484/2017-11-23_22-27_9kuARm/2017-11-23_22-27-15_HVGQBc.gz.data3d.buffer&mode=sdk
scale seems to be ignored on conversion
		"mesh_0": {
			"position": [0,0,0],
			"rotDeg": [0,0,0],
			"rotRad": [0,0,0],
			"scale": [0.1,0.1,0.1],

                  }

There are other models like this one, curiously either with a scale of [0.1, 0.1, 0.1] or [0.9, 0.9, 0.9] (the latter is more subtle and harder to catch visually). All of them are Data3D meshes (parts of a mesh really) under the name 'SimplygonMaterial':

The viewer loads these correctly as well (different code base, editor & A-Frame share the same loading code), but these scales may throw off a bunch of people in the future.

it seems to be an importer problem, if youagree, can we reopen this issue in https://github.com/archilogic-com/data3d-blender-io
would be a great issue for open source contributions as well

https://github.com/archilogic-com/data3d-blender-io/issues/12
I think it would be good to leave this issue open here, for visibility, until export* is behaving as expected from a users perspective. As @stavros-papadopoulos mentioned it's really easy to get tripped up with scale:[0.9, 0.9,0.9],
Happy to help with testing or identifying the affected pieces :D

thx for moving forward with this.
just in case you need a list of all furniture with scale factor other then 1 in their mesh data - i could do that using this script: https://github.com/archilogic-com/migrate-furniture (it parses data3d of furniture assets in bulk)

related to https://github.com/archilogic-com/data3d-blender-io/issues/12

This is resolved 🎉


Remove MultiTenantUserAdminService

Description:
Currently there is an admin service which  is used the get roles of the user. This treats the super-tenant differently and it allow the super-tenant admin to get the roles of the users of other tenant. However this shouldn't be allowed and this deviates from the current APIM design. Hence need to remove this. This issue is not affecting any of the GA versions. Only the wum updated packs has this issue.
Suggested Labels:
Bug
Suggested Assignees:
N/A
Affected Product Version: WUM updated APIM 2.1.0
OS, DB, other environment details and versions:     N/A
Steps to reproduce:
N/A. This is an internal implementation details
Related Issues:
N/A

This was fixed with the commit and relevant WUM update was sent. Hence closed.


[0.23]  Bumping to serverless 1.15

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>As per title

/lgtm


Issue with automated phinx execution

I am executing Phinx through an NPM script:
  "scripts": {
    "bower": "bower --allow-root",
    "compile": "webpack --config ./app/System/Config/webpack.js",
    "phinx": "php php_modules/bin/phinx --configuration=app/System/Config/phinx.php",
    "dbtool": "php util/dbtool.php",
    "artisan": "php util/artisan",
    "shell": "php util/artisan tinker",
    "start": "node app/bootstrap/main.js"
  },

When I just want to use the list command, I get an exception, that --configuration is not supported. Could you fix that somehow?

Sure ...
  "scripts": {
    "bower": "bower --allow-root",
    "compile": "webpack --config ./app/System/Config/webpack.js",
    "phinx": "php php_modules/bin/phinx list",
    "dbtool": "php util/dbtool.php",
    "artisan": "php util/artisan",
    "shell": "php util/artisan tinker",
    "start": "node app/bootstrap/main.js"
  },

That is not what i meant.
When using the list command, and having the config flag still in, causes an exception.
Is there a way to make Phinx accept the config flag when running the list command?

Why are you putting the option in at all? Nearly every program throws an exception/dies for an unrequired option. Even DOS! Symfony console (the underlying tech that does the validation) is acting consistently and appropriately.

I agree, this isn't a phinx problem.


How to install?

https://github.com/hanya/MRI/wiki/Installation says: "Install MRI extension package using Extension Manager from Tools - Extension Manager entry of main menu bar."
So I open LO, and go to Tools | Extension Manager and search for MRI and click on it, and it says only: "Install Instructions, Fill in the install instructions".  Hun?
Furthermore, the LO Tools | Extension manager | Help  button is not working.  (https://bugs.documentfoundation.org/show_bug.cgi?id=104404).
So to help the next guy, here are two links to LO Extension Installation instructions:

https://wiki.documentfoundation.org/Documentation/HowTo/install_extension
https://www.libreoffice.org/assets/Uploads/EN-Documents/Installingextensions.odt

Download extension package and install through Tools - Extension Manager. You have to choose the OXT package you have downloaded on the manager window.

Thanks.  I noticed I could update the wiki here, so I did.  And thanks for MRI, it look like just what I was looking for!  My hat is off to you for creating it.


Missing extensibility points for Build

Hello, the next extensibility point is completely missing from this page. Your documentation is in a horrible state!
"type": "ms.vss-build-web.build-results-tab",
"targets": [
"ms.vss-build-web.build-results-view"
],

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

ID: 56437af3-75da-d219-5364-9b7927298ece
Version Independent ID: ca01655a-9195-cf92-14b4-77ef66053dcf
Content: Extension Points - Azure DevOps
Content Source: docs/extend/reference/targets/overview.md
Product: devops
Technology: devops-ecosystem
GitHub Login: @chcomley
Microsoft Alias: chcomley

Hi @karelkral, Yes, we agree that our documentation needs a major facelift. We'll be addressing this in the coming months, so stay tuned. Thank you for your feedback, we appreciate it.

This article's been archived. I've added a redirect to the Contributions overview and you can find more up-to-date development information here: https://azdevinternal.azureedge.net/. Thanks for your feedback, we appreciate it.

@chcomley So to this time we had incomplete documentation of extensibility points and now we do not have documentation of extensibility points at all. The original article was archived and I cannot find an equivalent in your links. I am not a Microsoft employee and I do not have access to any of Work items of  https://azdevinternal.azureedge.net/, no access to the linked repository https://github.com/Microsoft/azure-devops-ui.
Please fix it!


Sidekiq: identify culprit + drop Sidekiq 2

This change is

note to self, not sure if I should be clearing context/breadcrumb buffers


Fix that SA1404 does not support escaped identifiers

Because everyone uses Justific\u0061tion

:+1: Changes look good to me


MNIST example runtime crash

I am trying to run the MNIST example in a Colab but the kernel dies on line:
_, init_params = init_random_params((-1, 28 * 28))
Any ideas on how to start debugging this?

Thanks for flagging this.
Are you able to run examples/mnist_classifier.py directly in your terminal emulator (using python, without a colab)? That might give a better error message for us to work with.

Hmm, I'm getting a segfault when I import jax now. I installed using pip install --upgrade jax jaxlib into a python 3.6 venv. Are the binaries built for 3.7?
(py36torch04) Zafaralis-MacBook-Pro-2% python3 mnist_classifier.py
/Users/zaf/anaconda/envs/py36torch04/lib/python3.6/importlib/_bootstrap.py:205: RuntimeWarning: compiletime version 3.7 of module 'lapack' does not match runtime version 3.6
  return f(*args, **kwds)
Traceback (most recent call last):
  File "mnist_classifier.py", line 28, in <module>
    import jax.numpy as np
  File "/Users/zaf/anaconda/envs/py36torch04/lib/python3.6/site-packages/jax/__init__.py", line 18, in <module>
    import jax.numpy as np  # side-effecting import sets up operator overloads
  File "/Users/zaf/anaconda/envs/py36torch04/lib/python3.6/site-packages/jax/numpy/__init__.py", line 18, in <module>
    from . import linalg
  File "/Users/zaf/anaconda/envs/py36torch04/lib/python3.6/site-packages/jax/numpy/linalg.py", line 24, in <module>
    from .. import lax_linalg
  File "/Users/zaf/anaconda/envs/py36torch04/lib/python3.6/site-packages/jax/lax_linalg.py", line 31, in <module>
    from jaxlib import lapack
  File "jaxlib/lapack.pyx", line 72, in init lapack
  File "jaxlib/lapack.pyx", line 37, in lapack.register_cpu_custom_call_target
  File "/Users/zaf/anaconda/envs/py36torch04/lib/python3.6/site-packages/jaxlib/xla_client.py", line 1561, in register_cpu_custom_call_target
    c_api.RegisterCpuCustomCallTarget(name, fn)
UnboundLocalError: local variable 'name' referenced before assignment
[1]    9904 segmentation fault  python3 mnist_classifier.py

Btw this one that's given in the README works fine: https://colab.research.google.com/github/google/jax/blob/master/notebooks/neural_network_and_data_loading.ipynb#scrollTo=X2DnZo3iYj18


Only attempt to transpile QuantumCircuit in execute

Summary
This PR modifies execute to only attempt to transpile if the supplied experiments are QuantumCircuits.
Closes #2353.
Details and comments
This could not be tested as there is no mock result generating pulse backend. This should be added.

This check already exists in transpile().. it doesn't do anything if it receives Schedule(s). Is the check buggy? If so it should be fixed there.

Closed as #2353 was not a bug.


Autocompletion box opens everytime

On javascript file, after every character it appears suggestions from your plugin which is counter productive working like that. Even with a space triggers the box with all the suggestions

I didn't realize that. I have an idea why that happened.I will check it.

I am getting this too, but mostly with commas. Every time I have a comma it tries to autocomplete and then I end up with a lot of garbage because I'm trying to put in a new line.


Create demo site on gh-pages

:+1: When you do, ping me and I'll ad a demo link on my styleguide overview page


Automaticly closes after opening spotify, (v.0.3.0)

Runned it as admin, installed it with the .msi installer, and also with the exe. One time it just said Injecting in spotify....... and never injected, i waited a solid 15mins. And now nothing shows in console

What version of spotify do you have installed?

I have the same issue.
Version:
Spotify for Windows (64 bit)
<IP_ADDRESS>7.gcfbaa410

Could you paster the log from %APPDATA%\OpenByte\BurntSushi\BurntSushi.log here?

Could you paster the log from %APPDATA%\OpenByte\BurntSushi\BurntSushi.log here?
Interestingly it seems to be working fine now, I don't think I changed anything. Burnt Sushi doesn't close and ads seem to be blocked. here's the log anyway.

[INFO] BurntSushi v0.3.0
[INFO] Looking for Spotify...
[INFO] Found Spotify (PID=15128)
[INFO] Loading filter config...
[DEBUG] Looking for filter config according to cli args...
[DEBUG] Looking for filter config next to executable...
[DEBUG] Looking for filter config at 'D:\Firefox Downloads\filter.toml'
[DEBUG] Loading default filter config...
[INFO] Preparing blocker...
[DEBUG] Looking for blocker according to cli args...
[DEBUG] Looking for blocker next to executable...
[DEBUG] Looking for blocker at 'D:\Firefox Downloads\BurntSushiBlocker_x64.dll'
[DEBUG] Looking for existing blocker in temporary directory...
[DEBUG] Looking for blocker at 'C:\Users\PCName\AppData\Local\OpenByteDev\BurntSushi v0.3.0\BurntSushiBlocker_x64.dll'
[DEBUG] Found blocker at 'C:\Users\PCName\AppData\Local\OpenByteDev\BurntSushi v0.3.0\BurntSushiBlocker_x64.dll'
[INFO] Injecting blocker...
[DEBUG] Starting RPC...
[INFO] Blocker up and running!
[INFO] Connected to <IP_ADDRESS>:49330
[INFO] No new release found

Do you still have the same issue @Hoomaaaan ?

same issue here.
( I tried both msi and exe )
Spotify latest version
It seems unstable, Sometimes spotify is not even running,
I run burntsushi and few seconds later crashes.  sometimes runs OK !
Isn't it a good idea to make this app a Service on Windows? that way if it crashes, ti runs backs again automatically.

Can confirm this issue persists.

same issue here. ( I tried both msi and exe ) Spotify latest version
It seems unstable, Sometimes spotify is not even running, I run burntsushi and few seconds later crashes. sometimes runs OK !
Isn't it a good idea to make this app a Service on Windows? that way if it crashes, ti runs backs again automatically.

@testdev123456 might want to consider this?
http://nssm.cc/
Basically turns any exe into a service - seems to be working perfectly. Unfortunately I don't have access to the console but I don't mind that for now.

Hi, I've been having the same issue!  It worked for me until recently ive found it ending task by itself.  Idk how to fix this, and I've tried uninstalling and reinstalling, but to no avail.


Better: raise AuthentificationError on code 124

Sadly the authentication error doesn't follow the error code spec https://marketplace.zoom.us/docs/api-reference/error-definitions
The returned hash is:
=> {"code"=>124, "message"=>"Invalid access token."}

I refactored the code to take this into account and re enabled the spec for this part of the code

Done. Thanks for the review :)


TExp SimplifySrc Incorrect

Commented out, more textures begin to show. Likely producing an incorrect result.
Given this just prevents tev bloat, and the other simplify functions seem to reduce the size by half as is, likely non-issue for now.

Validated it actually was correct.


[Feature request] Nostr integration

Nostr become more and more trending and is built to be Lightning Network compatible with the possibility to zaps any note or profile that configured an LN address.
Zeus and Mutiny wallets recently implemented a feature that allows to import contacts associated to a Nostr npub profile address. Having Nostr contacts in the wallet is a great way to make safe and easy LN payments associated to a contact and not only an address.
That would be awesome to have this feature in Phoenix wallet as well, what do you think about it ? =)
Thank you :)

We have plans to integrate some kind of friends list in the wallet, once we have BOLT12 / LN address (see https://lists.linuxfoundation.org/pipermail/lightning-dev/2023-November/004204.html), at which point it would be a great opportunity to investigate integration with Nostr.

A concrete, and practical example of what nostr can bring: a social graph that adds activity to Phoenix Wallet. Example via Mutiny Wallet
https://njump.me/note1ar5wu5s9cnu57hz96lvtcrplkyvjz5xa55jalxa42yl3wuvslz6qead9hy


Fix for uploading PII records without a middle name

LibFP expects blank values to be None, an empty string for any of the fields returns no name fingerprints. This is desired for "first_name" and "last_name" as both are required to create enough fingerprints to be useful. But "middle_name" should not be required.

Coverage remained the same at 83.605% when pulling 97fbfadb9502d548acc85285cf60967e227eca77 on development into 82d3f8957de65547d46afe25b98455d973617760 on master.


staging-next: another iteration

This might be the last iteration before forking 19.03, so let me /cc @lheckemann.

@FRidh: something seems wrong about python packages and their build inputs.  Many of them now fail to find things – in $PATH or includes or just dependency detection.  Most of new failures seem to be like that.

@vcunat this is because I set strictDeps = true; in buildPythonPackage. Many were fixed but not all. The remainder can be fixed on master.

I see, it should certainly help cross-compilation and probably clean up overall over longer term.  I'm not sure this period immediately before forking off stable is a good moment, as probably many fixes will need to be cherry-picked.

Python failure of jupyter/nbconvert is transient.

This won't magically be ready in the next hour, will it? :/ I guess we'll have to rebase it into the release branch after the fact. :(

I think this can go in. Aarch64 is currently broken, but that can be fixed up.

@vcunat @lheckemann how to proceed to get this into staging-19.03?

I've merged staging-next into both master and staging-19.03.


Possible problem with empty xml nodes

webservice returns this XML back
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <QueryCustomerResponse xmlns="http://tempuri.org/">
      <QueryCustomerResult xmlns:a="http://schemas.datacontract.org/2004/07/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:Accepted>true</a:Accepted>
        <a:Customer>
          <a:CITY>Markham</a:CITY>
          <a:ENHANCED_CAPABLE>N</a:ENHANCED_CAPABLE>
          <a:FIRST_NAME/>
          <a:LAST_DATETIME_MODIFIED>Aug 31 2015  6:55PM</a:LAST_DATETIME_MODIFIED>
          <a:LAST_DATETIME_MODIFIED_UNIXTIME>1441047313</a:LAST_DATETIME_MODIFIED_UNIXTIME>
          <a:LAST_NAME/>
          <a:OTHER_ADDRESS_INFO/>
          <a:PHONE_NUMBER>6479250483</a:PHONE_NUMBER>
          <a:POSTAL_CODE_ZIP>L6C2C6</a:POSTAL_CODE_ZIP>
          <a:PROVINCE_STATE>ON</a:PROVINCE_STATE>
          <a:STREET_NAME>Trail Ridge Lane</a:STREET_NAME>
          <a:STREET_NUMBER>1234</a:STREET_NUMBER>
          <a:SUITE_APT/>
          <a:VENDOR_CODE>273</a:VENDOR_CODE>
        </a:Customer>
        <a:Errors/>
        <a:VendorDumpURL i:nil="true"/>
      </QueryCustomerResult>
    </QueryCustomerResponse>
  </s:Body>
</s:Envelope>

This is what I see in result object:
{ QueryCustomerResult:
   { Accepted: 'true',
     Customer:
      { CITY: 'Markham',
        ENHANCED_CAPABLE: 'N',
        FIRST_NAME: {},
        LAST_DATETIME_MODIFIED: 'Aug 31 2015  6:55PM',
        LAST_DATETIME_MODIFIED_UNIXTIME: '1441047313',
        LAST_NAME: {},
        OTHER_ADDRESS_INFO: {},
        PHONE_NUMBER: '6479250483',
        POSTAL_CODE_ZIP: 'L6C2C6',
        PROVINCE_STATE: 'ON',
        STREET_NAME: 'Trail Ridge Lane',
        STREET_NUMBER: '1234',
        SUITE_APT: {},
        VENDOR_CODE: '273' },
     Errors: {} } }

You can see how <a:FIRST_NAME/> is transformed into {} empty object. I would assume it should be empty string or maybe undefined, but why an empty object ?

+1
It will be great if is possible to return null or emptystring instead of {}

@anvk @PetrSnobelt a PR to fix this behaviour is highly welcome :smiley: :+1:

@herom sure but what is an expected behavior? Should it be undefined or null or an empty string ?

I vote null.

I vote null as well.
Just of curiosity - is there any case when XML will produce an empty object? I think there is no such possibility (unless I'm wrong)

Not that I'm aware of.
On thinking about this further, it does seem that this is a breaking change for existing scripts that aren't used to null being returned.  Likely isn't that big of a migration path to the next version, but are we certain we really want null to be returned?  I also wonder if in some cases the presence of an element signifies something in existing APIs.

I also think null is better then empty object

but are we certain we really want null to be returned?

I'm pretty sure you do. Lots of consumers of this library would rather prefer to do a basic check to see if a property is falsy (or null) rather than importing an extra library to compare value to an empty object OR any other weird comparison implementation.

+1.  Let's take this up in #733


Client has not connected to the Neo4j server

Hi there, I'm using .Net 6.0 Neo4jClient 5.1.3
I've been trying to run my app in Docker. During creating images I've got the error in output:
Connection with the server breaks due to ExtendedSocketException: Name or service not known Please ensure that your database is listening on the correct host and port and that you have compatible encryption settings both on Neo4j server and driver. Note that the default encryption setting has changed in Neo4j 4.0.
Please, take a look at these configuration files. If someone knows where the issue is, please lemme know because, to tell the truth, I have no idea what is wrong here. I appreciate any help you can provide.
appsettings.json
{
  "Neo4jConfiguration": {
    "Uri": "bolt://localhost:7687",
    "UserName": "neo4j",
    "Password": "6C2coi7kwnyYb7hNmfyvYNkyhxB!"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Information"
    }
  },
  "AllowedHosts": "*"
}

docker-compose.yml
version: '3.4'

services:
  server:
    image: "webapi-image"
    network_mode: "bridge"
    ports:
      - "8080:80"
    build:
      context: .
      dockerfile: Dockerfile
    stdin_open: true
    tty: true
    environment:
      - CHOKIDAR_USEPOLLING=true
      - NEO4JCONFIGURATION__URI=bolt://neo4j:7687
    depends_on:
      - neo4j
  neo4j:
    image: "neo4j:latest"
    network_mode: "bridge"
    ports:
      - "7687:7687"
      - "7474:7474"
    volumes:
      - ./neo4j/data:/data
      - ./neo4j/logs:/logs
      - ./neo4j/import:/var/lib/neo4j/import
      - ./neo4j/plugins:/plugins
    environment:
      - NEO4J_AUTH=neo4j/6C2coi7kwnyYb7hNmfyvYNkyhxB!

I've already found the issues, to tell the truth there were several issues :) Now it works, maybe it'll be useful for someone who struggle with it as well.

We didn't await when connect to the client and in this case we lost main exception
Docker compose had wrong configuration
When I run docker compose the app starts before the neo4j and of course we couldn't create a client because neo4j wasn't ready

version: '3.4'

services:
  server:
    image: "webapi-image"
    ports:
      - "8080:80"
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      - NEO4JCONFIGURATION__URI=bolt://neo4j:7687
      - NEO4JCONFIGURATION__USERNAME=neo4j
      - NEO4JCONFIGURATION__PASSWORD=6C2coi7kwnyYb7hNmfyvYNkyhxB!
    depends_on:
      neo4j:
        condition: service_healthy
  neo4j:
    image: "neo4j:3.5"
    ports:
      - "7687:7687"
      - "7474:7474"
    volumes:
      - ./neo4j/data:/data
      - ./neo4j/logs:/logs
      - ./neo4j/import:/var/lib/neo4j/import
      - ./neo4j/plugins:/plugins
    environment:
      - NEO4J_AUTH=neo4j/6C2coi7kwnyYb7hNmfyvYNkyhxB!
    healthcheck:
      test: wget http://localhost:7474 || exit 1
      interval: 1s
      timeout: 10s
      retries: 10
      start_period: 3s

Hi @Shishkovskiy good to see you got it working. Just in case you didn't notice, your neo4j password is in the code fragment.
Change your neo4j password if this was the real password.
Cheers,
Ron


Zappa is not PEP-8 compliant

being PEP-8 compliant improves code readability a lot.
what do you think?
I can tackle this one.

How do you mean?
I don't approve of PEP-8 zealotry, in fact, in the name of code readability. I will absolutely accept PRs that make code more readable!. However, PEP-8 compliance is not a design goal of Zappa.
Closing this issue accordingly, but please do feel free to improve the code readability if you can.

well, at least wrapping the code to a line length that avoids the need of horizontal scroll.
what do you think?

That is generally okay, yes.


Use ct_nw_xx/ct_tp_xx in NetworkPolicy to help collect metrics

Describe what you are trying to solve
The NetworkPolicy is implemented using conjunction in Antrea, and the currently only the first packet is strictly matched in the conjunctions, while all the related and reply packets in any established connections are allowed using a high-priority flow entry with the match condition "ct_state=+est". This design can reduce the matching times, but make the metircs for a single NP rule(conjunction) difficult to collect.
Describe the solution you have in mind
Use the conntrack original direction tuple instead in the conjunctive match flows and remove the high-priority rule with match "ct_state=+est", then all the packets in the same connection could match the same conjunction rule.
Describe how your solution impacts user flows
With ct_nw_xx/ct_tp_xx, the count of conjunctive match flows is doubled in egress/ingress rule table. As we need flows with ct_state="+new+trk" and ct_state="+est+trk" for every item in the original direction tuple.
Limited by OVS, the ct_nw_xx/ct_tp_xx require a match to a valid connection tracking state as a prerequisite. And "valid connection tracking states"  include ct_state=+new, ct_state=+est, ct_state=+rel, and ct_state=+trk-inv.
Describe the main design/architecture of your solution
To be compatible with current NP design, the new flows in the egress/ingress rule table should look like:
table=50,ip,priority=200,conj_id=1,actions=goto_table:70
table=50,ip,priority=200,ct_state=+new+trk,ct_nw_src=<IP_ADDRESS>,actions=conjunction(1, 1/3)
table=50,ip,priority=200,ct_state=+est+trk,ct_nw_src=<IP_ADDRESS>,actions=conjunction(1, 1/3)
table=50,ip,priority=200,ct_state=+new+trk,ct_nw_dst=<IP_ADDRESS>,actions=conjunction(1,2/3)
table=50,ip,priority=200,ct_state=+est+trk,ct_nw_dst=<IP_ADDRESS>,actions=conjunction(1,2/3)
table=50,ip,priority=200,ct_state=+new+trk,ct_nw_proto=6,ct_tp_dst=8080,actions=conjunction(1,3/3)
table=50,ip,priority=200,ct_state=+est+trk,ct_nw_proto=6,ct_tp_dst=8080,actions=conjunction(1,3/3)

Test plan
Describe what kind of tests you plan on adding to exercise your changes.
Alternative solution
If we don't care if the ct_state is new or established, we could use "ct_state=+trk-inv" instead, which is also a valid connection tracking state before matching ct_nw_xx/ct_tp_xx, and then we could keep the count of flow entries the same as current design.
Then the new flows should look like,
table=50,ip,priority=200,conj_id=1,actions=goto_table:70
table=50,ip,priority=200,ct_state=+trk-inv,ct_nw_src=<IP_ADDRESS>,actions=conjunction(1, 1/3)
table=50,ip,priority=200,ct_state=+trk-inv,ct_nw_dst=<IP_ADDRESS>,actions=conjunction(1,2/3)
table=50,ip,priority=200,ct_state=+trk-inv,ct_nw_proto=6,ct_tp_dst=8080,actions=conjunction(1,3/3)

Additional context
Any other relevant information.

@tnqn Are the above flows are what you expected for NP metrics? Besides, I would like to hear your thoughts about if we can use "ct_state=+trk-inv" in the new conjunctive match flows instead of "ct_state=+new" and "ct_state=+est".

@wenyingd Yes, that's my expectation, but I do have some questions on flow details.

The pipeline should have dropped invalid flows before NetworkPolicy tables, so we should skip "-inv" to save some computation?
I think we don't need to check "+new" and "+est" in conjunctive match flows as we only care about the counters of goto flows?
We should use 2 goto flows: one for "+new" and the other for "-new" to match distinguish first packets and following packets. Use same field "new" can generate less search tuples for performance consideration.

Then the flows should be:
table=50,ip,priority=200,ip,conj_id=1,ct_state=+new,actions=goto_table:70
table=50,ip,priority=200,ip,conj_id=1,ct_state=-new,actions=goto_table:70
table=50,ip,priority=200,ip,ct_nw_src=<IP_ADDRESS>,actions=conjunction(1,1/3)
table=50,ip,priority=200,ip,ct_nw_dst=<IP_ADDRESS>,actions=conjunction(1,2/3)
table=50,ip,priority=200,ip,ct_nw_proto=6,ct_tp_dst=8080,actions=conjunction(1,3/3)

@wenyingd Yes, that's my expectation, but I do have some questions on flow details.

The pipeline should have dropped invalid flows before NetworkPolicy tables, so we should skip "-inv" to save some computation?
I think we don't need to check "+new" and "+est" in conjunctive match flows as we only care about the counters of goto flows?
We should use 2 goto flows: one for "+new" and the other for "-new" to match distinguish first packets and following packets. Use same field "new" can generate less search tuples for performance consideration.

Then the flows should be:
table=50,ip,priority=200,ip,conj_id=1,ct_state=+new,actions=goto_table:70
table=50,ip,priority=200,ip,conj_id=1,ct_state=-new,actions=goto_table:70
table=50,ip,priority=200,ip,ct_nw_src=<IP_ADDRESS>,actions=conjunction(1,1/3)
table=50,ip,priority=200,ip,ct_nw_dst=<IP_ADDRESS>,actions=conjunction(1,2/3)
table=50,ip,priority=200,ip,ct_nw_proto=6,ct_tp_dst=8080,actions=conjunction(1,3/3)

@tnqn For "inv" packet, we have dropped the pakcets in ConntrackState table(31) , so there will be no such packets entering egress/ingress table.
According to OVS limitation, a "ct_state" match must be included in the same flow entry when using ct_nw_xx/ct_tp_xx as a prerequisite, otherwise OVS will returns error when installing the flow entry. So I'm afraid we can't construct your expected flows.
Besides, a valid ct_state accepted with ct_nw_xxx/ct_tp_xxx include "+new", "+est","+rpl", and "+trk-inv". So if you want a "-new", maybe we could use state "-new+trk-inv". But anyway the ct_state settings should be placed in the conjunctive match flows, but not in the conjunction action flow.
What do you think?

Got it, thanks for the explanation.
Then we could use ct_state=-inv+trk to match the first and following packets in conjunctive match flows? For example:
table=50,ip,priority=200,ip,conj_id=1,ct_state=+new,actions=goto_table:70
table=50,ip,priority=200,ip,conj_id=1,ct_state=-new,actions=goto_table:70
table=50,ip,priority=200,ip,ct_state=-inv+trk,ct_nw_src=<IP_ADDRESS>,actions=conjunction(1,1/3)
table=50,ip,priority=200,ip,ct_state=-inv+trk,ct_nw_dst=<IP_ADDRESS>,actions=conjunction(1,2/3)
table=50,ip,priority=200,ip,ct_state=-inv+trk,ct_nw_proto=6,ct_tp_dst=8080,actions=conjunction(1,3/3)

BTW, I saw you mentioned we can still use ofport as one clause? Could you explain how could it match reply packets with ofport?

It is my fault, I forget the reply packets. ofport can't be used for reply packets.

Hi,
Do you think it is worth breaking the following flow into two flows to capture stats in both directions separately? May be by using ofport match field.
table=50,ip,priority=200,ip,conj_id=1,ct_state=-new,actions=goto_table:70

Having an offline discussion with @tnqn about the requirement for the NP metrics, we need to collect sessions and packets for a single NP. "ct_state=+new, conj_id=1" is used to help collect the count of the sessions, while  the sumary of "+new" and "-new" is used to help collect total packets.
@srikartati could you help give more explaination about the motivation to split "ct_state=-new"?

@wenyingd  I can think of the following example where direction based stats could be useful. Let's say there is an egress network policy rule letting a k8s service to talk to an external IP CIDR.
Here fine-grained stats of how much traffic is coming into the service/cluster and going out of service/cluster would be useful I think as traffic can be asymmetric.

We also need to consider the impact on ClusterNetworkPolicy related rules.. because we share code in agents for the same and whether we want to/can do something similar for CNP as well.
Btw .. how does it have an impact on NP performance?
Another question is that we are also planning to log matched traffic based for a NetworkPolicy rule(for which logging is enabled). I don't think we want to log all packets that match the flow, but only the first packet match.. with this change i assume we won't be able to distinguish between first and consequent packets?
/cc @Dyanngg

Having some discussions with @tnqn and @weiqiangt , we plan to use a single table dedicated on collecting the metics for Egress rule, and another one for Ingress rule. If we have similar requirement for CNP, there should be another two tables for CNP Egress rules and CNP Ingress rules. And the current implementations for NetworkPolicy rule doesn't change.
Originally, we thought about using ct_nw_XX to represent each connection, then there should be the same count of flows as the rule table. As the requirement is to colect the metrics of a rule, but not the connection, we want to search for a substitution from conntrack. The adjusted plan is to allocate a different id for conjunction, and commit the id in the "ct_label" field. In the metrics collection table, we leverage the ct_label as the match condition.
As for the statistics for the first packet and the consequent packets, we still use the ct_state "+new" and "-new" to distinguish them.

Originally, we thought about using ct_nw_XX to represent each connection, then there should be the same count of flows as the rule table. As the requirement is to colect the metrics of a rule, but not the connection, we want to search for a substitution from conntrack. The adjusted plan is to allocate a different id for conjunction, and commit the id in the "ct_label" field. In the metrics collection table, we leverage the ct_label as the match condition.

Hi @wenyingd ,
ct_label would be good I think. However, I have couple of questions (more like clarification).

In ct_nw_XX methodology: As ct_nw_XX supports subnet masks, the resulting OVS flow count may not be same as the number of connections in conntrack table, but potentially lower right?
Why will metrics need separate tables? Is there any problem in using existing egress and ingress tables in the OVS pipeline?

Thanks.

Hi @wenyingd ,
ct_label would be good I think. However, I have couple of questions (more like clarification).

In ct_nw_XX methodology: As ct_nw_XX supports subnet masks, the resulting OVS flow count may not be same as the number of connections in conntrack table, but potentially lower right?
For ct_nw_XX, the subnet masks is controllable. If we want to keep the count the same as the connections, we could use 32 bit mask.

Why will metrics need separate tables? Is there any problem in using existing egress and ingress tables in the OVS pipeline?

We use a seperate table to collect the metircs because we don't want to change the NetworkPolicy function flows. So in the original function table,  we could still use a single flow with match condition "ct_state=-new+est" to allow all established connections. But this flow also causes we can't count the subsequent packets for each NetworkPolicy rule. But if we move the metrics collection to another table, we could not limit by the above flow.

Closing it as we have used ct_label to match reply packets.

Closing it as we have used ct_label to match reply packets.


Allow Not-Absolute Game Paths

I've run into an issue where an emulator I'm using uses the UUID of games to launch them, rather than the game files themselves, unfortunately ES doesn't like this and skips the entire platform as it thinks none of the files "exist". Here's a snippet from my gamelist.xml for the platform...
<game>
<path>d692a48b-6c62-5292-9173-bd2c52dce2a3</path>
<name>1000cc Turbo</name>
<desc>Get in the saddle and ride in this great motorbike racing game! Choose from a variety of powerful bikes (including Enduro and Road Bikes) and race against some extremely tough opponents! Ride as fast as you can to the sound of stirring biking music - but ride to w$
<publisher>Impressions</publisher>
<developer>Max Design</developer>
<releasedate>19900101T000000</releasedate>
<image>/mnt/store/Emulation/Assets/Commodore_Amiga/Box/1000cc Turbo.jpg</image>
<genre>Driving, Racing, Motorcycle, Street</genre>
<rating></rating>
<players></players>
</game>

So passing "d692a48b-6c62-5292-9173-bd2c52dce2a3" to the emulator would work fine, but ES skips over this game entry because it's not an actual file that exists. There needs to be some way to avoid ES performing checks on the paths, ideally I'd like to be able to tell ES never to check them as I generate all of them outside of ES itself and know they're right, it would also cut down on delays as I can imagine it takes a while to check all these when starting up.
I'm already using the "--gamelist-only" argument which doesn't help.

This seems to be where the check takes place. You can play around with removing it to see how it works
https://github.com/Aloshi/EmulationStation/blob/master/es-app/src/Gamelist.cpp#L117
A workaround might be to create the files in the gamelist folder so that it fools ES like:
grep "" gamelist.xml | sed -e 's/<.>(.)<.*>/\1/' | xargs touch

Good spot, basically we need an argument for the command line that basically lets you disable lines 117-128. Like "--trust-gamelist" or something.

I've played about with this a bit but I have a feeling it goes deeper than I first thought as I can't find a simple way around this (all my attempts have either resulted in ES failing to start or these games still not showing up).