SimpleMenu breaks when adding "renderToPortal" prop

Here's a sandbox:
https://codesandbox.io/s/rmwc-sandbox-ybu69?file=/index.js

What RMWC Version are you using [major.minor.patch]:
6.1.0

Name your build system [Webpack, Rollup...]:
create-react-app

Describe the bug with as much detail as possible:
Adding the renderToPortal prop to SimpleMenu causes the menu to no longer handle menu item selection.

What happened, and what was supposed to happen:
When I add the renderToPortal property, if I open the SimpleMenu and click a menu item, the menu stays open and the onSelect event handler does not fire.

I expect the menu to close and the onSelect event handle to fire.
Thanks!

I just tested the standard Menu, and it has the same issue. The renderToPortal Menu does not handle selection here: https://rmwc.io/menus

Can confirm, I'm running into this issue as well!!
See my response here for a workaround.

Confirming this is fixed in 6.1.2. You can try adding it in the docs to see. https://rmwc.io/menus

Thanks for looking into it. I'm still seeing the issue on the RMWC site:
https://share.getcloudapp.com/4guj7d8N
The problem is that selecting an item doesn't close the menu.

That specific example the open prop is always set to true. Just add renderToPortal to any others, it works as expected

Apologies if I'm missing something. Here's a sandbox where I still don't see the menu close or the onSelect handler fire when I select an item:
https://codesandbox.io/s/rmwc-sandbox-fskbn

@anthonysapien thanks for reporting that. I think it has to do with event bubbling through React portals and the fact that MDC doesn't use react events, but standard DOM ones. I'll have to inspect more.
For now, here is a non-ideal, but working solution. https://codesandbox.io/s/rmwc-sandbox-omw4n

Cool @jamesmfriedman. Thanks for looking into it and for the workaround.

This also affects the select menu if the enhanced prop is used. And unfortunately the workaround does not work because there aren't props to control the open state of the select menu.
To reproduce I just added the renderToPortal prop to the enhanced example: https://rmwc.io/select-menus
Hopefully the fix works for select menu too :)


gc crash when reading from files

Here is a minimal example of the crash Doug found when stress-testing with afl:
USING: accessors arrays byte-arrays formatting io io.buffers
io.encodings.binary io.files io.private kernel memory
namespaces sequences sequences.private ;
IN: test3
QUALIFIED: unix.ffi

: some-alloc ( y -- w )
    drop 80 f <array> ;

: my-read-ifd ( -- ifd )
    7 read 2 read 4 read 4 read
    19 f <array>
    2nip 2nip ;

: my-read-ifds ( tiff -- )
    input-stream get
    [ buffer>> 0 >>fill 0 >>pos drop ]
    [ handle>> fd>> 256 unix.ffi:SEEK_SET unix.ffi:lseek drop ] bi
    2 read drop
    13 [
        my-read-ifd
    ] replicate
    some-alloc drop
    555 f <array>
    over [ length ] [ set-nth ] bi
    my-read-ifds ;

"/etc/passwd" binary <file-reader>
[
    V{ } clone my-read-ifds
] with-input-stream

The code runs an infinite loop which allocates more and more memory so it should end when Factor can't grow the heap further. Instead it crashes:
assertion "(parent->current_gc && parent->current_gc->op == collect_growing_heap_op) || parent->data->seg->in_segment_p((cell)obj)" failed: file "../vm/collector.hpp", line 28

I think it's in M\ input-port stream-read-unsafe. Say you have a block #1, you increase the stack height by 1 so now D 0 is uninitialized. Then that block has block #2 and #3 as successors. In #2 D 0 is set but not in #3. Then both #2 and #3 are followed by #4 in which you do a gc. The problem is that now in #4 you do not know whether D 0 is an initialized location or not.

Don't think there is any way to solve the problem in the general case. What slots are initialized in the stack depends on what way through the cfg execution took before it reached the gc. Only way I can think of is to fix the compiler so it doesn't introduce gaps into the stacks in the first place.

Is this only a problem with running out of memory, or is the problem everywhere?

Everywhere. It's a delicate problem because if you trace to few roots that's bad and if you trace to many that's bad too. You must only trace exactly those that are live and no else. It doesn't crash so often though because it can only crash when an allocation fills up the nursery and there is two different paths to that allocation and there is one or more scrub slots in the gc map. So if you change some of the numbers in the example, say 555 to 444, the nursery will not fill up in the right location and the bug won't be triggered.

Smaller crash:
USING: arrays byte-arrays kernel memory sequences ;
IN: test5

TUPLE: tup2 a b c d ;

: (my-generator) ( k -- n )
    20 f <array> 20 f <array> assert=
    ! Allocates a byte array so large that the next allocation will
    ! trigger a gc.
    drop 2097103 <byte-array> ;

: run-test ( -- lag )
    9 iota [ (my-generator) ] map
    ! The gc map for this allocation has a scrub slot
    0 9 1 tup2 boa ;

run-test drop

How is this bug doing after the recent patches?

It should be gone hopefully!

Sweet. Nice work! Closing.


[Flexiraft] [Merlin] Flag to withold leader election votes.

I was trying to use withold_votes_until in order to achieve the same thing but it gets reset by AppendEntries so I added a new flag.

nit - you can remove merlin from the message.


Hey made paddle more responsive

first ever pull request pls be nice
think it was already done but i still wannted to push

This issue has been resolved.Please see other issues.


Add Documentation For 1D Model

Add documentation for the 1D model. As it is right now there are three options:
1d[SCEC], 1d[BBP_LA_Basin], 1d[CyberShake_BBP_LA_Basin]
We need to add documentation on what each of these are.

Documentation added at https://github.com/SCECcode/UCVM/wiki/Available-Models. Closed!


Feature: Security groups for CCI!

Motivation
One problem we're definitely seeing is a 🐔  and 🥚 security constraint around protecting Contexts in CCI. Our team use this provider to auto populate/generate Contexts in CCI with Service Account tokens generated from elsewhere in Terraform land.
Locking those Contexts down is currently a manual thing we have to do ourselves very quickly after running this. Since there's a non-zero time when the Context is unprotected and an escalation of privileges attack is there for a bit. Especially, if we forget to do it immediately, the attack surface area is much larger.
Notes
We tinkered with the CCI (unsupported 🙄 ) GraphQL API and were able to reconstruct the basic requests necessary to get everything working, just haven't had the time (yet) to translate everything into Go.
Add Security Group

Get Security Groups and provide mapping from name: id
query: "query Context($contextId: ID!) {
  context(id: $contextId) {
    id
    resources {
      createdAt
      truncatedValue
      variable
    }
    groups {
      edges {
        node {
          id
          name
        }
      }
    }
    owner {
      ... on Organization {
        id
        groups {
          edges {
            node {
              id
              name
            }
          }
        }
      }
    }
    name
  }
}

Suggested Musical Pairing
https://soundcloud.com/dragonette/martin-solveig-dragonette-hello

Would be good to put a request to Circle about adding this to the official API. If it's not already requested on https://discuss.circleci.com you could mention there.
PR welcome using the GraphQL API, as long as the docs mention the potential for unannounced breaking changes.

⬆ yeah, preach. There's chatter about wanting this feature for a while. I think having something out there actually using it is prolly the best way to actually get folks there working on it.

https://discuss.circleci.com/t/automate-your-api-key-rotation-using-the-contexts-rest-api/39540/2
https://circleci.canny.io/api-feature-requests/p/allow-context-restrictions-to-be-set-via-api


[Improve] When starting, check whether the environment variable "SEATUNNEL_HOME" exists or not.

Purpose of this pull request
When starting, check whether the environment variable "SEATUNNEL_HOME" exists or not.

Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs

This is test result.


Added filter for mto_service_items

Jira ticket for this change
Summary
Ali was seeing an issue where he was seeing service items that weren't related to his current move. This is because there is a missing filter on the where clause of the mto_service items query.
Setup to Run Your Code

Go to officelocal:3000/
Sign is a TOO user
Go to http://officelocal:3000/moves/WTSTAT/history
Approve a move
Go to the history page
Observe that the service items are there
Go to a different move's history page
Observe that the service items that were on WTSTAT are not on your current page.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 76a77903305a497ee063e406b9165453b2ec9a7d


illegal reflective access

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.amazon.opendistro.elasticsearch.performanceanalyzer.collectors.MasterServiceEventMetrics (file:/usr/share/elasticsearch/plugins/opendistro_performance_analyzer/opendistro_performance_analyzer-<IP_ADDRESS>.jar) to field java.util.concurrent.ThreadPoolExecutor.workers
WARNING: Please consider reporting this to the maintainers of com.amazon.opendistro.elasticsearch.performanceanalyzer.collectors.MasterServiceEventMetrics
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Thanks for reporting this issue. This will not impact functionality; We will be looking into it.
Pull requests are welcome


As a dev, I want to refactor the AlertProvider component.

Description
The purpose of this task is to conduct a comprehensive refactoring of the AlertProvider component in the FertiScan project. The focus will be on improving the component's design, ensuring its efficient operation, and aligning it with the latest development practices. This will include a review and enhancement of the component's state management, theming capabilities, and API usage.
Task
Refactor the AlertProvider.
Acceptance criteria

[ ] The AlertProvider component functions correctly and integrates seamlessly with existing and new features that require alert functionality.
[ ] The code is clean, concise, and well-documented, using the new code convention of the Ai-Lab team.

Done in #307.
Show Alert:
const { showAlert } = useAlertStore();

showAlert({
  type: "error",        // Options: "error", "info", etc.
  message: "This is an error message."
});

Hide Alert:
const { hideAlert } = useAlertStore();
hideAlert();

[!NOTE]
The alert will auto-dismiss after 5 seconds if not hovered over.


EDU-189 Add document validation upon saving to DB

Closes https://educandu.atlassian.net/browse/EDU-189
As we have several places that call documentStore.save I opted for placing the validation in the store.

I shall fix all tests once I make all schema corrections base on your comments here.

Closes https://educandu.atlassian.net/browse/EDU-189
As we have several places that call documentStore.save I opted for placing the validation in the store.

Even if that's a new "concept" you're introducing, it's probably the best place. At least I can't think of a better way. We should do similar for other "data integrity checks" in the future then.

I shall fix all tests once I make all schema corrections base on your comments here.

I'm done with suggestions :-)

Closes https://educandu.atlassian.net/browse/EDU-189
As we have several places that call documentStore.save I opted for placing the validation in the store.

Even if that's a new "concept" you're introducing, it's probably the best place. At least I can't think of a better way. We should do similar for other "data integrity checks" in the future then.

" We should do similar for other "data integrity checks" in the future then."
Totally agreed and we need to think about how to keep these checks consistent between the front-end and the backend (some are not at the moment, e.g. tags).


Enable "View FPS" increases CPU usage

Godot version
3.5.2.stable Linux , 3.5.2.stable web editor , 3.6.beta2 Android
System information
Laptop Bodhi Linux (Ubuntu 20.04.2 LTS (Focal Fossa)) CPU Intel Celeron B815 ,and Nokia phone Android 11
Issue description
enable "View FPS" increases CPU usage, and CPU cores to the max ,
the same Issue in "godot Linux" and "godot Android" and  "godot web editor".
videos of the Issue:
Laptop Linux , https://youtu.be/4Nehw8YLekg
Android phone , https://youtu.be/nCRGVYnJGfc
sorry if this is not a problem, im new in Godot , and sorry im not good in english
Steps to reproduce
Perspective > View FPS
Minimal reproduction project
the Issue is in any Godot project

Enabling View FPS causes the editor viewport to redraw continuously (so that the measurement can be somewhat accurate), so this is expected.


[Navigation] Add some missing compile checks

Adds checks to ensure unavailable classes are not invoked
Unsure if the checks around NavMeshGenerator2D but it matches the 3D case

Thanks!

Thank you!


Handling High traffic

Assume I have ollama in server Tesla T4 GPU with 16GB Vram and 120 Ram, how many request can it handle in one second?

That card apparently has ~320GB/s bandwidth.  Tokens/s generated is approximately 8 bits/byte *320 GB/s / (# model parameters * # bits per parameter).  For a q4 quantization of a 4 bit model that's probably about 100 tokens/s.
Ollama currently queues concurrent requests and processes them serially. This isn't an efficient way to processes concurrent requests.

If Ollama is intended to be used as a local LLM system, then queuing requests and processing them serially is appropriate.  Enabling concurrent processing, e.g., a "server" scenario would significantly increase the attack surface and  complexity.

Going to close this as a dupe of #358


increase InitOTP timeout

Service POST /api/verification
SMS providers timeout is 20 seconds. So we should configure the same value on out client side

env. var should be added to charts and environment.md


Functions marked as "FORBIDDEN BY THE NBA" seems to work

I am able to successfully retrieve data from the following functions that were commented as "FORBIDDEN BY THE NBA":
PlayerGeneralSplits
PlayerOpponentSplits
PlayerShootingSplits
I simply call the function with a player ID like following:
stats_a = player.PlayerShootingSplits(player_id='203507')
print((stats_a.shot_5ft())

This mistake was resolved by:
#45


New Listener typings on Document but not Element

On Document, there was added this listener typings
https://github.com/Microsoft/TypeScript/blob/b145eaf160e6b2729aaacb89856bc2346f85ac4c/lib/lib.dom.d.ts#L4571
However, it was not defined the same on Element
https://github.com/Microsoft/TypeScript/blob/b145eaf160e6b2729aaacb89856bc2346f85ac4c/lib/lib.dom.d.ts#L4925
Why I'm asking: When adding event listener on Element, I cannot type the event properly
addEventListener('click', (e: MouseEvent) => { is not possible, I have to do addEventListener('click', (e: Event) => {
Why is it so? Thanks!

The Element interface doesn't include the GlobalEventListeners as stated in the specification, where the HTMLElement interface and SVGElement interface does.
Still, the browsers maybe support the specific events on a Element instance, but this is only relevant for MathML elements.


Failed to set currentTime

I'm getting an error while using chrome's devtools in device mode.
Super minor bug, but makes testing in general slightly more difficult.

I'm not setting this value anywhere in my code.
This is the only line that references the video.
makeVideoPlayableInline($('.vid')[0], false);

Ah I see what you mean now. I think you can't use Chrome's Dev tools to test it because of how they handle a few things differently from Safari. You might just have to use Safari Remote Debug

Can you verify that the video is being loaded correctly? I saw that issue when the video failed to load and therefore video.currentTime is NaN


VirtualBox 6.1.2 doesn't work with latest Vagrant

After attempting to build DetectionLab with the latest edition of VirtualBox (6.1.x) the build fails to run with the latest version of Vagrant (2.2.6).
The solution is to install an older version of VirtualBox 6.0 is recommended.
Wanted to get this out to anyone who might be having issues with DetectionLab!

Looks like this is fixed in Virtualbox 2.2.7: https://github.com/hashicorp/vagrant/issues/11249
Can anyone confirm?

Ah, looks like the clipboard stuff is still an issue and may not get fixed until (another) future release: https://github.com/oracle/vagrant-boxes/issues/188#issuecomment-587087636

Can confirm that everything works when using Vagrant 2.2.7 and --clipboard is changed to --clipboard-mode

Sorry, I'm trying to build the Windows boxes with Packer also.
I'm using RHEL 8.
However, the following error shows:
==> virtualbox-iso: Executing custom VBoxManage commands...
virtualbox-iso: Executing: modifyvm WindowsServer2016 --memory 2048
virtualbox-iso: Executing: modifyvm WindowsServer2016 --cpus 2
==> virtualbox-iso: Starting the virtual machine...
==> virtualbox-iso: Error starting VM: VBoxManage error: VBoxManage: error: The virtual machine 'WindowsServer2016' has terminated unexpectedly during startup with exit code 1 (0x1)
==> virtualbox-iso: VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
==> virtualbox-iso: Deregistering and deleting VM...
==> virtualbox-iso: Deleting output directory...
Build 'virtualbox-iso' errored: Error starting VM: VBoxManage error: VBoxManage: error: The virtual machine 'WindowsServer2016' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
I have downgraded VirtualBox to be 6.0, but still have error.
Would anybody know how to fix it?
Really thanks a lot.
Regards,
Tony

Sorry, it is my fault that I have used a wrong version of Vagrant.
However, now when I execute:
packer build --only=virtualbox-iso windows_2016.json
The process hanged and showed this message:
==> virtualbox-iso: Waiting for WinRM to become available...
The state of the VM is "Saved"
Would anybody know the reason?
Thanks a lot.
Regards,
Tony

https://github.com/oracle/vagrant-boxes/issues/188#issuecomment-589405267
I'm going to add this issue to the known-issues FAQ and close this out.


Please invite me to the Recode-Hive GitHub Community Organization

Name
Sadab Hussain
Discord Username (if applicable)
Sadab Hussain | Contributor
Additional Context
To learn more and dive deeper into open source.

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/recodehive/people

I noticed that my name is not appearing in the GitHub organization list. Could you please check if I’ve been added properly or let me know if there’s any additional step I need to take to be listed?


z1 simulation error: Unable to identify any set of controllers that can actuate the specified joints

I want to control z1 in gazebo. The problem is:
After running roslaunch z1_bringup sim_arm.launch UnitreeGripperYN:=true rviz:=true, i set a goal in rviz and click the button Plan & Execute.  The motion planning visualization in rviz moved, but neither the model in rviz and in gazebo moved. And 3 errors  pop up in the terminal:
[ INFO] [1693795225.026676714, 26.833200000]: Returned 0 controllers in list
[ERROR] [1693795225.026732585, 26.833200000]: Unable to identify any set of controllers that can actuate the specified joints: [ joint1 joint2 joint3 joint4 joint5 joint6 ]
[ERROR] [1693795225.026757917, 26.833400000]: Known controllers and their joints:

[ERROR] [1693795225.026798021, 26.833400000]: Apparently trajectory initialization failed
[ INFO] [1693795225.036296250, 26.841800000]: ABORTED: CONTROL_FAILED
[WARN] [1693795225.540168, 27.283400]: Controller Spawner couldn't find the expected controller_manager ROS interface

It seems that no controller was loaded.
I follow the instruction in setup.md and everything works fine.

I am experiencing the same issue. Have you resolved it?

I also get another error which may have caused this.
The error:
terminate called after throwing an instance of 'std::invalid_argument'
what():  The index of the parent joint is not valid.
My guess is the invalid parent joint causes the other 6 joints to not be called downstream?
Do let me know if you all have other insights!

Ok i solved the issue, the issue is that the Pinocchio library uses the versions 3.0.0 or 3.1.0. This update causes a lot of issues in the links especially the urdf. The solution is to downgrade and install the Pinocchio 2.6.19 version from the Pinocchio official github and the MoveIt in simulation and onboard real Z1 robot should work well.
Hope this helps anyone who faces the same issue!
I highly suggest that the owner of the repo update the README file to indicate the Pinocchio library versions required so that people do not waste time being stuck on this issue.

I am experiencing the same issue. Have you resolved it?

Have you tried downloading the correct Pinocchio library version as mentioned above?

yes, i tried it twice,but it can not work.

when I input:"rosrun z1_controller z1_ctrl"，there will be an error there: rosrun z1_controller z1_ctrl
terminate called after throwing an instance of 'std::invalid_argument'
what():  The index of the parent joint is not valid.
已放弃 (核心已转储)

I have degraded the pinocchio to 2.6.19 ,but it still doesn't help.
I am going crazy to debug this error!

Ok i solved the issue by your method!!! Using the pinocchio 2.6.19, i can set a goal in rviz and click the button Plan & Execute. The motion planning visualization in rviz moved, and at the sametime the model in gazebo moved. thanks a lot!thank you Hotsburp!!!!

No problem, glad it worked!


Signal connections established with += are not automatically removed when receiver is destroyed

Godot version
v4.0.beta9.mono.official [e780dc332]
System information
Windows 10
Issue description
Assume you create a custom node class which emits a signal every second:
// Sender.cs
	[Signal]
	public delegate void MySignalEventHandler();

	public override void _Ready()
	{
		GetTree().CreateTimer(1).Timeout += OnTimeout;
	}

	private void OnTimeout()
	{
		EmitSignal(nameof(MySignal));
		GetTree().CreateTimer(1).Timeout += OnTimeout;
	}

Now you have a receiver which connects to this signal either with the classic "Connect" method or with the new += syntax. The receiver destroys itself after a few seconds:
// Receiver.cs
 public override void _Ready()
    {
        if (UseConnect)
        {
            Sender.Connect(nameof(Sender.MySignal), Callable.From(Receive));
        }
        else
        {
            Sender.MySignal += Receive;
        }

        // destroy after the specified time
        if (DestroyAfterSeconds > 0)
        {
            GetTree().CreateTimer(DestroyAfterSeconds).Timeout += QueueFree;
        }
    }

Either way, I would expect that the signal is automatically disconnected when when the receiver is destroyed. This works when using the Connect method, but doesn't work when using the += method. In the latter case the signal connection stays and the sender throws an exception when it emits the signal the next time:
E 0:00:10:0018   void Godot.Bridge.ScriptManagerBridge.RaiseEventSignal(IntPtr , Godot.NativeInterop.godot_string_name* , Godot.NativeInterop.godot_variant** , Int32 , Godot.NativeInterop.godot_bool* ): System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'sasake.Receiver'.
  <C++ Error>    Exception
  <C++ Source>   /root/godot/modules/mono/glue/GodotSharp/GodotSharp/Core/Object.base.cs:73 @ IntPtr Godot.Object.GetPtr(Godot.Object )()
  <Stack Trace>  Object.base.cs:73 @ IntPtr Godot.Object.GetPtr(Godot.Object )()
                 Node.cs:590 @ Godot.StringName Godot.Node.GetName()()
                 Node.cs:290 @ Godot.StringName Godot.Node.get_Name()()
                 Receiver.cs:31 @ void sasake.Receiver.Receive()()
                 Sender_ScriptSignals.generated.cs:26 @ void Sender.RaiseGodotClassSignalCallbacks(Godot.NativeInterop.godot_string_name& , Godot.NativeInterop.NativeVariantPtrArgs )()
                 ScriptManagerBridge.cs:341 @ void Godot.Bridge.ScriptManagerBridge.RaiseEventSignal(IntPtr , Godot.NativeInterop.godot_string_name* , Godot.NativeInterop.godot_variant** , Int32 , Godot.NativeInterop.godot_bool* )()

It looks like the sender tries to invoke a callback on the now disposed receiver. Again this works fine when using Connect to connect the signal.
Steps to reproduce
In the example project open the sender.tscn scene and run it. You can see in the output that the receiver receives two signals before it self destructs.

After that you can see the exception raised in the sender:

When you switch the receiver to use "Connect" using the inspector:

Then everything works as expected.
Minimal reproduction project
example.zip

Is this operator overload for connecting signals documented anywhere? I don't remember seeing this in GDScript. Why was it added?

Is this operator overload for connecting signals documented anywhere? I don't remember seeing this in GDScript. Why was it added?

At least in the getting started section it is done with +=, e.g. timer.Timeout += OnTimerTimeout;.

It's probably caused by the generated implementation for the signal:
    private global::Sender.MySignalEventHandler backing_MySignal;
    /// <inheritdoc cref="global::Sender.MySignalEventHandler"/>
    public event global::Sender.MySignalEventHandler MySignal {
        add => backing_MySignal += value;
        remove => backing_MySignal -= value;
}

This wil just add the new event handler as a multicast target to the backing event handler, so the engine will not even know that the signal is connected. I checked that by printing the amount of signal connections in the sender. When using the += method, it reports 1 signal being connected (probably some internal connection) while when using the connect method it reports 2 signals being connected (the internal one and the one we added with Connect).
One solution could be to actually call "Connect" / Disconnect in the generated method and not use a "backing" signal delegate:
    public event global::Sender.MySignalEventHandler MySignal {
        add => Connect(nameof(MySignal), Callable.From(value));
        remove => Disconnect(nameof(MySignal), Callable.From(value)); // this will actually not work as it is a new callable
}

but you would need a way to transform the delegate type into a Callable plus you would need some kind of bookkeeping between the Callable and the original delegate that was used to create the callable so you can do a proper disconnect.

Is this operator overload for connecting signals documented anywhere? I don't remember seeing this in GDScript. Why was it added?

It is the current recommended way of connecting signals in C# and was introduced to replicate the built-in observer pattern in the C# language. You can see some examples here.

Are there any news about this issue?

additional: it also throws System.ObjectDisposedException if you are using lambda or local function in Connect
like this:
Sender.Connect(nameof(Sender.MySignal), Callable.From(()=>{GD.Print("hello")}));

or
void sayHello()
{
    GD.Print("hello")
}
Sender.Connect(nameof(Sender.MySignal), Callable.From(sayHello));

Any news on this problem? I'm experiencing it as well and think it's quite a nasty one as the documentation is filled with event connecting examples instead of .Connect().

See the linked PR:

#73730

I see, thank you very much!

This issue is over a year old. Given the nasty set of bugs it silently produces, should it be either:

Prioritized for a fix or
Prioritized for correct documentation (replacing all examples of += with a safer mechanism?)

At the very least, it would be useful to provide a non-+= alternative in the "bound values" section, where that's the only mechanism documented at all:
https://docs.godotengine.org/en/stable/tutorials/scripting/c_sharp/c_sharp_signals.html#bound-values

About a month ago, I contributed some PRs to the C# signals doc to describe the behavior with some more detail. However, it's only available in latest (4.3): https://docs.godotengine.org/en/latest/tutorials/scripting/c_sharp/c_sharp_signals.html. It includes a general example for how to use += with closures in a way that keeps the delegate around to pass to -= in a cleanup method.
PTAL and send some followup PRs if you can make it clearer! I've gotten feedback that the example is a bit too contrived and makes it hard to follow the rest of it, but I haven't had a chance to go back and see if I can make it better by giving more context or using a more gamedev-linked example.

@31 thanks for the link, your additions are a huge improvement to the docs in that section!

Agreed @tm76, given that signals are such a core part of Godot, most C# users would likely be surprised that they aren't rock solid / have so many gotchas.

About a month ago, I contributed some PRs to the C# signals doc to describe the behavior with some more detail. However, it's only available in latest (4.3): https://docs.godotengine.org/en/latest/tutorials/scripting/c_sharp/c_sharp_signals.html. It includes a general example for how to use += with closures in a way that keeps the delegate around to pass to -= in a cleanup method.
PTAL and send some followup PRs if you can make it clearer! I've gotten feedback that the example is a bit too contrived and makes it hard to follow the rest of it, but I haven't had a chance to go back and see if I can make it better by giving more context or using a more gamedev-linked example.

As you said in the latest doc that using Connect will disconnect automatically with custom signals, while using += needs manual disconnection, I wonder whether connecting through Godot Editor Inspector equals using Connect method？Thank you！

@HymnStudio I think editor signal connections indeed equals those using Connect().
The test I've done:

I've put a QueueFree() in a receiver object so it is removed after first signal emission.
I emitted once the signal and receiver has been properly removed.
In the second signal emission debugger does not throw any error. So I guess signal receiver was properly disconnected from emissor when QueueFree() was called.


Add About Us and Support Pages

Is your feature request related to a problem? Please describe.
There is currently no About Us and Support Pages
Describe the solution you'd like
Proper about us and support pages fully responsive for all devices and dimensions
How do we know when the feature is complete?
The pull request will be mentioned
Screenshots

@abhay-raj19 Kindly assign me this issue so that I can work on it

@abhay-raj19 Willing to work .Please assign this issue to me


feat: add initial offset for tx search

Implements: https://p2pvalidator.atlassian.net/browse/NTRN-176
Added variable that gives initial offset for tx search.
For example, if we cold started the relayer and offset is set to 100, then it's going to search tx's starting from (current_target_chain_height - 100) height

1 way: run integration tests on it
2 way: start everything by hand, enable logging (it's hard to see cause we use production logging with level debug i think) test with shell scripts from neutron contracts (change env to see initial offset calculated for different values)


[TS-3235] fix crash problem caused by sync problem in PluginVC.

This fix is for the multi-thread sync problem exists in PluginVC of TS-3235.
Below is the scenario of this problem:

customer uses interceptplugin which calls TSVIOReenable and TSVConnClose and that will call PluginVC's APIs in their work threads
That customer creates  their work threads by using TSThreadCreate which are not controlled by ATS.
Because the interceptplugin works in their work threads and the lock provided by interceptplugin can only sync their work threads and it cannot sync the threads between ATS and interceptplugin, the sync problem will occur when TSVIOReenable and TSVConnClose are called from intercetplugin in customer's work threads.

So, we need to consider this kind of scenario also, as it is common to customer to start their threads.

Jira ticket open for this:
https://issues.apache.org/jira/browse/TS-3235


Training on 14 epoch?

I started training with the example and got to the 14epoch
[Sample] d_loss: 1.34017193, g_loss: 0.73472393
Epoch: [14] [ 398/1093] time: 18566.6816, d_loss: 1.38566971, g_loss: 0.67304140
Epoch: [14] [ 399/1093] time: 18567.8129, d_loss: 1.37350225, g_loss: 0.67038035
Epoch: [14] [ 400/1093] time: 18568.9801, d_loss: 1.39440918, g_loss: 0.64606953
Epoch: [14] [ 401/1093] time: 18570.1211, d_loss: 1.36048722, g_loss: 0.66855788

Should I train even more and will eventually stop by itself??
And what does the sample mean in the first line of code.
At last, where can I view the new generated picture?

Please anybody? Getting this done for a beginner is very hard without help or more detailed explanations of the installation processes of the dependencies.

The [Sample] d_loss: 1.34017193, g_loss: 0.73472393 tells you that the script generated example images with the current network parameters, those are in the samples subfolder.
I think by default training will stop after 25 epochs.


Register Peerplays networks

Hey @serkixenos, Could you please contact me on Element? Thanks in advance!

@serkixenos please merge master.

@serkixenos please merge master.

Done


Install Minikube if not present

This adds Minikube to the 'Install dependencies' prompt, and adds missing dependency detection to the Minikube 'create cluster' wizard.  As dependencies are installed in a private location rather than on the path, this also requires some hardening of the Minikube detection and launch logic which brings it more in line with kubectl and Draft.
Fixes #300.

There is an issue (slightly wider than downloading missing Minikube) that Minikube requires kubectl to be on the path.  This will not be the case if the user has used 'Install dependencies' to get kubectl, so we may need to inject that into the path (we have the technology for this in our terminal code, which may in fact be a better way to address some of the pathing stuff in the launchers).  We also need to see if we can detect and report other startup errors, e.g. if Virtual Box is not present - this currently stalls the Minikube process at a 'send crash information?' prompt.  I don't know if minikube start has a non-interactive mode - it's not obvious from the help...


Concurrency safe state manipulation for lgFiles/luFiles/QnAFiles/multilang

The issue
In current dispatchers methods, some of them, state manipulations are not concurrency safe. For example :
https://github.com/microsoft/BotFramework-Composer/blob/dc4bb80d9ee6a92634a5d227d58d864cb12de05a/Composer/packages/client/src/recoilModel/dispatchers/lu.ts#L143-L150
if a concurrency call incoming ( and also mutated 'luFilesState' ) during line-148, line-149 executing, The the line-150  set will overwrite the concurrency mutation.
It caused bug issues

LG Editor keeps dropping changes https://github.com/microsoft/BotFramework-Composer/issues/4988

we opened some PR fix this type bug

fix: LG Editor dropping changes #4997
fix: Lg content missing when switch the page #5032

Solution
This is doable by use setter function provide by recoil.  just like bellow
https://github.com/microsoft/BotFramework-Composer/blob/dc4bb80d9ee6a92634a5d227d58d864cb12de05a/Composer/packages/client/src/recoilModel/dispatchers/lg.ts#L268-L270
In setter function, the state 'lgFiles' is latest, and only touched file is the updated file..
Todos
Just like the safe state operation demonstrate above, all state needs to check and review see it is concurrency safe, especially for [] type state. make sure the mutation would not overwrite others.

I'm reviewing the dispatchers code, will do a clean up later.


Update README.md

I wanted to add a DOL newsletter, but I finished by creating a separate section for newsletters.

Nice idea! Thanks :)


Customize qm.ini

This is more of a question rather than an issue. Read through the documentation, but cannot find an native way to customize mq.ini file.
/var/mqm/qmgrs/<QMGR>/qm.ini
We need to customize this file (specifically, concurrent channel connections).  Is there a native MQ command similar to MQ Appliance' setmqini to issue adds/updates/deletes to the stanzas?
If not, would I have to parse this file line by line and regenerate it?  Also note changes to this file require a restart so ideally the file will be in it's final state when MQ is started.

We don't have a better way of configuring this at the moment, other than directly editing the qm.ini file after the Queue Manager has been created.  Sadly, the setmqini command is appliance-specific, and not included in the regular Linux version.
We do have some very basic code to read values from the qm.ini in the internal/mqini package

Thanks @arthurbarr will put something together based off your example.

You can mount your *.ini file to /etc/mqm/ directory. Settings form *.ini will merge with qm.ini file

That works, thanks!


Why the CLS embedding is from the 1-th index instead of 0-th index?

https://github.com/microsoft/GraphFormers/blob/06636cd7196cc2b3eecdb5a49fd2d405d2ea4e4b/src/models/modeling_graphformers.py#L157

the 0th is GNN-processed node-level embeddings

https://github.com/microsoft/GraphFormers/blob/06636cd7196cc2b3eecdb5a49fd2d405d2ea4e4b/src/models/modeling_graphformers.py#L257
We pad it in front of the original input sequence before encoding.

Thank u for answering : )


Error HH310: Invalid param --traceError. Command line params must be lowercase.

I followed the instructions, imported hardhat-tracer into config file, ran loca node like this:
hh node

and then ran test like this
npx hardhat test --traceError --network localhost ./test/MyTestFile.test.ts

And it gave the error from title.
Here's my package.json
{
  "name": "doesnt_matter",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@nomicfoundation/hardhat-ethers": "^3.0.5",
    "@nomicfoundation/hardhat-toolbox": "^4.0.0",
    "ethers": "^6.11.1",
    "hardhat": "2.20.1"
  },
  "dependencies": {
    "@balancer-labs/v2-interfaces": "^0.4.0",
    "@balancer-labs/v2-solidity-utils": "^4.0.0",
    "@uniswap/sdk-core": "^4.1.3",
    "@uniswap/v2-core": "^1.0.1",
    "@uniswap/v2-periphery": "^1.1.0-beta.0",
    "@uniswap/v3-sdk": "^3.10.2",
    "dotenv": "^16.4.5",
    "hardhat-tracer": "^2.8.1"
  }
}

here's my hardhat.config.ts
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import "@nomicfoundation/hardhat-ethers";
import "hardhat-tracer";
import { config as dotEnvConfig } from "dotenv";

dotEnvConfig();

const config: HardhatUserConfig = {
  networks: {
    localhost: {
      url: "http://<IP_ADDRESS>:8545/",
      accounts: [
        "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", // local test account
      ],
    },
    hardhat: {
      forking: {
        url: process.env.INFURA_MAINNET_ENDPOINT ?? "",
        enabled: true,
        blockNumber: 19464443,
      },
    },
    mainnet: {
      url: process.env.INFURA_MAINNET_ENDPOINT,
      accounts: [process.env.PRIVATE_KEY!],
    },
    sepolia: {
      url: process.env.INFURA_SEPOLIA_ENDPOINT,
      accounts: [process.env.PRIVATE_KEY!],
    },
  },

  solidity: {
    compilers: [
      { version: "0.7.0" },
      { version: "0.7.6" },
      { version: "0.6.6" },
    ],
  },
};

export default config;

Note: I also tried --vv flag and it gave no results, no error Tx tracing.

Thanks for the report, just released a patch, please use<EMAIL_ADDRESS>To run hardhat node with trace printing enabled:
npx hardhat node --traceerror

and

npx hardhat test --network localhost

otherwise you could also do this:
npx hardhat test --traceerror

@zemse nice, thanks. It works. One thing I noticed:
in your documentation you mention only the latter command, "npx hardhat test --traceError", which I mistakenly assumed is related to the test command. But from your comment I now understand that tracing is related to the running node and not to the test. I was expecting logs to appear in test console, instead I accidentally saw them in network console. (I'm running node and tests separately as you've written in first codeblock). Maybe it's worth noting somewhere.

If you do "npx hardhat test --trace", that should print the traces in the console while tests are running. However it is required that the network should be hardhat (it is by default). This is what I do.
If you use localhost network then traces cannot be printed in the tests console, but they could be printed in the node terminal if tracing was enabled there. This feature honestly I never use. It seems this feature is causing a confusion, I'll update the docs.


⚠ sandbox-api.piste.gouv.fr healthcheck has degraded performance

In 9aa768d, sandbox-api.piste.gouv.fr healthcheck (https://sandbox-api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 2694 ms

Resolved: sandbox-api.piste.gouv.fr healthcheck performance has improved in a277d4b.


Cache elm-format results

When elm-format results are cached, elm-format does not have to be reexecuted if the files are not changed.

Major speed improvement on second run.


Fix readiness check

Note this commit sets the version in the sample to 0.0.3.
After merging, we must make sure that the tag v0.0.03 is present on master so dynver can work properly.

BTW: doesn't this have a collision with #1 ?

Strange. I thought I had pulled


Contributing checkbox

This PR Closes #12
Before

After

Awesome job, would change the wording a bit to make it more clear:

"Contributing Guide" -> "Contributing Docs"
"Please Ready Our Contributiong Guide Here Contribution Guide" -> "If you plan on contributing code please read: Contribution Guide"

Thank you for contributing! 🍕

Done with the new changes


Update github.sh

git clone git@github.com:degordian/yapp-framework.git ~/work clones contents of "yapp-framework" repository into ~/work folder directly.
After cloning first repository, others can't be cloned because the work folder has the contents of yapp-framework and therefore is not empty and can not be overwritten.
Changing to work directory before cloning repositories ensures that the repositories are cloned in their respective folders.

Changing the working directory could have problems later on if scripts are relaying on the relative path. I would suggest either reverting the working directory after the cloning has finished or hard-coding the repository paths to ~work/yapp-framework, ~work/yapp, etc.

Updated, please review.


Single Page Apps

trackPageView correctly uses performance.timing, however for SPA using xhr this is always first page load time. Use of Resource Timing can get round this.
PerformanceTiming
{connectEnd:<PHONE_NUMBER>337
connectStart:<PHONE_NUMBER>216
domComplete:<PHONE_NUMBER>350
domContentLoadedEventEnd:<PHONE_NUMBER>038
domContentLoadedEventStart:<PHONE_NUMBER>028
domInteractive:<PHONE_NUMBER>028
domLoading:<PHONE_NUMBER>408
domainLookupEnd:<PHONE_NUMBER>216
domainLookupStart:<PHONE_NUMBER>216
fetchStart:<PHONE_NUMBER>215
loadEventEnd:<PHONE_NUMBER>361
loadEventStart:<PHONE_NUMBER>350
navigationStart:<PHONE_NUMBER>941
redirectEnd: 0
redirectStart: 0
requestStart:<PHONE_NUMBER>337
responseEnd:<PHONE_NUMBER>776
responseStart:<PHONE_NUMBER>406
secureConnectionStart: 0
unloadEventEnd: 0
unloadEventStart: 0}

PerformanceResourceTiming
{connectEnd: 0
connectStart: 0
domainLookupEnd: 0
domainLookupStart: 0
duration: 13486.342999996617
entryType: "resource"
fetchStart: 10071187.829000002
initiatorType: "xmlhttprequest"
name: "http://..../"
redirectEnd: 0
redirectStart: 0
requestStart: 0
responseEnd: 10084674.171999998
responseStart: 0
secureConnectionStart: 0
startTime: 10071187.829000002}

However that's also a little messy in that you need to search though it  to find your xhr page load and it has everything in it, images, xhr (including dc.services.visualstudio.com/v2/track) etc so you need to pick out the correct one. Also you need to periodically clear the buffer when it gets full to add more recent stuff (e.g. 150 items in chrome):
if (window.performance) {
    if (performance.clearResourceTimings) {
        performance.clearResourceTimings();
    } else if (performance.webkitClearResourceTimings) {
        performance.webkitClearResourceTimings()
    }
}

Equally, the user will need to manually calculate the domProcessing, perhaps using setImmedate or polyfill for it. So there isn't an immediate "this is the right way solution" that I can think of that can be automated, without bundling it into the xhr loader + page updater.
However... all the the properties of Telemetry.PageViewPerformance can be calculated so it would be useful to be able to pass in a PageViewPerformance either to trackPageView or a new function trackDataLoad e.g.
public trackPageView(name?: string, url?: string,
    properties?: Object, measurements?: Object,
    timings?: PageViewPerformance) {

That it would use instead of new Telemetry.PageViewPerformance when provided?

You can use startTrackPageView(page name) and stopTrackPageView(page name) for SPA. This time between these calls will be reported as the page load duration.
On Apr 24, 2015 9:05 PM, Ben Adams<EMAIL_ADDRESS>wrote:
trackPageView correctly uses performance.timing, however for SPA using xhr this is always first page load time. Use of Resource Timinghttp://www.w3.org/TR/resource-timing/ can get round this.
PerformanceTiming
{connectEnd:<PHONE_NUMBER>337
connectStart:<PHONE_NUMBER>216
domComplete:<PHONE_NUMBER>350
domContentLoadedEventEnd:<PHONE_NUMBER>038
domContentLoadedEventStart:<PHONE_NUMBER>028
domInteractive:<PHONE_NUMBER>028
domLoading:<PHONE_NUMBER>408
domainLookupEnd:<PHONE_NUMBER>216
domainLookupStart:<PHONE_NUMBER>216
fetchStart:<PHONE_NUMBER>215
loadEventEnd:<PHONE_NUMBER>361
loadEventStart:<PHONE_NUMBER>350
navigationStart:<PHONE_NUMBER>941
redirectEnd: 0
redirectStart: 0
requestStart:<PHONE_NUMBER>337
responseEnd:<PHONE_NUMBER>776
responseStart:<PHONE_NUMBER>406
secureConnectionStart: 0
unloadEventEnd: 0
unloadEventStart: 0}
PerformanceResourceTiming
{connectEnd: 0
connectStart: 0
domainLookupEnd: 0
domainLookupStart: 0
duration: 13486.342999996617
entryType: "resource"
fetchStart: 10071187.829000002
initiatorType: "xmlhttprequest"
name: "http://..../"
redirectEnd: 0
redirectStart: 0
requestStart: 0
responseEnd: 10084674.171999998
responseStart: 0
secureConnectionStart: 0
startTime: 10071187.829000002}
However that's also a little messy in that you need to search though it to find your xhr page load and it has everything in it, images, xhr (including dc.services.visualstudio.com/v2/track) etc so you need to pick out the correct one. Also you need to periodically clear the buffer when it gets full to add more recent stuff (e.g. 150 items in chrome):
if (window.performance) {
if (performance.clearResourceTimings) {
performance.clearResourceTimings();
} else if (performance.webkitClearResourceTimings) {
performance.webkitClearResourceTimings()
}
}
Equally, the user will need to manually calculate the domProcessing, perhaps using setImmedate or polyfill for it. So there isn't an immediate "this is the right way solution" that I can think of that can be automated, without bundling it into the xhr loader + page updater.
However... all the the properties of Telemetry.PageViewPerformance can be calculated so it would be useful to be able to pass in a PageViewPerformance either to trackPageView or a new function trackDataLoad e.g.
public trackPageView(name?: string, url?: string,
properties?: Object, measurements?: Object,
timings?: PageViewPerformance) {
That it would use instead of new Telemetry.PageViewPerformance when provided?
—
Reply to this email directly or view it on GitHubhttps://github.com/Microsoft/ApplicationInsights-JS/issues/2.

Then you loose some of the timing richness as shown in the portal:

It does then produce a more interesting time line:

I see. Thanks for putting this together :)
We'll review and try to include this with the next version.

@benaadams I think what I'm missing is how exactly the images/static resources are going to be filtered out (or taken into calculation). I see the following problems with your approach:

each SPA page can have multiple ajax calls - how do we sum it up?
during SPA page load the app may do other ajax calls (not related to this SPA page) - how do we filter out irrelevant ajaxes
other resources (images/css) - do we take them in or out?

Given these problems here's how we see
The idea we currently have is that PageViewPerformance is really a descriptor for the first page load (as it's got DOM loading). For SPA's it make sense to only show the "page load time" which is defined by user for different SPA models - for some there might be no ajax calls at all, for instance.
Combined with tacking ajax calls separately and showing them for each SPA (like dependency calls for server requests) will complete it.
Does it make sense?
P.s. I'm sorry for not getting to the pull request for a long time.

@MaxShehovtsov if I understand it currently calling trackPageView will put performance.timing into the envelope which doesn't make sense passed initialization? Might be easier if I run through a usage example?
For example in this 23hr period I have 1.12M page views and with 132.18 pages per session on average; the initialisation when it takes the hit and loads all the resources (js, css etc) is important; but isn't predominantly what I'm interested in; once you are on the site everything is controlled via hash paths and in place page replacement, meaning js and css is only loaded once; so in a traditional sense there will only be one performance.timing or page load per session and its only 0.75% of an average users page views.

However I want to know what's going on with the other pages which are pages in the practice sense; other than not causing a full browser refresh; so I do want to drill into them:

Chrome looks a little anomalous to the other desktop browsers so I want to change the filter to look more closely at that specifically (at this point I think I broke it as everything changed to errors, but you get the idea)
Mostly I'm just asking to be able to provide timings as an optional parameter ( #3 old )  and then leave it as an exercise for the developer to derive this data and the right time to call it. e.g. is it a trackPageView or a trackEvent? Perhaps also be able to attach timings to events.
In terms of actually technically getting the timings from window.performance I prepared an example gist that shows how you can do it with jquery and its ajaxComplete https://gist.github.com/benaadams/f7d1e9136d8c60939467 though I wouldn't necessarily recommend it as it will intercept all jquery ajax requests, which may more may not be interesting; but its fairly easily adapted to something else; and its mostly about finding things in perforance and keeping it empty (as it stops recording when its full) However...

each SPA page can have multiple ajax calls - how do we sum it up?

You can't without domain knowledge; hence the ability for the developer with domain knowledge to provide timings and collate them as necessary.

during SPA page load the app may do other ajax calls (not related to this SPA page) - how do we filter out irrelevant ajaxes

As above

other resources (images/css) - do we take them in or out?

Static resources are a different beast; but I suppose if someone wants to record them as events and attach timings they could...
tl;dr interested in being able to pass timings as a parameter to trackPageView; which overrides those set in window.performance.timing

Just looking at server side doesn't give a good picture as that says these requests are taking 20ms

No progress for a while (I guess unit tests were a road blocker). Closing the issue.


PHP 7 Anonymous classes not supported

The title says it all. We don't need PHPDoc to support documentation for anonymous class (or functions) but currently phpdoc breaks when you have an anonymous class in your code.
Any plans to release a new version for the latest changes in PHP 7+ that are not supported in current PHPDoc?

anonymous classes
nullable types
Group use declarations

are some of the basic ones that come to my mind.

We are working on a new version of phpdocumentor. But due limited time and resources we are off schedule. But there are plans to support php7's new features.


Not working with blender 2.9

Not working with 2.9 blender

Try to Download from the "blender-28" branch instead of the "master" branch.
In case if you don't know how to change the branch here below I attach the link for that Branch from there Clone it or Download it and follow the same steps & should work.
https://github.com/dtzxporter/io_model_semodel/tree/blender-28
I have tested this with the latest version of Blender and it works for me.

Try to Download from the "blender-28" branch instead of the "master" branch.
In case if you don't know how to change the branch here below I attach the link for that Branch from there Clone it or Download it and follow the same steps & should work.
https://github.com/dtzxporter/io_model_semodel/tree/blender-28
I have tested this with the latest version of Blender and it works for me.

bro, your link is incorrect. Let me fix it for you.
Blender 2.8 version branch

Thank you for Fixing the link and Sorry for the non-working link.


Layout/LineLength long string and array autocorrection?

Is your feature request related to a problem? Please describe.
Let's say you want a Layout/LineLength of 80 (or 120)
And you have a string like this
z = "This is a long string, it just keeps going and going. Ideally it would be broken into multiple lines automatically so I can lower my max line length, but unfortunately I need to manually break this and other strings myself into HereDocs or line continuation"

or an array like this:
r = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3,
     4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333]

Describe the solution you'd like
A cop (or update to Layout/LineLength) that can automatically split strings (HEREDOC? Line continuation?) where appropriate to avoid having to manually clean up so much when lowering the Layout/LineLength on an existing code base, as well as split and balance arrays automatically as well.
Describe alternatives you've considered
Keeping length longer, or manually cleaning up, or disabling cop.
Additional context
Not sure if this exists, and we just are missing a config, but our current Layout/LineLength isn't splitting for us, so I wanted to ask

Actually, I think there's a broader ability to update LineLength autocorrect. for example this file contains a long string and a long array, neither of which autocorrect.
# frozen_string_literal: true

z = 'This is a long string, it just keeps going and going. Ideally it would be broken into multiple lines automatically so I can lower my max line length, but unfortunately I need to manually break this and other strings myself into HereDocs or line continuation'

r = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3,
     4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333]

puts z
puts r

fails three ways without autocorrect when all seem doable with a stock Rubocop install. (rubocop is only thing in Gemfile, no further .yml config)
Interesting, it did partially break the array on my first attempt, but then got stuck moving forward.
Inspecting 1 file
C

Offenses:

a.rb:3:121: C: Layout/LineLength: Line is too long. [263/120]
z = 'This is a long string, it just keeps going and going. Ideally it would be broken into multiple lines automatically so I can lower my max line length, but unfortunately I need to manually break this and other strings myself into HereDocs or line continuation'
                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
a.rb:5:121: C: Layout/LineLength: Line is too long. [159/120]
r = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3,
                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
a.rb:6:121: C: Layout/LineLength: Line is too long. [725/120]
     4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33_333_333_333_333_333, 2_333_333_333, 233_333, 22_211, 2333, 333]
                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1 file inspected, 3 offenses detected

Are you only running Layout/LineLength, or other cops too? Autocorrection for LineLength is not exhaustive but a long list of other cops are suggested when running autocorrect: https://docs.rubocop.org/rubocop/1.46/cops_layout.html#layoutlinelength

@dvandersluis I did this - stock config, all cops
https://github.com/broksonic21/sample-rubocop
The .sh file has the example of what I ran: https://github.com/broksonic21/sample-rubocop/blob/main/test-run.sh
Sample file that doesn't autocorrect in full: https://github.com/broksonic21/sample-rubocop/blob/main/test-split.rb

Turning on all listed in that doc (side note: it mentions Layout/* ones, but BlockDelimiters is Style, not Layout)
Does correct the arrays (albeit one-per-line, not balanced to fit the line length, which would make more sense)
but does not correct the strings.

Thanks for the reproduction case.
Autocorrection doesn't operate on strings first off, only corrections that are guaranteed safe (ie. converting a long string to a heredoc could add whitespace).
For the things it can correct (arrays, hashes and method parameter lists), only the first line is currently corrected. I'm not sure yet if there's a historical reason for that (@bbatsov?)
Also, some of the cops suggested in the documentation are disabled by default FYI!

Thanks @dvandersluis for explaining. Long string to line continuation would be safe and make a huge difference, IMO
Be great to get the arrays cleaned up (and the doc)

So there is not an equivalent way to writing one long single line string that would make all the Cops happy. Ok.
Before anyone say we could do concatenation, heredocs or whatever: By equivalent I mean not adding extra operations like a multiline Array.
Man, I would love to just ignore the single line long strings.


MethodException: Invocation of method selectionChange in com.vaadin.ui.ComboBox

Describe the bug
18.01.2021 10:01:50 [ERROR] [CreateCustomerPresenter] - com.vaadin.event.ListenerMethod$MethodException: Invocation of method selectionChange in com.vaadin.ui.ComboBox$$Lambda$257/0000000000000000 failed.
To Reproduce
Steps to reproduce the behaviour:

Create a customer
Exception is thrown

Expected behaviour
The expected behaviour is that it works without throwing any exception since null is the emptyValue of the ComboBox

This was solved by using setValue(newValue) instead of setSelectedItem(newValue).

This was solved by using setValue(newValue) instead of setSelectedItem(newValue).


fix: span names, log levels and messages

Description of change

How has this been tested? (if applicable)

Missed a detail on colorize. We can probably remove tracing feature from codegen now because if the move.

Missed a detail on colorize. We can probably remove tracing feature from codegen now because of the move.

It might be readded because of shuttle-next. I am still working through the default tracing for it, blocked by some wasmtime related impl details.


Better badge management

Without using repository for data storage. BYOB creates "shields" branch and pushes config there.
Also integrate badge management into action steps, related #1

(not sure if we talked about this, so i'm posting it here)
I found this recently: https://github.com/moteus/luacov-coveralls

(not sure if we talked about this, so i'm posting it here)
I found this recently: https://github.com/moteus/luacov-coveralls

Yes I looked at this and found out that there's been some problems with it.
Might work well, I just decided to no try it after looking around their site and some github projects using coveralls.
Could possibly actually try it out somewhere. My first impression just was that it would have a lot of cool features (no github integrations though) but also a lot of problems.
This first impression was solely based on quick browsing through github / google / their site, not actually trying out anything.


Possible Regression in v4.9: Conditionals using Unlisted Property Narrowing with the in Operator

Bug Report

🔎 Search Terms
v4.9 conditionals unlisted property narrowing in operator #50666
🕗 Version & Regression Information
v4.9+, including nightly
working in v4.8.4

This changed between versions 4.8.4 and 4.9

⏯ Playground Link
Playground link with relevant code
💻 Code

type HandledResult = {data: any, errors?: any}
type UnhandledResult = {message: string}
const result = null as any as HandledResult | UnhandledResult

const noWork = (): HandledResult => {
    if ('data' in result || 'errors' in result) return result // when checking an optional property second, I get an error
    return {data: null, errors: [result.message]}
}

const work = (): HandledResult => {
    if ('errors' in result || 'data' in result ) return result // reversing the order fixes the problem
    return {data: null, errors: [result.message]}
}

🙁 Actual behavior

In the noWork function, typescript could not narrow down the type to being HandledResult. When the or clause is switched, it works. Since Boolean(A || B) === Boolean(B || A) this seems like an error.
🙂 Expected behavior
The ordering of the conditionals should not impact the narrowing of the type.

This code is confusing to reason about.
Our logic effectively thinks of it this way:
In "noWork", it goes like this:

If "data" in result, then it's clearly a HandledResult -> OK
If not "data" in result, then it's clearly not a HandledResult, since that's a mandatory property, so it must be an UnhandledResult
If errors is present, then it's must be a UnhandledResult & { errors: unknown }; that's the only thing it can be. That's not a valid return type, so the program is correctly rejected

In "work", it goes like this:

If "errors" in result then it's clearly a HandledResult, since that's one of its listed optional properties
If "data" in result then it's clearly a HandledResult, since that's one of its listed required properties
Either way this code is fine

This logic in noWork doesn't make any sense if you assume the types are closed, which is the only operative condition in which using in makes any sense in the first place. I don't really see a way to change this without breaking more reasonable code that would expect not "data" in result to produce an UnhandledResult

In "work", it goes like this: ...

It's interesting to me that in the "working" case, TS never considers the possibility that "data" in result might be false, like it does in the "non-working" case.  It seems like it should, since || is commutative.

thank you so much for your thoughtful explanation. 🙏
it took a few re-reads, but it eventually makes sense why it works the way it does! I was treating them like open types where {data?: any, errors: any} could possibly exist & it prevented that.


python310Packages.flake8-bugbear: 22.6.22 -> 22.7.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.flake8-bugbear is: "Plugin for Flake8 to find bugs and design problems"
meta.homepage for python310Packages.flake8-bugbear is: "https://github.com/PyCQA/flake8-bugbear"
meta.changelog for python310Packages.flake8-bugbear is: "https://github.com/PyCQA/flake8-bugbear/blob/22.7.1/README.rst#change-log"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 22.7.1 with grep in /nix/store/50h4mjp3f3ydcww70b8jgpi3aqc786qd-python3.10-flake8-bugbear-22.7.1
found 22.7.1 in filename of file in /nix/store/50h4mjp3f3ydcww70b8jgpi3aqc786qd-python3.10-flake8-bugbear-22.7.1

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
python310Packages.flake8-bugbear
python39Packages.flake8-bugbear

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/50h4mjp3f3ydcww70b8jgpi3aqc786qd-python3.10-flake8-bugbear-22.7.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.flake8-bugbear https://github.com/r-ryantm/nixpkgs/archive/39443c972e753a32c5ac5a0e52b89663f3baf445.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/50h4mjp3f3ydcww70b8jgpi3aqc786qd-python3.10-flake8-bugbear-22.7.1
ls -la /nix/store/50h4mjp3f3ydcww70b8jgpi3aqc786qd-python3.10-flake8-bugbear-22.7.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python310Packages.flake8-bugbear
python39Packages.flake8-bugbear

Maintainer pings
cc @newAM for testing.

Same as #179831


Konflux update test-component-pac-ptdqcf

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-ptdqcf-on-pull-request has successfully validated your commit.

Namespace: build-e2e-fcyl-tenant
PipelineRun: test-component-pac-ptdqcf-on-pull-request-cs6vj

Task Statuses:

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
21 seconds
clone-repository

✅ Succeeded
28 seconds
build-container

✅ Succeeded
14 seconds
clair-scan

✅ Succeeded
42 seconds
clamav-scan

✅ Succeeded
12 seconds
apply-tags

✅ Succeeded
11 seconds
sbom-json-check

✅ Succeeded
14 seconds
deprecated-base-image-check

✅ Succeeded
14 seconds
ecosystem-cert-preflight-checks

✅ Succeeded
24 seconds
sast-snyk-check

✅ Succeeded
9 seconds
show-summary

✅ Succeeded
7 seconds
show-sbom


TestRunStdinPipe flaky after containerd integration

Happens because containerd-shim closes the pipe fd before everything has been read out of the fifo and written to the pipe. #21418 does not fully fix the issue

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

ehm, duplicate of https://github.com/docker/docker/issues/21365?

Yes, closing this one.


Update accordion gem

What
Update the govuk_publishing_components Accoridon to utilitise the Design System Accordion while maintaining existing features that are needed on GOVUK
Why
Improvements the Accordion now exist on the Design System / GOV.UK Frontend v4.0 as a result this divergence can be removed.
Visual Changes
Before > After

Anything else
The additional GOVUK features include functionality that exist on manuals-frontend

Applies an optional anchor navigation feature to accordions. This allows anchor links within accordions to:

link to another accordion heading on the same page and automatically open that accordion
link to an id anchor within an accordion on the same page and automatically open the containing accordion
link to either of the above on different pages with the same setup (accordions with this feature flag) and open the associated accordion as above

Eg http://gov.uk/guidance/working-safely-during-covid-19/events-and-attractions
The "condensed layout" (which is a more visually compressed version of the Accordion) has been removed from the Accordion component. This was done for multiple reasons:

From inspection, this is no longer being used on GOVUK
Should this be required this most likely needs a Content review
The accessibility impact of reducing fonts, icons and spacing was not really considered for this Design

Preview Link https://components-gem-pr-2581.herokuapp.com/component-guide/accordion
Done When

[ ] #2533 is merged
[ ] Update CHANGELOG

Saw in the preview link. Looks good bud!

@jon-kirwan did you notice any issues with manuals?

Manuals now seems fine for me. I've checked the anchor accordions examples and everything now seems to work correctly.
One further tiny issue. There is a typo in the 'What' section above in "Update the govuk_publishing_components Accoridon to"...

Manuals now seems fine for me. I've checked the anchor accordions examples and everything now seems to work correctly.

Ace! Just waiting on 4.0 to be merged in (typo fixed)


Add Pointer's Gamut Check

I know this is a bit of a niche use case, as it would be mainly used by CG artists.
Pointer's Gamut is based on a large dataset of colors found in the real world. By checking if a color is inside this gamut, you know as a CG artist that you are staying inside physically correct color values.
Here's a Python library that does this: https://github.com/colour-science/colour/blob/68342cb857c587eb5d5eb1df41e6d2e2666617f8/colour/volume/pointer_gamut.py#L32
Thanks,
Anton

Interesting. Right now the API is structured around the idea that there are color spaces, some of which have a restricted gamut. So, to check if a color is in gamut of a given space, you convert to that space and then use inGamut().
If I’m reading this right, it appears there is no color space here, and this is basically a function that operates on XYZ values? (not sure which XYZ, but I haven't looked too carefully).

That's correct!

The Pointer’s gamut is (an approximation of) the gamut of real surface colors as can be seen by the human eye, based on the research by Michael R. Pointer (1980). The linked library simply generates a mesh using hard coded points and Delauney's method and checks if a given point is within the mesh (using some threshold). The points come from documented tables, though I'd have to hunt around for the exact source. I don't think it is necessarily trivial to add though unless you depend on an external library to generate the mesh...I guess you could pre-generate mesh, then you just need an algorithm to resolve whether a point is within the mesh. You'd probably need a separate API method inPointersGamut() I imagine.

That would be less trivial than it seems to implement then, as it would require a restructing of the Color.js API itself to support this sort of thing.
Unless it's just implemented as an ad-hoc method, and doesn't hook into isGamut(). That would be pretty unfortunate though.

I'm sure you could special case isGamut('pointers') so that is probably fine, if you plan to implement this.

that you are staying inside physically correct color values

Staying within non-luminous, non-florescent surface colors, but it doesn't guarantee that you'll be within a given display space.
If the working space is a display space such as sRGB or P3, by definition you'll always have "physically correct" color values that are physically realizable by the display. The  Pointer’s gamut mostly exceeds the physically realizable colors of those display spaces.
If the working space is a space built around imaginary primaries is like ACES or ProPhoto, that's a different story—but arguably, if you're going to clamp to a gamut I'd suggest it's usually best to clamp to your largest realizable destination space.
For reference, the triangle is sRGB/rec709, squiggly line defines Pointer’s gamut.

I imagine it is possible to use the Pointer Data to calculate an appropriate max chroma for a given lightness and hue in LCh (using the specified SC illuminant) for a given color and then compare it against that max chroma. Then you wouldn't need to build a pointer surface with a mesh.

Yeah, it seems the easiest approach is to just compare the data within the data's provided model (LCh with the SC illuminant). Though, you could certainly transform the colors into an XYZ surface mesh and compare the points against that.
The data represents the gamut at discrete lightness levels, so you can bisect to find the two closest lightness values and hue values and then interpolate the maximum chroma in that LCh (SC) space for the given color. Obviously, you need to also handle lightness that falls outside the gamut's boundary. No complicated mesh is needed. Resolving what the API looks like is probably the most complicated part.
Red dots fall outside the gamut.

Randomly generated points at the same lightness.

If you wanted to fit a color to the Pointer gamut, you could probably just clamp the lightness and chroma within the LCh (SC) space. This assumes you've already gamut-mapped the color with the current working color space if desired.

Yeah, it is definitely not a color-specific gamut, and I came to the same conclusion that it should probably be something separate from the "gamut" check that exists in color.js currently.
Anyways, it is pretty easy to implement. I have the code I used to implement it here (for anyone anxious to port it here): https://github.com/facelessuser/coloraide/blob/main/coloraide/gamut/pointer.py

Possibly I should file a separate issue, but this is just to say: it would also be nice to be able to check if a color is in the visible gamut.

Possibly I should file a separate issue, but this is just to say: it would also be nice to be able to check if a color is in the visible gamut.

Yes, this would need a separate issue, but I don't think we have sufficiently granular info about the display to be able to tell…

@LeaVerou filed https://github.com/color-js/color.js/issues/382


Unsupported Server Component type: undefined

I just upgraded from 3.0.0-rc.13-patch.1 to 3.0.0-rc.18-patch.2. My build was working fine, but then after the upgrade I started receiving:
@client-sites/start: Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
@client-sites/start: Error: Unsupported Server Component type: undefined
@client-sites/start:     at em (/develop/client-workbench/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:131932)
@client-sites/start:     at /develop/client-workbench/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:142926
@client-sites/start:     at Object.toJSON (/develop/client-workbench/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:146504)
@client-sites/start:     at stringify (<anonymous>)
@client-sites/start:     at eR (/develop/client-workbench/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:134889)
@client-sites/start:     at eP (/develop/client-workbench/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:135332)
@client-sites/start:     at AsyncLocalStorage.run (node:async_hooks:346:14)
@client-sites/start:     at Timeout._onTimeout (/develop/client-workbench/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:146956)
@client-sites/start:     at listOnTimeout (node:internal/timers:573:17)
@client-sites/start:     at process.processTimers (node:internal/timers:514:7)

Additionally, there are six or so similar errors in the console when I build. The page it is attempting to render is a pretty basic not-found.tsx with just text components. But I suspect this error would be thrown for any page and that just happens to be the first page to generate the error.
Not sure what is going on, as always I will assume it is something that I am doing. But then I rolled back to 3.0.0-rc.13-patch.1 and it was all working again.
Not really sure where to start on this, but thought I would share.

What does your not-found.tsx look like?

The issue was a bad patch on my part.
Why is a patch needed... Exports really do not work for cjs and non-"moduleResolution": "bundler" projects.
Specifically (as an example):
import { radiusPropDef } from '@radix-ui/themes/props';

does not work. There is no props at the root.
That statement is compiled into something equivalent to:
const { radiusPropDef } = require('@radix-ui/themes/props');

The only way for cjs projects to access the props or helpers is to do something like:
import { radiusPropDef } from '@radix-ui/themes/dist/cjs/props';

Which, fine sure whatever, but sucks.
I get the desire for separating props & helpers and keeping them out of semver (not trying to change that). But for projects that do not meet the above conditions, they have the following options:

Do not use any of the utilities from props or helpers
Create a patch which exports props and helpers with all of the components. However, if you create a patch that does this, you must change the index.js under both the dist/cjs and dist/esm directories.
Migrate your tsconfig.json to "moduleResolution": "bundler"

Hope this helps

How are you using props and helpers from Radix Themes? We don't really expect developers to use them yet, curious about your use case.
There’s two ways to do it properly:
a) Use modern ``"moduleResolution"values, which are:"Bundler", "Node16", or "NodeNext". This is really how new projects should be set up anyway. b) Import from the exact path they are exported from, which is @radix-ui/themes/dist/cjs/props/index.js`. We use this themselves in the docs because we didn't have the time to upgrade the project to a modern module resolution value. You can also see that re-exporting like that provides convenient access to Radix Themes internals without having to type the whole thing.

If you're developing components "in the style of" radix, then it would be foolish not to re-use them

Gotcha, OK that's good to know


Duplicate Objects listed in the Side Bar

When using this component on Account, I am getting duplicate selections for objects on the sidebar.

Hi @ericrsmith35,
Thanks for checking out my project! What you're seeing are not actually duplicates, those are actual related lists, but their labels are only the label of the object so it appears as if they are duplicates. This is a known issue as reported here https://github.com/DouglasCAyers/sfdc-related-files-lightning/issues/1
This is a system limitation as far as I can tell, the Salesforce API just doesn't expose enough information at the moment. =(


Dynamic short link successfully created and working but not listed on Firebase Dynamic Links

Hello,
I can successfully create dynamic short links with this plugin and I've verified that they work. E.g. I can open the app through a deep link and listen to FirebaseDynamicLinks.addListener("deepLinkOpen", cb).
However, the generated short links are not listed under the Firebase deep links.
Is this expected?
P.S. It's not a matter of delays since I've waited multiple days

yes it is expected, only links created directly on the Firebase interface are visible there

Thanks for letting me know


Add PSR-14 (EventDispatcher) auto instrumentation

Very basically add auto instrumentation for PSR-14 EventDispatcher interface. From what I've been able to test with this code and Uptrace is that it works fine. Let me know if there are additional remarks.
Small screenshot from the Uptrace UI:

@xvilo - one last thing before I can merge it... Can you add an entry to .gitsplit.yaml for this? I created https://github.com/opentelemetry-php/contrib-auto-psr14 as the target repo.

Thanks @brettmc, the git-split config should be there now 👍

https://packagist.org/packages/open-telemetry/opentelemetry-auto-psr14

I’ve been able to test it and out in a private project of ours and it seems to work well. Thanks everyone for the review and feedback 👍💐


add support for publicPath

We serve our assets from cloudflare so in our different environments we need to prepend the publicPath url according to the environment.

Duplicate of #3285 and #3136. The former might be a better one to merge in since it has tests.

Closing as superseded by #3285, that one is further ahead.


Upgrade dependencies

Significant upgrades with:

Webpack 5
Storybook 6 Alpha
TypeScript 4.3
Socket.IO 4
React 17
Compilation target of ESNext

I believe everything works, except I had to remove volatile emits due to this current SocketIO bug: https://github.com/socketio/socket.io/issues/3919 — we might have to block this PR on that 😕
Things I tested:
yarn dev
yarn build
yarn storybook
yarn storybook:build
yarn test

I'll take it! (if anyone else sees a problem though, just let me know)

Looks like the socket.io issue with volatile sending of binary data is fixed as of https://github.com/socketio/socket.io/commit/dc81fcf461cfdbb5b34b1a5a96b84373754047d5, but it's not released yet.


Stuck "Detecting Kernels" after reload, can't reconnect to kernel

Testing #13585
Followed the steps from the TPI:

Run a cell with the following code
import time
for i in range(200):
time.sleep(1)
print(i)
Run the above cell, and verify you can see some of the output starting from 1, 2...
Reload VS Code
After reloading, the notebook will be opened and the same kernel will be selected

But after reloading, my notebook is stuck "Detecting Kernels:"

I verified in a browser that the Jupyter server is still running:

If I go through kernel selection again, I can't connect to the remote kernel:

I was able to try to continue testing by creating an entirely new Codespace, launching jupyter within it, and adding that new codespace as a remote kernel.
But upon a reload, insiders.vscode.dev was still stuck trying to connect. I tried creating a 3rd new Codespace and repeating the connection process, and now I can't connect even to begin with:

cc @rebornix who helped me connect a remote Codespace kernel to begin with for awareness and in case I'm missing anything.

upyter server from Codespaces changed to a private port. I made the port public again, but I still get the same error message "Unable to connect to the remote server."

This could be the problem,
This isn't a valid use case,
Will chat with @rebornix about this.

Closing as this has been resolved.
Using code spaces and re-mapping ports it not a valid user case.


Palette scss variable incorrectly used in common-canvas.scss

Ref : 3340
The common-canvas.scss file contains references to $palette-border-width and $palette-border-color and are used for styling the bottom panel border. These variables should be renamed to $bottom-panel-border-width and $bottom-panel-border-color and declared at the top of the common-canvas.scss file.

Fixed


Halo2: Upload keys at runtime

Create a Halo2State just like there is a mopro_core::middleware::circom::CircomState to allow to load keys on the fly.
Difficulties
Unlike Circom, the Halo2 prover code right now is baked in at compile time, so even if we were able to upload different keys, they still must be for the compiled circuit code, and can not be for a different circuit.

Done in #214


Upload组件:  修复watch 中 直接修改props  fileList

修复 upload组件 直接修改props  fileList
Please make sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's contributing guide (中文 | English | Español).
[ ] Make sure you are merging your commits to dev branch.
[ ] Add some descriptions and refer relative issues for you PR.

Please fix lint error first.
133:12  error  Missing semicolon  semi


ci: allow publishing SNAPSHOT release via workflow_dispatch

This allows pushing out PR states for testing under a snapshot release identifier.
This commit migrates the publish GitHub workflow from using custom bash scripts for publishing towards the commonly provided GitHub actions. That way, the decision when to publish which type of release is completely contained inside the publishing workflow. Without this change, the workflow and the scripts would often need simultaneous changes for reflecting desired publishing results.

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


Add toggle in preview tab to hide background image and replace with "checkerboard transparent" pattern

Something like this but with lighter gray instead of black: https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/10x10_checkered_board_transparent.svg/500px-10x10_checkered_board_transparent.svg.png

instead of setting the background image in css we can do it from component and then just have a toggle to change the image

Is this fine?

Yes, that should be good
On Mon, Jun 15, 2020, 17:17 ਸਹਜਪ੍ਰੀਤ ਸਿੰਘ<EMAIL_ADDRESS>wrote:

Is this fine?
[image: image]
https://user-images.githubusercontent.com/44710980/84707069-a8448380-af23-11ea-8d68-ee1c91f2ff68.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ShabadOS/theme-tool/issues/39#issuecomment-644395261,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADLZ3BYH5CKKZMYWZNN26T3RW2FXDANCNFSM4NY4FROQ
.


Revert complex checks in UsefulPsiTreeUtil.java/isWhitespaceOrComment, because HaxeASTFactory now produces PsiComment for comment tokens instead of producing PsiJavaToken for everything

Revert complex checks in UsefulPsiTreeUtil.java/isWhitespaceOrComment, because HaxeASTFactory now produces PsiComment for comment tokens instead of producing PsiJavaToken for everything

Approved for pull.


Fix java cassandra test

https://progress.opensuse.org/issues/119344
VR: http://openqa.suse.de/tests/9855229#

@ilausuch Your code is not properly formatted. And the \$ is not doing what you think it is doing:
/home/runner/work/BCI-tests/BCI-tests/tests/test_openjdk.py:215: DeprecationWarning: invalid escape sequence \$

@ilausuch please format the code and rebase on main

Also, the tests are still failing with podman on 15.4, can you please take a look?

First green
https://openqa.suse.de/tests/9875111#
The JVM_OPTS seems was override by a configuration file. Next step to clean up the code and final VRs

The CI was failing, but I think it needs more time to setup the cassandra than in openqa. I recovered the original retries number

This PR is closed (for now) because it is stuck in CI test. Reasons: https://progress.opensuse.org/issues/119344#note-8


"Successful attack" output on failed access by unresponsive camera

I get the following response from more than one device in my network:
docker run -t ullaakut/cameradar -t <IP_ADDRESS> -l
⠸ Scanning the network...Nmap scan report for ...<snip>
⠼ Scanning the network...*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 554 (#0)
> DESCRIBE rtsp://:@<IP_ADDRESS>:554/ RTSP/1.0
CSeq: 1
Accept: application/sdp

* Empty reply from server
* The CSeq of this request 1 did not match the response 0
* Connection #0 to host <IP_ADDRESS> left intact
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
⠴  Found 1 streams. Attacking their credentials...* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 554 (#0)
> DESCRIBE rtsp://:@<IP_ADDRESS>:554/ RTSP/1.0
CSeq: 1
Accept: application/sdp

⠦  Found 1 streams. Attacking their credentials...* Empty reply from server
* The CSeq of this request 1 did not match the response 0
* Connection #0 to host <IP_ADDRESS> left intact
▶   Device RTSP URL:    rtsp://:@<IP_ADDRESS>:554/
    Device model:

    IP address:     <IP_ADDRESS>
    RTSP port:      554
    Username:
    Password:
    RTSP route:     /

✔ Successful attack: 1 device was accessed

Any ideas what's happening? The device is listening on 554, but I can't seem to connect to it on VLC or with this tool.

It seems your device returned empty responses.
What is the device that you're trying to access? Are you sure that it's streaming RTSP on the 554 port? If you manually bounded it to stream on port 554 and it uses other protocols, that might be the reason.
Also this just reminded me that I have to create an issue to remove the spinner when the -l option is enabled, haha.

Actually... I'm not sure what the device even is yet, sorry!

I think it's as you described, it's listening on port 554 but it's not actually rtsp.

Mhh, what do you mean? You just scanned your local network and it picked up something?
You can manually run nmap -A <IP_ADDRESS> -p 554. This will tell you what service is running on the port, and if it's RTSP, it will tell you what it is.

"You just scanned your local network and it picked up something?"

Yes :-p

Excellent tool.


Update link to blockstack auth

This PR

updates the link to blockstack auth in the README
fixes #56

@friedger thanks for this. I can't merge this for you. I'll assign to @reedrosenbluth for that.

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

This is good to merge.


Initial support for command completion

Added completion function and implemented help completion. This can be the base to add command completion for more commands.

@raff you still plan on pushing this PR through?

No movement on this in a while, also #88 will likely make this PR unable to be merged in its current state, so closing.


Add .tap method

(any).tamp method should log the object and then return it. It should be applicable to all data types.
"string".tap() // => "string"
{foo: "bar"}.tap() // => {foo: "bar"}

Hi @micheleriva,
I'm watching this issue, is there any documentation about it? I'm not able to find information on the web.
Another question, this method should be applicable to all data types, is it correct to create a method for each type or
is there a way to write the method only one time for all types?
Thank you


flannel falling behind etcd causes spurious message

eb 09 17:39:53 b7.dev.g8teway.com flanneld[7224]: W0209 17:39:53.562142 07224 subnet.go:410] Watch of subnet leases failed because etcd index outside history window
Feb 09 17:39:53 b7.dev.g8teway.com flanneld[7224]: I0209 17:39:53.562497 07224 udp.go:228] Subnet removed: <IP_ADDRESS>/24

Subnet removed refers to its own subnet and this should be handled properly as to not print that line.

I have the same issue and it often results in losing connectivity between the hosts. I need to restart flanneld to restore connectivity again.

@philipphug I was not aware of this issue causing connectivity loss. This is with default "udp" backend, correct? Does this cause you to lose connectivity between all hosts or just some?

I personally sometimes see this message ("Watch of subnet leases failed because etcd index outside history window") as well. But so far it never resulted in a connectivity issues. I'm using "UDP" backend if it matters.

The problem I experienced was that the subnet entries (/coreos.com/network/subnets/XXXX-24) were overwritten with an empty value for some reason which then caused the connectivity issues.
This happened mostly when there was too much load on the etcd machines which caused timeouts and leader elections.

Is this still an issue? Needs confirmation.

Should be fixed by https://github.com/coreos/flannel/pull/286


envoy_reloadable_features_http_route_connect_proxy_by_default deprecation

Your change #32939 (config: preserve presence of connect_config field) introduced a runtime guarded feature. It has been 6 months since the new code has been exercised by default, so it's time to remove the old code path. This issue tracks source code cleanup so we don't forget.
cc @kenjenkins

/assign


cleanup(bigtable): make default clients conform

The main point of this change was to define DefaultDataClient and DefaultAdminClient in an anonymous namespace so they don't show up in our docs.

But then I got carried away making the clients conform. This means:

moving InstanceAdminTraits definition into class
removing untrue comment about early private section
(::)google::bigtable::v2 -> btproto
(::)google::bigtable::admin::v2 -> btadmin

This change is

Mixing two changes made this much harder to grok, try to avoid that in the future.

Sorry about this. I was too lazy to separate the code into multiple PR's once it had been written. But that just transfers effort from the coder to the reviewer.