Impersonation does not seem to work on a Cloned client instance

Using the CdsServiceClient does not seem to apply any impersonation while running in a web context. (ASP.Net Core)
I've set both CallerAADObjectId and CallerId on the client and neither one make a difference.  Data requests are issued as the Application User without any impersonation applied.  (The Application User has the Delegate role in Dynamics)
I used the exact same code in a console app and the impersonation works without issue.
My configuration for the CdsServiceClient is the same for both the web application and the console app.  (Actually a LinqPad query)
Update:  After some experimentation, I discovered that if you clone the CdsServiceClient, then the impersonation does not work.  Reproduced it my the console app.

is this current version from Nuget?
We had this issue reported before and fixed it a while ago..
Affected code that was fixed is here:  ( this was before we started replicating our repro )
https://github.com/microsoft/PowerPlatform-CdsServiceClient/blob/2dba0cf766985cbf72ccfb8381b23f918749cc09/src/GeneralTools/CDSClient/Client/CdsServiceClient.cs#L1188

Yes, the issue exists in the current Nuget package.
It happens when you Clone the CdsServiceClient.  The cloned client will then only execute requests as the Application User and does not apply any impersonation.  I've tried using both CallerAADObjectId and CallerId, together and separately, to no effect.

Here's a simple example of the problem.

Here's the code from the screen shot, cleaned up:
var cdsClient = new CdsServiceClient(uri, clientId, clientSecret, true, tokenCachePath);

var c1 = cdsClient.Clone();
c1.CallerAADObjectId = limitedUserGuid;
c1.CallerId = limitedUserGuid;
var x = GetUserList(c1);
$"Limited User, Clone: {x.Count()}".Dump();

var c2 = cdsClient.Clone();
var y = GetUserList(c2);
$"Application User, Clone {y.Count()}".Dump();

cdsClient.CallerAADObjectId = limitedUserGuid;
var z = GetUserList(cdsClient);
$"Limited User, No Clone: {z.Count()}".Dump();

private IEnumerable<string> GetUserList(CdsServiceClient cdsClient)
{
	var list = cdsClient.RetrieveMultiple(new QueryExpression("systemuser")
	{
		ColumnSet = new ColumnSet("fullname")
	}).Entities.Select(u => u.GetAttributeValue<string>("fullname"));

	return list;
}

Hello @dsmeltz ,
I found the problem with your code, you are setting the c1.CallerId = limitedUserGuid; to a nonexistent user Guid and this makes the client misbehave.
Also @MattB-msft when you try to create a record with the misconfigured caller id the library throws with a strange error and this is the trace I have:
Microsoft.Rest.HttpOperationException
  HResult=0x80131500
  Message=Operation returned an invalid status code 'InternalServerError'
  Source=Microsoft.PowerPlatform.Cds.Client
  StackTrace:
   at Microsoft.PowerPlatform.Cds.Client.CdsConnectionService.<ExecuteHttpRequestAsync>d__169.MoveNext()

System.AggregateException
  HResult=0x80131500
  Message=One or more errors occurred. (Bad JSON escape sequence: \x. Path '_error', line 1, position 170.)
  Source=System.Private.CoreLib
  StackTrace:
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)

Inner Exception 1:
JsonReaderException: Bad JSON escape sequence: \x. Path '_error', line 1, position 170.

I didn't include the GUID for privacy reasons.  (I know it's just a GUID, but you never know.)
You can see by the results that when the limited user GUID is used on a cloned client, it is ignored.  Using the same GUID on the originally instantiated client, returns the correct result of 2.

I found the problem with your code, you are setting the c1.CallerId = limitedUserGuid; to a nonexistent user Guid and this makes the client misbehave.

You are setting the CallerId with the same value of CallerAADObjectId meaning that you are setting it to a non existent Guid (as doesn't match a valid systemuser reference on your Environment)

@dsmeltz also in this piece of code you can understand that CallerId has priority over CallerAADObjectId and this combined with the fact that the specified CallerId does not exist since it is a CallerAADObjectId, explains the behavior you are experiencing.

I tried all the combinations of those two Caller* properties, all ending with the same result.  I just ran my test again, only setting CallerAADObjectId, and received the same result as in the above screen shot.  Using a cloned client, CallerAADObjectId is ignored and the result is 324.  When I set CallerAADObjectId on the main instance of the client, the result is 2, which is expected.

@MattB-msft I just verified that the line you called out earlier, is indeed in the package I'm using.  I'm not sure where that leaves things as it's very simple for me to reproduce the issue.

@dsmeltz
You should never do this:
c1.CallerAADObjectId = limitedUserGuid;
c1.CallerId = limitedUserGuid;
If your going to use impersonation, you should use one or the other.
As indicated by @BetimBeja ,  the system prioritizes callerID over CallerAADObjectId.
CallerID is a Cds User ID (internal key to CDS for any given user),  not an AADObject ID.  thus its going to use CallerID first.
In your code, can you remove the use of CallerId and see if that resolves it for you?
thanks
MattB

@MattB-msft  Yes, the last test I ran was after removing all uses of CallerId.  The results were the same.
Cloned client, limited user, 342 (incorrect count, same result if you don't set the CallerAADObjectId at all)
Uncloned client, limited user, 2 (correct count)

@dsmeltz  We verified that this is working as intended.
I see your querying systemuser,  Out of curiosity, did you alter permissions for your users?  by default all users have "read all" priv's for system users via the CDS User security role.   Which means that your query, which does not account for owner, will use the security privilege's assigned, which by default would be "read all" for system users.
Thus your going to see all of them. regardless of user being used or the owner as the current user has permissions to see all system users..
if you want to force filter to current user's data,  Modify your function as follows:
    private static IEnumerable<string> GetUserList(CrmServiceClient cdsClient)
    {
        **var filter = new FilterExpression();
        filter.AddCondition(new ConditionExpression("ownerid", ConditionOperator.EqualUserOrUserTeams));**
        var list = cdsClient.RetrieveMultiple(new QueryExpression("systemuser")
        {
            ColumnSet = new ColumnSet(true),
            **Criteria = filter**
        }).Entities.Select(u => u.GetAttributeValue<string>("fullname"));

        return list;
    }

That will enforce current user ownership of a given record in the return set.
so even though User A can See all system users by security permission,  this will filter the results to only the records that the user directly owns.
let me if that sorts it out for you

We have multiple Business Units, by which users are 'fenced in'.  So, the Limited User I'm using, in my code above, should only return a few users.  (All the users of the Business Unit of which Limited User is a member.)  As you can see, in the above output, that does not happen when you use a cloned instance.  It only works when you use the original instantiated instance.
I'm at a loss as to why there would be a difference between the two invocations.  (Cloned and Original Instantiation)

@dsmeltz  I would ask that you ping support to have a look.
from what your describing I'm fairly confident that its related to your security role assignments and effective privilege's but I would need to see your environment to confirm that.
SystemUsers fall under the "Common Data Service Users" which grant read to all organization users.
take a look at this link:
https://docs.microsoft.com/en-us/power-platform/admin/wp-security-cds
The graphic in this view: https://docs.microsoft.com/en-us/power-platform/admin/wp-security-cds#entityrecord-ownership outlines what I am talking about.
Notice that contact has a full green globe for read.  When assigned to a user, that allows that user to see any contact in any business unit.  Thus, if both of your users are configured with a role that grants read organization to system user, like Common Data Service Users,  you will see all records from both users..
IF your limited user is configured with a security role that grants read to only your business unit ( yellow half circle from the image) , then you should see what your expecting

That's great information, thanks.  It's how we have things setup in our tenant.  But it still doesn't explain how the CdsServiceClient behaves when it's cloned.  Maybe I'm missing something, but when using an uncloned instance it behaves as expected.  It's only when using a cloned instance that it does not apply the impersonation.  I changed my example code to pull information from one of our custom entities and it had the exact, same behavior.  The cloned client didn't apply impersonation, uncloned worked as expected.
All this tells me that our security roles are fine.  (If they weren't our users would be in a uproar.)  So the problem must lie elsewhere.

One thing I want to be clear here with regard to impersonation;
The actual set of privileges that is used to modify or retrieve data is the intersection of the privileges that the impersonator user possesses with that of the impersonated user.
You can read more about it here. https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/impersonate-another-user
If that does not resolve it for you,  We will need to take a look at what is going on here to see if this is a problem with the service or something about your instance configuration.  To do that we will need you to open a support ticket with this problem and have one of our support folks look at your environment.

That is exactly what is happening when the impersonation works.  The data is fenced, per the impersonated user.

Ok,  then Please open the support ticket so we can look into what is going on there.


AEs page: TL;DR

An overhaul of the AE pages is needed, but this seems like a useful start

Thanks for this! And yes, more work to be done in improving the instructions.

@jkkummerfeld Thanks for merging! Would you like me to attempt a broader reorganization/streamlining of content (in a Google Doc), or is this not the right time for that?

I think one of the EICs was going to work on something similar. Let me follow up at the next meeting (Tuesday) and get back to you.


fix: sem rel

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


Feature: QuickSight (initial implementation)

Initial implementation - another PR will be necessary to cover all methods that are mentioned in #4602

Codecov Report

Merging #4973 (c78ebf6) into master (d51a8a3) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #4973      +/-   ##
==========================================
+ Coverage   95.64%   95.65%   +0.01%
==========================================
  Files         621      627       +6
  Lines       65394    65577     +183
==========================================
+ Hits        62547    62730     +183
  Misses       2847     2847

Flag
Coverage Δ

servertests
36.08% <23.12%> (-0.04%)
:arrow_down:

unittests
95.59% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/backend_index.py
100.00% <ø> (ø)

moto/__init__.py
97.12% <100.00%> (+0.02%)
:arrow_up:

moto/quicksight/__init__.py
100.00% <100.00%> (ø)

moto/quicksight/exceptions.py
100.00% <100.00%> (ø)

moto/quicksight/models.py
100.00% <100.00%> (ø)

moto/quicksight/responses.py
100.00% <100.00%> (ø)

moto/quicksight/urls.py
100.00% <100.00%> (ø)

moto/timestreamwrite/models.py
100.00% <0.00%> (ø)

moto/timestreamwrite/responses.py
100.00% <0.00%> (ø)

moto/timestreamwrite/exceptions.py
100.00% <0.00%> (ø)

... and 1 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 1f9f4af...c78ebf6. Read the comment docs.


Training on deeper file stucture

I am trying to use retrain.py to train on a training set with a slightly more complicated file structure where instead of the case in the example:
training_folder/object_class/image.jpg
I have
training_folder/object_class/another_sub_dir/another_sub_dir/image.jpg
I have adjusted image_dir to the training_folder and changed dir_name to os.path.basename(sub_dir)+'/another_sub_dir/another_sub_dir/'
However when i run retrain.py I get 'No valid folders of images found at …' which means that create_image_lists was not successful.

Solved it, problem was that since os.path.basename() was used for dir_name, a later check to verify if it was a valid directory failed as path was not absolute


VS Code crashes my laptop when I open it

VSCode Version:
OS Version:

Steps to Reproduce:

Install VSCode
Launch VSCode
Macbook with Big Sur crashes

Does this issue occur when all extensions are disabled?: Yes/No

Please fill out the vscode version info.


feat: add notion & clockify integration

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


v2.6.4 Release Task - AKS/EKS/GKE Operator: Align Rancher internal operators to correct version.

Rancher Backend Engineering Task
This is a Rancher backend engineering task for (https://github.com/rancher/rancher/issues/36375) for the rancher engineering team 2 to:

[ ] Make the appropriate updates in the internal operators for AKS/EKS/GKE.

all 3 operators have been released, vendored into rancher, and added to the dev 2.6 charts branch


Rustup

Fixes https://github.com/rust-lang/miri/issues/2599

@bors r+

:pushpin: Commit bf562bbd71c8eaba266bf284e55bc33d53e4de49 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit bf562bbd71c8eaba266bf284e55bc33d53e4de49 with merge aca0c61ac2880be68adfc98b30619dba088af8bb...

:broken_heart: Test failed - checks-actions

@bors r+

:pushpin: Commit 47e5d8fbd2dffd234c4cdaadfabcd195200bf172 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 47e5d8fbd2dffd234c4cdaadfabcd195200bf172 with merge c426bc89e09cbbb9c1f08dd352aa6321075cf78d...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing c426bc89e09cbbb9c1f08dd352aa6321075cf78d to master...


Attribution control is oddly positioned on Android

Steps to Trigger Behavior

Create a full-screen map view, as in the Getting Started example
Launch on Android

Link to Minimal Reproducible Example
Either follow the Getting Started guide, or run the bundled examples.
Expected Behavior
Attribution button shows up in the lower right corner
Actual Behavior
It is approximately 2/3 of the way to the left side of the screen
Screenshots (if applicable)

Version(s) affected

Platform: Android
OS version: API 30
Device type: Pixel
Emulator/ Simulator: Yes
Development OS: macOS Ventura 13.1
maplibre-react-native Version 9.0.0
MapLibre GL version 9.6.0
React Native Version 0.68.0 and 0.71.0 tested (probably affects all)

Additional context
This might be an upstream issue; check that with a minimal example before digging too deep.

You can position this by the attributionPosition prop of the MapVIew. Eg.
<MapLibreGL.MapView
  {...otherProps}
  attributionPosition={{ right: 10, bottom: 10 }}
/>

The offset is there, when there is no logo and the default placement is used.

No Logo
Logo

Not sure, which way we should go, maybe enable the logo by default?


Add ability to customize elevation color

Is it possible to change the color of the shadow that is created by specifying the elevation parameter?
Now, the shadow doesn't interact with the color of the object in any way.

Is it possible to do something like elevationColor?

Android does not allow to change the elevation shadow color. It is possible on iOS thougth.

Is it possible to bypass this restriction to use SVG together with Tabris? I'm about this lib. Or do I have to use Canvas for this?

Canvas would be best. Otherwise you could use a WebView with an svg file in it.


Removes duplicate content from the document

Pull Request Test Coverage Report for Build 2164

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.07%) to 59.713%

Totals

Change from base Build 1118:
0.07%

Covered Lines:
12480

Relevant Lines:
20900

💛  - Coveralls


messed up look

Here's my html
<!doctype html>

    <meta charset="utf-8">

    <title>The HTML5 Herald</title>
    <meta name="description" content="The HTML5 Herald">
    <meta name="author" content="SitePoint">

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.css">

Grab me 1

Grab me 2

Could you describe more about the issue?
as it seems you are troubled with the styling? right?

I just ran the above code in a simple server, then I just drag Drag me 1 and try to connect Drag me 2 onto it then this appears.

Give up on this library, its poorly documented, plenty of bugs and not maintained at all.
To fix your issue however, you need to make the canvas div have 'position: absolute' in css and it'll work as expected
Here's a jsfiddle of your code with this fix showing it working
https://jsfiddle.net/6309udza/

Thanks @shmcgough

@xiaodaigh I just updated the library to account for different kinds of positioning with margins, so your original code should work now. I also took the opportunity to optimize it in some fronts.
@shmcgough Apologizes it is seen that way, I have been working on a new big release (check milestone) by completely redoing the library from zero, and while the code is much cleaner and way shorter, I've been having issues with certain functions (mainly to do with the rearrangeMe function in the current library, which automatically centers the children with respect to the parents, it is currently very cluttered and messy) which I can't quite simplify and make it work with new functionality (programmatically creating flowcharts, deleting single blocks, etc.).
Because of that I had planned to stop adding into the current version, but it's all just taking longer than I thought. I do want to make sure there are no bugs though so I will be trying to fix these ASAP.


Extend egglog to support richer cost functions

We need richer cost functions for extraction in eggcc.
For example, assume nodes should not take the context into account for the cost.
Loops should multiply the cost of children somehow.
This is a difficult change. Perhaps we can make something like this work?
(function DoWhile (Expr Expr) Expr :cost (+ c1 (* c2 5)))

We could also have an analysis that figures out how many times a loop iterates and use it in the cost function:
(function LoopIterationCount (Expr) i64)
(function DoWhile (Expr Expr) Expr :cost (+ c1 (* c2 (LoopIterationCount (DoWhile c1 c2)))))

Alternatively, yihong has suggested we use egglog rule-based extraction, and we don't need to change egglog's implementation

We now have custom logic in the extractor to find these kinds of information


Adding Border Colors

This issue is related to add Border Color Property.
We would like to add the following border properties to our project: -

Border-primary
Border-invalid
Border-warning
Border-valid
Border-black
Border-light

You can come up with the Figma file in the Discussion. No need to add all the border designs in the Figma file,
just give us an idea so that we'll have a greater idea of it.

@WH0SUMIT @yashsehgal do you mean that we have to suggest a colour scheme for the different border properties? or please specify what do we mean by giving the idea here?

This issue is related to add Border Color Property.
We would like to add the following border properties to our project: -
a) Border-primary
b) Border-secondary
c) Border-invalid
d) Border-warning
d) Border-valid
e) Border-black
f) Border-light
You can come up with the Figma file in the Discussion. No need to add all the border designs in the Figma file,
just give us an idea so that we'll have a greater idea of it.

Hey, @ItsMeIshan This issue is basically listed for managing border properties.
All these border classes listed above are the colors we are using in the project (invalid, warning, valid)
Where (primary, secondary) will be based on default blue color.

Also, I think instead of using black, let's use dark
Do you want to add any point or change something @WH0SUMIT

so it means that we have to give designs/ideas for designs for different border classes as mentioned above.
@yashsehgal

@yashsehgal @WH0SUMIT are you talking about something like this
https://www.figma.com/file/YZ1v2F4uYd2iqLYkQ7rHR7/border-colors?node-id=0%3A1

Yes, @ItsMeIshan, all the border colors are those colors that are present in our project so try to implement the same colors and for the black one change it to the dark it will be more expressive.

@yashsehgal will there be naming conventions for adding border colors too? like et-b-primary and so on...

can you please assign this to me.

Please assign it to me


Angular2/Typescript support

Hey guys, Any idea when Materializecss will be compatible with Angular2/Typescript? Currently its all components are available in javascript version.
Thanks in advance.

@acburst @Dogfalo

No plans currently to officially support either
On Thu, Jun 22, 2017 at 12:59 AM Akash Jain<EMAIL_ADDRESS>wrote:

Hey guys, Any idea when Materializecss will be compatible with
Angular2/Typescript? Currently its all components are available in
javascript version.
Thanks in advance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Dogfalo/materialize/issues/4865, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACpaxyBQhAkKaAbbzLRZVG7gNphPScMZks5sGh7agaJpZM4OB74n
.

--
Doggy sends his greetings from Mars.

@akashbiz Did you see this: https://github.com/sherweb/ng2-materialize 😏
Maybe that helps.

Hey @Thanood , it is very helpful. Thanks


Where to get ${aspectj.version} ?

Hey, the readme states that all I need is to copy the maven dependency and build, but when I do, I get an error on ${aspectj.version} as It cannot be resolved (as its not set anywhere).

I found it in the pom file for the project, you might want to update your readme/guide :)
https://github.com/allure-framework/allure-cucumber-jvm-adaptor/blob/63fa562f881aecf125a44ee744955d5fa21d29c3/pom.xml#L64

Usually you should not to point in in child projects. Will see it tomorrow.


Examples

So, by default at /api/metrics/I see a very limited number of metrics, all describing the state of the system in VERY technical terms. Surely I can access metrics like message count per queue and such as well?
Looking at this I am pretty confident I should be able to do that, but I can't for the life of me figure out how!
Could you add an example or two to the readme?

Hey!
You want to add more metrics?

Yes. :)

This can be quite tricky actually, What you see in the document you linked is the description of the HTTP interface. Since this collector is more low-lever the usual process for adding a metric is to reverse back from http endpoint of RabbitMQ management plugin to statistics models internals. You can find how I'm doing this in the code.
Now the question is what you really need and how. Lets start by figuring out what additional metrics you actually want. Also bear in mind you don't need *_rate metrics. Prometheus can calculate them for you.

Alright, I now just ended up using https://github.com/kbudde/rabbitmq_exporter, which achieves my purpose quite alright. Thanks though!

Cool! While my exporter may lag behind in terms of metrics variety (I'm concentrated now on Erlang prometheus client itself) it also exports Eralng VM metrics. Anyway, glad you found what works for you.


Type imports not stripped out on TypeScript 4.8

Description
On TypeScript 4.8 (and likely other 4.x versions), type imports aren't stripped out of the generated files. This results in broken files like this:
// foo.mjs
// `import type` is not valid ESM syntax.
import type { Struct } from "superstruct";
import { assert } from "superstruct";

Steps to reproduce

Use TypeScript 4.8.
Create a file with a type import.
Build the project with @ts-bridge/cli.

Fixed in #6.


Cannot connect to Jetty server

I've tried to use http2fuzz against the jetty server, but cannot get it to connect and recognize HTTP2!
simplest way to demonstrate this is with:
./http2fuzz --target "webtide.com:443"

Which says webtide.com is not running HTTP2, but all recent browsers see this as a HTTP2 server.
Debugging against a local server indicates that ALPN is not being used to send a protocol choice.   I have tried a h2c connector, but the connection is definitely being made using TLS?

You're the second person to bring this up to me. Do you have an example Jetty server I can test against? webtide.com:443 appears down

@c0nrad webtide.com:443 is up now.
If you have a distribution of jetty-9.3.x, the you can easily run a http2 server:
mkdir test
cd test
java -jar $JETTY_HOME/start.jar --add-to-startd=http,https,http2,http2c,deploy
java -jar $JETTY_HOME/start.jar

That is running with an empty webapps directory.. but a 404 will confirm that http2 is working.

What command did you use to run it? It's fuzzing fine with:
go build
./http2fuzz --target webtide.com:443

@c0nrad
I ran exactly that command and the result is that every fuzzer gives up with "sever[sic] doesn't support http2"
gregw@Tile440: ~/src/http2fuzz (master)
[2002] ./http2fuzz --target webtide.com:443
2015/12/02 10:52:28 Connecting to webtide.com:443 ...
2015/12/02 10:52:29 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:29 sever doesn't support http2
2015/12/02 10:52:29 Connecting to webtide.com:443 ...
2015/12/02 10:52:29 Connecting to webtide.com:443 ...
2015/12/02 10:52:30 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:30 sever doesn't support http2
2015/12/02 10:52:30 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:30 sever doesn't support http2
2015/12/02 10:52:30 Connecting to webtide.com:443 ...
2015/12/02 10:52:30 Connecting to webtide.com:443 ...
2015/12/02 10:52:30 Connecting to webtide.com:443 ...
2015/12/02 10:52:31 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:31 sever doesn't support http2
2015/12/02 10:52:31 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:31 sever doesn't support http2
2015/12/02 10:52:31 Connecting to webtide.com:443 ...
2015/12/02 10:52:31 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:31 sever doesn't support http2
2015/12/02 10:52:31 Connecting to webtide.com:443 ...
2015/12/02 10:52:31 Connecting to webtide.com:443 ...
2015/12/02 10:52:31 Connecting to webtide.com:443 ...
2015/12/02 10:52:32 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:32 sever doesn't support http2
2015/12/02 10:52:32 Connecting to webtide.com:443 ...
2015/12/02 10:52:32 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:32 sever doesn't support http2
2015/12/02 10:52:32 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:32 sever doesn't support http2
2015/12/02 10:52:32 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:32 sever doesn't support http2
2015/12/02 10:52:32 Connecting to webtide.com:443 ...
2015/12/02 10:52:32 Connecting to webtide.com:443 ...
2015/12/02 10:52:32 Connecting to webtide.com:443 ...
2015/12/02 10:52:32 Connecting to webtide.com:443 ...
2015/12/02 10:52:33 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:33 sever doesn't support http2
2015/12/02 10:52:33 Connecting to webtide.com:443 ...
2015/12/02 10:52:33 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:33 sever doesn't support http2
2015/12/02 10:52:33 Connecting to webtide.com:443 ...
2015/12/02 10:52:33 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:33 sever doesn't support http2
2015/12/02 10:52:33 Connecting to webtide.com:443 ...
2015/12/02 10:52:33 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:33 sever doesn't support http2
2015/12/02 10:52:33 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:33 sever doesn't support http2
Stopping PingFuzzer: sever doesn't support http2
2015/12/02 10:52:33 Connecting to webtide.com:443 ...
2015/12/02 10:52:33 Connecting to webtide.com:443 ...
2015/12/02 10:52:34 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:34 sever doesn't support http2
2015/12/02 10:52:34 Connecting to webtide.com:443 ...
2015/12/02 10:52:34 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:34 sever doesn't support http2
2015/12/02 10:52:34 Connecting to webtide.com:443 ...
2015/12/02 10:52:34 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:34 sever doesn't support http2
Stopping RawFrameFuzzer: sever doesn't support http2
2015/12/02 10:52:34 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:34 sever doesn't support http2
2015/12/02 10:52:34 Connecting to webtide.com:443 ...
2015/12/02 10:52:34 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:34 sever doesn't support http2
2015/12/02 10:52:34 Connecting to webtide.com:443 ...
2015/12/02 10:52:34 Connecting to webtide.com:443 ...
2015/12/02 10:52:35 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:35 sever doesn't support http2
Stopping PriorityFuzzer: sever doesn't support http2
2015/12/02 10:52:35 Connecting to webtide.com:443 ...
2015/12/02 10:52:35 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:35 sever doesn't support http2
2015/12/02 10:52:35 Connecting to webtide.com:443 ...
2015/12/02 10:52:35 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:35 sever doesn't support http2
2015/12/02 10:52:35 Connecting to webtide.com:443 ...
2015/12/02 10:52:35 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:35 sever doesn't support http2
2015/12/02 10:52:35 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:35 sever doesn't support http2
2015/12/02 10:52:35 Connecting to webtide.com:443 ...
2015/12/02 10:52:35 Connecting to webtide.com:443 ...
2015/12/02 10:52:35 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
Stopping PingFuzzer: sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
Stopping WindowUpdate Fuzzer: sever doesn't support http2
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
Stopping ResetFuzzer: sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:36 sever doesn't support http2
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:36 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
Stopping PriorityFuzzer: sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
Stopping PriorityFuzzer: sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
Stopping PingFuzzer: sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:37 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:37 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2
2015/12/02 10:52:37 Connecting to webtide.com:443 ...
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
Stopping PingFuzzer: sever doesn't support http2
2015/12/02 10:52:38 Connecting to webtide.com:443 ...
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
2015/12/02 10:52:38 Connecting to webtide.com:443 ...
2015/12/02 10:52:38 Connecting to webtide.com:443 ...
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
2015/12/02 10:52:38 Connecting to webtide.com:443 ...
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
Stopping SettingsFuzzer: sever doesn't support http2
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2
2015/12/02 10:52:38 Connecting to webtide.com:443 ...
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
2015/12/02 10:52:38 Connecting to webtide.com:443 ...
2015/12/02 10:52:38 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:38 sever doesn't support http2
2015/12/02 10:52:38 Connecting to webtide.com:443 ...
2015/12/02 10:52:39 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:39 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2
2015/12/02 10:52:39 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:39 sever doesn't support http2
2015/12/02 10:52:39 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:39 sever doesn't support http2
2015/12/02 10:52:39 Connecting to webtide.com:443 ...
2015/12/02 10:52:39 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:39 sever doesn't support http2
2015/12/02 10:52:39 Connecting to webtide.com:443 ...
2015/12/02 10:52:39 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:39 sever doesn't support http2
Stopping DataFuzzer: sever doesn't support http2
2015/12/02 10:52:39 Connecting to webtide.com:443 ...
2015/12/02 10:52:39 Connecting to webtide.com:443 ...
2015/12/02 10:52:39 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:39 sever doesn't support http2
2015/12/02 10:52:39 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:39 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2
2015/12/02 10:52:39 Connecting to webtide.com:443 ...
2015/12/02 10:52:39 Connecting to webtide.com:443 ...
2015/12/02 10:52:40 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:40 sever doesn't support http2
2015/12/02 10:52:40 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:40 sever doesn't support http2
2015/12/02 10:52:40 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:40 sever doesn't support http2
2015/12/02 10:52:40 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:40 sever doesn't support http2
2015/12/02 10:52:40 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:40 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2
2015/12/02 10:52:40 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:40 sever doesn't support http2
Stopping ContinuationFuzzer: sever doesn't support http2
2015/12/02 10:52:40 Connecting to webtide.com:443 ...
2015/12/02 10:52:40 Connecting to webtide.com:443 ...
2015/12/02 10:52:40 Connecting to webtide.com:443 ...
2015/12/02 10:52:40 Connecting to webtide.com:443 ...
2015/12/02 10:52:40 Connecting to webtide.com:443 ...
2015/12/02 10:52:41 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:41 sever doesn't support http2
2015/12/02 10:52:41 Connecting to webtide.com:443 ...
2015/12/02 10:52:41 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:41 sever doesn't support http2
2015/12/02 10:52:41 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:41 sever doesn't support http2
Stopping PushPromiseFuzzer: sever doesn't support http2
2015/12/02 10:52:41 Connecting to webtide.com:443 ...
2015/12/02 10:52:41 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:41 sever doesn't support http2
Stopping RawTCPFuzzer: sever doesn't support http2
2015/12/02 10:52:41 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:41 sever doesn't support http2
2015/12/02 10:52:41 Connecting to webtide.com:443 ...
2015/12/02 10:52:42 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:42 sever doesn't support http2
Stopping RawTCPFuzzer: sever doesn't support http2
2015/12/02 10:52:42 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:42 sever doesn't support http2
2015/12/02 10:52:42 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:42 sever doesn't support http2
2015/12/02 10:52:42 Connecting to webtide.com:443 ...
2015/12/02 10:52:42 Connecting to webtide.com:443 ...
2015/12/02 10:52:43 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:43 sever doesn't support http2
2015/12/02 10:52:43 Connecting to webtide.com:443 ...
2015/12/02 10:52:43 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:43 sever doesn't support http2
Stopping RawTCPFuzzer: sever doesn't support http2
2015/12/02 10:52:44 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:44 sever doesn't support http2
Stopping PushPromiseFuzzer: sever doesn't support http2
2015/12/02 10:52:44 Connecting to webtide.com:443 ...
2015/12/02 10:52:45 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:45 sever doesn't support http2
Stopping ContinuationFuzzer: sever doesn't support http2
2015/12/02 10:52:45 Connecting to webtide.com:443 ...
2015/12/02 10:52:45 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:45 sever doesn't support http2
Stopping WindowUpdate Fuzzer: sever doesn't support http2
2015/12/02 10:52:45 Connecting to webtide.com:443 ...
2015/12/02 10:52:46 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:46 sever doesn't support http2
Stopping PriorityFuzzer: sever doesn't support http2
2015/12/02 10:52:46 Connecting to webtide.com:443 ...
2015/12/02 10:52:47 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:47 sever doesn't support http2
Stopping PingFuzzer: sever doesn't support http2
2015/12/02 10:52:47 Connecting to webtide.com:443 ...
2015/12/02 10:52:48 Connected to <IP_ADDRESS>:443
2015/12/02 10:52:48 sever doesn't support http2
Stopping HeaderFuzzer: sever doesn't support http2

/me scratches head.
Could you print out state right after this line:
https://github.com/c0nrad/http2fuzz/blob/5b529b8fad67301deb04361331f6a595f4188b3e/fuzzer/connection.go#L351


Deindex installation pages?

Hello SilverStripers,
While searching I've stumbled across unfinished installations of SilverStripe. Do you think it would make sense to add a noindex meta tag to the installation page to avoid this?

Cheers,
Peter

Hello @kinglozzer,
okay, cool. I've prepared a PR to add a noindex tag to the installer pages. Let me know what you think.
Peter

Great, thanks!

No problem, thanks for merging :)


Should be able to click out of highlight dropdown

we cannot do this right now.

Added in 8cdbc66.


Reset the IPDFLinkService.externalLinkEnabled property on document closing

Given that this property is only used with password protected documents, and is consequently document-specific rather than viewer-specific, ensure that IPDFLinkService.externalLinkEnabled is actually being reset by PDFViewerApplication.close.
To make things less confusing/inconsistent, remove the undocumented externalLinkEnabled property from the PDFLinkService constructor and force it to always be manually set when needed.

/botio-linux preview

Looks good; thanks!


Update React Native Example Project to use React Hooks Package

https://github.com/medplum/medplum/assets/6913745/3a1d3cc5-009a-4197-a37d-6a1709131e2a

coverage: 93.864%. remained the same when pulling 46a5456afe0ca7d0ba5d7fa040db2f546c569307 on james-react-native-hooks into bc2d910563d8358f8a1f04fd103efe0777a34f86 on main.


ZXCapture fails to initialize capture if it has no delegate

ZXCapture has some weird logic in its start, startStop and setDelegate methods that depends on whether the delegate is nil.
In some cases it results in a failure to properly initialize video capture and output (i.e. in a white screen).
What I'm trying to achieve is to have the video output visible at all times, but to disable the actual processing of frames (bar codes recognition) during animations, alert views presentation, etc. in order to increase performance and save battery.
The only option to disable the processing while keeping the video output seems to be to set delegate to nil.
However, in certain cases it results in the aforementioned "white screen".

Hi, sorry for the long delay on responding. I'm not able to reproduce this, although perhaps recent changes to ZXCapture have inadvertently fixed it. Could you let me know if it's still occurring with the latest version?


[38] Add blurb on CI cross-testing

Mr Danger has to be toned down a bit, it seems. Just like Mr. Trump...

lol. yeah, let's tweak it as needed. 😄
we can update ignored words in the Dangerfile. we should probably add the project names, and might as well add TODO
and contribute changes: https://github.com/dbgrandi/danger-prose


HTML

#HTML
##User Story
As a bootcamp student
I want the prework notes to be structured on a webpage
so that I can easily find and read information
##Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed

Added HTML update


(maint) Fix documentation example for shell

Shell cannot accept a host, so update inline docs accordingly.

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


failed to get data older than March 16 2023

I managed to retrieve data from March 16 to March 31, 2023. but with the same command and just changing the time range, I failed to get data older than March 16 2023.
osmsg --country indonesia --force --username username --password password --name MAR2023_IDN_1 --tags "building" "highway" --start_date "2023-03-01 00:00:00+00:00" --end_date "2023-03-15 00:00:00+00:00"

HI @ikopanji  looks like data is not available in geofabrik where country data is being pulled from , I will try to see or provide an option for switching servers on next release to address this issue !

Thank you! It's also not working in other countries like Thailand, Malaysia, Myanmar, Cambodia, Nepal, Vietnam, and Laos.


new(userpsac/libsinsp): support regular expression operator in sinsp filters

What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area libsinsp
/area tests
Does this PR require a change in the driver versions?
What this PR does / why we need it:
This has been requested by the community since a long time (~6 years) both publicly and in private channels. The main concern of supporting regular expressions is the potential performance impact on high events throughput such as the one of syscalls. However, I consider the project mature enough and in need of serving a multitude of different use cases, so I'm proposing to support this feature and empowering the user with the choice and wisdom on how best using it.
The contribution implements a new regex operator that can be used with string fields such as fd.name regex [a-z]*/proc/[0-9]+/cmdline or similars. The supported standard is the one of https://github.com/google/re2, on which we base our regex implementation.
This has also the benefit of making performance predictable, as RE2 does not support backtracking and full regex support (from my understanding). On top of that, I added few filter compilation heuristic warnings/checks (with tests) to inform users in cases where regular expression operators are used but not truly needed.
It is crucial that this operator is used with parsimony and only where strictly needed. From my personal benchmarks, the regex operator is 5x to 10x than a simple equality comparison for simple examples. As such, existing more trivial operators are always preferable in case they can implement the same check logic.
Which issue(s) this PR fixes:
Fixes:

https://github.com/falcosecurity/falco/issues/438

Special notes for your reviewer:
/milestone 0.18.0
Does this PR introduce a user-facing change?:
new(userpsac/libsinsp): support regular expression operator in sinsp filters

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Very nice, on that note: Did we ever compare our simple string comparison approach with re2 simple string comparison (no regex)? Just to check if our simple string comparisons have the best performance since re2 is a pretty strong package. WDYT?

@incertum from my experiments, our simple comparisons are generally faster by at least 5x. This is an indicator that the best practice is to use regex comparisons only where regex are the only way of implementing the check

@incertum from my experiments, our simple comparisons are generally faster by at least 5x. This is an indicator that the best practice is to use regex comparisons only where regex are the only way of implementing the check

Great, thanks for sharing!

LGTM label has been added.  Git tree hash: d9313d6a46ed1d69bafd283800f6aceac33daceb

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

New changes are detected. LGTM label has been removed.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, incertum, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,incertum,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


gg & G is not using default_delay

I found this in init.lua
utils.create_keymap({ 'n', 'x' }, 'gg', "<Cmd>lua Scroll('gg', 0, 0, 5)<CR>")
utils.create_keymap({ 'n', 'x' }, 'G', "<Cmd>lua Scroll('G', 0, 1, 5)<CR>")

Is it possible for gg and G to use default delay like others?

I'll change that now :). I had gg and G set to a faster speed than the default since its usually a much bigger movement than the others. I'll change it to match the others just for consistency though

Thanks! I actually set all my delays to 1 to scroll faster but still have the smooth scrolling experience.


Fix typo in ADR

[x] Ensure that you followed http://eclipse.github.io/winery/dev/ToolChain#github---prepare-pull-request. Especially, we require a single commit
[x] Ensure that the commit message is a good commit message
[x] Ensure to use auto format in all files
[ ] Ensure that you appear in NOTICE at Copyright Holders
[x] Tests created for changes
[x] Documentation updated (if needed)
[ ] Screenshots added (for UI changes)

Can one of the admins verify this patch?

@kevgo Our automated check for the eclipse contributor agreement said that you did not yet sign the eca. Please check this link for some next steps to sign the ECA. Thanks!

Signed the ECA and added the "signed-off-by" footer to the commit message. Please take another look.

LGTM! Thanks for this :)


Basic example

Hey! I'm not from Java world and I have come across the next problem. I have the code:
@ReactMethod
public void login(Callback successCallback) {
    Instagram4Android instagram = Instagram4Android.builder().username("myLogin").password("myPass").build();

    instagram.setup();
    try {
        InstagramLoginResult result = instagram.login();
        successCallback.invoke(result);
    } catch (Exception e) {
        successCallback.invoke(e.getMessage());
    }
}

Executing was being gone into 'catch' block with message: Cannot convert argument of type class dev.niekirk.com.instagram4android.requests.payload.InstagramLoginResult.
What have I done wrong?

I'm assuming your successCallback.invoke method needs to take a String and not an InstagramLoginResult.  Try result.getStatus instead of result.


fix crash in warmup for xpu

What does this PR do?

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

@jiqing-feng @kaixuanliu

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Align all page-titles & improve page-description s

Feature description
Format all page-titles in the same way & improve the page-descriptions, they are often very long and not really helpful.
Problem and motivation
Consistency between the pages, nicer overview when working with multiple tabs.
Is this something you're interested in working on
Yes - PR is coming.

PR #1332 opened and ready for review.
Please note that you have to either merge the PR into the svengabr/screenshot-archive branch or merge it into master after #1329.

@Ein-Tim Thanks. I will merge after the other R 2.3 PRs!


[release-4.16-compatibility] Bug 2275254: Count namespace protected DRPC as one application

@GowthamShanmugam , @SanjalKatiyar Please review

/retitle Bug 2275254: [release-4.16-compatibility] Count namespace protected DRPC as one application

/approve


Add option to enable Undefined Behavior Sanitizer

We already have Address Sanitizer, it would be great if we can also use Undefined Behavior Sanitizer to help catch more issues at runtime.

Putting so when referenced, there's documentation.
See https://releases.llvm.org/13.0.1/tools/clang/docs/UndefinedBehaviorSanitizer.html for UBSAN documentation.


How to build / buy MagicMirror?

I learned about MagicMirror(2) today, and I wanted to instructions to either buy/build the hardware using raspberry pi and additional hardware pieces.
I do not find that information in https://magicmirror.builders/
Where can I find the complete documentation for a beginner who wants to set up MagicMirror?

Hi Orsenthil
The MagPi magazine has several tutorials on building magic mirrors, from materials to modules.
Its seems to be a regular feature in the mag so far.
https://magpi.raspberrypi.org/articles/category/tutorials
other than that there are many websites with details on Magic Mirror builds using MichMich platform.
I am sure others will comment as well.
Cheers
Nik (NOOB builder)

Thanks, Nik,
This was the starting tutorial https://magpi.raspberrypi.org/articles/build-a-magic-mirror - I was looking for.  I will look at the rest of the links and suggest the good addition to the documentation.


shallowRef's return type should match ref's

Vue version
3.2.47
Link to minimal reproduction
New reproduction with runtime error: codesandbox.io
typescriptlang.org
Steps to reproduce

Use shallowRef with a generic type params that's a union : shallowRef<{a:1} | {b:2}>({a:1})
Or use shallowRef and specify argument's type with as: shallowRef({a:1} as {a:1} | {b:2})

What is expected?
The return type should be ShallowRef<{a:1} | {b:2}>.
What is actually happening?
The return type is ShallowRef<{a:1}> | ShallowRef<{b:2}>
System Info
System:
    OS: Linux 6.1 Ubuntu 22.10 22.10 (Kinetic Kudu)
    CPU: (16) x64 AMD Ryzen 9 5900HX with Radeon Graphics
    Memory: 10.10 GB / 30.75 GB
    Container: Yes
    Shell: 3.5.1 - /usr/bin/fish
  Binaries:
    Node: 14.20.0 - ~/.local/share/nvm/v14.20.0/bin/node
    Yarn: 1.22.19 - ~/.local/share/nvm/v14.20.0/bin/yarn
    npm: 8.17.0 - ~/.local/share/nvm/v14.20.0/bin/npm
  Browsers:
    Chrome: 110.0.5481.177
    Firefox: 110.0.1

Any additional comments?
This breaks Vue's watch function. The first argument of watch's callback becomes a Ref instead of the value, which will cause a runtime error because Property 'value' does not exist on type '{ a: 1; } | { b: 2; }'
The reproduction link provides a good example of this. If you have any questions just ask me.
I've fixed the issue on my fork and the CI actions completed successfully.
You need to change
function shallowRef<T extends object>(value: T): T extends Ref ? T : ShallowRef<T>;
to
function shallowRef<T extends object>(value: T): [T] extends [Ref] ? T : ShallowRef<T>;
This matched ref's type:
function ref<T extends object>(value: T): [T] extends [Ref] ? T : Ref<UnwrapRef<T>>;
I think this bug is present in other parts of the code but I'm not sure right now.

This error is also present in Vue 2.7.14: https://github.com/vuejs/vue/blob/main/src/v3/reactivity/ref.ts#L58

I've added a better reproduction of the error to show it will lead to runtime error.


issues with adjacencies.bin

2017-08-03 17:52:40    [INFO] Importing province adjacencies
2017-08-03 17:52:40   [ERROR] Could not open C:\Users\something\Google drive\Documents\Paradox Interactive\Victoria II/map/cache/adjacencies.bin

Eu4 to Vic 2.
I tried to reload those caches and re-convert, but it didn't work and had the same issue.Is it because the google drive thing, or some other problems?Thanks!

It might be the google drive thing, but I've usually seen that happen when you don't have the Vic2 expansions. Do you have them both?

It turns out it is the Google Drive thing. Thanks for your help anyway. :)

I'm glad you got things working!


Addition to Delete files with Cloud Storage on Flutter page

On https://firebase.flutter.dev/docs/storage/delete-files, there is a section about deleting a file. The reference creation uses a string "images/desert.jpg" as the ID to get a reference.

I was not able to use it to figure out how to get a reference from a URL. Here is the code that will do it:
Reference desertRef = FirebaseStorage.instance.refFromURL("https://something.jpg"); await ref.delete();
Is that something that you can add to the documentation?

@RobKabob1
The link you referred is not updated one and should not be referred anymore. The correct usage link for the plugin is https://firebase.google.com/docs/storage/flutter/delete-files#delete_a_file so check the same and see if it answers your question or not.

Even that new link (https://firebase.google.com/docs/storage/flutter/delete-files#delete_a_file) doesn't have information on getting a reference from a URL. Could it be updated to include that?

@RobKabob1
The link says To delete a file, first [create a reference](https://firebase.google.com/docs/storage/flutter/create-reference) to that file., which shows the way the reference has been created to delete the said file:
https://firebase.google.com/docs/storage/flutter/create-reference
Mainly:
// Create a child reference
// imagesRef now points to "images"
final imagesRef = storageRef.child("images");

// Child references can also take paths
// spaceRef now points to "images/space.jpg
// imagesRef still points to "images"
final spaceRef = storageRef.child("images/space.jpg");

See if above is applicable in your case and whether creating the shown reference helps to answer your question or not.

I still couldn't figure out how to do what I originally requested from the documentation. I found the solution on a stackoverflow page. Im closing this one.


branch builds of sync PRs fail because the branch name contains a hash symbol

not critical, but potentially annoying: branch builds of sync PRs fail because the branch name contains a hash symbol
"#" is not a valid character in a sonarqube project

inform release-review page after fix


Naming bikeshed - require(esm) interop flag

As discussed in today's meeting, we need to come up with a name for the flag that will allow require(esm) to support a custom value for a CJS module.
The pattern is that users can write:
export const __cjsModule = true;
export default module.exports;

where module.exports can be any type of object, which will be returned by require(esm) when it sees this __cjsModule flag, instead of returning the full namespace.
@joyeecheung suggested a good name might be one that describes what it does, eg cjsUnwrapDefault.
It should be unique enough that it will not collide with an existing export name for any ES module in use today.
Opening this thread for further discussion and suggestions, although I'm happy to go with something like @joyeecheung's option here above as well.

I would still prefix it with __, so __cjsUnwrapDefault would be good for me.

@mcollina thanks, I do tend to support similar, would you be able to share motivation further here for the prefixing?

Let users seeing this it's something internal.

In the case of libraries shipping ES modules that they want to define with
non-object values in CJS, the goal is for authors to add this themselves.
So perhaps that’s an argument against it then?
On Sun, Aug 25, 2024 at 19:55 Matteo Collina @.***>
wrote:

Let users seeing this it's something internal.
—
Reply to this email directly, view it on GitHub
https://github.com/nodejs/loaders/issues/221#issuecomment-2309201355,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAESFSRKXL3L5VACLLESNIDZTKKJJAVCNFSM6AAAAABMPELMI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBZGIYDCMZVGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Okay, agreed that as a user feature and since we have a very unique name, that removing the prefix can be considered. I'm updating the PR to that effect now.

I dunno, it's still a magic string, and __esModule is already a thing - __something seems like a more consistent and safe choice.

I dunno, it's still a magic string, and __esModule is already a thing - __something seems like a more consistent and safe choice.

I agree it should start with __ so its pretty obvious its an internal

__esModule is a convention used by tools and humans are not supposed to hand-write them. But this flag is meant to be hand-written by human beings.
I don’t feel strong enough to insist on it, anyway. Just be aware this flag isn’t private - it will be documented, and is meant to be hand-written by human beings.

If this was not on the module namespace object but on a random object, it would probably be a symbol. It's not to hide it, but just to clearly communicate that it's a special value and not just part of the arbitrary keys namespace that random objects can have.
For example, we have Symbol.for('nodejs.util.inspect.custom') and we don't just ready a random utilInspectCustom property on objects, even if that symbol is for hand-written custom inspection implementations that libraries can provide for their objects.
We cannot have symbols on module namespaces, but we should still have some visual marker that says "this property is somewhat different from the other exports".

I wonder if we can do this instead:
function foo() {}

export { foo as "module.exports" };  // Or prefix it with `nodejs`
export default foo;

That's already a valid export name, though (as are all strings), so I don't think it avoids the need for a human-visible string indicator that it's internal to node, like __.

These are all valid names, but "module.exports" is probably special and Node.js specific enough (that and string names tend to be rarer than normal names already).

We could either error, or allow it. Erroring would catch more mistakes, but allowing it would make it possible to write code like

I think it's always better to give more options to the users, and let linters catch these mistakes instead of closing the doors with a runtime error.

I like the sentiment of module.exports here, but one of the goals of this work is to align this interop with the wrappers produced when requiring a CJS module from ESM (via import('cjs')), so that they will also reflect this marker. In that case having the standard representation of CJS in ESM have this shape of Namespace { 'module.exports', default, ...detectedNames }might introduce more confusion for consumers of CJS modules who aren't even aware of this interop history in future in terms of which import to use, and especially when combined with the fact that users would use this feature for tricks where the default export and module.exports values may or may not then match it may result in some unintended consequences.
We've already incurred the cost of the conceptual simplicity of the default export exactly representing CJS module.exports for ESM wrappers, as it was designed for in TC39. This interop problem for defaults and named exports cases was already the difficult tradeoff we had to make and is part of the Node.js compat model now. If we hadn't yet made this decision I'd be more sympathetic here to models where module.exports captures the CJS value and default could be flexible (and Joyee it would have been so great if you'd been around for those discussions, this would have been an interesting path!). But unfortunately, we just can't entertain those kinds of models at this point due to compat.
Given we have the default export model for CJS representation in ESM, the private marker remains my preference. And the __ prefix was also my original choice. The original consensus in this bikeshed discussion was to remove it, but since others chimed in the consensus shifted to include it. Therefore I've added back this prefix in the PR at https://github.com/nodejs/node/pull/54563.

I propose that we do a poll either within TSC or among the bigger collaborator/user base. WDYT?

In that case having the standard representation of CJS in ESM have this shape of Namespace { 'module.exports', default, ...detectedNames } might introduce more confusion for consumers of CJS modules who aren't even aware of this interop history in future in terms of which import to use

This assumes that we actually want to mutate the CJS wrapper namespace, which I don't think we have consensus about anyway. If { 'module.exports', default, ...detectedNames }  can look confusing to those who import(cjs) in the future, I am not sure why { __ cjsUnwrapDefault, default, ...detectedNames } can look less confusing. I would just suggest for the purpose of detecting imported CJS, we go with the alternative suggested in https://github.com/nodejs/node/pull/53848#issuecomment-2244500584
import { isCJSModule } from 'node:module';  // Or use process.getBuiltinModule();
import * as empty from './empty.cjs';
isCJSModule(empty);  // true

// Instead of checking empty.whateverFlag that is added by Node.js to CJS wrappers

I think that would be a less confusing and more generally useful API overall. So we get two more intuitive APIs, instead of introducing a cryptic API that tries to do both.

Would there be a similar predicate for isESMModule?
Either way wouldn’t those predicates cause changing format to be a breaking change? (which it is now, but hopefully require(esm) allows it to no longer be one)

This assumes that we actually want to mutate the CJS wrapper namespace, which I don't think we have consensus about anyway

There are two confusions I was pointing out, and I'll repeat the arguments so these are clear:

As an ESM importer importing CJS, what if I start relying on the module.exports instead of default export name? This is a choice for users to make, and perhaps some patterns will emerge for one over the other. The confusion specifically being, which to use.
As an ESM importer importing ESM that was designed to be consumed by CJS, I will also get this module.exports property, which in that case may or may not also come with a default export. The confusion here being that module.exports and default diverge, but as the consumer I don't necessarily know if I'm importing CJS or ESM so this introduces semantic ambiguity to me as the consumer of the module as to the expectation when importing a module.

Using the default aligns the consumer expectation on a default import in both cases, removing ambiguity. And where interop is a complex enough space, removing ambiguity helps build alignment between libraries and tools.
@joyeecheung this is a naming bikeshed discussion, not a debate over isCJSModule. I've engaged fully on these issues. I think it would be best if you make your intent explicit - either request a block on https://github.com/nodejs/node/pull/53848 landing or not and we can then continue process from there.

I find those questions are a bit far-fetched. How often do people import * from a package and decide to what export to use based on personal guessing about the name, without consulting the documentation? I feel that in most cases, you just follow (copy-paste) what the documentation tells you to use. If there are any undocumented exports, a regular user is not even likely to notice them, or would not think about using them unless they know what they are doing.

If there are any undocumented exports, a regular user is not even likely to notice them

This is unfortunately not true, as editor autocompletion shows all the available exports.

Using the import syntax, how do you actually get the string name autocompleted though? At least when I try with VSCode, it doesn't work with string names. It's also another story about how the import ... from ... syntax itself doesn't work with autocomplete that well in the first place - personally I have rarely used it with import syntax because of this, and when I do I already know what export I am looking for (otherwise I don't know what to type after import). When I am using a library I don't know well, I just copy paste the import statement from the documentation.
We could also just suggest editors not to autocomplete that specific name anyway (if they do support it). Is this concern really worth asking the package authors to hand-write a more cryptic export?

Using the import syntax, how do you actually get the string name autocompleted though? At least when I try with VSCode, it doesn't work with string names.

You need to use TypeScript 5.6 beta, which is the only TS version that supports export { x as "y" } and it's not released in VSCode yet. Given this file:
let a;
export { a };
export { a as "x" };
export { a as "module.exports" };

I get these suggestions:

I am following this thread for a while and hesitated to share my thoughts.
Honestly, I am really curious about the future of the commonjs. If it will part of the node.js ecosystem forever then make sense to improve it and align with es6 module. But if commonjs will remove in the next 2 LTS version I think make no sense to put any effort on it.
I don't think node.js need to support 2 module system in long term. As far as I know commonjs is not part of the EcmaScript standard so it could be removed because it will not break the web.
Remove commonjs will a pain on short term but I don't think it will bigger pain than maintaining 2 module system. Longterm the Node.js core team and library maintainers will win from the retirement of the commonjs
Sorry if I hurt someone with this thought, but sometimes have to sacrifice things for a bigger one.

My not so informed preference would be:

Always unwrap default export if it's the only export (although I've been told that might be too "magical", but IMO it's always going to feel magical no matter what we decide, and I think that's actually the most straight forward thing from a user perspective).
export { myDefaultExport as "module.exports" } – the rule of thumb being "if you re-defined module.exports in CJS, you must export it as such when refactoring to ESM"
export const __cjsUnwrapDefault = true
export const cjsUnwrapDefault = true

Always unwrap default export if it's the only export

This would make adding named exports to the ESM semver-major, though. Also previously a CommonJS package can do something like this to provide both default and named exports to their CJS + ESM users:
class Klass { static foo() {} };
module.exports = Klass;
module.exports.foo = Klass.foo;  // make the lexer detect this

If only the single default exports can be unwrapped for CJS users,  they need to choose between either breaking CJS users for keeping named exports, or breaking ESM users for losing the named exports. That would demotivate migration to ESM in the first place. But if we want to add a marker to help with the case where both default and named exports, then it would be less of a footgun to require it always when there is a default export/it used to reassign module.exports.

Personally I am not a believer of paternalistic breaking changes - we should set the breaking timeline based on how much the usage of CommonJS has dropped in the ecosystem instead of a paternalistic"X versions later".

Sometimes, have to kindly push people to the right direction.
The https://github.com/wooorm/npm-esm-vs-cjs/ is really nice chart, but if I want to show the esm has bigger part of the bar then I can find the way of it.
Just an example the top 25 package from the https://github.com/wooorm/npm-esm-vs-cjs/blob/main/data/2024-08-28.json

esm => 12 (48%)
dual => 6 (24%)
faux => 0 (0%)
cjs => 7 (28%)

If I say dual modules already made the esm transitions then I can say 72% vs 28% the winner is esm.
This is why I believe only in statistics that I made (faked). :)
The last 25 packages are all cjs.
Honestly, I don't know what is the good measurement. Maybe worth to check the trend of the new packages too.
There is nothing to force the commonjs transition to esm because commonjs works with both environment. But people started it because it has benefit. It is the official js module that supported by browser, better treeshaking, etc.
The maintainers of commonjs packages or applications start the feel the pain when they would like to use a pure esm package and based on top of the top high-impact npm packages the chance higher day by day. If you deliver the require(esm) feature then you eliminate problem so the commonjs will with us forever.
I don't wanna force anyone to do anything but please consider how will affect the require(esm) feature to the whole node.js ecosystem. I as a developer who use node.js 60 hours/week feel the pain of some earlier made decision that was full with good will, but it was not fully finished or bought up new requirement/problems that has not been solved in the last 2.5 years.
n.b. The import function is and was the workaround in the last 5 years in the commonjs packages. Not the best solution but it worked and helped in the transition for me.

Nobody needs a push for anything. If the incentive - the pull - isn't sufficient, then the new thing simply isn't better.

This is not the thread to discuss the which module systems to keep or drop from Node.js.

Marked the off-topic comments as off-topic. @ert78gb if you want to propose breaking CommonJS, please open a separate issue.

The vote concluded today in favour of module.exports in https://github.com/nodejs/TSC/pull/1622 per https://github.com/nodejs/loaders/issues/221#issuecomment-2325062946. Will update the relevant PRs in this direction.


Dropped sample for series that was not explicitly dropped via relabelling

What did you do?
I have around 20 different environments running the prometheus-agent as HA sharing the same prometheus configuration.
In only one of these environments we are receiving a log of errors Dropped sample for series that was not explicitly dropped via relabelling
When I see the metric prometheus_remote_storage_samples_dropped_totalal I only receive the reason unintentionally_dropped_series
Looking at the code this happen in the Append function when the queue is being fulled
I'm not sure if this is a bug, but at least for me it is not clear why this reason happens (I cannot find any unit test this)
What did you expect to see?
I expect to see more clear what happens when I receive this reason in the dropped sample.
What did you see instead? Under which circumstances?
I see nothing, any log, any error in the prometheus remote process.
System information
Linux 5.10.228-219.884.amzn2.x86_64 x86_64
Prometheus version
prometheus, version 2.51.0 (branch: HEAD, revision: c05c15512acb675e3f6cd662a6727854e93fc024)
  build user:       root@b5723e458358
  build date:       20240319-10:54:45
  go version:       go1.22.1
  platform:         linux/amd64
  tags:             netgo,builtinassets,stringlabels

Prometheus configuration file
global:
  scrape_interval: 30s
  scrape_timeout: 30s
  external_labels:
    replica: "prometheus-agent-1"
    monitor: "prometheus"
    environment: "prod"
    stack_id: "green"
    label1: "value1"
    country: "br"
    aws_region: "aws_region"
    account: "br"

scrape_configs:

  - job_name: 'thanos-sidecar'
    metrics_path: /metrics
    static_configs:
      - targets:
        - localhost:10902
        labels:
          label1: value1
          kubernetes_pod_name: prometheus-agent-1

  - job_name: 'kafka'
    scrape_interval: 130s
    scrape_timeout: 120s
    metrics_path: /metrics
    ec2_sd_configs:
    - region: aws-region
      port: 5556
    relabel_configs:
      - source_labels: [__meta_ec2_tag_SERVICE]
        regex: kafka
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        regex: ^value1$
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        target_label: label1
      - source_labels: [__meta_ec2_private_ip]
        target_label: instance
      - source_labels: [__meta_ec2_tag_ENV]
        target_label: environment
      - source_labels: [__meta_ec2_tag_STACK]
        target_label: stack_name
      - source_labels: [__meta_ec2_tag_SERVICE]
        target_label: service
      - source_labels: [__meta_ec2_tag_SQUAD]
        target_label: squad
      - source_labels: [__meta_ec2_tag_STACK_ID]
        target_label: stack_id

  - job_name: 'kafka-data'
    scrape_interval: 130s
    scrape_timeout: 120s
    metrics_path: /metrics
    ec2_sd_configs:
    - region: aws-region
      port: 5556
    relabel_configs:
      - source_labels: [__meta_ec2_tag_SERVICE]
        regex: kafka-data
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        regex: ^value1$
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        target_label: label1
      - source_labels: [__meta_ec2_private_ip]
        target_label: instance
      - source_labels: [__meta_ec2_tag_ENV]
        target_label: environment
      - source_labels: [__meta_ec2_tag_STACK]
        target_label: stack_name
      - source_labels: [__meta_ec2_tag_SERVICE]
        target_label: service
      - source_labels: [__meta_ec2_tag_SQUAD]
        target_label: squad
      - source_labels: [__meta_ec2_tag_STACK_ID]
        target_label: stack_id

  - job_name: 'kafka-node-exporter'
    scrape_interval: 35s
    metrics_path: /metrics
    ec2_sd_configs:
    - region: aws-region
      port: 9100
    relabel_configs:
      - source_labels: [__meta_ec2_tag_SERVICE]
        regex: kafka
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        regex: ^value1$
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        target_label: label1
      - source_labels: [__meta_ec2_private_ip]
        target_label: instance
      - source_labels: [__meta_ec2_tag_ENV]
        target_label: environment
      - source_labels: [__meta_ec2_tag_STACK]
        target_label: stack_name
      - source_labels: [__meta_ec2_tag_SERVICE]
        target_label: service
      - source_labels: [__meta_ec2_tag_SQUAD]
        target_label: squad
      - source_labels: [__meta_ec2_tag_STACK_ID]
        target_label: stack_id
    metric_relabel_configs:
      - source_labels: [__name__]
        action: drop
        regex: ^go_.+$

  - job_name: 'kafka-data-node-exporter'
    scrape_interval: 35s
    metrics_path: /metrics
    ec2_sd_configs:
    - region: aws-region
      port: 9100
    relabel_configs:
      - source_labels: [__meta_ec2_tag_SERVICE]
        regex: kafka-data
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        regex: ^value1$
        action: keep
      - source_labels: [__meta_ec2_tag_label1]
        target_label: label1
      - source_labels: [__meta_ec2_private_ip]
        target_label: instance
      - source_labels: [__meta_ec2_tag_ENV]
        target_label: environment
      - source_labels: [__meta_ec2_tag_STACK]
        target_label: stack_name
      - source_labels: [__meta_ec2_tag_SERVICE]
        target_label: service
      - source_labels: [__meta_ec2_tag_SQUAD]
        target_label: squad
      - source_labels: [__meta_ec2_tag_STACK_ID]
        target_label: stack_id

  - job_name: 'istio-sidecar'
    kubernetes_sd_configs:
    - role: pod
      selectors:
        - role: "pod"
          label: "sidecar.istio.io/inject=true"
    scheme: http
    metrics_path: "/stats/prometheus"
    honor_labels: true
    sample_limit: 600000
    relabel_configs:
    - source_labels: [__address__]
      action: replace
      regex: ([^:]+):(\d+)
      replacement: '${2}'
      target_label: __port__
    - source_labels: [__port__]
      regex: 15090
      action: keep
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
      action: keep
      regex: true
    - source_labels: [__meta_kubernetes_pod_label_istio]
      regex: ".+"
      action: drop
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: kubernetes_pod_name
    - source_labels: [__meta_kubernetes_pod_label_name]
      action: replace
      target_label: service
    - source_labels: [__meta_kubernetes_pod_label_tier]
      action: replace
      target_label: tier
    - action: labeldrop
      regex: __meta_kubernetes_pod_label_name
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)

  # Fetches istio ingress metrics
  - job_name: 'istio-ingress'
    metrics_path: /stats/prometheus
    kubernetes_sd_configs:
    - role: pod
      namespaces:
        names:
        - istio-system
    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_container_port_name]
      action: keep
      regex: '.*-envoy-prom'
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: kubernetes_pod_name
    - source_labels: [__meta_kubernetes_pod_label_istio]
      action: replace
      target_label: istio
    - source_labels: [__meta_kubernetes_pod_label_app]
      action: replace
      target_label: service
    - source_labels: [__address__]
      target_label: tier
      replacement: "critical"
    - action: labeldrop
      regex: __meta_kubernetes_pod_label_name
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)
    metric_relabel_configs:
    # Refactor Istio TLS Cipher from the label name to a label
    - source_labels: [__name__]
      regex: 'envoy_listener_ssl_ciphers_(.*)'
      target_label: cipher
      replacement: "${1}"
    - source_labels: [__name__]
      regex: 'envoy_listener_ssl_ciphers_(.*)'
      target_label: __name__
      replacement: 'envoy_listener_ssl_ciphers'
    - source_labels: [__name__, listener_address]
      regex: 'envoy_listener_ssl_ciphers;.+'
      target_label: listener_address
      replacement: ""
    # Refactor Istio TLS Version from the label name to a label
    - source_labels: [__name__]
      regex: 'envoy_listener_ssl_versions_(.*)'
      target_label: version
      replacement: "${1}"
    - source_labels: [__name__]
      regex: 'envoy_listener_ssl_versions_(.*)'
      target_label: __name__
      replacement: 'envoy_listener_ssl_versions'
    - source_labels: [__name__, listener_address]
      regex: 'envoy_listener_ssl_versions;.+'
      target_label: listener_address
      replacement: ""

  # Fetches istio control plane metrics
  - job_name: 'istiod'
    kubernetes_sd_configs:
    - role: endpoints
      namespaces:
        names:
        - istio-system
    relabel_configs:
    - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
      action: keep
      regex: istiod;http-monitoring
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: kubernetes_pod_name
    - source_labels: [__meta_kubernetes_pod_label_istio]
      action: replace
      target_label: service
    - source_labels: [__address__]
      target_label: tier
      replacement: "critical"
    - action: labeldrop
      regex: __meta_kubernetes_pod_label_name
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)

  - job_name: 'kubernetes-pods-high-metrics'
    kubernetes_sd_configs:
    - role: pod
      selectors:
      - role: "pod"
        label: "service-name in (service1, service2, service3)"
    scheme: https
    honor_labels: true
    sample_limit: 1690000
    scrape_interval: 60s
    bearer_token_file: /var/run/secrets/prometheus/bearer_token
    tls_config:
      insecure_skip_verify:  true
      cert_file: /etc/prometheus/prometheus_cert.pem
      key_file: /etc/prometheus/prometheus_key.pem
    relabel_configs:
    - action: replace
      source_labels: [__address__]
      regex: .*
      replacement: value1
      target_label: label1
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
      action: keep
      regex: true
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_high_latency]
      regex: '.+'
      action: drop
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
      action: replace
      target_label: __metrics_path__
      regex: (.+)
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
      action: replace
      target_label: __scheme__
      regex: ^(https?)$
    - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
      action: replace
      regex: ([^:]+)(?::\d+)?;(\d+)
      replacement: $1:$2
      target_label: __address__
    - source_labels: [__meta_kubernetes_namespace]
      action: drop
      regex: 'databases'
    - source_labels: [__meta_kubernetes_namespace]
      action: drop
      regex: 'kube-system'
    - source_labels: [__meta_kubernetes_namespace]
      action: replace
      target_label: kubernetes_namespace
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: kubernetes_pod_name
    - source_labels: [__meta_kubernetes_pod_label_name]
      action: replace
      target_label: service
    - source_labels: [__meta_kubernetes_pod_label_tier]
      action: replace
      target_label: tier
    - action: labeldrop
      regex: __meta_kubernetes_pod_label_name
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)
    metric_relabel_configs:

    - source_labels: [__name__,endpoint]
      action: replace
      target_label: endpoint
      regex: ^services_http_endpoint_logical_.+;(.+api\/render\/pay\/).+$
      replacement: $1

...

remote_write:
  - url: http://victoria-metrics-insert.namespace.svc.cluster.local:8480/insert/0/prometheus/api/v1/write
    queue_config:
      max_samples_per_send: 2000
      capacity: 10000

      max_shards: 30

      max_backoff: 3s
      retry_on_http_429: true
    write_relabel_configs:
      - regex: "(replica)"
        action: labeldrop

Alertmanager version
No response
Alertmanager configuration file
No response
Logs
No response

I updated to Prometheus-agent 3.0.1 version and unfortunelly continues with the dropped.
I came across this other issue, but this was related to sample limit exceeded, and, this one it is not related

It is hard for me understand whis reason unintentionally_dropped_series. Maybe without with more contact with the code could understand better the problem.

When I look for the prometheus_remote_storage_dropped_samples_total metric, we can see dropping

The issue is not caused by relabeling.
You can check the WAL write status.
Please check prometheus_tsdb_wal_writes_failed_total.

The issue is not caused by relabeling.
You can check the WAL write status. Please check prometheus_tsdb_wal_writes_failed_total.

The possible reason is that the sample record is written earlier than the series record in the WAL log.

The issue is not caused by relabeling.
You can check the WAL write status. Please check prometheus_tsdb_wal_writes_failed_total.

The possible reason is that the sample record is written earlier than the series record in the WAL log.

What's the difference here exactly between a sample record and a series record, if you don't mind me asking?
We're also running into this issue but when checking prometheus_tsdb_wal_writes_failed_total everything is 0.


fix: make text selection readable

current setup results in low contrast between default text selection background color and text color. to fix this use link-color for text ::selection
Before

After

Hey @Kiryous!
This makes sense, but your commit also adds background to headers. Please fix this and I'll merge the PR.

Fixed it myself


Number 10**18 and above are breaking in Indonesian locale

Currently:
1_000_000_000_000_000_000.humanize(:locale => :id)
# => NoMethodError: undefined method `+' for nil:NilClass

If any of you Indonesians knows the name of these unnamed scales:
['', 'ribu', 'juta', 'miliar', 'triliun', 'kuadriliun', 1018, 1021, 1024, 1027, 'kuintiliun', 'desiliun', 1036, .. ],
please let us know in the comments or send us a PR.
As you can see, I've found the names of 1030 and 1033. But it supposed to be contiguous so that it wouldn't break.

Wouldn’t kuintillion == quintillion, and kaudrillion == quadrillion? So kaudrillion should be directly before kuintillion? In English, quad being 4 and quin being 5. Isn’t it the same in Indonesian too?

On 20 Nov 2017, at 17:02, Adrian Setyadi<EMAIL_ADDRESS>wrote:
Currently:
1_000_000_000_000_000_000.humanize(:locale => :id)
=> NoMethodError: undefined method `+' for nil:NilClass
If any of you Indonesians knows the name of these unnamed scales:
['', 'ribu', 'juta', 'miliar', 'triliun', 'kuadriliun', 1018, 1021, 1024, 1027, 'kuintiliun', 'desiliun', 1036, .. ],
please let us know in the comments or send us a PR.
As you can see, I've found 1030 and 1033. But it supposed to be contiguous so that it wouldn't break.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I thought so too. But, according to:

http://kateglo.com/?mod=dictionary&action=view&phrase=kuintiliun, and
https://kbbi.web.id/kuintiliun

kuintiliun is sepuluh pangkat tiga puluh (di Amerika Serikat: sepuluh pangkat lima belas).
In English that would be ten to the power of thirty (in the United States of America: ten to the power of fifteen)
These websites (kateglo.com and kbbi.web.id) use the official dictionary data from Pusat Bahasa Kementerian Pendidikan dan Kebudayaan (the Ministry of Education and Culture's Center of Indonesian language). I believe kateglo.com is the most updated one. Many Indonesian translators used either these or the printed dictionary to check the standard spelling and the most accurate meaning of an Indonesian word. I know this because I was a translator (although not very good at it). I still am actually, but now only occasionally.
As for desiliun, the definition is satuan bilangan besar (di atas satu juta) yang dilambangkan dengan 33 nol pada sistem Amerika atau dengan 60 nol pada sistem Inggris. In English: a unit of large number (above one million) which is denoted by 33 zeroes in American system or by 60 zeroes in British system. I assume Indonesian would follow the American system because it usually is unless otherwise specified as in the case of kuintiliun.

I've asked one of the experts of Indonesian language in twitter about this and still waiting for his reply.
He is the main creator of kateglo.com.

This issue has been opened for long. I assume nobody knows the answers either or maybe they haven't been defined. So, I'm closing this issue.
Anyone is welcome to reraise it if needed.


App Stuck after pressing YES in Love Dialog

The app gets stuck after i press YES in Love dialog and the rating screen never comes up.
I am using a 12.3.1 iphone 7 for testing and 5.2.4 apptentative.

Hello @maheshvenkitachelam  - thanks for reaching out! Would you be able to contact our support team<EMAIL_ADDRESS>and include details about the company and app you are working on? Our team will be able to assist further from there.
Thanks so much,
Veronica

Hi @maheshvenkitachelam. I wanted to follow up. Can you reach out to<EMAIL_ADDRESS>From there we'll be able to help you directly.
Thanks!
Casey


Changed to have a variable frequency and bitrate

Allows the user to generate 44.1Khz/16bit, 96Khz/24bit, or anything else the wavefile gem supports.

@joshfindit Thanks for the interest and opening this PR! I took a look at your suggested changes and added some comments. A few of the changes I don’t want to make, with reasons mentioned in the comments.
I do like the change to use the SAMPLE_RATE constant instead of a hard-coded value of 44100 in a couple of places - that was an oversight on my part.
I also like the change the indicate the number of samples to generate by multiplying the sample rate by a constant indicating the number of seconds - I think that makes it a little more clear the relationship between the sample rate, amount of time, and number of samples to generate.
I'll merge this in and manually revert some of the changes I don't want to make. Thanks!

Right on, glad you found these beneficial. Apologies about removing the gem version, that was an oversight on my part as I did it early to get the script working and forgot to add it back, I totally agree about keeping it simple.


Make errors more verbose?

Hi,
I just configured an organization app and setup this action. My workflow fails with the message below:
Run tibdex/github-app-token@v1
  with:
    app_id: ***
    private_key: ***
##[error]Not Found

The string Not Found doesn't seem to even appear in this repo, so I don't have any other option but go create a personal token instead. A more verbose error would have helped.

This error was happening to me because I had created a GitHub App, but I didn't actually install the app to the repository/organization. So there was an Not found error being thrown due to the call to getRepoInstallation getting a 404 since there isn't a repo installation.


Find with mult-line is not giving correct results if regex has beginning boundary

Steps to Reproduce:

Consider a file with following text

if
else

if
else

Perform find with regex - ^if\nelse

Expected: Two matches lines {1, 2} and {4,5}
Observed: Only one match line {1,2} is shown

duplicates #11572


Support RunInTerminalRequest

Not sure if this is related, but if you put "${file}"

in the 'program' field in the config file (instead of the full path), it doesn't run the Python file - it switches to the config file and says

name 'true' is not defined

I'm attaching the screenshot because I can't figure out how to copy text from the console.

Variables are getting evaluated when the debugger is opened or the settings updated so ${file} usually won't reflect the current file (right now). In your case it looks like the debugger used the .sublime-project as the program

So just restart the debugger?
On 22 Aug 2019, 10:38 PM +0530, David<EMAIL_ADDRESS>wrote:

Variables are getting evaluated when the debugger is opened or the settings updated so ${file} usually won't reflect the current file (right now). In your case it looks like the debugger used the .sublime-project as the program
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I wouldn't use ${file} until it gets fixed its going to have weird behavior. But yes I believe if you restart the debugger it will reevaluate ${file} to the current one

All right, cool!
On 22 Aug 2019, 10:46 PM +0530, David<EMAIL_ADDRESS>wrote:

I wouldn't use ${file} until it gets fixed its going to have weird behavior. But yes I believe if you restart the debugger it will reevaluate ${file} to the current one
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Adding support for temporary credentials to sigv4 workflows

The primary motivation here is to support Temporary Credentials in Opensearch.
There's some additional work we'll have to do in opensearch before that is fully possible but this is a good step of the way there.
To test locally:

pull down https://github.com/grafana/grafana-aws-sdk-react/pull/66 yarn watch, then yarn link and link in opensearch
pull down this branch and add replace github.com/grafana/grafana-aws-sdk => /Users/sarahzinger/code/grafana/grafana-aws-sdk to go.mod of opensearch
(grafana internal only) see provisioning instructions here: https://github.com/grafana/plugin-provisioning/pull/137, take note of comments section with instructions for custom.ini file and .aws/credentials file
run mage in opensearch
make run in main grafana
set up a new datasource as described ^
save + test is expected to fail because we do not use the same backend flow yet for the health check, so for now ignore
go to explore and select datasource, metrics should fetch successfully

This really needs tests but I found it difficult to do so. Maybe someone wants to pair with me on it? My attempts lead me to try to a larger refactor project: https://github.com/grafana/grafana-aws-sdk/pull/103 but it felt like scope creep.

closing as stale, although I think this would work, we can revist if and when we need this. It was mostly a proof of concept.


Kube-hunter report can't show vulnerabilities online

We can run below command in target machine, and the output report only contains the node information, but can't find the vulnerability report, which shows in the linux box already. Could you please help with this issue?
Command: docker run -it --rm --network host aquasec/kube-hunter --token
Notes: Token is already included from this command, I just remove it in case sensitive information disclosure.

Hi @hugo320, can you send the output you’re seeing to clarify what the issue is here?

Closing for being stale.


About training cost for SAM2 ft

https://github.com/hustvl/EVF-SAM/issues/20 shows the SAM2 don't need to ft the decoder because of the powerful video comprehension in SAM2, so I am curious about that the training cost may be less than ft SAM1 since the decoder in SAM1 is trainable?
Any training detail about the SAM2? For example, training devices, time cost, or something spacial and different from the ft in SAM1.

Honestly, we use almost the same training settings as evf-sam with sam1, only different at preprocess where sam1 use resizelongest+padding and sam2 use resize.
Besides, you are right that evf-sam with sam2 is easier to train compared to that of sam1.

Honestly, we use almost the same training settings as evf-sam with sam1, only different at preprocess where sam1 use resizelongest+padding and sam2 use resize.
Besides, you are right that evf-sam with sam2 is easier to train compared to that of sam1.

OK, thx for your reply~


Convert test29 into a new style test

Codecov Report

Merging #4370 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4370      +/-   ##
==========================================
+ Coverage   80.33%   80.35%   +0.01%
==========================================
  Files         109      109
  Lines      142465   142465
==========================================
+ Hits       114456   114473      +17
+ Misses      28009    27992      -17

Impacted Files
Coverage Δ

src/ex_getln.c
77.26% <0%> (-0.34%)
:arrow_down:

src/ex_cmds2.c
87.78% <0%> (-0.12%)
:arrow_down:

src/message.c
76.6% <0%> (-0.05%)
:arrow_down:

src/channel.c
83.54% <0%> (-0.04%)
:arrow_down:

src/gui.c
58.14% <0%> (ø)
:arrow_up:

src/screen.c
81.74% <0%> (ø)
:arrow_up:

src/syntax.c
80% <0%> (+0.12%)
:arrow_up:

src/gui_gtk_x11.c
49.58% <0%> (+1.32%)
:arrow_up:

Continue to review full report at Codecov.

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


Use passive listeners when listening for scroll events

Using { passive: true ) should improve the performance of scroll listeners, see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners.

The exact docs you linked at the bottom explicitly say:

Sorry, haven't read that part!