[Feature Request] Support publishing to several open pull requests

In my company, it is very usual to open several pull requests at once from the same branch (targeting different environments).
A common similar case would be when you make a hotfix and create pull requests both to prod and main branches at once.
Therefore, we fall most of the time into the error
Error: Found multiple open pull requests in repo [...] with commit [...] as current head or merge commit
I would like this action to support commenting all open pull requests matching the query done.
Reading over the code, I think we could rework the if condition to a for loop, and rework the get_pull method to return a list of open pull requests.
Would you agree with that?
I'm open to making the changes if you flag it as "Good First Issue" 😄

I fully agree. Just wondering if this should be the default behaviour or a special feature. Might there be a common situation where multiple PRs exist where you don't want test results to be published to all of them?

I honestly don't have any idea when I'd want an open PR not to be aware of latest build status on their head commit. Maybe forks/dependabot PRs? Still, if the action is able to decorate them, I don't see why not.

Finding PRs for a commit also returns PRs in forks. I think I was thinking of that situation, but since PRs only from the "current" repo are considered now, this is not an issue any more. So I cannot think of a situation where it is not desirable to decorate all PRs in the repo with test results for a given commit.
When someone comes up with a use case of not decorating all PRs, we can come up with a way to configure this.
So please go ahead!

Github UI does not seem to support multiple PRs in the same repo for one source branch very well. Once a branch has a pull request, the UI does not provide you with a button to create a new PR (in the various places where this is possible), but links to the existing PR.
The only way to create additional PRs through the UI that I have found is to compare your source branch with your second target branch by constructing the right URL following this pattern: https://github.com/{USER}/{REPO}/compare/{TARGET}...{SOURCE}. That branch-compare page allows you to create a PR for your other target branch.
Once you have multiple PRs in your repo for your branch, the UI fails to show them all. The branches page only shows one PR per branch, probably the one created first, while the individual branch pages only shows the PR created last.
How do you keep track of all the PRs for a given branch in the GitHub UI?

We create them with command-line 😆


modal now uses document.width instead of window.width

I hope this will resolve an issue we are having with the 3DS modal.
for it's dimensions, it would use the window's width instead of the document's width.
It causes two issues on our integration.
When the dev tools are open, the modal window is not centered.
When we use the 3DS modal inside another iframe, the window stays centered according to the window instead of the iframe

I am hopefull that this commit fixes this issue, but only for the Mock version of the 3DS modal.
We may need to do a similar modification on the actual modal as we found that it was using a fairly similar function to resize itself:
in src/processout/modal.ts: line 108
window.addEventListener("resize", function(event) {     iframe.width = window.outerWidth + "px";     iframe.height = window.outerHeight + "px"; });

Unfortunately, as your commits aren't signed we won't be able to merge this PR (learn more about signing your commits here: https://help.github.com/en/articles/signing-commits)
We'll be implementing your changes on our side, and closing this PR. Thanks again!


Figure out how to run powershell scripts through Go

Totally possible, just needs some configuration to allow the running of scripts. https://groups.google.com/forum/#!topic/golang-nuts/AQJqVq1PymM

While this post isn't about PowerShell scripts specifically, it shows how to run external scripts and binaries with arguments.


Unit Tests

Need unit tests.  This may requires some complex setup, given the nature of this library.

Extensive tests have been added with version 3.0.0.


Mobile menu with Javascript

In this pull request,
Functionality was added to the portfolio through Javascript.
The mobile menu of the portfolio was worked on. Hence, when the portfolio is being checked on screens with their width being less than or equal to 800px, the navbar is hidden and a hamburger is displayed.
Javascript was added to fulfill the following requirements

When the user clicks (or taps) the hamburger button, the mobile menu appears.
When the user clicks (or taps) the close (X) button, the mobile menu disappears.
When the user clicks (or taps) any of the mobile menu options, the mobile menu disappears.
When the user clicks (or taps) any of the mobile menu options, a correct part of the page is displayed.

Hi @lily-coder @DammyShittu,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


TapGestureRecognizer  in TextSpan not working

Code
TextSpan(
  text: 'See_More',
   style: TextStyle(
  color: Colors.deepPurple, fontWeight: FontWeight.bold),
 recognizer: new TapGestureRecognizer()..onTap = () => print('Tap Here onTap'),
)

Logs
The name 'TapGestureRecognizer' isn't a class.
Try correcting the name to match an existing class.

Hi @Zeeshan-progs
You need to impot import 'package:flutter/gestures.dart';

code sample
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Material App Bar'),
        ),
        body: Center(
          child: RichText(
              text: TextSpan(
            text: 'See_More',
            style: TextStyle(
                color: Colors.deepPurple, fontWeight: FontWeight.bold),
            recognizer: new TapGestureRecognizer()
              ..onTap = () => print('Tap Here onTap'),
          )),
        ),
      ),
    );
  }
}

Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Remove: purocean.YankNote version 2.6.1

## .\Tools\YamlCreate.ps1 -SkipPRCheck -Mode 5 -PackageIdentifier purocean.YankNote -PackageVersion 2.6.1

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run


Cuda support

Adds support for CUDA acceleration in optimization and cache generation on local machines.
Implementing this required changes to dadi cache generation code to switch mp argument to cpus and gpus. So without this, dadi-cli is no longer compatible with dadi.
To specify different numbers of cpus and gpus, for dadi-cli this replaces the --threads option with --cpus and --gpus.
I also replaced the manual scripts for running the README with a script that parses the README.md file itself, to ease maitainance.

Merged with Xin's approval


KAFKA-16722: Introduce ConsumerGroupPartitionAssignor interface

KIP-932 introduces share groups to go alongside consumer groups. Both kinds of group use server-side assignors but it is unlikely that a single assignor class would be suitable for both. As a result, the KIP introduces specific interfaces for consumer group and share group partition assignors.
This PR introduces only the consumer group interface, o.a.k.coordinator.group.assignor.ConsumerGroupPartitionAssignor. The share group interface will come in a later release. The existing implementations of the general PartitionAssignor interface have been changed to implement ConsumerGroupPartitionAssignor instead and all other code changes are just propagating the change throughout the codebase.
Note that the code in the group coordinator that actually calculates assignments uses the general PartitionAssignor interface so that it can be used with both kinds of group, even though the assignors themselves are specific.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@dajac I think this PR should suffice to get the ConsumerGroupPartitionAssignor interface in place for AK 3.8.

@AndrewJSchofield Thanks. I will review it this week.

Rebased to resolve merge conflicts.

@AndrewJSchofield Thanks. The build is all red. Could you please take a look?

@AndrewJSchofield Could you please trigger a new build? Apparently, the "rebuild" button is not there any more in the Jenkins UI, at least for me.

@dajac Absolutely. Retriggered. The Java 8 build failure on the previous run looked like an infra problem, but worth getting a good one before merging.

@AndrewJSchofield The build is all red. Could you please take a look?


corrosion_import_crate: Fix PROFILE argument

Do not forward the PROFILE argument from corrosion_import_crate to _generator_add_cargo_targets.
Closes #495.

Thanks for the PR! Yes, it's a leftover from 411a7f37abf3cdc7941c70ff166a06aef19cacd3, where the PROFILE argument was changed to be set via target property and not propagated down the call-chain anymore.


add "bin/" to .gitignore file, and delete 'bin' folders from Github

If user needs DLL files, put them into separate folder in the repo root

Fixed with commit 087cbea4e23d1d6fb673ddddf305e1a343c4ca1d


Add PA command (early feedback)

Opening this to gather some initial feedback on the new pa command and subcommands.
N.B. 2 commits in this PR, the second one should be ignored (as per commit title).

Just some general comments, as mentioned on slack I am OOO so can look in depth later

Thank you for the feedback @ripienaar

@ripienaar this is in shape for a review
Notice it's 2 commits, one of which will be discarded (temporary package renaming) once you're happy with the shape of things and I open an actual (non-draft) PR.

@ripienaar I believe i addressed everything. Squashed to 1+1 commits since the second one is tangential to audit


Link to Documentation

http://mapnik.org/node-mapnik/documentation/
Right now there's no link to documentation in the repo, so people are left to Google for it. Could we update the repository URL to point to it?

Great idea @brianreavis - updated the URL!


Possible to get working on SiteConfig?

We are dealing with a very bloated SiteConfig (the DB table is getting too wide, lol).  So I'm considering moving some of the siteconfig data to a separate data-object.  This module seems perfect, but I'm having a little issue with getting the fields populated.
The method updateEditForm needs the $form object to be passed, but I can't seem to obtain that (the $form object) from with the site config extension.
Does anyone know of a trick to get this working on the siteconfig ?

I would have thought this works out of the box... hmm..
(The form object is injected by the extension hooks in https://github.com/silverstripe/silverstripe-framework/blob/5/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php#L307 and https://github.com/silverstripe/silverstripe-cms/blob/5/code/Controllers/CMSMain.php#L1393. Have a look at how extensions work and pass on variables in SS on https://docs.silverstripe.org/en/5/developer_guides/extending/extensions/#modifying-existing-methods.)
Can you try to add the following config to your app's yml config? Maybe the extension is not being applied to the siteconfig's CMSMain subclass and needs to be added manually. If this works, we can submit a PR to the module to add this config.
(I haven't tried this snippet myself, it's just a guess... ;) )
---
Name: app-hasoneedit
After: 'hasoneedit'
Only:
  moduleexists: 'silverstripe/siteconfig'
---
SilverStripe\SiteConfig\SiteConfigLeftAndMain:
  extensions:
    - SGN\HasOneEdit\UpdateFormExtension

Hi Florian,
Thank you very much !! That did the trick.
Makes sense now I look at it.  The left and main is responsible for the form itself, right?

Hi Lars,
I have created a pull request (https://github.com/stevie-mayhew/hasoneedit/pull/27) to add that config to the module.
LeftAndMain is the main back-end controller for the admin. It has two subclasses, CMSMain for pages and SiteConfigLeftAndMain for the siteconfig (plus some more for other things). The forms are loaded through these controllers' getEditForm() method, the form fields are loaded via the getCMSFields() method of the edited DataObject (here SiteConfig).


Adds default_branch example to project_config

The example config makes extensive use of "main" as the default project branch, but the setting isn't present in the example config.
It falls under the umbrella project_config (with a full list of settings available via GitLab documentation), but given that it's relevant to other options in the config file, I've added it here as well.
(This solves issue #182 that I opened in ignorance.)

Thanks for the contribution @llamasoft ! Perhaps thanks to it someone will not get mislead in the future. 😊


Very basic question: How to encode for sending?

Sorry I know this is the most basic functionality, but this is my first time using protocol buffers and I'm also fairly new to Rust. I have my proto file being compiled correctly, and I'm able to import the generated Rust module, instantiate messages, and populate values. What method should I call to convert it to text/binary/whatever to send over the wire (a websocket, if that matters) for decoding by my javascript (protobuf.js) application?
Sorry if this is documented some and I missed it. Digging through the generated Rust file didn't yield anything obvious to me either.
Thanks!
//anders

Well answer depend on what exactly you need to do.
For example, if you want to convert a message to bytes, you can simply call a function like message.write_to_bytes().
This function is defined in trait Messate, so you didn't find it in generated code.
If you need a text representation of message, you can call protobuf::text_format::fmt(message, f).
Sorry for late response!

Hi @stepancheg, I'm struggling with the inverse of this question. I'm trying to create a message from bytes. I have a Vec<u8> but I'm not finding the correct function to use on my message. I've also tried CodedInputStream, but am not winning.
What function can I call to create a protobuf message from bytes?

@nevi-me there's a protobuf::parse_from_bytes function which parses bytes into a message.
I should probably write a FAQ. Fell free to ask questions if you have ones.

If you offer guidance on where we can place the FAQ, I can submit some PRs for some of the questions that I've seen on the issues. Granted I'm still reading up on the API, so some of my answers might not be the most eloquent/efficient ways of doing things.
For example, I eventually went with:
let mut org = common::Organisation::new();
org.merge_from_bytes(bytes.as_ref());

By creating a new message, and merging the raw bytes of the message I want.
To close out my question, once I have a ProtobufResult, what do I do with it to convert it into my common::Organisation message?
Thanks, really appreciate your help.

If you offer guidance on where we can place the FAQ

I think FAQ.md in the root of the repository would be the right place.

can submit some PRs for some of the questions that I've seen on the issues

I'll appreciate that.

To close out my question, once I have a ProtobufResult, what do I do with it to convert it into my common::Organisation message?

The same thing you usually do with Result: call .unwrap() to panic on error or handle error gracefully:
match org.merge_from_bytes(...) {
  Ok(..) => println!("hooray! parsed message is already in org variable"),
  Err(e) => { println!("I've got an error {:?}, e); return; }
}

Note that merge_from_bytes doesn't check that all required fields are set when syntax is proto2. Nobody seem to use required fields, but anyway.


Error importing MS Visio diagram

I am trying to import a MS Visio diagram into draw.io but it hangs with the spinning icon running forever and the browser almost freezed.
In the javascript console lots of errors are reported concerning the 'path' attribute value, like the following:
app.min.js?WB_REVISION=69b9f7b905b30ccf4127a31e0d83bc3d:453 Error:  attribute d: Expected number, "…41.95 10 L 1841 1.57900127560107…"
I also tried to convert it in vsdx format (from original vsd format) prior trying to import but it doesn't help.
Importing the same file with LibreOffice works quite well, thought some lines are not perfectly connected to their shapes.
Attached full browser console log and the (zipped) affecting diagram
www.draw.io-1589212939474.log
PR-41-05-01.zip

Enviroment is:  Linux Opensuse Tumbleweed + Google Chrome 80.0.3987.149 (64 bit)
same behaviour on: Windows 10 + Google Chrome 80.0.3987.149 (64 bit)

How was this created. We tried to open using Visio online and that failed as well.

I don't know  Visio Online, but for sure that file has been created with MS Visio 2013


Error codes

Starting with version 1 grbl does not send descriptions for error messages and settings. It would be useful if there is some sort of "translation" done by cnc.js...
All the codes descriptions are available at https://github.com/gnea/grbl-Mega/tree/edge/doc/csv

Added error messages in 1.8.14

Yes, it works as shown above. I see that ALARM and Settings, not yet implemented, but will be as well?
Would maybe be nicer if the error is displayed in a more "human" way (not that we don't read json) ?
Smth like:
Grbl 1.1e ['$' for help]
[MSG:'$H'|'$X' to unlock]
> M6
Error 9: G-code lock

or even
Grbl 1.1e ['$' for help]
[MSG:'$H'|'$X' to unlock]
> M6
G-code lock (error 9)

Maybe, a mouse over long description ("G-code commands are locked out during alarm or jog state.") which would benefit those starting to explore cnc ?

Detailed descriptions for ALARM and $$ will be implemented in a later version.
In my example above, I displayed additional error message in a well-formed json format {"err":{...}} that's because I want to differentiate translated result from Grbl's error message, especially showing the line number that caused an error while sending a g-code file.

Use a human readable format is fine with me for your suggestions, I will try to find a better format to display errors.


[Bug]: WAU autoupdate disabled.

The problem
We used your package from MS store and why it's by default updates for WAU turned off?  We did not changed anything
What version of WAU has the issue?
1.17.8
What version of Windows are you using (ex. Windows 11 22H2)?
22H2
What version of winget are you using?
1.7.10661
Log information
No response
Additional information
No response

thank you for the hard work , basically it works OK ,
Same here, it seems that this doesnt got updated , what are the plans to fix this?
there are bugs on relaying on the exclud appl list, where some apps got updated regardless of being stated in the black list,
im looking to evaluate if its due to the old version of WAU, nut it set not to be updated when looking on the lastcommand initiated
-silent -DoNotUpdate -DisableWAUAutoUpdate -NoClean -NotificationLevel Full -ModsPath "C:\ProgramData\Winget-AutoUpdate-Configurator\mods" -UpdatesInterval Daily -BypassListForUsers -UpdatesAtLogon -StartMenuShortcut -InstallUserContext -ListPath "C:\ProgramData\Winget-AutoUpdate-Configurator"

Updates are provided by the Microsoft Store or manually through a new MSI package. One aspect of this project is code integrity and therefore all powershell/binary code is signed.


Small updates to German translation

Small changes I just came across, keep up the great work 🙌
Changes explained:

Line 165: "Abgeben" is closer to "submit" and sounds more natural in German. "Hinterlassen" has more a notion of "leaving sth behind" and is not as suitable AFAIK.
Line 186: Added the correct ending for " intelligenter" (female accusative). Small nit-pick.
Line 410: Replace the "sie" referring to the trackers with a "diese" (equals "those") to avoid the confusing "sie Sie" situation
Line 411: Added a missing colon after "Hinweis". Works the same as "Note: There will be dragons." in English.

Thanks for the contribution!


[kw41z] OPENTHREAD_ENABLE_CLI_LOGGING no longer supported

The example platforms kw41z and efr32 include a header <cli/cli-uart.h> and a call to a function otCliLog that are enabled when the macro OPENTHREAD_ENABLE_CLI_LOGGING is defined.
It seems that the header nor the function no longer exist, per https://github.com/openthread/openthread/commit/da357701406a38a94478b7f8c6a90f09cded0166
However, src/cli/cli_uart.cpp still supports extern "C", so should this header be recreated and where?

Adding a C header with prototypes corresponding to cli_uart.cpp and changing otCliLog  to otCliPlatLogv fixed the issue for me on kw41z.
As I can not be sure about the intent when the header file was removed, I would like some advice as to how this issue should be resolved correctly. I'll gladly make a PR upon feedback on this issue.

@rdewaele, thanks for reporting this issue.  The macro OPENTHREAD_ENABLE_CLI_LOGGING  and function otCliLog is not longer used and these other calls you point out should be removed.  The examples examples/platforms/efr32/logging.c and examples/platforms/kw41z/logging.c should be replaced with examples/platforms/cc2538/logging.c.  Feel free to submit a PR that cleans this up.  Thanks!


Added getBuildsSaga unit test

Added getBuildsSaga unit test for issue #60

Can one of the admins verify this patch?

ok to test


forward arguments for naming #117

by forwarding argument is it possible to influence the log_dir and comment to fix naming of tensorboard runs

This pull request fixes #117


Update Gradle to 8.3, and node plugin to latest

Also updated some dependencies.
I don't think we can move to react 18 without a big upgrade of the material-ui libs.
I'm not 100% this is correct, but it builds, and I can dev locally against a local starter.
Closes #94

@sdelamo You shouldn't do, as now it downloads and installs a version of node to build the app
So it's being built with
> Process 'command '/Users/sdelamo/github/micronaut-projects/micronaut-starter-ui/.gradle/nodejs/node-v18.17.1-darwin-arm64/bin/npm'' finished with non-zero exit value 1

Can you try removing your node_modules directory with
rm -rf app/launch/node_modules

And then try again?

I tried with a different computer and it loaded 🤷🏻♂


fix: Pytests

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

Project coverage is 72.73%. Comparing base (9bfd582) to head (ccb29b2).

Additional details and impacted files
@@             Coverage Diff             @@
##           master     #684       +/-   ##
===========================================
+ Coverage   48.82%   72.73%   +23.90%
===========================================
  Files          37       23       -14
  Lines        2550     1544     -1006
===========================================
- Hits         1245     1123      -122
+ Misses       1305      421      -884

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


Add IceHawk to list of micro frameworks

IceHawk is a micro framework designed to build web applications and APIs following the CQRS (Command Query Responsibility Segregation) approach. It is stricly typed and written for PHP >= 7.0. https://github.com/icehawk

The DNS issue with plugins.cakephp.org was solved (https://twitter.com/savant/status/798587996245295104), the build should pass now.


Redundant “Do not provide this data” in  “Associated Publications”

Tester comment:
In section “Associated Publications”  there are two “Do not provide this data”. I think one of them is unnecessary.

Many changes will happen - but we should have this in mind for some items.

This section will be simplified, so this should no longer be an issue as  of general parameters version 0.9.17


gRPC/HTTP2 support

When will AGIC support http2?  This is becoming more important as we deploy gRPC services to AKS.
I know I can workaround this with grpc.web but it is adding extra steps to our development.

Please provide an ETA on the gRPC support

Any update on this @mscatyao?

HI @mscatyao is there an update of the gRPC ETA?

+1

If working with AKS, the nginx ingress can be modified to receive gRPC traffic in Azure.

We are planning to work on gRPC in CY22, we should have a better idea of approximate ETA around Feb 2022.

Any update on supporting gRPC?
Is there a change it will be in CY22?

Any updates on this @mscatyao ? We have been using gRPC for over two years now and been forced to use both AGW and Azure Firewall. HTTP3 is just around the corner and we still don't have HTTP2 in any of the current Azure products.

@jovicde any updates on supporting HTTP2 or gRPC in the AGIC?

@jovicde any updates on supporting HTTP2 or gRPC in the AGIC?

Not that I am aware of. We switched to SignalR due to lack of gRPC support in Azure. Also, SignalR supports true bi-di communication, while in gRPC we had to deal with infinite function calls to eventually fire server-sent events. Felt a bit like the forever frame in the good old days.

We are adapting our services to use HTTP/2 it would be necessary for us to have this feature.

Is there any update on gRPC support?

Microsoft just told me

This topic is still in the backlog of the team, and we do not have an ETA on it.

Thanks for passing this on @e96wic and good to know, though seems to confirm this is not their priority and no point holding breath on it. No ETA = don't count on it any time soon, if i read between the lines.

Hello, is there yet support for HTTP2?

@mscatyao is this on your schedule for 2023?

I've deployed a container that I want to support Bidirectional streaming.
When running locally (in VisualStudio on laptop) the code does (and is expected to) "wait" here
await foreach (var y in z.ResponseStream.ReadAllAsync(ct))
{ code is supposed to wait here... } [all this works as expected on local laptop]
When the code is deployed behind the ApplicationGateway any attempts to access the ResponseStream doesn't appear to be an option.
System.InvalidOperationException: Can't write the message because the request is complete.
I get an IOException when using ApplicationGateway while attempting to try and support the Bidirectional streaming. Example: IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
This is an example proto file for context.
rpc SubscribeBiDirectionalStream (stream SubscriberResults) returns (stream SubscriberResult);
I suspect based on the comments above that the ApplicationGateway can't support bidirectional streaming.
I've tried gRPC, and gRPC-Web and can't get either to work behind the ApplicationGateway with bidirectional streaming.
Should I just drop the ApplicationGateway and switch to a direct NGINX ingress controller?
Any timelines, thoughts on how to go about supporting bidirectional streaming/websockets?

We switched completely to https://github.com/traefik/traefik, @jcoxcomdata it might be an option for you.

Hello guys
Is there any news about supporting gRPC in AGIC?

@akshaysngupta Any comment about this feature? Is there still any plan? It's quite critical if we want to use AGIC.

We are experiencing faulty behavior because HTTP2 is enabled on Azure Application Gateway and I now find out agic does not support this. Weird functionality mismatch IMO

We need this :-(

Its good to see that I am not the only one who finds this weird 🤣

MS seems to not care about feature that does not bring revenue...  (or promotes competitors products like grpc) :(

Is using the Azure Load Balancer with a different ingress controller a viable alternative?

You can mix and match ingress controllers. We use both the appgateway and the nginx ingress controllers, nginx will use the load balancer deployed for the nodepool.
Another annoying quirk of the appgateway is that if you have frontdoor/cloudflare at the top of the ingress, the appgateway will rewrite X-Forward headers from frontdoor/cloudflare, you need to put in a special policy to re-write them again to what frontdoor outputs.

If we use the default Nginx ingress controller to publish services what's the reason for mixing it with AGW - you can publish APIs/gRPCs/frontend/etc. So what's the reason to use AGW at all? (the logical question isn't it?)
But for me, it's rather a question of not using lots of solutions and not creating chaos in the system) (except of using benefits of AGW by default)

Hello
Guys, is there any news about supporting gRPC?

Hi everyone,
Any update on gRPC or any alternative solution?

greetings from 2024, where gRPC is finally taking the place of that global hallucination that was REST and the ambiguity of data shared with json, for service-to-service calls at least
it would be very nice if such a feature was supported on Azure App Gateway! We can do it on e.g. AKS, why not here? 🙏

Hi everyone, Any update on gRPC or any alternative solution?

@nvenkatapavan We uses nginx ingress togther with azure's Layer 4 LB.
check the Configure ingress nginx Section in  https://milvus.io/docs/ingress.md . It works for any gRPC service.

+1

Hi everyone,
Any updates on this issue?

We are excited to announce gRPC has been released in Application Gateway for Containers.  We do not have plans on porting this feature to AGIC.
More information can be found here: https://learn.microsoft.com/azure/application-gateway/for-containers/grpc


feat(deps): update renovate/renovate docker tag to v34.160

This PR contains the following updates:

Package
Update
Change

renovate/renovate
minor
34.157 -> 34.160

⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the logs for more information.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

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


[FLINK-31845] Make KubernetesStepDecorator Pluggable

What is the purpose of the change
This PR extends KubernetesStepDecorator interface to make it pluggable for custom decorators to be loaded as JARs.
Brief change log

Added DecoratorUtils to discover CustomDecorators in flink plugin folder to be loaded as JAR.

Verifying this change

Added Unit Test.
Manual tested by creating a custom Decorator plugin JAR that is copied over in DockerFile. Validated that the created JM container name is changed as per custom Decorator specification.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changes to the CustomResourceDescriptors: (no)
Core observer or reconciler logic that is regularly executed: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

I think this should be fixed first as part of https://issues.apache.org/jira/browse/FLINK-28831 and then we can adopt the solution here.


Generate xml sitemap for the portal

This would make crawling of the portal easier for bots.
Description of format:
http://www.sitemaps.org
The sitemap location should also be rendered in robots.txt:
...
Sitemap: http://www.example.com/sitemap.xml

Do you think we could try something like this? https://github.com/RoumenDamianoff/laravel-sitemap

Looks like a good lib!
Its also suited for the large sitemap we will need to generate:
https://github.com/RoumenDamianoff/laravel-sitemap/wiki/Generate-BIG-sitemaps
We should perhaps do a console command in the app for generating the sitemap as static files so it can be run via a cron-task?


Machine Learning Tutorial

Since we now have the machine learning tools, we need to show users how to work with them.
They should be (at least) documented with the command line tools, but I would much more prefer a tutorial in the documentation.
I open this as a new issue, instead of appending at #1755, because this should focus only on documentation and tutorials not new features.
PS: we might also overhaul the whole tutorial section, there may be some outdated stuff and I really like how Gammapy handles their tutorials

Yes new tutorials have long been on the todo list.  I think we can also separate them into two categories: high-level tutorials (like using the machine learning tools) and API-level tutorials similar to what is there already.  For the high level ones, the primary one would be to show a complete step-by-step analysis, at least up to generating DL2 event lists with geometry, energy, and gammaness.

This also might be a nice time to look into switching the tutorial notebooks to use Jupytext #2099

I think there should also be a data flow diagram showing which tools are applied at which step and which files are or can be generated along the way


How to use fixed format kernel?

I have seen the use of fixed format kernel in the implementation of onednn, but I don’t understand how the weight tensor  info is processed, such as the processing of stride. Is there any example code in C++?

The weights are ordered into the memory format expected by the asm kernel in ACL ahead of being passed into ACL. In a 'non fixed format' build, the weights are re-ordered inside Compute Library to match the format that the chosen kernel expects. The "fixed format" nomenclature comes from the fact that this build is using a collection of GEMM kernels with a common (i.e. fixed) weights format.
This is potentially less performant than having an optimised format for each kernel, however, it allows the responsibility for getting the memory format expected by the kernel to be hoisted out of Compute Library and into oneDNN & TensorFlow. This is essential when dealing with cached oneDNN primitives (which TensorFlow uses) where the wei tensor of a cached primitive can get re-written. Without the fixed format kernels exposed in ACL and integrated into oneDNN, these re-written weights will not get ingested by the GEMM kernels which will use the original weights (re-ordered into the required memory format) leading to incorrect results. In this context, the ability to use primitive caching in TensorFlow, via oneDNN, outweighs the performance penalty of relying on these fixed format kernels.
https://github.com/oneapi-src/oneDNN/pull/1590
https://github.com/tensorflow/tensorflow/pull/57987

Does the fixed format kernel support input of bf16 data directly?  In the following code I input a 4x4 matrix as weight, and I believe that the data distribution after  memory reorder will not change. What is the error in this code?
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/NEON/NEFunctions.h"
#include "arm_compute/runtime/NEON/NEScheduler.h"

#include <iostream>

void fgemm(int M, int N, int K, arm_compute::bfloat16* input_data, arm_compute::bfloat16* weight_data, float* output_data)
{
    arm_compute::Tensor src_tensor, wei_tensor, dst_tensor;
    arm_compute::NEGEMM sgemm {};
    float alpha = 1.0f, beta = 0.0f;

    src_tensor.allocator()->init(arm_compute::TensorInfo(
        arm_compute::TensorShape(K, M), 1, arm_compute::DataType::BFLOAT16));
    wei_tensor.allocator()->init(arm_compute::TensorInfo(
        arm_compute::TensorShape(N, K), 1, arm_compute::DataType::BFLOAT16));
    dst_tensor.allocator()->init(arm_compute::TensorInfo(
        arm_compute::TensorShape(N, M), 1, arm_compute::DataType::F32));

    arm_compute::GEMMInfo gemm_info;

    sgemm.configure(&src_tensor, &wei_tensor, nullptr, &dst_tensor, alpha, beta, gemm_info);

    src_tensor.allocator()->import_memory(const_cast<arm_compute::bfloat16*>(input_data));
    wei_tensor.allocator()->import_memory(const_cast<arm_compute::bfloat16*>(weight_data));
    dst_tensor.allocator()->import_memory(const_cast<float*>(output_data));

    sgemm.run();

    src_tensor.allocator()->free();
    wei_tensor.allocator()->free();
    dst_tensor.allocator()->free();
}

void fgemm_ff(int M, int N, int K, arm_compute::bfloat16* input_data,arm_compute::bfloat16* new_weight_data, float* output_data)
{
    arm_compute::Tensor src_tensor, wei_tensor, dst_tensor;
    arm_compute::NEGEMM sgemm {};
    float alpha = 1.0f, beta = 0.0f;

    arm_compute::TensorInfo src_tensor_info(
        arm_compute::TensorShape(K, M), 1, arm_compute::DataType::BFLOAT16);
    arm_compute::TensorInfo wei_tensor_info(
        arm_compute::TensorShape(N, K), 1, arm_compute::DataType::BFLOAT16);
    arm_compute::TensorInfo dst_tensor_info(
        arm_compute::TensorShape(N, M), 1, arm_compute::DataType::F32);

    arm_compute::GEMMInfo gemm_info;
    arm_compute::WeightFormat expected_weight_format;

    gemm_info.set_fixed_format(true);
    gemm_info.set_weight_format(arm_compute::WeightFormat::ANY);

    arm_compute::NEGEMM::has_opt_impl(expected_weight_format,
        &src_tensor_info, &wei_tensor_info, nullptr,
        &dst_tensor_info, alpha, beta, gemm_info);

    gemm_info.set_weight_format(expected_weight_format);

    wei_tensor_info.set_data_layout(arm_compute::DataLayout::UNKNOWN);
    int ldb = interleaved_by * K;
    int innermost_batch_stride = K * N;

    arm_compute::Strides new_strides_in_bytes = wei_tensor_info.strides_in_bytes();
    new_strides_in_bytes.set(1, ldb * wei_tensor_info.element_size());
    new_strides_in_bytes.set(2, innermost_batch_stride * wei_tensor_info.element_size());

    wei_tensor_info.init(wei_tensor_info.tensor_shape(), wei_tensor_info.num_channels(), wei_tensor_info.data_type(),
        new_strides_in_bytes, wei_tensor_info.offset_first_element_in_bytes(), wei_tensor_info.total_size());

    src_tensor.allocator()->init(src_tensor_info);
    wei_tensor.allocator()->init(wei_tensor_info);
    dst_tensor.allocator()->init(dst_tensor_info);

    sgemm.configure(&src_tensor, &wei_tensor, nullptr, &dst_tensor, alpha, beta, gemm_info);

    src_tensor.allocator()->import_memory(const_cast<arm_compute::bfloat16*>(input_data));
    wei_tensor.allocator()->import_memory(const_cast<arm_compute::bfloat16*>(new_weight_data));
    dst_tensor.allocator()->import_memory(const_cast<float*>(output_data));

    sgemm.run();

    src_tensor.allocator()->free();
    wei_tensor.allocator()->free();
    dst_tensor.allocator()->free();
}

int main()
{

    int M = 4;
    int N = 4;
    int K = 4;

    arm_compute::bfloat16* input = new arm_compute::bfloat16[M * K]();
    arm_compute::bfloat16* weight = new arm_compute::bfloat16[K * N]();
    arm_compute::bfloat16* new_weight = new arm_compute::bfloat16[K * N]();

    float* output = new float[M * N]();

    for (int i = 0; i < M; i++) {
        for (int j = 0; j < K; j++) {
            input[i * N + j] = 1.0;
        }
    }

    for (int i = 0; i < K; i++) {
        for (int j = 0; j < N; j++) {
            weight[i * N + j] = float(j);
        }
    }

    for (int i = 0; i < K; i++) {
        for (int j = 0; j < N; j++) {
            new_weight[i * N + j] = float(j);
        }
    }

    fgemm(M, N, K, input, weight, output);

    std::cout << "output data: " << std::endl;
    for (int i = 0; i < 16; i++) {
        for (int j = 0; j < 4; j++) {
            std::cout << output[i * N + j] << " ";
        }
        std::cout << std::endl;
    }

    std::cout << std::endl;

    fgemm_ff(M, N, K, input, new_weight, output);

    std::cout << "new output data: " << std::endl;
    for (int i = 0; i < 16; i++) {
        for (int j = 0; j < 4; j++) {
            std::cout << output[i * N + j] << " ";
        }
        std::cout << std::endl;
    }

    std::cout << std::endl;

    return 0;
}


fixed non-updating intervals

Fits to time series backgrounds were not properly updating the intervals when the user selected time intervals that were outside of the data ranges. This caused time bins with ZERO counts to be included in the fit. This would have resulted in a stall during the fit or incorrect fits. This has now been fixed.

Fixes #273


[WIP] Add spoogler form prototype.

I have added an issue about flow integration. I think this PR is big enough.

I have added basic setup of flow with usages in my files. @semiluna

I have added the Googler's start date field I forgot about :-)


Add missing steps

The original description would not result in a working system.
With the proposed changes, the setup works.

I signed the CLA... not sure why it still claims I did not.

Page preview:
https://deploy-preview-19482--kubernetes-io-master-staging.netlify.com/docs/tasks/administer-cluster/configure-multiple-schedulers/
/cc @kubernetes/sig-scheduling-pr-reviews

@sfiligoi this will need technical review before it merges. From a Markdown point-of-view it's good enough to merge.

Hi @Huang-Wei , Would you have time to provide a technical review or could you suggest another member of @kubernetes/sig-scheduling-pr-reviews ? Thank you.

@sfiligoi Thanks for your PR! I'm going to close this PR until there's additional technical justification. Feel free to reopen if you feel that I'm closing it in error.
/close


[Feature Request]: overlapping subscribe button

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
subscribe button is overlapping with search so when we write in search it is not visible properly.This problem is not visible in front page but as we go inside different pages is is present.
Using CSS and HTML I can easily fix this issue.
please assign this issue to me with apprepriate Gssoc label.
Use Case
after solving this issue people can easily see search bar which is currently overlapping and hidden by subscribe button
Benefits
No response
Add ScreenShots

Priority
Medium
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Noopur-Thombare Hey I dont see any such bug in the project.

I think you need to recheck


Listeners not being unbound after scene change

Basically I have a few scenes that are almost identical. I use a SmartFloat to get the value from a Slider, directly on the OnValueChange of the Slider. After I switch scenes the script(which is present in both scenes) that references the SmartFloat works as expected but I get a null reference from that same script (which has been destroyed because of the switch to another scene). Note that I didn't bind a listener to it, just accessing the value.
So because everything is working as expected on scene switch, it leads me to believe that there's still a listener bound to the script that has been destroyed on the previous scene...
I know I could write a custom script to bind the listenter to the SmartFloat's update and unbind it on destroy instead of accessing it's value directly, but it seems a listener is persisting from the last scene even though I am just accessing it by value.

Hi, could you post some script and/or screens of your scene setup? A little hard to tell what exactly your code is doing here.

Hi,
Sorry for the long wait, was really busy ;)
I've attached a repro project.
Simple instructions to reproduce on the README file.
Thanks!
SmartDataBug.zip

Sorry on my end too - only just got around to this! So there's a couple of things - there IS a bug here, but it's not what you're thinking.
UnbindOnDestroy doesn't unbind all calls to BindListener - that's up to you to manually unbind (cache the returned IRelayBinding and call Enable(false) at end-of-life). What it actually does is unbinds the UnityEvent attached to the SmartRef. So it's expected behaviour that you'll get a nullref in the following scene if you haven't manually unbound your listener. That said - I think I'll change the name to UnbindUnityEventOnDestroy or something to make that clearer since at the moment it does read like you've read it! So apologies for that.
It has uncovered a bug though - turns out, calling UnbindOnDestroy within the first two frames doesn't actually do anything! At least, not in editor - it works fine in builds. UnbindOnDestroy checks whether you're in play mode - if not it ignores it. Which would be fine except the reason for that it to avoid SmartRefs from trying to do stuff during OnAfterDeserialized, which Unity disallows. So it can't actually check Application.isPlaying (again, disallowed during deserialization), and has to rely on subscribing to EditorApplication.playModeStateChanged. Which - drum roll please - it turns out gets called AFTER TWO WHOLE FRAMES OF BEING IN PLAY MODE. Thanks Unity.
So, tl;dr I have to do that slightly differently now!


Data sent to view can be customized.

Hi,
This is part of the change I think could be useful.
The other part is to be able to set the data after initialization, but not found, yet, a reasonable implementation.
Paul
PS1: maybe would be interesting just to pass the options, but I'm not convinced.

Hi, @devel-pa. Thanks for PRing this feature up. I have a few remarks:

To keep this inline with Marionette classes' various options, I would like to support this as both an object literal and a function. Achieving this internally with _.result should be fine.
There'll need to be a few tests to test the behavior for when it's an object literal, when it's a function, and when it's not even defined. We shouldn't need a default defined on the base component class either.
I would prefer to call this viewOptions over viewData.
Don't worry about updating the dist file, I'll take care of that with the next release.

If something doesn't make sense or if you need any help, please let me know. Thanks again for the PR!

Everything done, I hope, in the right way.

@devel-pa Thanks for the changes. I added some comments, so we can tighten up the tests a little. This is looking good, thanks for the work so far!

Finally :))
I hope this time is fine.

Hey, @devel-pa. This looks good. Can you remove the changes to the dist files and squash the commits into one?
Thanks for your work and patience!

Squashed :)


Feature/update dimension titles

What
Changed dimension titles to be editable inputs on the version metadata screen.
How to review
Check that the dimension name is the input's value if no label exists.
Check the label is used if one exists.
Check that when the input value is changed, the label field is updated in the dimension data upon save.
Check that the new label is displayed upon reloading the page.
Who can review
Anyone.

Something to consider: we might want the dimension name inputs to behave like other inputs when the value is removed. At the moment if you highlight the input text and delete it then it automatically reverts to the original dimension name - we possibly want to allow it to behave like other inputs. I.e. the user can empty it but it causes a validation error and we then show an inline error in the invalid input/s.


add aarch64-linux support for spotube

Description of changes
Added aarch64-linux support for spotube.
Things done
Made the package fetching for Linux more flexible and arch independent.

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

PR title doesn't fit CONTRIBUTION.md

@ofborg build spotube

Squash them into one commit.


#2673 doc - use maven through corporate proxy

As promised, a small contribution to documentation.

Thanks!


Generate builders for interface based object heirarchies

Given:
 public class Basket {
    private List<IBasketProduct> products = new ArrayList<>();
    public List<IBasketProduct> getProducts() {
        return products;
    }
    public void setProducts(List<IBasketProduct> products) {
        this.products = products;
    }

Where IBasketProduct is an interface with a single implementation BasketProduct, then the generator generates the following withProduct builder method (that does not take a builder parameter):
public T withProduct(com.acme.IBasketProduct product) {
    getTarget().getProducts().add(product);
    return (T) this;
}

whereas the generated code using a concrete BasketProduct takes a BasketProductBuilder parameter and generates the BasketProductBuilder:
public T withProduct(com.acme.generatedbuilders.BasketProductBuilder product) {
    getTarget().getProducts().add(product.build());
    return (T) this;
}

It would be very useful in such scenarios to tell the generator the name of the concrete class to use for each interface found, so that a builder would be created and used. For example:
    generator.addInterfaceImplementation(IBasketProduct.class, BasketProduct.class);

Hi Tim,
Issues #36 just changed BG such that instead of any concrete builders passed to the with methods - an interface is used instead (Builder) which the concrete builders then implement.  This allows for other implementations to be used if required.  However the behaviour for properties that are interfaces is for the parameter to be an instance of the expected type, i.e not a builder.  Now we have the interace, we could replace or perhaps overload this with method with a Builder method.  What do you think?
Cheers.

Sounds very reasonable I think. I will have to have a look at the new BG.


Drops ?html as auto-escaping was enabled in Struts 2.6

Struts 2.6 should be released soon (2+ months), and this PR makes the plugin compatible with FreeMarker auto-escaping which was enabled by default in Struts 2.6

Pushed a fix for https://github.com/struts-community-plugins/struts2-bootstrap/issues/40


Fix set outerHTML()

The new implementation should properly handle things like:
el.outerHTML = 'hello';
el.outerHTML = '
hello
 world'

The current implementation will throw an exception for the first case and will set it to '
hello
'  instead of '
hello
 world' in the 2nd case.`

Thanks, but two things:

the source of truth is the ESM folder, not the CJS one
I'd like to have a test that covers all cases
other
, other,
other
 more

almost there ... to test that code coverage is still 100% and everything work, npm i and npm run build would do.
tests are in the test folder, you can pollute the test/interface/named-node-map.js if you like, I wouldn't mind, as long as I am sure there won't be regressions in the future.
thank you!

Hi Andrea,
I added a test file, sorry for a bit messy commits. I have a different project and test structure, so I got confused haha.

Thanks for the amazing project. It's up to 10x faster compared to jsdom for my use case. I will contribute more small changes later to make it come closer to the spec.

@minas90 thank you! it's up and running 👋


feat: migrate packaging to pyproject.toml

Fixes #53
This PR aims to migrate the packaging process to a purely pyproject.toml based build. No changes to the CI workflows were needed since they already use python -m build.
This was tested locally by running python -m build in a clean virtual environment.
Request for Review: @mariogeiger

@mariogeiger this also resulted with the Read the Docs CI running successfully.


Project requires at least C++20

We haven't been using target_compile_features because doing so can lead to subtle ODR violations in large projects. See https://github.com/beman-project/exemplar/issues/40#issuecomment-2388995030 for a more elaborated rationale.

Hm, ideally the "large project" would also use cmake to links it stuff together and then the c++20 flag would get propagated to the final executable.
In vcpkg CMAKE_CXX_STANDARD don't gets set by default (the users can if they want), so it currently simply fails to build since the default one is c++11 for apple clang.

Hm, ideally the "large project" would also use cmake to links it stuff together and then the c++20 flag would get propagated to the final executable.

Large projects aren't built completely from source. Frequently, they incorporate shared libraries that come as binaries which exacerbates the ODR violation issues.
My understanding is that VCPkg interacts with CMake by providing a toolchain file. How does this toolchain file determine compiler flags?

Changing the flags of a consumer is a great way to break the consumer, with the breakage varying between subtle and loud. Loud is good because it gets reverted quickly.
Even if I'm building all of my project from source, having a dependency make a huge change, like std level, can be a problem.
Saying "No" and producing an error might be better, but the compiler errors should be fairly clear even without that.

I do not see that this may a problem for at least a header only library:
https://gitlab.kitware.com/cmake/cmake/-/issues/19136#note_1598283

This seems not a better way:
bash-5.2$ git ls-files ::*.cmake ::*CMakeLists.txt ::*.json | xargs egrep --color -rw '(CMAKE_CXX_EXTENSIONS|CMAKE_CXX_STANDARD\w*|std)'
CMakePresets.json:        "CMAKE_CXX_EXTENSIONS": false,
CMakePresets.json:        "CMAKE_CXX_STANDARD": "20",
CMakePresets.json:        "CMAKE_CXX_STANDARD_REQUIRED": true,
etc/ci-clang-toolchain.cmake:    "-std=c++20 \
etc/clang-flags.cmake:set(CMAKE_CXX_STANDARD 20)
etc/gcc-flags.cmake:set(CMAKE_CXX_STANDARD 23)
etc/gcc-flags.cmake:set(CMAKE_CXX_FLAGS "-std=c++23 -Wall -Wextra " CACHE STRING "CXX_FLAGS" FORCE)
etc/gcc-toolchain.cmake:    "-std=c++20 \
etc/llvm-16-toolchain.cmake:    "-std=c++20 \
etc/llvm-master-toolchain.cmake:    "-std=c++2a \
etc/llvm-toolchain.cmake:    "-std=c++20 \
src/beman/optional26/tests/CMakeLists.txt:            "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"

The project is completely on a wrong way,
please read https://crascit.com/professional-cmake/ before make suche a decision!

The beman_project is partly on a realy wrong way,

@ClausKlein, please review our code of conduct. This comment does not embody the  friendliness, patience, and respect that we adhere to in these spaces.

please read https://crascit.com/professional-cmake/ before make suche a decision!

Telling someone to read a book is not a reasonable way to move a conversation forward.

OK "Das Gras wächst nicht schneller, wenn man daran zieht"


Database persistence with exposed - 'DatabaseFactory' object name change to 'DatabaseSingleton'

Kotlin object is 'Singleton' by its nature, so I've found the name 'DatabaseFactory' as misleading - IMHO it should be changed to 'DatabaseSingleton' or 'DatabaseObject'

Merged. Thank you for your contribution @ktprezes!


Prompt Engineering

Created a guide on prompt engineering and how one can structure prompts effectively. Introduced what prompt engineering is, what prompts are then highlighted the key 10 points that developers must keep in mind while structuring prompts for their particular use cases. Provided an example of a use case along with a good and a bad prompt to help the reader understand the difference. Additional resources on learning how to structure prompts effectively as also mentioned. A resource is also provide for structuring prompts to make use of LLAMA2, as an example.

I have changed the focus of the guide to be more general, I have made the few changes you requested for and added an additional section which would help users choose an LLM for their particular use case.

Another thing to add, not to certain if this is needed but add a link to this page on the Development_Process.md Page so others can access your page.

Thank you for you're feedback! Ive corrected the grammatical errors and added a few more resources to help readers get acquainted to different LLM's. Please do let me know if any more changes are required. Thanks!

Made the change and I've also added a link to this page on the development_process.md page for others to see.


[Bug] After disabling quick dismiss “on close “ property do not work

Steps to reproduce the behaviour:

Drag and drop a Modal widget
Open property pane
Disable Quick dismiss
Now add any action on "On Close" property
Observe that clicking on close icon do not perform on close action

Important Details

Version: [Cloud / Self-Hosted vx.x]
OS: [e.g.MacOSX]
Browser [e.g. chrome, safari]
Environment [production, release, deploy preview]

@vivekverma2312 why is this not verified yet?


added mavsdk_connection

This pull request adds Mavsdk::add_mavsdk_connection function. That function permit to share the connection of another mavsdk instance. This function is useful if you want to impersonate different devices on the same connection.
For example if you want to make a single application that act as a camera, a gimbal and a client companion computer sharing that same autopilot serial connection.

Interesting! Thanks for the contribution.
Could you alternatively use message forwarding?
https://github.com/mavlink/MAVSDK/blob/21ac1ec4f4baabb278d774f6ec2d14a407041a64/src/core/mavsdk.h#L90

Yes, I honestly not thought about this solution
The following diagram shows how the problem can be solved with two kinds of solutions.

So I think that a very similar solution can be reached with the Forwarding option
The only difference is that with the connection sharing solution you don't have to make two additional mock network connections inside the same software.
At this point, I don't know if the new solution can be useful anyway or not.

My aim is to keep it as simple as possible, and only have one way to do a function whenever possible, so that not multiple need to be maintained and tested.
Would you mind trying if you can make your use case work with forwarding?
Actually, there is one more way that you could try if you wanted which is to tie it all together using mavlink-router.
If you can make it work with either of my suggestions, then I'd prefer to go without your suggested changes.

@persuader72 were you able to come up with a solution for your problem given my suggestions, or do you think this PR is still worthwhile?

@julianoes sorry for the delay, yes the solution is working fine.
The only problem is that if I add a second connection when the first Is already active (for example in the on_new_system event when the autopilot is discovered)  the mavsdk keeps logging these messages until the remote end of the second connection becomes active.
[09:11:43|Error] Message forwarding failed (mavsdk_impl.cpp:159)
[09:11:43|Error] No known remotes (udp_connection.cpp:134)
There are very fast. I seem that this message is printed for every message the autopilot has sent. It looks like that if there is a second connection with the forwarding option but the remote end is not connected an error message is logged for every message incoming in the first connection.
When the remote end of the second connection becomes online those messages disappear.
As a suggestion I think Would be better to to lower the priority of this message from Error to Debug because the case of a connection with a remote end disconnected is not an error but a connection state.
Regards
Stefano

Oh that's a good observation. I think best would be to ignore these messages in the case you're describing. Would you mind making a PR?


vengi-tools: 0.0.32 -> 0.0.33

Description of changes
Closes #332819

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 333010 run on x86_64-darwin 1

1 package failed to build:

vengi-tools

@fgaz maybe just mark it broken on darwin


String literal with no structural elements retains quotes

I have encountered some output from an API that returns a JSON response containing a bare string literal - for example, the body of the response might contain the following JSON document:
"foo"

Note there are no structural elements present, and so it is not obvious how one might use a Struct to deserialise the document.
Using json! to deserialise this document results in a Value that is considered to be a string by is_string()
There is some discussion about whether a bare string literal is considered a valid document, but as json! does parse the document into a string Value, would it be reasonable to assume that calling .as_str().unwrap() on it would result in foo and not "foo" ?
I have put together a MCVE
It's easy enough to work around, but I thought it worth flagging this as it seems possibly inconsistent with the documentation and other issues e.g. #367

This is behaving correctly. data is a string containing quotes. So v is a string containing quotes.


Required training time

In your paper, you mention that the model is pre-trained on 80 V100s. How long was the model trained for? I'm working on a review paper and would like an estimate of training time.

Hi,
Thank you for your interest in ClimaX. I do not remember the training time exactly, but it was definitely less than 1 day (24 hours).

Thanks, I'll use 24 hrs as an estimate for now.

Hi @adamjstewart! Small correction. I would put the training time to at least 3 days. The initial CMIP6 pretraining phase was about 200k steps. Then finetuning on ERA5 was done for about 100k steps which is a fair amount of compute time.
There have been quite a few performance fixes since the initial training and overall it should be much faster to train now.


[PT Run] [Windows settings] Add entry for UAC

Description of the new feature / enhancement
Add entry to open User account control.
Scenario when this would be used?
When needing this settings.
Supporting information
No response

Same q @htcfreek did this get wrapped up with the pr from Oct 11?  :)

Same q @htcfreek did this get wrapped up with the pr from Oct 11? :)

@crutkas
Yes. It's all working an merged with #13746. Can you please assign the project (0.51). Thanks.

This is fixed in 0.51.  Please head over to our releases and get the update!  https://aka.ms/installpowertoys


can we read and write to NFC in a single swipe ?

Hi, sorry for late response. Currently this library doesn't support reading and writing as the same time.


Use Onyx.clear to preserve state when logging out

@neil-marcellini please review
HOLD ON https://github.com/Expensify/react-native-onyx/pull/214
Details
Instead of setting default values after clearing Onyx, preserve the keys we want to keep using the new keysToPreserve param of Onyx.clear()
Fixed Issues

$ https://github.com/Expensify/App/issues/13062
Tests/QA Steps/Offline Tests

Log into NewDot
Switch your language to spanish
Go offline (You can only do this on Web/Desktop as the "Force Offline" setting won't apply here)
Log out
Make sure that your offline status is preserved, and that the language of the login menu is Spanish and there's no flicker of English or the Log In button being enabled.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/4741899/206800494-807c7a9b-1d5b-4bcb-9043-59847916d5bd.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/4741899/206810131-75e53da8-ae80-44a7-b7c8-7a4ef9402e65.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/4741899/206809183-2e747cbc-c97f-4e41-83b0-62cef7e1ecb6.mp4

Desktop
https://user-images.githubusercontent.com/4741899/206801124-1931f1a1-39b4-44c7-ba60-92ecd3019c2c.mp4

iOS
https://user-images.githubusercontent.com/4741899/206808208-2755a902-8e8e-4a05-99c5-9f08f0c9d306.mp4

Android
https://user-images.githubusercontent.com/4741899/206809907-b74abf2c-e63d-4db0-aba4-63a98d67c41a.mp4

Having trouble completing testing because of the error being reported here: https://expensify.slack.com/archives/C01GTK53T8Q/p1670528976295469
But looks like it's getting resolved soon so will be able to take this out of Draft soon enough!

Is there any workaround for this?

Hmmmm... I don't think so no 😞

RE: the linter that change is being fixed here: https://expensify.slack.com/archives/C01GTK53T8Q/p1670954885116019

@parasharrajat We can have your IP whitelisted once you fill out this form: https://expensify.slack.com/archives/C01GTK53T8Q/p1670957921425999

@neil-marcellini @MariaHCD bump! If @parasharrajat is still having issues or otherwise busy would one of you be able to fill out the reviewer checklist in their absence?

@parasharrajat Let us know if you're still having problems with testing and I can fill out the reviewer checklist for this.

Thanks for letting us know, @parasharrajat! I'll fill out the checklist.

We should be good to go here. Not sure if @parasharrajat should give this a final review? Otherwise, feel free to merged @neil-marcellini @yuwenmemon

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @neil-marcellini in version: 1.2.42-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @yuwenmemon in version: 1.2.42-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add a way to validate/interact with a value before it gets put in AttributeTable

Currently, you can only passively monitor the GattEvent. This is problematic in the case of GattEvent::Write because there is no way you can validate or inspect the value of the write event before it gets put into the AttributeTable and can then be read again.
It would be nice to hook into the write event to validate the value and (in case of error) discard it.

I think in general it would be nice to be able to handle the actual values read and written better. For example, manually hook into reads and writes and controlling which value is sent or stored.

@petekubiak has been looking at some of this, we're talking about some kind of middleware layer with callbacks essentially right?

I think this links closely with #135 - a draft PR (#133) is open to suggest ideas for how this might be achieved.

#151 is now up for review - I would be interested to hear your thoughts on the approach

@Erik1000 are you happy for this issue to be closed?

Yes


Change the website icon

Hey there,
Update the website icon with a good one

Can I work on this issue

Sure


Hosting request for plugin

Repository URL
https://github.com/AjmeraInfotech/redpen-jenkins-integration
New Repository Name
pipeline-reporter-by-redpen-plugin
Description
Redpen Jenkins plugin is an open-sourced plugin that is used to integrate Jenkins with Jira Software. This plugin is free to use and provides an easy, secure, and reliable way to send build and deployment information from your Jenkins server to your Jira Software. The pipeline reports the build and deployment status (failure or success) with other meaningful data into the Jira issues which helps your team to track and collaborate on the work.
GitHub users to have commit permission
@anandcpadiya
@ayushk048-Ajmera
@heenachauhan18
@kamlesh-ai
Jenkins project users to have release permission
ayushk048
ajmerainfotechinc
anandpadiya_ai
Issue tracker
Jira

/hosting re-check

/hosting re-check

/hosting host

@Wadeck did you want to give this a check?

/hosting host

Thanks for the ping, too large codebase for a superficial audit, so tracked internally as JENSEC-1795.

Hello @timja and @Wadeck,
Is there any update or progress on JENSEC-1795 from your side for our plugin?

@anandcpadiya We currently have lot of pending tasks, the audit is not yet started. Usually we are doing them within 7 days, but in the current situation, I would bet more for 2-3 weeks.

Hello @timja and @Wadeck,
It's been 2 weeks, Is there any update or progress on JENSEC-1795 from your side for our plugin?

Hi @ayushk048-Ajmera, sorry for the delay.
We're able to perform a more complete audit on your plugin here are the feedback:

Multiples path traversal vulnerabilities:

file write vulnerability in service/RedpenJenkinsCore.java#L166, displayName is coming from the user, using a build number such as \..\..\..\newFolder\newFile you can create folders and files on the controller.
arbitrary file read vulnerability in service/RedpenJenkinsCore.java#L111, you can upload any files on the controller.

Tabnabbing vulnerabilities in RedpenJobProperty/config.jelly#L9 & resources/index.jelly#L4.

Recommendation:
When opening external link you need to set the attribute rel="noopener noreferrer" to prevent information from the browser user's URL from leaking to the other website.

Missing permission check vulnerabilities in redpen/RedpenJobProperty.java#L136 (allow to retrieve all credentials ID stored in Jenkins) & redpen/RedpenJobProperty.java#L184 (allow to retrieve the path of an attacker specified framework)

Recommendation:
https://www.jenkins.io/doc/developer/security/form-validation/#checking-permissions

You're using a dependency with a known vulnerability<EMAIL_ADDRESS>><EMAIL_ADDRESS>(CVE-2020-36518)

Recommendation:
Upgrade com.fasterxml.jackson.core:jackson-databind to version <IP_ADDRESS>, <IP_ADDRESS> or higher.

In secrets/SecretRetriever.java#L14, you're only checking for credentials from Jenkins, you also need to support folder scope credentials.

We also noticed a small display bug, you're creating a Redpend section in the configuration page and it looks like it include generic configuration of a job.

Recommendation:
Remove <f:section in RedpenJobProperty/config.jelly#L3.
We will let you correct the finding and ping us when you are done or if you have questions.

Hello @Kevin-CB,
Thank you for your response,
Can you please elaborate on 1st issue  Multiples path traversal vulnerabilities

Multiples path traversal vulnerabilities:

file writes vulnerability in service/RedpenJenkinsCore.java#L166, displayName is coming from the user, using a build number such as ......\newFolder\newFile you can create folders and files on the controller.

arbitrary file read vulnerability in service/RedpenJenkinsCore.java#L111, you can upload any files on the controller.

Other changes are done to be pushed.

This is a request, not a requirement. Could you please clarify the README a bit, to make it easier for users to understand whether this plugin suits their needs:

That this plugin requires the redpen.ai cloud service and does not communicate directly with Jira. This is relevant for firewalling and perhaps also for GDPR.
Whether this plugin supports only Jira Cloud, or also Jira Data Center and Server.
Whether this plugin finds Jira issue references in pull requests only in GitHub, or also in other version-control software such as Atlassian's Bitbucket products.

Advice on folder-scope credentials in https://community.jenkins.io/t/what-does-mean-to-support-folder-scope-credentials/2202.

file writes vulnerability in service/RedpenJenkinsCore.java#L166, displayName is coming from the user, using a build number such as ......\newFolder\newFile you can create folders and files on the controller.

RedpenJenkinsCore.getLogFile calls FileUtils.getNewFile to get newLogFilePath, and then copies a file to that path: https://github.com/AjmeraInfotech/redpen-jenkins-integration/blob/585e59e2dc997be93ae12486a0fdfe0e8fcb54e9/src/main/java/org/jenkinsci/plugins/redpen/service/RedpenJenkinsCore.java#L166-L181
FileUtils.getNewFile uses displayName as part of the file name that it returns: <https://github.com/AjmeraInfotech/redpen-jenkins-integration/blob/585e59e2dc997be93ae12486a0fdfe0e8fcb54e9/src/main/java/org/jenkinsci/plugins/redpen/util/FileUtils.java#L10
The displayName comes from ParameterModel.getDisplayName(), which is copied from Run.getDisplayName(): https://github.com/AjmeraInfotech/redpen-jenkins-integration/blob/80251559dd307a771a202ad0ead66a70ac76a1f6/src/main/java/org/jenkinsci/plugins/redpen/models/ParameterModel.java#L46
I don't know about freestyle projects, but in pipeline projects, the pipeline script can change the display name by setting a property of currentBuild. If a malicious user is able to edit a pipeline script and have Jenkins run that pipeline, then the user can abuse this plugin to make the Jenkins controller copy a log file to a directory where it should not be copied. That may enable the user to damage or take over the controller.
For fixing that, I suggest not using the display name of the build as part of the actual file name at all. Instead use a random string or a counter. If you want to pass the display name to the redpen API then use the FileBody constructor that takes the File and the file name as separate parameters. https://hc.apache.org/httpcomponents-client-4.5.x/current/httpmime/apidocs/org/apache/http/entity/mime/content/FileBody.html#FileBody(java.io.File, org.apache.http.entity.ContentType, java.lang.String)

Hey Ayush, concerning the displayName usage, KalleOlaviNiemitalo already replied (thanks!).
Concerning the second part, about the file read, the problem is [your calls to uploadFilesFromSelectedTestFrameWork|https://github.com/AjmeraInfotech/redpen-jenkins-integration/blob/585e59e2dc997be93ae12486a0fdfe0e8fcb54e9/src/main/java/org/jenkinsci/plugins/redpen/service/RedpenJenkinsCore.java#L76-L83] does not restrict where the file is coming from. If your file path is absolute or related with some ../../, your code within [uploadFilesFromSelectedTestFrameWork|https://github.com/AjmeraInfotech/redpen-jenkins-integration/blob/585e59e2dc997be93ae12486a0fdfe0e8fcb54e9/src/main/java/org/jenkinsci/plugins/redpen/service/RedpenJenkinsCore.java#L198-L199] does not forbid them.
ℹ In terms of preventation, you can find information on https://www.stackhawk.com/blog/spring-path-traversal-guide-examples-and-prevention/ or https://portswigger.net/web-security/file-path-traversal.
⚠ Just be careful, in your case, as you concat the basePath and the fileRelativePath, where the fileRelativePath starts with /, it could be quickly dangerous, for example, jobA => jobAanother. My recommendation will be to remove the first slash of fileRelativePath and add one yourself after basePath.

(@Wadeck those are Jira style links)

Hi @ayushk048-Ajmera,
I was able to review your changes and they seem to fix the vulnerabilities, except for the web methods one.
Indeed you're checking the wrong permission in doCheckValidator & doFillCredentialIdItems, preventing the normal behavior of your plugin.
You need to add an @AncestorInPath annotated parameter to get to the necessary context, check if it's null, and if it's not, check on the context for Item.CONFIGURE permission.
Recommendation:
https://www.jenkins.io/doc/developer/security/form-validation/#checking-permissions

Hi @ayushk048-Ajmera,
I was able to review your changes and they seem to fix the vulnerabilities, except for the web methods one.
Indeed you're checking the wrong permission in doCheckValidator & doFillCredentialIdItems, preventing the normal behavior of your plugin.
You need to add an @AncestorInPath annotated parameter to get to the necessary context, check if it's null, and if it's not, check on the context for Item.CONFIGURE permission.
Recommendation: https://www.jenkins.io/doc/developer/security/form-validation/#checking-permissions

Hello @Kevin-CB,
we have made a change to the Checking permission, I request you to review the changes.
Thank you.

I just reviewed your last changes and everything is OK from a security point of view, we can continue the hosting process 🙂

Hi
Please remove https://github.com/AjmeraInfotech/redpen-jenkins-integration/blob/main/permissions/plugin-pipeline-reporter-by-redpen.yml that file will get creating in this repo after merge of this.
I'll host this now though

/hosting host


Description on fee reimbursement transactions

Background
On ln payments without fee probes, we usually debit a "max fee" from the user, execute the payment, and then credit back the fee difference with the actual fee via a fee reimbursement transaction. This appears as 2 separate transactions in a user's transactions history.
Issue
The reimbursement transaction currently shows up as a credit from our Galoy wallet with no other context, which could be confusing for a user.
Should we flag these reimbursement transactions any differently somehow?

Throwing out wording ideas, maybe sth like:
Description:
Fee Reimbursement: Found cheaper route for payment {id}
Description:
Fee Reimbursement: Found cheaper route previous LN payment
Description:
Fee Back! Found cheaper route for previous LN payment
Description:
Fee Back! Found cheaper route for payment {id}


Changelog missing

There does not appear to be a changelog anywhere, for this module. This makes it really hard to determine what has changed across releases, and whether it is safe to update to a new major version (in my particular case, from 2.2.17 to 3.0.7).

This module is deprecated, and nothing will be changed in the future so there isn't really a point in starting now.

Hmm, I'm not seeing a deprecation notice anywhere. What is it being replaced with?

@joepie91 all the functionality of this module is being deprecated in favor of requiring the functionality separately. Most of this module is already thin wrappers over other modules, or other modules simply re-exported.

Okay... is there a migration guide of any kind?

@joepie91 Let me rephrase: gulp-util doesn't and has never really done anything, it just exports other modules. Migration guide? Use the modules that gulp-util was giving you on their own.

We are probably going to log deprecation warnings with suggested modules to switch to.  Locking this thread.


Add curl commands to SSO booster interaction

Per conversation with @Ladicek, add interaction examples using raw curl commands in addition to using the provided script.
@Ladicek please provide any additional detail if i missed anything.

The provided application is able to output a bash script using curl: java -jar target/sso-client.jar  --outputCurlScript demo.sh. The resulting script (demo.sh) has like 50 lines, but it all boils down to 2 curl invocations: first to obtain the token, second to access the secured application using the token.
If we were able to demonstrate this, it would IMHO clarify what's really going on behind the scenes. Just using the provided application is a bit easier, but also more opaque.

Script output example for reference:
#!/bin/bash
# A script template for performing the query via cURL
if [ "$#" -lt 1 ]
then
     echo "Usage: $0 ENDPOINT_NAME"
     exit
fi

REALM=master
USER=alice
PASSWORD=password
CLIENT_ID=demoapp
SECRET=1daa57a2-b60e-468b-a3ac-25bd2dc2eadc
APP=$1

echo "Using APP=${APP}"

declare -a routes
routes=($(oc get routes))
count=${#routes[@]}

# Read in the oc get routes information to determine SSO_HOST and endpoint routes
while read -r line
do
    #echo "$line"
    routeInfo=($line[@])
    #echo "  + ${routeInfo[0]}"
    if [ "${routeInfo[0]}" == "secure-sso" ]
    then
      SSO_HOST="https://${routeInfo[1]}"
      echo "SSH_HOST=${SSO_HOST}"
    fi
    if [ "${routeInfo[0]}" == "${APP}" ]
    then
      APP_URL="http://${routeInfo[1]}"
      echo "using APP_URL=${APP_URL}"
    fi
done < <(oc get routes)

GET="curl -sk -X POST $SSO_HOST/auth/realms/$REALM/protocol/openid-connect/token -d grant_type=password -d username=$USER -d client_secret=$SECRET -d password=$PASSWORD -d client_id=$CLIENT_ID"
#GET="wget --no-check-certificate -O - --post-data=grant_type=password&username=${USER}&password=${PASSWORD}&client_id=${CLIENT_ID}&client_secret=${SECRET} ${SSO_HOST}/auth/realms/${REALM}/protocol/openid-connect/token"
#echo ">>> HTTP Token query"
echo $GET

auth_result=$($GET)
access_token=$(echo -e "$auth_result" | awk -F"," '{print $1}' | awk -F":" '{print $2}' | sed s/\"//g | tr -d ' ')

echo "<<< TOKEN Received"
echo $access_token

echo ">>> Greeting"
curl -kv $APP_URL/greeting -H "Authorization:Bearer $access_token"

@Ladicek
Would the curl commands in question be the follwing:

curl -sk -X POST $SSO_HOST/auth/realms/$REALM/protocol/openid-connect/token -d grant_type=password -d username=$USER -d client_secret=$SECRET -d password=$PASSWORD -d client_id=$CLIENT_ID

curl -kv $APP_URL/greeting -H "Authorization:Bearer $access_token"

@inoxx03 take a look at #332 and work with @lavernw1 on the right path forward both of these issues.

@inoxx03 That's exactly it.

@Ladicek For some reason unknown to me, when I interact with the jarfile to get a response from the /greeting I get the expected "Hello World" response form the /greeting endpoint. When I use the commands from the script, however, I am still able to issue the request, but the respons comes back as 401 Unauthorized.
I'm pretty sure I'm missing something really basic here, please advise.

OK, so here's what I'm doing:
minishift start # with the CentOS image etc.
# OpenShift gets started on <IP_ADDRESS>

cd .../wfswarm-rest-http-secured/
# using the Swarm variant here, but other SSO boosters are similar

cd sso
mvn clean fabric8:deploy
oc get route secure-sso # remember the URL for later use

cd ../app/
mvn clean fabric8:deploy -Popenshift -DskipTests -DSSO_AUTH_SERVER_URL=https://secure-sso-myproject.<IP_ADDRESS>.nip.io/auth

MY_TOKEN=$(curl -s -k -X POST https://secure-sso-myproject.<IP_ADDRESS>.nip.io/auth/realms/master/protocol/openid-connect/token -d client_id=demoapp -d client_secret=1daa57a2-b60e-468b-a3ac-25bd2dc2eadc -d grant_type=password -d username=alice -d password=password | jq -r .access_token)
# notice the `jq` invocation, which extracts the token value from the JSON response

oc get route wfswarm-rest-http-secured # remember the URL
curl -k -v http://wfswarm-rest-http-secured-myproject.<IP_ADDRESS>.nip.io/greeting -H "Authorization: Bearer $MY_TOKEN"

Resolved in PR #382


add NUnit3 nuget package; add unit test project

This PR may look a bit oversized because of reference to nuget package NUnit3, other than that:

Added a unit test project
Ignored the new unit test project in BuildRelease.msbuild to prevent build from breaking

Points of interest

NUnit3 has different builds targetting .Net4 and .Net4.5, would that have impact on how AutoFixture.NUnit3 is packaged for Nuget? If so what kind of?
There seems to be a lack of msbuild task for NUnit3?

There seems to be a lack of msbuild task for NUnit3?

We'll need to find a solution to this problem, but I think it doesn't have to be in this pull request.
Have you tried asking on whatever support channels exist for NUnit, whether an MSBuild task exists?
If none exists, could we solve the problem by shelling out?
In any case, perhaps we're not even going to need an MSBuild task for this, as @ErikSchierboom is working on porting the build script to Fake. If so, we'd like to use Fake's built-in support for running tests. If Fake doesn't already have an NUnit 3 runner, we'd need to contribute one.

All the better if we don't need one.
The closest I could find was this pull request here targetting NUnit3 support for msbuild.
https://github.com/loresoft/msbuildtasks/pull/205
Either way, is it correct that we still need to exclude this new Unit Test project from the msbuild script, for the time being?

Either way, is it correct that we still need to exclude this new Unit Test project from the msbuild script, for the time being?

I'd prefer including it as soon as possible.
We're still in a phase where we aren't publishing the new package, so we can wait a bit. I don't want to publish anything if it isn't covered by the build script, though.

:) nice comments. Thanks for the writing.
I have removed the temporary test. Next I will try adding Nunit 3 console command line to the build script, if that's desirable at all.

There is an NUnit 3 runner in FAKE: http://fsharp.github.io/FAKE/apidocs/fake-testing-nunit3.html :)

Thank you for your contribution :+1:


Support Terraform version >= 0.12.x

This PR updates the module, its three examples, and the README to be compatible with the newer version of Terraform.
I've run it through the Terraform formatter (However, terraform_docs for 0.12.x+ isn't yet supported). I updated the README by hand for loadbalancer-related values. The DigitalOcean provider has likely changed since this module was released, and some inputs may have changed.
Let me know if there's any changes needed.
(This fixes  #3 )

This is merged, I'm just going to update anything that needs it and release to the registry 😸

@tsujamin @chicken231  - I've released this: https://registry.terraform.io/modules/terraform-digitalocean-modules/droplet/digitalocean/1.0.0


statically create usage analytics report with github action

see https://omnivore.app/zorg42/creating-dynamic-readme-md-file-dev-community-18a97ca9298,
we could generate an md-file from the usage data once per day, and re-generate the status page by pushing a commit.

still undecided where to host a golang or python service to call the plausible API, won't do that in JavaScript, as we would have to put the (secret) API key into JS

bad idea, better to dynamically create the data and (dynamically) merge it into the page, e.g. with htmx


The HVOICE Reset (S)

Spec
Every member of the DAO with voice 1 gets voice 1
Every member of the DAO with voice > 1 gets voice 5000
Execution

[x]  Create new branch PR for new voice contract code only changes
[x] Add unit tests
[x]  Deploy new voice contract
[x] Create msig transaction that resets everyone's voice - iterating over all holders

Execution

[ ]  Create new branch PR for new voice contract code only changes
[ ] Add a unit test in the system? It's tested but only on my branch with JS
[ ]  Deploy new voice contract
[ ] Create msig transaction that resets everyone's voice - iterating over all holders

This is done.


Issues with root + tsconfigPaths paths setup

Hi. I'm trying to use vite-plugin-relay on a project that uses src as the root, and uses tsconfig paths for absolute imports.
vitest.config.ts
import react from "@vitejs/plugin-react"
import tsconfigPaths from "vite-tsconfig-paths"
import { defineConfig } from "vitest/config"
import relay from "vite-plugin-relay"

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react(), tsconfigPaths(), relay],
  test: {
    globals: true,
    environment: "jsdom",
    setupFiles: ["./__tests__/setupVitestTests.ts"]
  },
  root: "src",
})

relay.config.js
module.exports = {
  src: "./src",
  schema: "./schema.graphql",
  schemaExtensions: ["./src"],
  exclude: [
    "**/__generated__/**",
    "**/__mocks__/**",
    "**/node_modules/**",
    "src/.next/**",
  ],
  language: "typescript",
  eagerEsModules: true,
  artifactDirectory: "./src/lib/graphql/__generated__",
}

tsconfig paths:
"paths": {
   "@/*": ["./*"]
}

Imports:
import { CollectionWatchlistButtonTestQuery } from<EMAIL_ADDRESS>
When trying to run tests, vitest fails to find generated modules:

Any solution?
Same here


update import path for pbkdf2

Thank you!

@railsme, could you also update the package name in .travis.yml?

@andrewslotin done! maybe we should add some more go versions to travis? 😄

@railsme, this is a great idea, this project got a bit outdated 😃


Send push information to trust code out-of-band

The trust code used to parse the console output of docker push to
extract the digest, tag, and size information and determine what to
sign. This is fragile and might give an attacker control over what gets
signed if the attacker can find a way to influence what gets printed as
part of the push output.
This commit sends the push metadata out-of-band. It introduces an Aux
field in JSONMessage that can carry application-specific data alongside
progress updates. Instead of parsing formatted output, the client looks
in this field to get the digest, size, and tag from the push.
cc @diogomonica @dmcgowan

@docker/security-team

LGTM

This looks good, thank you Aaron.
Question, should we have a signature specific field? I'm good either way, I just think that if it was a signature field people would be more careful when reviewing it/handling it than if it is called "Aux". Also I don't see a lot of other use-cases out of the top of my head.
LGTM regardless

LGTM

Question, should we have a signature specific field? I'm good either way, I just think that if it was a signature field people would be more careful when reviewing it/handling it than if it is called "Aux". Also I don't see a lot of other use-cases out of the top of my head.

@diogomonica This is a good point. I was reluctant to couple the JSONMessage structure (which is already a complete mess) to trust specifically. Same goes for intermediate representations like the Progress structure.
I think the worst thing someone could do by mishandling the Aux field (without type assertions that mess with the actual payload) is prevent trusted push from working at all, which would break the tests. So I'm fairly comfortable doing it this way. But I'm open to alternatives if there are any ideas.

Rebased.

after rebase LGTM

ping @tonistiigi could you have a look at this one?

Rebased again.

LGTM

LGTM