Password reset in active admin broken

Steps to take:

Go to /admin/
Click on "Forgot your password?"
Fill in your email address
Click "Reset my password"
You should get an error message stating that there was a problem. You should also not receive an email with a password reset.

Hmm.  AA says you were sent a token.  I bet our mailer's set up
incorrectly.
On Wed, Jan 14, 2015 at 11:13 PM, Julia Elman<EMAIL_ADDRESS>wrote:

Steps to take:

Go to /admin/
Click on "Forgot your password?"
Fill in your email address
Click "Reset my password"
You should get an error message stating that there was a problem.
You should also not receive an email with a password reset.

—
Reply to this email directly or view it on GitHub
https://github.com/girldevelopit/gdi-new-site/issues/100.

@therufs thanks for your response! :space_invader: Any ideas on how best to move forward?

In general, "look at server logs" and "check mailer config" :)  I don't
have a great guess at what the actual problem is, but I'm guessing that
it's "the mail has to come from somewhere and right now it doesn't".
On Wed, Jan 14, 2015 at 11:21 PM, Julia Elman<EMAIL_ADDRESS>wrote:

@therufs https://github.com/therufs thanks for your response! [image:
:space_invader:] Any ideas on how best to move forward?
—
Reply to this email directly or view it on GitHub
https://github.com/girldevelopit/gdi-new-site/issues/100#issuecomment-70038098
.

@therufs yup. Just wanted to get your feedback on where things stood on this from where you all left off! Thanks for responding and hope you are doing well! :rainbow:

'Left off' is probably putting it generously :laughing:

I got this working locally. The email server/settings are not in place thus we were never truly sending emails. Added 'config.action_mailer.delivery_method = :smtp' to the config/environments/development.rb file alongside all my personal gmail smtp settings and successfully received the emails. Note: the password does not change once the email is sent; the user is given a link in the email to go change the password. I was able to update my password from there and it worked for the next login.
So! Do we have a particular server or smpt details we want to use for the cause?

I'd suggest making an email for this with our "girldevelopit.com" domain name and use google's smtp servers. Definitely easier/reliable!

Added the free Mandrill add-on for Heroku alongside Sendgrid (MailChimp fangirl here) and tested both. Sendgrid is reeeally slow in comparison. I vote to use Mandrill, but I left the Sendgrid config commented out if anyone wants to tinker.
Mandrill took care of the domain for now, but we'll want to verify the real the gdi domain in order to up the security/improve deliverability. They provide the necessary changes for the TXT files on the domain, too.

All covered and merged in #117 :)


Simplify queries by implicitly converting dates to ISO strings

Problem
Looking for a tidy way to create a where clause to see if a date occurs in a given year. I came up with this, but it's quite verbose for something seemingly so simple:
where: {
    AND: [
        { createdOn: { gte: new Date(year, 0, 1) } },
        { createdOn: { lt: new Date(year + 1, 0, 1) } },
    ],
},

Suggested solution
Perform implicit conversion of dates/timestamps to their ISO string equivalents when the compared value is a string or number. This would allow you to do this:
{ where: { createdOn: {  startsWith: year} } } /* implicitly treat date as "2021-02-26" */

+1 to this
I think that it will help a lot if prisma converted valid date strings to DateTime. A string like "2021-02-26" is a valid date representation, yet prisma throws an error
Without that we are forced to do a new Date("2021-02-26") on the field, something that other tools like Mongoose do automatically


The link of downloading worldCoods.mat and headsize.mat doesn't work

@Naman-ntc  Hi, just as it is seen in the repo "Also please download and unzip this folder and updates the paths for worldCoors & headSize in the config file." When i click the "this folde" you provided , it seems to tell 404 code. Can I get the worldCoods.mat and headsize.mat in any other way?

Hi, I am no longer maintaining this repo and have lost access to those folders.


Download column order completed

Fixes #1062

I still see percentages with one zero decimal:
df[Expected agricultural loss rate (Natural Hazards Risk Index) (percentile)']
0        65.0
1        63.0
2        64.0
3        53.0
4        50.0

Not only that, non-percentiles have now one decimal as well?
df['Expected building loss rate (Natural Hazards Risk Index)']
0        0.0
1        0.0
2        0.0
3        0.0
4        0.0

I tried this:
            if any(x in column for x in constants.PERCENT_PREFIXES_SUFFIXES):
                # Convert percentages from fractions between 0 and 1 to an integer
                # from 0 to 100.
                df_100 = df[column] * 100
                df_int = pd.to_numeric(
                    arg=df_100,
                    errors="raise",
                    # Using `to_numeric` and downcast instead of `.astype(int)`
                    # because Python's `int` type does not support nulls.
                    downcast="integer",
                )
                print(df_100, df_int)

And df_int is identical to df_100`:
df_100:
0        65.280724
1        63.485934
2        64.312297
3        53.341470
4        50.406179
           ...
74111    73.214214
74112          NaN
74113    75.901397
74114    74.592821
74115    74.462764
Name: Expected agricultural loss rate (Natural Hazards Risk Index) (percentile), Length: 74116, dtype: float64 0        65.280724

df_int
1        63.485934
2        64.312297
3        53.341470
4        50.406179
           ...
74111    73.214214
74112          NaN
74113    75.901397
74114    74.592821
74115    74.462764
Name: Expected agricultural loss rate (Natural Hazards Risk Index) (percentile), Length: 74116, dtype: float64

Ah! I WIN! 🎉
            if any(x in column for x in constants.PERCENT_PREFIXES_SUFFIXES):
                # Convert percentages from fractions between 0 and 1 to an integer
                # from 0 to 100.
                df_100 = df[column] * 100
                df_int = np.floor(
                    pd.to_numeric(df_100, errors="coerce")
                ).astype("Int64")
                print(df_100, df_int)

df_100:
0        65.280724
1        63.485934
2        64.312297
3        53.341470
4        50.406179
           ...
74111    73.214214
74112          NaN
74113    75.901397
74114    74.592821
74115    74.462764
Name: Expected agricultural loss rate (Natural Hazards Risk Index) (percentile), Length: 74116, dtype: float64

df_int:
0          65
1          63
2          64
3          53
4          50
         ...
74111      73
74112    <NA>
74113      75
74114      74
74115      74
Name: Expected agricultural loss rate (Natural Hazards Risk Index) (percentile), Length: 74116, dtype: Int64

The only weird thing is that <NA> value -- remains to see if this is expressed as null in the Excel sheet and none in the CSV.

Overall looks good! TBH I did not check the order of the individual columns -- I've looked at these things so many times it's hard to follow, so I assume we'll find out if there's a problem doing QA on the actual file.

Totally -- I dropped a zip file on Slack.


Biblio unused terms

I added bibliographic references that seemed missing and normalised the way they are used in the terminology section.
I removed terms that weren't present in the specification from the terminology section.
There was also a full stop missing.

Apologies, I should have fetched upstream changes before commiting.
The only actual changes are in index.bs.


Update logo colors and add airport background banner

Merge conflicts resolved, SWA logo file had the miniature black and white logo design for the ticket added and it was conflicting with the original file.


Minor fixes to hero styling

Fix #469
Test URLs:

Before:

https://main--shredit--stericycle.aem.page/en-us/about/press-releases

After:

https://issue-469--shredit--stericycle.aem.page/en-us/about/press-releases

@kronnox LGTM. Can you please check some of the other pages that use the hero block to ensure there are no regressions?

@kronnox LGTM. Can you please check some of the other pages that use the hero block to ensure there are no regressions?

Yes, I checked a bunch of them and the version after the fixes looks closer to the original site in all of them. Feel free to flag any pages with regressions


"Login: no CSRF Token found in the page. Unable to continue the login. Try again..."

[#] Login: no CSRF Token found in the page. Unable to continue the login. Try again...
[+] Please delete all the `<BOOK NAME>/OEBPS/*.xhtml` files and restart the program.
[!] Aborting...

info_9781786468949.log

Getting the same error.  Worked fine ~72 hours ago.

Same here

Just tested - it looks like that fixes the issue.

That fix works for me as well. I think this might be related to the fact that https://www.safaribooksonline.com redirects to https://www.oreilly.com/ if you're not logged in.

Worked

Thanks all, I changed and merged the @gad0lin pull request.
https://github.com/lorenzodifuccia/safaribooks/blob/master/safaribooks.py#L420
Let me know!
How much I love the Open Source community!!!

How can I check I'm already logged?

I had a similar issue,  I logged in a browser first (which was asking me to pass a captcha), then I could download. Hope this help in your case

Try this new version and let me know!
Thanks for all the support :heart:

Anyone have fixed this error?
[-] Logging into Safari Books Online...
[#] Login: no CSRF Token found in the page. Unable to continue the login. Try again...
[+] Please delete all the <BOOK NAME>/OEBPS/*.xhtml files and restart the program.
[!] Aborting...
info_9780135299555.log

Got the same error,
[-] Logging into Safari Books Online... [#] Login: no CSRF Token found in the page. Unable to continue the login. Try again... [+] Please delete all the /OEBPS/*.xhtmlfiles and restart the program. [!] Aborting...


updated things (1.4.8a)

Thank you for the contribution. It was merged directly as 5206de1997c3ebdb8c28e47416273aab563bbe40 to keep commit history cleaner. Your contribution is still credited to you.


Missing files

Hello,
First of all, thank you very much for releasing the source code and the data used for your experiments. :-)
The file det_ingrs.json seems to be missing. We were able to run bigrams.py by removing utils.Layer.INGRS from the dataset list, but this file seems to be fundamental for tokenize_instructions.py.
Inside recipe1M_layers.tar.gz there are only two files : layer1.json (1.4GB) and layer2.json (132GB). We found traces in the code indicating the existence of a layer3.json; should it be there or is this file deprecated ?
We could not find the file food101_classes_renamed.txt neither.
Thanks in advance for your help !

Thanks for the bug report! 76193b0a0c2d278edadf6a18eac466f609858485 adds food101_classes_renamed.txt and det_ingrs.json is now available for download.


[Bug]: taq list accounts local command output if sandbox is not running does not output to the console

What happened?
Running "taq list accounts local" for not running sandbox does not place error message into stdout as result test is failing because it cannot get the message from the output:
error: Error: expect(received).toEqual(expected) // deep equality
Expected: "The local sandbox is not running."
Received: ""
What should have happened?
Running "taq list accounts local" for not running sandbox shoud place error message into stdout
Steps to reproduce the bug
Run 'Verify that taqueria flextesa plugin will return "The local sandbox is not running." if user tries to retrieve list of accounts that is not running' from e2e test automation suite.
Relevant log output
No response
Screenshots and images
Screenshot and images
Code of Conduct

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

@sinapsist, is this still an issue?

Closing: This was resolved during the refactor
❯ taq list accounts local
The local sandbox is not running


Why the head() function is so slow for large datasets?

When I run things like:
massive_data <- spark_read_csv(sc, name, path, memory = FALSE) #120GB+
massive_data %>% head()

takes 7minutes~, as I just need the first n rows, why this takes so long?

Try setting infer_schema = FALSE when reading in the csv


feat: Ignore folders created by ideas

Just update the .gitignore file so it doesn't see unnecessary folders.

Hi, thanks for the suggestion. Unfortunately there are endless editors out there. It is recommended to add your own editor files to your global gitignite so you don't have to add it to every project you may want to interact with.


Where is std::fmt?

I am currently doing my first steps in the rust.
I am using source from rust18 nightly and vim+ycm
with let g:ycm_rust_src_path = $HOME."/src/1st_level/rust_src18/rustc-nightly/src"
It works almost ok as far as I know, but with a strange issue:
When I try something like this:
[~] >> export RUST_SRC_PATH="/home/neg/src/1st_level/rust_src18/rustc-nightly/src"
[~] >> racer complete std::f
MATCH fmt,1,0,/home/neg/src/1st_level/rust_src18/rustc-nightly/src/libstd/../libcollections/fmt.rs,Module,/home/neg/src/1st_level/rust_src18/rustc-nightly/src/libstd/../libcollections/fmt.rs
MATCH ffi,1,0,/home/neg/src/1st_level/rust_src18/rustc-nightly/src/libstd/ffi/mod.rs,Module,/home/neg/src/1st_level/rust_src18/rustc-nightly/src/libstd/ffi/mod.rs
MATCH fs,1,0,/home/neg/src/1st_level/rust_src18/rustc-nightly/src/libstd/fs.rs,Module,/home/neg/src/1st_level/rust_src18/rustc-nightly/src/libstd/fs.rs

everyhing looks OK, std::fmt is here.
But when I am using vim+ycm there are only fs and ffi after "std::f<...>". Maybe you can explain why I've get this behaviour as far as you are racerd completer developer?
Not sure that it is a racerd bug, anyway.

Interesting! I was able to reproduce the problem. This seems to be an issue with racer on the rust nightly source files. However, it's not an issue with current stable source. Completing from the 1.6.0 source tree gives me this result.

Going to mark this as a bug since there's an issue with newer nightlies.

Thanks for the report!

I think this was due to the change with source layout that required some changes in Racer. Closing until it's an issue again :).


PWA-873 Fixed unit test suite and updated snapshots.

Pull Request Test Coverage Report for Build 1650

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 38.369%

Totals

Change from base Build 1646:
0.0%

Covered Lines:
1509

Relevant Lines:
3902

💛  - Coveralls


Feature: add a way to monitor container health status

Thanks for creating this, it's working really well.
It would be great to also be able to monitor container health status in addition to state / status as a lot of the time containers keep on running when problems occur.
Thanks again.

Health-check should be done directly via Docker (it is also way to complex to build it in this script), but i could check if i can expose such value.

Maybe as part of the status sensor? That's how ha-dockermon exposes it.
E.g. "up 11 days (healthy)"
Thanks!

Came here for this. While I agree health data is directly via Docker, I'd like to build triggers around container health. It's quite common for my VPN container to go "Unhealthy".

That's exactly why I needed that functionality. In the meantime you can get container health status with ha_dockermon:
https://github.com/philhawthorne/ha-dockermon
Just set up a rest sensor to get the health status.

Requested merge from PR #51 to add support for the Health status of containers as a separate sensor/attribute.
Adding it to the 'status' might break something for someone.
May be for a next version, it should be shown as the state of the container in stead of running.

Requested merge from PR #51 to add support for the Health status of containers as a separate sensor/attribute.
Adding it to the 'status' might break something for someone.
May be for a next version, it should be shown as the state of the container in stead of running.

Yes, separate sensor/attribute is the best way forward (as @rsegers says, it will break something else otherwise).

Yes, separate sensor/attribute is the best way forward (as @rsegers says, it will break something else otherwise).

The #51 is merged, so I will close this ticket.


Order slack messages by test run time ASC

Is your feature request related to a problem? Please describe.
I'm confused when I scroll through the slack notifications because they are not clearly ordered.
Describe the solution you'd like
Order by test run timestamp ascending
Describe alternatives you've considered
Order by test name or model name. However, this would be inconsistent with the slack logic of having messages ordered by time.
Additional context

Would you be willing to contribute this feature?
Yes

Hi Willi! I am happy that you're open to contributing this feature.
In the code, the class that deals with alerting is DataMonitoringAlerts . On the send_alerts function inside of it, there's a call to group alerts per config (creating GroupOfAlerts objects with 1 alert or more, per the config) and then below https://github.com/elementary-data/elementary/blob/master/elementary/monitor/data_monitoring/data_monitoring_alerts.py#L170 there's a call to actually send the alerts one by one. Seems that place would be the most appropriate to add a call to sorting, something like
alerts_groups = sorted(alerts_groups, key=lambda grp: max(alert.detected_at for alert in grp.alerts))

and then the next row will iterate over that sorted list.
Let me know here or via Slack if you need more help with contributing this feature!


Remember user consent and make consent page configurable

Fixes gh-283

@Kehrlann The current implementation stores authorized scopes in OAuth2Authorization.attributes using key OAuth2Authorization.AUTHORIZED_SCOPE_ATTRIBUTE_NAME. We need to account for this in the PR since the storage is moving. I wonder if we remove the key or possibly keep it? if we keep it then the OAuth2AuthorizationService would need to use the OAuth2AuthorizationConsetService to load the consents into the attributes. Thoughts?

Re: OAuth2Authorization storing the authorized scopes, that's an interesting point.
In this PR, we save all previously approved scopes in the OAuth2Authorization, through:
Set<String> authorizedScopes = userConsentRequestContext.getScopes();
[...]
if (previousConsent != null) {
	authorizedScopes.addAll(previousConsent.getScopes());
}
[...]
OAuth2Authorization authorization = OAuth2Authorization.from(userConsentRequestContext.getAuthorization())
		.token(authorizationCode)
		.attributes(attrs -> {
			attrs.remove(OAuth2ParameterNames.STATE);
			attrs.put(OAuth2Authorization.AUTHORIZED_SCOPE_ATTRIBUTE_NAME, authorizedScopes);
		})
		.build();

(code is here)
The information is duplicated, but it works and avoid re-loading the consents when issuing a token. I think I like it as is.

However, I believe you have found a bug in the current implementation! Imagine we have previously approved scopes:

banana.eat
milk.drink

And the authorization request has the following requested scopes:

apple.eat
banana.eat

If the user consents to apple.eat, I believe the token will have:

apple.eat
banana.eat
milk.drink -> 💥 the authorization request never asked for this scope

Fixed the issue, ready for review.

Thanks for all the updates @Kehrlann ! This is now in master.


Adding additional ingress service to restrict access to /admin portal

@cschreep @mac-chaffee HeLx runs in GKE and external clusters all the time. Cluster specific configuration is not ideal. Is there a cluster agnostic approach we can take to this? NGINX allow CIDR?

@mac-chaffee @cschreep - great answer and plenty to think about. I'm good with this approach.

@mac-chaffee I think with the additional conditional I put in, this PR should be fully backwards-compatible and ready for review & merge


Forgotten about Android TV app

According to yourself, you have forgotten about the Android TV app.  This is your reminder. :-)

Please refer https://github.com/visnkmr/visnkmr/issues/41


Opportunity to Discuss

Hi, your work stands out to me. I have an interesting idea I'd like to share. Can we talk?
Telegram: @vereckel
Discord: vereckel
WhatsApp: +44 7341 822373

scammer


Memory leak

Describe the bug
In iOS, if you call grayMat.set(y, x, grayLevel) every 2 seconds, it will cause the memory to continuously increase
To Reproduce

pubspec.yaml code:
dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.6
  opencv_dart: ^1.0.9

mian.dart
 void initState() {
    super.initState();
    _timer = Timer.periodic(Duration(milliseconds: 2000), (timer) {
      test();
    });
  }
test(){
  CV.Mat grayMat = CV.Mat.zeros(
     1000, 1000, CV.MatType.CV_8UC1);
  int maxY = grayMat.rows - 1;
  int maxX = grayMat.cols;
  for (int y = maxY; y >= 0; y--) {
    for (int x = 0; x < maxX; x++) {
      grayMat.set<int>(0, 0, 30);
    }
  }
}

Confirmed, Mat_Set will cause a memory leak even though manually dispose Mat, but every thing looks ok, not sure why...
https://github.com/rainyl/opencv_dart/blob/b71f6d1dd01f62b91cfa4b4e2340fc4bdd7510c4/src/core/core.cpp#L708C1-L713C2
https://github.com/rainyl/opencv_dart/blob/b71f6d1dd01f62b91cfa4b4e2340fc4bdd7510c4/lib/src/core/mat.dart#L517C1-L519C65

@cike111 v1.0.10 and 2.0.0-dev.12 have been published, please update and try if it has been solved, if not please open this issue again.

@rainyl  The methods I mentioned seem to have some effect, but do not completely solve the problem.

@rainyl  Your approach seems to have some effect, but it hasn't completely solved the problem.

@cike111 emmmmm..., alright, I suggest you to dispose it manually if you have to create mats in a loop, due to the limitation of dart GC (https://github.com/rainyl/opencv_dart/issues/64#issuecomment-2137342504), the attached native resources may not be freed timely, in the above example, change it to
test(){
  CV.Mat grayMat = CV.Mat.zeros(
     1000, 1000, CV.MatType.CV_8UC1);
  int maxY = grayMat.rows - 1;
  int maxX = grayMat.cols;
  for (int y = maxY; y >= 0; y--) {
    for (int x = 0; x < maxX; x++) {
      grayMat.set<int>(0, 0, 30);
    }
  }
  // add this line
  grayMat.dispose();
}

If the problem still exists, then I have no more ideas too, and I have no apple devices so can't debug it, on my windows PC every thing is ok.


AttributeError: 'Plugin' object has no attribute '_Plugin__generate_inline_policy'

Receiving following error when attempt to run key-compromise.  Any help greatly appreciated.
> (aws_ir_env) [ec2-user@ip-10-0-1-145 venv]$ aws_ir key-compromise --access-key-id ***ACCESSKEY***
> 2018-07-06T20:39:32 - aws_ir.cli - INFO - Initialization successful proceeding to incident plan.
> 2018-07-06T20:39:32 - aws_ir.plans.key - INFO - Attempting key disable.
> Traceback (most recent call last):
>   File "/home/ec2-user/venv/aws_ir_env/bin/aws_ir", line 10, in <module>
>     c.run()
>   File "/home/ec2-user/venv/aws_ir_env/lib/python3.7/site-packages/aws_ir/cli.py", line 245, in run
>     kc.mitigate()
>   File "/home/ec2-user/venv/aws_ir_env/lib/python3.7/site-packages/aws_ir/plans/key.py", line 62, in mitigate
>     dry_run=False
>   File "/home/ec2-user/venv/aws_ir_env/lib/python3.7/site-packages/aws_ir_plugins/revokests_key.py", line 25, in __init__
>     self.setup()
>   File "/home/ec2-user/venv/aws_ir_env/lib/python3.7/site-packages/aws_ir_plugins/revokests_key.py", line 33, in setup
>     policy_document = self.__generate_inline_policy()
> AttributeError: 'Plugin' object has no attribute '_Plugin__generate_inline_policy'

Hey you just should me this one, haha good catch btw... and hopefully these genius developers answer this one.

@jparr
Have attempted multiple installs.  Currently it is using 0.3.1.  I am utilizing the "Local Execution" method outlined in the documents.  Have attempted using multiple virtualenv with python 3.7 and now currently using 3.5.5.  Same error with 3.7 and 3.5.5.
And you assumed correctly, it is a real "test" access key ID that I created for this purpose only.
Please let me know if any other info can assist.

I really need to improve the logging and debug output for this tool.
Assuming pip install -r requirements went ok? Can you give me the output of pip list -l

Hey guys I cloned https://github.com/ThreatResponse/aws_ir_plugins to ~/aws_ir/aws_ir_plugins/ then copied revokests_key.py to ~/aws_ir/venv/lib/python3.5/site-packages/aws_ir_plugins/revokests_key.py.
Looks like the key disable worked when I check the key in the IAM console, but I'd like to test again.

Sweet .. and yes I think the doc like http://aws-ir.readthedocs.io/en/latest/quickstart.html should say something like source aws_ir_env/bin/activate but now I'm just nit picking ;) .. Thanks for the quick response!

@chilithomas - Did you also try to use the 'Local Execution' instructions? Did either of you try to pip install the package fro pypi?

Did try the pip install, had same issue no matter where the install came from!  I think that @chilithomas was able to get it working for us.  Greatly appreciate you fast response.  Looking forward to stretching the legs of this toolkit.

Thanks for the heads up folks! I'll try to cut a new version and walk through all the docs this weekend to make sure everything works.

I replicated this issue by doing a fresh install. It was due to an old version of aws_ir_plugins on pypi.
I published a new version of the plugins and started with a fresh docker container. I was able to run revokests_key without issue.


feat: yearn multi account

Description
This adds multi account support for Yearn DeFi opportunities:

Overview
Deposit
Withdraw

Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[x] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[x] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
closes https://github.com/shapeshift/web/issues/2605
Risk
Yearn modal should be fully regression tested - in theory, this brings no changes for now and uses programmatic accountNumber vs. hardcoded accountNumber, but this requires a breaking(ish) change in the lib PR.
Testing

With the MultiAccounts flag on, the account dropdown should be present in Yearn opportunities Overview, Deposit, and Withdraw steps
With the MultiAccounts flag off, there should be no user-facing changes nor regressions with the current flow

Engineering

Refer to the top-level testing notes
console.log or debug accountNumber props in components to ensure the right account number is passed down

Operations

Refer to the top-level testing notes
Regression test the whole Yearn modal flow, including making deposit and withdraws

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652

PR #2661   👈

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

develop

PR #2642

PR #2644

PR #2651

PR #2652
PR #2661   👈

PR #2680
PR #2669

This comment was auto-generated by Graphite.


Lower virt-handler probe intervals to prevent api server calls

Reduces our liveness and readiness probe intervals. By default the probe is called every 10 seconds. With this change we only call liveness every 45 seconds and readiness every 20. Since the probes result in virt-handler verifying connectivity to the api server, we should reduce the probe interval.
related to #5058
NONE

/lgtm
/approve
Let's take this in. It makes on reasonable sized clusters 100-200 nodes a big difference. For bigger clusters, let's reevaluate.

/retest

/cherrypick release-0.36

/retest


Add Developer Certificate of Origin

I was advised to add a statement that all contributions happen under the same license as the project is licensed under. I think that's common sense anyway, but lawyers might disagree, like so often. I think this change doesn't hurt anyone so I'd just go for it.
Could all contributors so far please indicate their acceptance of these terms in a comment below? I'm sorry, it's a bit silly, but might save us a lot of trouble later. Pinging @Maan2003 @wiredhikari @justinmoon @clarkmoody @jkitman @NicolaLS @Kodylow @prusnak @matthiasdebernardini @MatthewWesley @dasrecord @DON-MAC-256

I accept

I accept

I accept

I accept

I accept

I accept

I accept

I accept

Can you please merge @justinmoon? We can try to get in touch with the remaining 3 people after that, just that everyone new is automatically subject to it.


Fix URL for supported API

I found out today that the url in the documentation (README.rdoc) was broken.
Although I'm not sure if this is the new version of URL it was redirecting to before.

:+1:

:+1:

😢


InfoBoard Bug

Hey, i'm getting an issue with the Board, i got the  variable in my server, but when i log in the board starts bugging, here's a gif http://gyazo.com/a73b5b68321e37334859da7a82c99c60

By the way, im not getting any error in the console

Marked as duplicate #1

What does duplicated mean?

It means that this is a duplicate bug report, check issue #1


Add some prometheus rules to the helm chart

Word

https://github.com/Starttoaster/proxmox-exporter/pull/20


Improve msrv CI

Objective
Fixes #16330
Fixes #17008
Solution
Have the CI check the msrv for a select list of crates which are intended to be used apart from bevy.
Testing
bevy_ecs's rust-version is already incorrect, so see the showcase for a demonstration of the failure.
Showcase

Let me know if we should switch to using msrv (directly or via the ci tool). I can reimplement it that way if wanted.

YEEEESSSSS it works

It seems to be using the bot comment from main. Hmm...

I still thinks we should not mention the MSRV of subcrates. Bevy and its ecosystem in general is "latest stable rust".
The MSRV was added to the root Bevy crate to improve error messages for newcomers. I think people using the subcrates directly are not newcomers and can do without those indications. It only adds to the burden of maintaining them for the Bevy developers, as this PR and #17012 show.
If we want to handle it, I would prefer it to be discussed and made explicit first. This is https://github.com/bevyengine/bevy/issues/16172, but it has received low interest so I doesn't seem to be a priority.
Once we have decided on the policy, encoding it in CI will be the next step. The way it's done in this PR is very bad for maintainability, it should be a matrix job.

I agree with it being a matrix job. I implemented it this way, but I expected there to be much cleaner ways of doing it, and that sounds right to me.
I completely understand your argument about not specifying them at all, but it just comes down to whether we view specifying rust-version to be valuable. I like it because it seems like a nice little correctness detail and it seems easy enough to maintain as long as we have the right CI. If that's all out of scope for bevy, no hard feelings! I have fun playing around with this stuff even if it ends up getting turned down.

I like it because it seems like a nice little correctness detail

It's not, it's just an helper that will display a better error message. It doesn't allow/forbid anything that isn't already.
It usually replaces a message like "feature XXX is unstable" by "rust version Y is required". This is very nice for newcomers, but once you're used to rust and you know that Bevy has a guarantee to work on stable, you know you need to update your local rust when they see that message
I think it's valuable on the root crate, less so on the others. It's debatable on the independent crates.
So we have to balance "better error message for an advance case" with "CI time / contributor load"


bifurcate doesn't expand environment variables before executing

If you put something like this in the config file, app is executed with ARG=$ENV instead of ARG=value.
Let's say there is an environment variable ENV=value
{
    "programs": {
        "app": {
            "args": ["app","ARG=$ENV"]
        }
    }
}

Yes. That is expected since everything is being bash escaped before running it. You can use {{env "ARG"}} since it runs it through a go template. Does that help you?

It does @a86c6f7964 , but it is a little unexpected. Any reason why you don't expand environment variables by default? It is the least surprising behaviour when for an application launcher.

I could agree. The reason is that go is actually executing the command. Not
bash. If I wanted to interpolate the environment variables I would have to
run the command as an eval in the shell rather than straight through go. (I
believe)
On Thu, May 26, 2016, 8:35 PM Terror<EMAIL_ADDRESS>wrote:

It does @a86c6f7964 https://github.com/a86c6f7964 , but it is a little
unexpected. Any reason why you don't expand environment variables by
default? It is the least surprising behaviour when for an application
launcher.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/novilabs/bifurcate/issues/3#issuecomment-222039414,
or mute the thread
https://github.com/notifications/unsubscribe/AAKGBQ44xcsePYmKyQTYqay879ZwYZa_ks5qFkpngaJpZM4InKkh
.

Okay if I close this as won't fix?

Sure
Thanks

El 25 jun 2016, a las 3:37 a. m., Cameron Davison<EMAIL_ADDRESS>escribió:
Okay if I close this as won't fix?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/novilabs/bifurcate/issues/3#issuecomment-228379259, or mute the thread https://github.com/notifications/unsubscribe/AEOr27zsvvXTiD8_gMGx9LDxDmSmU8qLks5qO_nEgaJpZM4InKkh.

Is it possible to use a template in the required file? Something like:
{
"programs": {
  "app": {
        "requires": [
          {
            "file": "/{{ env DATA_DIR }}/file"
          }
        ],
        "args": ["/usr/local/bin/start_app.sh"]
      }
}

When I try to do this I get:
Error reading template /etc/bifurcate/bifurcate.json template: config:21: function "DATA_DIR" not defined


xray: make sure there's only one location asset folder

The executable doesn't handle multiple asset folders
Description of changes
If xray is used with a UI, it might set its own asset folder, breaking compatibilitiy
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Prerequisite for https://github.com/NixOS/nixpkgs/issues/271818 working


⚠ Bofrost.at has degraded performance

In 753d788, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1933 ms

Resolved: Bofrost.at performance has improved in be40101.


NucleotideTest Guidance about Return Types

https://github.com/exercism/xjava/issues/66
https://github.com/exercism/xjava/issues/65

Aaaah, nice! Leaving for @jtigger to review and merge. Thanks @masters3d

Looks like you resolved the confusion, @masters3d.
Because we're in a practice environment, I'd tend to make such clarifications when we see a pattern of folks getting stuck.  We'll keep an eye on it.
In the event we would make such a clarification (i.e. providing additional context around a language feature), I'd err on being more verbose: if someone is getting help from it, they'll likely lack the experience to interpret a clue.
If you still believe your PR should be included, be more thorough in your description and be prepared for the PR to sit a while as we wait for a pattern to emerge.
Thanks for taking the time to submit!

Interesting. I always wondered what users would do If they get stuck. To me if the API is asking me for a Key, I'd always assume is a String. I come from languages that don't care about single or double quotes.
You are right about patterns though. I think I'll do another PR later with a new type signature after I do the rest of the track!
Thanks for all the excersises.


[WIP] Possible Next

Hi Tanner, thanks for the awesome library, its plugin and play architecture really helps in building customization on top of it, this is super helpful.
Regarding this change, react-table was using useState pattern earlier and is migrated to useReducer pattern with https://github.com/tannerlinsley/react-table/blob/master/CHANGELOG.md#700-beta20 release.
Both have their own pro and cons, going for the cons...it is easy to set state using useState pattern more in imperative style. And with useReducer pattern it is easy to define different actions and is useful in collecting feature usage stats/analytics.
Apart from 3KB benefit and easy to read lib(which seems to be driven by https://github.com/tannerlinsley/react-table/discussions/2147 discussion), I wanted to check can we get best of both world i.e. what if with useReducer pattern only we expose a method/plugin/hook which helps us achieving the functionality of newly added useState.

The main benefits actually haven't been shown yet as this is still a WIP. But for starters:

Much less code, at least for our case. If you look at the migration, the logic inside of useState is exactly the same as useReducer in most cases, and also, since it lives inside of the context which it is in, the access to the instance (or getInstance makes more sense here.
It's very probable that the concept of updating table state is about to change internally as we externalize some or most of the table's core to a non-react instance factory.
Even though it's setState, it's a special flavor, one that is able to pass action types, action meta, etc, so aside from the syntax, the benefits at the end of the day are the same as a reducer, except it's more ad-hoc, which is perfectly suited for plugins and users IMO.
Yes, we could expose an action that replicates useState in the reducer, but if you noticed, for every action we had, we were also exporting a companion proxy method on the instance that does the same thing and most times is way more reliable than calling the action itself. Getting rid of that layer makes things way more direct
Again, this is all subject to change. This is the stage we're in...

Oh, and also, this branch may not even be viable if my findings aren't worth it. So I wouldn't get married to any ideas here at all.

This PR is likely v8. It's been refactored to something that is much easier to understand and maintain. More notable differences:

What were "core" plugins are now native  to the useTable hook
All of the new core functionality is now more tightly integrated, way more predictable. All core features are "always on", but not always active, making them easier to test and type together
A new plugin-system style is being born, but is not yet complete. It will likely involve simply extending and composing the options object that is passed to the useTable hook
The table instance has a much better and fully-formed api that should allow full control over most features of the table, including column, row, and even cell-level operations
State is now much easier to control from fully-automatic, to partial opt-in, all the way up to fully controlled. Some things are still not controllable, but the system would be much easier to extend to make that happen now.

Better support for building dedicated expander and row selection columns
Much of the API has been rearchitected to be lazy (but still memoized), meaning that basically everywhere, you'll see a lot of getter functions. This actually ends up improving render performance quite a bit, since we can set the getter functions really early on when we build the row/cell model even though the final state those getters will return isn't ready yet. That also means we don't have to re-loop over the rows and cells later on (which is a ton of extra wasted looping) to do it then.

The kitchen-sink example is the one I've been using to develop this with. So use that if you want to try it out!

Tracking in #2335 now.


Link to awesome-emacs repository

Emacs is very powerful ;)
We ought to link folks to a repo which showcases said power.

Hi there @ylluminarious. Thank you for your contribution! Please resolve conflicts with the master branch. Thanks!

@k4m4 Ok, there you go.


Update Documentation to Use Concise Tag Map Notation

what

Do not use map(..) interpolation method

why

Not concise
Ugly to read

will close this since many changes were introduced in the last few releases, and we still need to use map in
data "null_data_source" "tags_as_list_of_maps" {
  count = "${local.enabled ? length(keys(local.tags)) : 0}"

  inputs = "${merge(map(
    "key", "${element(keys(local.tags), count.index)}",
    "value", "${element(values(local.tags), count.index)}"
  ),
  var.additional_tag_map)}"
}

because of various TF limitations.

@aknysh, what I meant to emphasize was that we should update the README.yaml to use the native map type.
module "eg_prod_bastion_label" {
  source     = "git::https://github.com/cloudposse/terraform-null-label.git?ref=master"
  namespace  = "eg"
  stage      = "prod"
  name       = "bastion"
  attributes = ["public"]
  delimiter  = "-"
  tags       = {
      "BusinessUnit" = "XYZ",
     "Snapshot" = "true"
  }
}

and not ...
  tags       = "${map("BusinessUnit", "XYZ", "Snapshot", "true")}"


Resizer buffers tri-stated nets

Resizer inserts buffers on nets that are driven by a tri-state cell. I am attaching a test case for which resizer inserts a buffer on an output port (mgmt_gpio_in) which is driven by a tri-state cell.
rsz_test_case.zip

fixed


[Wave6] Collect policy data is loaded only for primary policy

Problem
Coming from this thread cc @joaniew, we have noticed that if user has a lot of workspaces and the Collect policy on which they request money is not their primary policy, we do not load the necessary details about the workspace on App sign in.
This then leads to incorrect Submit button colour and in future incorrect optimistic next steps, because the client does not have information about for example Scheduled submit
Solution
Ensure that we load this data on demand for policies that require it to correctly render in the App

Trying to figure out the best way to handle this

After this backend change the details of non default policy should be loadede when workspace chat or the expense reports are open so this should be resolved then

@mountiny Did this change already hit production? I see this PR is deployed. Anything more to do here?

All done here I believe, thanks for the bump


⚡ 0.33 RELEASE 🚀

configurable, efficient and proactive connections

🗺 What's left for release

[ ] https://github.com/libp2p/js-libp2p/issues/744

🔦 Highlights
Proactive Dials and Connection Trimming
TODO: AutoDial deprecated in favour of proactive dialling
🔄 Keep Alive Connections
TODO
Connection Protection
TODO
🚪 Connection Gating
TODO
🏗 API Changes
✅ Release Checklist

Robustness and quality

[ ] Ensure that all tests are passing, this includes:

[ ] unit

[ ] Publish a release candidate to npm# Minor prerelease (e.g. 0.24.1 -> 0.25.0-rc.0)
$ npx aegir release --type preminor -t node -t browser --preid rc --dist-tag next

# Increment prerelease (e.g. 0.25.0-rc.0 -> 0.25.0-rc.1)
$ npx aegir release --type prerelease -t node -t browser --preid rc --dist-tag next

[ ] Run tests of the following projects with the new release:

[ ] js-ipfs

Documentation

[ ] Ensure that README.md is up to date
[ ] Ensure that all the examples run
[ ] Ensure libp2p/js-libp2p-examples is updated
[ ] Ensure that libp2p/docs is updated

Communication

[ ] Create the release issue
[ ] Take a snapshot between of everyone that has contributed to this release (including its subdeps in IPFS, libp2p, IPLD and multiformats) using name-your-contributors. Generate a nice markdown list with this script
[ ] Announcements (both pre-release and post-release)

[ ] Twitter
[ ] IRC
[ ] Reddit
[ ] discuss.libp2p.io

[ ] Blog post
[ ] Copy release notes to the GitHub Release description

❤ Huge thank you to everyone that made this release possible
In alphabetical order, here are all the humans that contributed to the release:

...

🙌🏽 Want to contribute?
Would you like to contribute to the libp2p project and don't know how? Well, there are a few places you can get started:

Check the issues with the help wanted label in the libp2p repo
Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute - https://github.com/ipfs/team-mgmt#all-hands-call
Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built
Join the discussion at http://discuss.libp2p.io/ and help users finding their answers.
Join the ⚡libp2p Weekly Sync 🙌🏽 and be part of the Sprint action!

⁉ Do you have questions?
The best place to ask your questions about libp2p, how it works and what you can do with it is at discuss.libp2p.io. We are also available at the #libp2p channel on Freenode.

Closing this until we have better visibility on what this release will include


Examples pull wrong component version (PACMAN-1037)

The Component Manager version
v1.4.1
ESP-IDF Version
v5.2
python Version
3.10.12
Operating System
Windows 11 WSL
Browser (for https://components.espressif.com  Issues)
chrome
Description
Specifying an explicit release version of wolfSSL library instead pulls a preview version.
Note the current wolfssl version (as of this issue date) is 5.7.2, but there are several preview versions of 5.7.4 available:

Note that when running pip install -U idf-component-manager broke my ability to install the examples:
$ pip install -U idf-component-manager
Requirement already satisfied: idf-component-manager in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (1.4.1)
Collecting idf-component-manager
  Downloading idf_component_manager-2.1.1-py3-none-any.whl.metadata (11 kB)
Requirement already satisfied: click in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (8.1.7)
Requirement already satisfied: colorama in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (0.4.6)
Requirement already satisfied: pyparsing in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (3.1.1)
Requirement already satisfied: pyyaml in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (6.0)
Collecting ruamel.yaml (from idf-component-manager)
  Using cached ruamel.yaml-0.18.6-py3-none-any.whl.metadata (23 kB)
Requirement already satisfied: requests in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (2.31.0)
Requirement already satisfied: requests-file in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (1.5.1)
Requirement already satisfied: requests-toolbelt in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (1.0.0)
Requirement already satisfied: tqdm in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from idf-component-manager) (4.65.0)
Collecting jsonref (from idf-component-manager)
  Downloading jsonref-1.1.0-py3-none-any.whl.metadata (2.7 kB)
Collecting pydantic (from idf-component-manager)
  Downloading pydantic-2.10.3-py3-none-any.whl.metadata (172 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 172.0/172.0 kB 1.5 MB/s eta 0:00:00
Collecting pydantic-core (from idf-component-manager)
  Downloading pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting pydantic-settings (from idf-component-manager)
  Downloading pydantic_settings-2.6.1-py3-none-any.whl.metadata (3.5 kB)
Collecting typing-extensions (from idf-component-manager)
  Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting annotated-types>=0.6.0 (from pydantic->idf-component-manager)
  Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting python-dotenv>=0.21.0 (from pydantic-settings->idf-component-manager)
  Downloading python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from requests->idf-component-manager) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from requests->idf-component-manager) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from requests->idf-component-manager) (1.26.16)
Requirement already satisfied: certifi>=2017.4.17 in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from requests->idf-component-manager) (2023.5.7)
Requirement already satisfied: six in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (from requests-file->idf-component-manager) (1.16.0)
Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml->idf-component-manager)
  Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB)
Downloading idf_component_manager-2.1.1-py3-none-any.whl (159 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.3/159.3 kB 2.6 MB/s eta 0:00:00
Downloading jsonref-1.1.0-py3-none-any.whl (9.4 kB)
Downloading pydantic-2.10.3-py3-none-any.whl (456 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 457.0/457.0 kB 4.2 MB/s eta 0:00:00
Downloading pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 4.5 MB/s eta 0:00:00
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading pydantic_settings-2.6.1-py3-none-any.whl (28 kB)
Using cached ruamel.yaml-0.18.6-py3-none-any.whl (117 kB)
Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
Downloading python_dotenv-1.0.1-py3-none-any.whl (19 kB)
Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 722.2/722.2 kB 6.3 MB/s eta 0:00:00
Installing collected packages: typing-extensions, ruamel.yaml.clib, python-dotenv, jsonref, annotated-types, ruamel.yaml, pydantic-core, pydantic, pydantic-settings, idf-component-manager
  Attempting uninstall: idf-component-manager
    Found existing installation: idf-component-manager 1.4.1
    Uninstalling idf-component-manager-1.4.1:
      Successfully uninstalled idf-component-manager-1.4.1
Successfully installed annotated-types-0.7.0 idf-component-manager-2.1.1 jsonref-1.1.0 pydantic-2.10.3 pydantic-core-2.27.1 pydantic-settings-2.6.1 python-dotenv-1.0.1 ruamel.yaml-0.18.6 ruamel.yaml.clib-0.2.12 typing-extensions-4.12.2

[notice] A new release of pip is available: 23.3.1 -> 24.3.1
[notice] To update, run: pip install --upgrade pip
gojimmypi:/mnt/c/test/component/wolfssl_client
$ pip install --upgrade pip
Requirement already satisfied: pip in /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages (23.3.1)
Collecting pip
  Downloading pip-24.3.1-py3-none-any.whl.metadata (3.7 kB)
Downloading pip-24.3.1-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 6.0 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.3.1
    Uninstalling pip-23.3.1:
      Successfully uninstalled pip-23.3.1
Successfully installed pip-24.3.1
gojimmypi:/mnt/c/test/component/wolfssl_client
$ cd ..
gojimmypi:/mnt/c/test/component
$ rm -rf ./wolfssl_client
gojimmypi:/mnt/c/test/component
$ idf.py create-project-from-example "wolfssl/wolfssl=5.7.2:wolfssl_client"
The following Python requirements are not satisfied:
Requirement 'idf-component-manager~=1.2' was not met. Installed version: 2.1.1
To install the missing packages, please run "install.sh"
Diagnostic information:
    IDF_PYTHON_ENV_PATH: /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env
    Python interpreter used: /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/bin/python
Constraint file: /home/gojimmypi/.espressif/espidf.constraints.v5.2.txt
Requirement files:
 - /mnt/c/SysGCC/esp32/esp-idf/v5.2/tools/requirements/requirements.core.txt
Python being checked: /home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/bin/python

ESP-IDF v5.2-dev-3903-g66992aca7a-dirty
gojimmypi:/mnt/c/test/component

after running the install, the  python -m idf_component_manager --help no longer reports a version:
$ python -m idf_component_manager --help
Usage: python -m idf_component_manager [OPTIONS] COMMAND [ARGS]...

Options:
  -W, --warnings-as-errors  Treat warnings as errors.
  -h, --help                Show this message and exit.

Commands:
  autocomplete  Generate tab-completion scripts for the specified shell.
  cache         Group of commands to manage cache of the IDF Component...
  component     Group of commands to interact with components.
  manifest      Group of commands to manage manifest of the project.
  project       Group of project related commands
  registry      Group of commands to work with component registry
  version       Print version of the IDF Component Manager.

And after installing an example, another wrong version is installed:
idf.py create-project-from-example "wolfssl/wolfssl=5.7.2:wolfssl_client"
$ cat wolfssl_client/main/idf_component.yml
dependencies:
  idf:
    version: '>=4.1.0'
  wolfssl/wolfssl:
    version: ^5.6.6-Stable-Preview1

To Reproduce
Fetch a new [wolfssl example](https://components.espressif.com/components/wolfssl/wolfssl/versions/5.7.2/examples?language=en), specifically the `wolfssl_client` using this command.

idf.py create-project-from-example "wolfssl/wolfssl=5.7.2:wolfssl_client"

Change directory into wolfssl_client.
Run idf.py build
Note the version of wolfSSL pulled is not the release 5.7.2 specified, rather the most recent preview version: 5.7.4-preview1e:
gojimmypi:/mnt/c/test/component
$ idf.py create-project-from-example "wolfssl/wolfssl=5.7.2:wolfssl_client"
Executing action: create-project-from-example
Example "wolfssl_client" successfully downloaded to /mnt/c/test/component/wolfssl_client
Done
gojimmypi:/mnt/c/test/component
$ cd wolfssl_client
gojimmypi:/mnt/c/test/component/wolfssl_client
$ idf.py build
Executing action: all (aliases: build)
Running cmake in directory /mnt/c/test/component/wolfssl_client/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/bin/python -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /mnt/c/test/component/wolfssl_client"...
-- No conflicting wolfSSL components found.
-- IDF_TARGET not set, using default target: esp32
-- Found Git: /usr/bin/git (found version "2.34.1")
Detected UNIX
Detected WSL
Detected Linux
Found PROTOCOL_EXAMPLES_DIR=/mnt/c/SysGCC/esp32/esp-idf/v5.2/examples/common_components/protocol_examples_common
Found PROTOCOL_EXAMPLES_DIR=/mnt/c/SysGCC/esp32/esp-idf/v5.2/examples/common_components/protocol_examples_common
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/gojimmypi/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/gojimmypi/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/gojimmypi/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- git rev-parse returned 'fatal: not a git repository (or any parent up to mount point /mnt)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).'
-- Could not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
Dependencies lock doesn't exist, solving dependencies.
..Updating lock file at /mnt/c/test/component/wolfssl_client/dependencies.lock
Processing 2 dependencies:
[1/2] idf (5.2.0)
[2/2] wolfssl/wolfssl (5.7.4-preview1e)
-- Begin wolfssl

### Expected behaviour

only the explicit version of the managed component library should have been used.

### Additional info

See also https://github.com/wolfSSL/wolfssl/pull/8251

### I have checked existing issues and online Documentation

- [X] I confirm I have checked existing issues and online Documentation.

See also https://github.com/wolfSSL/wolfssl/pull/8251

@gojimmypi could you please add, what does the main/idf_component.yml file of that example look like? Interested in how you are specifying the dependency on wolfSSL component there.

Hi @igrr - thanks for taking a look at this.
TLDR: my release 5.7.2 examples have an undesired version ^5.6.6-Stable-Preview1 text but I would have still expected the most recent release version after that to be used. Instead, I see the most recent preview is used, version: 5.7.4-preview1e.
I would think (hope) under all circumstances, that when pulling anything other than an explicit preview version (e.g. 5.7.4-preview1e), that any specified release  version (e.g.  5.7.2) should never pull in a newer preview by default.
I think this is what I understand from the Compatible Major Release Clause docs.
With the updated version of the component manager, trying to fetch explicit wolfSSL version  v5.7.2 in the wolfssl_client example, I see the text version: ^5.6.6-Stable-Preview1 in the fetched main/idf_component.yml file:
idf.py create-project-from-example "wolfssl/wolfssl=5.7.2:wolfssl_client"
$ cat wolfssl_client/main/idf_component.yml
dependencies:
  idf:
    version: '>=4.1.0'
  wolfssl/wolfssl:
    version: ^5.6.6-Stable-Preview1

But instead, the resulting version in the example project dependencies.lock file is version: 5.7.4-preview1e of wolfssl:
dependencies:
  idf:
    source:
      type: idf
    version: 5.2.0
  wolfssl/wolfssl:
    component_hash: a6cd6a27ab3cc6874c3cff580c286e6a4f54c09216ca7f7d253c5cc7897baf8c
    dependencies: []
    source:
      registry_url: https://components.espressif.com/
      type: service
    version: 5.7.4-preview1e
direct_dependencies:
- idf
- wolfssl/wolfssl
manifest_hash: 52adc2805c506aae51504b6d9f304aa18e4eae68376b3ec00adcb2936aca9dc9
target: esp32
version: 2.0.0
a

The contents in my dist\wolfssl_5.7.4-preview1e.tgz\idf_component.yml file that was created during publish is confirmd correct: version: 5.7.4-preview1e:
description: wolfSSL Embedded SSL/TLS Library
discussion: https://www.wolfssl.com/forums
documentation: https://www.wolfssl.com/documentation/manuals/wolfssl/index.html
files:
  exclude:
  - '**/*'
  - INSTALL.md
  - '*.py'
  - '**/*.list'
  - '**/.vs/**/*'
  - '**/build/**/*'
  - '**/dist/**/*'
  - '**/dist.bak/**/*'
  - '**/out/**/*'
  - '*.sh'
  - '*.bak'
  - sdkconfig
  - README_DIST.md
  - README_REGISTRY_PREPEND.md
  - README_STAGING_PREPEND.md
  - README_STAGING.md
  - ./src/sp_arm64.c
  - ./src/sp_armthumb.c
  - ./src/sp_x86_64.c
  - ./src/sp_arm32.c
  - ./src/sp_c32.c
  - ./src/sp_cortexm.c
  include:
  - ./README.md
  - ./LICENSE.txt
  - ./idf_component.yml
  - ./CMakeLists.txt
  - ./Kconfig
  - ./install_log.txt
  - ./src/**/*
  - ./include/**/*
  - ./wolfssl/**/*
  - ./wolfcrypt/**/*
  - ./examples/**/*
issues: https://github.com/wolfSSL/wolfssl/issues
repository: https://github.com/wolfSSL/wolfssl.git
url: https://www.wolfssl.com
version: 5.7.4-preview1e

The respective dist\wolfssl_5.7.2.tgz\idf_component.yml is confirmed to have a similar value: version: 5.7.2 in the last line.
Examples
The contents of dist\wolfssl_5.7.4-preview1e.tgz\examples\wolfssl_client\main\idf_component.yml is this:
## IDF Component Manager Manifest File For Examples
dependencies:
  wolfssl/wolfssl: "^5.7.4-preview1e"
  ## Required IDF version
  idf:
    version: ">=4.1.0"
  # # Put list of dependencies here
  # # For components maintained by Espressif:
  # component: "~1.0.0"
  # # For 3rd party components:
  # username/component: ">=1.0.0,<2.0.0"
  # username2/component2:
  #   version: "~1.0.0"
  #   # For transient dependencies `public` flag can be set.
  #   # `public` flag doesn't have an effect dependencies of the `main` component.
  #   # All dependencies of `main` are public by default.
  #   public: true

and in dist\wolfssl_5.7.2.tgz\examples\wolfssl_client\main\idf_component.yml is this, which appears in this case was my bad in that the publishing script has the wrong version in the examples 5.6.6-Stable-Preview1:
## IDF Component Manager Manifest File For Examples
dependencies:
  wolfssl/wolfssl: "^5.6.6-Stable-Preview1"
  ## Required IDF version
  idf:
    version: ">=4.1.0"
  # # Put list of dependencies here
  # # For components maintained by Espressif:
  # component: "~1.0.0"
  # # For 3rd party components:
  # username/component: ">=1.0.0,<2.0.0"
  # username2/component2:
  #   version: "~1.0.0"
  #   # For transient dependencies `public` flag can be set.
  #   # `public` flag doesn't have an effect dependencies of the `main` component.
  #   # All dependencies of `main` are public by default.
  #   public: true

And so yes, I see that I'm the one that specified the "this version or newer" in the component examples, but in the case where I wanted to test an explicit version, I would have expected that specific version.
Perhaps it would be best for me to remove the older preview versions altogether?
Do you think it is a best practice that instead of using the ^ version specifier, that instead I only use the ~ for the examples and let the end user choose to include newer versions automatically or not?

I think it is a reasonable expectation that when an example of a component of a particular version is requested, the example should use the component of that specific version, even though a newer version is available. While it's possible to achieve this behavior by always pinning the dependency version in the examples and updating it in sync with the component version, it makes the release process more complex.
We'll discuss this internally and get back to you!

I think it is a reasonable expectation that when an example of a component of a particular version is requested, the example should use the component of that specific version, even though a newer version is available.

Yes, I agree.
Suggestion: is it possible for the receiving component publisher to scan the incoming source code and enforce this? For example, as I noted above, I incorrectly included a bad component requirement in the respective example main/idf_component.yml file for the 5.7.2 release. It would have been preferable to have the publish fail.
While considering inbound processing side, I also suggest enforcing all version text to be lower case. For example, my 5.7.4-Preview1a seems to have ended up with a mix of some instances of Preview1a converted to lower case preview1a. My publishing script now does this on my side.

it makes the release process more complex

Do you have an example? I would think that simply changing the enclosed example main/idf_component.yml files would suffice?
Each enclosed example app idf_component.yml would be the exact same version as the component, with just a different version character: ^ vs =, eh?
dependencies:
  wolfssl/wolfssl: "^5.7.4"

vs
dependencies:
  wolfssl/wolfssl: "=5.7.4"

Thanks again for taking a look at this. Cheers.

Hi @gojimmypi Here I'll explain why and provide a possible workaround.
The version solver is picking up preview versions, since preview version is declared in the version spec
dependencies:
  idf:
    version: '>=4.1.0'
  wolfssl/wolfssl:
    version: ^5.6.6-Stable-Preview1  # <-- here

if you want to pick only released versions, you may update the version spec to
dependencies:
  idf:
    version: '>=4.1.0'
  wolfssl/wolfssl:
    version: ^5.6.6  # <-- here

and after you call rm dependencies.lock && idf.py build, the released version will be picked
...
NOTICE: [1/1] idf (5.5.0)
NOTICE: Dependencies lock doesn't exist, solving dependencies.
..NOTICE: Updating lock file at /home/fuhanxi/esp/test_proj/dependencies.lock
NOTICE: Processing 2 dependencies:
NOTICE: [1/2] wolfssl/wolfssl (5.7.2)
NOTICE: [2/2] idf (5.5.0)
...

I also agree on the released version shall always be picked first, unless defined prerelease: true aside. Will deal with this issue internally.

Thanks @hfudev and @igrr - all good suggestions.
I've pinned the source code of the examples to a specific published version:
$ mkdir wow
gojimmypi:/mnt/c/workspace/wolfssl_scripts-gojimmypi/espressif
$ cd wow
gojimmypi:/mnt/c/workspace/wolfssl_scripts-gojimmypi/espressif/wow
$ idf.py create-project-from-example "wolfssl/wolfssl^5.7.4-preview1f:wolfssl_benchmark"
Executing action: create-project-from-example
Example "wolfssl_benchmark" successfully downloaded to /mnt/c/workspace/wolfssl_scripts-gojimmypi/espressif/wow/wolfssl_benchmark
Done
gojimmypi:/mnt/c/workspace/wolfssl_scripts-gojimmypi/espressif/wow
$ cd wolfssl_benchmark
gojimmypi:/mnt/c/workspace/wolfssl_scripts-gojimmypi/espressif/wow/wolfssl_benchmark
$ cat ./main/idf_component.yml
dependencies:
  idf:
    version: '>=4.1.0'
  wolfssl/wolfssl:
    version: 5.7.4-preview1f
gojimmypi:/mnt/c/workspace/wolfssl_scripts-gojimmypi/espressif/wow/wolfssl_benchmark

The text on the web site would still need to be edited manually, as it has the leading ^. It would be great if the web site would mirror the file contents, instead:

$ idf.py --version
ESP-IDF v5.3.1-5-g041cd42c47-dirty
gojimmypi:/mnt/c/workspace/wolfssl_scripts-gojimmypi/espressif/wow/wolfssl_benchmark
$ python -m idf_component_manager --help
usage: __main__.py [-h] [--path PATH] [--namespace NAMESPACE] [--service-profile SERVICE_PROFILE] [--name NAME]
                   [--archive ARCHIVE] [--job JOB] [--version VERSION] [--skip-pre-release] [--check-only]
                   [--allow-existing] [--example EXAMPLE]
                   {pack-component,upload-component,upload-component-status,create-project-from-example,delete-version}

IDF component manager v1.5.2

Component Publish Date
Here's another Component Manager curiosity, probably not worthy of an issue of its own: incorrect "updated [n] days ago" text.
Just now (lunchtime, Dec 13) I published the wolfSSL 5.7.4-preview1f. However, when visiting that page, there's an indication that it was published 6 days ago:

Note the correct date stamp on the tgz file.
I think that prior publish events had an accurate updated [n] days ago text.
Surely I cannot control that date. A local web server date problem?
Binary Size Difference with ESP-IDF v5.3
This latest release, I also used ESP-IDF v5.3 instead of 5.2. Note there's a substantial increase in binary size:

Hi @gojimmypi, thank you for bringing our attention

Component Publish Date

This is a regression, since refactoring 4 months ago, the date of component creation was frozen on app load, not when a component is created. Because we usually update code quite often, it stayed unnoticed for some time. Fix is made, should be deployed soon.

as it has the leading ^

As the first step to improving the situation, we will change ^ to = for the create-project-from-example command.

Hi @kumekay -

Fix is made, should be deployed soon ...  will change ^ to = for the create-project-from-example command.

sounds great, thank you!
How's the staging site doing? I thought my most recent version of wolfSSH preview was working.
https://components-staging.espressif.com/components/gojimmypi/mywolfssh/versions/1.4.19-preview1a
Now I cannot even add another library such as "esp_jpeg", they all claim to be not found:
$ idf.py add-dependency "jason-mao/esp_jpeg^0.1.0"
Executing action: add-dependency
NOTICE: Successfully added dependency "jason-mao/esp_jpeg": "^0.1.0" to component "main"
NOTICE: If you want to make additional changes to the manifest file at path /mnt/c/test/component/wolfssh_template/main/idf_component.yml manually, please refer to the documentation: https://docs.espressif.com/projects/idf-component-manager/en/latest/reference/manifest_file.html
Done
gojimmypi:/mnt/c/test/component/wolfssh_template
$ idf.py build
Executing action: all (aliases: build)
Running cmake in directory /mnt/c/test/component/wolfssh_template/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/home/gojimmypi/.espressif/python_env/idf5.2_py3.10_env/bin/python -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /mnt/c/test/component/wolfssh_template"...
-- Detected UNIX
-- Detected WSL
-- Detected Linux
-- No conflicting wolfSSL components found.
-- Found PROTOCOL_EXAMPLES_DIR=/mnt/c/SysGCC/esp32/esp-idf/v5.2/examples/common_components/protocol_examples_common
-- IDF_TARGET not set, using default target: esp32
-- Found Git: /usr/bin/git (found version "2.34.1")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/gojimmypi/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/gojimmypi/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/gojimmypi/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- git rev-parse returned 'fatal: not a git repository (or any parent up to mount point /mnt)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).'
-- Could not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
NOTICE: Dependencies lock doesn't exist, solving dependencies.
.HINT: Please check manifest file of the following component(s): main
CMake Error at /mnt/c/SysGCC/esp32/esp-idf/v5.2/tools/cmake/build.cmake:544 (message):
  WARNING: Component "gojimmypi/mywolfssh" not found

  WARNING: Component "gojimmypi/mywolfssl" not found

  WARNING: Component "jason-mao/esp_jpeg" not found

  ERROR: Because project depends on jason-mao/esp_jpeg (^0.1.0) which doesn't
  match any versions, version solving failed.

Call Stack (most recent call first):
  /mnt/c/SysGCC/esp32/esp-idf/v5.2/tools/cmake/project.cmake:605 (idf_build_process)
  CMakeLists.txt:122 (project)

-- Configuring incomplete, errors occurred!
See also "/mnt/c/test/component/wolfssh_template/build/CMakeFiles/CMakeOutput.log".
cmake failed with exit code 1, output of the command is in the /mnt/c/test/component/wolfssh_template/build/log/idf_py_stderr_output_24540 and /mnt/c/test/component/wolfssh_template/build/log/idf_py_stdout_output_24540

This is with:
export IDF_COMPONENT_REGISTRY_URL="https://components-staging.espressif.com"

idf.py --version
ESP-IDF v5.2-dev-3903-g66992aca7a-dirty

python -m idf_component_manager --help
Usage: python -m idf_component_manager [OPTIONS] COMMAND [ARGS]...

Options:
  -W, --warnings-as-errors  Treat warnings as errors.
  -h, --help                Show this message and exit.

Commands:
  autocomplete  Generate tab-completion scripts for the specified shell.
  cache         Group of commands to manage cache of the IDF Component...
  component     Group of commands to interact with components.
  manifest      Group of commands to manage manifest of the project.
  project       Group of project related commands
  registry      Group of commands to work with component registry
  version       Print version of the IDF Component Manager.


Updated to use Poetry, Dockerised and setup GitHub actions

The great migration away from uqcs1, part 2.
This should just work tm

Merging without review:


[10.x] allow withPivot to include all columns

Problem
When working with pivot tables where there is quite a few pivot table columns is is frustrating to define each column inside ->withPivot(...columns)
Solution
I suggest that withPivot columns parameter by default would be * and that would include all pivot columns when loading relationship.
Example
public function users(): BelongsToMany
{
      return $this->belongsToMany(User::class)
                  ->withPivot();
}

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Improve role list in access control UI

Screenshot of the current (cluster) role list:

I'd like to improve the display to make it easier to see which roles are bound in the namespace and which aren't. Currently, the repetitive strings like Groups: X    Users: Y make that harder than necessary to find out. In addition, we don't show when a role is bound to a service account.
Here is my concrete suggestion:

Use our subject type icons instead of textual labels Groups, Users, together with the number of these subjects bound. A tooltip should appear on mouse-over to explain the icon.
If there is no subject of the given type, don't display anything.
Do this for all subjects, including service accounts.

As a result, roles / cluster roles that are not bound should appear visually different from roles that are bound to any subjects.
For roles that are not bound we can reduce the item height.

As we'll be directing more users to the access control UI in happa with both internal (https://github.com/giantswarm/giantswarm/pull/21018) and external (https://github.com/giantswarm/docs/pull/1325) docs related to the access control epic, this might be a good time to bring some improvements to this UI. @PrashantR31 what do you think?

Sure @kuosandys , let us plan this for our next sprint.


when I use UrlLink.create() method ,error "ERROR:main:init() got an unexpected keyword argument 'thumbnailUrl'"

Important：Please file the issue follow the template, or we won't be able to help you to solve the problem.

0. Report Issue Guide

Please run the following command and check whether the problem has been fixed：
rm -rf package-lock.json
rm -rf node_modules
npm install

Please search in FAQ List first, and make sure your problem has not been solved before.

Please search in the issue first, and make sure your problem had not been reported before

1. Versions

What is your wechaty version?

Answer:wechaty0.61

Which puppet are you using for wechaty? (puppeteer/padlocal/service...)

Answer:padlocal

What is your wechaty-puppet-XXX（padchat/puppeteer/） version?

Answer:I do not know.

What is your node version? (run node --version)

Answer:I do not know.

What os are you using

Answer:Linux version 3.10.0-693.2.2.el7.x86_64<EMAIL_ADDRESS>(gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) wechaty/wechaty#1 SMP Tue Sep 12 22:26:13 UTC 2017
2. Describe the bug

when I use UrlLink.create() method ,error "ERROR:main:init() got an unexpected keyword argument 'thumbnailUrl'"

3. To Reproduce

This part is very important: if you can not provide any reproduce steps, then the problem will be very hard to be recognized.

How to create a Minimal, Reproducible Example
Steps to reproduce the behavior:
1、    ur_link=UrlLink.create("https://mp.weixin.qq.com/s/BqXNpYZXDgBrEQBzj_BB_w")
2、error information:
INFO:UrlLink:create url_link for https://mp.weixin.qq.com/s/BqXNpYZXDgBrEQBzj_BB_w
ERROR:main:init() got an unexpected keyword argument 'thumbnailUrl'
Traceback (most recent call last):
File "/root/wechaty/python-wechaty-getting-started/my_wechaty/ding-dong-bot-oop.py", line 46, in send_url_link
ur_link=UrlLink.create(url="https://mp.weixin.qq.com/s/BqXNpYZXDgBrEQBzj_BB_w")
File "/usr/local/python3.9/lib/python3.9/site-packages/wechaty/user/url_link.py", line 44, in create
payload = UrlLinkPayload(
TypeError: init() got an unexpected keyword argument 'thumbnailUrl'
4. Expected behavior

Give a clear and concise description of what you expected to happen.

5. Actual behavior

INFO:UrlLink:create url_link for https://mp.weixin.qq.com/s/BqXNpYZXDgBrEQBzj_BB_w
ERROR:main:init() got an unexpected keyword argument 'thumbnailUrl'
Traceback (most recent call last):
File "/root/wechaty/python-wechaty-getting-started/my_wechaty/ding-dong-bot-oop.py", line 46, in send_url_link
ur_link=UrlLink.create(url="https://mp.weixin.qq.com/s/BqXNpYZXDgBrEQBzj_BB_w")
File "/usr/local/python3.9/lib/python3.9/site-packages/wechaty/user/url_link.py", line 44, in create
payload = UrlLinkPayload(
TypeError: init() got an unexpected keyword argument 'thumbnailUrl'

6. Full Output Logs

Set env WECHATY_LOG=silly in order to set log level to silly, then we can get the full log (If you dosen't set log env, log level is info as default, we cannot get the full log)

We need full log instead of log screenshot or log fragments!

 Additional context

Add any other context about the problem here.

File "/root/wechaty/python-wechaty-getting-started/my_wechaty/ding-dong-bot-oop.py", line 46, in send_url_link

Move this issue to Python Wechaty because it's in Python

This issue is duplicate, pls move towards and check the answer in issue https://github.com/wechaty/python-wechaty/issues/182


Update da-dynamodb-client, ... to 0.1.45

About this PR
📦 Updates

uk.gov.nationalarchives:da-dynamodb-client
uk.gov.nationalarchives:da-eventbridge-client
uk.gov.nationalarchives:da-s3-client
uk.gov.nationalarchives:da-sfn-client
uk.gov.nationalarchives:da-sns-client

from 0.1.43 to 0.1.45
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "uk.gov.nationalarchives" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "uk.gov.nationalarchives" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #35.


It's stopped working

????

am also hitting this... please fix urgently

please fix this, my family are dying

I am having the same issue which the browser keep spinning. Is this the same for everyone?

The service is running again just a brief hardware failure over the weekend

yeah, well your brief hardware failure caused a brief fun failure


SB-EH ommon Components  (CC) ConnectionStringBuilder   analysis

SB - Service Bus
EH - EventHubs
CC - Common Components
This class is similar in EH and SB, could we move this into azure-core-amqp package.
com.microsoft.azure.servicebus.primitives.ConnectionStringBuilder  and com.microsoft.azure.eventhubs.ConnectionStringBuilder
Upon Closely looking , it looks like that the properties in both classes are quite different.
CC    ->   @conniey

This work is complete and merged to master


ModuleNotFoundError raised with pytest 7.2.0

pytest==7.2.0 no longer depends on py library [1], but pytest-pycodestyle still tries to use it, leading to this error:
$ py.test apple.py
Traceback (most recent call last):
  File "/tmp/myenv/bin/py.test", line 8, in <module>
    sys.exit(console_main())
...
  File "/tmp/myenv/lib/python3.9/site-packages/pytest_pycodestyle.py", line 7, in <module>
    import py.io
ModuleNotFoundError: No module named 'py.io'; 'py' is not a package

A workaround is to install py, but it would be better to list that package in setup.py install_requires.
[1] https://docs.pytest.org/en/stable/changelog.html

Thank you for report!

Thanks for the quick fix.
When are you going to release the next version?


Automator: update<EMAIL_ADDRESS>in<EMAIL_ADDRESS>

Generated by Automator - 2024-07-20T00:25:39+00:00

@istio-testing: 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

unit-tests-arm64_istio_release-1.21
1269116c87f29129438b236d7a8c869989812cff
link
true
/test unit-tests-arm64

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-sigs/prow repository. I understand the commands that are listed here.


feat: Added VPN connection additional args

Continuation of #45 by @Art3mK
Description
Introduce new supported variables for aws_vpn_connection resources. Default values are set to null so this should be backward compatible with older versions.
Fixes #43

v2.6.0 has been just released.


feat: add link with locale component

Hello, I encapsulated a LinkWithLocale component, which mainly solves the problem of language loss caused by the Nextjs Link component jump, but I can't write component tests, this is my pr

Thank you for your contribution!


WebView and Photo picker support on Android

Hello, is there a way to use detox to automate WebView testing? A feature that Im working on is e2e upload testing. I would like to find and scroll to an Upload button in WebView, click on it, it will ask for Camera or Photo Library, choose Photo Library, select photos to upload. Right now I can not find a detox api to control WebView and Photo picker. I tried to work around the WebView but still stuck with the Photo picker. The problem is detox can not find the Photo picker view hierarchy
BTW, I see Espresso support element selector inside WebView so it would be great if detox support it

Also interested, if your application uses OAuth how does Detox interact with the webview to log the user in?

Web views are beyond our scope right now. Please mock APIs instead of displaying web views. Thanks


Is this the right behaviour?

I've tried the following experiment with the demo and would appreciate your feedback on the behaviour I've seen:

with Internet connectivity, open 2 different browsers, A and B
in A open http://ppyr.us and type "hello"+ENTER as first item
copy URL and paste it in browser B
=> B shows "hello"
disable Internet connectivity
in A type "item 2"+ENTER as second item
=> app says "3 items left"
in B type "item 3"+ENTER as second item
=> app says "3 items left"
enable Internet connectivity and watch A for a few seconds
=> "item 2" is replaced with "item 3", an extra blank item is added, and app says "4 items left"
=> same for browser B

I haven't looked at the code yet, so I don't know if this is caused by the app logic or the underlying Swarm library.

@gritzko Wouldn't the right fix be to simply delay the UI event that creates the TODO item? Currently, "Enter" causes a new (blank) item to be created. Instead, "Enter" should create a new (blank) item on the UI, but not yet associate that blank item to the model. Only once the user starts typing text into a blank item would a new model item be created. In this way, when A and B are offline, they will both create separate Todo items in the ToDoList Vector.

Indeed, the original TodoMVC works that way. The input is not an actual entry.


Advertising page changes

Change this section:

To this:

Please ensure the spacing is consistent:
The top and bottom padding is exactly half the size of the left and right padding.

Please ensure bullet point spacing (wording) starts at same level. Currently, on the website some writing is underneath bullet points.

Client comment:
"Left justify all copy and change to the below; and try to make sure there are not only one or two words on any one line. Colourise wording as below"
This is the writing for the section so that you can copy and paste it:
Promote your brand, engage with your staff or enjoy an additional revenue stream, it’s up to you how you make use of your brand new audio visual media space.
Ecovend RVMs come with their own integrated advertising space with up to 65 inch audio-visual screens and dual light box panels allowing you to generate instant revenue from branding and advertising. As a leaseholder or owner of one of our RVM’s you’ll receive media training and an advertising starter pack to help you optimise and promote your advertising space
WHY ADVERTISE WITH ECOVEND RVMS?
Prime advertising space in high footfall public areas
Ability to run hi-res audio visual advertising content on up to 3 large screens in 	   one location.
RVMs attract and engage ‘walk by’ consumers to recycle empty beverage containers in return for a reward.
RVMs encourage ‘special visit’ consumers to collect multiple empties for greater reward, driving repeat visits and more effective brand or product exposure. • Brands that advertise on RVMs are utilising a powerful platform to promote their commitment to sustainability and CSR.
The ‘reward’, typically discount vouchers or loyalty card points operated by retailers, helps drive consumers to ‘spend’ more with them
BRAND YOUR ECOVEND RVM
If you’d like to give your machine a unique look we can arrange to have your machine customised with your choice of wrap design and branding.
Delete this section and copy section from homepage layout - only change is an additional image to make 4 in the row

[ ] The colours are not coloured as requested in the 2nd paragraph

[ ] Make the sentence underneath the title grey and the same weight as normal paragraphs on page (this is too thick) "If you’d like to give your machine a unique look we can arrange to have your machine customised with your choice of wrap design and branding."

[ ] Remove bottom title & paragraph of this block as I realised the client has now added this above.


docs: add serverless badge

Coverage remained the same at 100.0% when pulling deae4bdc118e7c07149f23d401c5c0083d6164d3 on adjust-readme-badges into 6ca4732f672162bdb9be609da9fe223bda220c10 on main.

:tada: This PR is included in version 1.2.33 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


[curlpp[core]:x86-windows] build failure

Host Environment

OS: Windows 10 x64
Compiler: Visual Studio 2019 v16.6.4

To Reproduce
Steps to reproduce the behavior:
./vcpkg install curlpp
Failure logs
Computing installation plan...
The following packages will be built and installed:
  * curl[core,non-http,ssl,sspi,winssl]:x86-windows
    curlpp[core]:x86-windows
  * zlib[core]:x86-windows
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x86-windows...
Starting package 1/3: zlib:x86-windows
Building package zlib[core]:x86-windows...
Could not locate cached archive: C:\Users\georg\AppData\Local\vcpkg\archives\4a\4ae4fb9a7c3e0874a2279922cbd01f8076b08fd1.zip
-- Downloading http://www.zlib.net/zlib-1.2.11.tar.gz...
-- Extracting source A:/vcpkg/downloads/zlib1211.tar.gz
-- Applying patch cmake_dont_build_more_than_needed.patch
-- Using source at A:/vcpkg/buildtrees/zlib/src/1.2.11-deec42f53b.clean
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Fixing pkgconfig
-- Acquiring MSYS2...
-- Downloading https://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20190524.tar.xz/download...
gpg: /etc/pacman.d/gnupg/trustdb.gpg: trustdb created
gpg: no ultimately trusted keys found
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/etc/pacman.d/gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
gpg: Generating pacman keyring master key...
gpg: key 7339D61B46C1C3A1 marked as ultimately trusted
gpg: directory '/etc/pacman.d/gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/etc/pacman.d/gnupg/openpgp-revocs.d/394998FFF7618362DF20F45D7339D61B46C1C3A1.rev'
gpg: Done
==> Updating trust database...
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
==> Appending keys from msys2.gpg...
==> Locally signing trusted keys in keyring...
  -> Locally signing key D55E7A6D7CE9BA1587C0ACACF40D263ECA25678A...
  -> Locally signing key 123D4D51A1793859C2BE916BBBE514E53E0D0813...
  -> Locally signing key B91BCF3303284BF90CC043CA9F418C233E652008...
  -> Locally signing key 9DD0D4217D75A33B896159E6DA7EF2ABAEEA755C...
==> Importing owner trust values...
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: inserting ownertrust of 4
==> Updating trust database...
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   4  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:   4  signed:   3  trust: 0-, 0q, 0n, 4m, 0f, 0u
gpg: depth: 2  valid:   3  signed:   0  trust: 3-, 0q, 0n, 0m, 0f, 0u
:: Synchronizing package databases...
downloading mingw32.db...
downloading mingw32.db.sig...
error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: failed to update mingw32 (invalid or corrupted database (PGP signature))
downloading mingw64.db...
downloading mingw64.db.sig...
error: mingw64: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: failed to update mingw64 (invalid or corrupted database (PGP signature))
downloading msys.db...
downloading msys.db.sig...
error: msys: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: failed to update msys (invalid or corrupted database (PGP signature))
error: failed to synchronize all databases
error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: mingw64: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: msys: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
checking dependencies...

Packages (2) rebase-4.4.4-1  dash-<IP_ADDRESS>-1

Total Removed Size:  1.12 MiB

:: Do you want to remove these packages? [Y/n]
:: Processing package changes...
removing rebase...
removing dash...
error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: mingw64: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: msys: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
:: Synchronizing package databases...
downloading mingw32.db...
downloading mingw32.db.sig...
error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: failed to update mingw32 (invalid or corrupted database (PGP signature))
downloading mingw64.db...
downloading mingw64.db.sig...
error: mingw64: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: failed to update mingw64 (invalid or corrupted database (PGP signature))
downloading msys.db...
downloading msys.db.sig...
error: msys: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: failed to update msys (invalid or corrupted database (PGP signature))
error: failed to synchronize all databases
-- Acquiring MSYS2... OK
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: A:/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -S --noconfirm --needed pkg-config"
    Working Directory: A:/vcpkg/downloads/tools/msys2
    Error code: 1
    See logs for more information:
      A:\vcpkg\buildtrees\zlib\msys-pacman-x86-windows-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:127 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_fixup_pkgconfig.cmake:281 (vcpkg_acquire_msys)
  ports/zlib/portfile.cmake:46 (vcpkg_fixup_pkgconfig)
  scripts/ports.cmake:79 (include)

Additional context
I've installed many other vcpkg packages, however when installing curlpp it doesn't seem to like it. Any directions or resolutions would be much appreciated!
Thanks,
George

Right, I've found a workaround but it's dodgy, to say the least. I was reading through a couple of issues around MINGW/MSYS & VCPKG and seems like there is some sort of problem with all MSYS included ports. I found disabling the check to see whether a signed key is valid lets you install it, however, please be cautious as this can be dangerous, you're not letting Pacman check for trusted sources.
The packman configuration is generally found deep in VCPKG, vcpkg\downloads\tools\msys2\msys64\etc\pacman.conf, and around line 41 is a reference to SigLevel adjust this so the whole line becomes SigLevel    = Never. Then reattempting to install a package that's failed under these errors again, should clear and all should be good! Hope this helps someone while a fix is found.
[Reference:  #12567 (comment)]

Thanks for reporting this issue!
PR https://github.com/microsoft/vcpkg/pull/12603 would fix this issue.

@GeorgeBarlow, currently this issue fixed by PR https://github.com/microsoft/vcpkg/pull/12467 instead, the PR has been merged, please get latest source and try again.


Unstable test

@jskrzypek I am wondering what the purpose of this test is. I must have missed this when made my review of your PR.
This test seems to depend on the current version of bluebird, which is not a very stable condition.

I have disabled the test for now since it currently fails in Travis. We can re-enable or rewrite it later to test the things that are now missing.


$document modifier does not unblock requests from a page

See testDocumentModifier for details.
Basically, $document is the same as $elemhide,jsinject,urlblock,content

Fixed in e6de138f058abc73e96c28bd97ae0e76bb6dbccd.