[Bug]:  the click() method does not navigate

Minimal, reproducible example
import puppeteer from 'puppeteer';

(async () => {
    // Launch the browser and open a new blank page
    const browser = await puppeteer.launch({ headless: false });
    const page = await browser.newPage();

    // Navigate the page to a URL
    await page.goto('https://app.heitzfit.com/#/find-center');

    //search for center
    await page.type( '#ion-input-0', 'domyos');
    await page.keyboard.press('Enter');

    //go the club
    const domyos = '.clist-item';
    await page.waitForSelector(domyos, { timeout: 5000 })
    await page.click(domyos);

    //should display the https://app.heitzfit.com/#/auth/login page
    //but the URL is still https://app.heitzfit.com/#/find-center

    // wait for the login form to be displayed
    await page.waitForSelector('input.ion-input-0', { timeout: 5000 });
    await page.type( 'input.ion-input-0', 'mail');
    await page.waitForSelector('input.ion-input-0', { timeout: 5000 });
    await page.type('#ion-input-1', 'mdp');

    //...

    await browser.close();
})();

Error string
no error
Bug behavior

[ ] Flaky
[ ] PDF

Background
I am using the lib in order to try to create a program that will notify me is a sport training session is available in my gym center.
For that, the first step is to find and select the gym center for which one I want to check the planning.
Using the lib, I was able to search for the gym center but the click does not seems to work (using await page.click(domyos);). Nothing happened.
The navigation to the new page is not triggered so it fails on the await page.waitForSelector('input.ion-input-0', { timeout: 5000 }); because the element is part of the login page.
Expectation
After using the await page.click(domyos); code, the navigation starts to the new page.
Not that the following code works correctly in the console of google chrome: document.querySelector('.clist-item').click(); . It means that the selector is correctly set up.
Reality
The navigation is not done.
Note that I also tried things like:
const [response] = await Promise.all([
    page.waitForNavigation(),
    console.log('nav'),
    page.click(domyos),
    console.log('click'),
]);

Both logs "nav" and "click" are displayed in the terminal but the navigation is not started.
Puppeteer configuration file (if used)
No response
Puppeteer version
22.6.2
Node version
18.17.1
Package manager
npm
Package manager version
9.6.7
Operating system
macOS

@OrKoN : oh thank you for your investigation and the help. So I am going to add a delay :)


1455 vacancies

What is the context of this PR?
Added the new Vacancies surveys to test.
There should be three variants of _0006:

182
183
184

And a single variant of _0005:

185

How to review
Launch the surveys with survey-runner and make sure to supply an employmentDate in date format.
Checklist

[ ] q_code field for vacancies question == 10
[ ] q_code field for comment question == 146
[ ] Values for q_codes are string
[ ] max_length value for comment textArea !== null
[ ] title fields for 182/183/184 is "Quarterly Vacancy Survey"
[ ] title fields for 185 is "Monthly Vacancy Survey"

Running yarn format will fix your Travis build error


good fuzzing fodder

https://github.com/angus-c/just seems like a good target for testing out jazzer.js with, since they're well defined!

Indeed, thx for the suggestion! Perhaps we can use that library as an example for further improvements, like structured data generation :+1:
As this is not really a bug I close the ticket for now.


Added yarn cmd line to README

Added yarn command line.

@nahoc-petal, would you raise a PR against next branch or change the origin?

@reznord there you go!

@nahoc-petal this'll cause massive conflicts, lets just open a new PR from the next branch to next branch and leave this one to master?


Feature request: Find & Replace

Finding and replacing are basic functions of an editor, but seems not implemented yet.
It would be better if regexp is supported (which should be optional).

I was thinking about implementing this feature. But I came to the conclusion that this should be implemented by the consumer of the library. But considering that this code would be a boilerplate, it really is worth implementing such functionality.


Consider handling the case where upstream created a lightweight version tag by mistake

Nothing wrong with dh-make-golang, but in case issues like russross/blackfriday#196 turn out to be more common in the future, perhaps dh-make-golang could try to give a warning or workaround them too?  :-)

I think printing a warning when the most recent tag is lightweight, but the git repository also contains annotated tags, totally makes sense. Could you send a pull request which implements that please?

Hello @stapelberg,
Sorry for the late reply.  I left this issue for quite some time, and finally worked on it about a month ago, but then got distracted and forgot to do the final testing and send a pull request.
Anyhow, I think I finally got a working patch in Pull Request #29.  Here are two GitHub repositories that I used for testing:

My outdated fork of russross/blackfriday.  This fork still contains the unannotated "v1.2" tag which Russ has since recreated as an annotated one:

$ dh-make-golang github.com/anthonyfok/blackfriday
2015/11/26 02:56:16 Downloading "github.com/anthonyfok/blackfriday/..."
2015/11/26 02:56:25 Determining upstream version number
2015/11/26 02:56:25 WARNING: Lightweight tag "v1.2" found, but the most recent annotated tag is "v1.1"
2015/11/26 02:56:25 Package version is "1.2+git20150112.36.7001890"

2. This is identical to the above, except I deleted the annotated tags "v1.0" and "v1.1" before pushing it to GitHub, leaving only one tag, the unannotated "v1.2" tag:

    ```
$ dh-make-golang github.com/anthonyfok/blackfriday-lightweight-tag
2015/11/26 03:04:15 Downloading "github.com/anthonyfok/blackfriday-lightweight-tag/..."
2015/11/26 03:04:34 Determining upstream version number
2015/11/26 03:04:34 INFO: Annotated tag not found, using lightweight tag "v1.2"
2015/11/26 03:04:34 Package version is "1.2+git20150112.36.7001890"

Cheers,
Anthony


Update CONTRIBUTORS.csv

Accepted CLA

Proposed changes
Accepted CLA

Checks

[x] All commits in this Pull Request are signed and Verified by Github.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] There are no Merge commits in this Pull Request. Ockam repo maintains a linear commit history. We merge Pull Requests by rebasing them onto the develop branch. Rebasing to the latest develop branch and force pushing to your Pull Request branch is okay.
[x] I have read and accept the Ockam Community Code of Conduct.
[x] I have read and accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a separate Pull Request, this will mark the commit as verified.

@Tashuuuu We'll merge this soon.
Thank you for accepting the CLA and taking time to contribute!!
Welcome to the Ockam Community 🥳
If you have questions, as you explore, join us on the contributors discord channel https://discord.gg/bewvnm6zqS

@Tashuuuu Thank you for accepting the CLA and taking time to contribute!!
Welcome to the Ockam Community 🥳
If you have questions, as you explore, join us on the contributors discord channel https://discord.gg/bewvnm6zqS

Thank you. I hope I can be of use to the community.


Update documentation for v1.1 - Naaman

This provides the documentation as part of the v1.1 milestone. Specifically, the documentation tasks completed were:

Add a skeletal PPP. closes #11
Update AboutUs.md for Naaman - closes #35
Update User Guide, for logs management features addlog, editlog, deletelog. closes #10
Update Developer Guide - use cases for logs management features addlog, editlog, deletelog. closes #27

Most changes are trivial, but please take a deeper look at the changes to the User Guide and Developer Guide as the changes are focused around the direction of our project.

Codecov Report

Merging #38 (6e2891b) into master (aacca7d) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #38   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


Add optimizer parameter to NeuralNet

In NeuralNet class, the optimizer used during training is Adam and can't be set by the user.

The user should be able to set optimizer parameter, so this parameter should be added as input to NeuralNet.
The default should be Adam.
For Adam, it would be better to change the default learning rate from 0.01 to 0.001 (the default one, see PyTorch documentation).

Blocked by #172


unable to install on angular 12 and above

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/common
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/angular-gauge-chart
npm ERR!   angular-gauge-chart@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /home/test/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/test/.npm/_logs/2022-04-22T05_36_43_682Z-debug-0.log

check issue #81

check issue #81


Update progress.rst

Type of changes

[ ] Bug fix
[ ] New feature
[x] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[ ] I've run the latest black with default args on new code.
[x] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Here is the pull request description formatted in Markdown:
Description
This PR improves the documentation around usage of the start() method in the Progress class.
The changes include:

Calling out in Basic Usage that start() is required before updating

To initialize the Progress renderer, you must call `start()` before updating:

progress = Progress()
progress.start()

Adding examples both with and without a context manager

# Without context manager

progress = Progress()
progress.start()

# With context manager

with Progress() as progress:
  # no need to call start()

Adding Troubleshooting section mentioning start() for no output

If you are not seeing any output from Progress, ensure you called `start()` on the instance before updating.

Raising a warning in __init__ if start() not called

Updating FAQ with relevant question

This is intended to address #3240   and improve the documentation based on user feedback in #2758
Usage of start() was not clearly documented before, which led to confusion when the display did not update. These updates should clarify the requirement and guide users to call start().

Thanks for the PR, added a note in master.

Thank you for your response
On Mon, 1 Jul, 2024, 8:31 pm Will McGugan, @.***> wrote:

Thanks for the PR, added a note in master.
—
Reply to this email directly, view it on GitHub
https://github.com/Textualize/rich/pull/3242#issuecomment-2200402383,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWM74ISWC75LLMD3WJWCSKTZKFVOFAVCNFSM6AAAAABBIBP7HOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBQGQYDEMZYGM
.
You are receiving this because you authored the thread.Message ID:
@.***>


WSMan Install on Mac/Linux

Can you please make the WSMan section a bit more clear that it applies to both Linux and Mac? The instructions on this page kind of make it seem like with Mac you don't need to install WSMan.

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

ID: de2836a0-0af3-c147-2d4a-78220ac4e0f1
Version Independent ID: 2cde9735-6281-bb9f-bf07-b30b2f6c7f37
Content: About the Exchange Online PowerShell V2 module
Content Source: exchange/docs-conceptual/exchange-online-powershell-v2.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@drewhjelm, thanks for pointing this out. I thought I made updates for Mac soon after the updates for the Linux section.
From what I can tell, the only difference between the Linux and Mac instructions are Mac also requires the installation of OpenSSL (at least according to the Installing PowerShell on macOS article that we refer to).
Other than that, I just copied the instructions from the Linux section.
After the updates are visible, feel free to make any updates/corrections as you see fit. Instructions are here.
Thanks for the feedback.
Closing


fix: update function e2e tests with new template orderings

Fix function e2e tests for new template orderings
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

LGTM


Manually set baggage is not automatically cleaned up from MDC

I have configured:
spring.sleuth:
  propagation-keys:
    - x-session-id
  log:
    slf4j:
      whitelisted-mdc-keys: x-session-id

If I pass this propagation key with a value to my app as HTTP header then after the request is completed it is automatically removed from MDC by Slf4jScopeDecorator.
But if I don't pass it as header but manually set the value somewhere during processing of the request then I have to manually set it to two places:
ExtraFieldPropagation.set(continuedSpan.context(), "x-session-id", "mySession123");
MDC.put("x-session-id", "mySession123");

and I also have to create an Interceptor and manually wipe it from MDC after the request processing has completed by calling:
MDC.remove("my-key")
This is because Slf4jScopeDecorator only wipes any baggage that arrived with the request.
I propose to create a mechanism to register the value with single call (so it gets set in both to ExtraFieldPropagation and to MDC) and also after a value has been registered it would be automatically wiped from MDC after the request has completed.
Related StackOverflow post.

I got same issue. I solved this by giving more higher order to my ExtraFieldPropagationFilter than TraceWebFilter. If you are using MVC, give more higher order than TracingFilter.
With this solution, Slf4jScopeDecorator can get proper previousMdc value.
But above is just workaround. If changing Slf4jScopeDecorator like below, can make a problem?
// current
final List<AbstractMap.SimpleEntry<String, String>> previousMdc = Stream
		.concat(whitelistedBaggageKeysWithValue(currentSpan),
			whitelistedPropagationKeysWithValue(currentSpan))
		.map((s) -> new AbstractMap.SimpleEntry<>(s, MDC.get(s)))
		.collect(Collectors.toList());

// to be
final List<AbstractMap.SimpleEntry<String, String>> previousMdc = Stream
		.concat(whitelistedBaggageKeys(), whitelistedPropagationKeys())
		.map((s) -> new AbstractMap.SimpleEntry<>(s, MDC.get(s)))
		.collect(Collectors.toList());

Even though, SimpleEntry's values can be null, Slf4jScopeDecorator.replace() can handle it. Baggaged keys will be cleaned up automatically.

Is there a chance for someone to prepare a test that breaks with the current implementation?

The solution I commented above doesn't work. sorry.. That solution can set and remove MDC automatically, but cannot set ExtraFieldPropagation value because there is no TraceContext yet.

Can you check the pr I've created that should solve the problem?

@marcingrzejszczak I checked your PR. It solved this issue well.

Now that cleaning up is solved by PR  I have one question remaining - is there any plan to provide a (convenience) method to set baggage and/or propagation keys?

I don't understand. You can use the ExtraPropagation API.

Can I call ExtraPropagation API in a way that the value also gets added to MDC by the same call. Or should I call MDC separately.
My idea was that if I should make two API calls maybe there could be a (convenience) method in Sleuth, so I would call this method and it would make both calls. Something like:
public void addBaggage(String key, String value) {
ExtraFieldPropagation.set(continuedSpan.context(), key, value);
MDC.put(key, value);
}
But if it doesn't make sense to add this method then it is also fine.

In my case, just ExtraFieldPropagation.set() call make MDC too. I don't need to call MDC.put(). Could you test with below properties?
# application.yml
spring.sleuth:
  log.slf4j.whitelisted-mdc-keys: [foo, bar]
  propagation-keys: [foo, bar]

When you set  ExtraFieldPropagation.set(continuedSpan.context(), key, value); and the key is whitelisted as @dlsrb6342 mentioned, then the Slf4jScopeDecorator will store put all the non empty values in MDC.

BTW are we actually trying to solve a wrong usage example? Why not just use ExtraFieldPropagation.set(key, value); ? That way Sleuth will already take care of clearing the MDC context?

No. sleuth cannot clear MDC.
In current implementation, previousMdc's key set is consist of whited list keys that have non-null value.
But, if you call ExtraFieldPropagation.set(key, value) after TraceWebFilter.filter(), there is no value in ExtraFieldPropagation when Slf4jScopeDecorator decorate current span.

But, if you call ExtraFieldPropagation.set(key, value) after TraceWebFilter.filter(), there is no value in ExtraFieldPropagation when Slf4jScopeDecorator decorate current span.

so in your next filter, do you create a scope manually? Can you share a small example of how you work with this atm?

Actually, I cannot fix it. I just clear MDC manually. If you want not working example, I can share it.

Please do!

@marcingrzejszczak Sorry for late response.
I made with webflux based on sleuth-webmvc-example
Please check https://github.com/dlsrb6342/sleuth-webmvc-example/tree/mdc-issue.
If you send first request, ExtraFieldPropagation is not set when TraceWebFilter logic is applied. This is because addFieldFilter is applied after TraceWebFilter. So there is no requestId in MDC.
But If you send next request, there is requestId in MDC. ExtraFieldPropagation was set In first request. So Slf4jScopeDecorator put requestId into MDC.
To confirm you that MDC is not cleared, if requestId is in MDC, I use requestId again. In thrid request, you can see requestId is same as second request. That means requestId is not cleared.

Hi, thanks! However whenever I send the GET @ :8081 I don't see any repeated request Id in MDC.

First Request
2019-08-07 10:17:48.856 [5d4a26bc5998d3758321f19230154bbd/8321f19230154bbd] INFO  [reactor-http-nio-3] s.w.Frontend - In Filter.PRE RequestId : null
 59151 --- [ctor-http-nio-3] sleuth.webmvc.Frontend                   : In Filter.PRE RequestId : null
2019-08-07 10:17:48.893 [5d4a26bc5998d3758321f19230154bbd/8321f19230154bbd] DEBUG [reactor-http-nio-3] o.s.w.r.h.AbstractHandlerMapping - [d3386756] Mapped to sleuth.webmvc.Frontend$$Lambda$427/0x00000008014c5440@38c827a3
 59151 --- [ctor-http-nio-3] o.s.w.r.f.s.s.RouterFunctionMapping      : [d3386756] Mapped to sleuth.webmvc.Frontend$$Lambda$427/0x00000008014c5440@38c827a3
2019-08-07 10:17:48.895 [5d4a26bc5998d3758321f19230154bbd/8321f19230154bbd] INFO  [reactor-http-nio-3] s.w.Frontend - In Handler MDC : null
 59151 --- [ctor-http-nio-3] sleuth.webmvc.Frontend                   : In Handler MDC : null

Second Request
2019-08-07 10:18:38.278 [5d4a26ee296eb1b7b9320f93ee01b203/b9320f93ee01b203] INFO  [reactor-http-nio-3] s.w.Frontend - In Filter.PRE RequestId : 67d842c6-887a-4570-ada9-d4d461a3544d
 59151 --- [ctor-http-nio-3] sleuth.webmvc.Frontend                   : In Filter.PRE RequestId : 67d842c6-887a-4570-ada9-d4d461a3544d
2019-08-07 10:18:38.281 [5d4a26ee296eb1b7b9320f93ee01b203/b9320f93ee01b203] DEBUG [reactor-http-nio-3] o.s.w.r.h.AbstractHandlerMapping - [d3386756] Mapped to sleuth.webmvc.Frontend$$Lambda$427/0x00000008014c5440@38c827a3
 59151 --- [ctor-http-nio-3] o.s.w.r.f.s.s.RouterFunctionMapping      : [d3386756] Mapped to sleuth.webmvc.Frontend$$Lambda$427/0x00000008014c5440@38c827a3
2019-08-07 10:18:38.282 [5d4a26ee296eb1b7b9320f93ee01b203/b9320f93ee01b203] INFO  [reactor-http-nio-3] s.w.Frontend - In Handler MDC : 67d842c6-887a-4570-ada9-d4d461a3544d
 59151 --- [ctor-http-nio-3] sleuth.webmvc.Frontend                   : In Handler MDC : 67d842c6-887a-4570-ada9-d4d461a3544d

Third Request
2019-08-07 10:19:18.202 [5d4a271644361731ab47b404a65f213b/ab47b404a65f213b] INFO  [reactor-http-nio-3] s.w.Frontend - In Filter.PRE RequestId : 67d842c6-887a-4570-ada9-d4d461a3544d
 59151 --- [ctor-http-nio-3] sleuth.webmvc.Frontend                   : In Filter.PRE RequestId : 67d842c6-887a-4570-ada9-d4d461a3544d
2019-08-07 10:19:18.205 [5d4a271644361731ab47b404a65f213b/ab47b404a65f213b] DEBUG [reactor-http-nio-3] o.s.w.r.h.AbstractHandlerMapping - [d3386756] Mapped to sleuth.webmvc.Frontend$$Lambda$427/0x00000008014c5440@38c827a3
 59151 --- [ctor-http-nio-3] o.s.w.r.f.s.s.RouterFunctionMapping      : [d3386756] Mapped to sleuth.webmvc.Frontend$$Lambda$427/0x00000008014c5440@38c827a3
2019-08-07 10:19:18.206 [5d4a271644361731ab47b404a65f213b/ab47b404a65f213b] INFO  [reactor-http-nio-3] s.w.Frontend - In Handler MDC : 67d842c6-887a-4570-ada9-d4d461a3544d
 59151 --- [ctor-http-nio-3] sleuth.webmvc.Frontend                   : In Handler MDC : 67d842c6-887a-4570-ada9-d4d461a3544d

Above is my log. requestId is same in second and third, "67d842c6-887a-4570-ada9-d4d461a3544d"
Could you show me your log?

I did set yml like
spring.sleuth:
log.slf4j.whitelisted-mdc-keys: [test,  name]
propagation-keys: [test, name]
In controller i have :
ExtraFieldPropagation.set(tracer.currentSpan().context(), "test", "nothing");
in logback i have %X{test} in pattern
But it is not showing in my log. What am i missing. Using spring boot 2.1.8 and greenwhich sr3

This feature is not released yet I think.

Ok  what about propagating fields to downstream ?  How do I get value for the key in downstream after upstream has set it with above code? I can manually set Mdc as a workaround for log.

Can some one help me with this? I see anything in header is going downstream but what about something being set in application?

spring:
  sleuth:
    log.slf4j.whitelisted-mdc-keys: [test, id]
    propagation-keys: [test, id]

I'm using like this. and Downstream can find test and id from RequestHeader.
And please create new issue. this issue is already closed.


Add exercise: word-count

LGTM, I'll just wait for the travis build (which didn't start for some reason) and then merge it. Thanks for your contributions :)


Raise more useful error if mismatch between feature enabled and db url

@sgrif
Problem Description
If proper features are not enabled, error messages to not point to this being the issue.
What are you trying to accomplish?
Started project with one backend, switched to a different backend and forgot to change Cargo.toml.
What is the expected output?
If DATABASE_URL is for a database where feature is not enabled, there should at least be a warning about this.
What is the actual output?
help: message: Could not load table names from databasepostgresql://sammy:sam
my@localhost/diesel_demo: StringError("Failed to establish a database connection a t postgresql://sammy:sammy@localhost/diesel_demo. Error: BadConnection(\"Unable to  open the database file\")")
Steps to reproduce
Cargo.toml
[dependencies] diesel = { version = "0.15.0", features = ["sqlite"] } diesel_codegen = { version = "0.15.0", features = ["sqlite"] } dotenv = "0.9.0"
.env
DATABASE_URL=postgres://username:password@localhost/diesel_demo > .env

Checklist

[ ] I have already looked over the issue tracker for similar issues.

To clarify, specifically I think we should be checking for the URL starting with mysql://, postgres:// or postgresql:// when those features are not enabled. I think we can safely assume that the user is not trying to connect to a SQLite database in that case.

Related: We should strip sqlite:// from the URL if it's present. I've had a couple people try that expecting it to work.

This just broke my mind for a while, as I changed computers and couldn't understand the error that diesel-cli was giving me. Trying to connect to a postgres db with only the sqlite feature enabled provides the following:
$ diesel migration run
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ConnectionError(BadConnection("Unable to open the database file"))', libcore/result.rs:945:5

So yeah, this is still less than ideal. :)

I literally just encountered this problem and went on for 2 days.... Glad I found this issue.

I'll take a look at implementing this

I literally just encountered this problem and went on for ~2 hours ... Glad I found this issue.

I fixed this for the diesel-cli part. Can someone point me towards where to look in the libraries themselves, to do the same sort of error handling?

@porglezomp I do not think that this applies to diesel itself because there you are using concrete connection types. I think it's kind of obvious that something is wrong if you are doing SqliteConnection::establish("postgres://something/something")


Intercept all incoming S2S stanzas

I'd like a way to process all incoming S2S stanzas at central point, not having to Router.register every domain separately.
So far I do it by monkey-patching DomainContext.prototype.receive, but this is a brittle solution.
I would gladly code a PR, but first I would like to discuss a preferred solution.
I noticed "Define and implement a simple/basic 'plugin' mechanism (catch in/out stanzas)" on Roadmap - should this wait until this feature is implemented?

@smokku as you've seen node-xmpp is under a rewrite but to reduce the scope; at the moment only client, component and core libraries are concerned but if you're willing to work on node-xmpp-server rewrite I'd be happy to help.
The alternative is to maintain node-xmpp-server as it is.

I would gladly help. node-xmpp-server is not that big.
Any TODO? Pointers? Flow?

@smokku give me a couple of days to think about it and put everything in order
I tried to add you to my XMPP roster but didn't get a handshake yet, is your JID on your personal website up to date?

I am rarely online. Please try again. :)


Run more assertions in more cases

What was the end-user problem that led to this PR?
I noticed a couple of places where assertions were being excluded and they shouldn't:

One was introduced by me in #6702, where the specs added (and some already present) started being tested only on bundler 2.x.
The other one was introduced in f7414bcb17fe1bd67246021251b5f0527bd6afd1, where one assertion would be run only if a certain env variable was not set. I think it was because of a TravisCI environmental issue that now seems fixed.

What was your diagnosis of the problem?
My diagnosis was that none of these exclusions are necessary.
What is your fix for the problem, implemented in this PR?
My fix is to restore the excluded assertions to all environments and branches.
Why did you choose this fix out of the possible options?
I chose this fix because it seems best to avoid future problems.

I noticed the issue with #6702 when I was going to milestone it for 1.17.0. The changes here will only actually be exercised when this PR and #6702 are backported. I already did that locally and the specs pass.

why is this in the 1.17.0 milestone?

Because otherwise the specs I'm adding here for bundler < 2 will never be run, and I'd like to make sure I'm not adding any deprecation messages here (yet).

thanks for the exaplanation


chore: Less circuits wasm, more bb.js wasm.

Branch name perhaps not totally honest, as we're not using the codegen api. A simpler stepping stone was to substitute in the bb.js wasm for the circuits wasm in the various classes that used it.
Switching to use api for making the wasm calls will require updating the bindings to follow the bindgen calling convention. I've done this for aes, but can do the others later.
No more async needed to create aes/schnorr/grumpkin etc.
We can probably get rid of the classes themselves soon and just have free functions.

If we seach the codebase now for await CircuitsWasm.get() there's only a handful of lines left, mostly related to what I think are deprecated circuit simulation calls. Once we get rid of these, we can get rid of building the circuits in CI.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 48d8c7fd and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,960
867,872
3,449,420

l1_rollup_execution_gas
842,047
3,594,980
22,204,789

l2_block_processing_time_in_ms
2,027 (+1%)
7,632
30,031

note_successful_decrypting_time_in_ms
293
868
3,153 (-1%)

note_trial_decrypting_time_in_ms
96.1 (+3%)
76.5 (+5%)
132 (-2%)

l2_block_building_time_in_ms
20,541
81,338 (-1%)
325,090

l2_block_rollup_simulation_time_in_ms
11,965
47,169 (-1%)
187,959 (-1%)

l2_block_public_tx_process_time_in_ms
8,534
34,032
136,651

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
22,025 (+1%)
42,888 (+1%)

note_history_successful_decrypting_time_in_ms
2,097 (+2%)
4,080

note_history_trial_decrypting_time_in_ms
121 (+1%)
144 (-19%)

node_database_size_in_bytes
1,629,772
1,096,224

pxe_database_size_in_bytes
29,748
59,307

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
764
61,697
18,905

private-kernel-ordering
126 (+1%)
24,297
8,153

base-rollup
1,767
656,428
873

root-rollup
174 (+3%)
4,072
1,097

private-kernel-inner
787
81,568
18,905

public-kernel-private-input
568
41,519
18,905

public-kernel-non-first-iteration
406
41,561
18,905

merge-rollup
15.2
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
8,787
27,547


Casper add prefix

@Falpangaea What is the context for this PR and change? Where is this needed for use, and are there plans available for review?


[WIP] supported HTTP/2

try to fix: https://github.com/chobits/ngx_http_proxy_connect_module/issues/25
RFC: https://httpwg.org/specs/rfc7540.html#CONNECT
WIP: not ready now

phrase as following

client send HEADERS (:method = CONNECT, :authority: <host>[:<port>])
proxy server establishes a connection with backend server, then it sends HEADERS with 2xx status
proxy server reads data from backend/client, then sends received data to client/backend

if proxy server reads data from backend, then assemble it into DATA frame and sent it to client
if proxy server reads DATA frame from client, then send the payload of DATA frame to the backend server

How upstream read request body from http/2 DATA frame:
ngx_http_v2_state_read_data
 -> ngx_http_v2_process_request_body(r, pos) // pos --> h2c head buf
   ngx_memcopy pos -> r->request_body->buf->last
                 data saved in r->request->body->buf->[pos, last]
   -> ngx_http_v2_filter_request_body(r)
         cl->b <= r->request->body->buf
         r->request_body->busy/free <-- ngx_chain_update_chains --- cl->b
   -> rb->post_handler(r);
       -> ngx_http_upstream_init
          -> ngx_http_upstream_init_request

              if (r->request_body) {
                  u->request_bufs = r->request_body->bufs;
              }

            -> ngx_http_upstream_connect
             -> ngx_http_upstream_send_request
              -> ngx_http_upstream_send_request_body(r, u, do_write);
                out <- u->request_bufs
                r->request_body->bufs <- NULL
                for ( ;; ) {
                     if (do_write) {
                         rc = ngx_output_chain(&u->output, out);    // send to upstream fd
                     }
                     ...
                }

If proxy_connect does not connect to backend server and DATA frame from client has already been sent to nginx, the logic backtrace is as following:
(gdb)
1190        return ngx_http_v2_state_complete(h2c, pos, end);
(gdb) bt
#0  ngx_http_v2_state_read_data (h2c=h2c@entry=0x562d049be0d0, pos=0x562d049d1920 "hello HTTP/1.1\r\nHost: test.com\r\n\r\n", pos@entry=0x562d049d18f9 "GET /hello HTTP/1.1\r\nHost: test.com\r\n\r\nhello HTTP/1.1\r\nHost: test.com\r\n\r\n", end=end@entry=0x562d049d1920 "hello HTTP/1.1\r\nHost: test.com\r\n\r\n") at src/http/v2/ngx_http_v2.c:1190
#1  0x0000562d038190c7 in ngx_http_v2_state_data (h2c=0x562d049be0d0, pos=0x562d049d18f9 "GET /hello HTTP/1.1\r\nHost: test.com\r\n\r\nhello HTTP/1.1\r\nHost: test.com\r\n\r\n", end=0x562d049d1920 "hello HTTP/1.1\r\nHost: test.com\r\n\r\n") at src/http/v2/ngx_http_v2.c:1087
#2  0x0000562d038175c6 in ngx_http_v2_state_head (h2c=0x562d049be0d0, pos=0x562d049d18f9 "GET /hello HTTP/1.1\r\nHost: test.com\r\n\r\nhello HTTP/1.1\r\nHost: test.com\r\n\r\n", end=0x562d049d1920 "hello HTTP/1.1\r\nHost: test.com\r\n\r\n") at src/http/v2/ngx_http_v2.c:947
#3  0x0000562d038196cb in ngx_http_v2_read_handler (rev=0x7f98954e4250) at src/http/v2/ngx_http_v2.c:435
#4  0x0000562d037c2221 in ngx_epoll_process_events (cycle=0x562d048a4c80, timer=<optimized out>, flags=<optimized out>) at src/event/modules/ngx_epoll_module.c:901
#5  0x0000562d037b654e in ngx_process_events_and_timers (cycle=cycle@entry=0x562d048a4c80) at src/event/ngx_event.c:248
#6  0x0000562d037bfd8f in ngx_worker_process_cycle (cycle=0x562d048a4c80, data=<optimized out>) at src/os/unix/ngx_process_cycle.c:721
#7  0x0000562d037be1c3 in ngx_spawn_process (cycle=cycle@entry=0x562d048a4c80, proc=proc@entry=0x562d037bfc52 <ngx_worker_process_cycle>, data=data@entry=0x0, name=name@entry=0x562d038c96ea "worker process", respawn=respawn@entry=-3) at src/os/unix/ngx_process.c:199
#8  0x0000562d037bf4c1 in ngx_start_worker_processes (cycle=cycle@entry=0x562d048a4c80, n=1, type=type@entry=-3) at src/os/unix/ngx_process_cycle.c:344
#9  0x0000562d037c06b0 in ngx_master_process_cycle (cycle=0x562d048a4c80) at src/os/unix/ngx_process_cycle.c:130
#10 0x0000562d037942ed in main (argc=1, argv=<optimized out>) at src/core/nginx.c:383

for http2 & upstream:

read upstream and send data to downstream: ngx_http_upstream_process_non_buffered_request
read downstream and send data to upstream: ngx_http_upstream_send_request

Unfortunately, there is no low-level IO operation API of c->recv()/send() implemented in nginx httpv2. So if we want to support http/2 CONNECT tunnel, we need to use request_body API for reading DATA frame from http/2 request and output_filter for sending DATA frame to http/2 CONNECT tunnel.

Great feature!!
Thanks for your efforts!

Question:
Is the hard part downstream or upstream?
Would it be easier if only the downstream-connection is http2 (so eavesdroppers think it is http2)?
E.g.:
Client -> http2:connect -> nginx:chobits -> http11 -> website

Question: Is the hard part downstream or upstream? Would it be easier if only the downstream-connection is http2 (so eavesdroppers think it is http2)? E.g.: Client -> http2:connect -> nginx:chobits -> http11 -> website

This pr is under development, so some part of the logic is not completed. so it could not support the HTTP2 now.


BPL_JVM_HEAD_ROOM is not picked up

What happened?

What were you attempting to do?

Set BPL_JVM_HEAD_ROOM to add headroom in the JVM

What did you expect to happen?

The buildpack should see this env variable and adjust its memory configuration.

What was the actual behavior? Please provide log output, if possible.

The buildpack does not see the environment variable.
It appears that libjvm is looking for BPL_JVM_HEADROOM (without the last underscore).
See https://github.com/paketo-buildpacks/libjvm/blob/main/helper/memory_calculator.go#L58
Build Configuration

What platform (pack, kpack, tekton buildpacks plugin, etc.) are you
using? Please include a version.

pack

What buildpacks are you using? Please include versions.

bellsoft-liberica 7.1.0

What builder are you using? If custom, can you provide the output from pack inspect-builder <builder>?

default

Can you provide a sample app or relevant configuration (buildpack.yml,
nginx.conf, etc.)?

Any
Checklist

[X] I have included log output.
[X] The log output includes an error message.
[X] I have included steps for reproduction.

Also impacts https://github.com/paketo-buildpacks/amazon-corretto, https://github.com/paketo-buildpacks/azul-zulu, https://github.com/paketo-buildpacks/sap-machine, https://github.com/paketo-buildpacks/eclipse-openj9, https://github.com/paketo-buildpacks/adopt-openjdk, https://github.com/paketo-buildpacks/graalvm, and the web site https://github.com/paketo-buildpacks/paketo-website/blob/51d448d6e6bc70858898c4fe43d13760444eba53/content/docs/buildpacks/language-family-buildpacks/java.md

Of if we want to stick with BPL_JVM_HEAD_ROOM, then we need to update libjvm.


chore: sync latest upstream/master

Summary:

This PR syncs latest changes from upstream to master
Test Plan:

Run the app on VisionOS

Can we do the sync by rebasing on upstream commits? This is merging 40+ commits from the fork and I'd rather like to keep it a clean fork with only our commits on top

@thymikee sure! We can sync by rebasing - I will close this PR


proposal: slices: add Cut, CutPrefix and CutSuffix

The strings and bytes packages have Cut, CutPrefix, and CutSuffix.
I propose adding the following functions to the slices package:
func Cut[S ~[]E, E comparable](s S, sep ...E) (before, after S, found bool)
func CutPrefix[S ~[]E, E comparable](s S, prefix ...E) (after S, found bool)
func CutSuffix[S ~[]E, E comparable](s S, suffix ...E) (before S, found bool)

For ergonomics, I chose to make sep/prefix/suffix variadic, since most uses I can think of (e.g., simple parsers) would generally have one, or a few elements at most.

Lightly tested prototypes:
func Cut[S ~[]E, E comparable](s S, prefix ...E) (before, after S, found bool) {
	if len(prefix) == 0 {
		return s[:0], s, true
	}
	if len(prefix) <= len(s) {
	i:
		for i := range s[:len(s)-len(prefix)+1] {
			for j, x := range prefix {
				if s[i+j] != x {
					continue i
				}
			}
			return s[:i], s[i+len(prefix):], true
		}
	}
	return s, nil, false
}

func CutPrefix[S ~[]E, E comparable](s S, prefix ...E) (after S, found bool) {
	if len(prefix) == 0 {
		return s, true
	}
	if len(prefix) > len(s) {
		return s, false
	}
	for j, x := range prefix {
		if s[j] != x {
			return s, false
		}
	}
	return s[len(prefix):], true
}

func CutSuffix[S ~[]E, E comparable](s S, suffix ...E) (before S, found bool) {
	if len(suffix) == 0 {
		return s, true
	}
	if len(suffix) > len(s) {
		return s, false
	}
	i := len(s) - len(suffix)
	for j, x := range suffix {
		if s[i+j] != x {
			return s, false
		}
	}
	return s[:i], true
}

func main() {
	fmt.Println(Cut(strings.Fields("a b c")))
	fmt.Println(Cut(strings.Fields("a b c"), "a"))
	fmt.Println(Cut(strings.Fields("a b c"), "b"))
	fmt.Println(Cut(strings.Fields("a b c"), "c"))
	fmt.Println(Cut(strings.Fields("a b c"), "a", "b"))
	fmt.Println(Cut(strings.Fields("a b c"), "b", "c"))
	fmt.Println(Cut(strings.Fields("a b c"), "a", "b", "c"))
	fmt.Println(Cut(strings.Fields("a b c"), "a", "b", "c", "d"))
	fmt.Println(Cut(strings.Fields("a b c"), "x"))
	fmt.Println()
	fmt.Println(CutPrefix(strings.Fields("a b c")))
	fmt.Println(CutPrefix(strings.Fields("a b c"), "a"))
	fmt.Println(CutPrefix(strings.Fields("a b c"), "a", "b"))
	fmt.Println(CutPrefix(strings.Fields("a b c"), "a", "b", "c"))
	fmt.Println(CutPrefix(strings.Fields("a b c"), "a", "b", "c", "d"))
	fmt.Println(CutPrefix(strings.Fields("a b c"), "x"))
	fmt.Println()
	fmt.Println(CutSuffix(strings.Fields("a b c")))
	fmt.Println(CutSuffix(strings.Fields("a b c"), "c"))
	fmt.Println(CutSuffix(strings.Fields("a b c"), "b", "c"))
	fmt.Println(CutSuffix(strings.Fields("a b c"), "a", "b", "c"))
	fmt.Println(CutSuffix(strings.Fields("a b c"), "x", "a", "b", "c"))
	fmt.Println(CutSuffix(strings.Fields("a b c"), "x"))
}

Should this also include Func variants? Just as we do with other function in the slices package.
func CutFunc[S ~[]E, E any](s S, sep ...E, eq func(E, E) bool) (before, after S, found bool)
func CutPrefixFunc[S ~[]E, E any](s S, prefix ...E, eq func(E, E) bool) (after S, found bool)
func CutSuffixFunc[S ~[]E, E any](s S, suffix ...E, eq func(E, E) bool) (before S, found bool)

Is this a common to have slices with inline separator elements?

I use this sort of method frequently when writing simple parsers, especially those involving whitespace-delimited formats. For instance, you'd iterate over lines with bufio.Scanner, tokenizer it with strings.Fields, then loop over it while the length is non-zero, eating one or more tokens at a time.
This sort of function would also ease checking for and removing a prefix or suffix from an arbitrary slice without needing to add error-prone length checks everywhere.

Making it variadic is asymmetric with string.Cut and friends, and raises a momentary confusion (resolved by the types)  about whether the function accepts a single prefix expressed as sequence of elements, or a set of possible prefixes. It would be clearer, while no less efficient, for the caller to construct the slice.
The design seems reasonable but I don't immediately recall many times that I've needed this function, perhaps because repeatedly searching for subslices feels like a sign that I'm using the wrong algorithm. (Substrings are different because they enjoy such highly optimized hardware and search algorithms.)


fix(plugin-runner): More details on pointer conversion failures

Description: This change set provides (1) additional debug infos in cases when conversions of pointers between the Rust world and the WASM world fail, and (2) fixes an existing misleading error message.
Related issue (if exists): This should help to make progress addressing https://github.com/swc-project/swc/issues/6249.

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

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

You can build by yourself and replace node binding to check the cause. This PR is not required

You need --features plugin

Thanks for the hint on the plugin feature. That is, actually the musl target has to be build to work with Napi? https://github.com/swc-project/swc/blob/410ec6f6c7cc234a7bf7b512508e2578989d4a33/.github/workflows/publish-node.yml#L62

I'm sorry, but I didn't get what you are saying. Can you explain in other words? (sorry for my bad English, I'm not an English native)

We are trying to build the SWC binaries such that they can be used within the NodeJs package, that is, to copy them in the end into ./node_modules/@swc/core of our NodeJs project to use our the build of SWC with the modifications we made for debugging purposes.
I think that having a list of steps to perform (starting with a fork of the SWC repo with some modifications) for such debugging endeavors would be helpful for the community as a whole. At least, I would appreciate it ;)
I am on a recent Linux machine with Ubuntu and 64bit.

One problem I am facing at the moment is that the SWC crates are used from the registry and not from the monorepo itself.

By patching the Cargo.toml as indicated above, I was able to reproduce use my own SWC binary. The plugin runner now fails with:
thread '<unnamed>' panicked at 'Should be able to convert the value -2147188304 to u32', /swc-fork/crates/swc_plugin_runner/src/memory_interop.rs:37:29

This is the adjusted output proposed by this pull request.

cc @kwonoj Any thoughts? I think it's -1. So it can be 32bit (wasm) vs 64 bit (host) I guess, but not sure if it's the case.

Yes, seems like it's some kind overflow peeking by number only, but to confirm we need to see if host created number larger than u32 really. I'm not sure either if  memory interop supposed to create 64 as allocation happens in wasm runtime would create wasm's memory boundary.

Would it make sense to use u32 for pointer values instead of i32? I am missing some Rust and WASM background here.
The code uses i32 for pointers where I would expect u32 to be more appropriate, for example:
#[tracing::instrument(level = "info", skip_all)]
pub fn allocate_return_values_into_guest(
    memory: &Memory,
    alloc_guest_memory: &NativeFunc<u32, i32>,
    allocated_ret_ptr: i32,
    serialized_bytes: &PluginSerializedBytes,
) {

I have changed the pointer types to u32 locally and things got better. Now I touched the 4GB barrier and got OOM errors. The memory graph with several invocations of SWC looks as follows:

I have produced this plot using mprof, a set of Python scripts that can also record memory consumed by child processes; it performs memory sampling.

Are you facing it with next dev server?

I mean, a long-running process

I am facing the problem when instrumenting a larger JS bundle with https://github.com/kwonoj/swc-plugin-coverage-instrument . I am invoking that plugin programatically. I am doing some additional transformations on the resulting AST.

The process is short lived.

I'm aware of the memory issue, but I didn't think someone would process a such big bundle

How big is it? What's the sum of all inputs to swc within a single process?

The file that is passed to SWC has 500KB (only) and is a small react application that was bundled using Vite/ESbuild. I would have bundles of 100MBs and more to work on.

(The size of the bundles to work on is actually the reason to use SWC instead of Babel).

Hmm... Then it's not the issue I was aware of

What do you think about changing the pointers from i32 to u32 in a first step? Does this make sense from your perspective?

At least, the real cause of the problem is no longer masked then:
    1: RuntimeError: unreachable
           at abort (<module>[35215]:0x935d9c)
           at std::sys::wasi::abort_internal::h58865237df468a7d (<module>[35129]:0x92f141)
           at std::process::abort::h74127d44f02b51e4 (<module>[35162]:0x9315d9)
           at rust_oom (<module>[35172]:0x931bb5)
           at __rg_oom (<module>[35260]:0x9379e3)
           at __rust_alloc_error_handler (<module>[12390]:0x431f7b)
           at alloc::alloc::handle_alloc_error::rt_error::he27203bd7d9482b1 (<module>[35249]:0x9374ba)

I think it's fine, but I want to ask @kwonoj about opinions

I think it is no harm to try, at least it shouldn't be a breaking changes. But as discussed above, if the input size is real culprit we don't have lot of options to solve it. wasm64 is probably not available in a short timeframe.

@kdy1 @kwonoj  I have pushed my changes. In case you would like to integrate my changes, I would welcome a review and would also be willing to do the necessary rework.

@stahlbauer  Please allow editing PR

@kdy1 : You should have the permissions now. Thanks.

As a follow-up, I have created the following ticket: https://github.com/swc-project/swc/issues/6404

@kdy1: I will have a look.


yder: init at 1.4.5

Motivation for this change
Is in lots of other repos: https://repology.org/project/yder/versions
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested compilation of all library files
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

What about this?
We can build it without systemd on non-linux. :)

@GrahamcOfBorg build yder

What about this?
We can build it without systemd on non-linux. :)

Good idea. Unfortunately it fails to build on darwin.

Let's hope this fixes it :D
@GrahamcOfBorg build yder

Oh, can you please have ofBorg run it on Darwin? @markuskowa
I'm not a privileged user so it doesn't build there.

Still fails on darwin.

Yes, still fails, but now during linking the test executable:
[100%] Linking C executable yder_test
/nix/store/37786hp65ar94pkml5yv40xa6gmjbkx0-cmake-3.13.4/bin/cmake -E cmake_link_script CMakeFiles/yder_test.dir/link.txt --verbose=y
/nix/store/2p5k5g7byv3vnswwlj5gramgrh31zdgm-clang-wrapper-7.1.0/bin/clang  -Wall -Werror -O3 -DNDEBUG -arch x86_64 -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/yder_test.dir/test/yder_test.c.o  -o yder_test libyder.1.4.6.dylib /nix/store/ggyq1118bh543dxzfab1bfd1d6zvs626-orcania-2.0.0/lib/liborcania.dylib /nix/store/lv0sjs2f6i3hidphrb2ijnzx1hjm0wwr-check-0.12.0/lib/libcheck.dylib /nix/store/7jmka06vi7mjsgg9i50lgw649azixb8m-subunit-1.1.0/lib/libsubunit.dylib -lm -lrt
ld: library not found for -lrt

Alright, I think I'm close. (Thanks for rebuilding :))
    Start 1: yder_test
1/1 Test #1: yder_test ........................Child aborted***Exception:   0.00 sec
dyld: Library not loaded: libyder.1.4.dylib
  Referenced from: /tmp/nix-build-yder-1.4.6.drv-0/source/build/yder_test
  Reason: image not found
0% tests passed, 1 tests failed out of 1

Don't know why it works on Linux but not all libraries are linked to the test binary.

Still the same problem.

Even more fixes:

Test for journald logging is not systemd specific and fails on darwin
If the working directory is different from the build directory, the
dynamic linker can't find libyder

You're sure you don't want to restrict it to Linux only? Without a mac it is pretty hard to test. In the end we might make it compile but that is no guarantee that it also runs reliably.

Yeah, you're right. But I'm so close ;) Got all the linker errors fixed and now only the test is remaining. I think I fixed that now.
I'll split my fixes and upstream those patches ASAP.
When it at least builds on darwin, other people can provide upstream with feedback whether it reliably works. Maybe even Nix on Darwin users.

Looks like it works now.


error: no devices/emulators found

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

refer #5

how to fix the error (error: no devices/emulators found List of devices attached)


Help wanted?

Hi @willirath @rcaneill,
I've been thinking to build a fairly simple package to make nemo files CF/comodo/S-grid/...-compliant.
I'm mainly interested in something that makes easy to use cf_xarray with nemo data, so analyses are more general and can be performed on different models/configurations. As you said, it's also good to make nemo more friendly to packages downstream of xarray, such as xgcm, pint_xarray, xorca, ...
Luckily I've seen your discussion about xorca and xnemogcm, and it looks like nemo_cf is what I'm looking for. You already put some thoughts into it, so there's no point in building something from scratch, especially because right now I only have a bunch of quick and dirty tools. Glancing through the notebook you shared, it looks like you still have to implement a few features, so I thought I'd let you know that I'd be happy to chip in!

Hi @malmans2. This would be great! Maybe we can have a chat some time in March?

(Also pinging @swantjebastin and @christophrenkl who contributed to Xorca.)

Hi @malmans2. This would be great! Maybe we can have a chat some time in March?

Sounds good!


Unable to install on Windows

Hi attempting to pip install dbt-hive on Windows 10
Unable to install the kerberos dependency
Initial error error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools":
With latest Build Tools then installed a more specific error:
fatal error C1083: Cannot open include file: 'gssapi/gssapi.h': No such file or directory
      error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for kerberos
  Running setup.py clean for kerberos
Failed to build kerberos

It is fixed as part of https://github.com/cloudera/dbt-hive/pull/119. Will be released next week on 1.4.0 release


[bug-1581]: Offline bundle contains Authorization v2 server images

Description
bundle/manifests/dell-csm-operator.clusterserviceversion.yaml, used to build an image manifest when building the offline bundle, is updated with the Authorization Server images.

Authorization v2 sample is created under config/samples for make bundle to generate an Authorization section in alm-examples in the bundle CSV.
bundle/manifests/csm-config-params_v1_configmap.yaml is created because the Authorization v2 sample file contains this
csm-authorization-sidecar images tags in the driver config/samples now use v2.0.0 to point to the latest release
RELATED_IMAGE environment variables and fields are updated with Authorization v2

GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

https://github.com/dell/csm/issues/1581

Checklist:

[ ] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[ ] I have verified that new and existing unit tests pass locally with my changes
[ ] I have not allowed coverage numbers to degenerate
[ ] I have maintained at least 90% code coverage
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have maintained backward compatibility

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration
Built the offline bundle, prepared it, and successfully installed Authorization v2.
e2e with Authorization v2 without the bundle:
 # ./run-e2e-test.sh --auth-proxy
Checking for dellctl - AUTHORIZATIONPROXYSERVER
/root/csm-operator/tests/e2e
  W1119 16:59:47.359073   23554 test_context.go:538] Unable to find in-cluster config, using default host : https://<IP_ADDRESS>:6443
  I1119 16:59:47.359310 23554 test_context.go:561] The --provider flag is not set. Continuing as if --provider=skeleton had been used.
Running Suite: CSM Operator End-to-End Tests - /root/csm-operator/tests/e2e
===========================================================================
Random Seed:<PHONE_NUMBER>

Will run 1 of 1 specs
------------------------------
[BeforeSuite]
/root/csm-operator/tests/e2e/e2e_test.go:98
  STEP: Getting test environment variables @ 11/19/24 16:59:47.359
  STEP: [authorization authorizationproxyserver] @ 11/19/24 16:59:47.359
  STEP: Reading values file @ 11/19/24 16:59:47.359
  STEP: Getting a k8s client @ 11/19/24 16:59:47.362
[BeforeSuite] PASSED [0.007 seconds]
------------------------------
[run-e2e-test] E2E Testing Running all test Given Test Scenarios
/root/csm-operator/tests/e2e/e2e_test.go:139
  STEP: Starting: Install Authorization Proxy Server V2  @ 11/19/24 16:59:47.366
  STEP: Returning false here @ 11/19/24 16:59:47.366
  STEP:      Executing  Given an environment with k8s or openshift, and CSM operator installed @ 11/19/24 16:59:47.366
  STEP:      Executing  Install Authorization CRDs [2] @ 11/19/24 16:59:47.459
  STEP:      Executing  Create [authorization-proxy-server] prerequisites from CR [1] @ 11/19/24 16:59:47.892
=== Creating Authorization Proxy Server Prerequisites ===

Deleting all CSM from namespace: authorization
  STEP:      Executing  Apply custom resource [1] @ 11/19/24 16:59:57.563
  I1119 16:59:57.568131 23554 builder.go:121] Running '/usr/local/bin/kubectl --namespace=authorization apply --validate=true -f -'
  I1119 16:59:58.113379 23554 builder.go:146] stderr: ""
  I1119 16:59:58.113462 23554 builder.go:147] stdout: "containerstoragemodule.storage.dell.com/authorization created\nconfigmap/csm-config-params created\n"
  STEP:      Executing  Validate [authorization-proxy-server] module from CR [1] is installed @ 11/19/24 16:59:58.113

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The pod(proxy-server-57b5bd9699-lmbvc) is Pending
The pod(role-service-5967bcbbf-fg4w9) is Pending
The pod(tenant-service-86dc6649bf-26kpd) is Pending

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 10s restarting failed container=proxy-server pod=proxy-server-57b5bd9699-lmbvc_authorization(1ed6deed-8e5d-4aa5-b55e-b859d5bffb88),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 10s restarting failed container=tenant-service pod=tenant-service-86dc6649bf-26kpd_authorization(e2dc9774-8169-4031-a801-2ed3aa064cd5),} nil nil}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 20s restarting failed container=proxy-server pod=proxy-server-57b5bd9699-lmbvc_authorization(1ed6deed-8e5d-4aa5-b55e-b859d5bffb88),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 20s restarting failed container=tenant-service pod=tenant-service-86dc6649bf-26kpd_authorization(e2dc9774-8169-4031-a801-2ed3aa064cd5),} nil nil}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {nil nil &ContainerStateTerminated{ExitCode:1,Signal:0,Reason:Error,Message:,StartedAt:2024-11-19 17:01:04 +0000 UTC,FinishedAt:2024-11-19 17:01:04 +0000 UTC,ContainerID:containerd://115da6a4aaa8233742c870287e02ea8277d5e431e7ea2807db77179a9523003c,}}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {nil nil &ContainerStateTerminated{ExitCode:1,Signal:0,Reason:Error,Message:,StartedAt:2024-11-19 17:01:06 +0000 UTC,FinishedAt:2024-11-19 17:01:06 +0000 UTC,ContainerID:containerd://b44ffe90c4c4739ac1f7ed0ff9d30c07c5aba648d5de52400747084ecbaf09dc,}}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 40s restarting failed container=proxy-server pod=proxy-server-57b5bd9699-lmbvc_authorization(1ed6deed-8e5d-4aa5-b55e-b859d5bffb88),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 40s restarting failed container=tenant-service pod=tenant-service-86dc6649bf-26kpd_authorization(e2dc9774-8169-4031-a801-2ed3aa064cd5),} nil nil}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {nil nil &ContainerStateTerminated{ExitCode:1,Signal:0,Reason:Error,Message:,StartedAt:2024-11-19 17:01:46 +0000 UTC,FinishedAt:2024-11-19 17:01:46 +0000 UTC,ContainerID:containerd://64c9c490949854fd33f448404b777ea706874f931ade1c4fc922a28b78e699b8,}}
The pod(sentinel-1) is Pending
The container(storage-service) in pod(storage-service-79f4b85947-nw22f) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 10s restarting failed container=storage-service pod=storage-service-79f4b85947-nw22f_authorization(c5c21c8a-e3b1-4cf9-8f29-37c3ed419ee3),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 40s restarting failed container=tenant-service pod=tenant-service-86dc6649bf-26kpd_authorization(e2dc9774-8169-4031-a801-2ed3aa064cd5),} nil nil}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 1m20s restarting failed container=proxy-server pod=proxy-server-57b5bd9699-lmbvc_authorization(1ed6deed-8e5d-4aa5-b55e-b859d5bffb88),} nil nil}
The container(storage-service) in pod(storage-service-79f4b85947-nw22f) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 20s restarting failed container=storage-service pod=storage-service-79f4b85947-nw22f_authorization(c5c21c8a-e3b1-4cf9-8f29-37c3ed419ee3),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {nil nil &ContainerStateTerminated{ExitCode:1,Signal:0,Reason:Error,Message:,StartedAt:2024-11-19 17:01:58 +0000 UTC,FinishedAt:2024-11-19 17:01:58 +0000 UTC,ContainerID:containerd://360fcad4110c64fe48d65fcf59192469c58c40da62c2ba8dda16a3daf0465885,}}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 1m20s restarting failed container=proxy-server pod=proxy-server-57b5bd9699-lmbvc_authorization(1ed6deed-8e5d-4aa5-b55e-b859d5bffb88),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 1m20s restarting failed container=tenant-service pod=tenant-service-86dc6649bf-26kpd_authorization(e2dc9774-8169-4031-a801-2ed3aa064cd5),} nil nil}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 1m20s restarting failed container=proxy-server pod=proxy-server-57b5bd9699-lmbvc_authorization(1ed6deed-8e5d-4aa5-b55e-b859d5bffb88),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 1m20s restarting failed container=tenant-service pod=tenant-service-86dc6649bf-26kpd_authorization(e2dc9774-8169-4031-a801-2ed3aa064cd5),} nil nil}

err: failed to check for AuthorizationProxyServer installation in default-source-cluster:
The container(proxy-server) in pod(proxy-server-57b5bd9699-lmbvc) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 1m20s restarting failed container=proxy-server pod=proxy-server-57b5bd9699-lmbvc_authorization(1ed6deed-8e5d-4aa5-b55e-b859d5bffb88),} nil nil}
The container(tenant-service) in pod(tenant-service-86dc6649bf-26kpd) is {&ContainerStateWaiting{Reason:CrashLoopBackOff,Message:back-off 1m20s restarting failed container=tenant-service pod=tenant-service-86dc6649bf-26kpd_authorization(e2dc9774-8169-4031-a801-2ed3aa064cd5),} nil nil}
  STEP:      Executing  Configure authorization-proxy-server for [powerflex] for CR [1] @ 11/19/24 17:03:49.3
=== Configuring Authorization Proxy Server ===
Address: csm-authorization.com
=== Generating Admin Token ===
=== Writing Admin Token to Tmp File ===

=== Creating Storage, Role, and Tenant ===

=== Storage, Role, and Tenant ===
 /usr/local/bin/kubectl apply -f testfiles/authorization-templates/storage_csm_authorization_crs_powerflex.yaml
Waiting 5 seconds before generating token.
=== Generating token ===

=== Token ===
 /usr/local/bin/dellctl generate token --admin-token /tmp/adminToken.yaml --access-token-expiration 10m0s --refresh-token-expiration 48h --tenant csmtenant-powerflex --insecure --addr csm-authorization.com:31963
=== Applying token ===

err: failed to apply token: exit status 1
ErrMessage:
Error from server (NotFound): error when creating "/tmp/token.yaml": namespaces "test-vxflexos" not found

=== Configuring Authorization Proxy Server ===
Address: csm-authorization.com
=== Generating Admin Token ===
=== Writing Admin Token to Tmp File ===

=== Creating Storage, Role, and Tenant ===

=== Storage, Role, and Tenant ===
 /usr/local/bin/kubectl apply -f testfiles/authorization-templates/storage_csm_authorization_crs_powerflex.yaml
Waiting 5 seconds before generating token.
=== Generating token ===

=== Token ===
 /usr/local/bin/dellctl generate token --admin-token /tmp/adminToken.yaml --access-token-expiration 10m0s --refresh-token-expiration 48h --tenant csmtenant-powerflex --insecure --addr csm-authorization.com:31963
=== Applying token ===

=== Token Applied ===

  STEP:      Executing  Delete Authorization CRs for [powerflex] @ 11/19/24 17:04:11.613
  STEP:      Executing  Delete custom resource [1] @ 11/19/24 17:04:12.327
  STEP:      Executing  Delete Authorization CRDs [2] @ 11/19/24 17:04:12.376
  STEP: Ending: Install Authorization Proxy Server V2
   @ 11/19/24 17:04:12.658
• [270.293 seconds]
------------------------------

Ran 1 of 1 Specs in 270.300 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
PASS

Ginkgo ran 1 suite in 4m41.804184588s
Test Suite Passed

Were any E2E scenarios run for this PR? Should they have been? It looks like pretty much everything here is changes to the baseline YAML configurations.

Not initially because I tested the offline bundle manually. I updated the description with an e2e run for Authorization v2 using this scenario:
- scenario: "Install Authorization Proxy Server V2"
  paths:
    - "testfiles/authorization-templates/storage_csm_authorization_v2_proxy_server.yaml"
    - "testfiles/authorization-templates/storage_csm_authorization_v2_crds.yaml"
  tags:
    - "authorizationproxyserver"
  steps:
    - "Given an environment with k8s or openshift, and CSM operator installed"
    - "Install Authorization CRDs [2]"
    - "Create [authorization-proxy-server] prerequisites from CR [1]"
    - "Apply custom resource [1]"
    - "Validate [authorization-proxy-server] module from CR [1] is installed"
    - "Configure authorization-proxy-server for [powerflex] for CR [1]"
    - "Delete Authorization CRs for [powerflex]"
    - "Delete custom resource [1]"
    - "Delete Authorization CRDs [2]"


Fixed Jenkinsfile typo

Issue #, if available:
Description of changes:
Fixed Jenkinsfile typo: autugluon-py3 -> autogluon-py3
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Updated test_check_style.py to correctly fail if PEP8 warnings exceeded.

Job PR-766-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-766/1/index.html

Job PR-766-3 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-766/3/index.html


use sh syntax highlight in README.markdown

Will make the doc easier to read.

Thanks, mind rebasing on top of latest master? :-)

Done.


Question:Tag specific examples of a Scenario Outline

I would like to add tags to specific examples of a Scenario Outline. Currently it only seems possible to add tags to the entire Scenario Outline so that all examples have the same set of tags. But if example 1 is supposed to have different tags than example 2 of the same Scenario Outline, I do not see a way to achieve this. Or is there a way?
Thank you!

You can tag specific examples. Just note that by Gherkin syntax you need to write another Examples keyword and tag it:
  Scenario Outline: Scenario with examples
    Then step <value>

    @mobile
    Examples:
      | value |
      | 1     |
      | 2     |

    @desktop
    Examples:
      | value |
      | 3     |

Ah great, thank you so much for the advice @vitalets !


MudSelect Chips Render

``Hello!
I have one problem and I realy don't know how to solve it. When I select the data in the select box the chips does show, but as soon as I close the drawer the chips dissaper.
If I use the select as normal I do get get the strings.
@typeparam TEntity where TEntity : IBunnyClientResponseExtensions
@typeparam TId
@inject IBunnyClient Client

@using System.Linq.Expressions;

<MudSelectExtended T="TId" MultiSelection="true" SelectedValues="@SelectedValues" SelectedValuesChanged="@SelectedValuesChanged"
                   Label="@Label" Dense="true" Style="margin:5px;" For="@For" ValuePresenter="MudExtensions.Enums.ValuePresenter.Chip"
                   ChipCloseable="true" ChipVariant="MudBlazor.Variant.Filled" ChipSize="MudBlazor.Size.Small"
                   Variant="Variant.Outlined" Margin="Margin.Dense" >
    @if (List != null)
    {
        @foreach (var item in List)
        {
            <MudSelectItemExtended T="int"<EMAIL_ADDRESS><EMAIL_ADDRESS>/>
        }
    }
</MudSelectExtended>

@code {
    [Parameter] public IEnumerable<TId> SelectedValues { get; set; } = default!;
    [Parameter] public EventCallback<IEnumerable<TId>> SelectedValuesChanged { get; set; }
    [Parameter] public Expression<Func<TId>> For { get; set; }
    [Parameter] public string Label { get; set; }
    [Parameter] public SelectFieldContext<TEntity> Context { get; set; } = default!;

    List<TEntity>? List { get; set; } = new();

    protected override async Task OnInitializedAsync()
    {
        if (await APIWrapper.ExecuteCallGuardedAsync(
                () => Context.LoadAllFunc(), Snackbar)
            is { } result)
        {
            List = result.Adapt<List<TEntity>>();
        }
    }
}

This is my select components
<SelectFieldMulti @bind-SelectedValues="Request.Sectors" For="(() => Request.ContractorId)" Context="SectorSelectContext" Label="@L["Sectors"]" />
This is how I use component
The Request.Sectors is a List
If i remove this part of code I do get selected sectors seperated by comma
ValuePresenter="MudExtensions.Enums.ValuePresenter.Chip"
ChipCloseable="true" ChipVariant="MudBlazor.Variant.Filled" ChipSize="MudBlazor.Size.Small"

Can you please help me where is the problem.

Which version do you use?

Do you have any more information, like screenshots etc?

Okei I have tried with the Combobox and did it a bit differently but it doesnt work :(
When I try to edit the Request I get the black Combobox, it works fine if I am on Create form.
<ComboField T="SectorResponse" @bind-Value="Request.Sector"
For="(() => Request.Sector)" MultiSelection="false" Label="@L["Label"]">
    <ComboFields Context="SectorSelectContext" T="SectorResponse"/>
</ComboField>

This is the Edit form
public class ComboField<T> : MudComboBox<T>
        where T : IBunnyClientResponseExtensions
    {
        [Parameter] public bool IsMultiSelect { get; set; } = true;

        public override Task SetParametersAsync(ParameterView parameters)
        {
            Variant = Variant.Text;
            Margin = Margin.Dense;
            ItemPresenter = ValuePresenter.Chip;
            InputPresenter = ValuePresenter.Chip;
            ChipCloseable = true;
            Editable = true;
            Color = Color.Primary;
            ChipVariant = Variant.Text;
            ChipSize = Size.Small;
            MultiSelection = IsMultiSelect;
            ToStringFunc = x => GetString(x);
            return base.SetParametersAsync(parameters);
        }

        private string GetString(T entity)
        {
            return entity.DisplayName ?? default!;
        }
    }

This is the ComboFields
@typeparam T where T : IBunnyClientResponseExtensions

@foreach (var item in List)
{
    <MudComboBoxItem<EMAIL_ADDRESS>Value="@item"></MudComboBoxItem>
}
@code {
    private List<T> List { get; set; } = new List<T>();
    [Parameter] public ComboFieldContext<T> Context { get; set; }

    protected override async Task OnParametersSetAsync()
    {
        if (await APIWrapper.ExecuteCallGuardedAsync(
        () => Context.LoadAllFunc(), null)
            is { } result)
        {
            List = result.Adapt<List<T>>();
        }
    }
}

Am I Stupid or where is the problem that the initial value is Null when I use this field on EditForm

+1 on this, having the exact same issue with a ComboBox inside a drawer. When initially selecting items, they are displayed. When I close the drawer and reopen, they aren't show in the input.

I just found the solution. It has something to do with the equality check. I changed my object from a class to a record and it started working. Might be useful that the documentation somehow shows this.


CMake SOVERSION

This pull request sets the CMake SOVERSION to VERSION_MAYOR.VERSION_MINOR in order to avoid compatibility errors due to API changes in minor releases.
Please, accept the following pull request first:

[ ] #117
[ ] #118

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows


Failed to install or list Qt IFW

Describe the bug
Failed to install or list Qt IFW.
To Reproduce

Run aqt list-tool linux desktop tools_ifw -l.
See error:ERROR   : Failed to download checksum for the file 'Updates.xml' from mirrors '['https://download.qt.io']
==============================Suggested follow-up:==============================
* Check your internet connection
* Consider modifying `requests.max_retries_to_retrieve_hash` in settings.ini
* Consider modifying `mirrors.trusted_mirrors` in settings.ini (see https://aqtinstall.readthedocs.io/en/stable/configuration.html#configuration)

Desktop (please complete the following information):

OS: [Linux, Windows]
aqt version [aqtinstall(aqt) v3.1.7 on Python 3.10.12 [CPython GCC 11.4.0]]

Duplicate #578. Try it again tomorrow. That command won't work until the server generates the sha256 hash, and that typically happens around 24 hrs after the release of a new version.

 Everything is fine now...


Update secure-baseline-aks-content.md

Added a link to the Related articles section. This will make it easier for readers, instead of having to scroll all the way to the bottom of the page

Thanks @ckittel; merging.


Dashboard - Sorting in List View

Bug Description
List view is appearing, but sorting by "Last Modified" isn't working correctly. Clicked the ascending/descending arrow once, and the sort changed (fine). Clicked the arrow again, and there was no change.
Expected Behaviour
Sort should toggle correctly between ascending order and descending order on clicking arrow
Steps to Reproduce

open Dashboard
go to My Stories
select List View option at far right
click arrow for Last Modified to change sort
Note that sort changes
select arrow again to change back

Sort doesn't change
Screenshots
Ascending:

same as Descending:

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

I cannot reproduce this neither locally nor on https://stories-new-wordpress-amp.pantheonsite.io/.
Close?

Still can't reproduce.
However, even if, I don't think this is a blocker for beta.

I can't reproduce this either. Works as expected.

Thanks for confirming @BrittanyIRL 👍


Remove attack and damage from Confused

Pretty self-explanatory. For some reason, the Confused condition had an attack and damage. I have removed them.

Very confusing indeed. :D


ipad 12.5.7 can't play video

I'm in ipad os 12.5.7
youtube 17.39.4 (it's my highest version)
youpip 1.7.19-2 (because 1.7.20 not working - can't able tweak)
Maybe it worked on youtube 17.20.3 youpip 1.7.2 but something got twisted and came to a higher version. And it's the same situation now. Can you fix it?

텍스트-11E27B314790-1.txt

not able is working
https://github.com/PoomSmart/YouPiP/assets/72609275/da01d3b8-0b02-4aeb-900b-09a8142d8107

able is not working TnT
https://github.com/PoomSmart/YouPiP/assets/72609275/52212a7a-7013-47e6-978d-966d1486ccf5

From my testing, iOS 12.5.7 jailbroken with Chimera will work, but checkra1n won't.
I concluded this to be a jailbreak-specific issue.


Question about stage 3

Hi, thanks for your great job!
Recently I've been reading your code and I have a question about stage 2(rectifying). You set lambda_adv_target1 and lambda_adv_target2 to 0 which means there is no adv training in stage 2(Right?), but you keep training generator with false instruction from discriminator(the weight of discriminators is not loaded in stage 3), you annotated here which means you keep training G, but here you never updated D, is this the right behavior or maybe I misunderstood sth?

Hi @wtupc96
Yes. In the stage 2, I do not train the D (by setting loss weight to zero) and keep training G.

But what about the false(I think) instruction from the random initialized D when training G?
发自我的小米手机
在 Zhedong Zheng<EMAIL_ADDRESS>下午6:04写道：
Hi @wtupc96https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwtupc96&data=02|01||c4528ae46e5b49d2ecfe08d80deed1ae|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637274666649084655&sdata=M%2F4ceqWqKN789%2Bc1HWCjp5ZMTBFmfIRvFN%2BzDPcJ6ZM%3D&reserved=0
Yes. In the stage 2, I do not train the D (by setting loss weight to zero) and keep training G.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flayumi%2FSeg-Uncertainty%2Fissues%2F5%23issuecomment-642546895&data=02|01||c4528ae46e5b49d2ecfe08d80deed1ae|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637274666649084655&sdata=yRvk8vS7%2BBCGv7kKjRxB2T%2BACnwjGGzelC9w%2FOKDSMI%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADXWRYGXAN7FG66LUOKOVOTRWCT2RANCNFSM4N3HQ23Q&data=02|01||c4528ae46e5b49d2ecfe08d80deed1ae|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637274666649094648&sdata=a5e1n2IIGiq1gwz5OKYA7yMggBdR84og1AIHwdkzU%2Fk%3D&reserved=0.

Sorry. I may not get your question.
In the stage 2, D loss is set to zero in this line.
https://github.com/layumi/Seg-Uncertainty/blob/master/trainer_ms_variance.py#L223
So discriminator will not affect G anymore.
I kept the loss calculation but it will not be back propagate to G.

Oh, I see. Thanks for your reply!


Restructure IoT documentation

Type of change

Documentation

Description
This is the first attempt to restructure the existing material according to #3423 proposal
We are limited by the nesting depth we can go with headlines so the deepest titles are not properly showed in the menu. I'm not sure what's the best way to overcome this. Maybe move everything one level up and lose the general "IoT Guide" level in the main menu, but have "IoT Overview", "IoT service admin guide" and "IoT tenant guide" instead?
Take a look and let me know what you think.

@jenmalloy Applied your changes. Can you take a quick look and re-approve?


how to run a test in local(win 10 or ubuntu?)

hello,i am a student of university. My  research orientation is information security and blockchain. I am very interesting in what you have proposed——hydrand，but pooring in programming limited me to make the next step——applying and extending your result.would you mind writing down how to make a local test specially？thank you very much！！（it doesn't matter if you were unwilling. ）

Hello,
Thank for your interest in the HydRand protocol.
I will update the README file in the next few days and add a section
describing how to start the protocol locally for testing.
Which university are you studying at?
Best greating from Vienna,
Philipp
Am Mo., 15. Apr. 2019 um 16:51 Uhr schrieb chenjinhua1993 <
<EMAIL_ADDRESS>
hello,i am a student of university. My research orientation is information
security and blockchain. I am very interesting in what you have
proposed——hydrand，but pooring in programming limited me to make the next
step——applying and extending your result.would you mind writing down how to
make a local test specially？thank you very much！！（it doesn't matter if you
were unwilling. ）
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PhilippSchindler/hydrand/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEE6xkJZ01tTWaeuHaqCCJJsFDsD3U-aks5vhJHPgaJpZM4cwLIC
.

thank you very much,Mr.Schindler！i am a graduate student from south china normal university. my previous is Electrical automation, now i turn my direction to computer science(security).This is a whole new area and i am exciting!

hello,
I updated the github page.
see the instruction at
https://github.com/PhilippSchindler/hydrand#running-hydrand-on-a-single-machine
Am Mi., 17. Apr. 2019 um 09:40 Uhr schrieb chenjinhua1993 <
<EMAIL_ADDRESS>
thank you very much,Mr.Schindler！i am a graduate student from south china
normal university. my previous is Electrical automation, now i turn my
direction to computer science(security).This is a whole new area and i am
exciting!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PhilippSchindler/hydrand/issues/1#issuecomment-483974076,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEE6xpZugWYDwDA-1CYt4BKr54ILzoMRks5vhs_5gaJpZM4cwLIC
.

appreciate！sorry about replying you so late.


Shell Scripts: some IF conditions are not POSIX conform

compilation on RHEL runs smooth
compilation on Ubuntu with /bin/sh returns
make config
/bin/sh: 1:   [[:  not found
Scripts should be coded for all kinds of shells and not rely on bash

this change is merged into master


Expose reqwest rustls features

By default, reqwest depends on openssl, which makes it a pain to use inside of docker images. You can avoid that dependency by turning off the default features and making it use rustls instead.
This PR exposes several reqwest features through the blockfrost crate. Now you can remove this crate's openssl dependency by turning off default features and turning on rustls-tls or whatever, in exactly the same way you do it when using reqwest directly. By default, it will still use openssl.
I also upgraded reqwest to the latest 0.12.7 version, looking at the changelog that looks safe and it still Works On My Machine.

Sorry for the delay, and thanks. I will release a new version soon.

Thank you!

https://crates.io/crates/blockfrost/1.0.3


WIP: start adding hotspot checklist

Fixes #80
Still WIP, making a PR to get a preview deployment

TODO:

[ ] Add styling to next / previous buttons
[ ] Figure out logic to conditionally hide "next" button when scrolled to the right of the container
[ ] Figure out another way to add padding to the right side of the container than with border-right: 30px with the same background-color
[ ] Add content from Figma file
[ ] Do design pass from Figma file (borders etc. are slightly off since I just eyeballed from initial screenshot)
[ ] Refactor code into separate files maybe
[ ] Add logic check for each card
[ ] Add some way to make it visually clear that there are more cards (e.g. a subtle shadow under the right side of the container)

can you add the intercom link here Daniel?

https://intercom.help/heliumnetwork/en/articles/3207912-troubleshooting-network-connection-issues

can you add the intercom link here Daniel?

https://intercom.help/heliumnetwork/en/articles/3207912-troubleshooting-network-connection-issues

It does actually show up inside the card when the hotspot is offline, so maybe I can just remove all the text from "Not online?" in the tooltip unless it's actually offline. I don't think I can add a link inside of the tooltip though.

can you add the intercom link here Daniel?

https://intercom.help/heliumnetwork/en/articles/3207912-troubleshooting-network-connection-issues

It does actually show up inside the card when the hotspot is offline, so maybe I can just remove all the text from "Not online?" in the tooltip unless it's actually offline. I don't think I can add a link inside of the tooltip though.

ah ok. Then we can remove the "Not Online?...." part in the tooltip and have the link appear in the card when it's offline.


Update model-lifecycle.md

Learn Build status updates of commit 20e3acf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/cognitive-services/language-service/concepts/model-lifecycle.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@aahill

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Button property containerElement is undocumented

In order to use a <Link> element with React Router, I used the containerElement property of a RaisedButton. To save digging through issue threads of semi-related issues, it would have been useful to have had this in the docs.
This has been raised before but not as a standalone issue.

@adamjcsmith Using the containerElement property is definitely the right approach.
Do you want to update the documentation?
That's also something we should be doing on the documentation for the navigation, E.g. https://github.com/callemall/material-ui/blob/master/docs/src/app/components/AppNavDrawer.js#L145

If you want use RaisedButton with <Link>, the easiest way in my opinion would be to wrap the RaisedButton tag around a <Link> tag.

@Shahrukh-Zindani What you are suggestion is semanticaly invalid. I wish composition what that easy, but it's not.

It's now documented, thanks @Shahrukh-Zindani.

It appears containerElement is still only documented for the "FlatButton" and "RaisedButton" components, not FloatingActionButton or IconButton: http://www.material-ui.com/#/components/flat-button . Not sure if this is worth a separate issue or if it should be addressed here.


#135 add a reference to matrix.xsd from the generated matrix.xml

@paulodamaso/z please, pay attention to this pull request

Job #288 is now in scope, role is REV

Codecov Report

Merging #288 into master will increase coverage by 0.11%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #288      +/-   ##
============================================
+ Coverage     75.13%   75.25%   +0.11%
- Complexity      178      179       +1
============================================
  Files            33       33
  Lines          1074     1079       +5
  Branches         85       85
============================================
+ Hits            807      812       +5
  Misses          236      236
  Partials         31       31

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/org/jpeek/Matrix.java
100% <100%> (ø)
11 <1> (+1)
:arrow_up:

Continue to review full report at Codecov.

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

@ilyakharlamov Please add a description to the pull request telling what you've done and referencing to the issue

@paulodamaso/z everybody who has role REV is banned at #288; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)

@ilyakharlamov Why have you added more things to this pull request?

@paulodamaso Not sure why it keeps pulling the unrelated stuff from my master. Do I need to create a separate branch for every pull request?

Job gh:yegor256/jpeek#288 is not assigned, can't get performer

The job #288 is now out of scope


fix: correct helm chart values format

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


Create a volatile key from VPUF to encrypt/decrypt data

Create a small nodeJS library (to publish on npmjs) that is able to do the following:
Given a file called uncloneable.txt the script has a function to encrypt/decrypt payload.
Each time a buffer of data need to be encrypted:

the uncloneable.txt content is read and used as seed
a key is created from the seed
key is used to encrypt and decrypt data

Note
uncloneable.txt is a fake uncloneable data that allow this encrypt/decrypt function to act as a VPUF

Hey team! Please add your planning poker estimate with ZenHub @JuriBog @jacekroszkowiakdev


kie-issues#112: DMN Editor - JavaAutocompletion module is not compatible with Java Languages Extension  >= 1.17.0

Closes https://github.com/kiegroup/kie-issues/issues/112
In progress

The (build) kie-tools-stunner-editors check has failed. Please check the logs.


split_batches instead of accumulate_grad_batches

🚀 Feature
Add a split_batches argument to the trainer that splits the batches of your dataloaders into smaller mini-batches (inverse of accumulate_grad_batches), without changing any of the other parts of training.
Optimizers would then only run every n mini-batches and for all other intents and purposes, it would appear the training/validation/testing happens with the original batch size.
Motivation
Imagine the following situation:
Researcher A develops a state-of-the-art technique for a certain tasks and develops an entire training pipeline with PyTorch Lightning. This researcher is part of a big fancy institute and has access to great computing infrastructure with the best GPUs with lots of VRAM. This allows him to train his model with a big batch_size and Researcher A thus figures it is necessary to set the batch_size of his training to 128 in order to reach good results. His entire pipeline (optimizer steps, training length, etc.) is thus built around this batch_size of 128.
He finally beats the SotA in his field and publishes a paper about it! :confetti_ball:
Researcher B, from a much smaller institute, reads about this paper and immediately sees a few possibilities for improving this new model! He quickly goes to github, searches for the new technique and is super happy to find that the original authors published some code in PyTorch. Even better, they used his favorite framework, PyTorch Lightning! :tada:
He pulls the code and data, and decides to first try and train a model to check whether he can reach the same accuracy. But alas, there comes the first issue, he does not have enough memory to train a model with that big batch_size. He tries to use smaller batch sizes, but this yields worse results, as this dataset is best trained with big batch sizes. Researcher B knows PyTorch Lightning well and thus uses a smaller batch_size of 32 and sets the accumulate_grad_batches to 4, in order to fake bigger batches of 128.
However, and here comes the frustrating part in all of this, in order to make these changes, researcher B had to go into the LightningDataModule and change the batch_size. He also needed to go into the LightningModules and adapt the optimizers and schedulers, as they were setup to run with an interval of 'step' (and now need to update 4 times slower). Finally, he cannot forget to run the training with the argument accumulate_grad_batches set to 4, otherwise his entire training will behave differently.
The moral of this made-up story is that the accumulate_grad_batches setting of the Trainer is an engineering trick, but in the current implementation it has quite a substantial influence on some of the hyperparameters of the model, which are RnD settings. IMO, the various Trainer parameters should not influence the results of training (or at least have minimal effect on it).
You should be able to define your training hyperparameters from a research/scientific point of view and only have to worry about the engineering part when starting your training, without both choices influencing each other.
Pitch
I would like to add a split_batches=n argument to the Trainer class, which will reduce the batch_size / n of all dataloaders, but run then run the forward pass of the n times before performing running the optimizer/scheduler/...
For every part of the training, it would act as if the training is using batch_size, but only the actual batches would be smaller.
In contrast to accumulate_grad_batches, this flag allows you to choose a different effective (mini-)batch size depending on your system and resources, without affecting anything else in the code (or needing to modify different parts of the model/data to match the original training).
The only minor issue I see with this flag, is that your choice of batch_size might not be divisible by your settings of split_batches. In reality, batches are usually factors of 2 and finding a proper split value should be doable, but if the values do not match, we can do the following:
batch_size = 130
split_batches = 4

mini_batch_size = round(130 / 4) = 32
new_batch_size = 4 * 32 = 128

This would mean the training uses an effective batch_size of 128, which is not the same as the original 130, but is  the closest value that matches and hopefully should only have a minor influence on the results.
We would also log a warning to the user that we are unable to match the original batch_size.
An alternative might be to ceil the mini-batch size, as a bigger batch_size is usually better than a small one, though this is open for discussion.
Alternatives
Obviously, this argument is quite similar to accumulate_grad_batches, but I think I highlighted the reasons for this argument enough in the text above.
I think both arguments can exist next to each other, as long as you dont use both at the same time.
In the long run, you could decide to deprecate accumulate_grad_batches, but that decision is not mine to make.
Additional context
I would love to contribute to this project and what better way than to implement something I am requesting myself.
However, I looked through the Trainer class and noticed it is quite a complicated setup you got there.
I think we would need to adapt the training loop logic in order to run through n batches, and set self.trainer.batch_idx = batch_idx / n.
Alternatively, we could provide something like the tbptt_split_batch functionality, in order to split an existing batch further during runtime. This involves adding some logic to should_accumulate(), in order to disable the backward pass.
If you agree that this feature would be nice to add, it would be nice to get some pointers on where to best start implementing this feature! :innocent:

Hey @0phoff,
Yes, we are already planning to add  micro-batches training. Feel free to checkout from 1.2-dev branch and start adding this feature. Ping me for review when ready.
self.trainer.batch_idx can be fixed to the current batch_idx and split_idx should be used to design micro_batch_idx.
Best regards,
chaton.


Unbound versions post August 3 2017 do not reset rrset.bogus stats when called using stats_noreset

We were seeing the following graph prior to upgrading unbound from 1.4

and once we upgraded to 1.7 we have been seeing the following

Per https://github.com/NLnetLabs/unbound/blob/master/doc/Changelog
3 August 2017: Ralph
    - Remove unused iter_env member (ip6arpa_dname)
    - Do not reset rrset.bogus stats when called using stats_noreset.
    - Added stats for queries that have been ratelimited by domain
      recursion.
    - Do not add rrset_bogus and query ratelimiting stats per thread, these
module stats are global.

The README.md for unbound_exporter states
This exporter connects to Unbounds TLS control socket and sends the stats_noreset command

As a result of the unbound change from above, we altered our prometheus query from unbound_rrset_bogus_total to sum(rate(unbound_rrset_bogus_total[$interval])). The numbers seem off and I'm not quite sure what the solution is here. Is this something that the unbound exporter should handle depending on the version of unbound? Here's what the graph looks like with the prometheus query change.

In the Unbound documentation it says:
num.rrset.bogus
The  number  of rrsets marked bogus by the validator.  Increased
for every RRset inspection that fails.
From this can be concluded that the new implementation in version 1.7 is a counter that is incremented and never reset to zero, which was the case in version 1.4. In the unbound exporter, the metric is also implemented as counter metric, so that is good.
Since we are not using this metric, I am not sure if this is a good solution.
When you are calculating the rate of this counter metric with interval 5m for example, the amount of rrset bogus messages is 10, the value will be 2. If you multiply that value by the interval time you get 10 again. This is not a nice solution I guess, but it is the closest to your original graph as I could get.
What I did: rate(bogus[2m])*2