Feat: Failed requests HTTP client

:scroll: Description
This is a HTTP client wich automatically add failed requests to an event.
:bulb: Motivation and Context
Closes https://github.com/getsentry/sentry-dart/issues/292
:green_heart: How did you test it?
It still needs tests.
:pencil: Checklist

[ ] I reviewed submitted code
[ ] I added tests to verify changes
[ ] I updated the docs if needed
[ ] All tests passing
[ ] No breaking changes

:crystal_ball: Next steps

Codecov Report

Merging #473 (e1ffeab) into main (20f0e84) will increase coverage by 3.81%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #473      +/-   ##
==========================================
+ Coverage   90.12%   93.93%   +3.81%
==========================================
  Files          54        5      -49
  Lines        1722      165    -1557
==========================================
- Hits         1552      155    -1397
+ Misses        170       10     -160

Impacted Files
Coverage Δ

dart/lib/src/platform/_io_platform.dart

dart/lib/src/protocol/dsn.dart

dart/lib/src/protocol/contexts.dart

dart/lib/src/protocol/sentry_level.dart

dart/lib/src/protocol/debug_meta.dart

dart/lib/src/protocol/sentry_gpu.dart

dart/lib/src/environment_variables.dart

dart/lib/src/protocol/debug_image.dart

dart/lib/src/protocol/mechanism.dart

dart/lib/src/protocol/sentry_message.dart

... and 38 more

Continue to review full report at Codecov.

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

@bruno-garcia
What do you think of splitting each HTTP client related functionality in its own client?
So recording breadcrumbs goes into the BreadcrumbClient, capturing "bad" requests (requests which throw or have a 400/500 status code for example) goes into the FailedRequestClient.
Additionally there's the SentryHttpClient which then uses both internally and it's the user facing class.
In the future there would then be a third client for the distributed tracing thingy.

@bruno-garcia
What do you think of splitting each HTTP client related functionality in its own client?
So recording breadcrumbs goes into the BreadcrumbClient, capturing "bad" requests (requests which throw or have a 400/500 status code for example) goes into the FailedRequestClient.
Additionally there's the SentryHttpClient which then uses both internally and it's the user facing class.
In the future there would then be a third client for the distributed tracing thingy.

@bruno-garcia opinions?

Sorry I'll take a look in a bit

The decorator approach LGTM as its indeed easier to test and compose features as needed.
A couple of things to keep in mind is the usability though, the user should have a simple way into the API without having to worry about the decoration composition. This will also to allow us to add new decorators later without affecting the user.
So if we can keep: SentryHttpClient() that bundles all decorators by default, it's a great approach.
The order also is important, for example add the breadcrumb after capturing the event (so the event doesn't include double crumbs, the artificial one created by Sentry plus the one from the integration).

So if we can keep: SentryHttpClient() that bundles all decorators by default, it's a great approach.

That's the plan.

The order also is important, for example add the breadcrumb after capturing the event (so the event doesn't include double crumbs, the artificial one created by Sentry plus the one from the integration).

That's a good point. Just changed it accordingly.

The integration creating events directly will open a new precedence for other SDKs. We don't do this yet from anywhere AFAIK. At least not in the Mobile team's SDKs. Including .NET and Java bases.
Would love to hear your learnings once this is live and some customer feedback came in

@bruno-garcia would you like to do a final review before we merge and release it as beta? as this PR drives the PoC

There's the risk of creating events too large for ingestion.

What is the largest allowed size? I'll add another test for that.

Finally, PII is another concern so docs should clearly state that there's this risk and point to the scrubbing data parts of the docs. I'm not too familiar with the automatic scrubbing we already have, worth pointing to that too since there's some level of default protection against PII getting in already.

Gonna do that, too


Disable registration 'Remove the code and links from the cshtml file.'

Hello, upgrading a project to 3.1 and love the new detailed documentation steps to disable registration. One point of clarification on the last step you mention "Remove the code and links from the cshtml file."
Did you mean to essentially comment out everything below the <h1>@ViewData["Title"]</h1> line in the RegistrationConfirmation.cshtml file?
Like this:

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

ID: 804e24dd-7e30-8cf5-2c99-1ffacb4582f6
Version Independent ID: 3e25547b-e2c9-6634-2c38-2a77207f17d4
Content: Scaffold Identity in ASP.NET Core projects
Content Source: aspnetcore/security/authentication/scaffold-identity.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Yes


xcodegen: init at 2.42.0

Adds XcodeGen. Closes #208816
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] 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/)
25.05 Release Notes (or backporting 24.11 and 25.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

[ ] Fits CONTRIBUTING.md.

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

That failed eval is actually a git error, not sure what's going on there

I made the changes you suggested, but I have a question about passthru.updateScript. I was under the impression that the default was to use nix-update-script. Are you just suggesting that I be explicit here or am I wrong about the default behavior?


Redundant condition (a === a)

https://github.com/SegFaultx64/express-http-to-https/blob/64881ce06e4f8fb0d787fcb086cab34f63867966/index.js#L11

Hi @fearmear
Sorry for the delay on this.   See this Stackoverflow post

This introduces unnecessary complexity. We have built-in isNaN function in the language.


fix(riverpod_logger): duplicated state logs fixes #241

Fix duplicated state logs for the riverpod logger

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

Project coverage is 100.00%. Comparing base (b567144) to head (08b9a92).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##            master      #244   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           99        91    -8
=========================================
- Hits            99        91    -8

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

@ArinFaraj why it is duplicate if printStateFullData is true you are not log value of riverpod?
If you remove what is in your pull request, then the meaning of printStateFullData disappears, since there will be no detailed information about the change in the console.
Please attach screenshots, maybe I don't notice something? Thanks.


[EPIC] New feature: User Accounts

Description:
The application needs user accounts to keep things personal and private.
Implement standard user account features:

Login
Logout
Sign up
Delete account
Confirmation email
Password reset
Password recovery

Use Duende Identity Server standalone server to implement authentication and authorization.
This is for a basic prototype for now, advanced options, like 3rd part login, will not be implemented at this point.

A change of plans, instead of using the built in authentication, I have decided to separate the authentication services from the application server and set up a full identity server. Using a standalone identity server solution will keep responsibilities more clearly separated and allows for greater flexibility.

Basic user account feature has been implemented with Duende Identity Server.
For more details see https://github.com/KinaUna/Examplium/tree/master/Documentation/Code/IdentityServer


Issue with sleeping and resuming with Discord Messenger running

When sleeping and resuming with it running, a message that gets sent doesn't show up in the channel. I have to switch to a different channel, then back to the previous one and then send the message.

Well because your computer is sleeping it can't receive messages. However they should be there if you restart.

No, I mean, when I resume, I am unable to send a message to the currently viewed channel. I have to switch to a channel and back to be able to send it.

You can replicate it by doing the following:

Have Discord Messenger open and viewing a channel.
Open Control Panel by running control in the Run Dialog Box opened by pressing Win + R.
Open Network and Sharing Center.
Click Change adapter settings
Disable and enable your network adapter.
You should get an error message saying that the connection cannot be made.
Click OK.
Try to send a message, it will be entered but not shown until you close and re-open it and view the channel.

I don't think that Discord Messenger re-opens the websocket when it gets disconnected. This is something that should be looked into.

Now it shows as sending but doesn't change its status until I restart the program.

Any news regarding this?

Doing the steps I wrote earlier also causes the member list to no longer display.

This is pretty much fixed.


Added sudo:false for travis config

This triggers builds to run on the new TravisCI infrastructure.
See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/

Thanks again! It had been added to the develop branch in https://github.com/sjparkinson/static-review/pull/31, but have since removed that branch and looks like I didn't update master.


Subsequent IO user can be granted access to operator reg account

Description:
As an subsequent IO user, I want to log in to the registration app so that I can start registering facilities
Acceptance Criteria:
Given
When
Then
Development Checklist:

[ ] Checklist item
[ ] Checklist item
[ ] Checklist item
[ ] Meets the DOD

Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included (if required)
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

·Definition of Done (Note: If any of these points are not applicable, mark N/A)

[ ] Acceptance criteria are tested by the CI pipeline
[ ] UI meets accessibility requirements
[ ] Configuration changes are documented, documentation and designs are updated
[ ] Passes code peer-review
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Ticket is ready to be merged to main branch
[ ] Can be demoed in Sprint Review
[ ] Bugs or future work cards are identified and created
[ ] Reviewed and approved by Product Owner

Notes:

Same as https://app.zenhub.com/workspaces/climate-action-secretariat-60ca4121764d710011481ca2/issues/gh/bcgov/cas-registration/27?

Closing - duplicate of 27/28.


Question about the License

Hello there,
would you consider changing the license of this library? LGPL-3.0 is very strict and makes it impossible for me to work with it.
I understand if this is not an option.
Thanks in advance & kind regards Mario

Hi @mario-deluna ; I can definitely change the license if the new one eases collaboration and use of this extension (at the time it protects the project from not receiving improvements made somewhere else)
Any particular license you would like to see here?

License changed from LGPL to MIT. Thanks for your feedback @mario-deluna .


Use pkg/test for common test components

This PR deleted a few unused methods and uses the common test components defined in pkg/test

/cc @grantr


Add from_base64url Presto Function

Fuzzer test output
I20230324 13:26:54.754741 8440631 ExpressionVerifier.cpp:68] All results match.
I20230324 13:26:54.754796 8440631 ExpressionFuzzer.cpp:1172] ==============================> Done with iteration 9013
I20230324 13:26:54.754842 8440631 ExpressionFuzzer.cpp:972] ==============================> Top 1 by number of rows processed
I20230324 13:26:54.754859 8440631 ExpressionFuzzer.cpp:974] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230324 13:26:54.754873 8440631 ExpressionFuzzer.cpp:978] from_base64url 9014 100.00% 314120
I20230324 13:26:54.754889 8440631 ExpressionFuzzer.cpp:984] ==============================> Bottom 1 by number of rows processed
I20230324 13:26:54.754902 8440631 ExpressionFuzzer.cpp:986] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230324 13:26:54.754916 8440631 ExpressionFuzzer.cpp:991] from_base64url 9014 100.00% 314120
I20230324 13:26:54.754931 8440631 ExpressionFuzzer.cpp:1004] ==============================> All stats sorted by number of times the function was chosen
I20230324 13:26:54.754945 8440631 ExpressionFuzzer.cpp:1006] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230324 13:26:54.754959 8440631 ExpressionFuzzer.cpp:1010] from_base64url 9014 100.00% 314120

resolves https://github.com/facebookincubator/velox/issues/4336

@aditi-pandit have squashed my commits in one. Please take a look when you get time. Thanks!

Fuzzer test output from the description
I20230324 13:26:54.754741 8440631 ExpressionVerifier.cpp:68] All results match.
I20230324 13:26:54.754796 8440631 ExpressionFuzzer.cpp:1172] ==============================> Done with iteration 9013
I20230324 13:26:54.754842 8440631 ExpressionFuzzer.cpp:972] ==============================> Top 1 by number of rows processed
I20230324 13:26:54.754859 8440631 ExpressionFuzzer.cpp:974] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230324 13:26:54.754873 8440631 ExpressionFuzzer.cpp:978] from_base64url 9014 100.00% 314120
I20230324 13:26:54.754889 8440631 ExpressionFuzzer.cpp:984] ==============================> Bottom 1 by number of rows processed
I20230324 13:26:54.754902 8440631 ExpressionFuzzer.cpp:986] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230324 13:26:54.754916 8440631 ExpressionFuzzer.cpp:991] from_base64url 9014 100.00% 314120
I20230324 13:26:54.754931 8440631 ExpressionFuzzer.cpp:1004] ==============================> All stats sorted by number of times the function was chosen
I20230324 13:26:54.754945 8440631 ExpressionFuzzer.cpp:1006] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230324 13:26:54.754959 8440631 ExpressionFuzzer.cpp:1010] from_base64url 9014 100.00% 314120

@mbasmanova Could you please review and merge when you get time, thank you!

@ashokku2022 Can you rebase to newest master to fix the build signals?

@Yuhta done!

@Yuhta is it ready to merge?

@Yuhta please let me know if there is anything stopping this PR from merge.

@Yuhta please let me know if there is anything stopping this PR from merge.

@ashokku2022 : Jimmy has merged the PR into Meta repositories already. The PR will get pushed by their automation once it completes tests etc.


🚀 Feature: Ability to enrich entities created from ingestion of org data

🔖 Feature description
When you use a provider to ingest org data, then entities are created for users and groups. As these entities aren't linked to yaml files there is currently no means to be able to enrich the data on these entities.
🎤 Context
As an example if i have a group entity it might be nice to be able to add the tech docs annotation to it so that i can reference a doc that describes the group.
✌ Possible Implementation
Possible None GUI approach: be able to define a yaml file for a group or user that extends the existing entity created by the org provider
Possible GUI approach, edit button on group or user entities that takes you to a page to extend the existing entity. This would need to be configurable to utilise permissions.
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, I don't have time to work on this right now

Yep definitely something we want to add better support for in the catalog! 👍
No plans right now to work on this right now in the maintainer team though.
There's a similar request here: https://github.com/backstage/backstage/issues/16155
And a related implementation here: https://roadie.io/docs/catalog/decorating-components/
Also added this to #14574

would be very useful to have this.


Issue with smart cropping (face detection)

The smart cropping does not return expected
URL: http://localhost:8888/unsafe/180x120/smart/http://s.glbimg.com/jo/eg/f/original/2012/02/25/jessica5.jpg
Cropped image and debug mode, respectively: http://imgur.com/a/MsBAd
Meta: {"thumbor": {"operations": [{"top": 267.5, "right": 637, "type": "crop", "bottom": 692.5, "left": 0}, {"width": 180.0, "type": "resize", "height": 120.0}], "source": {"url": "http://s.glbimg.com/jo/eg/f/original/2012/02/25/jessica5.jpg", "width": 637, "height": 960}, "focal_points": [{"origin": "alignment", "height": 1, "width": 1, "y": 480.0, "x": 318.5, "z": 1.0}], "target": {"width": 180.0, "height": 120.0}}}
What im doing wrong?
Python 2.6.7 on FreeBSD 8
OpenCV 2.3.1
Thumbor 2.6.4

Pretty sure this was my fault, sorry. Thumbor was incorrectly ignoring focal points depending on the size of the scaled image.
This shouldn't happen anymore on master, I'll update the pypi package tomorrow.


Error 'NoneType' object has no attribute 'SendCodeCompletionRequest'

I built  the current ycmd with ./build.py --all, nothing fancy. It built nicely. Then I tried out the YcmdCompletion plugin, with Sublime build 3314 on OS X 10.10.5, but I don't have luck so far.
Here's what the console says:
[YCMD] #### START COMPLETION ####
[Ycmd][Completion] for tmpfile.cpp:8:15
[Ycmd][Completion] Error 'NoneType' object has no attribute 'SendCodeCompletionRequest'
[Ycmd][Notify] tmpfile.cpp
[Ycmd][Notify] Error 'NoneType' object has no attribute 'SendEventNotification'
[Ycmd][Completion] for tmpfile.cpp:8:16
[Ycmd][Completion] Error 'NoneType' object has no attribute 'SendCodeCompletionRequest'

Here's my user config file: ( HMAC edited out)
{
   "HMAC": "<secret>",
   "languages": [ "c", "objc", "cpp", "python"],
   "ycmd_path": "/Volumes/Source/src/unix/ycmd/ycmd",
   "use_auto_start_localserver": 1,
   "python_binary_path": "/usr/local/bin/python"
}

and my environment:
$ which python
/usr/local/bin/python
$ python --version
Python 2.7.11
$ ls -d /Volumes/Source/src/unix/ycmd/ycmd
/Volumes/Source/src/unix/ycmd/ycmd
$ uname -v
Darwin Kernel Version 14.5.0: Tue Sep  1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64

and the contents of tmpfile.cpp (just in case :)), where the buffer is in C++ mode:
class xxx
{
public:
   int  x;
};

int  main( void)
{
   xxx  a;

   a.x = 1848;
   return( a.x);
}

for any poor sob still trying:
the ycmd_path variable looks for the library & python the scripts in the same path (dah). So you can create soft links from /ycmd to /ycmd/ycmd of all the relevant files (e.g. .so etc). Also at least for ubuntu 16.04 you need soft links for clang in /usr/bin (newer versions add the version number to the bin while the ycmd looks for 'clang' not 'clang++-4.0' etc


Build/ Rebuild project

I'd like to add support for build / rebuild project to the .proj file in the current folder, I guess using MSBuild. What's the best way you'd recommend to add this?

You need to find msbuild ( I guess something like checking usual installation paths [we do it in case of FSI], and maybe providing setting for specifying path to msbuild), it's much easier in case of mono as xbuild is usually in PATH I think.

Invoke msbuild / xbuild with right parameters (Debug vs Release; Build vs Rebuild vs Clean [and maybe vs CustomTarget])

Somehow pick good fsproj file (currently open, give user list of all projects in repo and pick one, or something like that). I guess I would go with 2 options - picking from list, and building "default" (relative path to "default" specified in settings so people can override it on workspace base).

What about output path? (We may want to add option to specify it [through settings file]... or do nothing, so path specified in fsproj is used [that's how VS does it])

I would just want to start with the simplest thing - look at the current file that's open, find the project that's either in the same folder or upwards of it, and do a debug build. In the future the configuration could be parameterised - you can have multiple configurations (not just debug and release), and I don't want to go through that whole hassle for v1 of this. Same for output path - just do the standard build of the project, the same as doing a project build in Visual Studio.
So, questions for moving forward on this: -

Where should settings be stored (for e.g. specifying MSBuild path)?
Where should this feature live in terms of this repo (more or less)?
What's the easiest way to test this out locally? I don't want a repeat of my PR to the Ionide Paket repo where I needed 4 releases to get it right!

it'd be in this one, the msbuild property info you need is extracted via forge. MsBuild has to be in a standard location otherwise everything else will get broken across ms programming tools. You also need to check the tools version listed in the project files, there are going to be multiple versions of msbuild installed on any system so you need to make sure you use a compatible one. Configurations live both in the solution and the project files, so you need to check the solution file to make sure that if you're trying to build multiple projects under the same configuration settings that it's actually viable.
I think looking at the file that's currently open and trying to infer the project it's a part of is a bad approach. If they're added contextual menu items (it's coming soon if it's not in already) to the api right clicking on the project file in the file tree and adding a "Build Project" action to the context menu is more reasonable.
The easiest way to test it locally is by running the extension in debug mode with will launch an extension development host with it installed

FYI when you're dealing with msbuild, everything is a hassle

@cloudRoutine thanks for this. I want to have it supported with keyboard shortcuts ideally rather than context menus from the file explorer - e.g. SHIFT + F6 as per VS - hence my idea re: inferring from the currently open file.

I thought by default the build hotkeys are setup to build the solution under the active configuration, although the build menus do offer the option to build the project the active file is associated with. the file inference can work in Vs because you have the solutions open and configurations settings are properly handled which means if you have a file open for the active configuration then it makes sense to build it, but in vscode you can get into all kinds of situations that violate those prerequisites and make it confusing as to what the proper course of action should be inferred to.
That's why I think it's a bad approach, for the time being. Once the full context can be established better then I think it'd be a great feature to have. Also just from a "just get something working" perspective it seems like the menu command approach would be the fastest and easiest way to get something implemented that you can run and test, worry about the other context reliant details later.

@isaacabraham:

Don't mind @cloudRoutine too much, he loves to over-engineer solutions ( ;-) ), I think we can start with some simple usecase, :-)

Where should settings be stored (for e.g. specifying MSBuild path)?

It should be defined as VSCode settings (example of definition - https://github.com/ionide/ionide-vscode-fsharp/blob/master/release/package.json#L196-L200, example of usage in source code - https://github.com/ionide/ionide-vscode-fsharp/blob/master/src/Components/Environment.fs#L72-L73)

Where should this feature live in terms of this repo (more or less)?

New file under Components folder, most of them are just module with public activate function where you define commands and/or other stuff. Take a look at Forge.fs for good example (as it only defines commands, uses showQuickPick which will be probably used for picking project to build, etc)

What's the easiest way to test this out locally? I don't want a repeat of my PR to the Ionide Paket repo where I needed 4 releases to get it right!

Open repo (with your changes) in VSCode and press F5 - it will build everything and start experimental VSCode instance.

Specifying the build tools location might be more appropriate for mono (I have no idea what their conventions are), but they should still be automatically detected on windows.
the setting should be an array so it can store multiple values.
        "FSharp.msbuildLocations": {
            "type": "array",
            "default": [],
            "description": "Directories containing MSBuild tools"
        }

@Krzysztof-Cieslak I was actually presenting the simplest use case as the starting point

Why just not start msbuild <project file name the current file belongs to>? This is #1 of features I want.

Another idea: is it possible to define a FAKE Target named Build current project, which would find the project file the current file belongs to, then run msbuild on it? Looks like a simple solution.
@forki

Ok, I've submitted an initial PR for basic build current and build selected project tasks.  What else would you all like to see in terms of

specific target invocation
specific msbuild Configuration (debug/release)?

For sure we should ask Rebuild and Clean commands so it has same functionality as VS.
Not sure how to handle Configurations (and it's bigger problem than just building [right now we don't pass configuration to ProjectCracker so it's invoked with default settings defined in project files]). I think for now, we can just stay with passing no Configuration (i.e using defaults defined in project file), until there is some more general way of handling MsBuild configurations in Ionide.

Which project would rebuild and clean target? Would they each have current/chosen variants?

Also, any preferences for keybindings?

Yeah, I guess we should have current and chosen for each target.
Don't really have preferences for keybindings (it doesn't really matter, it's super easy to change them for users) as long as they don't override some important VSCode commands. ;)

Is there a way to map the output of this panel to the built-in msbuild error reporter?  I know that if you configure a task with that reporter you get errors in the pane for free, but this isn't a task per se

I don't think we can do this right now.

I know Code Team is working on some changes in how tasks work and adding extension APIs for them, so maybe we will be able to move MsBuild support there in the future but it's not here yet.

ok, rebuild and clean are done.

OK, initial support was released in 2.20.0.


Proposal: add &range in for statements

When using the for statement to loop over a slice, it is sometimes useful or necessary to take the address of each slice entry rather than a value copy. However, doing this is a bit inconvenient and could be made more readable.
Loop over a slice by value:
for _, v := range s {
   ...
}

Loop over a slice by address:
for i := range s {
  p := &s[i]
  ...
}

Proposed syntactic extension to loop over a slice by address:
for _, p := &range s {
  ...
}

I believe the suggested extension is more readable and makes the intent clearer.

Why do you need to take an address? What's wrong with this?
for i := range a {
    a[i].DoSomething()
}

@pcostanza avoiding writing a few characters or a line (in this case, p := &s[i]) is very unlikely to be argument enough to warrant a language change that adds complexity to the spec. Do you have any other argument in its favor?
It's also worth noting that Go always passes by value - if you want to modify something, you pass its pointer. Adding &range reminds me a bit of & arguments in C++. So you would also be breaking that rule, which I believe is a part of the language's simplicity.

avoiding writing a few characters or a line (in this case, p := &s[i]) is very unlikely to be argument enough to warrant a language change that adds complexity to the spec. Do you have any other argument in its favor?

There are situations where you need to refactor your code, and one potential refactoring is to store structs as values in slices rather than pointers to structs. If then, in a corresponding for loop, you need to refer to the single entries by address rather than by value, you would have to move from (1) to (2):
// (1)
for _, p := range s {
   ...
}

// (2)
for i := range s {
   p := &s[i]
   ...
}

With the proposed change, such refactorings would be easier and result in more elegant code IMHO. The alternative you're suggesting is to replace each occurrence of p with s[i], which is more work and more error-prone for larger pieces of code. (That's a case that actually happened to me, which is why I'm proposing this change.)

It's also worth noting that Go always passes by value - if you want to modify something, you pass its pointer. Adding &range reminds me a bit of & arguments in C++. So you would also be breaking that rule, which I believe is a part of the language's simplicity.

I don't particularly care about the concrete syntax. The idea of &range is to suggest that the address of each successive slice element is taken, and the & operator already exists in Go, so this seems a straightforward syntactic change to me, without having to refer to C++.
Other possible syntaxes could be *range, or, for example:
for _, *p := range s {
   ...
}

I'd guess that's probably more problematic though from a language specification point of view, though. Again, I don't care about the particular syntax, but i think the feature could improve the language and make it a bit more orthogonal.
(The for _, v := range s {... v ...} form is also not necessary and could have been reduced to for i := range s {... s[i] ...} as well, but it seems to me that whoever designed the for statement thought the first form is aesthetically more pleasing. Maybe I'm wrong.)

Note that my point about passing by value has little to do with syntax. With the current state of things, you have to explicitly take the address via &s[i]. With this change, it would be more subtle as you would introduce a language feature that would implicitly take addresses of slice/array elements. This is what I meant by "breaking the passing by value rule".
I see your point about the extra verbosity, but I'm still not (personally) convinced.
Could you elaborate on your error-prone point?

Related: #8346

I really like this suggestion. I've worked on quite a bit of code that uses []T rather than []*T for performance reasons and it's awkward to need to explicitly index into the slice rather than being able to use an iteration variable. I also agree that it's error-prone: when you're using such slices it's easy to accidentally write for i, v := range s { and make copies unintentionally.

To be consistent with arrays, I prefer to
for _, p := range &s {
  ...
}

Note that my point about passing by value has little to do with syntax. With the current state of things, you have to explicitly take the address via &s[i]. With this change, it would be more subtle as you would introduce a language feature that would implicitly take addresses of slice/array elements. This is what I meant by "breaking the passing by value rule".

OK, now I see what you mean. I still disagree with you, though. In C++, you indeed regularly encounter situations where the address of an object is implicitly taken, just by virtue of calling a function that takes reference parameters. There is no syntactic clue whatsoever at the call site that this is happening, and I fully understand that you want to avoid adding features that could lead to similar situations.
However, my proposal doesn't do this: The expression that specifies which values addresses are taken of is right next to the &range form, which is very explicit (and not more implicit than what the already existing range form does). I don't think this gives rise to any surprises when reading source code.

Could you elaborate on your error-prone point?

Nothing special here: The more code you need to touch in a refactoring, the more opportunities there are for making mistakes, like typing j instead of i; the i accidentally being shadowed by another "more local" i; and so on. Cespare also has a good point, which I admit I haven't had in mind myself.

I have sentiment for the general idea; the situation where one wants to iterate over the addresses rather than the elements of an array/slice does occur fairly often, and it's unsatisfying that that code has to be quite asymmetric compared to the case where one iterates over the elements. A couple of observations:

The alternative suggested notation

for _, *p := range s {
   ...
}

(suggested in https://github.com/golang/go/issues/21537#issuecomment-323547225) would be problematic because the same notation using a = rather than := would be a currently valid iteration over the elements of s that stores the elements in *p. Having the meaning so different simply because there's an extra : seems problematic.

The proposal falls apart for iterations over maps because it's not permitted to take the address of a map element (even outside any iteration). Thus, one would have to exclude maps from this mechanism, which is unsatisfying.

I don't know if 2) would be a show stopper, but at the very least it's going to be a concern that speaks against the proposal.

The proposal falls apart for iterations over maps because it's not permitted to take the address of a map element (even outside any iteration). Thus, one would have to exclude maps from this mechanism, which is unsatisfying.

I believe this is only an issue when refactoring code from using a slice representation to a map representation, or vice versa, for a particular use case. However, such a refactoring requires much deeper changes than adapting a few for loops, so there is no need to create the illusion it's an easy change in the for loops. (It would be nicer, indeed, but won't be the major refactoring challenge.)
Moving from []*someType to []someType or vice versa is more common, and doesn't require the deep changes that moving between maps and slices require.

I like the idea and spoke of it in the mailing list a few years ago. one of the proposals from another person on that thread (Gri?) was a three-value range, with index, value, and pointer to value as the result. In this scenario, the existing two-value case is extended but the third value could be generally ignored. When the pointer was wanted, "i,_,p := range ..." gives it to you.
that seemed ok to me.

This new syntax is occasionally convenient, but it only works for slices and arrays, not for strings, maps, or channels.  It's a fairly minor bit of syntactic sugar, and it doesn't seem to bring enough benefit for the cost of making the range statement even less consistent.


[Feature Request] Retro Games Done Quick

I still remember how proud I felt for being able to beat Super Mario Bros. when I was kid. These days, there are people that beat it in under 5 minutes...
For this feature, implement a command that posts a link to a random YouTube-video of someone speedrunnning a classic game like Super Mario Bros so we can all watch in awe of the skills displayed by the speedrunner.
Implementation details

[ ] The command should select a random link and post it to the channel. Let Discord take care of the embedding of the video;
[ ] Be sure to add your list of selected links to a separate, static resource file so we can easily add more links.

Additional information

Add your feature to the evergreen season.
Keep us updated on your progress by leaving comments!
Make sure to give you commits a descriptive commit message
Please note the style guide and conventions listed in the various contrib documents
If you want to include graphics, make sure they have a permissive license

https://www.youtube.com/watch?v=jNE28SDXdyQ is a great speedrun. Cosmo explains the entire history of OoT speedrunning as he demolishes it with tons of really tricky frame-perfect glitches.

I would like to work on this.

Sure, go for it @jakeHebert

#254

Merged by #254


Fixing glossary links

Deploy preview for docsdocker ready!
Built with commit f1502bd7fa45bc27c0c7a70ce9cb3d964ee24ac2
https://deploy-preview-9812--docsdocker.netlify.com


SslHandler#wrap to preserve exception if SSLEngine is closed

Motivation:
SslHandler currently throws a general SSLException if a wrap attempt
fails due to the SSLEngine being closed. If writes are queued the
failure rational typically requires more investigation to track down the
original failure from a previous event. We may have more informative
rational for the failure and so we should use it.
Modifications:

SslHandler#wrap to use failure information from the handshake or prior
transport closure if available

Result:
More informative exceptions from SslHandler#wrap if the SSLEngine has
been previously closed.

the PR itself looks good... Please check the leak.

@normanmaurer - test leak should be addressed.


Allow show/hide of the password you're entering on login

Is your feature request related to a problem? Please describe.
When keying in your password in the login screen, it's easy to mistype and not realise what you've entered.
Describe the solution you'd like
I've like the ability to show/hide the password I'm entering on login.

This'll be in 2.15 soon.


Migration: osx-arm64

This PR manually adds the osx-arm64 migration.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


feat: upgrade Flux to v0.83.2

Closes #19468
This upgrades Flux to version 0.83.2.
In the first commit I just copied the old (before the split) contents of influxdb/query/ into the current master. So, you may find it helpful to look at this diff, that compares that commit to the head of this branch:
https://github.com/influxdata/influxdb/compare/2438776...feat/upgrade-flux-to-v0.83.1
This makes it easier to see what I changed by hand.
Here's a summary of what I did:

Returned to the modern way of initializing Flux runtime
Restored cmd/influxd/launcher/query_test.go to its previous state (still skipping pushdown tests)
Restored http/query.go and http/query_test.go to their previous state
Reapplied many, but not all, of the commits from this issue: #19444 (more on this below)
Removed temporary copy of modern Flux in pkg/flux, and updated references to it
In query/ most of the code is the same as before the split, except the code for to() and experimental.to().  Here I left in @stuartcarnie 's changes that make these both work.

On the commits from #19444 that didn't get reapplied after the split, I kept all of them except:

revert(storage): Revert feat(influxql): Implement DELETE & DROP MEASUREMENT 1501351 cc/ @benbjohnson
That one seems like it will need to be ported to work with the new storage engine?

I also kept the commits that add a new feature flag for injecting task last success time, since it reapplied cleanly:

revert(tasks): Revert feat(task): Inject Task's LatestSuccess Timestamp In Flux Extern (#19402) via 1ae2541 cc/ @brettbuddin

There were several Flux end-to-end-tests that failed after upgrading Flux. I filed issues for them:

Pushed down range stop bound is not longer exclusive https://github.com/influxdata/influxdb/issues/19564
Fix bugs and reenable PushDownReadTagValuesRule and PushDownReadTagKeysRule https://github.com/influxdata/influxdb/issues/19561
Flux end-to-end test influxql/elapsed failing with different answer https://github.com/influxdata/influxdb/issues/19568
Flux end-to-end test failing with "field type conflict" https://github.com/influxdata/influxdb/issues/19565

[x] Well-formatted commit messages
[x] Rebased/mergeable
[ ] Tests pass

@wolffcm / @benbjohnson I re-implemented DELETE / DROP MEASUREMENT via #19549 to talk to TSM1

👏 👏


Simulator

The simulator app helps performance testing Prometheus by scaling target deployments up and down on an interval basis. It takes a configmap "k8s-simulator-config" which specifies the targets deployment name, interval and upper and lower bound. It will reload the configmap every 30 seconds.

@fabxc Could you try this out?
I will squash the commits before merge.

Merging here – I'll check what we can do for querying.


slow data loading

Speed up data loading process and communicate loading to user
For Sardana it takes ~30 seconds in total.

use dask for faster loading
show progress (bar) to the user

added dask to load data and converted to pandas dataframe. Could be faster when working with dask only.


Fix misleading security permissions

When permissions are managed via the SiteConfig, certain permissions applicable to a currently edited group are not apparent.
We should probably move some of the global permissions, perhaps as a readonly segment, into the group permissions dialog.
I.e. move some of this:

Onto this dialog:

Security settings
I think augmenting that list with some read-only permissions sounds like a great idea - perhaps under a label like 'Default content permissions', with a note about the fact they're due to settings in the Access section. Something like: "You can manage default content access permissions for groups under 'Security > Access'. These may be overridden on the Settings tab of individual pages."
Then I think renaming the existing 'Content permissions' to 'Super content permissions' or similar would be helpful and sit nicely alongside this new read-only 'Default content permissions' section.
I also think we should move the Access tab from SiteConfig to Security. SiteConfig is supposed to be an optional module and Security is a more logical home for these settings anyway I think.
Individual page settings
Suggest that as part of this we revise the permissions dialog for individual pages too - currently you find this under Settings even for root pages:
![screen shot 2015-12-21 at 1 51 16 pm]
(https://cloud.githubusercontent.com/assets/1079425/11942232/19294b8a-a7ea-11e5-91dc-f87d8d2f676c.png)
Which doesn't make sense for root pages as there is no parent page. In that case it actually means "Use site config settings" currently.
I'd suggest that both of these field groups should be changed to only show two options initially: "Inherit" and "Custom". If you choose the Custom option then the specific options are revealed so you can make a selection, but they're hidden otherwise. Additionally the Inherit option should indicate what the inherited settings are and ideally where they are coming from, with a link or maybe just a tooltip:

Yeah, I think we need to ensure those permissions bubble up to the individual site trees as well; Good spotting. :)
I think the concept is that at every point, the user should be adequately informed about:

What parent permissions are in effect
When those permissions are overridden by the current option
When those permissions are inherited by the current option
The effect of any inherited permissions + selected options

SiteConfig is mandatory for CMS module, which is where those permissions are inheriting from, so it's possibly ok to leave it there.
It's probably ok to add these to the security section, but it would probably need to involve quite a bit of UX re-think of that entire section. I don't think it's mandatory for this issue.

Related https://github.com/silverstripe/silverstripe-framework/issues/3310

This may be resolved in #8620 together with other CMS permission issues as a holistic solution


Failed to update PodChaos, seems like related to admission webhooks.

Question
What I do:

Following the wiki, start up a tidb cluster and chaos-mesh components.
Create pod-failure-example.yaml just like wiki sayed.
Inject this chaos, it works.
Update label selector from "app.kubernetes.io/component": "tikv" to "app.kubernetes.io/component": "tidb", then kubectl apply.

Expected:
PodChaos change it's spec field, then inject chaos into tidb pods.
Actual:
I got a error when execute kubectl apply. PodChaos do not make any changes.
Detail:
$ k apply -f pod-failure-example.yaml
Error from server (InternalError): error when applying patch:
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"pingcap.com/v1alpha1\",\"kind\":\"PodChaos\",\"metadata\":{\"annotations\":{},\"name\":\"pod-failure-example\",\"namespace\":\"chaos-testing\"},\"spec\":{\"action\":\"pod-failure\",\"duration\":\"60s\",\"mode\":\"one\",\"scheduler\":{\"cron\":\"@every 5m\"},\"selector\":{\"labelSelectors\":{\"app.kubernetes.io/component\":\"tidb\"},\"namespaces\":[\"tidb-cluster-demo\"]}}}\n"}},"spec":{"selector":{"labelSelectors":{"app.kubernetes.io/component":"tidb"}}}}
to:
Resource: "pingcap.com/v1alpha1, Resource=podchaos", GroupVersionKind: "pingcap.com/v1alpha1, Kind=PodChaos"
Name: "pod-failure-example", Namespace: "chaos-testing"
Object: &{map["apiVersion":"pingcap.com/v1alpha1" "kind":"PodChaos" "metadata":map["annotations":map["kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"pingcap.com/v1alpha1\",\"kind\":\"PodChaos\",\"metadata\":{\"annotations\":{},\"name\":\"pod-failure-example\",\"namespace\":\"chaos-testing\"},\"spec\":{\"action\":\"pod-failure\",\"duration\":\"60s\",\"mode\":\"one\",\"scheduler\":{\"cron\":\"@every 5m\"},\"selector\":{\"labelSelectors\":{\"app.kubernetes.io/component\":\"tikv\"},\"namespaces\":[\"tidb-cluster-demo\"]}}}\n"] "creationTimestamp":"2020-03-22T05:12:12Z" "generation":'\x02' "name":"pod-failure-example" "namespace":"chaos-testing" "resourceVersion":"2950" "selfLink":"/apis/pingcap.com/v1alpha1/namespaces/chaos-testing/podchaos/pod-failure-example" "uid":"da20fb82-8737-4039-a647-80bb7d1066c1"] "spec":map["action":"pod-failure" "containerName":"" "duration":"60s" "gracePeriodSeconds":'\x00' "mode":"one" "scheduler":map["cron":"@every 5m"] "selector":map["labelSelectors":map["app.kubernetes.io/component":"tikv"] "namespaces":["tidb-cluster-demo"]] "value":""] "status":map["experiment":map["phase":"Failed"] "phase":""]]}
for: "pod-failure-example.yaml": Internal error occurred: failed calling webhook "mpodchaos.kb.io": Post https://chaos-mesh-controller-manager.chaos-testing.svc:443/mutate-pingcap-com-v1alpha1-podchaos?timeout=30s: x509: certificate signed by unknown authority

There also some similar logs in chaos-controller-manager.
2020/03/22 05:34:01 http: TLS handshake error from <IP_ADDRESS>:28588: remote error: tls: bad certificate
2020/03/22 05:34:01 http: TLS handshake error from <IP_ADDRESS>:12604: remote error: tls: bad certificate
2020-03-22T05:34:01.657Z	ERROR	controllers.PodChaos	unable to update chaos finalizers	{"reconciler": "podchaos", "action": "pod-failure", "error": "Internal error occurred: failed calling webhook \"mpodchaos.kb.io\": Post https://chaos-mesh-controller-manager.chaos-testing.svc:443/mutate-pingcap-com-v1alpha1-podchaos?timeout=30s: x509: certificate signed by unknown authority"}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.0/zapr.go:128
github.com/pingcap/chaos-mesh/controllers/twophase.(*Reconciler).Reconcile
	/src/controllers/twophase/types.go:153
github.com/pingcap/chaos-mesh/controllers/podchaos.(*Reconciler).schedulePodChaos
	/src/controllers/podchaos/types.go:90
github.com/pingcap/chaos-mesh/controllers/podchaos.(*Reconciler).Reconcile
	/src/controllers/podchaos/types.go:51
github.com/pingcap/chaos-mesh/controllers.(*PodChaosReconciler).Reconcile
	/src/controllers/podchaos_controller.go:56
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:256
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:232
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:211
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1
	/go/pkg/mod/k8s.io/apimachinery@v0.17.0/pkg/util/wait/wait.go:152
k8s.io/apimachinery/pkg/util/wait.JitterUntil
	/go/pkg/mod/k8s.io/apimachinery@v0.17.0/pkg/util/wait/wait.go:153
k8s.io/apimachinery/pkg/util/wait.Until
	/go/pkg/mod/k8s.io/apimachinery@v0.17.0/pkg/util/wait/wait.go:88
2020-03-22T05:34:01.657Z	DEBUG	controller-runtime.manager.events	Warning	{"object": {"kind":"PodChaos","namespace":"chaos-testing","name":"pod-failure-example","uid":"da20fb82-8737-4039-a647-80bb7d1066c1","apiVersion":"pingcap.com/v1alpha1","resourceVersion":"2950"}, "reason": "ChaosInjectFailed", "message": "no pod is selected"}
2020/03/22 05:40:34 http: TLS handshake error from <IP_ADDRESS>:54281: remote error: tls: bad certificate
2020/03/22 05:40:34 http: TLS handshake error from <IP_ADDRESS>:3472: remote error: tls: bad certificate
2020-03-22T05:50:40.522Z	INFO	controllers.PodChaos	Reconciling podchaos	{"reconciler": "podchaos"}
2020-03-22T05:50:40.522Z	INFO	controllers.PodChaos	Reconciling a two phase chaos	{"reconciler": "podchaos", "action": "pod-failure", "name": "pod-failure-example", "namespace": "chaos-testing"}
2020-03-22T05:50:40.522Z	INFO	controllers.PodChaos	Chaos action:	{"reconciler": "podchaos", "action": "pod-failure", "chaos": {"kind":"PodChaos","apiVersion":"pingcap.com/v1alpha1","metadata":{"name":"pod-failure-example","namespace":"chaos-testing","selfLink":"/apis/pingcap.com/v1alpha1/namespaces/chaos-testing/podchaos/pod-failure-example","uid":"da20fb82-8737-4039-a647-80bb7d1066c1","resourceVersion":"2950","generation":2,"creationTimestamp":"2020-03-22T05:12:12Z","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"pingcap.com/v1alpha1\",\"kind\":\"PodChaos\",\"metadata\":{\"annotations\":{},\"name\":\"pod-failure-example\",\"namespace\":\"chaos-testing\"},\"spec\":{\"action\":\"pod-failure\",\"duration\":\"60s\",\"mode\":\"one\",\"scheduler\":{\"cron\":\"@every 5m\"},\"selector\":{\"labelSelectors\":{\"app.kubernetes.io/component\":\"tikv\"},\"namespaces\":[\"tidb-cluster-demo\"]}}}\n"}},"spec":{"selector":{"namespaces":["tidb-cluster-demo"],"labelSelectors":{"app.kubernetes.io/component":"tikv"}},"scheduler":{"cron":"@every 5m"},"action":"pod-failure","mode":"one","value":"","duration":"60s","gracePeriodSeconds":0,"containerName":""},"status":{"phase":"","experiment":{"phase":"Failed"}}}}
2020-03-22T05:50:40.523Z	INFO	controllers.PodChaos	Performing Action	{"reconciler": "podchaos", "action": "pod-failure"}
2020-03-22T05:50:40.523Z	INFO	controllers.PodChaos	Try to inject pod-failure	{"reconciler": "podchaos", "action": "pod-failure", "namespace": "tidb-cluster-demo", "name": "tidb-tikv-2"}
2020-03-22T05:50:40.542Z	DEBUG	controller-runtime.manager.events	Normal	{"object": {"kind":"PodChaos","namespace":"chaos-testing","name":"pod-failure-example","uid":"da20fb82-8737-4039-a647-80bb7d1066c1","apiVersion":"pingcap.com/v1alpha1","resourceVersion":"2950"}, "reason": "ChaosInjected", "message": ""}
2020/03/22 05:50:40 http: TLS handshake error from <IP_ADDRESS>:46052: remote error: tls: bad certificate
2020/03/22 05:50:40 http: TLS handshake error from <IP_ADDRESS>:60622: remote error: tls: bad certificate
2020-03-22T05:50:40.560Z	ERROR	controllers.PodChaos	unable to update chaosctl status	{"reconciler": "podchaos", "action": "pod-failure", "error": "Internal error occurred: failed calling webhook \"mpodchaos.kb.io\": Post https://chaos-mesh-controller-manager.chaos-testing.svc:443/mutate-pingcap-com-v1alpha1-podchaos?timeout=30s: x509: certificate signed by unknown authority"}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.0/zapr.go:128
github.com/pingcap/chaos-mesh/controllers/twophase.(*Reconciler).Reconcile
	/src/controllers/twophase/types.go:179
github.com/pingcap/chaos-mesh/controllers/podchaos.(*Reconciler).schedulePodChaos
	/src/controllers/podchaos/types.go:90
github.com/pingcap/chaos-mesh/controllers/podchaos.(*Reconciler).Reconcile
	/src/controllers/podchaos/types.go:51
github.com/pingcap/chaos-mesh/controllers.(*PodChaosReconciler).Reconcile
	/src/controllers/podchaos_controller.go:56
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:256
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:232
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:211
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1
	/go/pkg/mod/k8s.io/apimachinery@v0.17.0/pkg/util/wait/wait.go:152
k8s.io/apimachinery/pkg/util/wait.JitterUntil
	/go/pkg/mod/k8s.io/apimachinery@v0.17.0/pkg/util/wait/wait.go:153
k8s.io/apimachinery/pkg/util/wait.Until
	/go/pkg/mod/k8s.io/apimachinery@v0.17.0/pkg/util/wait/wait.go:88
2020-03-22T05:50:40.561Z	DEBUG	controller-runtime.controller	Successfully Reconciled	{"controller": "podchaos", "request": "chaos-testing/pod-failure-example"}
2020-03-22T05:50:40.561Z	DEBUG	controller-runtime.manager.events	Warning	{"object": {"kind":"PodChaos","namespace":"chaos-testing","name":"pod-failure-example","uid":"da20fb82-8737-4039-a647-80bb7d1066c1","apiVersion":"pingcap.com/v1alpha1","resourceVersion":"2950"}, "reason": "ChaosInjectFailed", "message": "Internal error occurred: failed calling webhook \"mpodchaos.kb.io\": Post https://chaos-mesh-controller-manager.chaos-testing.svc:443/mutate-pingcap-com-v1alpha1-podchaos?timeout=30s: x509: certificate signed by unknown authority"}
2020/03/22 05:59:23 http: TLS handshake error from <IP_ADDRESS>:43083: remote error: tls: bad certificate
2020/03/22 05:59:23 http: TLS handshake error from <IP_ADDRESS>:46043: remote error: tls: bad certificate
2020/03/22 05:59:32 http: TLS handshake error from <IP_ADDRESS>:39901: remote error: tls: bad certificate
2020/03/22 05:59:32 http: TLS handshake error from <IP_ADDRESS>:17379: remote error: tls: bad certificate

I find thempodchaos.kb.io, it just like a mocked(fake) url. It seems defined in config/webhook/manifests.yaml.
Here are my questions:

What's the responsibility of this webhook?
What could I do if I want update my PodsChaos?, Can I just delete these admission webhooks?
What does this xxx.kb.io means?  (Just curious)

@STRRL The webhook is to validate the chaos object, you can find the related code at podchaos_webhook.go
From the log, the certs are broken and the real reason has not been found so far. I suggest that you can use cert-manager to manager certs, refer here. About the third question,  xxx.kb.io just the name of webhook and you can find the definition at here

@STRRL I've met a similar (but not same) issue also related to webhook yesterday, and make it work after removing kind cluster and rebuilding some docker images. I was using this tutorial.

@cwen0 It seems if you deploy chaos-mesh without cert-manager, the caBundle just like a placeholder, not a valid value. source code here.
So I think It will work well with cert-manager.

@STRRL oo, this is a bug at here, If we deploy chaos-mesh without cert-manager, we create webhookConfiguration in this file post-install-webhook-job.yaml, we should add the control option for the webhook-configuration.yaml file.
Add the control option at the head of  webhook-configuration.yaml file.
{{- if .Values.webhook.certManager.enabled }}
....
{{- end }}

Can you help us to fix it?

@cwen0 Sure, I can do this.

@STRRL oo, this is a bug at here, If we deploy chaos-mesh without cert-manager, we create webhookConfiguration in this file post-install-webhook-job.yaml, webhook-configuration.yaml only used when we deploy Chaos Mesh with cert-manager.
So we can add the control option at the head of webhook-configuration.yaml file to fix this issue.
{{- if .Values.webhook.certManager.enabled }}
....
{{- end }}

@cwen0 .
I don't think so.post-install-webhook-job.yaml only used when we do not deploy Chaos Mesh with cert-manager.   webhook-configuration.yaml whether or not we deploy Chaos Mesh with cert-manager.
When we do not deploy Chaos Mesh with cert-manager.post-install-webhook-job.yaml will make a patch to set the caBundle field.
from @STRRL 's logs
2020/03/22 05:40:34 http: TLS handshake error from <IP_ADDRESS>:54281: remote error: tls: bad certificate
2020/03/22 05:40:34 http: TLS handshake error from <IP_ADDRESS>:3472: remote error: tls: bad certificate

If deploy chaos-mesh without cert-manager, maybe something worng with the webhook-mw-job.

kubectl version

@Gallardot I already delete the old cluster. I tried to recreate one on another PC but I can not reproduce this problem any more.
Now chaos-mesh work pretty well.😅 Do you still need that information?
I will try to reproduce it later.

@STRRL  If you can reproduce it, I need that information. Thank you!

When we do not deploy Chaos Mesh with cert-manager.post-install-webhook-job.yaml will make a patch to set the caBundle field.
@Gallardot Yes, you are right, When we deploy Chaos Mesh without cert-manager, post-install-webhook-job.yaml will make a patch to set the caBundle field.

If deploy chaos-mesh without cert-manager, maybe something worng with the webhook-mw-job.
It is ok in my environment, Can you give me some error log?

How could I fetch logs of webhook-mw-job and webhook-certs-job?
I found that pods of these job deleted as soon as job completed.

@cwen0 @Gallardot
Is there a possibility that webhook-cert-job runs before applying admission controller?

@cwen0 @Gallardot
Is there a possibility that webhook-cert-job runs before applying admission controller?

Of course. Helm creates chaos-controller first ,and then creates webhook-certs-job and webhook-mw-job. Sometimes the job have already finished, but chaos-controller is still pulling images.

@Gallardot I have reproduced this problem, but with a misoperation: I press CTRL+C during ./install --local kind waiting for startup.😅
Detail:
$ ./install.sh --local kind
Install Helm tool
Helm Version 3.1.2 has been installed
Install kubectl client
kubectl Version 1.17.4 has been installed
Install Kind tool
Kind Version 0.7.0 has been installed
Install local Kubernetes kind
Kind cluster kind has been installed
Install Chaos Mesh chaos-mesh
customresourcedefinition.apiextensions.k8s.io/iochaos.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/kernelchaos.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/networkchaos.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/podchaos.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/timechaos.pingcap.com created
namespace/chaos-testing created
^C

But I found webhook-certs-job completed with logs:
$ k -n chaos-testing logs webhook-certs-job-hkkww
Creating certs in tmpdir /tmp/tmp.scfAqWflop
Generating RSA private key, 2048 bit long modulus (2 primes)
.......................+++++
.....................................................................................................................+++++
e is 65537 (0x010001)
generate csr
create CSR
certificatesigningrequest.certificates.k8s.io/chaos-mesh-controller-manager.chaos-testing created
verify CSR
NAME                                          AGE   REQUESTOR                                                      CONDITION
chaos-mesh-controller-manager.chaos-testing   0s    system:serviceaccount:chaos-testing:chaos-controller-manager   Pending
approve certificats
certificatesigningrequest.certificates.k8s.io/chaos-mesh-controller-manager.chaos-testing approved
not empty
start to openssl base64
secret/chaos-mesh-webhook-certs created

Here is information that you asked for:
https://paste.ubuntu.com/p/QRg9XdFp2S/

@Gallardot It seems my misoperation makes this issue,webhook-mw-job does not execute.
But I can not figure out why helm do not createwebhook-mw-job.

@STRRL thank you for the information.
Is it OK for now?

@Gallardot Now it works pretty well. Thank you.


Add weekly review 029

Feel free to edit it. Thanks.

Thanks @kianmeng
https://perlweeklychallenge.org/blog/review-challenge-029/


Introduce GetParams support

Motivation
As part of a larger change to support version matching strategies (to reduce I/O pressure), ListParams were separated into List and Watch params. To complete the feature set, this change adds support for GetParams, mirroing the upstream client-go layout for the type.

Solution
In the context of this change, we added a GetParams struct that does implicit version matching (semantics are quite easy, any = "0", NotOlderThan = specific, non-zero version, and unspecified is most recent). We use the struct in all request methods and in Api core methods. ListParams with version matching semantics is used for list_metadata, so the same was done here (extended GetParams to get_metadata and all other asssociated methods) even if it was outside of the scope of the issue.
As part of the change, we also had to change the examples and tests. Since the version was (largely) unspecified, we use the default derived implementation; for tests and examples, this change should be non-functional (unspecified is the same as unset).
This is a breaking change.
Fixes #1174

I didn't see any other way than changing the method signatures (get, get_opt, entry and all other metadata methods). It's a pity it's a breaking change but better than duplicating everything imo.

This is almost a changelog-add now, but have marked this as a breaking change still as it does technically change the much less used, lower-level Request interface in kube_core. Api users are not affected. Main PR body can be edited also to reflect this.


custom dc script to load data and generate embeddings

Copy of import/simple/stats/run_stats.sh to

process data
generate NL embedings

Are these files copied from import repo? Why not just reuse them?


Increased memory_limit and memory_requests for Fluentd DS

Hi!
Can you explain why we need this changes?
You can set desired values for this variables in your inventory group_vars.
Thanks!

Sorry, this change was not supposed to be merged to the official
kubespray repo.
Closed the PR already.
Thanks!
On Mon, Feb 12, 2018 at 12:58 PM, Maxim Krasilnikov <
<EMAIL_ADDRESS>wrote:

Hi!
Can you explain why we need this changes?
You can set desired values for this variables in your inventory group_vars.
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-incubator/kubespray/pull/2307#issuecomment-364845923,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AdXfk5mMuHv8ljvmhghu9_Sb2bRtvC-5ks5tT-g0gaJpZM4SBxmT
.


Deprecation notice

This project has been replaced by eslint-config-walmart. Maintaining copies of other people's config is neither useful or helpful at this point.
@ryan-roemer @kenwheeler @jchip

👍

:+1:

👍


In a kprobe with a wildcard, try to get the probe name through the builtin 'probe', all attach points will get the same name.

Because we use cached progfd for the kprobe and kretprobe, so we cannot get the correct probe name by the probe id in the bytecode. As an alternative, we could use the builtin 'func' to achieve the same goal. But should we fix this?
What reproduces the bug?
$ sudo ./bpftrace -e 'k:vfs_* { @[probe] = count(); }'
Attaching 69 probes...
^C

@[kprobe:vfs_writev]: 10272

bpftrace --info
$ sudo ./bpftrace --info
System
  OS: Linux 5.15.0-27-generic # 28-Ubuntu SMP Thu Apr 14 04:55:28 UTC 2022
  Arch: x86_64

Build
  version: v0.14.0-114-g92403
  LLVM: 12.0.1
  ORC: v2
  foreach_sym: yes
  unsafe uprobe: no
  bfd: yes
  bpf_attach_kfunc: yes
  bcc_usdt_addsem: yes
  bcc bpf_attach_uprobe refcount: yes
  bcc library path resolution: yes
  libbpf: yes
  libbpf btf dump: yes
  libbpf btf dump type decl: yes
  libdw (DWARF support): yes

Kernel helpers
  probe_read: yes
  probe_read_str: yes
  probe_read_user: yes
  probe_read_user_str: yes
  probe_read_kernel: yes
  probe_read_kernel_str: yes
  get_current_cgroup_id: yes
  send_signal: yes
  override_return: yes
  get_boot_ns: yes
  dpath: yes

Kernel features
  Instruction limit: 1000000
  Loop support: yes
  btf (depends on Build:libbpf): yes
  map batch (depends on Build:libbpf): yes
  uprobe refcount (depends on Build:bcc bpf_attach_uprobe refcount): yes

Map types
  hash: yes
  percpu hash: yes
  array: yes
  percpu array: yes
  stack_trace: yes
  perf_event_array: yes

Probe types
  kprobe: yes
  tracepoint: yes
  perf_event: yes
  kfunc: yes
  iter:task: yes
  iter:task_file: yes

Yes, we definitely should. I proposed a fix, see the linked PR.


[API] Add update pr headBranch api

As title.

Otherwise LGTM

not that bad :) - thanks @a1012112796

@6543 are you happy now?

make lg-tm work


fix tooltip to show OR search type, fix edit works render issue when …

…issued date is array

This is to address the issue reported here.


Added ALT Tag for install/installing-mattermost-desktop-app.rst

/check-cla

Hello @jaskiratsingh2000,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

Closing this PR since this source file has been archived.


Code Reuseability

The Source Code has a Bad Code Reusability.

If you have any pull request, we will be glad to check and add your changes.

I will contribute to this when i have free time.
But i'm talking about source code "Commenting" and "Review" this is hard to know.


Fixed Error handling/tracking with an internal errors array and refactored the grabbers for better error reporting

Great job thank you! :)


I made a thing from your thing

https://andybak.itch.io/xparticles-vr
Just thought you might like to know! I had no intention of doing something with particles. I wanted to do SDF ray-marching with compute shaders. But whilst looking for a simple example of a using a compute shader I found XParticle and realised that throwing a few million particles around with a random assortment of trig functions was much simpler and a lot more fun in the short-term.
I'll post my code at some point. Feel free to close this issue - I'm abusing issues as Github doesn't support any other way to message a dev.

Hey nice good work :)
I saw this a while back but never responded.


apt_repository.run_action and execute don't mix well

Description
apt_repository('apt.postgresql.org').run_action(:add)
execute 'as other user' do
  command 'echo foo'
  user 'foo'
end

results in:
/opt/chef/embedded/lib/ruby/2.6.0/fileutils.rb:1277:in `open': Permission denied @ dir_initialize - /tmp/.gpg20210127-21969-1km22p1 (Errno::EACCES)
	from /opt/chef/embedded/lib/ruby/2.6.0/fileutils.rb:1277:in `children'
	from /opt/chef/embedded/lib/ruby/2.6.0/fileutils.rb:1277:in `entries'
	from /opt/chef/embedded/lib/ruby/2.6.0/fileutils.rb:1473:in `postorder_traverse'
	from /opt/chef/embedded/lib/ruby/2.6.0/fileutils.rb:758:in `remove_entry'
>>	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.6.10/lib/chef/provider/apt_repository.rb:204:in `block in install_key_from_uri'
>>	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/mixlib-shellout-3.0.7/lib/mixlib/shellout/unix.rb:321:in `fork'
	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/mixlib-shellout-3.0.7/lib/mixlib/shellout/unix.rb:321:in `fork_subprocess'
	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/mixlib-shellout-3.0.7/lib/mixlib/shellout/unix.rb:97:in `run_command'
	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/mixlib-shellout-3.0.7/lib/mixlib/shellout.rb:270:in `run_command'
	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.6.10/lib/chef/mixin/shell_out.rb:170:in `shell_out_command'
	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.6.10/lib/chef/mixin/shell_out.rb:129:in `shell_out_compacted!'
	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.6.10/lib/chef/mixin/shell_out.rb:64:in `shell_out!'
>>	from /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.6.10/lib/chef/provider/execute.rb:58:in `block in action_run'
....

due to the at_exit call here: https://github.com/chef/chef/blob/2900361916aa884ad8d54e98228aa3406964e8a3/lib/chef/resource/apt_repository.rb#L259
The execute as other user forks, and when terminating seems to also want to delete that directory, but probably as the user specified, which does not have permission to do it.
Chef Version
I'm using chef 15.6.10, but the culprit line is present in chef 17 as well.
Platform Version
ubuntu 20.04

Correction: it happens without the run action as well. Workaround use sudo in the command...

Correction: it happens without the run action as well. Workaround use sudo in the command...

Hi, I tried running the recipe with sudo privilege and with uri option in the apt_repository and the recipe is running fine.
Also, execute recipe seems to works good in combination with apt_repository along with sudo privileges too. Hereby pasting the recipe below. Please let me know incase of any issues with the recipe
apt_repository 'postgresql' do   uri 'apt.postgresql.org'   action :add end execute 'as other user' do   command 'echo foo'   user 'foo' end


System.PullRequest.SourceBranch example should have refs/heads/ prefix

The System.PullRequest.SourceBranch is described with an example value users/raisa/new-feature

Variable
Description

System.PullRequest.SourceBranch
The branch that is being reviewed in a pull request. For example: users/raisa/new-feature. (This variable is initialized only if the build ran because of a Git PR affected by a branch policy.)

However, if you create a branch called users/raisa/new-feature and a pull request from that, the actual value in System.PullRequest.SourceBranch will be refs/heads/users/raisa/new-feature
Please update the example to match actual behavior.

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

ID: 11d3469c-83c2-c2f6-41d0-08f82c330bbc
Version Independent ID: a373c48d-6395-3002-d2d8-bbc1fea2e48e
Content: Predefined variables - Azure Pipelines
Content Source: docs/pipelines/build/variables.md
Product: devops
Technology: devops-cicd-build
GitHub Login: @juliakm
Microsoft Alias: jukullam

@juliakm -- Julia, please review private PR 1266.

The refs/heads/ prefix is not present for Github pull requests, so the documentation is now incorrect for Github users.

@juliakm -- Julia, please advise.


Add TSX support for

Previously, TSX wasn't being highlighted as when in typescript it requires the language to be typescriptreact, not typescript.
I've changed it so that the typescript matcher no longer matches type="tsx", and there's a new matcher to handle that.
Honestly I have absolutely no idea what's going on in that regex so might have got something wrong. I've manually tested the expression against a few different script type types but don't 100% understand the intention of the original expression (which also matches type="tshelloworld").

unless i'm missing something, the test failure is totally unrelated?


Move Clap lib under feature

In some cases maybe some users don't want to use the Clap as a CLI.
we can move it under a feature (which will enable by default) and let the uses decided if he want to remove it

https://github.com/rustyrails-rs/rustyrails/commit/b9b7b43357df40b7edb344a911aac2e2e64a4939


[ION-499] updated outdated deps to track major minor version behind

Updates digests/dependencies.go, adding digest outdated count method.

Updates digests/dependencies_test.go adding test for digestOutdatedCount()
fixes a check in outdated dependency to check top-level dep for outdated-ness before doing calculations on it

Updates scans/results.go, adding OutdatedMeta struct to hold information for major, minor versions behind.
Updates vendored code, ran dep ensure

I think dep got confused on this: dep check reports packages in the lock file that aren't imported or required. I bet a lot of the new vendored code would be removed when we correct that.


Add UML diagrams and DG updates

Provided UML diagrams for FindCommand and ListCommand. This includes both activity diagrams and sequence diagrams. The overall DG formatting was updated with getting rid of some unwanted parts while adding a brief introduction.
This PR is an addition to the series of PRs such as #92, aimed to improve and build on the developer guide.
This is achieved by using the PlantUML software integrated with intellij to allow a standardised design for all diagrams to come in the develop guide. This will help readers of the developer guide to make sense of all diagrams especially when diagrams are done by different members of this project.
By adding the diagrams and description for the features such as find, developers have a deeper and more cohesive understanding of how Tracey is developed and make amendments to the data she collates.
The user stories of the Developer Guide has been updated too so that we have a more specific and logical audience that can find a purpose in using this application Tracey.
The purpose of this PR is to get approval from teammates to acknowledge the changes made and to follow how the diagrams are done. This also set as a reminder of who this app is made for and how we can make sure our implementations are aligned with one another.
It is part of a greater set of changes on the developer guide as this is not the final version of the developer guide but acts as an early version of the crucial mechanics of our application.
Other changes that can still be done on:

adding class and object diagrams for the features
improve the format and hyperlinks on the DG

Codecov Report

Merging #100 (a0f8e49) into master (f81f774) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #100   +/-   ##
=========================================
  Coverage     70.70%   70.70%
  Complexity      504      504
=========================================
  Files            81       81
  Lines          1717     1717
  Branches        182      182
=========================================
  Hits           1214     1214
  Misses          453      453
  Partials         50       50

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Support for monster cards in the Lovelace UI

Monster card Github Link
https://github.com/ciotlosm/custom-lovelace
Monster cards are currently not rendered on the app UI. No visible errors are shown in the logs.

Yes, this is custom card. Custom cards it's not supported for now. Some of them can be implemented in future, but only most requested.

Monster card Github Link
https://github.com/ciotlosm/custom-lovelace
Monster cards are currently not rendered on the app UI. No visible errors are shown in the logs.

You can use conditional card and you get (almost) the same effect as monster card

Thanks a lot for the suggestion @Klagio!

Thanks a lot for the suggestion @Klagio!

conditional card and entity-filter: you do not have wild cards, but just put all the entity_id you need, and you achieve the same effect

So we can close it for now?


ARROW-15528: [C++][R][Python] Update ExecPlan bindings

This PR exposes the ability to attach optional metadata to ExecPlans. This metadata will be added to the OpenTelemetry tracing output, annotating the traces with information about the query and the environment (e.g TPC-H query id, scale factor, hardware details).

@westonpace I expanded the docstrings with more explanation, let me know if something's unclear in the descriptions.

Closing because it has been untouched for a while, in case it's still relevant feel free to reopen and move it forward 👍


Which proxy service do you recommend?

Which proxy do you recommend, I haven't found any that work.

Having the same issue. None of the proxies work. Idk what to do

Same issue

same issue, do please update your script

Hello everyone,
I have developed an Outlook account generator that can successfully create Outlook accounts, and it also has the capability to send and receive emails.
You can find it here.


multi module project fix and LGPL detection fix

support for multi module projects and better parent pom detection; fixes https://github.com/mrice/license-check/issues/3
prevent LGPL from being falsely identified as GPL

This change is

@subes
THANKS SO MUCH FOR THE PULL REQUEST!!! Especially if the LGPL is getting flagged as GPL in some instances -- definitely don't want that.
My only hesitation with your PR is that I think your IDE reformatted a lot of the code (maybe just indents) and so I can't lock in on the exact change you made...
Any way you can submit a small commit or even just comment here on the change you made (I assume it was just the regex file)??? I'm happy to do the grunt work on it since it should be easy...
Again, I'm so sorry it took me 12 days to get back to you. Time is always an issue for me, but I really do respect the time you put into the PR even though it doesn't seem like it when it takes so long to respond. Thanks!

I modified the java file whitespaces so that the changes are more easily visible.
 The change is simple by just moving the lgpl checks before gpl checks, because the gpl regex would watch lgpl too...


Index delete

Hello I have two index that are to much big and fill my data disk, how can i remove it?

they are also old
viya_logs-nunatacsas--2022-12-18
viya_logs-nunatacsas--2022-12-17

@gsmith-sas  thanks a lot this way solve my problem.


SQL Database Projects backend swap to DacFx/Tools Service

This PR brings in a brand new backend for all .sqlproj/XML operations in the SQL Database Projects extension, powered by the DacFx.Projects nuget package via Tools Service.
Tests (both whole and portions) that validate the contents of the .sqlproj file are being removed (because they've been ported to DacFx), but tests that validate ADS-specific code - including serializing and deserializing messages - will remain.

Just since this PR is massive (since it's merging in many commits from a feature branch), is there anything here that hasn't been PR'ed going into feature/sqlproj?
Also, is there anything in particular that's of concern that needs another pair of eyes reviewing-wise?

@chlafreniere

Is there anything here that hasn't been PR'ed going into feature/sqlproj?

Nope, everything up to this point has been PRed.  From this point onward, minor changes (like from feedback here) may get pushed directly to feature/sqlproj, more substantial changes will still go through a PR with the feature team before hitting here.

Anything in particular that's of concern that needs another pair of eyes reviewing-wise?

Maybe just places that some copy-pasta may have snuck through in the boilerplate of project.ts?  Other than that, not really.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

373 of 466 (80.04%)  changed or added relevant lines in 14 files are covered.
94 unchanged lines in 6 files lost coverage.
Overall coverage decreased (-0.6%) to 41.649%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/sql-database-projects/src/models/tree/sqlcmdVariableTreeItem.ts
3
5
60.0%

extensions/sql-database-projects/src/projectProvider/projectProvider.ts
0
2
0.0%

extensions/sql-database-projects/src/common/utils.ts
13
16
81.25%

extensions/sql-database-projects/src/dialogs/addDatabaseReferenceQuickpick.ts
2
6
33.33%

extensions/sql-database-projects/src/models/tree/projectTreeItem.ts
15
21
71.43%

extensions/sql-database-projects/src/dialogs/utils.ts
3
12
25.0%

extensions/sql-database-projects/src/models/tree/fileFolderTreeItem.ts
9
18
50.0%

extensions/sql-database-projects/src/dialogs/addDatabaseReferenceDialog.ts
1
12
8.33%

extensions/sql-database-projects/src/controllers/projectController.ts
47
66
71.21%

extensions/sql-database-projects/src/models/project.ts
247
275
89.82%

Files with Coverage Reduction
New Missed Lines
%

extensions/azurecore/src/localizedConstants.ts
1
98.63%

extensions/sql-database-projects/src/models/projectEntry.ts
3
91.67%

extensions/sql-database-projects/src/models/project.ts
3
88.14%

extensions/azurecore/src/extension.ts
7
0%

extensions/sql-database-projects/src/common/utils.ts
29
75.36%

extensions/sql-database-projects/src/controllers/projectController.ts
51
38.73%

Totals

Change from base Build<PHONE_NUMBER>:
-0.6%

Covered Lines:
30248

Relevant Lines:
67312

💛  - Coveralls


Operation error STS: GetCallerIdentity issue with Unit Tests issue with Region

Trying to run local unit tests but seeing this error in aws-privateca-issuer-controller-manager pod
{"level":"error","ts":1631654584.4164567,"logger":"controllers.GenericIssuer","msg":"failed to sts.GetCallerIdentity","genericissuer":"/pca-cluster-issuer-ec","error":"operation error STS: GetCallerIdentity, failed to resolve service endpoint, an AWS region is required, but was not found","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-logr/zapr@v0.2.0/zapr.go:132\ngithub.com/cert-manager/aws-privateca-issuer/pkg/controllers.(*GenericIssuerReconciler).Reconcile\n\t/workspace/pkg/controllers/genericissuer_controller.go:92\ngithub.com/cert-manager/aws-privateca-issuer/pkg/controllers.(*AWSPCAClusterIssuerReconciler).Reconcile\n\t/workspace/pkg/controllers/awspcaclusterissuer_controller.go:57\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.8.3/pkg/internal/controller/controller.go:298\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.8.3/pkg/internal/controller/controller.go:253\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.8.3/pkg/internal/controller/controller.go:216\nk8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext.func1\n\t/go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:185\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\t/go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext\n\t/go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:185\nk8s.io/apimachinery/pkg/util/wait.UntilWithContext\n\t/go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:99"}

Thank you for raising this issue with the AWS Private CA Issue plugin. We have reviewed your submission and replicated the issue you raised. The issue has been prioritized with our support and engineering teams. We will reach out to you if we have additional questions and will provide a notification when the issue is resolved.

This is a known issue that we currently have with the issuer plugin. There are two things you'll need to do to fix this issue

Checkout the cleanup branch (see this PR: https://github.com/cert-manager/aws-privateca-issuer/pull/53)
git fetch -a
git checkout cleanup

We recommend using an IAM User with the plugin currently. See instructions here: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey. Your IAM User will need to have at minimum permissions listed here: https://github.com/cert-manager/aws-privateca-issuer#configuration
export AWS_SECRET_ACCESS_KEY=<Secret Access Key you generated>
export AWS_ACCESS_KEY_ID=<Access Key you generated>

After doing these two steps, I was able to run the local tests after recreating your issue. Please let us know if you are successful!

Interesting!
I fixed the issue by patching the manager pod with
env:
    - name: AWS_REGION
      value: "us-east-1"

Let me try your fix by rebasing the open PR you referenced.

Looks good after applying patch above. I see now where it adds the Region to the spec.


[BUG] Release Request

@artcoholic can you please release the current master to the package
Thanks

@nirnejak thanks for the reminder. I just published the latest version 1.9.27.


hooks can execute namespaced commands

Hooks can execute other commands, however if the command is name spaced there doesn't seem a way to do this.

You can, you use a tuple, {provider_hooks, [{post, [{namespace, provider}, {namespace, provider}]}]}

Oh okay, I made a suggested edit to the docs on that.


Steve-O-Murphy analyzer apis documentation

Description
Added:
Analyzer APIs in one file - perform-text-analysis.md
terminology.md section for conceptual information not currently in the doc set
index.md of course
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Updates from PR #1373. Verified content and updated formatting.


PyCardano creates invalid transaction for Chang networks

Describe the bug
pycardano.exception.TransactionFailedException: Failed to submit transaction. Error code: 400. Error message: {"contents":{"contents":{"contents":"EraMismatch {ledgerEraName = \"Conway\", otherEraName = \"Babbage\"}","tag":"TxValidationEraMismatch"},"tag":"TxCmdTxSubmitValidationError"},"tag":"TxSubmitFail"}

To Reproduce
Build and submit tx using Ogmios V6 and i.e. collect_gift.py from OpShin pioneer program on preprod
Expected behavior
Should submit correctly
Additional context
Copied from discord: https://discord.com/channels/1077870759667580929/1276796332178276377
Also apparently the old tx format is incompatible to new hardfork Chang era: https://x.com/KtorZ/status/1829102452630491140
TODO: find some documentation of what exactly breaks in Chang

It seems like @cffls already started building a branch for Chang here: https://github.com/Python-Cardano/pycardano/commits/chang/
Since the only reason that Chang is not mainnet yet was some delay it would be good if this progresses soon 😅 Trying to consolidate progress in this issue

Merged your branch feat/add_v6_backend into chang, but there seems to be some issue in python ogmios.

I suspect the problem you observed above was caused by the enforcement of non-empty set/list in the second era of Chang HF: https://github.com/IntersectMBO/cardano-ledger/blob/master/eras/conway/impl/cddl-files/extra.cddl#L1-L3

Hi, wanted to know if this issue is already fixed. I am having the same error right now. My app is stuck and cannot submit transactions.

Hey @larestrepo
please try using the chang branch of PyCardano and report issues there, that would be extremely helpful!


Hymenoptera issue

Hey Dominic,
First: BOLDIGGER is truly a great tool. We do a lot of insect metabarcoding at the moment and wouldn't get such high quality results without your it, so thank so much for constructing it!
One small issue keeps coming up that I think you should know: Hymenoptera hits don't get transported correctly to the results. Here's an example in the BOLDResults file:

And here's the hits on BOLD website:

I also notice that the order in which the ASVs are in the 'BOLDigger hit' tab of the BOLDResults excel file are skewed whenever a Hymenopteran comes up:

versus the order in the first tab (starting with 'Run dd/mm/yyyy tt.tt'):

0cc778207a38b7a6e881d96d2ae63bbf
1a994f0b7d83ca1fd64f85e5463ab493
20f61de5ad7c87a8320d5a7c6c403aae
28052a092ec236890bf2034336b82950 (this one is different, but also a Hymenopteran)
4a8e00925b4fcd21335a0ee102ffcba2

I'm not sure what could be causing it, but just wanted to flag it. The primer pair I use (mlCOIintF, HCO2198) is not great at Hymenopterans (or so I understand from literature) but I'm wondering if it could have to do with the bioinformatics..
Thanks for your thoughts in advance, hope I explained it well to you,
Best regards,
Marcel Polling

Hi Marcel,
thanks for the kind words, I'm happy that the tool is of use for a lot of people :).
This looks like a strange issue, I will take a look at this asap. Can you please also upload the fasta file that I causing the issue(s)? One or a couple of sequences that cause trouble, then I will first try to reproduce the problem and if I can reproduce it consistently try to find the reason and a fix. There shouldn't be anything special about the Hymenoptera string from the computers perspective.
best Dominik

Hey Dominic,
Sorry for the late reply, I've been away from this project for a bit. Now I got back to it and suddenly I couldn't run BOLDIGGER anymore, so I re-installed it but I get very weird output file that I cannot seem to open: BOLDResults_Projectname-dn98.h5.lz. I don't suppose it has anything to do with the warning I get about tkinter (see below)?
UserWarning: You are running a VERY old version of tkinter 8.5.13. You cannot use PNG formatted images for example.  Please upgrade to 8.6.x
Attached is a fasta file with some records that were not ideally classified using BOLDIGGER LCA script, although possibly you've fixed these in the new version :) I've also added some Diptera to the list where I found something different in the BOLDigger output than on the website.
Thanks for your help!
Best regards
Seqs-BOLDigger.xlsx
Marcel

Hi Marcel,
the results will be converted once the complete fasta file is blasted. I use the hdf file as a temporary savefile, because it has constant read/write speeds and therefore speeds up the saving of the downloaded results a lot. Please a) upload the fasta that is causing the issue so I can run the query myself or b) run the assignment and send me the .xlsx file that is generated at the end.

Sequences_BOLDigger.txt
Here's the file in txt format (fasta not supported by github)

Hi,
for me the websites output and BOLDigger output match perfectly. See the attached results.
BOLDResults_Sequences_BOLDigger_part_1.xlsx
Was there maybe an extended period of time between your initial search and the website search? The database could have changes in between.

Hi Dominic,
You are completely right. A simple BOLDigger update fixed the problems right away.. so sorry to have bothered you with this, thanks a lot for your help though!
Best regards
Marcel

nothing to apologize for. happy to help :)


Matrix/Vec data types too rigid.

Right now the possibility to choose between 32/64 bits data types when creating Matrix/Vec/Quat is only offered in compile time, modifying the https://github.com/cedricpinson/osgjs/blob/master/sources/config.js file.
The point of this issue is to get a flexible way to let the user to choose the internal data type when creating Matrices/Vecs/Quats.
In my particular use case I use Matrices to position/scale/transform my objects in a huge space, so I need them to be 64 bits, otherwise I get precission issues. I don't need the vertices to be in 64 bits, and if I do it I'm somehow wasting resources.  That kind of structure is used often in OSG, but right now it is not possible to do that kind of things in osg.js.
Maybe we can have different constructors for different type of data:
Mat4.create / Mat4.createFloat64 / Mat4.createFloat32 and same thing for Vec classes.
Also is probably a good thing to move to a glMatrix kind of API, maybe using a wrapper on top of it.
Thoughts?

Some extra thoughts

using glMatrix needs to keep backward compatible api to make the switch smooth and be sure everything works as before
needs to sepcify the type of Matrix/Vec float32/float64 like in osg, could be something like:
Mat4.createFloat32
Mat4.createFloat64

the point is that if we do that it means that Mat4.mult(result, m1, m2) could accept arguments with float32 and float64 array. It's not really a problem unless we use simd intructions internally of Mat4/VecX. It will require same input type.
Also not sure it's really a problem because to get performance improvement from simd you need to organise your data in a very specific way and do the same operation many times. So if one day we use simd it will be probably a specific case.

perhaps we couldn't post an issue on their repos ?
Perhaps could make sense for other glmatrix users and thus making it to core glmatrix, saving us from maintaining that ?

@Kuranes, @cedricpinson
FYI https://github.com/toji/gl-matrix/issues/192 . So it seems they delegate the creation to the user, in case the user wants to use 64 bit precision.

I added a summary of the current state of what we want to do, keeping discussion here, and current state on this documents. https://github.com/cedricpinson/osgjs/wiki/Change-Matrix-Vector-operation-to-an-C-api-like-glMatrix

we now use glMatrix. closing the issue


[BACKLOG-38436] Code changes for moving mail-validator-job from core to plugin

BACKLOG-38436 Moved the Code for mail-validator-job from core to plugin.

:white_check_mark: Build finished in 1h 26s
Build command:
mvn clean verify -B -e -Daudit -amd -pl \
assemblies/plugins,engine,plugins,plugins/mail-validator-job,plugins/mail-validator-job/assemblies,plugins/mail-validator-job/assemblies/plugin,plugins/mail-validator-job/impl,plugins/mail-validator-job/ui,ui

:ok_hand: All tests passed!
Tests run: 5324, Failures: 0, Skipped: 14    Test Results

:information_source:  This is an automatic message

:white_check_mark: Build finished in 59m 37s
Build command:
mvn clean verify -B -e -Daudit -amd -pl \
assemblies/plugins,engine,plugins,plugins/mail-validator-job,plugins/mail-validator-job/assemblies,plugins/mail-validator-job/assemblies/plugin,plugins/mail-validator-job/impl,plugins/mail-validator-job/ui,ui

:ok_hand: All tests passed!
Tests run: 5324, Failures: 0, Skipped: 14    Test Results

:information_source:  This is an automatic message


Hide MNU_HIDDEN_CHAR prefix from menu title if present

Closes: https://github.com/macvim-dev/macvim/issues/853

This doesn't actually fix the issue. We need to hide the menu completely, not just remove the ']' character.

@ychin it opens as desired when it was requested. This is handled by vim core

Implementation for Win32 has the same check

I'll revisit the issue today

The issue that #853 is complaining about is that any menus that start with "]" need to be hidden in the menu bar. I believe MacVim still shows that at the moment. The name clean up part (which this PR is doing) is mostly for neatness in how it shows the name of the menu, but not the core functionality of what it does.
I think we need to just fix the menus with this prefix to not show up in the main menu bar. gVim / MacVim does something similar with "ToolBar." menus, and MacVim also hides "Touchbar" ones as well.

Thank you, I've found these menus and updated my commit. I'm sorry for inconvenience

I read the logs and don't see any test failed.

@ychin Is it one of flaky tests?
Failures:
	From test_alot.vim:
	Found errors in Test_suspend():
	Caught exception in Test_suspend(): WaitFor() timed out after 5000 msec @ function RunTheTest[40]..Test_suspend[37]..Stop_shell_in_terminal[3]..WaitFor, line 4

merged current master into my branch

Yes test_suspend is a flaky test and I need to figure out why it's so.

I don't think the current implementation does what Vim is supposed to do? "]" is not a substitute for "PopUp". It just hides the menu. You can then use :popup to pop up any menu including the ones you hid using ], or just a regular menu like "File". We shouldn't have any code that assumes "PopUp" menus have the same meaning as "]" ones.

there was two reasons for this:

PopUp are just special hidden menus as it's documented, ] are user-defined. I haven't found any other difference between them
ObjC implementation says that they follow the same logic in terms of creating and processing NSMenu and NSMenuItem objects

    // If descriptor has no parent and its not a popup (or toolbar) menu,
    // then it must belong to main menu.

Yeah sorry you are right. I misread the code.


chore(roll): roll Playwright to 1.26

Should it be done only on 1.26 branch?

Not necessarily but better yeah. Fixed.