Removing messagebox at the end of installation script.

Details
I have a use case for the CLI only mode for the FlareVM Installer. Unfortunately, whenever I run it, it tries to spawn a messagebox at the end of installation despite being in CLI mode. This is quite annoying. Would it be possible to either remove this or add an option to auto-ack that box?
https://github.com/mandiant/VM-Packages/blob/e8af7325958bb1a3f38f6f306c24a4fb2b74ef18/packages/installer.vm/tools/chocolateyinstall.ps1#L196C1-L245C1

@l33th4x0rjs can you elaborate why is this exactly a problem?
I would agree to remove this message box, even in the normal mode. I think you are not able to select information from the message box, which doesn't make it the best place to display log paths. 🤔  I suggested modifying the box in https://github.com/mandiant/VM-Packages/pull/690, but @mandiant/commando-vm had some concerns.
@mandiant/commando-vm  what are your thoughts about removing the message box in the CLI? what about removing it completely?

@l33th4x0rjs thanks for the detailed explanation! We have also started automating malware analysis VM builds (reason why we have introduced features like the CustomStartLayout recently, which means this is going to be a problem for as well.

Being able to get rid of any components that require a GUI when running the installer in CLI mode would be very useful for that reason. I think here you could just print the information usually contained in the dialog box to console instead?

I think this should work. @mandiant/commando-vm are you ok with removing the message box from the installer package?
Unrelated to this issue: @l33th4x0rjs could you provide some more details (maybe in a different issue in the flare-vm repo) about how you are implementing this automated builds. We could exchange some ideas and I wonder if it would be useful for the community to add an/some automated builds scripts to flare-vm (any thoughts would be appreciated).

Yeah I'm ok with that for sure. There is probably a nicer way to do it, I didnt anticipate the message box causing an issue.. When we rebuilt the Commando installer we added a -cli flag, maybe we could have that write a file to %VM_COMMON_DIR% and if we detect a CLI install we dont pop the box?

I will add that having the message box and playing that sound definitely adds to the user friendliness.. Before we had the message box we received a lot of issues and feedback about when the install was complete.

Ok, no worries. Thanks for sharing and for the improvements and ideas!

@l33th4xor1 out of curiosity are you doing anything to disable defender prior to the install?

Just found this issue after submitting my PR
Unlike other output using Write-Host, this $form.ShowDialog() is expecting a user to click the button before the powershell script can exit successfully. This is blocking unattended installation and image building in a full IAC/CICD environment.

@l33th4xor1 out of curiosity are you doing anything to disable defender prior to the install? That was one of my big hangups when it came to automating the cli unattended install

This worked for me
Uninstall-WindowsFeature -Name Windows-Defender
This requires a restart


cleanup/ipam: Remove hostscope-legacy IPAM option

To remove hostscope-legacy IPAM option
Fixes: #12974
Signed-off-by: Tam Mach<EMAIL_ADDRESS>cleanup/ipam: Remove hostscope-legacy IPAM option

TODO:

[x] Update docs
[ ] Test upgrade path

test-me-please

test-me-please

test-me-please

Jenkins jobs are completed successfully, force push to address review comments related to docs.

test-me-please

Failure seems related to https://github.com/cilium/cilium/issues/13056
20:17:43  Summarizing 1 Failure:
20:17:43
20:17:43  [Fail] K8sBandwidthTest Checks Bandwidth Rate-Limiting [It] Checks Pod to Pod bandwidth, geneve tunneling
20:17:43  /home/jenkins/workspace/Cilium-PR-K8s-1.12-net-next/src/github.com/cilium/cilium/test/k8sT/Bandwidth.go:142

The changes in the PR looks good to me. But I wonder with the changes in the PR we don't need any documentation related to hostscope IPAM as well?
Like removing - https://github.com/cilium/cilium/blob/master/Documentation/concepts/networking/ipam/hostscope.rst

Good catch, thanks a lot. Let me scan the docs one more time :monocle_face:

Force pull for docs update, full CI is not required

git diff
        deleted:    concepts/networking/ipam/hostscope.rst
        modified:   concepts/networking/ipam/index.rst

diff --git a/Documentation/concepts/networking/ipam/index.rst b/Documentation/concepts/networking/ipam/index.rst
index 32d770231..4bb72e55a 100644
--- a/Documentation/concepts/networking/ipam/index.rst
+++ b/Documentation/concepts/networking/ipam/index.rst
@@ -24,5 +24,4 @@ Cilium. Various IPAM modes are supported to meet the needs of different users:
    eni
    gke
    crd
-   hostscope
    deep_dive

test-me-please


Float ranges

Update the range generator function so it checks the input range and generates a random float or random integer based on the types of the input numbers.

With two integers, a random integer within range is returned
With a float and an integer, a random float within range is returned
With two floats, a random float within range is returned

Fixes #60

PR updated! I fixed all the rubocop warnings.


3.3.1 doesn't successfully do release

Upgraded to 3.3.1 and ran gh-release.  I received the initial info message and prompt to publish. I typed y but it didn't return the release URL.  The release doesn't show up on my Github, so I assume it wasn't successful.  I rollbacked to 3.3.0 and everything released as expected.

Tried on v8.11.4.

thanks for fixing this so quickly hyperteam


Broken link to Cipher Suite Order on README.md

README.md contains several suggestions for "Cipher Suite Order." One of them is entitled as "Steve Gibson's list." However, the link goes to Microsoft website (https://msdn.microsoft.com/library/windows/desktop/bb870930)--which, I assume, is not what you intended.
The link should be important, because other suggestion (Use IIS Crypto as a guide) is not terribly actionable. Unfortunately, you cannot copy the names from the tool, and re-typing them seems too error-prone.

Thank you for bringing this to my attention. It looks like I had the correct link in the Markdown source, but I didn't actually use it. I've fixed it in 9dd7c26.


Update at0.json

### neft tank and i will change more next week good luck synav or cry can you fix the rest if you can i will balance the game later

do it

it need neft


shouldi: rust: cargo-audit is rust version of safety

Reference: https://github.com/RustSec/cargo-audit
This is part of a larger effort to create a meta static analysis tool, shouldi.
To do that, we need to write functions which wrap various static analysers (similarly to how the safety and bandit operations work in the tutorial).
For the test for this operation, you'll need to figure out how to download a package from crates.io, then extract it to a temporary directory where the operation will be given as the path to scan. Make the operation run the cargo-audit, parse the output, and return a reasonable summary in a dict.
The download code was added here: https://github.com/intel/dffml/commit/e80878961372ad1ab8059e86b7eb146f0b217811
See https://github.com/intel/dffml/commit/b33798ca2acfda52c0e4aa20d4224305564b43f0#diff-5541e34e4e2a46f817ef0731c956a64a for example usage

Closed via #493


Error with 0.5.7

Hello,
Just updated to 0.5.7. On game startup I get this error:

Are you very sure you're on the newest Token-Mold version? (2.6.0)
cause i really really hoped to have fixed this... (after 2.6 me  and it seems no one else encountered it anymore)

Yes
I run FoundryVTT as admin:

!)("Z$§Z!")($Z
does it keep happening, even after reload?
does randomizing adjectives work for you?

Happens when I launch FVTT and the first time I enter the campaign.
Reloading the page while in game doesn't show the error message.

ok thanks
so its still the same error .. meh
i'll see what i can do, but i'm not really optimistic here - but in the end its good that it doesn't really affect the usage.

Ok that's weird. No more issue.
Might be a conflict with another package.
Sorry for the trouble!


Solution Planning - Brainstorming/Grooming

Herman and I will meet today to review the Mapping and flush out the details of the VBScript needs.

9/3/21 -

VBScript will be need for some transformations - Assigned to RickH
AthenaHealth standard file must be developed because this file from TCCH is non-standard - Assigned to Herman.
Need to test viability of using the NPPES NPI API - Assigned to Herman


论文后续有何改进的方向？

我有一个想法：可以先进行每帧的分析，选择动作幅度较大的帧作为关键帧，这种能否进一步优化网络？

Hi, @Elliot-hao ! Thank you for your focus!
It's a good idea and worth trying. But I believe you need to consider the following points carefully: (1) How to choose keyframes? What is the criterion? What is a big movement range? (2) How to make sure computational efficiency while using all frames to select keyframes?
Some citations listed in our paper may help you, especially the ones following the pipeline of Fig.1(b). We welcome your discussion at any time and hope we could create more valuable work together.


Support extract duration

What problem does this PR solve?
Issue Number: close #5636
Problem Summary:
What is changed and how it works?
Check List
Tests

[x] Unit test
[x] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/merge


Inconsistent _Attack and _Release methods in PolySynth and MonoSynth

Just realized that PolySynth and MonoSynth have inconsistent naming for the same API:

MonoSynth uses triggerAttack and triggerRelease
PolySynth uses noteAttack and noteRelease

I would recommend that we rename the MonoSynth methods to noteAttack and noteRelease, since these feel more intuitive (at least to me).
Happy to make the change if others agree. @therewasaguy @jvntf

Yes it would be nice to have consistent naming here so that mono/poly synths are interchangeable.
I like noteAttack, but we have been using triggerAttack/Release in p5.Envelope - let's stick with that?


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 09:12:29 on 2023.04.15
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 17630
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=17630

Problem has been resolved in 3m 0s at 09:15:29 on 2023.04.15
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 17630


server: proxy: improve modules api

This one improves the modularity of the old filters api (which renamed to modules API).
It allows external modules to register server channels in runtime (we need this for multi factor authentication system we're building), closing the connection and etc.
Also cleans the code a bit and removes the filters (modules) list from proxyConfig* struct, which wasn't the location for this list from the beginning.

@akallabeth your "nitpicking" is always welcome and helpful! I'll fix soon

@akallabeth anything else?


improving the README file

Hi!
I'd like to contribute by improving the README file. Could you please assign this issue to me? also add labels of gssoc-ext and hacktoberfest Thanks!

@adityakalburgi great idea! I’ll assign this issue to you

unfortunately im closing this issue because some one already done an PR,m fell free for contributing on some other features!


Graphicsmagick Integration

Dear all, may I suggest for the integration of Graphicsmagick and/or Imagemagick into mup?
I believe many Meteor apps deal with images and GM/IM are two of the most widely used softwares for image manipulation. It'll be great to have GM/IM installation option apart from phantom.

+1

+1

+1

I  like  it.

:+1:

Okay. We are on the track.
See: https://github.com/arunoda/meteor-up/tree/mupx#
With mupx you can choose which docker image to run as the meteor runtime.
Currently it uses MeteorD, but you can use extend it add anything you want.
This is a planned feature and will be implement soon.

@arunoda Is there an API for specifying the docker image?

We'll have it soon.
On Sat, May 9, 2015 at 7:41 AM Rhys Bartels-Waller<EMAIL_ADDRESS>wrote:

@arunoda https://github.com/arunoda Is there an API for specifying the
docker image?
—
Reply to this email directly or view it on GitHub
https://github.com/arunoda/meteor-up/issues/308#issuecomment-100411630.

+1

+1

ok, so how to install Graphicsmagick now ?

when you have a debian/ubuntu server: you log into the server via ssh and then install it via:
sudo apt-get install imagemagick

yes i did that, but this install gm/im to 'server' not to docker machine

same problem like @achtan. See also #635

Any News? Fighting since 8 hours :D

@mario589736. Yes, the approach you linked to worked for me. You can also add it manually using `docker exec -it containerName apt-get install graphicsmagick

+1...
docker exec -it containerName apt-get install graphicsmagick did not work for me.

You can install the package manualy (for now) :
sudo apt-get install imagemagick

Any word on this? I am trying to add ffmpeg.

+1; Nothing, including start.sh tweak worked for me while trying to install graphicsmagick. And all ways are quite hacky.

+1 hope that it will be available soon ;)

I think it might be possible in the new version being ported to kadirahq ?  They've added hooks and custom docker images both of which I think can help with that problem. This version is not being updated or accepting PRs any more.

@MasterJames do you have a link to the work being done porting? I'd love to get that custom image's!

@timbrandin The new meteor-up is here.

Thx // T

@bompi88 after installing graphicsmagick
run docker restart <containername>

Nothing worked above mentioned in my case so I end up using numtel:cfs-image-resize package. This package has no external dependency and it will work same as cfs:graphicsmagick.
Hope this will save your days.

Yeah, same here, I use Jimp and tried out Lwip. Though I was most successful with Jimp :) https://github.com/oliver-moran/jimp
https://github.com/EyalAr/lwip

This is all a huge pain. If you want to add a path env variable, or install graphicsmagick mupx is not flexible enough for an acceptable solution. There is mup that gives you the chance to add docker images. But I think you can only choose one. If you want to stay flexible, and you need to install server libraries in order to run your app, than It's really the best to do it plain https://www.digitalocean.com/community/tutorials/how-to-deploy-a-meteor-js-application-on-ubuntu-14-04-with-nginx.
It's really said that MUPX is not that flexible, because It would save you a lot of time :-(

Please use MUP (the development version) there you can add images. I had the same issue and was using MUPX. It was not possible to fix the graphicsmagick integration problem. I installed latest MUP and added an docker image. It worked like a charm. You can lookup many images over here https://hub.docker.com/. Hope that helped someone. Feel free to get in touch if you need more info.

I hope the man running hundreds of businesses at the same time @arunoda will find a moment to make mupx docker image aware :+1:


Eks go 1.16 CVE 2022 41716

Issue #, if available:
Description of changes:
Backport upstream Golang patch from source https://github.com/golang/go/commit/aba57b07721cac39b4b7cf70f8dfbf9e2e299187 to EKS Go 1.16 to fix CVE-2022-41716.
Update RPM Spec to incorporate patch into EKS Go 1.16
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/retest


fix: add guard for inner product

Related Issue(required)
https://github.com/autowarefoundation/autoware.universe/issues/255

Description(required)
This PR add the guard  for inner product when calculate angle differnce between ego car and lanelet. The detail is described in the issue.
Followed this solution

Review Procedure(required)

Related PR(optional)

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[x] Read commit-guidelines
[ ] Assign PR to reviewer

If you are adding new package following items are required:

[ ] Documentation with description of the package is available
[ ] A sample launch file and parameter file are available if the package contains executable nodes

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets

CI Checks

Build and test for PR / build-and-test-pr: Required to pass before the merge.
Build and test for PR / clang-tidy-pr: NOT required to pass before the merge. It is up to the reviewer(s). Found false positives? See the [guidelines][clang-tidy-guidelines].
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

Regarding the title, fix(lanelet_extension): add guard for inner product would be better to clarify the scope of change.

Also, you can write Resolves #255 instead of just #255 for automatically closing the issue after this PR is merged.
Please read this documentation for more details.
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword

Thnk you! I changed the title and description.
I will check the documentation you attached.

Thank you! (I'm sorry, I misspelled. :bow: )


[Chore] Create a Tutorial for the Dynamic Font Library

Why
To explain the process of creating a custom dynamic font capable application.
To allow other developers to follow in implementing their own custom dynamic font application.

Available to review on https://www.notion.so/nimblehq/Adding-Dynamic-Custom-Typing-to-your-iOS-Project-728bd13863964010b0c4bb9d3ae5a832

Blog posted on Nimble Website https://nimblehq.co/blog/ios-custom-dynamic-typing


PyEnvironment.Embeddable.pas Broken

Line 240 of ...
https://github.com/Embarcadero/PythonEnviroments/blob/main/src/Embeddable/PyEnvironment.Embeddable.pas
Is $ifdefed out for Windows
{$IFNDEF MSWINDOWS}
var
  LFiles: TArray<string>;
{$ENDIF}
begin

But is referenced on line 259 meaning it won't compile under Windows
(I was just trying a fresh install to write a guide)

@peardox nice catch. I will fix it. Thank you.


MAC address collisions

Hi,
if i recreate a container which is in two networks, portainer will save one MAC for both networks and creates duplicated MACs. I have to delete the stored MAC every time to prevent this. Docker will normally copy the last bits from the ip to the mac. If I am in two networks the last parts are not the same, so storing the mac makes no sense and creates collisions.
Can you implement an option to prevent Portainer to store the mac on recreation?
Greetings
Technical details:

Portainer version: 1.16.1
Target Docker version (the host/cluster you manage): 18.01.0-ce
Platform (windows/linux): Arch Linux
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer
Target Swarm version (if applicable): N/A
Browser: All

if i recreate a container which is in two networks

This is not possible at the moment (bug report #1491) so I'm not sure about how you're achieving this

Portainer will save one MAC for both networks and creates duplicated MACs

Here is a screenshot of a container created inside one network and joining another network post-creation:

As you can see, MAC addresses are different.

I've found an similar problem. If I duplicate an container and doesn't delete the MAC-Adress it is duplicated. A warning would be nice at this point (maybe also for the IP-Addresses and the Hostname)

I have the exact same problem, after troubleshooting packet loss inside the docket network I noticed that many of the containers had duplicate MAC addresses. I corrected the issue, but it happens again if I edit/recreate a container with Portainer

Have same issue, after restarting host, i get duplicated mac addresses
02:42:ac:12:00:02
bms_timur_modbus | <IP_ADDRESS>/16 | -   | 02:42:ac:12:00:06 | Leave Network
bms_timur_grafana | <IP_ADDRESS>/16 | -  | 02:42:ac:12:00:06 | Leave Network
bms_timur_influxdb | <IP_ADDRESS>/16 | - | 02:42:ac:12:00:05 | Leave Network
timur-proxy_nginx | <IP_ADDRESS>/16 | -  | 02:42:ac:12:00:02 | Leave Network
nginx-proxy  | <IP_ADDRESS>/16 | -       | 02:42:ac:12:00:02 <--- THIS IS DUP

I'm having the same issue as well. I've been getting a flood of duplicate mac addresses, and am not sure whether it's docker's fault or portainer's fault.
Thanks!

I haven't noticed this happening on individual containers created outside of a stack (or even outside of Portainer), but it happens frequently on a simple stack with just two containers.  Even after I "fix it" by setting one of the mac addresses explicitly to something different, after some time (haven't noticed how much), I'll see that both containers have reverted to the same mac address, 02:42:ac:11:00:33, and again cannot talk to each other.  I know this may not add much context for finding the issue, but it's at least another data point confirming that the issue exists.

This is an old thread, but did this ever get addressed? I just got bitten by the same issue, multiple duplicated mac addresses in Portainer. I don’t think Portainer should default to explicitly defining mac addresses in the Docker run command. It should let docker itself take care of that.

More issues today with duplicate MAC addresses. Here's what I think is the sequence that causes the problem.

Set up a series of Docker containers including Portainer from the command line.

This all behaves fine on restart as Docker allocates MAC addresses consecutively every time and ensures no collisions. Result -  happiness.

Now edit a container using Portainer. Portainer will allocate a fixed MAC address to it, there's no way to prevent this as far as I can see. The fixed address it will use is the one that Docker first allocated to it, so everything looks fine for now.

Restart the system. This is where the problem comes in. The container you edited in Portainer now has a fixed MAC address that's right in the middle of the range that Docker allocates automatically. Depending on the order that containers come up, Docker will happily allocate that same MAC address to another container. Result - misery.

I don't think Portainer should allocate fixed MAC addresses by default, it ought to be the other way round. If there is already an option for this, then my apologies, but I can't find it.

@lignumaqua this also has hit me. Your recent analysis in on spot, thanks for sharing & caring.

+1
I'm also seeing this behavior cause collisions.

I encountered this with a simple Duplicate action: Portainer creates a new container with a new name and new IP. It tries to save as much information as possible, including the MAC address. I then had two nearly identical containers with different IP addresses and names but sharing the same MAC address. This is not something anyone wants, ever.
Using the {{Duplicate/Edit}} button as Edit, it makes total sense to preserve absolutely everything, including the IP address and the MAC address. But when it's being used as Duplicate it should treat the MAC address the same as the IPv4 address: obtain/generate a new one.

It gets worse after some testing:
When using the function as Edit while there is free IP space "below" the original IP address of the container, the edited container will get the first free available IP, while retaining its original MAC address. When eventually a container is created that gets the original IP from the edited container, you get another MAC collision.
I think Portainer shouldn't even try to preserve the MAC address in either scenario (Duplicate or Edit). It could be nice to try to preserve the IP address when the action is intended as an Edit, but even then Docker would presumably generate the same original MAC address anyway, so forcing that shouldn't be necessary.

Agree with @FST777 here. I've run into the same issue. Docker calculates the MAC address based on the assigned IP address. imho Portainer should ignore the MAC address when a duplicate/edit action is performed, unless it's explicitly set (via a flag f.e.) to give some flexibility.

I'm not much of a JS developer, but I think this is due to #1907 by @deviantony, specifically this line.
I would propose changing that block to:
    if(Object.keys(d.NetworkSettings.Networks).length > 1) {
      var firstNetwork = d.NetworkSettings.Networks[Object.keys(d.NetworkSettings.Networks)[0]];
      $scope.config.NetworkingConfig.EndpointsConfig[$scope.config.HostConfig.NetworkMode] = firstNetwork;
      $scope.extraNetworks = angular.copy(d.NetworkSettings.Networks);
      delete $scope.extraNetworks[Object.keys(d.NetworkSettings.Networks)[0]];
    }
    $scope.formValues.MacAddress = d.Config.MacAddress;

Two changes there:

only do the multiple networks dance when there are multiple networks
retain the MAC address when it's explicitly set in the Docker config, otherwise let Docker generate one from the IP address

@deviantony What do you think about this approach?

@acortelyou we'll see if we can have a look integrating the fix into the next release for this one.
@itsconquest please add #2993 into our review list.

I am hitting this issue on containers within a single network as well. Could this fix be applied to all containers?

@lkraider thanks for the report. Are you able to open a bug report for this here so that I can link a PR that fixes this?
Cheers

This is still an issue

Re-opening for discussion.
@jes1417 I tested the PR that was released as part of v1.22.1 an confirmed it fixed the issue for that release. I have just had a quick attempt at reproducing the original bug and there was no issue.
What version of Portainer are you running and what are your reproduction steps?

@itsconquest I am on 1.23.2 currently but also experienced this issue on the version before. I cant really reproduce it as the container have been working for almost a year. I have about 8 of them in a docker network and I noticed I was getting errors that some of them couldn't communicate so I started looking into it and found that there were 4 containers with the same MAC, I think it happened after a reboot. I didn't think much of it and manually specified a new Mac and recreated the container and all was well again. This was a few weeks ago, then recently I was upgrading the server hardware which required a few reboots of the system and I noticed the errors again two of the containers had the same MAC address, I manually defined a new Mac and all was well again.

Be aware that the dynamic assignment of MAC addresses to containers is handled by Docker, not Portainer…
When starting a container on a network, the very first container on that network is assigned MAC address 02:42:ac:11:00:02 (the gateway for that network is assigned 01), and then subsequent containers are assigned an incremental number from there (03, 04, 05 etc).
If you statically assign a MAC address to a container, it should not be from the same MAC range that docker generates addresses from.
I think the issue here is that when we use the container edit feature, we are wanting to preserve the containers prior assigned MAC address, so statically assign that to the “new” container we spin up off the old one. This is all well and good, but when a host restarts, it seems docker doesn’t know about this static allocation and can lead to conflict. Ideally Docker should know that a container has been assigned a static MAC and therefore remove it from the pool (as it does with IPAM), however it seems this may not be the case.
I think the best course of action is to NEVER reuse the mac address when editing the container… this would mean the “new” container (because after all, there is no edit, we are simply automating a delete/recreate action), would get a new MAC address.

I'll have another look at this in the restart scenario, but it looks like it is not being preserved under normal use with a recreate, duplicate or edit

@jes1417 I haven't been able to reproduce this so I'll need some more info;

How are the affected containers deployed
Have you used the recreate & pull latest image functionality on them
Have you used the duplicate functionality on them
Have you used the edit functionality on them
Docker Swarm or Docker Standalone
Are you using a custom network(s)

I have just tested this, and i note that when editing an existing container, we are NOT preserving the IP address or MAC address previously assigned to the container. So this feature is not the cause of any conflicts.

note that if you had previously recreated the containers with an older version of Portainer, whereby we statically assigned the MAC address as part of the process, then this MAC would be saved in the containers config. This means that even after updating Portainer, those old containers would have a hard coded MAC.

@jes1417 I haven't been able to reproduce this so I'll need some more info;

How are the affected containers deployed

They were all deployed using the CLI on host

Have you used the recreate & pull latest image functionality on them

Yes many times

Have you used the duplicate functionality on them

No

Have you used the edit functionality on them

Yes I have edited them

Docker Swarm or Docker Standalone

Standalone

Are you using a custom network(s)

Yes they are all in a custom network
It's possible they had sticky Macs from a previous portainer version. I will check the configs and remove if I see them.

Looking at the network configuration in portainer does show Mac addresses populated which I never configured, so these must have been left over from a previous version. Which makes sense that I did not notice until after a reboot it the host as some containers were added to the network later on and managed with a never version of portainer, these containers didn't have Macs assigned and when docker dynamically set them sure to the reboot they collided.

some containers were added to the network later on and managed with a never version of portainer, these containers didn't have Macs assigned and when docker dynamically set them sure to the reboot they collided.

So just to confirm, this was the fault of old containers and you are no longer having collisions?

Yes that is correct

I'll close then as it sounds resolved.

Hello all!
I recently set up new Server with Docker and Portainer.
Docker 26.1.4 and Portainer BE 2.20.3 STS.
After docker service restarts, MACs are duplicated. I thought this was a docker issue ( https://github.com/moby/moby/issues/48082 ), but it seesm to turn out its not..? This issue here sounds like its the actual issue.
Rob explained the issue and possible causes here: https://github.com/moby/moby/issues/48082#issuecomment-2228713351
Could someone check if this is the case?
Thanks in advance!

No one? Cc @deviantony

ping

@Commifreak I just also run in the same situation. How did you resolve it?

I did not. I still always clear the mac address field when editing containers.

Maybe it gives the same MAC. But after restart docker there is no conflict. At least on my end.

I still wait for dev feedback on this
@yajith @deviantony

Same problem here. IMO this is still an issue as of today.

Hi there!
As explained here https://github.com/moby/moby/issues/48595#issuecomment-2398954695 there is no way for us to know if a MAC address has been provided by the user or by the Engine. So on duplicate we copy all the configs which may break in some cases.
We are monitoring this (specially tracking the outcomes of https://github.com/moby/moby/issues/48168 ) and unfortunately it's not an easy fix that we can do on our side.

Re-opening
Internal ref: BE-11322

Hiya. This happened to me twice.
Ive got circa 50+ containers running on a single docker host managed by Portainer.
The first time it happened after a couple of years of running the host and dozens of reboots. I havent had any manually set mac addresses at that point, everything was provisioned automatically. After one reboot docker assigned duplicate addresses to almost every of my containers, so almost all of them stopped working just out of the blue. Further reboots were not helping, so i have set manual mac address to each of the containers. That fixed the issue.
Yesterday it happened for a second time (three years and dozens of reboots, incl crashes since the first one). The docker host froze because of running out of memory. After restart, some of the new containers added since the first time (without manually assigned mac address) had same mac addresses as the containers which had mac address assigned manually previously.
Im not sure what is triggering this issue, but it's really bad as it can break the whole environment on a reboot and its hard to troubleshoot (even when checking mac addresses its hard to notice duplicates if having a lot of containers)

Huge problem. 6 servers with fresh docker and portainer fresh install. Containers installed manually not duplicated. Every 3-4 server reboot mac is duplicated.

Also experiencing this issue. Very intermittent and hard to diagnose network issues lead me here, confirmed I have multiple containers with the same MAC address.

I also have today this problem: multiple containers start with same MAC address.


Docs: Create a section Technical writing

Create different sections of technical writing
Add the list of resources to technical writing

Hi @motuncoded Can you explain more of what you intend to write on the different sections of technical writing?

I will be add a list of resources for beginners, intermediate and advanced sections. Here are some
Introduction to Technical Writing (Google)
Technical Writing for Beginners (freeCodeCamp)
How to Write Documentation (Write the Docs)
API documentation etc

Alright. You can go ahead with it.
I commend the fact that you’re creating issues for your contribution. That’s a good principle. Also, your style of writing the title is commendable.

Kindly add the hacktoberfest label to this issue


Full 2D (2d_hq) reads incorrectly calculated by is_high_quality function

As per your paper (http://www.gigasciencejournal.com/content/3/1/22 - "Full 2D reads are defined as having more or equal complement events than template events") I believe the following function should return True if the number of complement events is >= (as opposed to just >) the number of template events?
def is_high_quality(self):
  if self.get_complement_events_count() > self.get_template_events_count():
    return True
  else:
    return False

Yes, you are right!
Although this definition seems to be obsoleted by the more recent Metrichor workflows 'passing filter'.

Thanks, @nickloman :smile:
I'm not familiar with the new passing filter workflow? Are the details available on the MAP forums? I assume under the Metrichor user guide section?

Fixed

Details should be in MAP forum somewhere yep!

Thanks, @nickloman! Couldn't really see anything on the forum. Do you mean the Quality Filter option in the Metrichor agent?

Here's the relevant page:
https://wiki.nanoporetech.com/display/DS/Quality+Filtering+in+Basecaller+Workflows

+1


No args "thread 'main' panicked"

I have a chompfile.toml in an empty directory like this:
version = 0.1

[[task]]
  name = "svelte"
  template = "chomp:svelte"
  [task.args]
    indir = "src"
    outdir = "dist"

When I type "chp" on the command line (no args), I get the following panic:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/task.rs:1452:44
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

With RUST_BACKTRACE=1 I get the following:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/task.rs:1452:44
stack backtrace:
   0: rust_begin_unwind
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/panicking.rs:101:14
   2: core::panicking::panic
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/panicking.rs:50:5
   3: core::option::Option<T>::unwrap
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/option.rs:735:21
   4: chp::task::run::{{closure}}
             at /home/duane/tmp/chomp/src/task.rs:1452:20
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/future/mod.rs:80:19
   6: chp::main::{{closure}}
             at /home/duane/tmp/chomp/src/main.rs:105:14
   7: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/future/mod.rs:80:19
   8: tokio::park::thread::CachedParkThread::block_on::{{closure}}
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/park/thread.rs:263:54
   9: tokio::coop::with_budget::{{closure}}
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/coop.rs:106:9
  10: std::thread::local::LocalKey<T>::try_with
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/thread/local.rs:399:16
  11: std::thread::local::LocalKey<T>::with
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/thread/local.rs:375:9
  12: tokio::coop::with_budget
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/coop.rs:99:5
  13: tokio::coop::budget
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/coop.rs:76:5
  14: tokio::park::thread::CachedParkThread::block_on
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/park/thread.rs:263:31
  15: tokio::runtime::enter::Enter::block_on
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/runtime/enter.rs:151:13
  16: tokio::runtime::thread_pool::ThreadPool::block_on
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/runtime/thread_pool/mod.rs:77:9
  17: tokio::runtime::Runtime::block_on
             at /home/duane/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.14.0/src/runtime/mod.rs:463:43
  18: chp::main
             at /home/duane/tmp/chomp/src/main.rs:113:5
  19: core::ops::function::FnOnce::call_once
             at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Thanks for sharing... just tried this out but can't reproduce - make sure you're pulling from the latest master branch.
I also changed the structure of the Svelte template today to just instead use the user-provided target and dependency, so it should now be:
version = 0.1

[[task]]
  name = "svelte"
  template = "chomp:svelte"
  target = "lib/#.js"
  deps = ["src/#.svelte"]

directly showing the interpolation makes it clearer and allows more configurability I think.

Ok. I'm pulling from latest, and copy-pasted the example from the project's room (chompfile.toml). Perhaps that needs to be updated then.

Are you still getting the issue or can we close this?

When I use what you suggested it works, yes. However, I suggest you change this file: https://github.com/guybedford/chomp/blob/main/chompfile.toml#L3 (and perhaps use this issue to track?)

Good point, done in https://github.com/guybedford/chomp/commit/465ed945c5fd8122b5d6460832b0437694d2029c. The test/chompfile.toml file always has up-to-date examples now.


Future of *-KeePassConfiguration?

What is the future of {Get,Set}-KeePassConfiguration? You are embedding the KeePass binary, leaves only the DB and Key File properties.
Will you remove these functions? I'm asking because replace it with something like https://github.com/PoshCode/Configuration. This would also make it possible to have per user settings, even the module is installed in the host module directory.

Hi @ThomasSchoeller, this looks like a good idea and I see your point. One of the things I was looking at doing with the Configuration XML File that these functions manage is saving custom password profiles.
I have only glanced over the Configuration module and I am not fully aware of its capabilities when it comes to adding more "configurations" over time. From what I see it looks like it can but I would have to play with it.
The other concern would be having another dependency to manage. Including what would be the best way to include this module, other than requiring the user to already to have it installed. If they have it installed and update it and this module is not ready for that update then it breaks. So we could require a specific version given that they version the module.
I am open to discussing this further, if you want to reach out via skype and walk through the details.

Hi @jkdba,
i didn't use the Configuration module, but it seams nice. Specially the feature of layered configurations.
Maybe dependency management can be done with #require module (https://technet.microsoft.com/en-us/library/hh847765.aspx)
In PSGallery there is also some dependency management.

Sticking with xml on this for now, as it allows for more custom configuration.


Provide push only custom tags to final repo

Before proceeding

[X] I didn't find a similar issue

Problem
When a werf is used to build public images without the deployment, it would be very convenient for users to see only the final images and human-readable tags.
Now werf push to the final repo a lot of meta-information, which can confuse users.

It would be nice to have argument for werf build command, which means that only custom tags respected for push in final repo.
Solution (if you have one)
No response
Additional information
No response

In this case, it would be more appropriate to use the werf export command, which allows you to publish images to arbitrary repositories for later use without werf.
werf export --repo ghcr.io/group/project --tag ghcr.io/group/otherproject/%image%:latest

In this case, it would be more appropriate to use the werf export command, which allows you to publish images to arbitrary repositories for later use without werf.
werf export --repo ghcr.io/group/project --tag ghcr.io/group/otherproject/%image%:latest

May be it should be combined with #4637. Thank you for answer, combination of werf build and werf export covers my usecase.

This metadata is really not needed, and we should not add it to the final repository.

When using --final-repo param, this repo would contain only user images, without metadata, while --repo would contain metadata:

So if you need to hide werf metadata from user, then I recommend using some reserved subrepo for primary repo (/storage for example) and regular repo as final repo for user:

--final-repo=registry.mydomain.org/project
--repo=registry.mydomain.org/project/storage

FIxed in https://github.com/werf/werf/pull/4839, repo and final repo after build will look like that:


Dropping support for older versions of Laravel

Dropping support for older versions of Laravel - as Laravel 7 is no longer supported. Also adding in some CI to ensure tests on PRs work.
This will be a breaking change, so should be merged for a new major version.

Laravel 6LTS still has support until January 2020, source: https://laravel.com/docs/8.x/releases#support-policy


Gradle does not start on z/OS

Current Behavior
When attempting to perform any task on Gradle 8.8 on IBM z/OS with Java 8 or Java 11 the build fails immediately with the following error
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'temp'.
> Could not create task ':init'.
   > Could not create service of type MemoryManager using GlobalScopeServices.createMemoryManager().
      > free must be >= 0

The ultimate root cause of this is that MBeanOsMemoryInfo using the "FreePhysicalMemorySize" attribute from the OperatingSystemMXBean which is documented to always return -1 on z/OS as it is not supported.
I had originally planned to try to fix this by having the OsMemoryStatus.getPhysicalMemory() function return a OsMemoryStatusAspect instead of an OsMemoryStatusAspect.Available and have the physical memory be unavailable on z/OS (or more accurately whenever the free or total physical memory in MBeanOsMemoryInfo.getOsSnapshot() are ever negative. This turned out to have more knock on effects than I had hoped so I figured it was best to raise this defect before to get some expert opinion before committing more effort to this.
Expected Behavior
The build should not immediately fail with an exception in MemoryManager.
Context (optional)
We are trying to update the Gradle of version used by our z/OS build pipeline.
Steps to Reproduce

Download Gradle to a z/OS machine
Export the environment the following environment variable to ensure that the inter-process between parent and child processes in Gradle workexport OPENJ9_JAVA_OPTIONS="-Dconsole.encoding=ISO8859-1 -Dfile.encoding=ISO8859-1"

Convert the gradle script to EBCDIC so it can be run by bash:iconv -f ISO8859-1 -t IBM-1047 /path/to/gradle/bin/gradle gradle.zos
chmod +x /path/to/gradle/bin/gradle.zos

Run the converted gradle script, piping the output through iconv so the output can be understood$ /path/to/gradle/bin/gradle.zos init |& iconv -f ISO8859-1 -t IBM-1047

Gradle version
8.4 or above
Gradle version that used to work
8.3
Build scan URL (optional)
No response
Your Environment (optional)
IBM z/OS 2.4
IBM Java 8

This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

Just to update this, I have played around some more and it looks like the following is sufficient to resolve the issue enough to start the daemon and is much cleaner than trying to make the physical memory only conditionally available
$ git diff platforms/core-runtime/process-services/src/main/java/org/gradle/process/internal/health/memory/MBeanOsMemoryInfo.java
diff --git a/platforms/core-runtime/process-services/src/main/java/org/gradle/process/internal/health/memory/MBeanOsMemoryInfo.java b/platforms/core-runtime/process-services/src/main/java/org/gradle/process/internal/health/memory/MBeanOsMemoryInfo.java
index 537aaef8f2f..99d859db76d 100644
--- a/platforms/core-runtime/process-services/src/main/java/org/gradle/process/internal/health/memory/MBeanOsMemoryInfo.java
+++ b/platforms/core-runtime/process-services/src/main/java/org/gradle/process/internal/health/memory/MBeanOsMemoryInfo.java
@@ -32,6 +32,12 @@ public OsMemoryStatus getOsSnapshot() {
         String totalMemoryAttribute = Jvm.current().isIbmJvm() ? "TotalPhysicalMemory" : "TotalPhysicalMemorySize";
         long total = MBeanAttributeProvider.getMbeanAttribute("java.lang:type=OperatingSystem", totalMemoryAttribute, Long.class);
         long free = MBeanAttributeProvider.getMbeanAttribute("java.lang:type=OperatingSystem", "FreePhysicalMemorySize", Long.class);
+        if (total <= 0) {
+            throw new UnsupportedOperationException("Unable to determine total physical memory size");
+        }
+        if (free <= 0) {
+            throw new UnsupportedOperationException("Unable to determine free physical memory size");
+        }
         return new OsMemoryStatusSnapshot(total, free);
     }
 }

@ov7a Hi, has there been any update from team? Would a PR help as we are also affected by this and would be happy to help test any changes?

I've made a PR for this #28523

Just to confirm that I've got this working on our test z/OS system
Gradle output

/u/smithso/gradle-dev/bin:>gradle --version

Welcome to Gradle 8.8-20240321000000+0000!

------------------------------------------------------------
Gradle 8.8-20240321000000+0000
------------------------------------------------------------

Build time:   2024-03-21 00:00:00 UTC
Revision:     9f4943f3fa62d4178f2b843633db40ba4c3f717f

Kotlin:       1.9.22
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          1.8.0_391 (IBM Corporation 2.9)
OS:           z/OS 03.01.00 s390x

/u/smithso/gradle-dev/bin:>cd ~/sample-cics-api-first/
/u/smithso/sample-cics-api-first:>ls
COBOL      COPY       CSD        LICENSE    README.md  finish     start
/u/smithso/sample-cics-api-first:>cd finish
/u/smithso/sample-cics-api-first/finish:>gradle build
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :zosConnectPreBuildTask

> Task :openApiGenerate
Unknown `format` decimal detected for type `number`. Defaulting to `number`
Unknown `format` decimal detected for type `number`. Defaulting to `number`
Unknown `format` decimal detected for type `number`. Defaulting to `number`
################################################################################
# Thanks for using OpenAPI Generator.                                          #
# Please consider donation to help us maintain this project ?                 #
# https://opencollective.com/openapi_generator/donate                          #
################################################################################
Successfully generated code to /u/smithso/sample-cics-api-first/finish

> Task :zosConnectApiFilter
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes
> Task :war
> Task :assemble
> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test NO-SOURCE
> Task :check UP-TO-DATE
> Task :build

BUILD SUCCESSFUL in 26s
6 actionable tasks: 6 executed
/u/smithso/sample-cics-api-first/finish:>


Adding an AtlasTexture to MenuButton's item, locks you in texture region editing mode (w/ workaround)

Found this in Godot 3.2.3.stable.
As seen in the image below, when you add an AtlasTexture to an item of a MenuButton and then click it, all the items disappear and you get locked in texture region editing mode. The Items drop down menu for that MenuButton also disappears.

Workaround
A simple workaround (image below) is to use a second MenuButton, add an item and set another type of texture to it. You may notice this time the texture properties panel is open by default. Click to close it, and that will close the AtlasTexture properties on the first button as well, which will take you out of texture region mode. Now when you select the first button, you have access to the items again and can remove the AtlasTexture.

If all else fails, you can also edit the scene file and remove the resource from the scene and from the button's item.

Related to #28211

Actually can be closed as duplicate of above (same bug basically).

Actually can be closed as duplicate of above (same bug basically).


Add durable methods to app object in v4

Specifically this issue is about adding the app.durable methods that will provide nice intellisense about the trigger options when registering a function.
Support in the durable package (the part that makes durable actually run locally) is tracked here: https://github.com/Azure/azure-functions-durable-js/issues/384

There have been discussions offline about where to put the app.durable methods (in this package or the durable package). I had assumed they would be in this package, which is why the original issue was created here. I think I mostly assumed that because all the other important bindings will be here, but durable is pretty unique with its own sdk so 🤷♂. Curious to hear the reasons for putting those methods in the durable package
Fwiw, I don't think it'll be that difficult either way. We would not drastically change anything in this module. Rather, the durable package would just provide wrappers around the app.generic method if they want to provide durable methods from their own package
I do think it increases discoverability if those methods are in this package as we focused on intellisense a lot in the new model and they would need to be in this package to show up when a user types app. by default.
cc @davidmrdavid

Moved to durable repo and merged in https://github.com/Azure/azure-functions-durable-js/pull/399


Only loads once

the plugin only loads onece then i have to delete all of the server files like settings.log and admin-logs

it's normal that the plugin loads only once, it does it at server start like all other plugins. To disable the admin-logs you can use the alogs off command, and for the settings.log i don't have a solution.
But I don't understand why you want to delete this kind of file

@OusmBlueNinja

issue pending, i close it...


add comparison examples with a few other libraries, to show power of fallback stack

Would be cool to have, and helpful in evaluating them

Added to the readme


6hundreds/3849/test

@bot-gradle test qf

I've triggered the following builds for you:

QuickFeedback build


Updating Optimate.OptimateSOLIDWORKSPlugin to Version 1.0.6

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree company="Optimate GmbH"

@wingetbot waivers Add Validation-No-Executables


x-prompt no longer supports providing default options in properties of type “list”.

Command
generate, add
Is this a regression?

[x] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
18.0.7
Description
Since switch to @inquirer/prompts library, x-prompt no longer supports providing default options for properties with type list that support multiselect. It's related to changes in the API comparing to previous inquirer package. Now, the default value can be set by checked flag which is part of each object in choices array: https://github.com/SBoudrias/Inquirer.js/tree/main/packages/checkbox#choice-object
PR: https://github.com/angular/angular-cli/pull/28842
I'm happy to contribute and I'd appreciate a guidance to not miss any place that could be affected and should be adjusted.
Minimal Reproduction
To reproduce the issue, clone the following repository and go to its location:
git clone https://github.com/pawelfras/x-prompt-list-issue.git

Run npm install to install dependencies and build the project by running ng build.
To test with latest version of @angular/cli, run:
npx @angular-devkit/schematics-cli@latest .:x-prompt-list-issue

Hit enter without any custom selection and see the expected output:
? Choose numbers (1 and 3 should be selected by default)
Selected numbers: []
Nothing to be done.

To test with version v18.0.7, run:
npx<EMAIL_ADDRESS>.:x-prompt-list-issue

Hit enter without any custom selection and see the expected output:
? Choose numbers (1 and 3 should be selected by default) 1, 3
Selected numbers: [ 1, 3 ]

Exception or Error

Your Environment
Angular CLI: 18.2.11
Node: 20.18.0
Package Manager: yarn 1.22.22
OS: darwin arm64

Angular: undefined
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1802.11 (cli-only)
@angular-devkit/core         18.2.11
@angular-devkit/schematics   18.2.11
@schematics/angular          18.2.11 (cli-only)
typescript                   5.5.4

Anything else relevant?
The issue has been spotted also in the latest Angular 19 RC version

Fixed via #28842


✨  Improve JSON format

Please check if the PR fulfills these requirements

[X] Tests for the changes have been added (for bug fixes / features)
[X] PR title follows the guidelines defined in  https://github.com/ossf/scorecard/blob/main/CONTRIBUTING.md#pr-process

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
feature

What is the current behavior? (You can also link to an open issue here)
lack of info in JSON format

What is the new behavior (if this is a feature change)?

JSON format uses lower-case letter for fields (OSV, GitHub API, etc all use lowercase fields)
Add scorecard's hash and version to JSON
Retrieve version/hash information automatically
Move build info under pkg/

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
no

Other information:

Can we decouple logic for cron job JSON from Scorecard JSON before this PR?

I'll start working on it. Are there unit tests needs for the cron job/JSON? I don't see any. I think I'll add JSON unit tests/schema validator as I did for the scorecard JSON format. Sounds good?

Can we decouple logic for cron job JSON from Scorecard JSON before this PR?

I'll start working on it. Are there unit tests needs for the cron job/JSON? I don't see any. I think I'll add JSON unit tests/schema validator as I did for the scorecard JSON format. Sounds good?

SGTM

Can we decouple logic for cron job JSON from Scorecard JSON before this PR?

I'll start working on it. Are there unit tests needs for the cron job/JSON? I don't see any. I think I'll add JSON unit tests/schema validator as I did for the scorecard JSON format. Sounds good?

done with https://github.com/ossf/scorecard/pull/941


Maven Artifact path update

Description
Updated build.gradle with publishingArtifactPath.
The maven artifacts were not getting updated in the sonatype for "org.opensearch.opendistro-job-scheduler" path. I have added a pluginZip1 parameter and added the path mentioned above. Please find the test result below.
Now, the both the paths "org.opensearch.plugin.opendistro-job-scheduler" and "org.opensearch.opendistro-job-scheduler" are getting updated.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

find snapshots | sort
snapshots
snapshots/org
snapshots/org/opensearch
snapshots/org/opensearch/opensearch-job-scheduler
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.md5
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha1
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha256
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha512
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.pom
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.pom.md5
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.pom.sha1
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.pom.sha256
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.pom.sha512
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.zip
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.zip.md5
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.zip.sha1
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.zip.sha256
snapshots/org/opensearch/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211536-1.zip.sha512
snapshots/org/opensearch/opensearch-job-scheduler/maven-metadata.xml
snapshots/org/opensearch/opensearch-job-scheduler/maven-metadata.xml.md5
snapshots/org/opensearch/opensearch-job-scheduler/maven-metadata.xml.sha1
snapshots/org/opensearch/opensearch-job-scheduler/maven-metadata.xml.sha256
snapshots/org/opensearch/opensearch-job-scheduler/maven-metadata.xml.sha512
snapshots/org/opensearch/plugin
snapshots/org/opensearch/plugin/opensearch-job-scheduler
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.md5
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha1
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha256
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha512
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.pom
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.pom.md5
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.pom.sha1
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.pom.sha256
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.pom.sha512
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.zip
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.zip.md5
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.zip.sha1
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.zip.sha256
snapshots/org/opensearch/plugin/opensearch-job-scheduler/<IP_ADDRESS>-SNAPSHOT/opensearch-job-scheduler-<IP_ADDRESS>-20230421.211750-1.zip.sha512
snapshots/org/opensearch/plugin/opensearch-job-scheduler/maven-metadata.xml
snapshots/org/opensearch/plugin/opensearch-job-scheduler/maven-metadata.xml.md5
snapshots/org/opensearch/plugin/opensearch-job-scheduler/maven-metadata.xml.sha1
snapshots/org/opensearch/plugin/opensearch-job-scheduler/maven-metadata.xml.sha256
snapshots/org/opensearch/plugin/opensearch-job-scheduler/maven-metadata.xml.sha512

Will wait to merge this after https://github.com/opensearch-project/job-scheduler/pull/365 is merged in


Add automerge bot

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/zc.buildout-feedstock#6.


Update FINOS badge on README.MD to INCUBATING

This pull request communicates the repo status as INCUBATING in accordance with project materials recorded and tracked at FINOS.

Can one of the admins verify this patch?

Codecov Report

Merging #201 into dev will decrease coverage by 0.68%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #201      +/-   ##
==========================================
- Coverage   89.07%   88.39%   -0.69%
==========================================
  Files         155      186      +31
  Lines        2820     3644     +824
  Branches      269      358      +89
==========================================
+ Hits         2512     3221     +709
- Misses        240      310      +70
- Partials       68      113      +45

Impacted Files
Coverage Δ

...oning/properties/CompanyCertificateProperties.java
0% <0%> (ø)

...ovisioning/client/model/AppStoreAssetsWrapper.java
100% <0%> (ø)

...visioning/exception/UsernameMismatchException.java
100% <0%> (ø)

...ation/provisioning/client/AppRepositoryClient.java
89.09% <0%> (ø)

...ation/provisioning/service/ApplicationService.java
83.07% <0%> (ø)

.../exception/ConfigurationProvisioningException.java
100% <0%> (ø)

...ion/provisioning/client/model/AppStoreWrapper.java
100% <0%> (ø)

...ning/service/ConfigurationProvisioningService.java
93.93% <0%> (ø)

...on/provisioning/exception/UpdateUserException.java
100% <0%> (ø)

...on/provisioning/exception/UserSearchException.java
100% <0%> (ø)

... and 21 more

Continue to review full report at Codecov.

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

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Correct redirect on login

If a user is sent a link, say https://server.com/ui/service/services/2 and they are not logged in, they are prompted to login.  After login, however they are sent to the default dashboard, not the link.  When a user has a referral link, and they login they should go that URL

Closing and tracking in https://bugzilla.redhat.com/show_bug.cgi?id=1507069


Introduce Formatter for zero alloc formatting

Builds upon #2
Sending as a draft PR for early discussion.
The idea for the formatter is to be able to format lots of numbers (think: a CSV generator) without incurring into memory allocations. A better idea (IMO) would be to not use temporary buffers throughout the Format() call, but that requires changing all buf append(buf, ...) calls to use f.Write(...) instead.
While I feel that is the more idiomatic and composable Go code, it does have the downside that a naive caller can incur overhead somewhere else (for example, trying to format directly to a *os.File causing slowdown due to the number of syscalls).
Do you have considerations for this?

I'm hesitant to add a new public type to the package for formatting, but I can appreciate that being able to reuse the buffer would have an advantage in some cases.
An alternative I can think of, and how the standard library seems to provide this in a few places, is to have some kind of Append() function that takes the buffer as an input - like strconv.AppendFloat() and math/big.Float.Append(). With something like that you could keep the same buffer and pass it into each decimal that you're formatting and reuse it if it has enough capacity. You could even then implement something like the code here externally, if you wanted to keep it as a new type in your own code.
Does it sound like that solution would achieve what you need? I can try and put together an example implementation for you to look at. One question with it would be what arguments the function would take - strconv.AppendFloat() doesn't quite give you everything that a format string can do, but if just being able to ask for either 'f' or 'e' formatting and a precision is enough then the implementation could be quite simple.

I've experimented a little bit with changing the code used by Format() over to calling Write() instead of building a buffer. I've pushed some changes onto a feature/format-with-write branch if you want to check them out.
This change doesn't avoid all memory allocations though. There's no buffer that needs to be created anymore, however when you pass a slice of the digits to print into Write(), since fmt.State is an interface, the Go compiler will consider it to have escaped and move digits onto the heap. This is a fixed size, as opposed to the buffer which will be however large the number ends up being, so could still be advantageous though in most cases I imagine it'll be larger than what the buffer would've ended up being since it contains all the digits parsed from the number (unless you print a number with a large precision and get lots of padding added).
The code is also a little slower at the moment too. Calling Write() multiple times costs more than calling append() - I've tried to reduce it somewhat by doing things like writing multiple padding characters at once but there's potentially more that could be done. However, without avoiding that memory allocation I'm not sure how valuable working on it further is.

Calling Write() multiple times costs more than calling append()

This is true specially when writing directly to something that causes a syscall (i.e. a file, stdout, etc), but when writing to a buffered output it should be fairly close (though to be fair I haven't specifically benchmarked it).

I'm not sure how valuable working on it further is.

Let me take a stab at modifying this PR to create the Decimal128.Append() version.

Ok, I've introduced the Append() function, which appends to the specified buffer, allowing the caller to reuse the buffer. It needs some cleaning up and the parsing of FmtFormat needs to be extended a bit to support other modifiers, but that's the idea.
FmtFormat isn't strictly necessary, as we could either add the formatting parameters directly to Append (or always parse from it) but I find adding a structure for this would improve things for the cases where you're always printing using the same format.

Hey, sorry it's taken so long to get back to you.
I think I'd still rather not introduce a new public type for this. I've taken a stab at my own implementation and pushed it to the branch feature/append if you want to see if that works for you. It just takes the format string in each call to Append(). I still need to do a little work on it, like adding tests, and appending a "special" value with padding is still allocating but I can probably get it to stop doing that too. Anyway, here are some benchmark results showing the difference between using Format and Append. The Append call is consistently faster and avoids memory allocations (for regular numbers, at least, though like I said I can get it to avoid it for special values too):
BenchmarkFormat/large_number_f_format-8                  2402574               571.3 ns/op            24 B/op          1 allocs/op
BenchmarkFormat/large_number_e_format-8                  2424837               527.6 ns/op            16 B/op          1 allocs/op
BenchmarkFormat/large_number_padding_f_format-8          1949918               619.9 ns/op            80 B/op          1 allocs/op
BenchmarkFormat/large_number_padding_e_format-8          1983435               630.9 ns/op            80 B/op          1 allocs/op
BenchmarkFormat/special-8                               12175237                99.19 ns/op            0 B/op          0 allocs/op
BenchmarkFormat/special_with_padding-8                   5418468               293.1 ns/op            80 B/op          1 allocs/op

BenchmarkAppend/large_number_f_format-8                  3257414               389.4 ns/op             0 B/op          0 allocs/op
BenchmarkAppend/large_number_e_format-8                  3059610               384.5 ns/op             0 B/op          0 allocs/op
BenchmarkAppend/large_number_padding_f_format-8          2817848               426.2 ns/op             0 B/op          0 allocs/op
BenchmarkAppend/large_number_padding_e_format-8          2725712               422.0 ns/op             0 B/op          0 allocs/op
BenchmarkAppend/special-8                               37846531                31.79 ns/op            0 B/op          0 allocs/op
BenchmarkAppend/special_with_padding-8                   8561258               146.3 ns/op            80 B/op          1 allocs/op

I've pushed an updated commit to the branch. This refactors the formatting code so that the common part is shared between Format() and Append().
It also makes some changes to improve the performance of formatting a number. Parsing a format string in Append() should now be faster (went from around 8ns to around 4ns on my machine) and the call to digits() is now also faster by switching to 64 bit arithmetic once the high word of the 128 bit integer has been consumed, which should help all the different functions that format numbers.

Looks pretty good to me!

Thanks, I've pushed the changes onto the main branch and tagged a new release.

Thank you very much!


Node specific placeholders and showOnlyCurrent property

In this PR, I've added two functionalities from the TipTap Placeholder extension.
Node specific placeholders
You can now set placeholders for specific node types. For example: I had a case where I wanted to set a different placeholder to a heading and a paragraph. You can now do that like this:

TiptapEditor::make('content')
    // Default placeholder. Also a fallback if a nodePlaceholder entry can't be found
    ->placeholder('Write something...')
    // Specific placeholdes per node
    ->nodePlaceholders([
       'paragraph' => 'Start writing your paragraph...',
       'heading' => 'Insert a heading...',
    ])

The code implementation is based on the official example, see the code example here.
Show only current placeholder
I have added the showOnlyCurrent property to TiptapEditor. You can use it like this:
TiptapEditor::make('content')
    ->showOnlyCurrentPlaceholder(false)

In the example above, all nodes will immediately be displayed, instead of only the selected node.

Hope to get to this review soon. Sorry. Really busy with work at the moment.

Are you disabling the floating menu? Seems like there would be a conflict with this and also I think that there would need to be changes to the placeholder css to make this work.

Hi @awcodes, thanks for your feedback!

[...]  I think that there would need to be changes to the placeholder css to make this work.

I've added the missing placeholder CSS to the fork. It's now updated to use the existing placeholder styling. It now works as expected, see the example:

👁 View example
 TiptapEditor::make('content')
      ->customDocument('heading block+')
      ->nodePlaceholders([
          'paragraph' => 'Start writing...',
          'heading' => 'A wonderful title',
      ])

Are you disabling the floating menu? Seems like there would be a conflict with this [...]

You are right: I disabled floating menu's in my personal project. I now notice the issue as well: if you enter a block that does not have any floating menu items, then it is still shown. This is not caused by this PR, since I can reproduce it on the main branch:
Reproduction

Enter a heading
See a empty Tippy tooltip:

I notice the floating menu already contains a x-show to check if it's a paragraph, but it seems like this rule is not respected. I've added some JS code to enforce this rule, see #b0aac1. It now works as expected, see the example:

👁 View example
If you now focus on an empty heading, then the floating menu will be hidden:
 TiptapEditor::make('content')
      ->customDocument('heading block+')
      ->nodePlaceholders([
          'paragraph' => 'Start writing...',
          'heading' => 'A wonderful title',
      ])

The floating menu still works for paragraphs:


[4.x] provision: Install non-PGDG PGroonga package in development environment

Backport of

#20833

Tested by reprovisioning a 5.x VM on 4.x. chat.zulip.org discussion.

Merged, thanks @andersk!


resize proportionally

Is there any way to set a option, that a grid-stack-item can only be resize proportionally? The initial ratio should be remain.
Or any workaround? I try to get the size from the doted border in the resize event, but I cant find that one. I find only the size from the current container, not the one who will set the final size.

Hi, @TheCherry! This does not currently exist. We will consider this in development.

Apologies - this actually exists. If you use the cellHeight: auto option when initializing your grid, your widgets will automatically update the height as you change the width. I'm closing this ticket, but please let us know if this doesn't resolve your issue.

var options = {       cellHeight: "auto"     };     $('.grid-stack').gridstack(options);
Did try that, but that dont help me. I need as example a widget with 2x2, the rezise can only be 3x3, 4x4, 5x5.
Or a another example: 1x3 > 2x6


The link to github in package.json is wrong

The github link in package.json doesn't work

never mind, I see it's already fixed but NPM hasn't taken it up yet.


Add Wafalyzer

Link
https://github.com/NeuraLegion/wafalyzer
Checklist

[ ] - Shard is at least 30 days old.
[x] - Shard has CI implemented.
[x] - Shard has daily/weekly periodic builds (ideally with Crystal latest and nightly).

@hugoabonizio Yep, it's loosely based on WhatWaf.


Wanted to add sensor for tuya

Hi !
I developped a custom component for Home Assistant that can be found here, it works using the syntax
sensor:
  - platform: tuya_lan
    sensors:
      mesuring:
        device_id: '<device_id>'
        api_key: '<local_key>'
        ip_address: '<ip_address>'

I'd like to do a PR, but I don't understand how to add a sensor (not a component) because the file system evolved a lot since this PR.

Hi there @polyedre!
Please check out our developer documentation: https://developers.home-assistant.io
If you have more questions, I would highly suggest our joining our Discord chat, we have developer channels in there, where we hang out and might be able to give you some pointers.
Thanks for considering to contribute to the project, that is always highly appreciated. 👍


Swoole/Table weird behaviour/bug

Please answer these questions before submitting your issue.

What did you do? If possible, provide a simple script for reproducing the error.

We have a Swoole\Table with 8192 rows, each row consists in one field (String 8172)

$this->hitsTable = new Table(8192);
$this->hitsTable->column('event', Table::TYPE_STRING, 8172);
$this->hitsTable->create();

We write to this table from 8 workers, each worker adds about 50 rows per second, generating a random key (md5(some fields + random integers ) that, from our side, it seems impossible that it generates collisions. (although, if there is a collision, it should be ok, as the only consequence should be that the value is replaced)
md5(microtime(true) . $item[0] . $item[2] . random_int(0, 999999));

This Table is read every 2 seconds from another worker, iterating through the table and storing the keys to be deleted.
$this->lookupTable->rewind();
for ($i = 0; $i < $maxItemsToSend; $i++) {
    $item = $this->lookupTable->current();
    $tableKey = $this->lookupTable->key();
    if (!empty($item["event"]) && $this->lookupTable->exists($tableKey)) {
        $eventsRepo[] = unserialize($item["event"]);
    }
    if (!empty($tableKey)) {
        $eventsToDelete[] = $tableKey;
    }
    $this->lookupTable->next();
}

After reading all table values, we delete those that have been extracted.
foreach ($eventsToDelete as $key) {
    if ($this->lookupTable->exists($key)) {
        $this->lookupTable->del($key);
    } else {
        $this->logger->error("Timer #{$this->id} Queue #{$this->queue} -> Key {$key} do not exists", "Manager");
    }
}

There are no other process that can delete elements from the table, but while deleting, there are other processes adding new rows.

What did you expect to see?
The elements are stored, read and deleted.

What did you see instead?
At some point after running the server for some minutes/hours, one element could be found iterating through the Table, stored in the $keysToDelete array, but, when you try to delete it (we check with exists($key)), it doesn't exist. This element then remains in the table forever.
If we try to delete it directly, the process sometimes get stuck forever.

After this happens, the table rejects to sets some keys (about 0.5-1%) with this message
failed to set key value, try to increase the table_size

But the table never has more than 1000 entries (the declared size in the creation is 8192)
This behavior continues until the pod is restarted. One (or more) elements are in the table when we iterate over it, but when you call exists() it doesn't exist, and many set() fail.

What version of OpenSwoole are you using (show your php --ri openswoole)?
We use your docker image openswoole/swoole:4.11-php8.1

What is your machine environment used (show your uname -a & php -v & gcc -v) ?

root@b6c151687af9:/usr/local/src/app# uname -a
Linux b6c151687af9 5.4.0-107-generic #121-Ubuntu SMP Thu Mar 24 16:04:27 UTC 2022 x86_64 GNU/Linux

root@b6c151687af9:/usr/local/src/app# php -v
PHP 8.1.0 (cli) (built: Dec  2 2021 12:11:39) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies

root@b6c151687af9:/usr/local/src/app# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.1 20210110 (Debian 10.2.1-6)

@JustHarris

This Table is read every 2 seconds from another worker, iterating through the table and storing the keys to be deleted.

If, by any chance, you're using Timer::tick() for reading/deleting rows every 2s, it might explain the problem. Say, if reading/deleting operation takes 3s, you might end up running two tick callbacks, 1 of which deletes rows, and the second traverses through the table.
https://wiki.swoole.com/#/memory/table
Here it says that you shouldn't delete table rows while traversing through it

Feel free to reopen it if you can provide a script to reproduce the issue.


[Core] Incorporate CancellationToken and/or IConsumerContext to the Consumer interfaces

Current state
We can get ahold of the CancellationToken and IConsumerContext by:

letting the consumer extend IConsumerContextAware
use consumers without interfaces

Problem
The current state in 2.x does not promote the use of CancellationToken-s and requires users to make an extra step to bring that into the consumers.
Proposal
Add the CancellationToken and/or IConsumerContext to the core IConsumer<T> /  IRequestHandler<T, R>
interfaces.
Backward compatibility consideration
Is it worth doing it backward compatible (new interface and old would be maintained)?
The benefit is that users could easily update the library.
On the other hand it might be okay to break the interface (not much updates for users).
We would do this as part of 3.x release.

This is now incorporated into 3.0.0-rc1


'NullReferenceException' when setting an image's sprite value to 'None' in a State description.

Describe the bug
The StatefulComponent throws a 'NullReferenceException' when you set an image's sprite value to 'None' in a State description.
To Reproduce
Steps to reproduce the behavior:

Create a StatefulComponent
Add a new State item
Add a new state Description item
Set the description item Type to "Image"
Set the description item Image to any image component
Set the description item Impact to "Set Sprite"
Set the description item Sprite to "None"

Expected behavior
Component should accept "None" as a valid sprite value.
Screenshots

Versions
Unity 2022.3.6f1
StatefulUI 1.0.6

Thanks for the report! Please try v1.0.7


When flashed you can see through walls

Description

I've only had this happen to me once and I have no idea how to replicate it.


Web Version | PNGs Downloader

Hi, as I see you have delpoyed web version on GitHub Pages.
It'd be nice to introduce here download option, which will download all frames in PNGs from the def file :)
Or I can do it if you are so kind to share the github pages source code :)

You are free to add that functionality, the source for the web version is under the gh-pages branch.

Have you looked into the code? It's built with Vue but should be straightforward.
You just have to loop over Object.values(def.images).map(({data}) => data) and download the ArrayBuffers. The code to download already exists:
https://github.com/monkape/homm3-unpacker/blob/142eb0c090fbd637749261118cfaf07ddfd60752/src/app.js#L124-L131

However, it might be more practical to batch extract via Node:
const fs = require("fs")

function read(path) {
   return new Promise((resolve, reject) => {
      fs.readFile(path, (error, data) => (error ? reject(error) : resolve(data)))
   }
}

async function unpack_frames(path, dir="./") {
   const file = await read(path)
   const def = unpackDEF(file)
   for (const [filename, image] of Object.entries(def.images)) {
      write(dir + filename, image.data)
   }
}

Closing due to lack of activity and the necessary instructions being provided in the comment above.


Onboarding steps aren't populating in DM or Conci after 'Track' converts to workspace via 'Submit'

Version Number: v9.0.23-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail: Caught during CVP testing
Email or phone of affected tester (no customers<EMAIL_ADDRESS>/<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL: N/A
Issue reported by: @garrettmknight / @yuwenmemon
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1721834010589119
Action Performed:

Create a new account
Select 'Track' as the intent
Click the FAB + Track expense
Create a manual expense or scan receipt
Select 'Submit' as the intent in the DM
Submit to another email - User B
Login as User B
Navigate to workspace chat with GBR
Click 'Pay via Expensify' > Business bank account
Connect bank account and pay

Expected Result:

User B should get onboarding steps via Concierge or DM to setup their workspace

Actual Result:

No DM and no setup steps from Concierge

Workaround:
N/A
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

View all open jobs on GitHub

cc @deetergp

asking about where this fits here
https://expensify.slack.com/archives/C07HPDRELLD/p1724708270013919

closing per that convo ^


bitflags deserialization issue

Hi,
Thanks for this project !
I currently get SerdeDeCustom with an enum containing a bitflags instance.
Here is a simple example:
https://github.com/nim65s/debug-bitflags-serde-postcard/blob/main/src/postcard.rs
The same example with serde-json instead of postcard is fine:
https://github.com/nim65s/debug-bitflags-serde-postcard/blob/main/src/json.rs
Is there any requirement for postcard to be able to deserialize data ?
https://github.com/bitflags/bitflags/blob/3cd7a61267a4503a2d002e3ed68d09a52d23a2a7/src/external/serde_support.rs#L26-L54  is expecting a struct with a "bits" field, but it looks this visit_map is not used with postcard.

PS: I have a perfectly fine workaround consisting of just using u8s  for my real use cases, so there is no hurry for this issue on my side:
https://github.com/nim65s/debug-bitflags-serde-postcard/blob/main/src/postcard_u8.rs

Hmm, it looks like bitflags is using some fancy things for its serialize/deserialize impl. In general, we don't really support the "hash map"-y interfaces of serde that are used for dynamic formats like JSON, so this might be working "as expected".
Your workaround is pretty much what I would suggest - serializing as a u8 on the wire directly.


Dependencies like Depends/Query not working while using app.add_websocket_route()

I am adding WebSocket endpoints to a separate file
socket.py
manager = SocketManager()

async def websocket_test(websocket: WebSocket, access_token: str = Query(..., alias="token")):
    user = get_current_user_from_query_token(access_token)
    await websocket.accept()
   #add connection to a list
    connection = manager.connect(user.account_id, user.id, websocket)
    try:
        while True:
            data = await websocket.receive_json()
    except WebSocketDisconnect:
        manager.disconnect(connection)

In main.py file, mapping the websocket endpoint using add_websocket_route()
main.py
app = FastAPI()

app.add_websocket_route("/ws/v1/inbox/test", socket.websocket_test)

This way, dependencies like Depends()/Query() not working. Is there a way to fix it?

As you didn't give the full example... :angry:
I've used the one recommended in the documentation:
from typing import List

from fastapi import FastAPI, WebSocket, WebSocketDisconnect, Query
from fastapi.responses import HTMLResponse

app = FastAPI()

html = """
<!DOCTYPE html>

        <title>Chat</title>

WebSocket Chat

Your ID:

        <form action="" onsubmit="sendMessage(event)">
            <input type="text" id="messageText" autocomplete="off"/>
            <button>Send</button>
        </form>

"""

class ConnectionManager:
    def __init__(self):
        self.active_connections: List[WebSocket] = []

    async def connect(self, websocket: WebSocket):
        await websocket.accept()
        self.active_connections.append(websocket)

    def disconnect(self, websocket: WebSocket):
        self.active_connections.remove(websocket)

    async def send_personal_message(self, message: str, websocket: WebSocket):
        await websocket.send_text(message)

    async def broadcast(self, message: str):
        for connection in self.active_connections:
            await connection.send_text(message)

manager = ConnectionManager()

@app.get("/")
async def get():
    return HTMLResponse(html)

@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket, client_id: int = Query(...)):
    await manager.connect(websocket)
    try:
        while True:
            data = await websocket.receive_text()
            await manager.send_personal_message(f"You wrote: {data}", websocket)
            await manager.broadcast(f"Client #{client_id} says: {data}")
    except WebSocketDisconnect:
        manager.disconnect(websocket)
        await manager.broadcast(f"Client #{client_id} left the chat")

app.add_websocket_route("/ws", websocket_endpoint)

Works just fine.

@Kludex you can find the example at https://github.com/tiangolo/fastapi/issues/2843
i will try to add a git link soon

Thanks for the help here @Kludex ! 👏  🙇
Thanks for coming back to close the issue @DiponRoy  👍

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


Regression: Subdomain Drops off in 1.0.X Branch

Description
Using ziggy 1.0.X (I tested this in .0 - .3) a url that is supposed to have a subdomain does not.
If I revert back to 0.9.4 the subdomain issues goes away
Expected behavior
route('foo') // should return foo.mysite.com
is actually return
route('foo') // actually returns mysite.com
Environment

Laravel version:  Latest 8
Ziggy version: 1.0.0 - 1.0.3

Related routes:
All routes with a subdomain seem to have an issue. I'm not using the Spatie multi-tenant package, however, I am routing via middleware to my tenants and NOT using laravel's domain method in my route calls
Route::get('login', Login::class)->name('login');

Ziggy.routes:
I use @routes I can copy and paste the output if you need it, but it's a lot so just let me know and I can do that, I didn't want to just dump it all in here...

What does {{ route('foo') }} (the Laravel helper) in one of your Blade views output?

Huh so this is strange...I don't use the route helper in blade because I use InertiaJS and Vue. So I use use the mixin So for a real route called logout:
Route::get('logout', ProcessLogout::class)->name('logout');

From the console:
in 1.0.3 I get
https://rebase.test/logout

in 0.9.4 I get:
https://joecianflone.rebase.test/logout

but from the route I get the correct subdomain in 1.0.3 and 0.9.4

What do you mean "from the route" you get the correct subdomain? Can you tinker and call route('logout') in PHP and share what it outputs?
This is happening because we switched from using url('/') (which comes from the request) to APP_URL. You're not the first person to run into this issue so we clearly need a better escape hatch 🙃 just want to make sure nothing else is wrong too.

What do you mean "from the route" you get the correct subdomain? Can you tinker and call route('logout') in PHP and share what it outputs?
This is happening because we switched from using url('/') (which comes from the request) to APP_URL. You're not the first person to run into this issue so we clearly need a better escape hatch 🙃 just want to make sure nothing else is wrong too.

Sorry! "from the route" I meant to says, "from blade"
in 1.0.3:
From route('logout) in blade I'd get https://foo.rebase.test/logout -- which is correct
From route('logout') in a Vue component I'd get https://rebase.test.logout -- which is incorrect
let me know if you need anything else


[Suggestion] Add support to disable the addon once

Describe the problem
Since recently the ability to enable and/or disable the addon has been added (#1), the possibilty to disable it once for the upcoming role check (e.g. in case switching spec) would still be nice to have.

Since support to disable the addon once has been added in 1.2.0 I've decided to close this issue.


updating pkg dependencies

Are you a current Fivetran customer?

Fivetran employee 💃
What change(s) does this PR introduce?

Updates

Updated package dependencies for Linkedin Ads v0.7.0, for more information please refer to Linkedin Ads PR #28
Updated README package dependencies to reflect current package versions

Did you update the CHANGELOG?

[x] Yes

Does this PR introduce a breaking change?

[ ] Yes (please provide breaking change details below.)
[x] No  (please provide an explanation as to how the change is non-breaking below.)

Did you update the dbt_project.yml files with the version upgrade (please leverage standard semantic versioning)? (In both your main project and integration_tests)

[x] Yes

Is this PR in response to a previously created Bug or Feature Request

[ ] Yes, Issue/Feature [link bug/feature number here]
[x] No

How did you test the PR changes?

[x] Buildkite
[x] Local (please provide additional testing details below)

Select which warehouse(s) were used to test the PR

[x] BigQuery
[x] Redshift
[x] Snowflake
[x] Postgres
[x] Databricks
[ ] Other (provide details below)

Provide an emoji that best describes your current mood

:dancer:
Feedback
We are so excited you decided to contribute to the Fivetran community dbt package! We continue to work to improve the packages and would greatly appreciate your feedback on our existing dbt packages or what you'd like to see next.

Note, PR will currently fail as Linkedin PRs have not been merged & released


Transition from local allowed script to PyPi installation

Since allowed is now on the PyPi, it might be best to transition away from the local allowed.py script? The benefits include:

Ease of installation
dependency management
no need to manually update script for changes
one or two less files in the GH repo

For Deepnote we would need to update the Dockerfile and for Datalore we would need to update both init.sh and environment.yml. Furthermore, algoesup.py would need to be updated the most obvious part is  checkers dictionary but there could be more.
There might be other changes required here, but I think I have covered the main ones.

Good points. If you could test on DeepNote the PyPI version that would be good. (The current PyPI version can't handle folders, but that shouldn't be a problem in the context of DeepNote.)

For the moment, we still need to keep the two JSON files because they add the algoesup imports.


fix: issue 143. validation of operator in approval

Closes https://github.com/OpenZeppelin/cairo-contracts/issues/143

Looks good, would you mind adding a comment explaining how multiplication solves this? These contracts should also be educational :)


use google translate if language is not in locale language

Build passed. let me test it

it works!