Customer Initiated Conversion - 72 hours timeline issue

I have a support case where the customer started "Customer initiated conversion" as per this document to convert storage accounts from RA-GRS to RA-GZRS. As per the documentation, it can take upto 72 hours for migration to start.
Link to the content - https://learn.microsoft.com/en-us/azure/storage/common/redundancy-migration?tabs=portal#customer-initiated-conversion-preview
It's over 120 hours but migration has not started. Please update the documentation on next steps if the migration doesn't start after 72 hours as documented.

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

ID: 66ebb48e-c896-a747-bc42-aa203978a1cd
Version Independent ID: 6e7bfefb-e67c-b5d5-89f7-6f1b6a2e8b61
Content: Change how a storage account is replicated - Azure Storage
Content Source: articles/storage/common/redundancy-migration.md
Service: storage
Sub-service: common
GitHub Login: @jimmart-dev
Microsoft Alias: jammart

@haider392
Thanks for your feedback! We will investigate and update as appropriate.

@haider392
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.

@jimmart-dev
Can you please check and add your comments on this doc update request as applicable.

Thanks for your contribution to our documentation
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
?
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Last Week in Pony - September 12, 2021

Audio from the Sep 7, 2021 Pony development sync call is available.


I don't even know what to call this.

Describe the bug
..?

If it's related to the launcher, upload neutralinojs.log in Yaagl Data Directory

If it's related to the game, upload `logs/game_{timestamp}.log in Yaagl Data Directory

DXVK is not working properly. Check file integrity in launcher settings and try again.

doesn't seem like a recommended way to play GI.

Who did recommend? At least I didn't, and I won't based on the fact you get only 8G RAMs.

If problem still exists, just reply in this issue.

DXVK is not working properly. Check file integrity in launcher settings and try again.
will do, will have to re-download it since it kept crashing.

doesn't seem like a recommended way to play GI.

Who did recommend? At least I didn't, and I won't based on the fact you get only 8G RAMs.
bad wording, maybe not recommend, just gave good insights that it worked well.
If problem still exists, just reply in this issue.


Distortion in video recording

In some of the devices, the recorded video is squeezed..Please help

has anyone else got this issue?

Yes it also gets stretched for me.

I added the CameraKitView to a linearlayout which was added to a fragment page in a tabbed activity.

It looks stretched on the screen
When recordin it looks also weirdly stretched.
When viewing the file afterwards it also looks weird.

Tested video capture with normal camera app on android and it was not stretched.


Features/credns

Fresh merge & review of Jeroen's zone verification branch

This PR is now rebased on the current master branch. Locally at least the added tests pass. The unit tests and the Clang analysis test does as well. I'd like extra sets of eyes to go over this. Btw, I bumped the minor version as it's a new feature etc.

@wtoorop, I cannot select you as a reviewer (probably because you created the PR in the first place?), but if you would be so kind.


M52: fix tcp and udp socket compilation failures

@mrunalk

@msisov: it's good practice to indicate the upstream CL numbers that caused these changes here (see the other commits in the branch for examples).

@msisov Please add the references to upstream commits so that we know the reasoning behind these changes. For example see this, e39883830516640d8c6230f7a22f6490949dda4a. Almost 99% of the times you can trace the errors to upstream changes.

I have merged your changes into next for now as I needed to proceed. I was going to add upstream commit info myself but didn't have much time to look that up. If you can list those upstream commits here by replying to this thread, that will be great. I will use that information later. Otherwise it's good to see you making progress. I have fixed the Linux build now so you can move on to Android next.


Bug in v1.0.2: Alarm Panel Always Shows "Armed Home" Regardless of Arming Mode

I noticed a minor bug introduced in version v1.0.2: regardless of the arming mode (0, 1, 2, or 3), the Alarm Panel in Home Assistant always displays "Armed Home."
Each zone in Satel Integra supports four arming modes:
0 - Full
1 - Full + bypass
2 - Stay
3 - Stay, delay=0
The integration, however, only recognizes two armed states:

Armed Home
Armed Away

It seems that modes 0 should map to Armed Away, while modes 1, 2 and 3 should map to Armed Home. This logic was likely implemented in earlier versions (prior to v1.0.2), but the current version appears to have changed this mapping (by always displaying Armed Home, regardless of the real alarm arm type)
The arming actions in Home Assistant work currently as follows:

Clicking Armed Away arms the system as type 0 (Full) - but still after arming, the Alarm Panel would display "Armed Home" anyway
Clicking Armed Home arms the system as type 1 (Full + bypass)

Update:
I also noticed that the Home Assistant Alarm Panel actually has a third arm mode (Armed Night). However, I’m not sure if Armed Night was properly configured in the Satel Integra integration before version v1.0.2. This might be worth revisiting to clarify the intended mapping and functionality.

Are you sure you're not using 1.0.2-beta1?
Because this exact regression bug was fixed between 1.0.2-beta1 and final release 1.0.2.

You are right, I was using 1.0.2-beta1. Everything works fine now. Sorry to bother you.
In Satel there are only these modes available:
0 - Full
1 - Full + bypass
2 - Stay
3 - Stay, delay=0
Initially I was thinking that maybe type 2 (stay) could be configured as night mode, but actually after reading about this mode a bit more it doesn't seem to be very useful mode for a regular home owner and it doesn't really work as night mode.
2 - wejścia o typie reakcji 3. OPÓŹNIONA WEWNĘTRZNA nie będą czuwać, 8. ZEWNĘTRZNA wywołają cichy alarm, a pozostałe alarm głośny
2 - Inputs with reaction type 3. DELAYED INTERNAL will not be armed, 8. EXTERNAL will trigger a silent alarm, and the rest will trigger a loud alarm.

No worries :)
I don't use the Night Mode. At night I actually use the Home Mode.
In fact I use a Template Alarm which then controls two different Satel zones depending on the armed mode:

interior motion sensors (armed when away only)
doors and windows sensors (armed when away or home)

That's also what I do :) ...separate Template Alarm controlling 3 Satel zones. Thanks again for making this integration much better than the original one included in HASS.


Accept target Flag

cargo fix doesn't currently have a flag allowing the user to specify the target platform.

Nvm-- I see now that I can pass extra flags after "--" to set cargo options.


Federation API should point to the URL for the node API currently pointing to the open_neuro database (https://api.neurobagel.org/)

[x] Update the NEUROBAGEL_NODES in federation_api clone on the server to include the api pointing to open_neuro graph
[x] Build the image
[x] Stop the current container and run a new container based on the newly created image

For reviewer: Please check the federation_api clone on the server or run an empty query on the public query tool you should be able to see 10 duplicate datasets.

Looks good @rmanaem. I think we have fixed the duplicates since you wrote this, correct? Right now I see 353 datasets with an empty query - and that's good. We can close this issue


Build

👷 Deploy Preview for creds processing.
🔨 Explore the source changes: 3c578822563d79cb507c62e09914c46335d9bef7
🔍 Inspect the deploy log: https://app.netlify.com/sites/creds/deploys/6115078099b1cf0007bb7c11


docs: Incremental improvements

Partial completion of the items cataloged
in issue #180:

Def and objective of the library

Core features -- need Eng to enhance this

Installation (minus dev env)

Move the retrieval model info to sep page.

Initial attempt at API documentation

Is this ready for review? If so, it could help to add the tag: status/needs-review.


Write a Ruby program to find area of a rectangle

Description
Write a Ruby program to find area of a rectangle
Area of rectangle = Length × Width
Length : 2
Width  : 3

Area : 6

How to contribute

Save the solution in program/FindAreaOfARectangle.rb file
Add FindAreaOfARectangle.rb file in find-area-of-a-rectangle folder

!assign


py-irt: command not found even after doing pip install --upgrade py-irt

Hey @EntilZha and @jplalor! Just saw that eval has been implemented :) Thanks a lot! I know that @jplalor had already published version 0.2.1 and done the poetry build required for py-irt to be used as a command in bash. For some reason, when I try to upgrade the package on pip, it doesn't recognize that there is a new version of the package available. To summarize the issue:

What I tried to run: Tried to run pip install --upgrade py-irt. Nothing gets upgraded; against all dependencies, I get an output of Requirement already satisfied in ........ Uninstalling and reinstalling does not help. To confirm that an issue exists, I tried uninstalling the package and downloading intermediate versions by explicitly running pip install py-irt==0.2.1 and pip install py-irt==0.3.0. Bash output shows ERROR: Could not find a version that satisfies the requirement py-irt==0.2.1 and ERROR: Could not find a version that satisfies the requirement py-irt==0.3.0.
What I expected to happen: I expected the py-irt package to be bumped up from the current version on my machine (version 0.1.1) to 0.3.0 (latest release about 40 minutes ago).
What actually happened: No upgrades occurred. Still stuck on py-irt version 0.1.1.
Python version: 3.6.9. pip version:  21.1.3. All installations done inside virtual environment created using venv.

Could one of you please look into what the issue might be and why the versions are not actually available using pip? Is it just me or are other people running into this issue as well? Please respond at your earliest convenience! Thanks a ton!

Can you upgrade to python 3.7 or later? The new versions require 3.7 or greater, as python 3.6 support is ending soon. Then you should be able to pip install the latest version.

Yup, works well! Thanks a lot! Been using python 3.6 by default for a long time now 😅


Allows findFFTW to also find MPI libraries. Indentation was aligned

As the title states. FFTW-MPI-libraries are found and included now, too.

This is great, thanks a lot! Merged.

This is great, thanks a lot! Merged.


fix missing provides statement in splunk_app provider

This will remove warnings such as the following:
Recipe: test::default
     * splunk_app[bistro-remote-file] action install[2015-08-17T00:35:34+00:00] WARN: Class Chef::Provider::SplunkApp does not declare 'resource_name :splunk_app'.
   [2015-08-17T00:35:34+00:00] WARN: This will no longer work in Chef 13: you must use 'resource_name' to provide DSL.

Obvious fix :rocket: :cake:


[🐛 Bug]: Multiple Custom Widget Not rendering on dash

VS Code Environment
Version: 1.70.2
Commit: e4503b30fc78200f846c62cf8091b76ff5547662
Date: 2022-08-16T05:38:59.695Z (6 days ago)
Electron: 18.3.5
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 21.6.0
Marquee Version
v3.2.1659813370
Workspace Type
Local Workspace
What happened?
I am trying to render multiple custom widget from the same extension host.
What I did -

ensured both marqueeExtensiondefineWidgets names are different for both widgets.
imported the 2 custom widgets into a single file, ex) importing widget1.ts and widget2.ts and exported them together from a single file.
marquee pointer on package.json widgets.js file.

Output -
widget list shows them out but the dash just shows the loader.
extension developement host console shows no errors.
What is your expected behavior?
Be able to have multiple widget windows.
Relevant Log Output
No response
Code of Conduct

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

Is there an existing issue for this?

[X] I have searched the existing issues

Given #210 got merged I guess we can close this.


Add support for Steam Input controllers

Steam Input provides a way to create virtual controllers that are calibrated through the Steam libraries (including ~arbitrary remapping of axes and buttons), then presents the resulting calibrated controller to other applications as a generic joystick.
Trying this out with a Zuiki "One Handle MasCon for Nintendo Switch" however, I found that the mod would fail to initialize, and the logs reported some exceptions with unimplemented functions. I figured I would take a stab at resolving those issues.
While I was at it, I thought it would be also interesting to include a feature to allow multiple train controls to be mapped onto a single axis. For instance, this can be used to assign the lower range to the independent brake and the upper range to the train brake. This way, a single physical movement can move through multiple in-game brake levers without additional hardware.
For more details, see the individual commit messages.

Example uncaught exception being thrown that would prevent initialization before this PR:
[dvDirectInput] Version '0.5.2'. Loading.
[dvDirectInput]
[dvDirectInput] Device Fields
[dvDirectInput] InstanceGuid, 11ff28de-28de-0001-0000-504944564944
[dvDirectInput] ProductGuid, 11ff28de-28de-0000-0000-504944564944
[dvDirectInput] InstanceName, Controller (XBOX 360 For Windows)
[dvDirectInput] ProductName, Controller (XBOX 360 For Windows)
[dvDirectInput] ForceFeedbackDriverGuid, 00000000-0000-0000-0000-000000000000
[dvDirectInput] UsagePage, Generic
[dvDirectInput] Usage, VrHeadTracker
[dvDirectInput]
[dvDirectInput] Joystick Properties
[dvDirectInput] Joystick Properties for Properties
[dvDirectInput] Properties, AutoCenter, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, AxisMode, Absolute
[dvDirectInput] Properties, BufferSize, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, ClassGuid, 745a17a0-74d3-11d0-b6fe-00a0c90f57da
[dvDirectInput] Properties, DeadZone, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, ForceFeedbackGain, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, Granularity, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, InstanceName, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, InterfacePath, \\?\hid#vid_28de&pid_11ff&ig_00
[dvDirectInput] Properties, JoystickId, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, MemoryLoad, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, PortDisplayName, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, ProductId, 4607
[dvDirectInput] Properties, ProductName, Controller (XBOX 360 For Windows)
[dvDirectInput] Properties, Range, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, Saturation, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, TypeName, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, UserName, Exception has been thrown by the target of an invocation.
[dvDirectInput] Properties, VendorId, 10462
[dvDirectInput]
[dvDirectInput] Joystick Fields for Properties
[dvDirectInput]
[dvDirectInput] Joystick Properties for CreatedEffects
[dvDirectInput] [Exception] OnToggle: TargetInvocationException - Exception has been thrown by the target of an invocation.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> SharpDX.SharpDXException: HRESULT: [0x80004001], Module: [General], ApiCode: [E_NOTIMPL/Not implemented], Message: Not implemented

  at SharpDX.Result.CheckError () [0x00014] in <0988cdfd1a0b4c70be6bf3ca351241b2>:0
  at SharpDX.DirectInput.Device.EnumCreatedEffectObjects (SharpDX.FunctionCallback arg0, System.IntPtr arg1, System.Int32 arg2) [0x00031] in <4cdd20e40d4246b28b3294fba5f0faf6>:0
  at SharpDX.DirectInput.Device.get_CreatedEffects () [0x00012] in <4cdd20e40d4246b28b3294fba5f0faf6>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <eae584ce26bc40229c1b1aa476bfa589>:0
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <eae584ce26bc40229c1b1aa476bfa589>:0
  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] index, System.Globalization.CultureInfo culture) [0x00038] in <eae584ce26bc40229c1b1aa476bfa589>:0
  at System.Reflection.PropertyInfo.GetValue (System.Object obj) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0
  at dvDirectInput.Input.JoystickDebug (SharpDX.DirectInput.DeviceInstance device, SharpDX.DirectInput.Joystick joystick) [0x000f7] in <011991677f5944a389e052d9f9c8b86c>:0
  at dvDirectInput.Input.Initialise () [0x00066] in <011991677f5944a389e052d9f9c8b86c>:0
  at dvDirectInput.Main.OnToggle (UnityModManagerNet.UnityModManager+ModEntry modEntry, System.Boolean value) [0x0000d] in <011991677f5944a389e052d9f9c8b86c>:0
  at UnityModManagerNet.UnityModManager+ModEntry.set_Active (System.Boolean value) [0x0006a] in <edf4be290c884482876de946a0f9e363>:0
[dvDirectInput] Loading time 0.43 s.


Home Assistant crashes with beta version of integration

Running the beta v2.0.0b14 on Home Assistant I finally figured out that it was the problem which caused Home Assistant to crash and restart all the time. After disabling the integration I got Home Assistant running.
I have tried to capture logs of this, but Home Assistant does not report this as the issue in the logs.
Using a Dreame L10s Ultra with map feature enabled.
How can I provide you with useful logs for this? Or is it a known issue with the beta?

Install v2.0.0b14 again properly.

I was using that version. What do you mean with properly?


acpi: Reword PLIC/APLIC namespace requirement

ACPI_80 requirement is only for systems with either PLIC or APLIC. Reword it to make it clear.

@ved-rivos @andreiw - please help review whether this makes requirement clear.

@vlsunil could we also update this statement:
"the MADT will also contain either PLIC or IMSIC/APLIC structures"
to
"the MADT will also contain either PLIC or APLIC structures"

@vlsunil could we also update this statement: "the MADT will also contain either PLIC or IMSIC/APLIC structures" to "the MADT will also contain either PLIC or APLIC structures"

Yep, doing so in https://github.com/riscv-non-isa/riscv-brs/pull/166


Windows / Install additional packages in standalone executable version

This is a user request that was mentioned during a meeting today (presentation of DataLab to a research laboratory).
The use case is the following:

The end-users are working in scientific experimental facilities
The target OS is Microsoft Windows
Specific features will be required: developing specific plugins in DataLab meets those requirements
The easiest way to deploy DataLab is the standalone version (Windows installer)

However, when developing plugins, one has to rely on the Python environment in which DataLab is executed. For the standalone version, that is the frozen executable Python environment built with PyInstaller. The issue is that this specific environment does not allow to install additional packages that would be required by the third-party plugins.
So, we propose to investigate an alternative to PyInstaller: building our own custom WinPython distribution. This would allow to distribute DataLab on Windows with the same advantages as PyInstaller (i.e. ready-to-use standalone DataLab version) and with an access to the Python interpreter/environment, thus allowing to install additional packages.
Warning: this would also be a significant flaw as this distribution could easily be broken by the end-user (whereas the PyInstaller version is bullet proof).
Unless we have another idea to address the initial request?

The new DataLab-WinPython project implements a solution this issue.


Prepare manuals for 0.1.0 release

Go through the user and developer manuals and assume that the extension is installed on yum.postgresql.org, and filter information based on what a user should know, and what a developer should know.
Likely a lot can be "aligned" with the manuals from pgmoneta/core

@GuChad369 Can you take this ?

Yes, but could you tell me what manual you are looking for? We already have a manual that we are developing.

Is pgmoneta_ext available on yum.postgresql.org? I'm unable to install it through yum.
No match for argument: pgmoneta_ext
Error: Unable to find a match: pgmoneta_ext

Just copy'n'paste with pgmoneta_ext with all the instruction - well, include pgmoneta as well...


Strange issue with LED.on(), it just blinks

Like the title says.
Brand new Pi 3.
Brand new install of official Noobs Lite.
LEDs connected to Pi via a little open-drain breakout board that I made (just gpio to gate and drain to LED from 12V)
Boot up (set to autologin to default 'pi' account), type in 'python'.
Type in 'from gpiozero import LED'
Then 'LED(25).on()' and the LED just flashes on and goes off. I can type the same in again and it does the same, it's just going off straight away. I haven't hooked a scope up to it yet but it's got to be about 0.1s or less on-time.
LED(25).toggle() does the same thing.
Now here's the weird part.
If instead I type in 'LED(25).blink()', it happily stays on the full 1 second of the blink time, it doesn't go off straight away.
I've tried 'sudo python' and just logging in as root in case that fixes anything (I read in one of your comment something about pigpiod running as root), but no difference. Also, it's all the LEDs that I've tried. 14, 15, 18, 25 so far. Also, when I boot the pi on, LED(15) is just on. and the other three I've hooked up are off. once in python I can LED(15).off() then it behaves like the others. But I've disabled the uart raspi-config so it can't still be a resource conflict can it?
So code problem? Pi3 problem? Config.txt file has something wrong in it? Any suggestions? (I'm just about to go away for a few days over nye, but when I get back I'll try just doing it from the raw 'pigpio' library to see what that does).

It's a code problem. When you do LED(25).on() the python code in GpioZero creates an LED object on gpio 25, then calls its on() method, but because the newly-created object isn't being stored anywhere, it then gets garbage-collected, and in gpiozero when an object is garbage collected it gets 'switched off'.
So what you need to instead do is:
from gpiozero import LED
myled = LED(25)
myled.on()

and the LED will stay on, but as soon as you exit the python interpreter, it'll switch off again.
Have another look at the examples and make sure you also read this.


Where in filter in php8

Adds whereIn filter support

Closes https://github.com/matchish/laravel-scout-elasticsearch/issues/47

I downloaded the package again and but the 5.0 version was installed instead of 5.0.1. I tried to specifically download the 5.0.1 version and it says that it does not exist. Then I noticed on packagist that there is no version 5.0.1 ( I don't know if that means something ). Any idea if I might be doing something wrong ?

Added the tag to a wrong branch. Thanks) Fixed


⚠ ClamAV has degraded performance

In 7f4eebf, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 79 ms

Resolved: ClamAV performance has improved in 69c717a.


[Question] Creating a list from node outputs

wf.ISIF2_structures = collect_structure_from_nodejob(wf.ISIF2_job.outputs.vasp_output, energy_diff_threshold=0.2, job_name="ISIF2")
wf.ISIF5_structures = collect_structure_from_nodejob(wf.ISIF5_job.outputs.vasp_output, energy_diff_threshold=0.2, job_name="ISIF5")
wf.ISIF7_structures = collect_structure_from_nodejob(wf.ISIF7_job.outputs.vasp_output, energy_diff_threshold=0.2, job_name="ISIF7")
wf.ASSYST_base_structures = std.AppendToList(new_element=wf.ISIF2_structures.outputs.filtered_structures)
wf.ASSYST_base_structures = std.AppendToList(wf.ASSYST_base_structures, new_element=wf.ISIF5_structures.outputs.filtered_structures)
wf.ASSYST_base_structures = std.AppendToList(wf.ASSYST_base_structures, new_element=wf.ISIF7_structures.outputs.filtered_structures)

it complains:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[5], line 53
     51 wf.ISIF7_structures = collect_structure_from_nodejob(wf.ISIF7_job.outputs.vasp_output, energy_diff_threshold=0.2, job_name="ISIF7")
     52 wf.ASSYST_base_structures = std.AppendToList(new_element=wf.ISIF2_structures.outputs.filtered_structures)
---> 53 wf.ASSYST_base_structures = std.AppendToList(wf.ASSYST_base_structures, new_element=wf.ISIF5_structures.outputs.filtered_structures)
     54 wf.ASSYST_base_structures = std.AppendToList(wf.ASSYST_base_structures, new_element=wf.ISIF7_structures.outputs.filtered_structures)
     55 wf.pull()

File /cmmc/ptmp/hmai/mambaforge/envs/pyiron_workflow/lib/python3.12/site-packages/pyiron_workflow/nodes/composite.py:404, in Composite.__setattr__(self, key, node)
    402     super().__setattr__(key, node)
    403 elif isinstance(node, Node):
--> 404     self.add_child(node, label=key)
    405 elif (
    406     isinstance(node, type)
    407     and issubclass(node, Node)
    408     and key in self.children.keys()
    409 ):
    410     # When a class is assigned to an existing node, try a replacement
    411     self.replace_child(key, node)

File /cmmc/ptmp/hmai/mambaforge/envs/pyiron_workflow/lib/python3.12/site-packages/pyiron_workflow/nodes/composite.py:286, in Composite.add_child(self, child, label, strict_naming)
    281     raise TypeError(
    282         f"Only new {Node.__name__} instances may be added, but got "
    283         f"{type(child)}."
    284     )
    285 self._cached_inputs = None  # Reset cache after graph change
--> 286 return super().add_child(child, label=label, strict_naming=strict_naming)

File /cmmc/ptmp/hmai/mambaforge/envs/pyiron_workflow/lib/python3.12/site-packages/pyiron_workflow/mixin/semantics.py:270, in SemanticParent.add_child(self, child, label, strict_naming)
    268     pass
    269 else:
--> 270     label = self._get_unique_label(label, strict_naming)
    272     if self._this_child_is_already_at_a_different_label(child, label):
    273         self.children.inv.pop(child)

File /cmmc/ptmp/hmai/mambaforge/envs/pyiron_workflow/lib/python3.12/site-packages/pyiron_workflow/mixin/semantics.py:315, in SemanticParent._get_unique_label(self, label, strict_naming)
    313 if label in self.child_labels:
    314     if strict_naming:
--> 315         raise AttributeError(
    316             f"{label} is already the label for a child. Please remove it "
    317             f"before assigning another child to this label."
    318         )
    319     else:
    320         label = self._add_suffix_to_label(label)

AttributeError: ASSYST_base_structures is already the label for a child. Please remove it before assigning another child to this label.

How am I supposed do this? I want to collate the structures in a single list.

FWIW, I have already tried:
wf.ASSYST_base_structures = collect_structures(node_list = [wf.ISIF2_job,
                                                             wf.ISIF5_job,
                                                             wf.ISIF7_job],
                                                energy_diff_threshold = 0.1,
                                                job_names=[f"{os.getcwd()}/{structure_folder}/ISIF2",
                                                           f"{os.getcwd()}/{structure_folder}/ISIF5",
                                                           f"{os.getcwd()}/{structure_folder}/ISIF7"])

but then it complains about trying to do something with NotData, which I assume means that the nodes have not run.

Using:
i2l = pwf.inputs_to_list(3)
wf.ISIF_vaspoutputs = i2l([wf.ISIF2_job.outputs.vasp_output, wf.ISIF5_job.outputs.vasp_output, wf.ISIF7_job.outputs.vasp_output])

yields
ReadinessError: InputsToList3 received a run command but is not ready. The node should be neither running nor failed, and all input values should conform to type hints.
InputsToList3 readiness: False
STATE:
running: False
failed: False
INPUTS:
item_0 ready: True
item_1 ready: False
item_2 ready: False

So the exception is perfectly expected -- you can't assign new nodes to the same label. MWE:
import pyiron_workflow as pwf
wf = pwf.Workflow("label_is_taken")
wf.some_label = pwf.standard_nodes.UserInput(42)

try:
    wf.some_label = pwf.standard_nodes.UserInput(43)
except AttributeError as e:
    print("Everything is proceeding as I have foreseen --", e)
>>> Selection deleted
import pyiron_workflow as pwf
wf = pwf.Workflow("label_is_taken")
wf.some_label = pwf.standard_nodes.UserInput(42)

try:
    wf.some_label = pwf.standard_nodes.UserInput(43)
except AttributeError as e:
    print("Everything is proceeding as I have foreseen --", e)
>>> Everything is proceeding as I have foreseen -- some_label is already the label for a child. Please remove it before assigning another child to this label.

I want to collate the structures in a single list.

Good question/goal.
AppendToList can indeed be used to achieve this, but you only instantiate the node once, loop its own output back on itself, and then make multiple connections to the new_element input. This is super dependent on cyclic flows and execution signal management. Since we plan to change things so that cyclicity is only possible inside a While node and inputs only accept one connection, this is not a future-safe way of proceeding and I don't recommend it.
Do you know at the time of writing the graph how many of these structures you will have -- i.e. is it explicitly ISIF(2/5/7), or is it ISIF{N} where N is run-time input from the user? If it's fixed at the graph level, you can accomplish this super easily with an inputs-to-list node:
import pyiron_workflow as pwf

wf = pwf.Workflow("collect_fixed_set")
wf.d1 = pwf.standard_nodes.UserInput(10)
wf.d2 = pwf.standard_nodes.UserInput(20)
wf.d3 = pwf.standard_nodes.UserInput(30)
wf.as_list = pwf.inputs_to_list(  # n: int, /, *node_args, ...
    4,
    wf.d3,
    25,  # Can mix and match data and connections, as usual
    wf.d2,
    wf.d1
)
wf()
>>> {'as_list__list': [30, 25, 20, 10]}

I.e. we specify that we're collecting 4 things (under the hood this is dynamically subclassing a generic list node parent class to a subclass with fixed IO -- 4 inputs), then give input connections/data for where to get those things.
If you need to do it where the length of the list is variable at run-time, then I think we need to figure out how to express your action as a "body node" and stick it in a for loop node. If the length isn't variable the inputs-to-list node is cleaner, IMO.
I looked on pyiron_nodes for the assyst nodes but didn't see anything -- is this available somewhere I can read it? It's not necessary, but if we need to go to making a body node macro I won't be able to give any help on formulating it without access to the node package details.

Using:
i2l = pwf.inputs_to_list(3)
wf.ISIF_vaspoutputs = i2l([wf.ISIF2_job.outputs.vasp_output, wf.ISIF5_job.outputs.vasp_output, wf.ISIF7_job.outputs.vasp_output])

yields
ReadinessError: InputsToList3 received a run command but is not ready. The node should be neither running nor failed, and all input values should conform to type hints.
InputsToList3 readiness: False
STATE:
running: False
failed: False
INPUTS:
item_0 ready: True
item_1 ready: False
item_2 ready: False

Yeah, the problem here is [wf.ISIF2_job.outputs.vasp_output, wf.ISIF5_job.outputs.vasp_output, wf.ISIF7_job.outputs.vasp_output]. Python doesn't know how to make a list of the output channels and so the node tries to treat the whole list as a single piece of input data instead of a bunch on input connections. You were absolutely on the right track here though, and I think my co-temporaneously written example should clear it up.


Error dumping organization GraphQL error: An unknown error has occurred

I've tried dumping contents of a space in both CSV and JSON formats and getting an error.
yarn --silent dump --space=CIT --output=CSV > ~/Downloads/dump.csv
Error dumping organization GraphQL error: An unknown error has occurred {
  "graphQLErrors": [
    {
      "message": "An unknown error has occurred",
      "locations": [
        {
          "line": 24,
          "column": 7
        }
      ],
      "path": [
        "workItems",
        "workItems",
        26,
        "actor"
      ],
      "extensions": null
    }
  ],
  "networkError": null,
  "message": "GraphQL error: An unknown error has occurred"
}

yarn --silent dump --space=CIT --output=JSON > ~/Downloads/dump.json
Error dumping organization GraphQL error: An unknown error has occurred {
  "graphQLErrors": [
    {
      "message": "An unknown error has occurred",
      "locations": [
        {
          "line": 24,
          "column": 7
        }
      ],
      "path": [
        "workItems",
        "workItems",
        27,
        "actor"
      ],
      "extensions": null
    }
  ],
  "networkError": null,
  "message": "GraphQL error: An unknown error has occurred"
}

Any help would be greatly appreciated.
Thanks!

@chachicamejo thank you for the report and sorry for the hassle. We'll dig into this and figure out what's going on.

@chachicamejo This should now be resolved. Please let us know if it works for you.

Worked great! Thanks for the prompt resolution.


allow any Token[A] as Output value

Tyler, could you give me a quick explanation of the need for this?  According to the docs for CF Outputs, the value can be:  "literals, parameter references, pseudo parameters, a mapping value, and intrinsic functions" (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html).  I believe we have all of those covered with it typed to AmazonFunctionCall[R] except for literals, but I'm not sure how useful a literal output is.  It'd seem to me that for an output to have any use it would be dynamic in some respect.
I'm not sure what "mapping value" means distinct from the intrinsic function Fn::FindInMap (which is covered), but that might be something we're missing too.
Not opposed to opening this up if there are good cases for literals, just need a little help seeing it.  Or maybe I'm totally missing the intent here completely (very possible).  Thanks!

We are trying to build as output a URL based on different values from the cloudformation script. This resolves to just a general Token[String]


Package installation failed error

In the docker build pipenv install is failing with below error.

before new release it was working fine, after the latest release on Nov  5, 2022 it is giving this error.
We get this error only if the Pipfile contains custom packages, otherwise works fine.
And tried with some older pipenv version working fine for custom packages.
may i know the reason why it is failing for latest pipenv.
Dockerfile:

Pipfile:

@Raghuveeranagouda You must specify the indexes of packages in the  pipfile that do not get pulled from the default source (the first source in the file).  Optionally, you may try your luck with this option:
[pipenv]
install_search_all_sources = true

https://pipenv.pypa.io/en/latest/advanced/#specifying-package-indexes

I'm just going to piggyback on this issue as I think I have a similarly related one I want clarification on.
So I have a Pipfile that looks like the following:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[[source]]
name = "nexus"
url = "<private repo>"
verify_ssl = true

[packages]
my_package = {version = "*", index = "nexus"}

[requires]
python_version = "3.9"

where my_package is a package uploaded to our private repo which has some dependency which can be found on the usual pypi repo (pika in this case, but this issue applies to any sub-dependency not on our own repo)
On version 2022.10.25 this would install just fine, no issues whatsoever. However in subsequent versions it will fail when doing pipenv install --skip-lock (paths etc removed as this is for work):
Installing dependencies from Pipfile...
An error occurred while installing my_package! Will try again.
Installing initially failed dependencies...
[pipenv.exceptions.InstallError]: Looking in indexes: <private repo>, <private repo>
[pipenv.exceptions.InstallError]: Collecting my_package
[pipenv.exceptions.InstallError]:   Using cached <private repo>/my_package/0.7.1/my_package-0.7.1-py3-none-any.whl (15 kB)
[pipenv.exceptions.InstallError]:   Using cached <private repo>/my_package/0.7.0/my_package-0.7.0-py3-none-any.whl (15 kB)
[pipenv.exceptions.InstallError]:   Using cached <private repo>/my_package/0.6.0/my_package-0.6.0-py3-none-any.whl (12 kB)
[pipenv.exceptions.InstallError]:   Using cached <private repo>/my_package/0.5.0/my_package-0.5.0-py3-none-any.whl (12 kB)
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]: The conflict is caused by:
[pipenv.exceptions.InstallError]:     my_package 0.7.1 depends on pika
[pipenv.exceptions.InstallError]:     my_package 0.7.0 depends on pika
[pipenv.exceptions.InstallError]:     my_package 0.6.0 depends on pika
[pipenv.exceptions.InstallError]:     my_package 0.5.0 depends on pika
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]: To fix this you could try to:
[pipenv.exceptions.InstallError]: 1. loosen the range of package versions you've specified
[pipenv.exceptions.InstallError]: 2. remove package versions to allow pip attempt to solve the dependency conflict
[pipenv.exceptions.InstallError]: ERROR: Cannot install -r ~\appdata\local\temp\pipenv-77lf0fhm-requirements\pipenv-7_26ucmn-hashed-reqs.txt (line 1) because these package versions have conflicting dependencies.
[pipenv.exceptions.InstallError]: ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
ERROR: Couldn't install package: [Requirement(_name='my_package', vcs=None, req=NamedRequirement(name='my_package', version='', req=Requirement.parse('my_package'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=my_package, path=None, uri=None, extras=(), markers=None, vcs=None, specifier=None, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=my_package)>), markers=None, _specifiers='', index='nexus', editable=False, hashes=frozenset(), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=my_package, path=None, uri=None, extras=(), markers=None, vcs=None, specifier=None, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=my_package)>, _ireq=None)]
 Package installation failed...

If however I add the pika dependency to the Pipfile before the my_package dependency it will create the venv fine.
This I guess is a workaround, however, we have multiple packages, all requiring different dependencies (some of which are nested), so it isn't a sustainable solution to add all the dependencies for each package in each place we require them.
I'm inclined to think that this commit is likely for this change.

@monkeyman192 That commit was only first included in 2022.11.11 but you say versions after 2022.10.25 have the issue.  2022.10.25 was the version pipenv to include/use pip=22.3.  You can bypass the effect of the change you referenced by adding :
[pipenv]
install_search_all_sources = true

Since you are using multiple package indexes, I recommend taking a read through:  https://pipenv.pypa.io/en/latest/advanced/#specifying-package-indexes

@matteius Ok, I maybe wasn't exhaustive in my determination of the version that this occurred in, sorry.
I thought I had had a good read of that documentation, but upon re-re-read, I see the following:
"When PyPI is omitted, then any public packages required either directly or as sub-dependencies must be mirrored onto your private index or they will not resolve properly"
I guess that clarifies that.
So one final question I have then, is it possible for a sub-dependency to be written in such a way that when the dependency resolution occurs it will pull some packages from the public and some from the private, or is it the case that, once a package is in the private repo, ALL its dependencies must also be there (unless I specify install_search_all_sources = true?)

@monkeyman192 That part of the documentation about mirroring pypi packages came from pip's recommendation, but it is not a strict requirement.  It is totally possible to use multiple indexes.  It also seems to me that pip used to prefer pypi if it was there, but now their documentation says:

pip looks for packages in a number of places: on PyPI (if not disabled via --no-index), in the local filesystem, and in any additional repositories specified via --find-links or --index-url. There is no ordering in the locations that are searched. Rather they are all checked, and the “best” match for the requirements (in terms of version number - see PEP 440 for details) is selected.

You asked:

So one final question I have then, is it possible for a sub-dependency to be written in such a way that when the dependency resolution occurs it will pull some packages from the public and some from the private, or is it the case that, once a package is in the private repo, ALL its dependencies must also be there (unless I specify install_search_all_sources = true?)

Well, the way it has been working is that the first index in the Pipfile is the default, and so unless specified it should pull from the default.   Before the change you referenced it really was searching all sources whether or not that setting was defined, which I saw as a bug from when I first worked on index restricted packages for pipenv (to prevent package confusion attacks).
I think you aren't the first person that has run into the desire to specifying in the sub-dependency what index it should be pulled from.   I am not aware of current support for this, nor am I opposed to it being added.  I think it would require some thought about how its done -- possibly a pipenv section of a pyproject.toml could specify this?
The workarounds are basically are:  If the lock phase resolution is working but install phase is not, then install_search_all_sources = true is probably a good option for you.  I have to ask though why you are using --skip-lock, it defeats the security benefits of having a lock file with hash verification, which seems especially important when using install_search_all_sources enabled.
Alternatively, as you found, you can specify manually the indexes of packages in the Pipfile that pull from a non default index, which would also solve any resolver issues during the lock phase.   I think that could be improved upon if we could process an index override from the pyproject.toml into the metadata and use that when present.   That would also be a fair amount of work to get going and would require community support to figure out the past paths forward.   That is the current lay of the land.

Yeah ok, sounds like it would be a decent amount of work to implement something like specifying dependencies in sub-dependencies. setuptools doesn't seem to include functionality to provide an index for some given package, and things like the .toml file isn't included in the package, so there is probably no way to have that info in the package without some extra work.
Regarding using --skip-lock, I'm just doing this because it's quicker in this case (ie. to indicate the error occurs when trying to install the packages).
Although, running this without --skip-lock throws up a different error...
Running pipenv install with a Pipfile which has one dep which is in the private repo, and this dep itself has a dependency which is also in the private repo, when looking at the lock file, this sub-dependency doesn't have the index listed:
        "first_dependency": {
            "hashes": [
                "sha256:cac8fce50f1fd3ccd15290e98aeb33dd625abc2e6a9040c9822baae5bf8b52af",
                "sha256:cfd7e1aef870926e9237c3dce304bcf0d1bfd74a287e8a9c9d61169e1685590e"
            ],
            "index": "nexus",
            "markers": null,
            "version": "==1.0.0"
        },
        "sub_dependency": {
            "hashes": [
                "sha256:6573bdd980034f2c449102a0e16061a9f731e2abbc5682bf96af16446ed2a57c"
            ],
            "markers": "python_version >= '2.7'",
            "version": "==21.1.1.dev4+gc5abe93"

So when running with a lock causes this issue where it says it can't find this dependency, and running without the lock I get the issue mentioned in my first comment.
Of course adding install_search_all_sources = true fixes this issue, but again, figured I'd mention this.
I guess this all amounts to us just needing to use this value in our pipenv files until the possibility of a more precise solution.
Thanks for the help!

@Raghuveeranagouda You must specify the indexes of packages in the pipfile that do not get pulled from the default source (the first source in the file). Optionally, you may try your luck with this option:
[pipenv]
install_search_all_sources = true

https://pipenv.pypa.io/en/latest/advanced/#specifying-package-indexes

Thank you @matteius, now I am able to install packages with indexes.

@Raghuveeranagouda You must specify the indexes of packages in the pipfile that do not get pulled from the default source (the first source in the file). Optionally, you may try your luck with this option:
[pipenv]
install_search_all_sources = true

https://pipenv.pypa.io/en/latest/advanced/#specifying-package-indexes

Thank you bro!! Help me a lot this!


chore: fix build

For some reason it seems tsc is using node10 resolution, this PR just excludes eslint-plugin from root typecheck script and includes a new typecheck script in eslint-plugin (that will run from root).

It seems @cyberalien found the problem...

It seems @cyberalien has found the problem...

Unfortunately no.
I was working with slightly outdated branch, updating esno fixed issue. Then noticed branch was outdated, pulled latest, which already has latest esno and it works without issues.


Added patch to redefine the OS nova service sha

This change patches our nova service sha such that we're able to ensure
the BDM issue [0] is resolved for our customers. The patch file pulls
in a refspec [1] for an upstream change in the stable/kilo branch for nova
which resolves the issue. Sadly because this change is so late in the kilo
lifecycle its unlikely upstream will accept the changeset. To ensure all customers
upgrading to kilo or deploying green-field Kilo have a deployment that works as
expected the patch has been created to redefine the nova sha git source and sha.
This does not impact the deployment process for normal stable support workflow
however it does ensure anyone building the wheels, locally or remotely have correct
package sets. The change simply instructs our wheel building process to create a
wheel using the stable sha as the base and the refspec out of gerrit cherr-picked
on top.
[0] - https://bugs.launchpad.net/nova/+bug/1457527
[1] - https://review.openstack.org/#/c/269421
Signed-off-by: Kevin Carter<EMAIL_ADDRESS>

:+1:

:+1:


Validate kernel versionlocks

Issue #, if available:
#1193
Description of changes:
Adds some validation on kernel versionlocks, since multiple locks can lead to unexpected behavior.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Testing Done
Succeeds:
> make 1.25
...
2023-02-20T19:59:10-08:00: ==> amazon-ebs: Provisioning with shell script: /Users/mckdev/github/awslabs/amazon-eks-ami/scripts/validate.sh
2023-02-20T19:59:10-08:00:     amazon-ebs: Verifying that kernel version 5.10.165-143.735.amzn2.x86_64 matches ...
2023-02-20T19:59:10-08:00:     amazon-ebs: Kernel matches expected version!
2023-02-20T19:59:10-08:00:     amazon-ebs: Verifying that the kernel has the correct versionlock...
2023-02-20T19:59:11-08:00:     amazon-ebs: Kernel has the correct versionlock!

Did you validate that this works with the problematic AMI?

Yep! Updated the PR description.


ycsb micro benchmark frontend loggers bootstrap

Logging is now pushed, Do we also want to have an option for checkpoints?

Yes, I'll add the option for checkpoint.


Fixing colorama global init in print_result

Fixing issue #29
Hello,
Here we proposed a fix for the issue 29.
Thanks and have a great day!
Best regards,
geg347

Thanks for the PR, two things:

shouldn't print_result include the same change?
Looks like tests will need to be fixed as the output is probably differing a bit (probably the escape codes changed slightly)

Hello,
You meant print_title.
I just added the fix to this function.
It may fix the pipeline as the init function wasn't called in the print_title function. Now it is.
I have a question : should I also add the deinit function in this file (https://github.com/nornir-automation/nornir_utils/blob/master/nornir_utils/plugins/processors/print_result.py).
I don't know where to put this though. init looks a bad idea...
Thanks

I am starting to think we should try a different approach to make this more robust. I think the main issue is due to the kwargs being passed to init:
init(autoreset=True, strip=False)

I suspect that if we remove autoreset=True the problem will go away. Would you mind testing? That would mean though we need to add Style.RESET_ALL at the end of every print but I believe we should do that and avoid messing with stuff that might have a side-effect outside of the function itself. Thoughts?

I think we should investigate further and fix the issue completely instead of trying to workaround it. What I think we need to do is add the reset to all prints, for instance:
from:
   print("{}{}{}{}".format(Style.BRIGHT, Fore.GREEN, msg, "*" * (80 - len(msg))))

to:
   print("{}{}{}{}{}".format(Style.BRIGHT, Fore.GREEN, msg, "*" * (80 - len(msg)), Style.RESET_ALL))

Same behaviour with Style.RESET_ALL at the end of all print statements.
The display of a Nornir task is still broken (it is all the same color).


Bugfix - Enumerating collection with documents expiring causes early return

Addresses bug found in #421 i.e. enumerating a collection from a search where the documents were expiring causes an early return resulting in less documents than expected.
@slorello89 Side note - I noticed that the non-generic SearchResponse would return an empty Document i.e. an empty dictionary documentHash, akin to returning null. But the generic SearchResponse<T> just skips the document instead. In the same vein, AggregationResult and AggregationResult<T> also seem to have a general pattern of returning null to their callers (whether internal or external to this package). This seemed like an unexpected functional difference between these classes that all handle a RedisReplys so I wanted to call it to your attention for potential future review since these would be out of scope of a patch.

@slorello89 Hey Steve, I wasn't sure if you got notifications from PR descriptions so here's an extra ping if not :) I wanted to get your thoughts on the "side note" mentioned there before publishing this PR, I found some stuff that is probably out of scope for this change.

Hi @jrpavoncello - AggregationResults are a bit different in that they will actually return null items based on what's in the pipeline:
<IP_ADDRESS>:6379> FT.AGGREGATE catalogentry-idx * LIMIT 0 10
 1) (integer) 1
 2) (empty array)
 3) (empty array)
 4) (empty array)
 5) (empty array)
 6) (empty array)
 7) (empty array)
 8) (empty array)
 9) (empty array)
10) (empty array)
11) (empty array)

WRT to the non-generic version of SearchResponse, I think that I left that there in case someone wanted a more raw version of the Search Response someday, which wasn't a need that ever materialized, so realistically it's probably dead code which should be removed at some point.


Windows Wifi Passwords Extractor

What type of PR is this? (check all applicable)

[ ] 🚀 Added Name
[x] ✨ Feature
[ ] 🌟 ed the repo
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
A simple script using windows built-in netsh utility to output all saved Wi-Fi passwords to WifiExtractorRSLT.txt along with wifis.txt being the saved WIFI's SSIDs.
How does it work?
Script itself, although looks scary is pretty simple.

We grab all saved WIFI's SSIDs using netsh WLAN show profiles and push them into wifis.txt
We read all the SSIDs into a vector.
Using a for loop we cycle through all recently created vector elements and use them in command netsh WLAN show profile {SSID} key=clear
We write all the outputs into a text file WifiExtractorRSLT.txt.

NOTE: I'm sorry about complex variable names. I wanted to avoid naming conflicts if used with other programs.
Add Link of GitHub Profile
https://github.com/Crowfunder

unstage the changes in  README.md file  and add your name in CONTRIBUTERS.md
beacuse your name will be removed when i run the script.my script fetch the data from CONTRIBUTERS.md file.


convenience method of .mock off the mocked object

right now in order for me to get info about the mock from the mocked object/method, i have to hit mocked_method.mock.. would be nice to just do mocked_method.

Hello, we tried to solve the issue.
This is what we did:
Modified the MockMethod class to expose information methods directly, eliminating the need to access them through the 'mock' property. This change improves the user experience by allowing direct access to mock information.
You can review changes in this commit: https://github.com/mnmnk43434/clarkedb-grift-250/commit/742fa7fd953af7d5c663bf3e17994388888b7855.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

Came here to say this ^. Every time I go to mock something I have to think twice when I have to do mock.mock.count, which I then turn into suspender_mock.mock.count or something like that. Would be easier to read my code and more ergonomic if I would just mock.count or suspender_mock.count


Not Working

I just created a fresh NodeBB installation with no other plugins and no changes to any settings. I installed the Dice Roller Plugin, then "Rebuilt/Restarted". I then activated the plugin. Re-ordered and moved the plugin to 2nd place (just to me sure), then "Rebuilt/Restarted" again.
Tried several dice rolls. The "roll" is not rendered; nothing happens, just a post with the notation.
Suggestions? ... did I forget/miss something?

Hello,
Very strange, Ihave the 2.5.0 installed and it works very well.
BTW, what version of nodeBB you have...
Have you a screenshot of the result ?

NodeBB 2.5.7 ... going to reinstall from scratch to ensure all is well. I'll let you know in a few.

Sorry, very busy. So, I reinstalled everything from scratch as follows ...

Installed NodeBB v2.5.8 ... no issues; everything working fine.
I installed nothing else.
Dice Roller: Plugins > Install Plugins > Search "Dice".
Click "Install" (Green Button) ... no issues.
Enable the dice plugin.
Dashboard > "Rebuild & Restart" (Red Button).
Test Dice Roller in Post ... "/roll 1d20" ... no results (see attached screenshot).

Am I missing something obvious?

Any ideas?

This is an issue just with with NodeBB v2.5.8 and will be fixed in the next v2 release, for now you can edit your package.json to set nodebb-theme-persona to version 12.1.12 and run npm install

I guess I'll have to wait. "npm install<EMAIL_ADDRESS>isn't an option for me; I get an error; I'm using Cloudron.
THX for the "Investigation"! ... I travel for a living, hope this gets works soon; I need a fix :)

If you're confident we'll get this working, then I will continue developing the site? ... as I have lots of content to put up. THX!

I was testing here, so you can see it working on NodeBB 2.5.8 with just that one dependency updated: https://nodebb-demo.opliko.dev/topic/1/welcome-to-your-nodebb

I managed to get Persona 12.1.12 installed, the dice roller seems to be working now. Thanks for the help!

FYI ... NodeBB v2.6.0 installed Persona 12.1.12 automatically. The dice roller still works fine. THX!


Widget content effects fire before it is actually rendered in widget

Describe the bug
This is more noticeable when I navigate between frontstages - to reproduce issue widget in question should not be present in another frontstage because it needs to be unmounted first.
When rendering react component as widget contents, all effects are being fired before widget is actually visible in widget DOM. When observing it with breakpoints at useEffect/useLayoutEffect I can only see this when under highlighted element I expect to see rendered content:

This messes up layout in cases where effects were making changes to DOM or when it requires DOM to make calculations. I investigated further and used MutationObserver to confirm that widget content is actually being appended after effects fire (ContentRenderer.tsx):

Which is called because of (FrontstageDef.tsx):

To Reproduce

Open test app with at least 2 frontstages, one fronstage has a widget that has useEffect in it.
Set breakpoint for effect and navigate between frontstages.
Inspect elements tree and notice widget is not actually placed inside DOM yet even though effect fired already.

Expected Behavior
DOM is already rendered before effects fire.
Screenshots
No response
Desktop (please complete the applicable information)

OS: Windows
Browser: Electron
Version: 25.8.1 (npm version)
iTwin.js AppUI Version: 4.10.0
iTwin.js Version: 4.4.3

Additional context
No response

That is correct, we are reparenting widget content DOM node to display widget content in different parts of the UI (i.e. different panel sections or floating widgets).
React element tree is stable per frontstage to prevent re-mounts when moving/docking/merging widgets in the UI.
Widget react nodes are loaded first and are portaled to a detached DOM element (which is what you are observing).
I.e. widget rendered w/ WidgetState.Hidden will run all React lifecycle methods (like useEffect, but the DOM element will not be added to the page).
We have a custom hook useTransientState that you can use to save/restore DOM properties that are not persisted when element parent is changed (like scroll position).
The function onSave is called before removing widget content DOM node and onRestore is called after appending the DOM node.
I think you could utilize useTransientState hook for your use case as well (instead of doing your calculations in useEffect, do them in onRestore). Would that work for you?
Could you describe a little more your use-case, what calculation are you doing and what are you trying to accomplish?

Yeah, widget content is currently re-mounted when popout is opened. I think we should still be calling onSave/onRestore when popout is opened/closed.
Alternatively, we have this issue https://github.com/iTwin/appui/issues/524 for which the plan is to put https://github.com/iTwin/appui/pull/606 changes under a preview feature flag.


Multi-line method call gets joined weirdly (or: Doesn't strip whitespace when joining multi-line method call)

Ruby version: 2.7.3p183
Rubyfmt git sha: 2983e2559cfe2810ec348965b8aa2c81729901a6

Input file
def stub_server(path:, body: {})
  stub_request(
    :get,
    "https://example.com#{path}"
  ).to_return(body: body.to_json)
end

Rubyfmt's output
def stub_server(path:, body: {})
  stub_request(
    :get,
    "https://example.com#{path}"  ).to_return(body: body.to_json)
end

This breaks because
Notice the non-stripped indentation whitespace after the string. I'd expect Rubyfmt to either strip that when joining the lines or to keep the lines split.
Doesn't happen if I remove the trailing call to .to_return(…).

This is fixed in #343, the output on master is now the following (although it ends up being the same as the input in this case):
def stub_server(path:, body: {})
  stub_request(
    :get,
    "https://example.com#{path}"
  ).to_return(body: body.to_json)
end


add information about portability of compression

Based on discussion of #254 .
[av skip]

Thanks!


Add option to mask as secret all environment values exported

As in the title, the env was loaded should have an option to mask it as secret to avoid Github Action list them in the logs. For most env I can do workaround by bash script, but multiline env is quite challenging.

Document about masking values as secret https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#masking-a-value-in-log

Hi! I have added this option, use mask: true input to mask all values as secrets.
I don't know your case, but keep in mind that it is a bad idea to store secrets in .env file in the repo, use GitHub secrets for that purpose.

Thanks!


[hi] Added new glossary definition files, from tag storage to tag workload

Description:
Localised glossary contents in Hindi.
fixes https://github.com/kubernetes/website/issues/44962

Related Page -> https://kubernetes.io/hi/docs/reference/glossary/?storage=true&tool=true&user-type=true&workload=true

@sftim , Updated the PR, PTAL.

/reopen

@sftim @divya-mohan0209, Is there any changed needed in this PR or is it ready for merge.


Missing int conversions on cell_anchor_point math

In multiple places where cell["cell_anchor_point"] * X is used, the int conversion is missing, causing an error when an anchor_point is set to (0.5, 0.5) for example. I only encountered the issue with lines 179-182, but I think the others are required too.
Traceback (most recent call last):
  File "code.py", line 9, in <module>
  File "code_pyportal.py", line 285, in switch_page
  File "/lib/adafruit_displayio_layout/layouts/grid_layout.py", line 413, in add_content
  File "/lib/adafruit_displayio_layout/layouts/grid_layout.py", line 182, in _layout_cells
  File "/lib/adafruit_displayio_layout/widgets/widget.py", line 297, in anchored_position
  File "/lib/adafruit_displayio_layout/widgets/widget.py", line 234, in _update_position
TypeError: can't convert float to int

I didn't look into the math but I wonder, should it use round() rather that int() ? (which always rounds down)

I think it should always round down because we want to avoid if possible placing things outside of the display if they round up to a number higher than display size.


[BUG]Auto updating

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
Now I have to install a older version of this right. However, its automatically updates to the newest Bloxstrap version for context . I do not run multiple instances. But it automatically updates Without asking so any fixes?

There's an option in the menu that lets you toggle auto updating. It's in the Behaviour tab.

There's an option in the menu that lets you toggle auto updating. It's in the Behaviour tab.


simde support minimum version of visual studio  and  android ndk

simde support minimum version of visual studio  and  android ndk？
thanks

I don't know, sorry. If you find versions that don't work, please let us know!


How to download PDF with signature?

How to download PDF with signature?

the same issue

same..

same

same issue


app crash with android kitkat

Apparently this plugin uses Android PdfRenderer which is only available starting in API 21 (Lollipop) but the plugin itself declares minimum API 16 in it's build.gradle file.
That's probably why it's crashing, the class doesn't exist in Android Kitkat.


Automated cherry pick of #6225: apigateway: handlers: register cloudnet modules

Cherry pick of #6225 on release/3.1.
#6225: apigateway: handlers: register cloudnet modules

Codecov Report

Merging #6227 into release/3.1 will increase coverage by 0.04%.
The diff coverage is 24.59%.

@@              Coverage Diff               @@
##           release/3.1   #6227      +/-   ##
==============================================
+ Coverage         7.45%   7.50%   +0.04%
==============================================
  Files              584     585       +1
  Lines            98663   98791     +128
==============================================
+ Hits              7354    7411      +57
- Misses           90738   90808      +70
- Partials           571     572       +1

Flag
Coverage Δ

#aFlag
7.50% <24.59%> (+0.04%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/cloudcommon/db/db_dispatcher.go
0.00% <0.00%> (ø)

pkg/cloudcommon/policy/policy.go
1.58% <0.00%> (+0.04%)
:arrow_up:

pkg/compute/models/cloudaccounts.go
0.79% <0.00%> (+<0.01%)
:arrow_up:

pkg/compute/models/cloudproviders.go
1.00% <0.00%> (ø)

pkg/compute/models/dbinstance_accounts.go
2.31% <0.00%> (ø)

pkg/compute/models/dbinstance_databases.go
4.14% <0.00%> (ø)

pkg/compute/models/dnsrecords.go
27.52% <0.00%> (-0.39%)
:arrow_down:

pkg/compute/models/elasticcache_instances.go
1.17% <0.00%> (ø)

pkg/compute/models/loadbalancerbackendgroups.go
1.48% <0.00%> (ø)

pkg/compute/models/loadbalancerbackends.go
2.70% <0.00%> (ø)

... and 18 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 0dda625...254bac3. Read the comment docs.


initial loading of Ocean instance takes long time

For whatever reason the initial Ocean.getInstance() is taking a long time (~10-20s) when connecting to Nile. Investigate and make it as fast as possible.
The UI hangs for a long time on this line: https://github.com/oceanprotocol/commons/blob/master/client/src/App.tsx#L160
where the provideOcean function is calling this: https://github.com/oceanprotocol/commons/blob/master/client/src/ocean.ts#L40
Fixes

https://github.com/oceanprotocol/squid-js/pull/190
https://github.com/oceanprotocol/commons/pull/101

https://github.com/oceanprotocol/squid-js/pull/190

Fix from #190 has been deployed. Additionally, #101 introduces more fine-grained loading and feedback during initial bootstrap phase


Notification text of a single sat LN payment should have "sat" instead of "sats".

Describe the bug
When I sent a 1sat worth LN tx, in the receiver's push notification message, it says 1 sats. It should be 1 sat.
To Reproduce
Receive a 1sat worth LN payment into your blink app.
Expected behavior
Notification text on receiver side should be "1 sat".
Screenshots

Smartphone (please complete the following information):

Device: RMX3301
OS: Android 14
Version 2.2.235

Hey i wanna work on this issue ? @efecini-plentific


[Eve] Improve Eve Energy support

These changes improve the Eve Energy support

A subdriver has been implemented
It implements the switch, powerMeter, energyMeter and powerConsumptionReport capabilities
It supports the refresh capability
It reads with a timer each minute the current Watt and Watt Accumulated values from custom attributes
The powerMeter and energyMeter values are updated each values or on a refresh
A powerConsumptionReport is sent each 10 minutes by comparing the previous Watt Accumulated value with the current Watt Accumulated value

Please include some tests, as there is a significant amount happening here.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.12 out of 13 committers have signed the CLA.:white_check_mark: liuyd96:white_check_mark: inasail:white_check_mark: greens:white_check_mark: cmaschke:white_check_mark: dljsjr:white_check_mark: Timac:white_check_mark: seojune79:white_check_mark: shinasys:white_check_mark: anider001:white_check_mark: Detailzc:white_check_mark: cjswedes:white_check_mark: maxelweb-vimar:x: mikesipYou have signed the CLA already but the status is still pending? Let us recheck it.


Dashing Workshop - Can't Make Widgets Load

I've followed all the directions up until the point in part 3 when it asks me to use cURL. At which point I get the error invalid API key. I've got a dashboard up and running but I simply can't get the widgets to display. I copied all the code verbatim from this link:
https://github.com/Shopify/dashing/wiki/Dashing-Workshop
Anybody have any thoughts on what's going wrong?

So I figured out the issue was simply that I didn't have Node.JS installed so that's why my widgets weren't displaying at all. Now they are displaying and I'm no longer getting the invalid API key error.

Strange, you shouldn't need to have node.js installed for this to work. Glad you got it working though.

If your OS doesn't have a JS Script Host then you may need to install one. Windows and OSX both have em.
This is a fairly common source of trouble for newcomers to Dashing. If we included therubyracer in the default Gemfile for the template project, it would eliminate this problem -- but we wouldn't always be using your OS's native JS host. We would instead use the native V8 engine bundled with the gem.


Fix boxplot column

related issues:
Pre merge/review checklist

[x] branch is up-to-date with the branch to be merged with, i.e. master
[ ] travis build works
[ ] internal code review by requester is done:

[ ] code is formatted
[ ] removed debug output console.log, ...
[ ] use of readonly for readonly fields and interfaces fields
[ ] parameters, fields, variables that are not initialized are typed, e.g.,  function f(a) => function f(a: number)
[ ] optional options objects are typed using option interfaces, see e.g. ILineUpConfig
[ ] code is formatted using your preferred editor formatting tool (e.g. atom beautifier, WebStorm Format Code,...)
[ ] use of meaningful names in camelCase especially for public functions and fields
[ ] file structure: avoid of large code files containing multiple elements (classes, functions) better to create a nested structure, e.g., model
[ ] in case of DOM elements: assigning the id is avoided or the prefix in the lineup config is prepended
[ ] in case of css styles: global classes prepended with lu- or within a lu- namespace
[ ] public fields/function those purpose is not obvious are documented
[ ] complex code is documented
[ ] code is well structured regarding use of variable names, complexity
[ ] public interfaces (e.g. public interface of a class) are minimal, no superfluous fields, functions
[ ] complex code is not duplicated. Otherwise justified within the code, why needed

[ ] code reviewer is assigned
[ ] in case of second review round: review comments are justified or implemented

@lehnerchristian I still get a wrong rendering of the boxplots coumns after sorting (using your branch).
Reproduce:

Open the Taggle demo
Stratify by continent
Aggregate all groups
Sort Urban Population by maximum

According to the tooltip the data is sorted correctly. However, the representation is not correct, since in some Boxplots the minimum(?) outlier is highlighted.

The CircleCI build errors might occur due to @sgratzl's recent dependency updates. See commits from 04.02. and 05.02.  https://github.com/sgratzl/lineupengine/commits/develop.

The CircleCI build errors might occur due to @sgratzl's recent dependency updates. See commits from 04.02. and 05.02. https://github.com/sgratzl/lineupengine/commits/develop.

no since:
https://github.com/Caleydo/lineupjs/blob/810d264ae75f9084dff9e228657de57854afbfbc/package.json#L120
= master branch


Change the Java API to return Java types instead of GeoJSON strings

So far, this is a proof of concept that returns road surface polygons as java types (nested lists of lat/long points) across the JNI boundary, that can be rendered in the JOSM plugin.
I intend to replace all the GeoJSON string methods with an object based API that includes some properties of the geometries being returned before merging this in.

The proof of concept works end-to-end! These grey areas are the road areas calculated by osm2streets via JNI in JOSM!

I ended up creating an output.rs mod, just to stay separate from the goejson stuff for now. Having an all encompassing to_geojson kind of function that is super easy to add things to for development is valuable I think. I wanted to punt on implementing the structured output to geojson path for now.

Usage: https://github.com/BudgieInWA/JOSM2Streets/commit/c50f8b7624c87ad86b0d4afa9bbe4ef47450f299


Implement best practices for coredns app

Coming from here.
The goal of this issue is to have the App eventually adhere to standard cloud-native best-practices. The points below are to be considered non-exhaustive. Feel free to add some that make sense and remove some that don't. If this issue does not make sense (e.g. is a duplicate or covers a deprecated app) please close it.
Expected outcome:

[ ] the app has properly set PDBs (as percentages)
[ ] the app can scale horizontally based on Custom Metrics (if it makes sense)
[ ] the app runs with more than 1 replica by default (if it needs HA)
[ ] the app does not use emptyDir volumes if not strictly necessary

the app has properly set PDBs (as percentages)
This app already has PDB as percentages. Reviewing the chart I noticed that the PDB and the updateStrategy are using the same values for its configuration.

This is not really desired and could potentially cause problems. I created a PR to decouple the values, leaving PDB maxUnavailable in 25%.

I also added the option to use custom metrics for scaling in a new PR. Also created this issue https://github.com/giantswarm/giantswarm/issues/26942 for research, because scaling based on cluster size rather than usage might make more sense.

the app runs with more than 1 replica by default (if it needs HA)

It does already.

the app does not use emptyDir volumes if not strictly necessary

It does use emptyDir, and it seems to be well justified


Fix update nudge

Fix update nudge

Hi @stefanvit , could you please close the issues when they are merged? Thanks

Done


Add keyboard shortcuts actions to VisualizationFrame directly

This fixes a known issue (#1116) where keyboard shortcuts to trigger menu actions do not work.
The action has to be added to the parent frame as well as the menu itself. The Fullscreen action (F11) was already doing that correctly.
I also added a (pretty standard) keyboard shortcut for Save As.

Also, maybe we should switch to using the standard key sequences provided by Qt:
http://doc.qt.io/qt-5/qkeysequence.html#StandardKey-enum
E.g. QKeySequence::SaveAs.

My guess is that the RenderPanel has focus by default, and as long is it does, all keyboard events are routed there (which is required for tool selection etc.) instead of to the menu object. By adding the event to the parent window, I assume this allows the event to be captured even when the RenderPanel has focus.
Without this fix, if you switch focus to the menu (for example, enter and exit fullscreen with F11), then try Ctrl+S, it works. It's pretty odd behavior, but this hand-wavey explanation is the best hypothesis I have.

Even with your explanation. It isn't clear to me why it's necessary. You'd think that the Qt example I linked would work even if the menu doesn't have focus (though I'm not entirely clear on that mechanism either). Perhaps there is an issue with the passing of keypress events up from the render window which causes the visualization frame itself to be handled, but not it's children (like the menu). Since this is an incremental improvement, I'll consider it for merge, but I'll keep an eye out for a better solution.


Add API Tests

Description
List of proposed changes:

adding cpp api test

Additional Notes
Adds new dev dependencies to mock stuff

I think this looks pretty good, but it looks like there's a bit of duplicated stuff here. Is there any way to parameterize these tests so that we could, for example, run the CPPD, OAS, GIS and SEB tests as one test while passing in the program codes and handlers as parameters?

In general, we don't want to edit code to run a test - unless that code is untestable because it's not allowing injection so we can include mocks. The other thing to consider here is leveraging the tests to validate that changes to those common functions don't unexpectedly change other programs; keeping the tests individual to the program adds that layer of validation.

To add clarity to my statement, what's being tested here is the await handler(req, res), so there is a test for each one.
In the case of EI and CPP we have a env URL we are passing, so we need to validate that it's being used, but to be clear what it's testing is this line https://github.com/DTS-STN/sc-digital-centre/blob/28b2428028f90bf51fecfd221d99480b1ddcb04b/pages/api/programData/ei.js#L8
We are NOT intentionally testing the https://github.com/DTS-STN/sc-digital-centre/blob/dev/lib/api/programData.js with these.


Drag & Drop From Application Non-Functional in OS/X / Chrome

To test this, pop open the demo in Chrome and head over to an OS/X application like iTunes.
Select one or more files (I am using 3 for the sake of testing) and drag them into the drop area. The hover event will fire, but onDrop never occurs and the files are never actually uploaded.

Same issue in Chrome 45 on OS X El Capitan

I assume this is an issue with Chrome not providing any information to dataTransfer object?

The same issue on Linux. I've tried to drop images from kde dolphin and from krusader to Firefox, Chromium, but onDrop event never reached.

Only after these changes:
  onDragOver(e) {
    e.preventDefault();
    e.stopPropagation();
    return false;
  }

I was able to go into the onDrop(). Btw, there was a PR #37. Why this code was removed?

Can you guys create a PR for this one?

It's a bit weird but  #114 actually introduced that bug.
For the reference, scenario:

Open react-dropzone 3.3.0 at http://paramaggarwal.com/react-dropzone/
Drop a music file from iTunes

Chrome Version 49.0.2593.0 dev (64-bit)
OS X 10.11.2 El Capitan
Expected: Dropped files files appears
Result: nothing appears (except the state when you drag over). onDrag isn't fired
I had to revert the fix (I want to 3.2.2) to get iTunes + dropzone working again.
Any ideas what to check? Also, http://gaearon.github.io/react-dnd/examples-dustbin-multiple-targets.html (native file) works currently with my chrome and OS X.

Re-checked it once again on different project. My previous statement was not fully correct.
My observations

#114 from @newsiberian actually introduces the bug in projects with react-dnd
v3.2.2 does not have this bug in projects with react-dnd
v3.2.2 has this bug in projects without react-dnd

Conclusion
Iit depends whether there is another onDragOver listener in the project.
DND from apps works only if there is a onDragOver listener that mutates e.dataTransfer.
Another fix
Here is what works for me on both my projects. I took the idea from dropzone 1.x:
   onDragOver(e) {
     e.preventDefault();
     e.stopPropagation();
+    e.dataTransfer.dropEffect = 'copy';
     return false;
    }

But fix is too weird for PR. I hope someone will confirm/deny it or clarify what's going on.

Seems legit to me for PR. If this fixes the issue I'm happy to merge it.
Regards,
Andrey Okonetchnikov

On 03.01.2016, at 10:34, Denis Elistratov<EMAIL_ADDRESS>wrote:
Re-checked it once again on different project. My previous statement was not fully correct.
My observations
#114 from @newsiberian actually introduces the bug in projects with react-dnd
v3.2.2 does not have this bug in projects with react-dnd
v3.2.2 has this bug in projects without react-dnd
Conclusion
Iit depends whether there is another onDragOver listener in the project.
DND from apps works only if there is a onDragOver listener that mutates e.dataTransfer.
Another fix
Here is what works for me on both my projects. I took the idea from dropzone 1.x:
onDragOver(e) {
e.preventDefault();
e.stopPropagation();

e.dataTransfer.dropEffect = 'copy';
return false;
}
But fix is too weird for PR. I hope someone will confirm/deny it or clarify what's going on.

—
Reply to this email directly or view it on GitHub.

Would be happy if @pcrumm or @nanot1m tried both original fix and my fix to see if it works for their projects.
1. Original:
npm i<EMAIL_ADDRESS>
2. And mine:
npm i lendar/react-dropzone#fix-osx-apps-dnd

Hey,
Any reason why this wasn't merged in? I having the same problem, and using Lendar's branch fixes it. I'm happy to open a PR with the same change if that's what you need.
thanks,
rob

@systemizer the reason is — there is no PR for that yet. Fancy to create it? If you're up to, please also add tests for this case.

I've just published https://github.com/okonet/react-dropzone/releases/tag/3.6.0 that should fix it.


Helix extrude

I was unable to find a function to help me extrude a helix. Currently, both the extrudeRotate and extrudeLinear functions are not suitable for this task.
Would it be interesting to add this functionality to JSCAD?
I think it's a pretty basic function, for example if you want to model something like a bolt or a nut.
Here is my current naive implementation:
const helicalExtrude = (base, pitch, numberOfSlices, totalRotation) => {

    if (geom2.isA(base)) baseSlice = slice.fromSides(geom2.toSides(base))
    if (poly3.isA(base)) baseSlice = slice.fromPoints(poly3.toPoints(base))

    const sliceCallback = (progress, index, base) => {
        const zRotation = totalRotation / numberOfSlices * index
        const zOffset = zRotation / (2 * Math.PI) * pitch

        // create rotation matrix
        const matrix = mat4.multiply(
            // then rotate around Z axis
            mat4.fromZRotation(zRotation),
            // first rotate "flat" 2D shape from XY plane to XZ plane
            mat4.fromXRotation(Math.PI / 2)
        )

        const completeMatrix = mat4.multiply(
            // add translation
            mat4.fromTranslation([0, 0, zOffset]),
            matrix
        )

        return slice.transform(completeMatrix, base)
    }

    return extrudeFromSlices(
        {
            numberOfSlices: numberOfSlices,
            capStart: false,
            capEnd: false,
            close: false,
            callback: sliceCallback
        },
        baseSlice
    )
}

Which you can then use as:
const pitch = 10
const totalRotation = 4 * Math.PI
const totalSlices = 2 * 32

const myCircle = translate([5, 0, 0], circle({ radius: 2.5 }))
return helicalExtrude(myCircle, pitch, totalSlices, totalRotation)

With the following result:

This feature would improve user experience, as users do not have to 'dig' into the code any more and learn how to use extrudeFromSlices in order to create a helix. It would also then be possible to improve the "nuts and bolts" code example in the web UI.
The implementation could be done either as a separate function like extrudeHelical, or it would be possible to implement an optional pitch parameter for the existing extrudeRotate function.
What do you think?
I'm willing to work on a pull request in the coming days.

@Loosetooth Welcome to JSCAD.
Absolutely, we are always looking to expand the API, especially if the functionality adds to the user experience.
For 'helix', there are several existing implementations out there. I know that AutoCad and OpenSCAD both have 'helix' shapes, so please review those. It would be great if the JSCAD helix can mock those implementations.
Also, the API should follow other implementations for parameter position.
Looking forward to the PR.

Thanks for the quick reply and warm welcome.
As for the existing implementations, I did a quick search, I'll list a few of them here:

Autodesk HELIX
Fusion360 Coil
OpenSCAD Helix library

If we would like to generate spirals and tapered "helix" cones as well, we would need at least these parameters if I'm correct:
const extrudeHelical = ({
    revolutions, // in radians, positive for right-hand rotation, negative for left-hand
    radius, // start radius, this one can be omitted if we expect the user to move the shape in advance
    height, // the total height of the helix
    pitch, // elevation gain for each turn
    endRadius = radius, // to create tapered helix, or '2D' extruded spiral.
                        // this could also be "endRadiusOffset" in the case that the 'radius' parameter is omitted.
}) => {
...
}

Also, the API should follow other implementations for parameter position.

Sure, I will have a look at those while I implement it. Using JS object destructuring.
I still have a few questions before I start. I'll try to look at:

implementation including spirals and tapered cones
tests
documentation

In what branch do I start? V2 or V3?

@Loosetooth nice investigation. It seems that there's some consistency, which is good.
please work with the V2 API, and branch from master branch. This is the stable version of the API.

@Loosetooth if u ever feel chatty, there is a discord channel https://discord.gg/AaqGskur93 there is not many of jscad ppl active there, but if you already use discord might be interesting.

Thanks for the invitation @hrgdavor
I currently don't use discord. Perhaps I'll look into it in the future, depending how much development I'll do for JSCAD.


Cow Bull game

PR Description 📜
Fixes #4799

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @mukilan2815 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Please resolve merge conflicts

oops sorry i will PR again

done

@ishita-43  #5020 i have created there and i will close here. please merge


New package: AdmittanceModels v0.2.0

Registering package: AdmittanceModels
Repository: https://github.com/rigetti/AdmittanceModels.jl
Created by: @amellnik
Version: v0.2.0
Commit: 87cc562982a5432f7b0685a4d1ca4625957b1209
Reviewed by: @amellnik
Reference: https://github.com/rigetti/AdmittanceModels.jl/issues/15#issuecomment-545114193

Your new package pull request does not meet all of the guidelines for automatic merging.
Specifically, your pull request does not meet the following guidelines:

Version number is not 0.0.1, 0.1.0, or 1.0.0

It is important to note that if your pull request does not meet the guidelines for automatic merging, this does not mean that your pull request will never be merged. It just means that your pull request will require manual review by a human.

These guidelines are intended not as requirements for packages but as very conservative guidelines, which, if your new package or new version of a package meets them, it may be automatically merged.

On a separate note, I see that you are registering a release with a version number of the form v0.X.Y.
Does your package have a stable public API? If so, then it's time for you to register version v1.0.0 of your package. (This is not a requirement. It's just a recommendation.)
If your package does not yet have a stable public API, then of course you are not yet ready to release version v1.0.0.

[noblock]

We're making this release v0.2.0 to keep things consistent with our internal registry.

Your new package pull request does not meet all of the guidelines for automatic merging.
Specifically, your pull request does not meet the following guidelines:

Version number is not 0.0.1, 0.1.0, or 1.0.0

It is important to note that if your pull request does not meet the guidelines for automatic merging, this does not mean that your pull request will never be merged. It just means that your pull request will require manual review by a human.

These guidelines are intended not as requirements for packages but as very conservative guidelines, which, if your new package or new version of a package meets them, it may be automatically merged.

On a separate note, I see that you are registering a release with a version number of the form v0.X.Y.
Does your package have a stable public API? If so, then it's time for you to register version v1.0.0 of your package. (This is not a requirement. It's just a recommendation.)
If your package does not yet have a stable public API, then of course you are not yet ready to release version v1.0.0.

[noblock]


Invalid torrent identifier bug

I'm always getting this exception while trying to parse torrent file using:
parseTorrent(fs.readFileSync(path))

It seems to me files are ok since BitTorrent handles them correctly.
Dunno if its ok to give you link here.

The problem here is that Buffer.isBuffer returns false on result of fs.readFileSync. Solution:
parseTorrent(new Buffer(fs.readFileSync(path, { encoding: 'utf8' })))

But after this I'm getting exception Invalid data: Missing delimiter ":" [0x3a] from parse-torrent-file module.

I think there's some other major issue with your code. Buffer.isBuffer(fs.readFileSync(pathToFile)) always returns true, unless there's some edge case I'm not aware of.
If you can't figure it out, email me the file you think isn't working (email is on my profile).

Had the same problem, @feross is right - the problem is in the command - you have to leave out utf8 cause .torrent file is not a entirely text.


iPhone SE & Android Small Screen: Transfer > Receive... address does not render properly.

You can use iPhone SE Simulator or a small screen Android to reproduce.

Other variants of fixes:
1)

2)

3)

is this fixed now? i built using commit e631105fb7d1d4acbeed9a45d7f3ecee2dac02ca and i see the below in iPhone SE.
I like variant 1 above.


Improvement: Add install_method - move, copy, symlink.

In fact, I have a particular use case. My /usr/local/sonar is a dedicated filesystem. So a "move" installation is not a good solution. I need to copy.
Furthermore, I have already pull request #12 , with a "symlink" installation.
So, I decide to propose 3 install methods : move, copy, and link.

Can you please rebase since a lot has changed to get tests passing again?

Rebased.

Correction done.

Rebased.


Allow asynchronous backend operations

Use a in-memory variant, batch increment periodically to the backend.
Applications should have the choice, if they don't need the ultra-precise counter, they should be able to wrap the storage in a "good enough" estimate that doesn't negatively impact performance on every call to call.

@malaporte Do you think that having a setting to determine which % of requests we actually send to the backend would be good enough? And then you multiply the counter by the %.
Say you only send 20% of actual call() to the backend and you multiply the cost by 5 (which is 100%/20%). Once a limit is exceeded, you fail every call until the expiration is reached and then you start again.
This seems like a very simple thing to code and could perhaps meet the requirements. I'd like your thoughts.

But why not batch the writes and flush them every X seconds? Then you'd get an exact count at that moment at least. And you'd never exceed the threshold for more than X seconds (at worst).

@malaporte Because it is quite a bit more complex. I kind of wish we could avoid asynchronous cron jobs.
Also, the synchronization of the memory VS actual storage might be more complex than it appears.
I'll keep looking into it.


use semantic versioning

I suggest you use http://semver.org/ to version your project.
MAJOR.MINOR.PATCH
So maybe, start with 0.1.0 instead of 0.0.1.

I've planned to use this versionning once the first release (1.0.0) will be out.
For now, a patch, if needed, will simply be a new version.
Thanks!


Update TaskBuilder so we can launch Pods

[ ] Add TaskGroupBuilder
[ ] adapt TaskOpFactory
[ ] AppDefinition should start a task --> TaskBuilder
[ ] Pod should start a task group --> TaskGroupBuilder

PR for TaskGroupBuilder: https://github.com/mesosphere/marathon/pull/4353


Update troubleshoot.md

Spelling check. It said sing in to your account. Changed it to sign into your account

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


Mixed CI cluster + haskell.nix bump

Includes https://github.com/input-output-hk/cardano-node/pull/269

Subsumed by https://github.com/input-output-hk/cardano-node/pull/269.


Recommend MM 2022-09-20

In #141 @ieivanov requested an slightly newer version of MM so that a recent change to a device driver was included.
I tested recOrder with 2022-09-20 and all acquisition functionality is working. pycromanager did not require an upgrade.
This PR updates the docs and warning messages only.

Codecov Report

Merging #215 (b371a76) into main (d4c1024) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main     #215   +/-   ##
=======================================
  Coverage   10.23%   10.23%
=======================================
  Files          38       38
  Lines        5160     5160
=======================================
  Hits          528      528
  Misses       4632     4632

Impacted Files
Coverage Δ

recOrder/plugin/widget/main_widget.py
0.00% <0.00%> (ø)

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

Quick note - 2022-09-20 supports writing to NDTiff! That doesn't matter here, but it's a cool feature


Labels for reduction expressions

Currently, arguments for grouping are defined like
by(grouper, name=reduction, name=reduction, ...)

example
by(d.species, avg=d.petal_length.mean())

Is there a way to define aliasname for reductions using labels like
by(grouper, reduction.label('name'), reduction.label('name'), ...)

by(d.species, d.petal_length.mean().label('avg'))

reason being, I'd like to dynamically construct the multiple reductions and alias names are strings in this case.

You can ** unpack the dict like:
my_reductions = {...}
by(grouper, **my_reductions)

@llllllllll -- perfect, that works, I was naively stuck with populating list (working in sqlalchemy mode).
Thanks for this, I'll keep this open for few hours, while I test it out.


Enable lenient mode for term set query and range query

Description
This change is a follow up to https://github.com/quickwit-oss/quickwit/pull/5575 if we wanted to make it possible to have the same level of leniency as ES.
It makes range queries and term set queries potentially lenient.
How was this PR tested?
Describe how you tested this PR.

i don't think anyone uses this combination of features yet, but ig it makes sense to support it


Add Laravel 11 support

Adds Laravel 11 support
I did run the tests, however 1 test is failing for me:
   FAIL  Tests\FourXXCardTest
  ⨯ it renders 4xx requests                                                                                0.01s
  ✓ it includes the card on the dashboard                                                                                0.04s
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\FourXXCardTest > it renders 4xx requests                                                                                ArgumentCountError
  Too few arguments to function Laravel\Pulse\Storage\DatabaseStorage::store(), 0 passed in /[...]/laravel-pulse-4xx/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php on line 23 and exactly 1 expected

  at vendor/laravel/pulse/src/Storage/DatabaseStorage.php:42
     38▕      * Store the items.
     39▕      *
     40▕      * @param  \Illuminate\Support\Collection<int, \Laravel\Pulse\Entry|\Laravel\Pulse\Value>  $items
     41▕      */
  ➜  42▕     public function store(Collection $items): void
     43▕     {
     44▕         if ($items->isEmpty()) {
     45▕             return;
     46▕         }

      +6 vendor frames
  7   tests/FourXXCardTest.php:35

This test also fails for me on the main branch, with the same error. So I think I'm missing something regarding setup.

Looks like they changed that store method to ingest - thanks for the PR!