Make sure snake-case names are legal python identifiers

We encountered a situation where an openapi specification we wanted to consume described an endpoint that accepted a parameter called global, which resulted in the generation of a function with a global function parameter, which was causing a syntax error because global is a reserved word. This PR avoids that syntax error.
There's a utility function camel_to_snake, which is maybe a bit misnamed -- it does, indeed, convert from camel case to snake case, but more generally takes the name of an identifier in an OpenAPI spec and makes it Python-friendly (converts camel case to snake case, removes hyphens, collapses multiple underscores, etc.). This PR adds one more check to that process to detect reserved words and, if found, add underscores to the end (so global becomes global_). We store mapping elsewhere from these Python-friendly names to the originals, so there's no need for this to be reversible, etc.

@magixsno with some difficulty :sweat_smile: . I either point our pyproject.toml at it (by gitsha) or symlink it into our project's venv, and then check from the python REPL if it's fixed (like, if importing avoids the crasher, and if I can make requests using the affected functions.
This repo could obviously use tests, CI, etc., though. I need to spend the time to figure out how to move it without breaking existing code that points at this URL (I think maybe it'll redirect?), which was a fixit thing for me this cycle but that I didn't get to, and then once that's done we can maybe think about CI, in a future fixit.

with some difficulty 😅 . I either point our pyproject.toml at it (by gitsha) or
@apendleton so does that look like git+https://github.com/apendleton/requests-openapi-client.git@<commit-gitsha-with-pushed-but-not-yet-merged-changes> ?

And why would doing the gitsha not work, and you need to do the symlink instead?
(busfactor here, just want to make sure I know how to change this thing if it breaks and your on vacay)

@magixsno either works, but while testing a change, it can be quicker to just edit my local linked copy and see if it works, vs. edit -> push to a branch -> update the pyproject.toml based on the pushed gitsha -> reinstall dependencies -> test (and then if it didn't work, rinse/repeat)

@magixsno and yeah, that's how it looks, and then you might need to run pdm update requests-openapi-client to make sure it notices the change.


Errors thrown by golangci-lint for validator package

[X] I have looked at the documentation here first?
[X] I have looked at the examples provided that may showcase my question here?

Package version eg. v9, v10:
v9.31.0
Issue, Question or Enhancement:
When using the golangci-lint watcher provided by GoLand:

Every time a file is saved, I get errors from the validator package:
mypath/my_file.go:245:14: undeclared name: `validator` (typecheck)
	validate := validator.New()

and also:
mypath/my_file.go:16:2: "gopkg.in/go-playground/validator.v9" imported but not used (typecheck)
	"gopkg.in/go-playground/validator.v9"

For each one of the files I am using the package:

I can see it runs the following command:
golangci-lint run --disable=typecheck
Code sample, to showcase or reproduce:
https://goplay.tools/snippet/b--sydpv40H
package main

import (
	"github.com/gofrs/uuid"
	"gopkg.in/go-playground/validator.v9"
)

type MyRequest struct {
	UserID uuid.UUID `json:"user_id" validate:"required"`
}

func main() {
	request := &MyRequest{UserID: uuid.Must(uuid.NewV4())}

	validate := validator.New()
	err := validate.Struct(request)
	if err != nil {
		panic(err)
	}
}

Save file, then run:
golangci-lint run --disable=typecheck yourfile.go

Are you sure your import path is correct ?
Instead of "gopkg.in/go-playground/validator.v9",  "github.com/go-playground/validator/v10" is the path used in the examples and it is also the one referenced on https://pkg.go.dev/github.com/go-playground/validator/v10

Hi, I believe this was the older recommended way of importing the package. Since v10, I know they have github.com/go-playground/validator/v10 on the docs. I also tried with this import, and get the same result

have you tried to run your code ? Because it looks like the validator package was simply not downloaded and thus golangci-lint is unable to find a declaration for the validator object and throws the error/warning

Yes, the code runs fine, but just when the watcher runs intermittently I get this error. It behaves functionally fine, as in it builds and runs, but this output just gets returned during the watcher run


Docs add interface implementation DisplayingState

implements OnDestroy was missing. Without it, it wouldn't work.

Thanks!


Website

Remove "Search Of" on top of landing page. Consider adding Alternative therapy with tagline fitness experts.......

"Book Appointments or request for home care"- consider deleting "or request for home care"

In the dropdown, Find an expert, correct following spellings:
Taichi- Tai-Chi
Arobics- Aerobics
Mortal Arts- Martial Arts
Toikwondo- Taikwondo

Find an expert
All categories have same sub-categories. For example- doctors and hospitals also show yoga pilates etc. as sub-category

Consider replacing "How we Help" with "How we can help"

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic.- consider removing this line- it is vague

"And thankfully there are many people living among us who have that kind of life. They are holistically healthy. ."
Consider removing last line and there is double period at the end of the sentence.

When i signed up, and tried to activate my email, I received attached

error.

"You can continue your coaching and practice of your own fitness regime with experts of your choice from your own home or wherever you are."
Consider replacing:
"Enjoy the flexibility of attending coaching classes and practicing your preferred fitness regime wherever and whenever you want. "

To Keep You holistically Healthy.
Make H capital and period at the end can be removed

Correct spelling of From in the form:

Subscribe button does not work

Latest Blog has nothing

"answer is yes, then Hello is here to put an end to your woes. Hello provides the medical service when you need it, where you need it and just at the right time."
A lot of places, only Hello is used rather than HelloDr.


[ALLUXIO-2121] [ALLUXIO-2122] Deploy module updates

https://alluxio.atlassian.net/browse/ALLUXIO-2121
https://alluxio.atlassian.net/browse/ALLUXIO-2122

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/10971/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/10973/
Test PASSed.

Merged build finished. Test PASSed.

LGTM


wxPython always uses Python 2.7

Thus python34Packages.wxPython actually uses 2.7 rather than 3.4:
$ nix-store -qR $(nix-instantiate -A python34Packages.wxPython) | grep python-
/nix/store/xrig1svcrisl7fj2wikaw42ixdg93lsb-python-2.7.10.drv

(Noticed by accident, I don't actually need wxPython.)

see #9665

Fixed in fba3a4e227d847bfe5238fcbb249f3ffc3aa1807.


Problem while building for zedboard

While building the code for zedboard, I am facing the following error:
File "/home/archana/connectal-latest/scripts/reorderbytes.py", line 36, in
readarr = array.array('I', infile.read())
File "/usr/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
/home/archana/connectal-latest/scripts/Makefile.connectal.build:201: recipe for target 'bits' failed
make[1]: *** [bits] Error 1
../../Makefile.connectal:57: recipe for target 'build.zedboard' failed
make: *** [build.zedboard] Error 2
Could anybody pls suggest a possible solution for this issue

the default file mode in python was changed to utf8, so the script reorderbytes.py has been updated to force input and output files to be binary.
Please pull the update and let me know if this works for you as well.

Thank you so much.
It worked.


should characters should be randomised when padding is needed

This is more of a question than an actual issue at this point, but I was curious if any attempt should be made to randomise the characters taken from self._alphabet if padding is needed for the output?
I've tried to implement this like so:
diff --git a/shortuuid/main.py b/shortuuid/main.py
index 0aa0900..6939a89 100644
--- a/shortuuid/main.py
+++ b/shortuuid/main.py
@@ -4,6 +4,7 @@ import binascii
 import math
 import os
 import uuid as _uu
+import random as _rand

 class ShortUUID(object):
@@ -24,7 +25,10 @@ class ShortUUID(object):
             output += self._alphabet[digit]
         if pad_to_length:
             remainder = max(pad_to_length - len(output), 0)
-            output = output + self._alphabet[0] * remainder
+            output = output + ''.join(
+                map(lambda a: self._alphabet[
+                    _rand.randint(0, len(self._alphabet) - 1)],
+                    range(remainder)))
         return output

     def _string_to_int(self, string):

However unfortunately this consistently fails one of the tests, and another test intermittently errors and or otherwise fails also; the tests in question are test_consistency and test_decoding respectively.
Maybe what I'm suggesting here is completely silly, in which case I'm just curious to understand why that's the case then.

Even the following approach, which isn't random, but predictably varies the padding used by iterating through self._alphabet fails the same test_consistency check iirc.
diff --git a/shortuuid/main.py b/shortuuid/main.py
index 0aa0900..3106194 100644
--- a/shortuuid/main.py
+++ b/shortuuid/main.py
@@ -24,7 +24,8 @@ class ShortUUID(object):
             output += self._alphabet[digit]
         if pad_to_length:
             remainder = max(pad_to_length - len(output), 0)
-            output = output + self._alphabet[0] * remainder
+            output = output + ''.join(
+                map(lambda a: self._alphabet[a], range(remainder)))
         return output

     def _string_to_int(self, string):

Although both of these approaches might have other issues, for example if self._dictionary wasn't sufficiently long.

Hmm, can you explain a bit why you're randomising?

Good question, I din't have any actual technical reason for it. I was just curious if there was any reason for or against doing this?
As for why I actually stumbled on this question/idea, it was when I was testing the short uuids with padding, I'd occasionally see them with the same trailing character(s).
20 characters is the shortest short uuid I've commonly encountered when I was testing this, but seeing multiple short uuids appear with the trailing characters '22' (the first character of the common _alphabet list) seemed a little odd, so I dug into how that was arrived at, which led me to post this question.
Feel free to close this if this if it's a non-issue/not suitable, etc.

Hmm, I don't think we should do this, short UUIDs are reversible, and this would prevent that. There's no real reason for or against either, but I'd like to keep reversibility, if possible.

Fair call, thanks for the reply.


Optimizing recycler view changes

for performance and best practices

Nice comments, a little overkill for this project but I appreciate the knowledge!


Add duplicate animation for SpriteFrames

This is a continue work of #80380.
Close godotengine/godot-proposals#3942.
https://github.com/godotengine/godot/assets/63407648/77c66294-8581-4d06-9b33-39c1105576e4

You've made them the author and made yourself the co author, it should be the other way around

You've made them the author and made yourself the co author, it should be the other way around

It was intentional. I thought he did most of the work. Anyway, updated.

Left some comments, but it works correctly.

Thank you! They are really helpful.

Would this be merged?

We're in feature freeze for Godot 4.3, so this kind of change would be merged after the 4.3 release is done, for 4.4.

Thank you for your rebase. I'm moving this to 4.4 as it's a long-standing requested feature.

Thanks!


Chip input placeholder wrong position

Bug, feature request, or proposal:
Bug
What is the expected behavior?
The cursor inside input for chips list should align with the placeholder if floatPlaceholder is set to "never".
What is the current behavior?
Misalignment.
What are the steps to reproduce?
Use floatPlaceholder="never" on default example.

What is the use-case or motivation for changing an existing behavior?
Design.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Latest on Plunker.
Is there anything else we should know?
Maybe related: #8448

@tinayuangao is this the same as #8448? If so, feel free to close

I marked that as related since it's about placeholder too, but the margin: 3px of the input cause this issue.

@jelbourn @tinayuangao I can confirm it's still an issue with rc.1:
https://plnkr.co/edit/rV9QEHQCOJYxTE6ddZ3y?p=preview
Possible fix:
https://plnkr.co/edit/s94OWYX9lIawldaUBwk1?p=preview
(Add $mat-chip-input-margin for the placeholder label when floatPlaceholder is set to "never")

@tinayuangao Will https://github.com/angular/material2/pull/9762 solve this issue?


Lodash Throttle/Debounce Cancel Method Compatibility

I'd like to be able to throttle a method in a component and be able to call its cancel() method but can not do so.
jsfiddle
https://jsfiddle.net/roblav96/zbb8keps/
_.throttle() Docs
https://lodash.com/docs#throttle
Is there any way we can make this work?

Make the function in methods the bare, un-throttled function. And then make a computed property which returns a wrapped version.
var $vm = new Vue({
    methods: {
        socket: function() {
            console.log("this.socket()")
        }
    },
    computed: {
        throttledSocket: function() {
            return _.throttle(this.socket)
        }
    }
})

$vm.throttledSocket()
$vm.throttledSocket()
$vm.throttledSocket()

$vm.throttledSocket.cancel()

@sirlancelot Thank you very much sir!!! :D

Any examples of using this in combination with a watcher?

Why do you need the computed method? I seems to work the way OP posted, except that the debounced method lacks cancel method.

Im not sure if I figured it out or just moved on, but I know it's no longer an issue.

Makes sense, thanks!

Make the function in methods the bare, un-throttled function. And then make a computed property which returns a wrapped version.
var $vm = new Vue({
    methods: {
        socket: function() {
            console.log("this.socket()")
        }
    },
    computed: {
        throttledSocket: function() {
            return _.throttle(this.socket, 1000)
        }
    }
})

$vm.throttledSocket()
$vm.throttledSocket()
$vm.throttledSocket()

$vm.throttledSocket.cancel()

also
data(){
  return {
    throttleUpdates:_.throttle(this.updateFilters, this.throttle)
   }
}

keyword: vue lodash debounce cancel


Asset updating not work

Powershell SDK doesn't support &&, so the git user was not setup correctly.
The funny thing is in powershell.exe it's supported well, added in 7.0, even I upgraded to latest powershell package(7.0.2), it's not there yet.
https://stackoverflow.com/questions/563600/can-i-get-to-work-in-powershell


[Bug] tenant's allowedClusters is not updated when removing a cluster from /clusters admin API

Search before asking

[X] I searched in the issues and found nothing similar.

Version
3.1.1
Minimal reproduce step
Create two clusters, and create one tenant with both clusters allowed. Remove one cluster and see that the old one is still displayed in the tenant's allowed cluster.
What did you expect to see?
Once cluster (the one that hasn't been deleted).
What did you see instead?
Both clusters.
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Would you try to fix this  ?

I would like to try this one, if you assign it to me.

Feel free @ubo-dev , thanks!

@KannarFr I have fixed the issue, I'm trying to find more optimized way, if not I will open the PR tomorrow.

Closing since the related PR has been merged.


Provide enum for ProvideAwsCredentials

I'm writing code that needs to support both StsAssumeRoleSessionCredentialsProvider and CredentialsProvider. This is really complicated without a container enum due to static typing.
Sadly, doing this manually in my codebase is nontrivial since both of them have a different Future in their implementation of rusoto_core::ProvideAwsCredentials.
A "container enum" implements rusoto_core::ProvideAwsCredentials and would work along the lines of this:
fn get_creds(foo: Option<String>) -> TheCredentialContainer {
    match foo {
        Some(foo) => TheCredentialContainer::StsAssumeRole(create_assume_role(foo)),
        None => TheCredentialContainer::Creds(default_credentials_provider()),
    }
}

This is super important for me since I need to use assume role in a lot of tools but I don't want this to be the only mode of operation. Thanks!

Hi!
The way that the ProvideAwsCredenitials trait is structured, I don't see an easy way to provide what you are asking here within rusoto.
I've got two ideas how you could make this work in your code-base without a container enum:

You can box the futures that you return, so that get_creds returns a Box<Future<Item=AwsCredentials, Error=CredentialsError>>.
You can use the Either combinator from futures, which allows you to combine two different futures into a single type.

Do any of these options work for you?

Couldn't we just write a combinator (like Either) that contains the futures of all providers, then implement ProvideAwsCredentials for the enum container? At that point I could just create a LambdaClient<TheCredentialContainer> and carry on. This solution might not be elegant, but it provides a simple interface that is easy to use, especially for beginners. I've already used rusoto in some projects, but this problem is a challenge every time I start a new project. :)
impl ProvideAwsCredentials for TheCredentialContainer {
    type Future = CredentialsCombinatorFuture;

    fn credentials(&self) -> Self::Future {
        use TheCredentialContainer::*;
        match *self {
            CredentialsProvider(ref p) => p.credentials().into(),
            // ...
        }
    }
}

The easy workaround for me was putting the lambda client into an enum, then manually deref the functions I need:
pub enum BoxxyLambdaClient {
    StsAssumeRole(LambdaClient<StsAssumeRoleSessionCredentialsProvider>),
    Credentials(LambdaClient<CredentialsProvider>),
}

impl BoxxyLambdaClient {
    pub fn get_function(&self, x: &GetFunctionRequest) -> Result<GetFunctionResponse> {
        use BoxxyLambdaClient::*;
        let r = match *self {
            StsAssumeRole(ref c) => c.get_function(x).sync(),
            Credentials(ref c) => c.get_function(x).sync(),
        }?;
        Ok(r)
    }
}

Is the motivation here that you want a common (but opaque) X so you can refer to the single type LambdaClient<X> in your business logic? If so, what I would do here is use a trait object with the Lambda trait. So everywhere your business logic refers to LambdaClient<X>, change it to refer instead to Box<Lambda>.
A secondary advantage is that you can mock Box<Lambda> for testing.


Add route to resend verification email

After migrating from Vulcan Meteor, user accounts don't appear to be verified (I was adding users to a custom verifiedEmail group).
So I need a way to resend the verification, not only send on signup.
This might also be useful when someone has lost the original verification email somehow, or just can't find it.
I tried resending verification with a button click, and it worked:
const body = {
          email<EMAIL_ADDRESS>        };
        try {
          const res = await fetch(apiRoutes.account.resendVerificationEmail.href, {
            method: "POST",
            headers: { "Content-Type": "application/json" },
            body: JSON.stringify(body),
          });
          if (res.status !== 200) {
            const msg = await res.text();
            console.log(msg)
          } else {
            // setSuccessMsg(
            //   "If this email exists in our database, we will send you an email a new verification email."
            // );
          }
        } catch (error) {
          console.error("An unexpected error occurred:", error);
          // setErrorMsg(error.message);
        }

Ok I haven't rechecked this endpoint I think, it simply needs a Cypress test as we have for other features to be merged. But yeah it should definitely work like this.

Thanks, I thought this was needed for the meteor migration, but did it with a mongo script instead! I loop through users who had the verified group and added the vulcan-next isVerified field.
it's not really an urgent/essential now to have this, but still can be useful


Guest user cannot Find a Partner

Testcase #1 Find Partner
Go to the URL https://mentee-dev.herokuapp.com
Click on Guest
Enter email<EMAIL_ADDRESS>Enter Password “password123”
Click on “Find a Partner”
Actual Result: API error is shown
Expected Result: User should be able to Find a partner

@Humayun0008 this bug is fixed, in dev,  could you please uncomment the test script
<EMAIL_ADDRESS>

Issue Resolved ....  Working as Expected


Update Rainbow Six Siege

Game Title
Rainbow Six Siege
Status of the Anti-Cheat
😥 Broken
Tinkering Steps
New R6Fix issue addressing actual problem has been created.
Old issue was archived but didn't address the Battleye anti-cheat configuration problem and mistaken for a compatibility issue for Steam Deck.
https://r6fix.ubi.com/projects/RAINBOW6-SIEGE-LIVE/issues/LIVE-57005
Proof of Mention
https://r6fix.ubi.com/projects/RAINBOW6-SIEGE-LIVE/issues/LIVE-57005
Edit: updated link

Updated link after copy-paste response:
https://r6fix.ubi.com/projects/RAINBOW6-SIEGE-LIVE/issues/LIVE-58221


undefined of a class field is not a bug

See https://swc.rs/docs/migrating-from-tsc#usedefineforclassfields

Closing in favor of https://github.com/swc-project/swc/issues/7435


no tag or release for version 204.0.0

Our concourse resource is returning version 204.0.0 but i do not seem to find a github release or a git tag for it in the repo.

It looks like some commits around 204 were reverted--should that release not be used?


clean up intro

@squillace something like this is much easier to read. Intro's are important.

Hi @Rick-Anderson, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Rick Anderson). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@Rick-Anderson : Thanks for your contribution to the Azure documentation! The author, @squillace, has been notified to review your proposed change.

#sign-off


Warning: validateDOMNesting(...): <h3> cannot appear as a descendant of <p>.

Describe the bug
Warning: validateDOMNesting(...): <h3> cannot appear as a descendant of <p>. when openning a day
To Reproduce
Steps to reproduce the behavior:

run on local
open day
see it in console in devtools

Additional context
it's just a react warning, needs fixing pretty annoying

Can be closed

True, thank you guys!


How can I disable Swipe Left action on horizontal Swiper?

I implemented horizontal swiper and it is swiping both left and right.
But I want to disable left swiping so I used pangesture to disable it but it is weird.
How can I disable it?

Any update on this issue ?

Any update on this issue ?

Same issue. Please help

Same here please help


SKR changes from Arch Board meeting

After discussion with the Key Vault and Managed HSM teams on Secure Key Release, we have arrived at the following changes for SKR models to be done in the SDK (the service will not be renaming in the swagger):

KeyReleasePolicy.Data -> KeyReleasePolicy.EncodedPolicy
The target parameter in KeyClient.ReleaseKey -> targetAttestationToken

The ReleaseKeyResult.Value property should be left as-is.

Closed by #16857 and #17398


Nan when training? How to solve?

I've tried running BAD-NeRF on my own dataset, however encountered Nan during training, which parameters can be adjusted to solve this problem?

Hi, you can first try lowering the pose_lrate, as we discovered and described here in the README

Thanks for your advice. Could you please clarify when the "nan" values occurred during your experimental process? I observed the appearance of "nan" values approximately after 10,000 iterations. Even after adjusting the pose learning rate to 1e-4, the issue persisted.

I‘ve tried adjust the near and far to 2 and 6,which are the parameters for lego in NeRF, but the problem still exists.

@chenkang455 Hi, we didn't process 360° scene (like lego) and the codebase aims to handle the "llff" scene. Nan value problem may happen at spline function. If you want to handle 360° blur data, my advice is to transfer our spline method to a NeRF model which can directly handle 360° scene, like NeRFStudio or some others.

As @wangpeng000 points out, this code base used NDC scene contraction by default, so if your custom data does not follow the LLFF style, a workaround may be turning that option off.
You can also try out our actively maintained BAD-Nerfstudio, since nerfstudio can handle various data types and it runs much faster.

@LingzheZhao @wangpeng000 Thanks for your advice. I set the ndc False and no_ndc True. Now it seemingly works for my lego dataset with no NAN.

Glad to hear that!

Hi @LingzheZhao @wangpeng000,
Thank you for your detailed responses. I've come across another issue. As all the datasets in your paper are in LLFF style, I'm looking to use a 360-degree scene, like Lego, which necessitates setting the ndc to False. However, the results appear to be relatively subpar.
I'm wondering if the problem is attributed to the load_llff_data function (replacing load_blender_data with load_llff_data might resolve it) or if it's connected to the NDC setting.

 Please refer to these https://github.com/WU-CVGL/BAD-NeRF/issues/9#issuecomment-1869906340 and https://github.com/limacv/Deblur-NeRF/issues/37

@chenkang455, We have no plans to update this repository. Please refer to these #9 (comment) and limacv/Deblur-NeRF#37

Got it ! Thanks for your advice.


HTMLPolymorphicProps type not exposing intrinsic element attributes

Description
The type signature of HTMLPolymorphicProps for the Vue package seems to be incomplete, as it is not properly extracting props from IntrinsicElementAttributes of a given HTML tag.
This effects prop typing of components that extend HTMLArkProps
Link to Reproduction (or Detailed Explanation)
N/A
Steps to Reproduce
You can view in any component story in package the lack of auto completion of props that come from InstrinsicElementAttribute of a given HTML tag. For example, if HTMLArkProps<"img"> you will not get the auto-completion of props such as src, alt, or any of the aria-*
Ark UI Version
0.9.0
Framework

[ ] React
[ ] Solid
[X] Vue

Browser
N/A
Additional Information
There is already a possible solution that is inline with this type's usage in the other frameworks (the other frameworks do not actually have the HTMLPolymorphicProps type and just HTMLArkProps, but the general approach is the same to work in Vue).
For the generic type supplied to HTMLPolymorphicProps, it is only extending keyof IntrinsicElementAttributes, which means ExtractPropTypes is receiving a string type and not an object type, thereby extracting nothing.
The fix:
export type HTMLPolymorphicProps<T extends ElementType> = Omit<
  // If T is the keyof a DOM element (i.e. `img`) then need to obtain that element's attribute object to extract props.
  // Otherwise, return T which could be a component (`DefineComponent` definition)
  ExtractPropTypes<T extends DOMElements ? IntrinsicElementAttributes[T] : T>,
  'ref'
> & {
  asChild?: boolean
}

Warning 🚨
This issue is only created for tracking and should be considered backlogged at this time. Currently, the caveat to the above fix creates the type error Type instantiation is excessively deep and possibly infinite. related to ComponentWithProps.
There is a consideration in doing away with ComponentWithProps in favor of receiving the necessary typing from the defineComponent function signature approach introduced to aid in user-defined generic typing of components.
Unless there is a solution for the instantiation error that I could not recognize, need to wait until determining if the change to defineComponent is viable and be completed first.

Hi, I also encountered the same issues. And I also think there is a little hack to use ComponentWithProps to annotate a component.
The new feature Function Signature released in Vue3.3  is awesome, the main use case is with TypeScript (and in particular with TSX), as it supports generics. So I think we can change the way we define components.

@iamdin one of the current issues with the function component signature is not exposing slots as props. This is currently being addressed in an open Pr: https://github.com/vuejs/core/pull/9721 but I have not seen any update on this. Emit typing seems to also be a dirty regardless of how defineComponents is being used.
However, I think doing the function signature would still be cleaner if a hack needed to exist to make sure we get all the correct typing when calling props or directives.

I agree with you. Looks like there are some trade-offs to be made. And if we use this feature,  does it mean that the user's Vue version must greater than 3.3? defineComponent in Vue3.3 vs defineComponent in Vue3.2. The version 3.3 extend extraOptions for runtime props, but not implement before.
// implementation, close to no-op
/*! #__NO_SIDE_EFFECTS__ */
export function defineComponent(
  options: unknown,
  extraOptions?: ComponentOptions
) {
  return isFunction(options)
    ? // #8326: extend call and options.name access are considered side-effects
      // by Rollup, so we have to wrap it in a pure-annotated IIFE.
      /*#__PURE__*/ (() =>
        extend({ name: options.name }, extraOptions, { setup: options }))()
    : options
}

I agree with you. Looks like there are some trade-offs to be made. And if we use this feature,  does it mean that the user's Vue version must greater than 3.3? defineComponent in Vue3.3 vs defineComponent in Vue3.2. The version 3.3 extend extraOptions for runtime props, but not implement before.
// implementation, close to no-op
/*! #__NO_SIDE_EFFECTS__ */
export function defineComponent(
  options: unknown,
  extraOptions?: ComponentOptions
) {
  return isFunction(options)
    ? // #8326: extend call and options.name access are considered side-effects
      // by Rollup, so we have to wrap it in a pure-annotated IIFE.
      /*#__PURE__*/ (() =>
        extend({ name: options.name }, extraOptions, { setup: options }))()
    : options
}

I think we should wait. The feature is new and it's possible for new issues to emerge. The current approach works and is accessible to vastly more users.

@Omikorin ok.
Then how should this GH issue be addressed in getting those intrinsic attributes exposed as props?

@TylerAPfledderer to be honest, I haven't thought about that yet
I checked the Vue 3.3 release date, and it's not so new (May 2023).
I changed my mind. We are before v1.0, so whether it's a breaking change or not doesn't matter.

Done in #1928 without Combobox.Root (same as Select) due to more typing issues

Done in #1928 without Combobox.Root (same as Select) due to more typing issues

Unbelievable. Your work productivity is outstanding. @Omikorin

Done in #1928 without Combobox.Root (same as Select) due to more typing issues

Since that is done, I'll go ahead and address this.

Done in #1928 without Combobox.Root (same as Select) due to more typing issues

I can take a look at the outstanding ones, but I found this that may be of use:
https://logaretm.com/blog/generic-type-components-with-composition-api/
(Not meaning to possibly walk backwards here on some of this person's suggestions! 😅)

It's funny to know that types work because I needed to comment the Menu exports test (Menu lacks three parts in each framework).


Documentation issues

Issue description
I really like this software! I just set up it on my VPS and I would like to give some feedback on the installation instructions. Issues I ran into that were not very obvious from the documentation.
To Reproduce
Install headscale on linux following the docs.
Context info
I love the software, and I hope I can help with this feedback.
File permissions not explained
I think it is not unreasonable to think someone with little to no linux experience would try to set up their own VPN. The docs dont go into detail with what the file permissions need to look like. There is mention of running it with a headscale user but not that this user needs to be able to write to some dirs and read others. Should the config files under /etc be read-only, belong to root or headscale, etc. I think it might be worth mentioning what it should look like.
Running from the same directory
This might be a bug, but when I started headscale for the first time from the command line, in the new terminal I could not list the users. I could wget the metrics as shown in the docs but I had to cd to /etc/headscale to be able to headscale users list. If it is not a bug, it should be mentioned explicitly.
Systemd not printing all errors.
This might be a bug, but when I ran headscale as a systemd service it could not start but in the status it did not show the errors. I had to run it with headscale user to see that I had some permission errors. I dont know why it was not printed to systemd's status.
Some files need to be created manually
Some files like /var/run/headscale/headscale.sock need to be created manually. It is not created by headscale if it does not exist. It might be better to explicitly mention it in the docs.
How to keep up-to-date
I dont see any mention in the docs how to upgrade between version of headscale. Given how fast it is developed it might be a good idea to add a short guide. I assume back up stuff, replace bin, run again, but I am just guessing.

Hi, it would be great if you could help improve the docs with your feedback :), we are very happy for pull requests to update the docs!
Thanks

I'm happy to do so but to be perfectly honest I'm not sure about some of the points. Should I just create  PR for the ones I'm confident about and leave this issue up for the rest?

Yes that’s better than the current state :) Sent from Proton Mail for iOS On Sat, Feb 18, 2023 at 14:13, Norodix @.***> wrote:
I'm happy to do so but to be perfectly honest I'm not sure about some of the points. Should I just create  PR for the ones I'm confident about and leave this issue up for the rest?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

I opened a PR.
The only missing thing that I found is the general description on how to update headscale when a new version comes out. I'm curious about that myself.

It doesn't create /var/run/headscale/headscale.sock in 0.22.3 deb still,doc has no more information.
Is it need to fix?


Replace prints with at-info statements

This PR replaces print statements with at-info statements, so that it doesn't bloat the log for distributed runs.

bors r+


Added flag to enable capture of invalid drop into CNI

Please provide a description of this PR:
This is related with https://github.com/istio/istio/pull/36566 which introduced a flag ISTIO_META_INVALID_DROP to enable the invalid drop iptables rule while there was a bug that this flag won't be passed from Pod environment variable to istio CNI.
Steps to reproduce the bug:

Install istio with cni and deploy the istio-cni DaemonSet with the cherry-picked fix https://github.com/istio/istio/pull/36566
Config the ISTIO_META_INVALID_DROP into proxyMetaData :

  mesh: |-
    accessLogEncoding: JSON
    accessLogFile: /var/log/proxy/access.log
    defaultConfig:
      concurrency: 40
      discoveryAddress: istiod.istio-pre-production.svc.87.tess.io:15012
      proxyMetadata:
        ISTIO_META_DNS_AUTO_ALLOCATE: "true"
        ISTIO_META_DNS_CAPTURE: "true"
        ISTIO_META_INVALID_DROP: "true"

Create a new pod with sidecar injection and we can see the env is in pod

    env:
    - name: ISTIO_META_DNS_AUTO_ALLOCATE
      value: "true"
    - name: ISTIO_META_DNS_CAPTURE
      value: "true"
    - name: ISTIO_META_INVALID_DROP
      value: "true"

nsenter the pod network namespace and check the iptables rule, the invalid drop policy is missing:

# Generated by xtables-save v1.8.2 on Thu Dec 30 01:31:55 2021
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Thu Dec 30 01:31:55 2021
# Generated by xtables-save v1.8.2 on Thu Dec 30 01:31:55 2021
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:ISTIO_INBOUND - [0:0]
:ISTIO_REDIRECT - [0:0]
:ISTIO_IN_REDIRECT - [0:0]
:ISTIO_OUTPUT - [0:0]
-A PREROUTING -p tcp -j ISTIO_INBOUND
-A OUTPUT -p tcp -j ISTIO_OUTPUT
-A OUTPUT -p udp -m udp --dport 53 -m owner --uid-owner 1337 -j RETURN
-A OUTPUT -p udp -m udp --dport 53 -m owner --gid-owner 1337 -j RETURN
-A OUTPUT -p udp -m udp --dport 53 -j REDIRECT --to-ports 15053
-A ISTIO_INBOUND -p tcp -m tcp --dport 15008 -j RETURN
-A ISTIO_INBOUND -p tcp -m tcp --dport 22 -j RETURN
-A ISTIO_INBOUND -p tcp -m tcp --dport 15020 -j RETURN
-A ISTIO_INBOUND -p tcp -m tcp --dport 15021 -j RETURN
-A ISTIO_INBOUND -p tcp -m tcp --dport 15090 -j RETURN
-A ISTIO_INBOUND -p tcp -j ISTIO_IN_REDIRECT
-A ISTIO_REDIRECT -p tcp -j REDIRECT --to-ports 15001
-A ISTIO_IN_REDIRECT -p tcp -j REDIRECT --to-ports 15006
-A ISTIO_OUTPUT -p tcp -m tcp --dport 15020 -j RETURN
-A ISTIO_OUTPUT -s <IP_ADDRESS>/32 -o lo -j RETURN
-A ISTIO_OUTPUT ! -d <IP_ADDRESS>/32 -o lo -p tcp -m tcp ! --dport 53 -m owner --uid-owner 1337 -j ISTIO_IN_REDIRECT
-A ISTIO_OUTPUT -o lo -p tcp -m tcp ! --dport 53 -m owner ! --uid-owner 1337 -j RETURN
-A ISTIO_OUTPUT -m owner --uid-owner 1337 -j RETURN
-A ISTIO_OUTPUT ! -d <IP_ADDRESS>/32 -o lo -m owner --gid-owner 1337 -j ISTIO_IN_REDIRECT
-A ISTIO_OUTPUT -o lo -p tcp -m tcp ! --dport 53 -m owner ! --gid-owner 1337 -j RETURN
-A ISTIO_OUTPUT -m owner --gid-owner 1337 -j RETURN
-A ISTIO_OUTPUT -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 15053
-A ISTIO_OUTPUT -d <IP_ADDRESS>/32 -j RETURN
-A ISTIO_OUTPUT -j ISTIO_REDIRECT
COMMIT
# Completed on Thu Dec 30 01:31:55 2021

To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ x] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Hi @shonecyx. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn PTAL

/ok-to-test

@shonecyx: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shonecyx: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test release-notes_istio

gencheck_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shonecyx: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test release-notes_istio

gencheck_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test gencheck_istio

unit-tests_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests_istio

@shonecyx: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test release-notes_istio

gencheck_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test gencheck_istio

unit-tests_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shonecyx: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test gencheck_istio

unit-tests_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test unit-tests_istio

release-notes_istio
deae87d3acb8eb5f9ee9cf4b785a65d356e60df3
link
true
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shonecyx: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test unit-tests_istio

release-notes_istio
deae87d3acb8eb5f9ee9cf4b785a65d356e60df3
link
true
/test release-notes_istio

gencheck_istio
deae87d3acb8eb5f9ee9cf4b785a65d356e60df3
link
true
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shonecyx: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test unit-tests_istio

gencheck_istio
deae87d3acb8eb5f9ee9cf4b785a65d356e60df3
link
true
/test gencheck_istio

integ-security-multicluster-tests_istio
203e8bcfba40f6a75f69b5ec46e55bd675bfcc89
link
true
/test integ-security-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shonecyx: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
b1a648dc61bf76dc21661072e756f224396f1cc4
link
true
/test unit-tests_istio

integ-security-multicluster-tests_istio
203e8bcfba40f6a75f69b5ec46e55bd675bfcc89
link
true
/test integ-security-multicluster-tests_istio

gencheck_istio
203e8bcfba40f6a75f69b5ec46e55bd675bfcc89
link
true
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/release-note-none

@shonecyx: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
cb87731f2f761c2f13ae910d8d0097c7eda8345e
link
true
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Removed prefix ISTIO_META_ to avoid sending it to pilot as per comments:
https://github.com/istio/istio/pull/36566#discussion_r776124395

@bianpengyuan @hzxuzhonghu  @howardjohn  Kindly help take a look to move forward.


Is there a way to configure ID prefixes ?

IDs are generated as sprite-{{filename}}, I would like to either remove this "sprite-" or change it to my own prefix.

Missed a section in the README


Usage of sapContrast with bower distribution

OpenUI5 version: 1.42
URL (minimal example if possible):
http://jsbin.com/tuzabakimu/edit?html,js,output
What is the expected result? What happens instead?
I want to use the same style/flavor of the belize theme in my applications as is available on https://openui5.hana.ondemand.com. In particular the ObjectPage footer (in the sample opened via "Edit") and NotificationListItem should appear dark.
When I change the library from the one available at the official site (openui5.hana.ondemand.com) to my locally built one (bower distribution packages) it seems that the sapContrast css settings are not complete as the Footer and NotificationListItem are white and without any sapContrast style.
When I search through openui5-themelib_sap_belize for sapContrast only a few less files with sapContrast styles are found.
Is there missing something in the build process for the bower distributables?
I'm also missing documentation on the conept or on how to use the sapContrast flavor if there are settings/configurations necessary for the application or a container -> if the concept is that sapContrast is selectable on a container.

You can use the Belize Deep (dark flavor) by setting data-sap-ui-theme="sap_belize_plus". You can find additional information here.

Sorry, that went in the wrong direction - perhaps I shouldn't have used the "flavor" term.
I want to use the standard sap_belize theme as it is also used for the explored app. The issue is that the "sap/m/themes/sap_belize/library.css" served from openui5.hana.ondemand.com has a different content than the one available via bower.
For example the resulting html code for the notification list in both cases is:
<div id="myview--notificationList" data-sap-ui="myview--notificationList" data-sap-ui-fastnavgroup="true" tabindex="-1" style="width:100%" class="sapContrast sapContrastPlus sapMList sapMListBGSolid">
But the sap.m css available via bower simply doesn't have the definition for the nested li item:
.sapContrast.sapMListBGSolid .sapMLIB, .sapContrast .sapMListBGSolid .sapMLIB
The same for the uxapfooter where the following css definition should be active:
.sapContrast.sapUxAPObjectPageFooter .sapUxAPObjectPageFloatingFooter, .sapContrast .sapUxAPObjectPageFooter .sapUxAPObjectPageFloatingFooter
Is there some kind of postprocessing needed after getting the openui5-themelib_sap_belize bower resources or are the new definitions just missing because of a different build process on your side?

@Shtilianova could you reopen the issue as it is "just" a bug as described above and not a topic of "consulting"

@mkueng1 sorry for the confusion and delay about this issue.
The missing features in the OpenUI5 tooling are now available.
Relevant releases:
https://github.com/SAP/less-openui5/releases/tag/0.3.0
https://github.com/SAP/connect-openui5/releases/tag/0.7.0
https://github.com/SAP/grunt-openui5/releases/tag/0.12.0
The openui5 repository has also been updated to consume the latest versions:
https://github.com/SAP/openui5/commit/d95152b87f0cddc53a756f2ee3df1d3d3382f28e
This means building openui5 will now also build the contrast rules for "sap_belize" and "sap_belize_plus".
This also affects all new patches delivered via bower (1.38+). Please note that the Belize Themes are only supported in 1.44 and later.


Settings tweaks

Addressing some of the "More Issues" in #55791.
So far:

[x] #56928 - Underline links on hover
[x] Show a notification the first time a user changes a setting - #57033
[x] Change modified indicator ::after to real element so it can have a tooltip
[x] Move 'reset setting' to the top of the context menu and remove "Copy Name"
[x] "Add" button in exclude control doesnt trigger add - #57167
[x] Cannot edit or delete the when condition of an exclude control #57172
[x] Persist the order of rows in the exclude control across edits.
[ ] Optimize settings list layout by loading elements in pages
[ ] Add commands that implement "Focus next/previous setting control". e.g. cmd+down skips other focusable elements and focuses the next setting control in the list.

Closes #56928
Closes #57033
Closes #57167
Closes #57172

This implements persisting the order of the rows of exclude controls while editing by sorting the keys. Potential downside to this is that it writes out the sorted value to the settings. This could be confusing, but if they're editing the excludes anyways it probably isn't that bad.

Of the remaining two, I don't think I'll be able to paginate the list in the remaining <1 hour I'm here, and playing with the editor a bit I don't actually think a special "go to next control" tab is very critical, as we don't have that many links.


Build dependencies and editable wheels

Is it intended that build dependencies are not installed in the target environment when a project is installed as an editable wheel? This breaks the rebuild on import because the build dependencies are not found. PEP-660 does not contain any explicit information regarding this, other than:

Build-backends must produce wheels that have the same dependencies (Requires-Dist metadata) as wheels produced by the build_wheel hook, with the exception that they can add dependencies necessary for their editable mechanism to function at runtime (such as editables).

I think we could interpret this to mean that we should append the build-requires dependencies to the editable wheel dependencies.

I think building in editable move means one should disable build isolation. It really does not make much sense to use build isolation for development work, and it actively breaks on rebuilds as you noticed.

I think we could interpret this to mean that we should append the build-requires dependencies to the editable wheel dependencies.

If you mean "move build time dependencies to runtime dependencies", then that sounds unhealthy to me. It will lead to trying to install with pip into conda envs for one.

If you mean "move build time dependencies to runtime dependencies", then that sounds unhealthy to me. It will lead to trying to install with pip into conda envs for one.

Despite using it on Windows, I'm not that familiar with Conda. How is adding the build dependencies to the runtime dependencies making adding any issue here? Installing the editable wheel will still try to resolve the dependencies with pip.

Ugh, you are right, it's already a problem for runtime dependencies (I don't use pip for dev work for a reason, so forgot about that). The correct way to use editable builds is this I'd say:
pip install -e . --no-build-isolation --no-deps

How is adding the build dependencies to the runtime dependencies making adding any issue here?

In general you do not want to mix conda packages and wheels. So if you use a conda dev env, you may want the editable install of the package you're working on - but nothing else.

I'm not sure what the general answer is though. The pip UX is just poor for this. Before moving to Meson, I always used python setup.py develop (or build_ext -i), because that does the right thing.

What does the editable installs PEP say about build isolation?

Absolutely nothing, not completely surprisingly.

IMHO tools should automatically mandate disabling build isolation as an implicit consequence of using editable mode.

Agreed. I am not going to go out and propose that though, because I expect it to not be accepted - because things work smoothly with a discarded build env when you don't need to rebuild (i.e. for pure Python projects), and then non-isolated builds would be a slight regression in UX (there is no way to say "install build deps in existing env"). And also because using compiled code is "a special case".

And also because using compiled code is "a special case".

😂

I think we could interpret this to mean that we should append the build-requires dependencies to the editable wheel dependencies.

Yes, this would be technically correct thing to do.

I think building in editable move means one should disable build isolation. It really does not make much sense to use build isolation for development work, and it actively breaks on rebuilds as you noticed.

I agree. I don't think any package manager builds editable wheel in isolation, it wouldn't make sense. Hence this is basically a non-issue.

If you mean "move build time dependencies to runtime dependencies", then that sounds unhealthy to me. It will lead to trying to install with pip into conda envs for one.

I mean, it would be the right thing to do from a correctness POV, but I personally think it'd cause more trouble than it's worth.
IMO the only situation it'd make sense for us to add dependencies to the editable wheel is if we had extra runtime dependencies that are not needed for the build, which we do not.

Oh, that's unfortunate. Well, I can see the benefit in simple backends, but for us is undesirable.
In that case, we should probably do it.

I don't think any package manager builds editable wheel in isolation, it wouldn't make sense.

It seems like we all agree on this point, so maybe someone should point this out on the pip issue tracker if we want to do anything at all here.

In that case, we should probably do it.

If "it" means "add the build dependencies as runtime dependencies to the wheel", then I'm -1 on that. It's guaranteed to break things. That's not only easy to reason about, but I'm also 100% sure it will break for the recommended development setup of SciPy and other packages where people commonly use conda dev envs + using a numpy == build dependency.

The doc rewrite in gh-389 addresses this now, and there is nothing left to do within meson-python. So let's close this. Of course if someone wants to push the issue in pip, that'd be useful.


How to get the access to create an issue for Azure/enterprise-azure-policy-as-code repository

I'm working in GSK organization, but using my GSK ORG ID unable to create an issue for repository Azure/enterprise-azure-policy-as-code.
Please let me know the process for create an issue

You just created one. This is an issue.

I created using my personal account not using organization account, is it ok to create an issue?


Use trusted setup from specs

This replaces the embedded trusted setup file with the one from the specs:

https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/trusted_setups/testing_trusted_setups.json

This did not work out of the box, because of the "0x" prefixes. I copied a helper function to do this where necessary.

Note, the roots_of_unity fields are decimals, which will not be able to be represented in ,js. Go will be happy + thids lib ignores the, but the reason everything is hex everywhere is because some languanges are bad at big ints in json.


Run "make db_seed_all" on CI

Follow up to https://github.com/ambuda-org/ambuda/pull/97

I don't think it makes sense to pull ~hundreds of megabytes of data just for CI.


panic: runtime error: invalid memory address or nil pointer dereference   [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xdcf2fd]

Getting below error while scanning github resusable workflow using frogbot
![image](https://github.com/jfrog/frogbot/assets/22794078/a1fd35c5-6e4c-4f46-a8c4-3320b0430766)

@Rushekesh,
What is the reason you closed this issue?

I opened another ticket. Please help me if you have any insight on this
issue.
https://github.com/jfrog/frogbot/issues/391
On Fri, Jul 14, 2023 at 4:03 PM Eyal Ben Moshe @.***>
wrote:

@Rushekesh https://github.com/Rushekesh,
What is the reason you closed this issue?
—
Reply to this email directly, view it on GitHub
https://github.com/jfrog/frogbot/issues/390#issuecomment-1636442072, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFN46XTREEP5E26XIC2WNALXQGXZ3ANCNFSM6AAAAAA2KZIZUQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


isEmail validation accepts gmail accounts with a trailing .

Hey,
in the email validation for gmail, it is assumed that gmail ignores "." characters but I do not think that this is true.

Mailgun at least does not allow email addresses with consecutive or trailing dots.

Fixed by https://github.com/chriso/validator.js/pull/820


Add Documents for Contacts

Hello,
Is it useful and possible to add documents for contacts?
At my work place we do make our users sign an agreement for device landing (laptop, phone, desk equipment...) and it would be nice if we can attached it to the contact into Netbox.
Thank yo in advance
BR
Lord Z.

It's possible, if you'd like to look into it yourself, see #54, #58. You just need to copy some things arround to add it for contacts :)

Hello,
Ok I'll try to take a look and propose something.
Thank you for the message.


chore: refactor and re-theming document component

Summary
This does a round of refactoring on the Document component, reorganizes the visual layout to be more aligned with the intended design specs.
Note the operations are a little awkward at the moment:

This needs the collapsible panel which is not yet in place
The design does not match to the data format that we are working with

Both of these points above will be dealt with in subsequent PRs.

Testing
This is available in both

Data explorer, select a document search result item
In the project overview, select from the paper menu in the sidebar

Please assign someone to review it, someone from the task is preferable like Tom.


MJML API still uses v4.3.1

Hi,
The MJML API from my understanding still uses the version 4.3.1.
Any plans to make to 4.6.1?
Thanks in advance for the feedback.

cc @ngarnier :)

Any news?

We'll try to release a new version of the API next week

thanks @ngarnier

I didn't update the issue right away but the MJML API is now running on v4.6.1.


feat: add user role field

Introducing site owner: when you first enter your website, you will be asked to sign up as the owner. So the other user cannot be login without an account. And site owner creation of user accounts will be in a separate PR.

Related issue: https://github.com/justmemos/memos/issues/48#issuecomment-1126783427

FYI @monlor


Modeling of Migration Flow

Hey, this has been a very useful package so far, thanks!
I am facing a problem when trying to model to model a problem where both the incoming and the outgoing edges are relevant for modeling.
The problem is that my weight matrix is not symmetric and the value of my node depends on the outgoing coupling and the value of the target node.
ẋ_i = α * y + W_ij * x_i + W_ji * x_j with the last part being summed over all j values.
Is the only way to go then to use fiducial coupling with the parameter being (W_ij, W_ji) for each edge (i -> j)?

I think your correct. It cannot be done with symmetric or antisymmetric coupling. You could alternatively use directed where you create two edges on a digraph for each link, one going

from i -> j with e = W_ij * x_i and
from j -> i with e = W_ji * x_j

Maybe parameter wise that's actually simpler because your parameter array for the edges becomes something like
map edges(g) do e
    W[e.src, e.dst]
end

I think I may have confused some things. The edge function is actually symmetric because I forgot a minus sign if we have network of just nodes 1 and 2 then dx_1 = W_12 * x_1 + W_21 * x_2 and dx_2 = W_21 * x_2 + W_12 * x_1.
The problem is not that the edge has a different coupling in the different directions but that the coupling strengths for source and destination vertex are different.
function edgefun!(e, v_s, v_d, p, t)
    W_ij, W_ji = p
    e = v_s * W_ij + v_d * W_ji
end

should work if edgefunonly gets called with i ≙ v_s and j ≙ v_d and never with j ≙ v_s and i ≙ v_d, right?
If that is not the case, directed or fiducial would definitely be necessary.

I think directed is the way to go here. If you have a SimpleDiGraph, you can specify the edge direction explicitly, i.e. 1:1=>2 is a different object from e2:2=>1. The function for e1 will be only called with v1 as source and v2 as destination, the e2 the other way around.

Yeah, this works perfectly now, thank you.


Refactor LabTemplate API to support new scenarios

Description
This PR refactors the LabTemplate API to enable possible support to:

[x] Persistent VMs (Ref. #94)
[x] Container-based Laboratories (Ref. #210)
[x] Support for multiple Lab-Environements (e.g. labTemplate which spawns multiple VMs)
[x] DeleteAfter Condition

To do so, we are required to change the APIs:

[x] Kubevirt objects are not embedded in the API anymore

How Has This Been Tested?

/rebase

/deploy-staging

/deploy-staging

/undeploy-staging

/deploy-staging

/rebase

/rebase

/merge


New text enrichers are ilegible while using dark theme

New text enrichers added in the update 2.4.0 see; (https://github.com/foundryvtt/dnd5e/wiki/Enrichers) are very difficult to read while using the dark theme.

Old enrichers (those that used the [[/r]] formula) are displayed just fine as shown in the attached image.
Foundry version: Version 11 Build 315
Dnd5e version: 2.4.0
Tidy5e version: 0.1.10

Thank you for reporting this! Got a fix shipping soon:

New release is out. Have a look and feel free to close the issue if resolved.


feat(reports) include traffic entry types

Previously the anonymous reports ping only included a single counter for the requests the server did:
requests=100

With this PR, it also differentiates between types:
requests=100;http_reqs=10;https_reqs=0;grpc_reqs=20;grpcs_reqs=0;ws_reqs=70;wss_reqs=0

@james-callahan I believe that's not possible currently: you would have to be able to increase a shared dict in stream mode and then read it in http mode.


BKR-625: Added ability to mount a folder.

Without this patch there is no way to mount a local folder inside the beaker nodes.
With this patch folders can be mounted similar to below using the mount_folders option:
    HOSTS:
      ubuntu-1404-x64-master:
        roles:
          - master
          - agent
          - dashboard
          - database
        platform: ubuntu-1404-x86_64
        hypervisor: vagrant
        box: puppetlabs/ubuntu-14.04-64-nocm
        box_url: https://vagrantcloud.com/puppetlabs/boxes/ubuntu-14.04-64-nocm
        mount_folders:
          folder1:
            from: ./
            to: /vagrant/folder1
          tmp:
            from: /tmp
            to: /vagrant/tmp
        ip: <IP_ADDRESS>
      ubuntu-1404-x64-agent:
        roles:
          - agent
        platform: ubuntu-1404-x86_64
        hypervisor: vagrant
        box: puppetlabs/ubuntu-14.04-64-nocm
        box_url: https://vagrantcloud.com/puppetlabs/boxes/ubuntu-14.04-64-nocm
        ip: <IP_ADDRESS>
    CONFIG:
      nfs_server: none
      consoleport: 443

In the above beaker will mount the folders ./ to /vagrant/folder1 and the folder /tmp to /vagrant/tmp
This relates to the new feature ticket opened on puppetlab here: https://tickets.puppetlabs.com/browse/BKR-625

Can one of the admins verify this patch?

@puppetlabs-jenkins test this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/1819/
Test PASSed.


Support Ws and Ipc providers

Motivation
Allow to use Ws an Ipc on par with Http RPCs.
Closes https://github.com/Jon-Becker/heimdall-rs/issues/306
Solution
Straightforward adaptation of https://www.gakonst.com/ethers-rs/providers/custom.html to include Http.
Added example tests to cover the new code.
Considerations - feedback welcome

The RPC type is heuristically determined depending on the rpc_url string content and defaults to Ipc if neither 'http' or 'ws' is part of the string. There could be some edge cases that this omits, leading to inability to connect.
Ideally we would like to reuse same provider object like proposed in https://github.com/Jon-Becker/heimdall-rs/pull/310, so the cost of checking the rpc_url string content and .await when trying to connect to the RPC can be accepted.
The name HttpOrIpcOrWs isn't very catchy but follows ethers-rs example convention. Happy to change it if better suggested.
No tests for Ipc added as it depends on having a local node, however the handling is same as Ws.
The visibility of HttpOrIpcOrWs and the new rpc::get_provider() could be restricted.

will get this in today :)

ill fix the broken test case and include in #372, so this will be part of 0.8.0

Hey @Jon-Becker, I'm trying to use Heimdall in prod doing decompilation and I get a lot of crashes in the  - esp. the more timeout I give it - in debug there are arithmetic overflows in the vm, with arithmetic checks disabled I get vector capacity errors and so on. Are you interested in those as new issues or should I wait or 0.8 and report then? Would you like them as unit tests, or just example contract addresses? Their appearance is probabilistic, some I need multiple retries to reproduce.
I tried fixing them on my own, but I'm not familiar with this code enough (yet).

if they happen on nightly, please open an issue!!
you can install nightly with bifrost +nightly or bifrost -v main

Can we put the IPC test behind a feature?

Awesome! Looks good enough to merge, i'll fix clippy in a future commit.


Add missing commit for pdd-backend #116

There was another commit I missed in my "I missed some commits" PR.
https://github.com/terraware/pdd-backend/pull/116

It was modified slightly since "methodologies" became "document templates"

#2159  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @nickgraz and the rest of your teammates on  Graphite

Merge activity

Jul 15, 6:59 PM EDT: @nickgraz merged this pull request with Graphite.


add a figlet/ANSI Shadow banner to polybars default config

This makes Polybar compliant with the latest r/unixporn guidelines.


detect modal is open (javascript)

can i check modal (by id) is open or not by javascript?

Hey @KinG-InFeT,
You can use the callback functions onOpen and onHide and store it yourself.

Hey @KinG-InFeT,
You can use the callback functions onShow and onHide and store it yourself.

ok thanks, it would be convenient not to store a lot of information, but to have a simple method to check if the modal is open or not (even a simple check on the hiddens class is present or not)

any update?

This has been addressed and will be released today for v1.5.4.


Better code style.

Small feedback for maintainability:
Little reading shows that the project's code style is so terrible!
The fundamentals are not even followed:

You don't even break functions' { on own line, which is not a good style
80 character per line limit (perhaps your software is SO modern?)
use tab character to indent and tab character should be 8 character
a space after if, for,...
Maybe many more
Recommended reading:
https://man.openbsd.org/style.9
https://www.kernel.org/doc/Documentation/process/coding-style.rst

Thank you for feedback. I like my style of coding and for me it is much mode readable than code with rules above.
“You don't even break functions' { on own line, which is not a good style” I hate code that is written in this style and I consider it much more messy than when you just leave { in same line.
“80 character per line limit (perhaps your software is SO modern?)” I would love that, but often it is not possible.
“use tab character to indent and tab character should be 8 character” I do not like tabs because it goes messy with spaces. Also 8 characters per tab is too much and would make code for me harder to read because of its big layout.
“a space after if, for,...” I consider this as disadvantage because it separates two parts of same command without reason. Code is better readable when everything what constitutes one command is joined.
And so on.


Disable Increment in Drag  of Date Column in jExcel

When I drag date values columns its getting auto increment to next date by +1 day. Is there way to disable increment for Date Type column. I tried with "autoIncrement:false " but not working.
columnDrag is also not working.
Sample code Attached
Testing.txt

You can use the same logic for the link

<link rel="stylesheet" href="https://bossanova.uk/jexcel/v3/jexcel.css" type="text/css" />
<link rel="stylesheet" href="https://bossanova.uk/jsuites/v2/jsuites.css" type="text/css" />

Its not working Paul, Date column. can you share example with date column or on code I attached shared

Try this:
jexcel(document.getElementById('spreadsheet'), {
    data:data,
    autoIncrement:false,
    columns: [
        {
            type:'text',
            title:'Museum',
            width:'300',
        },
        {
            type:'dropdown',
            title:'Region',
            source:['South East','South West','North','London'],
            width:'200',
        },
        {
            type:'calendar',
            title:'Last visit',
            options: { format:'MM/DD/YYYY'},
            width:'100',
        },
    ]
});

@paulhodel I want to say thank you for building this.  This code is pretty awesome.


Configuration

Hi @srguglielmo ! This looks like a nice, straightforward Shibboleth plugin. I think you have a lot of the basics done right, but to make this work for a variety of setups it would be helpful to have a lot of these options be configurable.
Please consider taking a look at the configuration interface and pull requests like mitcho/shibboleth#13. Those give a quick overview of the needs of we've seen on different server setups.

Hey @jrchamp.
Thanks for the feedback!
I did not initially intend for this to be released to the public, so the feature set is limited to my own infrastructure at the moment. However, since I received permission from my employer to release it publicly, I'm more than happy to start adding features that will be useful to the majority of users.
I decided early on that I didn't want to have a configuration UI within WordPress for a few reasons:

More code to maintain; the plugin becomes more complex (storing settings in the DB, etc).
It's a safe assumption that if someone is setting up Shibboleth, then they know how to edit a text file on a server.
For something like this, the settings are generally set and forget. Once initially tested and configured, settings should rarely be changed.

However, I'll take a look at the other shib plugin's configuration options and the pending issues/pull requests over the next couple weeks and see what I can add. I'll split individual features into separate GitHub issues for tracking (instead of using this issue for all of them).

Thank you for taking this into consideration. Your plan to have individual features for tracking sounds great!
It is worth nothing that often these users are on shared servers that are configured for Shibboleth at the server level already, but do not have the ability to edit the file directly and are instead following instructions from a shared configuration document.
For me, the code itself is maintained in version control, but I have separate configurations for each instance. Having and maintaining local modifications to the code on each installation runs counter to our code deployment process.
Hopefully these two opposite ends of the spectrum are good examples to support a stored configuration.

Makes sense - specifically the version control argument. I made an issue for it (it may be a bit lower priority though). I'll close out this one for now. Thanks!


Feature request: Remove bold font

Subscribers to Twitter Blue have the ability to use bold font for tweets. This is basically exclusively used for (engagement-) spam. It'd be nice to have the ability to normalize the font or hide tweets using it.

Thanks


Report 32

Needs to be reverted - only pulling one language, not multiple

I did the one language before but upon reading the the requirement again, it has to be the 5 languages on display.
"The number of people who speak the following the following languages from greatest number to smallest, including the percentage of the world population: Chinese, English, Hindi, Spanish, Arabic"
if its 1 language per query, then there wont be need for sorting from highest to lowest number.

Guess this can be closed then?


Detect /dev/ttyUSB* ports on Unix

wio does not detect /dev/ttyUSB0 etc. ports on Unix

I have to do a test but #91 should give a nice error now

Wio won't auto detect sketchy arduinos on these ports but it also doesn't list them with wio devices list, which jt should be show us unknown


List metaText not aligned

When a list hasn't a primaryText then a metaText is rendered under tertiaryText.
Would be nice not to be forced to use primaryText. For a client web part it's too big.
Just an idea.
Thank you !

Interesting request - could you show us what you'd like to see? It's especially helpful if we could see it in the context of a web part.
Thanks!

This is my client web part now and some of your samples modified

Thanks for showing us this - it was great to see what you're trying to do. We can pass the feedback for the need for a more "compact" list item along to our design team. We'll let you know when we've got updates!

Hi Eric
I don't want to use primaryText because the app part will be inserted on the home page of an O365 site collection and there that primaryText will be the largest font on the page. It doesn't look nice. On the left/top I have navigation links which have the same font as secondaryText.

Ah, I see. The ListItem you're using is intended to be a hero component (e.g. the primary component on the page/app/add-in), so I can understand how the large size of the primaryText could throw off your visual hierarchy.
I still wonder if a compact variant of the ListItem where the text is smaller would help - especially if it's the same/closer in size to the secondaryText.

A MiniList maybe ?

The request makes sense. We don't have an ETA, but we'll work with our partners and provide an update as soon as we can.

I think additional list styles and layouts are a great idea. To make sure I understand this particular context fully I have one Q: Do we have a screenshot or sample of the o365 homepage where this web part will sit?

The app part screenshot is above. It is called Sarcini nerezolate. The scroll bar there looks like from another world ☺

I think what @jedunn is getting at is a screenshot showing the list items in the greater context of the overall page. This would allow us to get a sense of how the list item sits in comparison to other elements on the page.

@ericthompson you are right.Here's a sample site with secondaryText. As you can see it looks like the right part of the page. Imagine how it looks like with primaryText. It will be the largest font (larger than web part titlle) on the page even maybe it's not so important.

We'll run this by our designers to see what we can provide for a smaller ListItem component.

While there is no schedule for this, I've added it to our roadmap as we know that list items are important to many scenarios. We want to provide generic list items that are easier to customize.


close-to-failed-output.eo:28-31: To add several tests for...

The puzzle 41-17873f95 from #41 has to be resolved:
https://github.com/objectionary/eo-hamcrest/blob/b27a1fb3a4550ea5dc1880f988a9d4ffe0f977e6/src/test/eo/org/eolang/hamcrest/failed-output/close-to-failed-output.eo#L28-L31
The puzzle was created by graur on 14-Sep-22.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@graur please pay attention to this new issue.

@includealex please, help us here


Computer name

Is it really "0x6D746873? Or is there a script that changes it per prompt when setting up a new machine?

Nice, though it might be helpful if that was in a comment, since this is so widely used now!
(I do realize it is still more or less a personal repo.)


Client seeing phantom enemies around the game

Several of the spider-type enemies in the jungle and surrounding areas create phantoms for the client. There are enemies that do not take nor deal damage, but do block projectiles.
Notably, this also seems to happen with Taikasauva and Kummitus (noita ghost) as well.
We are playing with V1 world sync (been working beautifully btw with the last few updates!!!)

Has been fixed at some point.


Show import task logs on ImportRecord page; move ImportRecord page to React

Who is this PR for?
Developers working on data import.
What problem does this PR fix?
Finding the import logs takes a whole bunch of digging, especially if you're looking for logs from the not-as-recent past.
What does this PR do?
Shows the log output for each import task on the Import Records page.
Because the logs are long, I wanted to be able to add a show/hide toggle so that the logs don't take up all the space on the page.
That led me to convert the entire Import Records page from Rails ERB HTML to React, which may have been a little bit of 🚲 🚲 bikeshedding 🚲 🚲.
Overall though I'm feeling confident this will be useful new tooling for understanding/debugging the import process.
GIF (completed import)

Screenshot (import that did not complete)

🚢 ing


Support Grails 3

given Grails-3.0.0 just reached M2 and a final is planned to be released soon, it would be nice to see this plugin work with Grails 3 :)
thanks, zyro

+1

@tednaleid I converted the plugin to grails 3 structure and apparently it is working fine. What do you think that is the best way to publish the plugin? I could do a pull request but the structure of grails 2 and 3 are different, so I think the best way is to create a new repo and publish to bintray.

any news here? grails 3.0.1 has been released in the meantime. thanks, zyro

@zyro23 I haven't had a chance to play around with 3.0.x. We are in the final stretch of our initial Grails 2.4.x deployment and will likely not be going to 3.0 until after our first release. I would love to get BTD officially working in 3.0 but I just haven't had any time to spend on it. Sounds like based on @rafaelfelini report, may not be much to do here.

If all of the tests on @rafaelfelini's update pass, I'd consider releasing that.
I'm pretty iffy overall about just upgrading build-test-data to grails 3 and releasing it.  BTD was originally created ~6 years ago with grails 1.0.X.  It's core model is very old-school grails (messing with the meta class of the domain classes and adding what appear to be static methods).
It hasn't aged well, it doesn't perform well and doesn't fit with the way that grails 3 does things now.  Bringing the current codebase into grails 3 feels like it would be a maintenance issue ongoing, especially with the way the unit and integration tests work now.  The changes for making unit tests works with annotations are not clean.
I've got a few ideas about changes I'd like to make to how build-test-data works to update it into working the way grails 3 works.  Changes that would also support working with standalone GORM.
I've taken a couple of stabs at it, but have had some real troubles with getting grails 3 to work well in a development environment (Intellij) and with the new gradle build system so I don't see this coming in the next few weeks.
At a high level, my current ideas are implementing BTD as a jar file that would have a Build trait that you could implement in your tests (unit or integration).  We would drop the @Build annotation, and we would no longer decorate the metaclass of all of the domain classes with a build method.
Instead, if your test implements the Build trait it would get a build method with a few signatures:

build(Class clazz) - takes a domain class as a parameter and returns a newly built instance

ex: build(Book) - returns a new Book instance that has the required Author

build(Class clazz, Map<String, Object> properties)

ex: build(Book, [title: 'Infinite Jest']) - returns a new Book with the specified title and the required Author attached to it

build(Object domainClassInstance) - takes a partially filled in, but unsaved domain class and fills in the other required pieces and then saves it

ex: build(new Book(title: 'Grapes of Wrath')) - returns updated instance that has the required Author built and attached to it

Implementing it as a trait would allow you to mix it in to any test that needed it.  In unit tests, you'd just @Mock out the domain classes you wanted to use just like any normal unit test would have to.  In integration tests it'd just work.
You could also subclass the Build trait with your own behavior and that would give you the ability to add in things that we now put in the TestDataConfig.groovy file, or have behavior that's overridden in the test itself.
Using a trait and a jar file would also get rid of a complaint that I've gotten a lot over the years about how BTD isn't test-only by default and it still decorates your domain classes in production (unless you explicitly make it a test plugin, but most don't do that).
I think these changes would be a lot more in line with how grails 3 works, and would get away from all of the fragility and messiness of mucking with the metaClass.  The grails framework moved away from this for a reason.

@tednaleid Another option would be to keep the @Build annotation and use an AST Transformation to add a 'Buildable' trait at compile time. I believe that is essentially what Grails 3 is doing with many of the artifacts like domains, services, etc. You could still implement the Trait yourself (and subclass if desired) but it would be more backwards compatible with existing usages.
One big (sort of) downside is that it would require you to use @Build for both unit AND integration tests. Personally, I like having the @Build line at the top of a test b/c it gives me a simple outline of what domains this particular test is touching. If I see a ton of things in that line, it's a red flag that maybe things need to be split up.
Anyway, just thinking out loud really.

Thanks for the ideas @longwa, that's what I'm looking for at this stage.
The things that I like about having a trait that you implement in your test (or wherever) are:

it's something that the end user could easily override and create their own trait to override behavior.  Maybe one trait that has one set of defaults specific to a difficult scenario that you wouldn't want to use in other parts of the code.
IDEs are aware of traits and can help you with autocompletion.

With things like the @Build annotation, they don't offer any real extensibility and an IDE doesn't have a clue what kind of methods that you'll be adding to a class.
If we went the @Build way, I wouldn't actually mind the requirement to have it on integration tests as well, as that's often bitten people who are coding both kinds of tests.  Currently, putting a @Build annotation on an integration test causes all kinds of Bad Problems and it's an easy mistake to make.  Especially if you're converting a test from one type to another.
Are there other advantages to having an annotation add a Buildable trait at compile time (rather than just adding the trait directly) that I'm missing?

@tednaleid sounds good. in that case, better take the time it needs to get a updated grails3 release ready instead of just rushing out a "compatibility" version. thanks!

@tednaleid The trait is certainly better for IDE autocomplete and being able to extend and override. I was just proposing something that might help with upgrading existing tests.
Regardless of which approach, you still need to keep @Build as @Mock doesn't resolve dependent classes in the same way. It's very nice to have @Build essentially mock the other required classes in the graph, otherwise you end up with a lot more burden on the test author for building the graph.
Also, in my latest changes for 2.4, the @Build handling has already been moved into the current grails world by removing the AST transformation and using Lari's test plugin infrastructure. The BuildTestDataTestPlugin implements TestPlugin which provides a supported hook for doing what we need to do in what seems like a standardized way. From the sound of it, that way has stayed the same in 3.0 so I'm hopeful that we are on the right path there.
-Aaron

I'd really like the ability to either a) For BTD to either not add Author to Book or b) specify a depth for how deep BTW should go into the domain graph.
Creating large dependency graphs can be pretty expensive and not necessary in most cases.

@kyleboon BTD only builds dependent objects in order to satisfy constraints. If a Book belongs to an Author and Author is required, you can't really build (and save) a Book without building an Author.
I guess you could do a buildWithoutSave() but the typically use-case is that you want to create a known "database" state before running your test code. I agree it's expensive, but I'm not sure I see the alternative.
If we added a buildThisOnly() method for Book in my example, calling save() would fail.

I would do save(validate: false) for Author.

@kyleboon that works for unit tests that aren't backed by a real DB where you don't want a valid Author and your code doesn't care about it really passing validation, just that it's an Author with maybe the firstName you're looking for.
Is there a reason that you'd want to use BTD for that object rather than just doing the new Author(name: 'Ted').save(validate: false) instead?  Does BTD bring something by being able to populate some of the values on Author, but not the related objects?  What kinds of tests would that be useful for?

+1

@tednaleid Will it be a good idea to release @rafaelfelini 's PR (BTD for Grails 3) until that is replaced with "Spackle"? Secondly, when is the plan for Spackle's milestone? :)

any updates?

I started a discussion with @tednaleid about the future of BTD. I'm in a position soon to be able to spend some time on our application and making sure that @rafaelfelini PR works well. Hopefully we can figure something out soon.

I understand the void that's caused by not having a BTD equivalent for grails 3.0 for those that've been able to make the switch.  Progress on Spackle (my replacement project) hasn't been as quick as I'd hoped it'd be (and it's still likely a long way off).
I still believe that BTD is the wrong model for the grails 3.0 world and I'm not personally willing to develop/support that migration.
@longwa if you'd like to make a fork of the project and take full ownership of BTD for grails 3.0 and the work necessary to support and release it, I'd be willing to deprecate this repo and point it at your version.
I'd rather not have dev continue under my user account on github for something I'm not willing to do further dev on.

@tednaleid I think BTD will be essential for us in the near term so I'm happy to take ownership and keep the lights on for a while longer.
The cleanest solution would be to just Transfer Ownership of this repository. That would retain the Wiki, Issues, etc.
We would also need to ensure that I can publish the new plugin to the Grails bintray (not sure the process for that one).
I'd love to discuss your ideas for the new model and would be willing to provide feedback once you get things rolling.

@longwa transfer request sent

@rafaelfelini Can you submit a pull request for your changes? I don't see any open pull requests at the moment.

Hi @longwa I made the pull request https://github.com/longwa/build-test-data/pull/54

@rafaelfelini Thanks! I've merged your changes and now I'm porting the other test applications. Should have something to release in the next day or two.

Request submitted to include 3.0.0 in the grails/plugins repo. Should be available shortly.

@longwa, @rafaelfelini & @tednaleid  +1. Thanks for making it a priority. I believe with the release of Grails 3 version of btd, there is not stopping for migrating enterprise level apps to Grails 3. :)

@dmahapatro Well, Grails 3 has been out for 6 months so I feel bad if it's been holding people back. The problem that I'm sure many have is that our own company application is on 2.4.4 so it's hard to support plugins when I don't have a use case for my own work. We are moving to 3.0 soon and BTD is a vital part of our testing as well.

@longwa Same here, all our apps are on 2.4.4 and we are in a position to move them to 3.0.9 in couple of weeks/days. BTD will be the only plugin dependency that would be stopping us to move if we move today.

The plugin is now available in the grails bintray.

Is there a new syntax or something? http://stackoverflow.com/questions/37193374/grails-3-upgrade-test-issues


[Popper] Add window size explicit dependency

Closes #350
We had an implicit dependency on window.innerWidth and window.innerHeight but our popper wasn't reacting to changes in window size.
This PR adds a more explicit relationship down to the low-level popper utility.
It doesn't have any impact on any public APIs.

[x] Use a meaningful title for the pull request. Include the name of the package modified.
[x] Test the change in your own code.
[ ] Add or edit tests to reflect the change (run yarn test).
[ ] Add or edit Storybook examples to reflect the change (run yarn dev).
[ ] Add documentation to support any new features.

This pull request:

[x] Fixes a bug in an existing package
[ ] Adds additional features/functionality to an existing package
[ ] Updates documentation or example code
[ ] Other

@chaance @jjenzz what do we think with this one?
I provided more info here:  https://github.com/radix-ui/primitives/pull/359#discussion_r547371675

@chaance @jjenzz what do we think with this one?
I provided more info here:  https://github.com/radix-ui/primitives/pull/359#discussion_r547371675

Renamed with @chaance's suggestion and merged.

Renamed with @chaance's suggestion and merged.


Add possibility to reduce memory and cpu

Is there any possibility to set -m and -cpus command to docker run? If not, it would be nice if one can adjust the docker resources:
https://docs.docker.com/config/containers/resource_constraints/
It would be best, if this can be configured via env vars. We are running cross on our CI and run into some resource issues.

you should be able to use the env DOCKER_OPTS to specify your own options
let us know if this works for you!

Thanks, exactly what i was looking for!


sensors: check battery array bounds

@dagar fixes CI in #7644
When trying to move the selected power source to the first publication instance on systems where there is only one power source, the compiler issued the warning
../src/modules/sensors/sensors.cpp:512:54: error: array subscript is outside array bounds [-Werror=array-bounds]
         tmp_h = _battery_pub[_battery_pub_intance0ndx];

because it could not verify that _battery_pub_intance0ndx would always be 0.
Fix:
Wrap the block between #if BOARD_NUMBER_BRICKS > 1 [...] #endif to ensure no out of bound subscript and to remove the warning.
TODO:

[ ] Test on V4 hardware according to @davids5 's test plan (see below)

@davids5 Can you review?

Test plan:
IIRC: but it will make sense;
For backward compatibility, the highest priority (lowest numbered) brick chosen by the HW power controller should always be in instance 0.

V4Pro boot with 1 brick on Power 1. No USB
verify
listener battery_status 1 0

TOPIC: battery_status instance 0 #1
xxxx
connected: True
system_source: True
priority: 0
warning: 0

listener battery_status 1 1
TOPIC: battery_status instance 1 #1
connected: False
system_source: False
priority: 0
warning: 0

and
`listener system_power'
TOPIC: system_power instance 0 #1
timestamp: 5882493
voltage5V_v:   4.8968
voltage3V3_v:   0.0000
v3v3_valid: 0
usb_connected: 0
brick_valid: 1
usb_vaild: 0
servo_valid: 0
periph_5V_OC: 0
hipower_5V_OC: 0

V4Pro boot with 1 brick on Power 2. No USB
verify
listener battery_status 1 0

TOPIC: battery_status instance 0 #1
xxxx
connected: True
system_source: True
priority: 1
warning: 0

listener battery_status 1 1
TOPIC: battery_status instance 1 #1
connected: False
system_source: False
priority: 0
warning: 0

and
`listener system_power'
TOPIC: system_power instance 0 #1
timestamp: 5882493
voltage5V_v:   4.8968
voltage3V3_v:   0.0000
v3v3_valid: 0
usb_connected: 0
brick_valid: 2
usb_vaild: 0
servo_valid: 0
periph_5V_OC: 0
hipower_5V_OC: 0

V4Pro boot with 2 bricks on Power 1&2. (use usb too)
Then move them around....
| B1 | B2 |
|----|----|
| 0  | 0  |
| 1  | 0  |
| 0  | 1  |
| 1  | 1  |

verify
listener battery_status 1 0
TOPIC: battery_status instance 0 #1
xxxx
connected: True When a brick is connected
system_source: True When a brick is connected
priority: Brick number-1 = 0 for Brick 1 Only, 1 for Brick 2 Only, 0 with both
warning: x

listener battery_status 1 1
TOPIC: battery_status instance 1 #1
connected: True When a brick is connected
system_source: False
priority: 1 when 1 & 2 connected
warning: x

and
`listener system_power'
TOPIC: system_power instance 0 #1
timestamp: 5882493
voltage5V_v:   4.8968
voltage3V3_v:   0.0000
v3v3_valid: 0
usb_connected: Follows USB connected
brick_valid: 0|1|2|3 None, Brick 1, Brick 2, both
usb_vaild: Follows USB connected
servo_valid: 0
periph_5V_OC: 0
hipower_5V_OC: 0

@davids5 I did these changes and rebased:

reverted the initialization style
used #if BOARD_NUMBER_BRICKS > 1 to try to swap instances only when possible
ensure selected_source is set (to 0 if no power source is valid) is this the wanted behaviour?
moved the instance swapping block outside the for loop to be able to check whether selected_source<0 after all channels were tested

I do not have V4 hardware to test.

@jlecoeur The clean up is good. (orb_advert_t tmp_h) but these changes, change the functionality of the code in way that will give the wrong results.
We have to have a valid brick to set the selected_source. The pointer shuffling and tracking which slot is instance 0 (_battery_pub_intance0ndx) can only happen once the subscriptions are created.

ensure selected_source is set (to 0 if no power source is valid) is this the wanted behaviour?

No. 'selected_source' should be -1 until the subscriptions are created in the orb_publish_auto(ORB_ID(battery_status),  That is where the lazy initialization happens. and it may stay -1 if the power source is not a brick (i.e. USB)

We need to insure that selected_source is set, and there is lazy initialization on the pointers so it is passive, until the subscription pointers are set.

Ok I misunderstood that comment.
I should be better now @davids5

@PX4TestFlights here is the V4Pro binary to test on the bench with all combination of plugged/unplugged power bricks according to the plan above, thanks!

@jlecoeur looks like there is a CI system fail - Partial System Outage - components affected: Heroku Hopefully that will clear up, and we can proceed with merge.
@PX4TestFlights - please also build and test on FMUv2.

On current master I can't run
make posix_sitl_default gazebo_standard_vtol
because I get the error
/home/carl/repo/Standard_PX4/Firmware/src/modules/sensors/sensors.cpp:512:54: error: array subscript is outside array bounds [-Werror=array-bounds]
         tmp_h = _battery_pub[_battery_pub_intance0ndx];

However this PR fixes it

@PX4TestFlights Any updates on flight tests?

Test with Pixhawk 3 PRO (V4)
1 brick on Power 1

1 brick on power 2

2 bricks on Power 1 and 2

@Avysuarez
There are 3 more tests:
V4Pro boot with 2 bricks on Power 1&2. Use usb too.
Then move them around....

B1
B2

0
0

1
0

0
1

1
1

@LorenzMeier once the last 3 test a results are posted - I will review and will merge.

@davids5
No bricks

Only brick 1

Only brick 2

@Avysuarez - Thank you!

Thanks @davids5 @Avysuarez !


chore: code clean up

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[x] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Fixes #1441 🦕

Thanks @slowy07!

Thanks @slowy07!

thanks !!!!


feat: Add Erlang and Go libraries

About
Add Erlang and Go libraries to simplify working with API errors.

Can we remove go.sum as it is empty or is it required anyway?

we can remove it