Avatar position does not update on change in selection and only update once after reload on invite member welcome page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app
Open settings
Open workspaces
Open any workspace
Open Members
Click on invite
Invite multiple users and click Next
Observe that avatars are arranged in the order in which we selected the user in step 7
Go back, unselect all and now select same users but in different order and click next
Observe that app does not display avatars according to modified order of selection in step 9
Go back, reload and select users in order similar to step 9 and click next
Observe that now app displays the avatar in the modified step 9 order

Expected Result:
App should change the avatar order on invite member welcome page every time we go back and change the order of user selection
Actual Result:
App does not change the avatar order on invite member welcome page every time we go back (even on going all the way back to manage members page and reselecting) and change the order of user selection
Workaround:
Unknown
Platforms:

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

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.32-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/47286646-abdd-499e-8d87-26372fcd37a2
https://github.com/Expensify/App/assets/93399543/fa3ad35d-e306-4fa7-8745-1267e7b3ab30
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687708888082279
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
Selecting the same options for an invite by changing an order isn't reflected in the same order on the invite message page.
What is the root cause of that problem?
It seems when the same options are selected, we do have the correct order here for the invitedEmailsToAccountIDs.
https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/workspace/WorkspaceInvitePage.js#L242-L243
But I think Onyx.set seems not set new data when the same keys are being tried to Set. This can be confirmed when you add any new entry to the selection.
What changes do you think we should make in order to solve the problem?
We can reset the draft data before setting the new data which preserves the order correctly which we are passing with invitedEmailsToAccountIDs.
Onyx.set(`${ONYXKEYS.COLLECTION.WORKSPACE_INVITE_MEMBERS_DRAFT}${policyID}`, {});

https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/libs/actions/Policy.js#L1114

Taking to slack as I am not able to reproduce.
https://expensify.slack.com/archives/C049HHMV9SM/p1687990271383509?thread_ts=1687708888.082279&cid=C049HHMV9SM

https://expensify.slack.com/archives/C049HHMV9SM/p1688660897900999?thread_ts=1687708888.082279&cid=C049HHMV9SM


Implements the suggestion for a way to skip the format check in issue 22

https://github.com/coveo/fmt-maven-plugin/issues/22

Thanks for the contribution!


Enhancement: Added support for non root user to run hypershift playbooks

Added support for non root user to run hypershift playbooks

Updated playbooks to allow users with sudo privileges to run the hypershift playbooks.
Added change to wait for MCE to be available after creating AgentServiceConfig.

Updated documentation for the same

Thanks @AmadeusPodvratnik

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


Make field typing more specific

Improves field typing using overloading and StrawberryField typing using generics.

Description
field could not be used as a decorator in strict codebases as there was no way for MyPy to know whether or not it was going to return a decorator or Any.
https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-disallow-untyped-decorators
Types of Changes

[ ] Core
[ ] Bugfix
[ ] New feature
[x] Enhancement/optimization
[ ] Documentation

Thanks for adding the RELEASE.md file!

Here's a preview of the changelog:

Improve typing for field and StrawberryField.

@jaydenwindle this looks good, but I want to test it before merging, just want to make sure we cover all the cases :)
what mypy config do you use?

MyPy Config
[mypy]
plugins = ./strawberry/ext/mypy_plugin.py
implicit_reexport = False
disallow_untyped_decorators = True

Example
import strawberry

def some_resolver() -> str:
    return ""

@strawberry.type
class Example:
    a: str
    b: str = strawberry.field(name="b")
    c: str = strawberry.field(name="c", resolver=some_resolver)
    d: str = strawberry.field(resolver=some_resolver)

    @strawberry.field(description="ABC")
    def e(self, info) -> str:
        return ""

    @strawberry.field(name="f")
    def f_resolver(self, info) -> str:
        return ""

^ this will should error on the decorators without the changes from the PR.
We can't turn disallow_untyped_decorators for the entire codebase because there are a few other decorators that would also need to be addressed.

@jordangarside I pushed some tests, but mypy is currently failing for some reason 🤷♂  I'll try to understand why we get the error we are actually trying to fix:
error: Untyped decorator makes function "e" untyped


Will the 'backward' method in 'LSTM.lua' override the default 'backward' method in 'nn.Module'?

Dear Author,
I have noticed that there is a 'backward' method in the package 'LSTM.lua'. I'm wondering whether it will override the same methods in its parent package 'nn.Module'. If true, the method 'updateGradInput' and 'accGradParameters' will never be called, and the gradient will not update correctly. Is my understanding right?
Best

The backward method in LSTM.lua does override the backward method in nn.Module. The gradients will be fine, because the LSTM backward method both computes gradients with respect to inputs and accumulates gradients with respect to parameters.
This is similar to the backward method of nn.Sequential: https://github.com/torch/nn/blob/master/Sequential.lua#L78
In general it is better to override updateGradInput and accGradParameters, but for RNNs these two methods share a lot of computation so it is more efficient to combine them into one method.


(PDB-3552) Remove dlo compression interval and threshold

Test PASSed

CLA signed by all contributors.


Switching languages doesn't switch consent texts

moving the orignial issue back to 'to do' as it's same


Update README.rst (can be better grammar)

I personally don't see a real value in this PR. Moreover, even if there is no written law on that, it makes the description depart from the "standard" format used in pypi. Due to this, I'm not merging it, sorry.


DNS Domain Record fails updating without a change

What happened?
I am provisioning my CIVO cloud infrastructure via Pulumi.
On the first run, everything works fine, including provisioning of my DNS Name as well as its record.
Without changing the code, running pulumi up again, I ge tthe following error:
  civo:index:DnsDomainRecord (<IP_ADDRESS>):
    error: 1 error occurred:
        * updating urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo$civo:index/dnsDomainRecord:DnsDomainRecord::<IP_ADDRESS>: 1 error occurred:
        * [ERR] an error occurred while renamed the domain record 0b03252e-f4ad-402a-a360-e67d7602473c, ParameterDnsRecordTypeError: The type of the DNS record was invalid - only 'A', 'MX', 'CNAME' or 'TXT' are supported

A pulumi preview --diff shows no changes:
        ~ civo:index/dnsDomainRecord:DnsDomainRecord: (update)
            [id=0b03252e-f4ad-402a-a360-e67d7602473c]
            [urn=urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo$civo:index/dnsDomainRecord:DnsDomainRecord::<IP_ADDRESS>]
            domainId  : "44cdafcc-2316-47ea-b279-60ebd3601d2d"
            name      : "api-stg.bringalong.io"
            ttl       : 600
            type      : "A"
            value     : "<IP_ADDRESS>"

Example
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := civosdk.NewDnsDomainRecord(ctx, "<IP_ADDRESS>", &civosdk.DnsDomainRecordArgs{
			Ttl:      pulumi.Int(600),
			Type:     pulumi.String("A"),
			DomainId: pulumi.String("44cdafcc-2316-47ea-b279-60ebd3601d2d"),
			Name:     pulumi.String("api-stg.bringalong.io"),
			Value:    pulumi.String("<IP_ADDRESS>"),
		})
		if err != nil {
			return err

		}
		return nil
	})
}

Output of pulumi about
CLI
Version      3.114.0
Go Version   go1.22.2
Go Compiler  gc

Plugins
KIND      NAME          VERSION
resource  civo          2.3.14
resource  docker        3.6.1
language  go            unknown
resource  kubernetes    3.30.2
resource  mongodbatlas  3.14.3

Host
OS       darwin
Version  14.4
Arch     arm64

This project is written in go: executable='/opt/homebrew/opt/go/libexec/bin/go' version='go version go1.22.2 darwin/arm64'

Current Stack: eljoth/bringalong/stg

TYPE                                                        URN
pulumi:pulumi:Stack                                         urn:pulumi:stg::bringalong::pulumi:pulumi:Stack::bringalong-stg
bringalong:infra:cloud:civo                                 urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo::bringalong-stg
bringalong:db:mongodb                                       urn:pulumi:stg::bringalong::bringalong:db:mongodb::bringalong-stg
bringalong:docker:Server                                    urn:pulumi:stg::bringalong::bringalong:docker:Server::bringalong-stg
bringalong:infra:kubernetes                                 urn:pulumi:stg::bringalong::bringalong:infra:kubernetes::kubernetes
docker:image:Image                                          urn:pulumi:stg::bringalong::bringalong:docker:Server$docker:image:Image::bringalong-stg
pulumi:providers:mongodbatlas                               urn:pulumi:stg::bringalong::pulumi:providers:mongodbatlas::default
mongodbatlas:index/project:Project                          urn:pulumi:stg::bringalong::bringalong:db:mongodb$mongodbatlas:index/project:Project::bringalong-stg
pulumi:providers:civo                                       urn:pulumi:stg::bringalong::pulumi:providers:civo::default
civo:index/dnsDomainName:DnsDomainName                      urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo$civo:index/dnsDomainName:DnsDomainName::bringalong-stg
mongodbatlas:index/serverlessInstance:ServerlessInstance    urn:pulumi:stg::bringalong::bringalong:db:mongodb$mongodbatlas:index/serverlessInstance:ServerlessInstance::bringalong-stg
civo:index/network:Network                                  urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo$civo:index/network:Network::bringalong-stg
civo:index/firewall:Firewall                                urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo$civo:index/firewall:Firewall::bringalong-stg
civo:index/kubernetesCluster:KubernetesCluster              urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo$civo:index/kubernetesCluster:KubernetesCluster::bringalong-stg
mongodbatlas:index/databaseUser:DatabaseUser                urn:pulumi:stg::bringalong::bringalong:db:mongodb$mongodbatlas:index/databaseUser:DatabaseUser::bringalong-stg
pulumi:providers:kubernetes                                 urn:pulumi:stg::bringalong::bringalong:infra:kubernetes$pulumi:providers:kubernetes::kubernetes
mongodbatlas:index/projectIpAccessList:ProjectIpAccessList  urn:pulumi:stg::bringalong::bringalong:db:mongodb$mongodbatlas:index/projectIpAccessList:ProjectIpAccessList::ips
kubernetes:core/v1:Namespace                                urn:pulumi:stg::bringalong::bringalong:infra:kubernetes$kubernetes:core/v1:Namespace::bringalong
kubernetes:core/v1:Secret                                   urn:pulumi:stg::bringalong::bringalong:infra:kubernetes$kubernetes:core/v1:Secret::pull-secret
kubernetes:cert-manager.io/v1:Issuer                        urn:pulumi:stg::bringalong::bringalong:infra:kubernetes$kubernetes:cert-manager.io/v1:Issuer::issuer
kubernetes:core/v1:Service                                  urn:pulumi:stg::bringalong::bringalong:infra:kubernetes$kubernetes:core/v1:Service::api
kubernetes:networking.k8s.io/v1:Ingress                     urn:pulumi:stg::bringalong::bringalong:infra:kubernetes$kubernetes:networking.k8s.io/v1:Ingress::api
civo:index/dnsDomainRecord:DnsDomainRecord                  urn:pulumi:stg::bringalong::bringalong:infra:cloud:civo$civo:index/dnsDomainRecord:DnsDomainRecord::<IP_ADDRESS>
kubernetes:apps/v1:Deployment                               urn:pulumi:stg::bringalong::bringalong:infra:kubernetes$kubernetes:apps/v1:Deployment::api

Found no pending operations associated with stg

Backend
Name           pulumi.com
URL            https://app.pulumi.com/eljoth
User           eljoth
Organizations  eljoth
Token type     personal

Dependencies:
NAME                                          VERSION
github.com/pulumi/pulumi-civo/sdk/v2          v2.3.14
github.com/pulumi/pulumi-docker/sdk/v3        v3.6.1
github.com/pulumi/pulumi-kubernetes/sdk/v3    v3.30.2
github.com/pulumi/pulumi-mongodbatlas/sdk/v3  v3.14.3
github.com/pulumi/pulumi/sdk/v3               v3.113.3

Pulumi locates its logs in /var/folders/g6/f6098l_50fs3cps12m_j2yzw0000gn/T/ by default

Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Hi @eljoth. Thanks for raising an issue here.

@iwahbe Were you able to repro the issue and provide some ideas for workarounds or possible fixes?

I wasn't able to repro. Our last release included some changes to how we do diffs. @eljoth is the issue still present on v2.3.16?

I am using the new version v2.3.16.
Running the program still results in the same error.
The updated code you can run is as follows (domainName creation was missing in the upper example)
import (
    civosdk "github.com/pulumi/pulumi-civo/sdk/v2/go/civo"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		domainName, err := civosdk.NewDnsDomainName(ctx, "test", &civosdk.DnsDomainNameArgs{
			Name: pulumi.String("bringalong.io"),
		},
		)

		if err != nil {
			return err
		}

		if _, err := civosdk.NewDnsDomainRecord(ctx, "<IP_ADDRESS>", &civosdk.DnsDomainRecordArgs{
			Ttl:      pulumi.Int(600),
			Type:     pulumi.String("A"),
			DomainId: domainName.ID(),
			Name:     pulumi.String("api-stg.bringalong.io"),
			Value:    pulumi.String("<IP_ADDRESS>"),
		}); err != nil {
			return err
		}
		return nil
	})
}

Hi @eljoth -
I also get a diff on preview and then an error on the second pulumi up after running your code. I changed the Name field to a different record but that's all.
However, my error is different:

Output of second pulumi preview and up, after creating the record, with details
guin repros/civo-478🦉 pulumi up
Previewing update (dev)

View in Browser (Ctrl+O): https://app.pulumi.com/guinevere-pulumi-corp/civo-478/dev/previews/09f53136-88d5-4a6d-954e-7974e440a591

     Type                           Name           Plan       Info
     pulumi:pulumi:Stack            civo-478-dev
 ~   └─ civo:index:DnsDomainRecord  <IP_ADDRESS>  update     [diff: ~name]

Resources:
    ~ 1 to update
    2 unchanged

Do you want to perform this update? details
  pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:dev::civo-478::pulumi:pulumi:Stack::civo-478-dev]
    ~ civo:index/dnsDomainRecord:DnsDomainRecord: (update)
        [id=f45e2e15-6491-4dc6-84be-509ec7f7d073]
        [urn=urn:pulumi:dev::civo-478::civo:index/dnsDomainRecord:DnsDomainRecord::<IP_ADDRESS>]
      ~ name: "api-stg" => "api-stg.civofourseveneight.io"

Do you want to perform this update? yes
Updating (dev)

View in Browser (Ctrl+O): https://app.pulumi.com/guinevere-pulumi-corp/civo-478/dev/updates/6

     Type                           Name           Status                  Info
     pulumi:pulumi:Stack            civo-478-dev   **failed**              1 error
 ~   └─ civo:index:DnsDomainRecord  <IP_ADDRESS>  **updating failed**     [diff: ~name]; 1 error

Diagnostics:
  civo:index:DnsDomainRecord (<IP_ADDRESS>):
    error: 1 error occurred:
    	* updating urn:pulumi:dev::civo-478::civo:index/dnsDomainRecord:DnsDomainRecord::<IP_ADDRESS>: 1 error occurred:
    	* [ERR] an error occurred while renamed the domain record f45e2e15-6491-4dc6-84be-509ec7f7d073, Error: Unknown error response - status: 400 Bad Request, code: 400, reason: {"code":"database_dns_record_already_exist","reason":"Failed to create a DNS record name in the internal database, that already exists"}

My version of the pulumi program
 import (
   civosdk "github.com/pulumi/pulumi-civo/sdk/v2/go/civo"
   "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
   pulumi.Run(func(ctx *pulumi.Context) error {
   	domainName, err := civosdk.NewDnsDomainName(ctx, "civo-478", &civosdk.DnsDomainNameArgs{
   		Name: pulumi.String("civofourseveneight.io"),
   	},
   	)

   	if err != nil {
   		return err
   	}

   	if _, err := civosdk.NewDnsDomainRecord(ctx, "<IP_ADDRESS>", &civosdk.DnsDomainRecordArgs{
   		Ttl:      pulumi.Int(600),
   		Type:     pulumi.String("A"),
   		DomainId: domainName.ID(),
   		Name:     pulumi.String("api-stg.civofourseveneight.io"),
   		Value:    pulumi.String("<IP_ADDRESS>"),
   	}); err != nil {
   		return err
   	}
   	return nil
   })
}

The above code in Terraform presents the same error.
I cannot reproduce your particular error -
however I noticed from the details output that the provider was attempting to rename
"api-stg" => "api-stg.civofourseveneight.io".
It appears as though DnsDomainRecordArgs.Name cannot contain any . characters, and the initially supplied name of api-stg.civofourseveneight.io is in fact quietly truncated to api-stg somewhere, resulting in a diff every time you try to run pulumi up.
When I set DnsDomainRecordArgs.Name to "hello" there was no diff on the second pulumi up. Can you try something like this? The docs say the Name value corresponds to the part before the domain name.
Please let us know if this helps!

HI @guineveresaenger,
changing the name to only contain the subdomain instead of the whole DNS Name it works great.
Thanks for the hint!
Even though I obviously did not read the docs correctly, is this a candidate for validation improvement?
If that's the case, I can leave this issue open, otherwise I will close it.

Brilliant! Thank you, @guineveresaenger! By the way, I do have one comment though:

however I noticed from the details output that the provider was attempting to rename "api-stg" => "api-stg.civofourseveneight.io".

I don't think we were seeing this diff or we definitely would have noticed what was going on. Here's a link to the pulumi preview --diff from when @eljoth reported this on Slack: https://pulumi-community.slack.com/archives/C01PF3E1B8V/p1714293493171259?thread_ts=1714162691.564549&cid=C01PF3E1B8V

Yay! I'm glad you're unblocked. 🎉
@praneetloke - I do actually see this diff on my end. on pulumi preview --diff:
guin repros/civo-478🦉 pulumi preview --diff
Previewing update (dev)

View Live: https://app.pulumi.com/guinevere-pulumi-corp/civo-478/dev/previews/8fe4be12-6172-43b5-af79-d3997033233b

  pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:dev::civo-478::pulumi:pulumi:Stack::civo-478-dev]
    ~ civo:index/dnsDomainRecord:DnsDomainRecord: (update)
        [id=93e306eb-88e9-46a3-b501-4b0ff0fbcc61]
        [urn=urn:pulumi:dev::civo-478::civo:index/dnsDomainRecord:DnsDomainRecord::<IP_ADDRESS>]
      ~ name: "api-stg" => "api-stg.civofourseveneight.io"
Resources:
    ~ 1 to update
    2 unchanged

But again, I don't have an exact repro for what you saw.
@eljoth - I agree validation can be better here. This would be a fix on the upstream Terraform provider. I'm going to file an issue there and mark this issue as awaiting upstream. 👍

upstream issue: https://github.com/civo/terraform-provider-civo/issues/211

@guineveresaenger ah I think perhaps there was a bug in the CLI display (or TF bridge maybe?) that has been fixed since the time @eljoth and I were looking into this. I think it may have been 3.113.0 perhaps that he was on. Everything else was latest at the time then.


Add InfiniteBench for long context benchmarking

Motivation

This PR adds support for eval on a long context benchmark, InfiniteBench. See https://github.com/sgl-project/sglang/issues/1273 for more context.
Modifications

Following the discussion in https://github.com/sgl-project/sglang/issues/1273, it currently adds code from TensorRT-LLM repo (link) to load the data, create prompts and compute scores. Following are the sample outputs for both cases using gradientai/Llama-3-8B-Instruct-Gradient-1048k with maximum input length of ~130K. Please check readme for more details and instructions on how to run both the benchmarks. Currently, predictions are different (see below) which I will try to fix.
 Remember it", "ground_truth": ["16783"], "input_lengths": [125339]}
{"id": 8, "prediction": " 15951.", "ground_truth": ["15951"], "input_lengths": [125339]}
{"id": 9, "prediction": " 52933.", "ground_truth": ["52933"], "input_lengths": [125339]}

Checklist

[x] Format your code according to the Contributor Guide.
[ ] Add unit tests as outlined in the Contributor Guide.
[x] Update documentation as needed, including docstrings or example tutorials.

Additionally, the section about TensorRT LLM is very good! Would you be willing to help improve this custom task script to make it easier to test TensorRT LLM?
https://github.com/sgl-project/sglang/blob/main/test/srt/experiment_runner.py
ref https://github.com/sgl-project/sglang/pull/2407
If considering doing it, it can be implemented in another PR. Thanks!

close https://github.com/sgl-project/sglang/issues/1273

gradientai/Llama-3-8B-Instruct-Gradient-1048k GradientAI LOL your previous work. cc @michaelfeil

Is this ready to be merged?
We can have this first and then add this to CI in the next PR.

cc @iankur and @zhyncs . Ready to merge this first part?


Improve the test stability of MemoryEstimatorTest by increase total number of docs

Description
We are seeing increasing failure for MemoryEstimatorTest, as the random data generator cannot guarantee all the unique values been picked in next() call.
Just increase the total number of docs will significantly increase the probability to select all the unique values. This is a fix to unblock the release. A permanent fix should follow.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes
If you have tagged this as either backward-incompat or release-notes,
you MUST add text here that you would like to see appear in release notes of the
next release.
If you have a series of commits adding or enabling a feature, then
add this section only in final commit that marks the feature completed.
Refer to earlier release notes to see examples of text
Documentation
If you have introduced a new feature or configuration, please add it to the documentation as well.
See https://docs.pinot.apache.org/developers/developers-and-contributors/update-document

@yupeng9 @sajjad-moradi

Codecov Report

Merging #6612 (ceab6c1) into master (1beaab5) will decrease coverage by 0.87%.
The diff coverage is 62.57%.

@@            Coverage Diff             @@
##           master    #6612      +/-   ##
==========================================
- Coverage   66.44%   65.57%   -0.88%
==========================================
  Files        1075     1352     +277
  Lines       54773    66592   +11819
  Branches     8168     9713    +1545
==========================================
+ Hits        36396    43668    +7272
- Misses      15700    19806    +4106
- Partials     2677     3118     +441

Flag
Coverage Δ

unittests
65.57% <62.57%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...e/pinot/broker/api/resources/PinotBrokerDebug.java
0.00% <0.00%> (-79.32%)
:arrow_down:

...pinot/broker/api/resources/PinotClientRequest.java
0.00% <0.00%> (-27.28%)
:arrow_down:

...ot/broker/broker/AllowAllAccessControlFactory.java
71.42% <ø> (-28.58%)
:arrow_down:

.../helix/BrokerUserDefinedMessageHandlerFactory.java
33.96% <0.00%> (-32.71%)
:arrow_down:

...ker/routing/instanceselector/InstanceSelector.java
100.00% <ø> (ø)

...ava/org/apache/pinot/client/AbstractResultSet.java
66.66% <ø> (+9.52%)
:arrow_up:

...n/java/org/apache/pinot/client/BrokerResponse.java
100.00% <ø> (ø)

.../main/java/org/apache/pinot/client/Connection.java
35.55% <ø> (-13.29%)
:arrow_down:

...org/apache/pinot/client/DynamicBrokerSelector.java
82.85% <ø> (+10.12%)
:arrow_up:

...n/java/org/apache/pinot/client/ExecutionStats.java
68.88% <ø> (ø)

... and 1214 more

Continue to review full report at Codecov.

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


useGet not working from 0.1.66 version

Last working version is 0.1.65. Situation looks like url has not been passed to request function, because request goes to current location(localhost).
Example of use:
const [users, usersLoading] = useGet('https://api.example.com/v2/users', { onMount: true })

Will get to this asap

Everything should be working. Please use v0.1.73.  See codesandbox


Publish new patch version

Please publish a patch version of ngStorage.
It would be nice to have the bug fix for Safari 9.1 (#210).

@gsklee I totally agree. Would be nice to get this issue fixed.

Done.


Windows fixes for buildifier check, fix and test

This PR includes fixes to support check, fix and test on Windows. Fixes https://github.com/keith/buildifier-prebuilt/issues/88
Tested with bazel 7.2.1 and both --noenable_runfiles and --enable_runfiles
All validations performed with --windows_enable_symlinks enabled
for buildifier.test to work, I used the following config. I could not get test to work without specifying workspace and no_sandbox.
buildifier_test(
    name = "buildifier.test",
    srcs = ["BUILD"],
    exclude_patterns = [
        "./.git/*",
    ],
    lint_mode = "warn",
    no_sandbox = True,
    workspace = "WORKSPACE",
)

any way we can verify the previous failure on CI?

@keith @cgrindel I've merged https://github.com/keith/buildifier-prebuilt/pull/90 here. Please would you run this CI?
Expected results:
Windows: all tests pass
Linux: 1 test fails. 4 of 6 sub-tests pass. 2 fail as the linux path does not do manifest lookups.
How should we handle the linux failure? change the test to ignore that failure and raise an extra defect?
Thanks, Chris

Started CI

@keith thank you. Results as expected. Would to like me to disable the two failing cases for non-windows?

Looks like it failed on Linux but not windows? Maybe misunderstanding what you expected?

I added new cases within my new test for:
buildifier invoke (norunfiles) - passes windows & linux
buildifier check (norunfiles) - passes windows, fails linux
buildifier fix (norunfiles) - passes windows, fails linux
buildifier invoke (w/runfiles) - passes windows & linux
buildifier check (w/runfiles) - passes windows & linux
buildifier fix (w/runfiles) - passes windows & linux
The linux failures are demonstrating existing problems (or limitations), and are not addressed by this PR.
If you agree, I can I open a new defect and disable these two cases on linux for now. Most people won't hit these as no runfiles on linux is uncommon. I won't have time to work on these.
Cheers, Chris

I have opened #91 for the linux issue, updated the test cases.
@keith @cgrindel Please rerun CI, I'd expect all to pass now.

I just approved CI.

@cgrindel could you rerun this one?

Awesome! Windows & Linux are clean... Mac seems to be waiting on a runner... What are next steps with this PR?


Minor change to show "verification" in TOC

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

globalization/locale/sorting-and-string-comparison.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[rename refactor] single case DU matching DU name could optionally be renamed

Considering this code:
type SingleCaseDU =
    | SingleCaseDU of obj
    static member getValue = function | SingleCaseDU o -> o

I'd like the rename refactor to optionally propose to rename the single case named SingleCaseDU  the same.

@smoothdeveloper This is a great idea! It's really easy to always rename the only union case or a union with a single case. It is a bit harder to make it being renamed optional, though. I'll take a look, thanks!

@smoothdeveloper Do you think it should also be suggested when the both symbols had different names before renaming?
The whole infrastructure is there in ReSharper so it was quite easy to get it working.

@auduchinok, exciting!
I have no strong opinion, maybe option to specify both names at once (user retain full control, defaults would be single case with same name gets both renamed)?
Do you see opportunity to compose a dialog with the list of all cases for batch renaming if this one prove successful?

According to the text above the suggestions table the names of related symbols can be modified and they indeed are!
We can try to always provide the suggestions and to see if there're any complaints about them getting in the way in 2019.3 EAP/release.

Do you see opportunity to compose a dialog with the list of all cases for batch renaming if this one prove successful?
Can you share an example where changing all names at once could be more useful than doing renames separately?

@smoothdeveloper Thank again for the idea, I'm closing the issue as it's was implemented in https://github.com/JetBrains/fsharp-support/commit/4965eb79d16974e6954626b4f0963914af701408. By all means share your thoughts about multi-case unions if you find such rename to be useful.

Can you share an example where changing all names at once could be considerably more useful than doing renames separately?

I'm just considering workflow with several simple refactor in a row, I know issuing refactor sequentially generally takes time in larger solution.
When doing rename on the top level identifier of a DU, if we can batch more changes in the editing, it would make it better, but I get that the rename workflow should be lean in terms of input (f2, type new name, enter, does what user expects 99%) and adding complexity to the dialog may not be fitting the product.
Imagining user doing a bunch of renames in fsharp typed AST DU versus issuing them separately, could be a nice stress testing benchmark.
Looking forward to try the next EAP ! :+1:


how to train the model

Any setup readme?

also want a train or test demo

@KiveeDong

@KiveeDong cannot compile successfully,could you give more detail setup readme?

The centripetalnet has been included in mmdetection, and more details can be seen in https://github.com/open-mmlab/mmdetection/blob/detr/configs/centripetalnet/README.md

@KiveeDong,could you give more detail setup readme?Thank you.

@KiveeDong

@KiveeDong  could you give more detail setup readme?Thank you.


SampledValue editor errors on scd file without SampledValue subscriber information

Describe the bug
Unexpected console error.
To Reproduce
Steps to reproduce the behavior:

Open for example: test/testfiles/zeroline/functions.scd.
Select the "Sampled Values subscriber" editor.
Observe a console log error.

Expected behavior
No console errors.
Screenshots

Desktop (please complete the following information):

OS: Linux, Kubuntu 22.04
Browser: Chrome
Version: Version 102.0.5005.61 (Official Build) (64-bit)

Possibly solved by https://github.com/openscd/open-scd/pull/830


Update NuGet Package Format and Surface Errors

Modified our .targets files to use TargetsForTfmSpecificBuildOutput in order to copy the SBOM and sha256 hash into the user's nuget package. Note: we must set the  to include .sha256 as an allowed extension in order for the SBOM hash to be copied into the package.
Also, we needed to set a ToolTask property that will log any errors from the CLI tool as ToolTask errors, so the messages will be surfaced to Visual Studio's output.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 66.81%. Comparing base (a3e094d) to head (e56b7e3).

Additional details and impacted files
@@                      Coverage Diff                      @@
##           feature/sbom-targets-task     #619      +/-   ##
=============================================================
- Coverage                      69.63%   66.81%   -2.82%
=============================================================
  Files                            276      276
  Lines                           8582     8582
  Branches                        1001     1001
=============================================================
- Hits                            5976     5734     -242
- Misses                          2087     2338     +251
+ Partials                         519      510       -9

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Usage Info

Hi,
Will this gem allow to set and IP configuration on a Linux machine ?
Thanks

no but this should be an easy task. feel free-:)
Meno
On Thu, Jan 8, 2015 at 12:01 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

Hi,
Will this gem allow to set and IP configuration on a Linux machine ?
Thanks
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1.

should i do it, it will takes only a few minutes.
meno
On Thu, Jan 8, 2015 at 12:03 PM, Meno Abels<EMAIL_ADDRESS>wrote:

no but this should be an easy task. feel free-:)
Meno
On Thu, Jan 8, 2015 at 12:01 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

Hi,
Will this gem allow to set and IP configuration on a Linux machine ?
Thanks
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1.

Well, if you can that will be great, I'm looking for a gem which will let you "configure" an IP adress on a Linux based OS, Right now I use a set of bash commands and TBH it ugly as hell, having half my code looks like
	    	%x(sudo mv /tmp/networking.txt /etc/network/interfaces)
	    	%x(sudo echo -e 'nameserver #{dns1}\nnameserver #{dns2}' > /tmp/dns.txt)
	    	%x(sudo mv /tmp/dns.txt /etc/resolvconf/resolv.conf.d/base && sudo /etc/init.d/resolvconf restart)
	    	%x(sudo /etc/init.d/networking stop && sudo /etc/init.d/networking start)

So Yeah, if you can do it I will use your gem in my project ;)

i working on construqt also in my github that is able to generate you
programmicly network configurations.
like this
region.hosts.add("aiccu", "flavour" => "ubuntu") do |aiccu|
region.interfaces.add_device(aiccu, "lo", "mtu" => "1500",
:description=>"#{aiccu.name} lo",
"address" =>
region.network.addresses.add_ip(Construqt::Addresses::LOOOPBACK))
aiccu.configip = aiccu.id ||= Construqt::HostId.create do |my|
my.interfaces << region.interfaces.add_device(aiccu, "eth0", "mtu" =>
1500,
'address' =>
region.network.addresses
.add_ip("<IP_ADDRESS>/24").add_route("<IP_ADDRESS>/0", "<IP_ADDRESS>")
.add_ip("2001:6f8:900:82bf::9/64"))
end
end
Meno
P.S. i will try to do a side step to push the gem soon.
On Thu, Jan 8, 2015 at 12:08 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

Well, if you can that will be great, I'm looking for a gem which will let
you "configure" an IP adress on a Linux based OS, Right now I use a set of
bash commands and TBH it ugly as hell, having half my code looks like
        %x(sudo mv /tmp/networking.txt /etc/network/interfaces)
        %x(sudo echo -e 'nameserver #{dns1}\nnameserver #{dns2}' > /tmp/dns.txt)
        %x(sudo mv /tmp/dns.txt /etc/resolvconf/resolv.conf.d/base && sudo /etc/init.d/resolvconf restart)
        %x(sudo /etc/init.d/networking stop && sudo /etc/init.d/networking start)

So Yeah, if you can do it I will use your gem in my project ;)
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69165638
.

Thanks :) I'll keep "watching" the git, this looks like a nice going project.

construqt is nice but quite complex and it is so complex that i have no
idea to document it nor how i test it automated.
But i use it in production, it is on my opinion the first sdn working
product-:)
So if you want something to implement feel free to ask me to getting
started.
Meno
On Thu, Jan 8, 2015 at 12:22 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

Thanks :) I'll keep "watching" the git, this looks like a nice going
project.
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69167009
.

In my mind a good solution should look like
Linux::Ip::Addr.set_ip(:ip=>'<IP_ADDRESS>', :subnet=>'<IP_ADDRESS>', :gateway=>'<IP_ADDRESS>')

or something with a different syntax, but this is how easy it should look I think.
If you got time to start doing this, I'll be more then happy to use it :) so go ahead I guess ;)

My way.

Linux::Ip::Addr should not know anything about formats of ip-addresses.
This could handled externaly
by eg. IpAddress(gem)
This is the strait way but it is based on the very simple datastructure
it had before. Which i wont like
to change

this results in:
ip_addr = Linux::Ip::Addr::IpAddr.new
ip_addr.interfaces << Linux::Ip::Addr::Interface.new("eth0").add_ip("

<IP_ADDRESS>/26")
puts  ip_addr.as_commands("del").include?("ip addr del <IP_ADDRESS>/26 dev
eth0")
or
ip_addr.execute_add or execute_del
i will push in the next seconds this version.
meno
On Thu, Jan 8, 2015 at 12:32 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

In my mind a good solution should look like
Linux::Ip::Addr.set_ip(:ip=>'<IP_ADDRESS>', :subnet=>'<IP_ADDRESS>', :gateway=>'<IP_ADDRESS>')
or something with a different syntax, but this is how easy it should look
I think.
If you got time to start doing this, I'll be more then happy to use it :)
so go ahead I guess ;)
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69167921
.

gem push linux-ip-addr-0.0.6.gem
Pushing gem to https://rubygems.org...
Successfully registered gem: linux-ip-addr (0.0.6)
On Thu, Jan 8, 2015 at 12:41 PM, Meno Abels<EMAIL_ADDRESS>wrote:

My way.

Linux::Ip::Addr should not know anything about formats of ip-addresses.
This could handled externaly
by eg. IpAddress(gem)
This is the strait way but it is based on the very simple datastructure
it had before. Which i wont like
to change

this results in:
ip_addr = Linux::Ip::Addr::IpAddr.new
ip_addr.interfaces << Linux::Ip::Addr::Interface.new("eth0").add_ip("

<IP_ADDRESS>/26")
puts  ip_addr.as_commands("del").include?("ip addr del <IP_ADDRESS>/26
dev eth0")
or
ip_addr.execute_add or execute_del
i will push in the next seconds this version.
meno
On Thu, Jan 8, 2015 at 12:32 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

In my mind a good solution should look like
Linux::Ip::Addr.set_ip(:ip=>'<IP_ADDRESS>', :subnet=>'<IP_ADDRESS>', :gateway=>'<IP_ADDRESS>')
or something with a different syntax, but this is how easy it should look
I think.
If you got time to start doing this, I'll be more then happy to use it :)
so go ahead I guess ;)
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69167921
.

I'm getting an Error while using the:
p_addr.interfaces << Linux::Ip::Addr::Interface.new("eth0").add_ip(" <IP_ADDRESS>/24")

command

your ruby syntax is no ok
you missed some :::: it should work like written in your email
meno
On Thu, Jan 8, 2015 at 1:12 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

I'm getting an Error while using the:
p_addr.interfaces << Linux::Ip::Addr::Interface.new("eth0").add_ip(" <IP_ADDRESS>/24")
command
[image: selection_002]
https://cloud.githubusercontent.com/assets/1631073/5662324/3d5dbe16-9740-11e4-8ea4-954ba6a306b1.png
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69171549
.

Nice ! thanks !!!
[6] pry(main)> p ip_addr.interfaces
[#<Linux::Ip::Addr::Interface:0x00000000957e28 @name="eth0", @ips=[" <IP_ADDRESS>/26"]>]
=> [#<Linux::Ip::Addr::Interface:0x00000000957e28
  @ips=[" <IP_ADDRESS>/26"],
  @name="eth0">]

What about configuring the Default Gateway ? is that something you could do ?

i excepted this question, i need to add this also we need to extend the
route parser to get this working
meno
p.s i will do that in some minutes
On Thu, Jan 8, 2015 at 1:24 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

What about configuring the Default Gateway ? is that something you could
do ?
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69172735
.

done
Pushing gem to https://rubygems.org...
Successfully registered gem: linux-ip-addr (0.0.8)
ip_route = Linux::Ip::Route::IpRoute.new
ip_route.add_via("eth0", "<IP_ADDRESS>/0", "<IP_ADDRESS>")
ip_route.as_commands("add")
Meno
On Thu, Jan 8, 2015 at 1:26 PM, Meno Abels<EMAIL_ADDRESS>wrote:

i excepted this question, i need to add this also we need to extend the
route parser to get this working
meno
p.s i will do that in some minutes
On Thu, Jan 8, 2015 at 1:24 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

What about configuring the Default Gateway ? is that something you could
do ?
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69172735
.

Very nice :)
Btw, do those configurations will be saved after a reboot ? (or is it only ifconfig commands?)

Btw, I got this integrated to my project:
	def self.network_configurator(ip, subnet, gateway, dns)

		# Set IP
		ip_addr = Linux::Ip::Addr::IpAddr.new
		ip_addr.interfaces << Linux::Ip::Addr::Interface.new("eth0").add_ip("#{ip}/#{subnet}")
		ip_addr.execute_add
		# Set Gateway
		ip_route = Linux::Ip::Route::IpRoute.new
		ip_route.add_via("eth0", "<IP_ADDRESS>/0", gateway)
		ip_route.as_commands("add")
		# Set DNS

	end

no  they will not saved.
Do a script like this:
iface eth0 inet manual
up   /bin/bash /etc/network/eth0-up.iface
down /bin/bash /etc/network/eth0-down.iface
dann you will be also happy or use -:) construqt
meno
On Thu, Jan 8, 2015 at 2:01 PM, Bar Hofesh<EMAIL_ADDRESS>wrote:

Very nice :)
Btw, do those configurations will be saved after a reboot ? (or is it only
ifconfig commands?)
—
Reply to this email directly or view it on GitHub
https://github.com/mabels/gem-linux-ip-addr/issues/1#issuecomment-69175969
.


module layout

When using some of the modules, I find that somethings feel awkward. Maybe I'm not doing it correctly.
Example: Using the fs module, I need to access the Fs object to access the access function. I would have expected that fs.access(...) would work, but its really fs.Fs.access(...)`. That's a bit different than my expectations.

Actually, you would just use the 'Fs' object directly (without including the package name):
      import io.scalajs.nodejs.fs._

      val file1 = "./src/test/resources/fileB1.txt"
      val file2 = "./src/test/resources/fileB2.txt"

      val readable = Fs.createReadStream(file1)
      val writable = Fs.createWriteStream(file2)
      readable.pipe(writable)
      writable.onFinish { () =>
        info("Comparing file sizes:")
        info(s"$file1 is ${Fs.statSync(file1).size} bytes")
        info(s"$file2 is ${Fs.statSync(file2).size} bytes")
        assert(Fs.statSync(file1).size == Fs.statSync(file2).size)
      }

Ok. I think the expectation was that if I import io.scaljas.nodejs.fs then I could do fs.access(..) vs the extra hop through Fs which to me was implied with the fs. I only mention this because I scan node.js source code for how they use the API and they always prefix with just fs so I hit a mental pause during development.


Error compiling on Windows 10

Hi,
When trying to install via PyPi I get the following compilation error:
" C:\Users\user\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
pyoctree\pyoctree.cpp(267) : fatal error C1083: Cannot open include file: 'cOctree.h': No such file or directory  error: command 'C:\Users\user\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe' failed with exit status 2"
System:
Windows 10 Pro x64
Version 1511
Build 10586.545
Visual C++ 2008 (9.0) - MSC_VER=1500
If do you need any extra information, please just let me know.
Best regards.

Hi mattbv,
For some reason cOctree.h is missing from the PyPi package. I will add it and upload a new version to PyPi soon.
In the meantime, you can get a copy of cOctree.h from Github [here] (https://github.com/mhogg/pyoctree/blob/master/pyoctree/cOctree.h). Just copy it to the same folder that contains cOctree.cpp and try to reinstall.
Alternatively you can either download the full source from Github (which contains all the files) or use the installer on the releases page.
Cheers,
Michael

Hi Michael,
Thank you for your quick reply. I've downloaded the source code and it worked, indeed. Also, nice to know that there's the option of a installer as well.
Cheers,
Matheus


hi, i have one mss310r that work perfectly,  bat my 4 x mss310 work only fewer minutes and than become offline

Version of the custom_component

Configuration

Add your logs here.

Describe the bug
A clear and concise description of what the bug is.
Debug log

Add your logs here.

hi, i have one mss310r that work perfectly, bat my 4 x mss310 work only fewer minutes and than become offline

Now all device work.

the problem persists

Hello @No-Smart,
It usually happens with my devices too that sometimes they just fail a connection attempt and then on the next inquiry come online again (so you usually see they'r egoing offline and then coming back usually in 30 seconds on the next connection attempt) and I've never found how to solve this.
If it's a 'persistent' malfunction you can try enabling the tracing feature (which just runs 10 minutes so it might not intercept the error: keep trying until you can catch a trace with an error inside)
You can enable tracing with https://github.com/krahabb/meross_lan#troubleshooting or maybe better, enable debug logging directly in HA so that the logs never stop (until you change the HA configuration.yaml).
For the latter (HA debug log) insert this snippet in your configuration.yaml and restart:
logger:
  default: info
  logs:
    custom_components.meross_lan: debug

Beside the usual network connection problems, the unavailability of the device after few minutes could be due to an incorrect/absent device key in configuration.
The devices need a proper key to correctly communicate. If the key is left empty there's a form of hack trying to overcome the protocol security features but, being a 'trick' is not at all reliable and so (and it seems latest firmwares are really making it hard to be able to hack) meross_lan could loose the ability to communicate.
You can try follow this post and the underlying issue


ExecutableQuestion:

Can you release an executable of this engine? Since i'm bad at coding and can't compile

Can you release an executable of this engine? Since i'm bad at coding and can't compile

https://github.com/nebulazorua/andromeda-engine/releases


added h1 tag

Pull Request Type
What kind of change does this PR introduce?
[done] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
What is the current behavior?

Issue Number: #1540
What is the new behavior?

added h1 tag with name john doe
Other information

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out our forkcommitmerge.io website repository. The repository contain real issues that you can help to resolve or create some of your own if you see any bugs or want to add new features to the site, etc. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


MudNavLink cannot be selected using TAB key if OnClick handler is present

Bug type
Component
Component name
MudNavLink
What happened?
If MudNavLink has OnClick handler set, you cannot set focus to it using TAB key. When there is no OnClick handler selecting the link with TAB is possible like it should be.
Also, you cannot get around this, because it's impossible to set tabindex manually to the correct internal HTML element through UserAttributes. When OnClick handler is present MudNavLink seems to use a div element internally as a "button". This is not very good as you wouldn't be able to click it using enter key even if you were able to select it using tab key. So I suggest to use either a button or just NavLink or a tag with default behavior prevented.
This accessibility issue currently makes this component unusable in some cases.
Expected behavior
When MudNavLink has OnClick handler set, you should be able to select it using TAB key.
Reproduction link
https://try.mudblazor.com/snippet/GEGwOUPrFFVjaMan
Reproduction steps

Open drawer.
Click somewhere inside it but not the links.
Start navigating using TAB key or SHIFT + TAB.
Notice how the middle MudNavLink is skipped just because it has OnClick handler present.

Relevant log output
No response
Version (bug)
6.0.10
Version (working)
No response
What browsers are you seeing the problem on?
Firefox, Chrome, Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

Note that there are also other TAB key related issues on MudNavLink. I commented about them on issue #4651


Defautl global filters for all tables, with table Cols Names

Hi, this is very nice 👍
For multi-tenant purpose, I have added a companyId int field/value to the aspUsers table. I also have the companyId col in most of the entities/table, and followed your wiki. I want to know if I can set the filter up in OnModelCreating - and global filter out all tables with column COmpanyId/tenantId
So, does a a global setting filter exist using a value like tenantId/companyId, i.e. filter all tables with col companyId like here, and can it automatically over ride or inject into the local controller dbcontext, can you tell me how to configure and setup/do this, the wiki just shows per table not globally based on a column. However, the typical use case is - the filters are fixed per user-login-session, i.e. he will work on his/one companies records.

please tell me how can I set/enable a filter targeted on his companyid. during user login, that will user his tenantId/companyId to filterOnly his organizations records when the companyId field is available on the entities, and prevent other visibility.
Is the filter per session, and does it dispose automatically when user logs out/? how to implement dispose on time-our or user lock-out as well?
In wiki help I only see Query Filter, what about rest CRUD filter like in Dynamic Filters, for updates and deletes on the main table and related tables, can you please include some CRUD filter samples around multitenancy

Thanks
Weedy

Please re-read the wiki.  Everything you are asking about is described there...
Create an interface that defines your CompanyId/tenantId column.  Have all of your entities implement that interface.  Create your filter against the interface.  This is described here with the example of ISoftDelete: https://github.com/jcachat/EntityFramework.DynamicFilters#defining-filters
There are different methods of specifying the value for the filter (in your case the companyId).  Described here: https://github.com/jcachat/EntityFramework.DynamicFilters#defining-filters and https://github.com/jcachat/EntityFramework.DynamicFilters#parameter-expressions.  You will have to figure out what works best for your application.
Filters are defined globally so there is no user session dispose required.
This library does not support CRUD operations.  Only "select" queries.

Sorry if this sounds like a trivial question.  I looked at the wiki, and I have not implemented interfaces, however, most of my tables have ComapnayId.
Without interfaces, I am hoping I can get past the hurdle of setting up the configuration of a tenant/companyId/Int at global scope for all user tables in the user session. I did this but I am struggling on how to get it set/triggered or linked from when the user logs in.
(this is not ideal, but a sample I'm trying to replace this sort-of functionality  globally, )
public static class EnumerableExtensions
{
    public static T GetOnlyTenantRecords<T>(this IEnumerable<T> source, Func<T, bool> predicate)
    { return source.Where(args => args == User.TenantId).FirstOrDefault(predicate); }
}

looking at this help on the DynamicFilters Wiki - it said global scope but seems _specific to one table i.e. Person table _

so please share how do I set this up to filter for all tables that contain a column for tenantId
modelBuilder.Filter("NotesForCompany", (Note n, int orgID) => n.Person.OrganizationID==orgID, (MyContext ctx) => ctx.CurrentOrganizationID);

// Please help with this signature... the wiki did not mention anything on the signature, how to setup the global tenant filter for all tables/entities Is the first part of the signature a filter name, or a variable?
// Tried to pass as a const string, did not work!
modelBuilder.EnableFilter(User.CompanyId, (dbContext ctx) => !ctx.UserIsAdmin);
Step 1:
// passing user.CompanyId while user is logging in to setup his tenant specific Dbcontext for all tables
When I try modelBuilder.EnableFilter(User.CompanyId, (dbContext ctx) => ctx.HowToSEtupFileterAllTables == User.CompanyId);
A couple of sample code snippets on how to call them for CRUD inside a tenant session would be greatly helpful

The only way to define a single filter that applies to multiple tables is by defining the filter on either a base class or an interface.  There is no other way.
"global scope" means that you define the filter at the application level (in OnModelCreating - which is called once during application start up) and it will apply throughout the application, for all matching queries, and for all user requests.
You are again asking about CRUD.  And again, this library only supports "select" queries so I don't know what else to tell you.
I suggest that you download the project and look at the source code for the test project.  There are numerous examples of how to define filters, pass parameters, etc.


Wikitext-2 and Wikitext-103 RNN Model

Hi, I saw that in the example directory, there are three language modeling benchmarks (bucketing, word_lm, large_word_lm). The first two are running on the PTB dataset and the last one is running on the Google-Billion-Word dataset. Could someone please tell me whether we have any model that can run on the Wikitext-2 and Wikitext-103 dataset, which I think are also very popular in language modeling task.
Thanks.

You can find example on Wikitext-2 in the following link:
https://github.com/apache/incubator-mxnet/tree/master/example/gluon/word_language_model
We also have interface for using Wikitext103:
https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/gluon/contrib/data/text.py

Great. @szhengac Thanks.


STOR-1277: Whitelist SELinux metrics

Run make whitelisted_metrics && make to get new SELinux metrics into telemetry whitelist.
Approval from Metrics folks: https://issues.redhat.com/browse/STOR-1277, https://github.com/openshift/cluster-storage-operator/pull/422#pullrequestreview-1752989792 and https://github.com/openshift/cluster-monitoring-operator/pull/2155
It generated also acm_console_page_count:sum that I am not interested in, but I trust your generator scripts.

Please re-generate resources/services/telemeter-template.yaml and check that in as well. make manifests should do it, although sometimes make incorrectly claims it's up to date, in which case deleting the file then running make manifests should do it.

@jacobbaungard updated by make manifests.


build(docker): fix docker build for node and rollup

Context

Related Tasks: Launch jstz on weeklynet
Description

This PR makes several minor changes to the docker files (and the jstz-node) to run jstz in our GCP setup
Manually testing the PR

Follow https://www.notion.so/trilitech/Runbook-Dogfooding-9d5b08c4f605497ba9093dac1c4de1d3?pvs=4

Unfortunately haven't deployed it yet and stuck on the last command. Feel free to set up 1<>1 at some point to resolve it.
Also, can you please update the runbook so that it fixes the issues that I've encountered during the deployment so far.


How to create views for linked databases using the API?

 I have a page which contains the linked databases. How can I programmatically set the views (e.g. board view with sort and filter, etc) using the API?

We don't support database views currently in the API. This is on our roadmap, but we don't have a timeline for adding this feature yet. Thanks for the feedback!

hey @alicial. is there any update on that. It would be a really really useful feature for me ;-)

What about today? I am looking for this too.

Add me to the waitlist for this feature


feat(climc): support download container image

What this PR does / why we need it:

Does this PR need to be backport to the previous release branch?:

/area climc
/cc @swordqiu

3.10

kubeserver: https://github.com/yunionio/kubecomps/pull/293


DevTools: duplication of stores

Hi,
Creating a store using proxy and then adding it to devtools is causing a weird bug where stores are duplicated when viewing in Redux chrome extension.
This is the code I'm using to create the store:
import { proxy } from 'valtio';
import { devtools } from 'valtio/utils';
import { isProduction } from './env-utils';

export const createStore: <T extends ObjectOf<T>>(
  initialObject: T,
  storeName: string,
) => T = (initialObject, storeName: string) => {
  const store = proxy(initialObject);

  if (!isProduction()) {
    devtools(store, storeName);
  }
  return store;
};

// https://github.com/typescript-eslint/typescript-eslint/issues/2720#issuecomment-729762246
type ObjectOf<T> = { [P in keyof T]: T[P] };

Valtio version: 1.2.7
Redux extension version: 2.17.2
Is this a known issue? Is there a workaround for it maybe?
Thanks

Could you make a code sandbox repro & mention where's the weird behaviour exactly?

It seems to me that Redux devtools and Nextjs(In my case) HMR are related.
Whenever I update the Valtio state code, Redux devtools creates a duplicate store.

Could you try #307 ?

in your package.json:
    "valtio": "https://pkg.csb.dev/pmndrs/valtio/commit/84ae5735/valtio"

So, I tried to reproduce it in a code sandbox, and it seems like the issue is actually with redux devtools and not valtio.
I noticed that my stores from different projects keeps showing in redux devtools, regardless of which tab I am on. This makes me believe that the duplication was actually old store instances that for some reason were never deleted from redux devtools.
So for now I'm closing this issue as I don't believe it is connected to valtio. If someone finds some new information on this weird behavior, they are welcome to reopen it - or open an issue for redux (though they might just say that they are not supporting valtio).

I'm a little confused with the current status.
The createStore in OP seems correct, so if it's causing some issues, we'd need to look into it.
HMR can be troublesome, which we did overlook.
devtools(state, "store name");
devtools(state, "store name");

This ☝ is expected, so I don't think it's an issue, but I know HMR will cause this 👇 which is an issue.
devtools(originalState, "store name");
devtools(newStateWithHMR, "store name");

So, is the remaining issue only with HMR? can anyone confirm?

Yep, You can try codesandbox and see how HMR causes that issue!

You guys are correct. I tested it again and it does seem to be connected to HMR.
I added this to my package.json:
    "valtio": "https://pkg.csb.dev/pmndrs/valtio/commit/84ae5735/valtio"
Did npm i after deleting my node_modules for a clean install. Unfortunately the problem persists in this case:
devtools(originalState, "store name");
devtools(newStateWithHMR, "store name");

(This is the only way I managed to reproduce this)

I confirmed the HMR issue with https://codesandbox.io/s/react-typescript-forked-cis61?file=/src/App.tsx
It looks like there's a same issue with Redux: https://codesandbox.io/s/react-typescript-forked-cis61?file=/src/App.tsx
Now, I think it's unfortunate that we have this issue, but I don't feel #307 is the right fix. The issue is not only in valtio, but in redux, (and probably zustand and jotai), so it's fundamentally difficult (we may need something like babel plugin.)
While any idea to work around is nice and welcome, I'd mark this as wontfix for now and close.
A workaround for us for now is to define a state in a separate file, and unless you edit the file the HMR issue won't happen.


Spelling Mistake

Spelling Mistake in the first note "you can decreause or increase the 90-day default limit."

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

ID: 845c4db9-1f3a-26d1-5061-c018cb1fe336
Version Independent ID: c2a03981-a0aa-64a5-2659-e10202e5bb14
Content: Limits and configuration - Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-limits-and-config.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

@Saby007 Thank you for pointing this out and helping us drive improvements towards MS Docs! I've created a PR that corrects the spelling mistake and the change should be live within the next 24hrs.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


SVGs not being imported

Hi all,
Noticed the latest work done by @kdzwinel @KimDal-hyeong on adding SVG support (huge thanks, guys!) and had a go using the latest code (actually I was doing that while MR #47  was being put forward lol).
However, it's still not working for me. Code below:
<section>
  <svg class="sg-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
    <g>
      <polygon fill="#000000" points="8,0 16,8 16,16 10.1,16 10.1,12 5.9,12 5.9,16 0,16 0,8 "/>
    </g>
  </svg>
</section>

Build & inject go through without errors. Console throws no errors either.
What I end up after importing in Sketch is an empty 16x16 sg-icon Symbol. Empty as in the symbol has no layers or groups inside of it. Sure, the size of the symbol is correct (16x16) but I can't figure out why the actual vector isn't being imported inside of the symbol.
Happy to try any ideas you throw at me.

Hey 👋 I'm working at SVG support right now :) I'll try testing your code, but since you asked for ideas…
Maybe MSSVGImporter.svgImporter doesn't like that format for some reason?
Are you sure that's 100% valid SVG (I'm not an expert)?
Can you check if there is some alternative syntax?
Try removing that space at the end of points="… "?
Getting rid of that <g> (as far as I know it's unnecessary)?
Running that svg through svgomg ?

Thanks for all the research and debugging! I've tried it myself and had no issues with importing it:

So, I suspect you are either:

using old version of the Sketch plugin (please make sure you use the one from the #47 branch)
you are using html2asketch API incorrectly (probably assuming that nodeToSketchLayers walks the whole DOM subtree). Minimal example looks like this:

this code changes single DOM node and all of it's descendants
import nodeToSketchLayers from '../../html2asketch/nodeToSketchLayers';

export default async function run(startNode) {
  const result = [];
  const queue = [startNode];

  while (queue.length) {
    const node = queue.pop();
    const layers = await nodeToSketchLayers(node);

    if (layers.length) {
      layers.forEach(layer => result.push(layer));
    }

    Array.from(node.children).forEach(child => queue.push(child));
  }

  return result;
}

You can also check out the examples linked here: https://github.com/brainly/html-sketchapp#how-do-i-run-it

@kdzwinel If we ever meet, I will buy you the largest available beverage of your choice! It works! :boom:
For anyone else experiencing issues, turns out that my issues lied not inside of html-sketchapp, but rather in src/inject.js and it's sibling src/page2layers.js. I was using https://github.com/brainly/html-sketchapp-style-guide as reference for the inject process, but having bothered to look into https://github.com/brainly/html-sketchapp-example as well, I noticed that these two examples employ very different approaches.
The style-guide example uses:
src/inject.js and
src/styleguide2asketch.js
while the basic example uses:
src/inject.js and
src/page2layers.js
The two inject.js files are actually quite similar, with the notable difference that the basic-example skips using document.asketch.json and just goes straight for the page.asketch.json approach.
/page2layers.js however is very different from the style-guide example's styleguide2asketch.js and seems, at first sight, to be much more well thought out and elegant.
Huge, huge thanks Konrad for the help! :relieved:

Happy to help 🍻 Project definitely needs better docs, because I agree that this is confusing stuff. Thanks for a nice write up, I'll be able to reference people here is someone runs into similar issues 👏


confuse tooltip and command about kill terminal

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

in terminal tab，the  icon action is termination(终止)，and Specifically marked （delete）

but in command palette， the command is kill

should they be unified

termination？
kill？
delete？
Terminate terminal

when there is only one terminal，the tip is terminate terminal(终止终端)

😖

I believe "Delete" is the keyboard shortcut for that operation.

agree,

but we have to focus the terminal List frist, and then can use delete.

Yes the delete part is the keybinding which is correct. For unifying the wording I think our current process is to report issues to https://github.com/Microsoft/vscode-loc/issues with suggestions

Yes the delete part is the keybinding which is correct. For unifying the wording I think our current process is to report issues to https://github.com/Microsoft/vscode-loc/issues with suggestions

I don't think so.
I think we have to change the original English string  before  Improving translation.

@heartacker it's "kill" everywhere in terminal I believe, "delete" is the key on your keyboard


Sheet: dark mode selected cell header and footer background are too light

Rule: .handsontable thead th.ht__highlight

I now use primary color and primary text color.


Fix span status for EH and SB

"success" status code in EH and SB is now treated as error, fixing it.
Extracted core fix for release from #33600 (since tests are still flaky that one is not ready)

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


fix(RadioGroup): used in component causes exception #17908

Use <component :id="'el-radio-group'"> causes exception. fix #17908
<template>
  <component
    :is="tag"
  >
  </component>
</template>

<script>
export default {
  data() {
    return {
      tag: 'el-radio-group'
    }
  }
}
</script>

[Vue warn]: Unknown custom element: <component> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <ElRadioGroup> at packages/radio/src/radio-group.vue

Please make sure these boxes are checked before submitting your PR, thank you!

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

官方是没有合并吗？

官方是没有合并吗？

没有合并


supervisors

hey @anthdm
This looks like a really interesting approach. ring buffer and DRPC...
you might be into this: https://github.com/ergo-services/ergo
Its a supervisor system and so nice match for hollywood. THer examples repo is a good place to learn ...

Well nice project. But to Erlangish and to slow.


feat(Makefile): retry discovery-url five times

We've had some failures contacting discovery.etcd.io, leading to a blank discovery-url entry in user-data. This will try up to five times with a 3-second pause in between before giving up.
Thanks to @sgoings for pairing on this!
$ make discovery-url
Wrote https://discovery.etcd.io/25afd6b8c114cc0e7b67a8f4aaac5405 to contrib/coreos/user-data
$ make discovery-url
failed to contact https://discovery.etcd.io

code LGTM

Code LGTM.


CodeSandBox example not working

Thanks for creating a great multi-select component!
Unfortunately, the CodeSandBox example seems to be failing to render with error message: "SyntaxError: export declarations may only appear at top level of a module".
See the following screenshot for details.

This may not be the component's fault since it (v2.0.8) works just fine for a React app I'm working on. But the CodeSandBox example failing makes it difficult for (potential) users to quickly check it out on the browser.

hi @bobaekang,
Thanks for reporting this, this used to work fine some days before, problem is originating from one of the dependency I have filed issue package's repository
meanwhile you can use stackblitz instead of CSB here's starter example https://stackblitz.com/edit/react-7yn3vq

Thank you for your response! I'll close this issue since you're already working on it.

Issue is resolved now codesandboxes should work as expected


Issue with empty values in generated Excel.

I'm importing tab separated data via Import-Excel and piping it to Export-Excel. The created Excel file is then imported to Sql Server via OpenRowset.
The problem is that the "empty" cells don't import in as NULL values, but rather as some sort of empty string.
If I open the same tab separated file with Excel and save as .xlsx it will import as NULL.
I guess it's technically not wrong for it to be "empty" strings. But kind of unexpected.
I have the same issue if I do "Invoke-Sqlcmd -OutputAs DataRows | Export-Excel" and try to import the thusly generated  Excel
Any suggestion to on how to get around this?

Empty values will be converted to NULL after rendering by Excel app because Export-Excel generates just a declaration of xlsx.


Add securityContext for pixie cloud workloads

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
This PR adds securityContext to all Kubernetes workloads with least privileges that are required to run the pixie cloud on self hosted setting. This is important in a multi-tenant Kubernetes cluster, as it allows administrators to ensure that each workload runs in a secure and isolated environment, preventing one tenant's workload from affecting or compromising the security of other tenants' workloads.
What is the testplan for the PR:

Checkout the current branch.
Deploy Self hosted Pixie.

Which issue(s) this PR fixes:

N/A
Special notes for your reviewer:
Does this PR introduce a user-facing change?

None

Additional documentation:

ok to test

@vihangm I pushed two more changes to postgres and nats deployments, could you verify them as well?

@pixie-labs-buildbot , test this please.

Just adding fsGroup to securityContext of postgres pod wasn't sufficient since initdb process runs a chown on $PGDATA. Since /var/lib/postgresql/data was owned by the container under root this process gets failed. Adding suffix db to $PGDATA fixed the issue since db dir is now located within the volume itself.
With that change the postgres container started successfully.

Oh yeah this used to be a debian based container but if you rebase you'll see that I switched it to alpine based a little whole ago to align it with the rest of the postgres images we use.
The PGDATA solution also works, the downside is that it means we are changing the location of the db and if someone upgrades postgres, they will lose data right? (unless they manually move the db).

@MrSupiri Sorry this change has taken a while to get reviewed. If you don't mind splitting the nats and postgres change out from the PR, we can merge the rest of it in. I'll try to do some more testing for the nats and postgres deps and make sure that works as expected and we can work on that in a separate PR.

The PGDATA solution also works, the downside is that it means we are changing the location of the db and if someone upgrades postgres, they will lose data right? (unless they manually move the db).

My bad, I forgot to account delta updates.

@MrSupiri Sorry this change has taken a while to get reviewed. If you don't mind splitting the nats and postgres change out from the PR, we can merge the rest of it in. I'll try to do some more testing for the nats and postgres deps and make sure that works as expected and we can work on that in a separate PR.

Sure, I will make the necessary changes.


Implicit conversion issues

Hi!
I'm using your library in my projects and i really like it.
But on the other hand it's basic_object<> implicit conversions from string is a source of bugs and long debugging sessions. I had two such sessions today.
Take a look. Some time ago a had a settings_provider class and a test mock
class settings_provider{
   virtual std::string get_settings(int id) const;
};
class settings_provider_mock : public settings_provider{
   MOCK_CONST_METHOD1(get_settings, std::string(_));
};

Then,when using this  mock,i setup it to return some json-formatted string
 EXPECT_CALL(*sp_mock ,get_settings(_)).WillOnce(Return("{ \"key\"=\"value\" }"));

Some time later i changed settings_provider and corresponding mock interface to
class settings_provider{
   virtual basic_json<> get_settings(int id) const;
};
class settings_provider_mock : public settings_provider{
   MOCK_CONST_METHOD<N>(get_settings, basic_json<>(_));
};

But the EXPECT_CALL continued to compile,but now get_settings returns json object with value "{ "key"="value" }".
So, my suggestion is to make conversion from string(and maybe other types) explicit, to avoid such errors in future.

Hi @ukhegg.
I don't think we can mark the constructor explicit (especially since there is only one constructor for almost  every type now), this would break everyone's code.
I know that implicit conversions are a source of bugs, but in this case the _json suffix seems to be the best way to fix that kind of issues

I also run into a similar issue when first tried doing something like this:
string smsg((char*)buff, len);   json jmsg{smsg}; or json jmsg = smsg; or something.
I think what would help, is adding a note in the documentation here
// create object from string literal
json j = "{ \"happy\": true, \"pi\": 3.141 }"_json;

// or explicitly
auto j3 = json::parse("{ \"happy\": true, \"pi\": 3.141 }");

Like:
// Note the '_json' at the end of the string
json j = "{ \"happy\": true, \"pi\": 3.141 }";  /// will not parse std::string, you need to use json::parse for that

Implicit conversion is one of the major aspect that makes the library usable. Unfortunately, here the "wrong" string-to-JSON conversion has been chosen. I shall add a comment to the documentation to make this clearer.


PhraseExpress is missing from the manifest repository

Description of the new feature/enhancement

Proposed technical implementation details (optional)

@vyujitanaka I've added the manifest file for PhraseExpress v14.0.186. PhraseExpress should be available via winget after the moderators/administrators successfully merge my PR.

`winget install PhraseExpress'


Multi viewport layout

Multiple viewports allow displaying the view layout in multiple windows.
This is useful for displaying views on multiple monitors, separate docking widgets, drawing tablet, etc.

Thanks for the review @pieper. I'll merge it now.


Advanced Identify Widget

The organization I work at (NASUVINSA/LURSAREA) is developing the cAAE
project (Industry Catalogue of Navarre, Spain) in collaboration with the
regional government. As part of the products of the project we are
publishing a web app developed with Web AppBuilder for ArcGIS. The
public app allows to search for availability of industrial land as well
as the current economic activities in the region. In order to improve
user experience, we created together with ESRI Spain a custom widget
(Advanced Identify) that allows to organize layer content in a more
intuitive way. Feel free to test and use in your own projects. Hope you
will find it useful.

very cool @LursareaNASUVINSA!

@LursareaNASUVINSA Thanks for your contribution!
I have a quick test and find there are errors in the latest version (dev edition 2.2). Could you have a test in this version?
One more comment:
Could you add a simple readme.md to describe how to use the widget in the widget folder?


Fix rwinrm script

The rwinrm script was broken due to a dependency on the WinRM::WinRMWebService
class removed in 2.0. This commit updates the script to use WinRM::Connection
and to use PowerShell as the shell.

PSRP via Enter-PSSession doesn't quite work in PowerShell for OS X and Linux yet, so I fixed up the rwinrm script and found it to be a pretty good alternative.
This commit does a fairly straight port of the existing 1.x functionality to 2.x classes. Only breaking change is that powershell is the shell used instead of cmd.

FYI @Sharpie I've been doing a bit of work against OMI server as a backend on Linux to PS 6.1.0. See PR #288

closing and carrying via #291


Typed equalTo alternative

Summary
I'd like if there was a typed alternative to the current isEqualTo method. While there is nothing wrong with the current isEqualTo I often find myself wishing for IDE auto-completion support. But because the isEqualTo method takes an Object, the IDE is not able to provide any meaningful assistance.
I'm sorry if this has been discussed before, but I wasn't able to find anything.
Example
  public SELF isEqualToTyped(<? super ACTUAL> expected) {
    objects.assertEqual(info, actual, expected);
    return myself;
  }

Ideally we would add public SELF isEqualTo(ACTUAL expected) but this does not compile as it conflicts with the current public SELF isEqualTo(Object expected).
I would not be opposed to add isEqualToTyped, but before I want to make sure it adds enough benefits to outmatch the API additional bloating.
@PascalSchumacher thoughts ?
Any feedback appreciated.

isEqualToTyped may safe one or two keystrokes for auto-completion, but in my opinion it is not very readable as the Typed part is pure noise when read.
As code is more often read than written I'm not in favor of adding this.
Sorry!

isEqualToTyped was only a first idea for the name, isAkinTo would be something that seems more elegant.
But @joel-costigliola made a good point about the API being cluttered already. I thought about adding something liked AbstractTypedAssert, but in the very least this would lead to lots of duplicate code to maintain.
@PascalSchumacher Well, normally it safes more than 2 strokes, especially in the edge case of enum names clashing ;) But yeah, normally the IDE should prefer locally declared variables for auto completion, so you can get by with little typing if you declared the expected value somewhere in your method or class .

@Phil-Ba thanks for taking the time to share your thoughts (and closing the issue).


Conflicts with Extra Utilities 2 Diamond Spikes!

Here is the link to the crash log -- https://smallpaste.in/view/589fc199a46da1740c8b4569
I was testing out my modpack to get it ready for release. One mod in my modpack requires a lot of necrotic bones which is a drop from Wither Skeletons. The actual item itself is from Tinkers Construct but seems to be a shared ID for another mods that requires it.
TLDR:
I made an auto spawner with diamond spikes to kill the wither skeletons for me and get the drops i need since iron spikes don't do the job. It seems that when the Diamond Spike kills the Wither Skeleton it looks for possible drops that is meant for player kills and it sees has the PPAP disc and PPAP extended disk as possible drops but realizes the diamond spike is not a PPAP sword therefore it refuses to drop the items and crashes the game instead of allowing the mod to choose other items that are valid player drops.
This is resolved by removing the PPAP mod from the pack and the Diamond Spikes do not crash the game when a Wither Skeleton dies from it. I will be shareing this report to both mod makers since i am unable to determine which mod is bugged.

As I can assume by reading here https://ftbwiki.org/Diamond_Spike that "mobs killed by the Diamond Spike will return experience as if killed by the player", the block is probably using a DamageSource of EntityPlayer. So when I check if the mob was killed by a player, it continues with the code until I try to get the item in hand of that non-existant player. I will try to make the mods compatible :)

I forgot i can turn off the ability to have it when a player uses the PPAP sword and mobs drop the discs. I turned on the feature to allow you to obtain a disk from using one sword in the crafting grid to obtain a disc. When i did that the Wither Skeletons die with the diamond spikes with no crash. That is the good news but this still needs to be fixed

Yes. I'm totally aware of it. I'll close this issue when fixed :)


Autoregressive Model Checkpoint

Hi,
Thank you for the great work!
Is it possible for you to upload the checkpoint for GPT-J-6B as well?

Hey, here it is: https://drive.google.com/file/d/1tv2gWxWFx5rZiHPVRhQ6UYonRQLL08c_/view?usp=sharing (only the non-frozen parameters are included to save some disk space).


GEODE-7746: onServers function throws a NPE if the distributed system is shutdown

Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, check Concourse for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

Removed the FunctionExecutionDUnit in the previous commits. Since the NullPointerException can be reproduced by ClientServerSessionCacheDUnitTest.startingAClientWithoutServersFails().


[Frontend] OpenAI API server: Do not add bos token by default when encoding

Hi,
I noticed that the BOS token is always duplicated when running with the OpenAI API server. As shown in the console output below when launching Meta-Llama-3-8B-Instruct, there are two repeated 128000 (bos_token_id) at the beginning of prompt_token_ids.
INFO 05-08 18:24:46 async_llm_engine.py:529] Received request cmpl-1fbfa55a0fc64724b5c383dcaafd7575: prompt: '<|begin_of_text|><|start_header_id|>user<|end_header_id|
>\n\nHi!<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n', sampling_params: SamplingParams(n=1, best_of=1, presence_penalty=0.0, frequency_penalty=0.0, rep
etition_penalty=1.0, temperature=0.0, top_p=1.0, top_k=-1, min_p=0.0, seed=None, use_beam_search=False, length_penalty=1.0, early_stopping=False, stop=[], stop_token_
ids=[], include_stop_str_in_output=False, ignore_eos=False, max_tokens=8179, min_tokens=0, logprobs=None, prompt_logprobs=None, skip_special_tokens=True, spaces_betwe
en_special_tokens=True, truncate_prompt_tokens=None), prompt_token_ids: [128000, 128000, 128006, 882, 128007, 271, 13347, 0, 128009, 128006, 78191, 128007, 271], lora
_request: None.

After investigating, I found that this happens because the chat template already includes the BOS token (AFAIK as is common practice in most cases). However, the encoding step adds it again due to add_special_tokens being enabled by default.
https://github.com/vllm-project/vllm/blob/0f9a6e3d229cade0ae9a53a4f69a38f52e430bd0/vllm/entrypoints/openai/serving_engine.py#L206
https://github.com/huggingface/transformers/blob/5962d62bac850cd01ee830ffba880469338c96fd/src/transformers/tokenization_utils_base.py#L2808
A simple fix is to disable the add_special_tokens, as is done in the apply_chat_template function of Transformers (when tokenize=True).
https://github.com/huggingface/transformers/blob/5962d62bac850cd01ee830ffba880469338c96fd/src/transformers/tokenization_utils_base.py#L1820-L1829

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

Hi @DarkLight1337,
You mean this one? I think it's the same llama-3-8b-instruct reuploaded by NousResearch? So they have the same chat template.
Also got repeated 128000 for this model:
INFO 05-09 11:52:28 async_llm_engine.py:524] Received request cmpl-9a55a4ffde904ef8b34a81af927aeea2: prompt: '<|begin_of_text|><|start_header_id|>user<|end_header_id|
>\n\nHi!<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n', sampling_params: SamplingParams(n=1, best_of=1, presence_penalty=0.0, frequency_penalty=0.0, rep
etition_penalty=1.0, temperature=0.0, top_p=1.0, top_k=-1, min_p=0.0, seed=None, use_beam_search=False, length_penalty=1.0, early_stopping=False, stop=[], stop_token_
ids=[], include_stop_str_in_output=False, ignore_eos=False, max_tokens=8179, min_tokens=0, logprobs=None, prompt_logprobs=None, skip_special_tokens=True, spaces_betwe
en_special_tokens=True, truncate_prompt_tokens=None), prompt_token_ids: [128000, 128000, 128006, 882, 128007, 271, 13347, 0, 128009, 128006, 78191, 128007, 271], lora
_request: None.

Here are a few examples from other models:
https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1/blob/main/tokenizer_config.json#L42
https://huggingface.co/microsoft/Phi-3-mini-128k-instruct/blob/main/tokenizer_config.json#L119
https://huggingface.co/CohereForAI/c4ai-command-r-plus/blob/main/tokenizer_config.json#L304

I am referring to the ones that are in vLLM repo, not the HuggingFace ones.

Certainly, done @simon-mo

@DarkLight1337 I got your point. I'm not familiar with all these models, but falcon-instruct doesn't use the BOS token, so this PR won't affect it.
Here is a test with falcon-7b-instruct.
# server
python -m vllm.entrypoints.openai.api_server \
    --model tiiuae/falcon-7b-instruct \
    --chat-template examples/template_falcon.jinja \
    --dtype float16

# client
curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "tiiuae/falcon-7b-instruct",
        "messages": [
            {"role": "user", "content": "Hi!"}
        ],
        "temperature": 0
    }'

Before this commit:
INFO 05-09 14:31:17 async_llm_engine.py:529] Received request cmpl-fcfdb44a2e0040c49b086b11db91b288: prompt: 'User: Hi!\nAssistant:', sampling_params: SamplingParams(n=1, best_of=1, presence_penalty=0.0, frequency_penalty=0.0, repetition_penalty=1.0, temperature=0.0, top_p=1.0, top_k=-1, min_p=0.0, seed=None, use_beam_search=False, length_penalty=1.0, early_stopping=False, stop=[], stop_token_ids=[], include_stop_str_in_output=False, ignore_eos=False, max_tokens=2041, min_tokens=0, logprobs=None, prompt_logprobs=None, skip_special_tokens=True, spaces_between_special_tokens=True, truncate_prompt_tokens=None), prompt_token_ids: [7932, 37, 16588, 12, 193, 44295, 37], lora_request: None.

After this commit:
INFO 05-09 14:32:26 async_llm_engine.py:529] Received request cmpl-f8b11e3a3e7f4a1b983def4a258519f0: prompt: 'User: Hi!\nAssistant:', sampling_params: SamplingParams(n=1, best_of=1, presence_penalty=0.0, frequency_penalty=0.0, repetition_penalty=1.0, temperature=0.0, top_p=1.0, top_k=-1, min_p=0.0, seed=None, use_beam_search=False, length_penalty=1.0, early_stopping=False, stop=[], stop_token_ids=[], include_stop_str_in_output=False, ignore_eos=False, max_tokens=2041, min_tokens=0, logprobs=None, prompt_logprobs=None, skip_special_tokens=True, spaces_between_special_tokens=True, truncate_prompt_tokens=None), prompt_token_ids: [7932, 37, 16588, 12, 193, 44295, 37], lora_request: None.

They have the same prompt token IDs, where 7932 represents "User".
I believe the idea of the chat template is to include all special tokens, as explained in the doc. So we should just update these templates if necessary.

If you like this one, here it is in one-liner form, ready to copy into your code. The one-liner also includes handy support for generation prompts, but note that it doesn’t add BOS or EOS tokens! If your model expects those, they won’t be added automatically by apply_chat_template - in other words, the text will be tokenized with add_special_tokens=False. This is to avoid potential conflicts between the template and the add_special_tokens logic. If your model expects special tokens, make sure to add them to the template!

@DarkLight1337 can you help take another look and let me know whether this is mergable?

The CI tests fail so those have to be addressed first.

Thanks for pointing that out. I tried to fix it but still encountered issues. I don't quite understand the error since "Any" has been imported. It passed on my end, though.

Thanks for pointing that out. I tried to fix it but still encountered issues. I don't quite understand the error since "Any" has been imported. It passed on my end, though.

Try merging the current main branch into your branch.

Oh, you are right. It was deleted in this PR. Just added it back.

Seems that the existing tests assume the addition of bos token. Can you update them accordingly?

Please also check whether this is consistent with behaviour of the actual OpenAI API.

Seems that the existing tests assume the addition of bos token. Can you update them accordingly?

Hey, could you point me to the relevant tests?

Please also check whether this is consistent with the behaviour of the official OpenAI API.

Which behavior would you like to check?

Hey, could you point me to the relevant tests?

You can check the logs of the failing tests in CI.

Which behavior would you like to check?

Whether openai.types.CompletionUsage.completion_tokens == openai.types.CompletionUsage.prompt_tokens in general, which would be the case if BOS token is not added by default.

Just realized that the modified _validate_prompt_and_tokenize function is used for completion serving, chat serving, and embedding serving.
However, we only need to disable add_special_tokens for chat serving, as these special tokens are already introduced by the chat template. We still need to enable it for the others. Therefore, I added this argument with a default value of true and only disabled it for chat serving. Now, all the CI tests have passed.

Whether openai.types.CompletionUsage.completion_tokens == openai.types.CompletionUsage.prompt_tokens in general, which would be the case if BOS token is not added by default.

Not sure I fully understand. Why should we compare input (prompt_tokens) with output (completion_tokens)?

Whether openai.types.CompletionUsage.completion_tokens == openai.types.CompletionUsage.prompt_tokens in general, which would be the case if BOS token is not added by default.

Not sure I fully understand. Why should we compare input (prompt_tokens) with output (completion_tokens)?

Originally I wasn't sure whether you should modify the existing tests or update the tests to comply with the new behaviour. If it's the latter than I wanted to make sure that it doesn't violate any invariants in OpenAI's API. Now that the tests pass I guess it can be merged now. @simon-mo


Straight up doesn't work

There is NO documentation, with the exception of:

I’ve slightly extended the documentation of some ClassUtils methods via 7a33df26bbcbe3d2f6348c647dd635ed83615b88.
ClassUtils.getMethodName(…) does not support static methods.