about the hico-det metric?

hi,man,i am very confused about the metric on the hico-det datasets metric,as I see,the map is conculated by the mean average precision for every hoi-class,the bbox is from the ground-truth or from the detector's results, can you answer about it? and if you use the detector's result to compute the map, can you tell me your detector's map for the hico-det datasets and do you train the detector ?
I will pay the highest respect

for the hico-datasets,there is no key-points annotations, how can you do the work for the key-points stream, I am very confused,because I just use the openpose to do the same work, it not works, maybe can you tell the details about how do you do the key points stream

for hico-datasets,there exits unbalanced data for having-interaction and no-interaction,how do you
train the nis as a prior message, and can you tell the nis's metric, thanks.

the bbox is from the ground-truth or from the detector's results
---from the detector. For specific, we use the Detectron results supplied by iCAN (https://github.com/vt-vl-lab/iCAN). Nope, we have not finetune or retrain the object detection model, just used the bbox results directly.
We use Alphapose to do the pose estimation, https://github.com/MVIG-SJTU/AlphaPose. First, we get 17 keypoints of each human bbox, and then generate a visualized map of the skeleton. This map and two spatial maps following HICO-DET(wacv) are the inputs of a single stream. The visualized skeleton is generated by opencv's function.
The ratio of pos and neg pairs for the training of Interactiveness network(binary classification) is 1:1. Better performance will be obtained by training interactiveness network solely. Then you can use this binary classifier to do NIS on any trained HOI models. We use a hard threshold to do the NIS.

Thanks for your attention. Now we are working on a bigger project on activity understanding which includes our TIN. We plan to make this project (with TIN) open source this summer.

oh, excellent answers, I am very grateful to you for taking the time to answer some of my confusion.i am doing the same work, but I work slowly, so you do an excellent work,and,the work  on the activity understanding you are doing is so advacing, I just admire your academic ability,feeling the hope of the city.I pay tribute to your selfless dedication.
1.i just test the detector by deyectron's result, using the r50-fpn-1x (https://github.com/facebookresearch/Detectron/blob/master/MODEL_ZOO.md), and the bboxmap is just 20,I also  see the  ican project(by Chen Gao.2018-BMVC),because my work using pytorch,so I just don't eval it's detector, maybe it can performe better.i just think the detector's ability just decides the limit of hoi-classicition,so the detector is the key-point.
2 about the key-point stream, can you tell the how to generate a map of the skeleton by details,and the what result is like?
3 thanks for you answering, I just think wrongly.now I may do the by a right way.

about the detector, as I try on the detectron,it just leaks some object'bbox, especially for the rare object data,so this can make the hoi-det works badly.

object detection: yep, it is kinda important for HOI detection. If the detection results cannot reach a bar, the HOI performance will also be limited. I have done some tests for different detectors, e.g. fpn-resnet-101 and 152. But the performance difference is not very large. Thus I propose the LIS function, which can suppress the bad detections softly. In my opinion, the bad pairing of human and object is more influential.
I put 17 points on a binary map, and set their grey values as 0.05, 0.10, 0.15....0.95, and link the points according to the human body skeleton. The edge width is 2 pixels. I have put some examples in our paper too.
![image](https://user-images.githubusercontent.com/13531138/55688874-7dba7a80-59b0-11e9-8738-dbdf2dcaf08d.png

In our code, the keypoints is paired with their corresponding human box. And the dataloader will generate tensors based on them as the inputs.
Yeah, some rare classes are pretty tricky. Detectors trained on COCO may perform badly on HICO-DET. But ad hoc detection method or enhanced one for hico-det dataset have limitations too.  In my opinion, maybe it is better to focus on the interaction understanding itself, we can use the same detections and only compare the interaction recognition performance.
Good luck!

oh,yes,i will pay more attention on the interaction recognition.i just have another question.
for hico-datasets,hypothesis,you just detect one human and one bottle, but there exits two hois,one,maybe hold the bottle, the other,drinking with the bottle,so how do you judge it as true positive?
the question is many hois in one person and one obj, how do you metric on it?

I don't exactly know the meaning of "metric". Do you intend to say how to decide a pair is pos or neg? Exactly speaking, HOI detection is a multi-label classification problem. 600 HOI classes are separate during the inference (600 sigmoids). So a pair can be pos to one class, and neg to another class. In our paper, we focus on the interactive or non-interactive pair problem. That is to say, whether a pair has one or more HOIs or zero HOI.

I don't exactly know the meaning of "metric". Do you intend to say how to decide a pair is pos or neg? Exactly speaking, HOI detection is a multi-label classification problem. 600 HOI classes are separate during the inference (600 sigmoids). So a pair can be pos to one class, and neg to another class. In our paper, we focus on the interactive or non-interactive pair problem. That is to say, whether a pair has one or more HOIs or zero HOI.

so, your metric code is like voc2007(or 2017)-map or what?

I use the code supplied by ho-rcnn (https://github.com/ywchao/ho-rcnn).

hi, man,for hico-det datasets, how long do you train a models, and how much gpus?

I am very sorry, I am bothering you very often.i just meet one thing, that because this Is a multi-label questions,so. when you eval, do you select the top-n prediction or select the predictions that over a score, because, I just eval on it correctly, so I don't konw if my method works, apologize again for my interruptions！

You may find the hyper-parameters in our papers. We use a single Titan X.
Yes, usually we need to discard some results with low scores, or detection scores, or NIS scores. You can also limit the pair numbers within each image.

hi,man,for the hico-dataset,for example, for teach person,this is a hoi in the datasets, it's train examples numbers are only 2,so my model just can't classifi it ,can you solve this data unbalance problem?

for coco datasets, the train datasets only has 2k+ images, but the test datasets has 4k+ images, so do you just train the 2k+ images, but  I just eval it a little low.

https://github.com/s-gupta/v-coco

https://github.com/s-gupta/v-coco

do you just train on the train data(only has 2k+ images)?

For a fair comparison and exclude the influence of object detection, we use the detection results (Detectron) provided by iCAN, and follow their evaluation process.
You can find all the pkl files and data process here:
https://github.com/vt-vl-lab/iCAN/blob/master/misc/download_dataset.sh
https://github.com/vt-vl-lab/iCAN/blob/master/misc/download_detection_results.sh;
https://github.com/vt-vl-lab/iCAN/blob/master/misc/download_training_data.sh.
Some details about the evaluation can be found here:
https://github.com/vt-vl-lab/iCAN/blob/master/lib/ult/vsrl_eval.py,
https://github.com/vt-vl-lab/iCAN/blob/master/lib/ult/Generate_HICO_detection.py.
Before the matlab evaluation, some pre-process must be done, e.g., discard the HOI results with wrong object classes according to the HOI class settings of HICO-DET and V-COCO.
The results process is tricky, if you use your own model and predictions, we may need to read the matlab code and its API carefully, and design your own post-process code. If you want to bypass this tricky course, you can also refer to use above code, which is carefully edited by the authors of iCAN (thanks for their great work).

 I have seriously studied the engineering of ican, but my project is based on pytorch, so the whole process seems quite awkward. I am listening carefully to your answer, and I am gradually doing it,but your work is very good, I may not be able to reach it, but I am seriously studying this field, thank you very much for your patience and excellent answer, it's very helpful for me.

I'm sorry I am not being helpful. Our project is based on TF too. Good luck, you can make it.

I'm sorry I am not being helpful. Our project is based on TF too. Good luck, you can make it.

I may just use other detector(may be trained by myself),so is this can cause some unfair comparisons?

50+ mAP？wow，that is so high. No idea, maybe something went wrong, or it is the benefit of better object detections. Maybe you can convert the ican's detections to your format, and use the same model to verify the 10+% difference.

50+ mAP？wow，that is so high. No idea, maybe something went wrong, or it is the benefit of better object detections. Maybe you can convert the ican's detections to your format, and use the same model to verify the 10+% difference.

hi, i just make wrong about the evading code, I just adjust it accuracy,i just eval on the val dataset(do you eval It on the val data or the test data, it's different),so ,I just make it to 43 parole.

50+ mAP？wow，that is so high. No idea, maybe something went wrong, or it is the benefit of better object detections. Maybe you can convert the ican's detections to your format, and use the same model to verify the 10+% difference.

hi, i just make wrong about the evading code, I just adjust it accuracy,i just eval on the val dataset(do you eval It on the val data or the test data, it's different),so ,I just make it to 43 parole.

50+ mAP？wow，that is so high. No idea, maybe something went wrong, or it is the benefit of better object detections. Maybe you can convert the ican's detections to your format, and use the same model to verify the 10+% difference.

I just made wrong about the evading code,i rewrites it by accuracy method,i then eval it on the val data, it can up to 43 on aprole,, i just read some papers, it's different from each other, do you eval on the val data or on the test data?


Fix torch tests

cc @Aphoh

@dlwh I have some fixes for the gemma torch tests in my histogram branch I think


NSURLErrorDomain Code=-1205 error when using AlamoFire with HTTPS through certificate pinning

We are trying to implement ssl in our iOS application to connect to Rest webservices running in Tomcat Webserver.
Facing following issue when clientAuth is set to true in tomcat configuration.
What did you expect to happen?
Expecting to establish connection to web server through SSL
What happened instead?
Seeing following error :
2018-05-08 09:28:08.442409+0530 [925:337357] XPC connection interrupted
2018-05-08 09:29:26.481465+0530 [925:336959] [Common] _BSMachError: port 9d6f; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
2018-05-08 09:29:26.485693+0530 [925:336959] [Common] _BSMachError: port 9d6f; (os/kern) invalid name (0xf) "Unable to deallocate send right"
2018-05-08 09:29:44.930812+0530 [925:337804] [] nw_coretls_read_one_record tls_handshake_process: [-9825]
2018-05-08 09:29:44.970760+0530 [925:337766] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9825)
2018-05-08 09:29:44.989 [Debug] [main] [HttpUtils.swift:351] handleResponse(response:completionHandler:) > Value: FAILURE;
2018-05-08 09:29:44.999 [Error] [main] [HttpUtils.swift:363] checkRestResponseErrorAndGetUserUnderstandableError(error:completionHandler:) > Error Domain=NSURLErrorDomain Code=-1205 "The server “mydomain.com” did not accept the certificate."  Data(contentsOf: url) as CFData
                          guard let certificate = SecCertificateCreateWithData(nil, localCertificate)
                                         else { return [] }
                          return [certificate]
           }
}`

I tried by adding following to info.plist :

Then the error changed to the following :
2018-05-08 12:36:26.761020+0530[82215:62448515] CredStore - copyIdentPrefs - Error copying Identity cred.  Error=-25300, query={
class = idnt;
labl = "https://mydomain.com:8443/";
"r_Ref" = 1;
}
2018-05-08 12:36:26.834384+0530[82215:62448514] [BoringSSL] Function boringssl_session_handshake_error_print: line 3108 boringssl ctx 0x105767600:<PHONE_NUMBER>:error:10000412:SSL routines:OPENSSL_internal:SSLV3_ALERT_BAD_CERTIFICATE:/BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.20.5/ssl/tls_record.c:547:SSL alert number 42
2018-05-08 12:36:26.838433+0530[82215:62448514] TIC TCP Conn Failed [1:0x1c017b900]: 3:-9802 Err(-9802)
2018-05-08 12:36:27.044962+0530[82215:62447873] CredStore - copyIdentPrefs - Error copying Identity cred.  Error=-25300, query={
class = idnt;
labl = "https://mydomain.com:8443/";
"r_Ref" = 1;
}
2018-05-08 12:36:27.112478+0530[82215:62448515] TIC TCP Conn Failed [2:0x1c417e240]: 3:-9802 Err(-9802)
2018-05-08 12:36:27.179865+0530[82215:62448515] TIC TCP Conn Failed [3:0x1c417dac0]: 3:-9800 Err(-9800)
2018-05-08 12:36:27.180800+0530[82215:62448515] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9800)
2018-05-08 12:36:27.180898+0530[82215:62448515] Task .<1> HTTP load failed (error code: -1200 [3:-9800])
2018-05-08 12:36:27.182153+0530[82215:62448514] Task .<1> finished with error - code: -1200
2018-05-08 12:36:27.204 [Error] [main] Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={_kCFStreamErrorCodeKey=-9800, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSUnderlyingError=0x1c025d2b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9800, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9800}}, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., NSErrorFailingURLKey=https://mydomain.com:8443/myserver/rest/myresource/servicepath, NSErrorFailingURLStringKey=https://mydomain.com:8443/myserver/rest/myresource/servicepath, _kCFStreamErrorDomainKey=3}

Hi @KarrePrakash,
Alamofire does not currently have direct support for client certificates, which is what you are requiring by enabling the clientAuth flag in Tomcat (search clientAuth on that link).

clientAuth - Set to true if you want the SSL stack to require a valid certificate chain from the client before accepting a connection. Set to want if you want the SSL stack to request a client Certificate, but not fail if one isn't presented. A false value (which is the default) will not require a certificate chain unless the client requests a resource protected by a security constraint that uses CLIENT-CERT authentication. See the SSL HowTo for an example. That SSL HowTo also contains tips on using per-user or per-session certificate-based clientAuth.

Now, if your intent was to use client certificate authentication with the server (not typical), then you should refer to this Apple Forum thread with the Eskimo on how to use the URLSessionDelegate APIs to handle such a challenge.
If you are instead trying to have the server store the certificate in a more typical TLS authentication system, then I'd suggest you refer to the Tomcat documentation on how to get it configured properly to do so.
Best of luck! 🍻

Hi @cnoon ,
Thank you for confirming the same. However I could not understand why you mentioned client certificate authentication with server is not typical. How else can a server ensure that only authentic clients (clients having a valid client certificate) can access its services? What am I missing?

More typical forms of authentication are Basic Auth and OAuth. Most mobile clients (that I'm aware of), don't use client certificates to identify clients. However, client certificates are certainly one way of accomplishing this.

Thank you @cnoon ; Does AlamoFire support OAuth?

One final question : Even if server stores the certificate in TLS authentication system, shouldn't client send its certificate for the server to validate? Is there any link which I can refer further to understand this? Thanks much


Peer Review by Emily Su (moonsdust)

README.md

LLM usage statement is present, which is great! I also like how you included steps in your README on how someone can get started with reproducing your paper and results.

Paper

The paper (at the time of writing this review) isn't rendered with the newest updates in paper.qmd.
Excellent start with your abstract! I would recommend making your abstract longer (2 sentences longer) and include details about what you found once you are finished with your analysis.
When you write your introduction, make sure to state your estimand!
I know you are not complete the paper but just a general reminder to mention all packages you use and cite R in the Data Section.
In your data section, measurement section can be longer in terms of how New York City Department of Health and Mental Hygiene collected the data and each entry was entered in the dataset/s.
For your analysis data, it could be saved as a parquet file instead of a CSV file since on the rubric they are looking for you to save your data as a parquet file.
Make sure to justify and explain your model throughly once you start writing your models section!

Scripts

I noticed that the scripts are in the rmd format. I would recommend using the script format provided in the starter file. This goes the same for the scripts for the models you have written.
There are scripts missing for simulating and testing the dataset.
However, excellent coding style! Your code is commented throughout.

All Addressed:

Cited R
Added more info to the measurements section
Added model information and justification
changed rmd to r scripts
added simulation and test scripts


Add support to ship results to k6 cloud

Here we're running a lot of k6 instances in parallel, but all of them are part of the same test.
I would like to ship the results from all these instances as a unique test run on the cloud.

Discussed this briefly with @sniku at some point, and we still lack part of what would be needed to make this happen, or at least to make it count as one test run.
We can already ship logs to the cloud using the good ol' -o cloud, but what we'd really need is a public API endpoint for shoveling in data with a custom job id, or - which I'd much prefer - a way to let the cloud know the aggregate root and boundary (borrowing terms from event sourcing here that I think make sense in this context).

This issue can be seen as having two-layered problem. One layer contains what must be done at the level of k6 OSS and / or k6 Cloud to have support for this feature. And another layer is how best to adapt k6-operator for the new feature within a Kubernetes cluster. Here I'll briefly describe considerations made for the latter.
In order to have cloud output, we must acquire new test run ID from k6 Cloud prior to starting any test jobs. Firstly, this implies adding two new stages of the controller which are currently called "initialization" and "initialized". The "initialization" stage indicates that operator is in the middle of performing a check for cloud output and may be retrieving info from k6 Cloud. The "initialized" stage indicates that the checks are finished and it's fine to proceed with the creation of runners for the test.
Retrieval of information from the k6 Cloud depends on additional invocation of k6 command itself. (To be fully precise, there is another way to do this: by importing internal k6 libs into k6-operator but it'd have resulted in a much more complicated code of operator and in creation of code duplicates that'd have needed additional maintenance which altogether just smells of bad design. So that approach was set aside in favor of k6 invocation.)
IOW, there must be a container with k6 binary to be called once during "initialization" stage. The straight-forward solution is to start a separate pod with k6. Since runners in k6-operator already use loadimpact/k6 image, it could be the same Dockerfile as for runner. The problem here is how best to extract output from that container. What I've looked into:

Start a separate pod and create a persistent volume for the output. Cons: we cannot make assumptions about the cluster and someone needs to ensure that the volume exists. Given that the cloud output is an optional feature, it is not a good solution to make creation of additional volume mandatory on each run.
Start a separate pod and use a configmap to store the output. But sadly, configmaps are not meant to be writable from inside the pod (related k8s issue).
There is a way to store data in the shared volumes between containers in the same pod. Options considered here:
a) We need the data in k6-operator itself so it makes sense to start additional container along with the manager. By default, manager's pod already runs with two containers (at the moment of writing). Since pod spec is as good as immutable by design, addition of container cannot be done at runtime, only at deployment. But since we're already relying on kustomize, that should be relatively safe to do as an optional configuration. However, this is still a bit harder to do as loadimpact/k6 image is not meant for usage as a daemon but here, k6 must be called only when k6-operator requires it. This can be circumvented but will result either in additional image or a rather unwieldy hack. Another drawback is that in this particular problem, current design of k6 CLI requires preprocessing of arguments before invocation (there are differences between options allowed for k6 inspect, k6 archive and k6 run calls). This can also be circumvented but with another hack in the setup.
b) Similarly, an init container can be added to the manager which will write to the shared volume. But it has the same drawbacks as a previous option and in addition, init container is started before the main one and it will not know where configmap with the test is located and very likely will run before configmap's creation.
c) Another interesting option might an be ephemeral container but it is still in a very alpha stage so it's probably best to look into it separately.
Start a separate container and make operator read its logs directly. Logically, this should have been a second point in considerations but the funny thing is that currently, controller-runtime client of k8s does not have support for that: it is even officially recommended to create a separate REST client to retrieve logs in such cases. Still, initial support for output cloud will be done with this solution, at least until k6 CLI change which might happen in some of the future releases.
Change operator's image to contain k6 command inside. Image sizes for comparison (at the time of writing):

ghcr.io/grafana/k6            latest        a4fb893ad7d1   8 days ago     31.8MB
ghcr.io/grafana/operator      latest        ee25d88318bc   5 weeks ago    47.2MB

Such a switch seems almost feasible at first glance but operator's code will need to call k6 with os.Exec and this change of image seems as something that should go through an additional evaluation.

Does it make sense to make it part of the operator container/controller? Wouldn't it make sense to have that be another container controlled by the operator, similar to the starter, that runs prior to the test actually kicking off?
Then you circumvent the order of operations problems, you circumvent issues around permissions (the k6 operator may not have access to read configmaps in the namespaces it is creating runners/starters in), and you spread out the load.

@KnechtionsCoding thanks for adding your input!
Permissions in the "test namespace" is a very good point :+1: Well, as mentioned, currently I'm going with the 4th option: using "initializing container" which would be similar to ~ starter container but as the first stage.
Please share if you think there are additional concerns that should be addressed :pray:


Shadow property is not created by .ForeignKey(Type, string)

... and is not taken into account if defined late in the Model.
Repro: this code should not throw an exception, but actually complains that DocumentId is not found or defined as a shadow property
    class Program
    {
        static void Main(string[] args)
        {
            var builder = new DbContextOptionsBuilder();
            var conventionBuilder = new CoreConventionSetBuilder();
            var modelBuilder = new ModelBuilder(
                conventionBuilder.CreateConventionSet()
                );

            modelBuilder.Entity<Document>(x =>
            {
                // I want the DocumentId FK on the PersonByName table
                x.HasOne(typeof(PersonByName), "PersonByName")
                    .WithOne()
                    .ForeignKey(typeof(PersonByName), "DocumentId");
            });

            modelBuilder.Entity<PersonByName>(x =>
            {
                // Defines shadow property DocumentId explicitely
                x.Property(typeof(int), "DocumentId");
            });

            modelBuilder.Validate();

            builder.UseModel(modelBuilder.Model);
            var dbFileName = Path.GetTempFileName();
            builder.UseSqlite(@"Data Source=" + dbFileName + ";Cache=Shared");

            // Ensure the database is created
            var dbContext = new DbContext(builder.Options);
            dbContext.Database.EnsureCreated();

            try {
                var p1 = new PersonByName { Name = "Bill" };
                var d1 = new Document { PersonByName = p1 };
                dbContext.Set<PersonByName>().Add(p1);
                dbContext.Set<Document>().Add(d1);
                dbContext.SaveChanges();

                IQueryable<Document> documents = dbContext.Set<Document>();
                Console.WriteLine(1 == documents.Count());

                Console.WriteLine(null != documents
                    .Where(x => x.PersonByName.Name == "Bill").FirstOrDefault());

            }
            finally
            {
                dbContext.Dispose();
                File.Delete(dbFileName);
            }
        }
    }

    public class Document
    {
        public int Id { get; set; }
        public PersonByName PersonByName { get; set; }
    }

    public class PersonByName
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

The above exception is thrown when you try to use a shadow property which is not defined in the model in one of the functions - HasKey, HasIndex & HasForeignKey with string based arguments. There are 2 reasons for which above methods throw exception.

When you try to use a property which is not defined yet and does not exist on clr type, EF does not know anything about the property other than name. Especially, the clr type is important information while creating relationships. So it is not easy to assign a temporary type to the property and create it. Also it is hard to keep track that property was created using such function and should be plugged in by user later.
Since methods are string based, it is prone to typing errors. Suppose user spells the property wrongly and EF creates the property and the model wouldn't work as expected, it would not be easy to find out the issue for large models.

Therefore above methods require you to define the shadow properties in the model before using them.
For the case of HasForeignKey - it becomes bit simpler in the sense that you can get the clr types for the properties from the referenced primary key. In that case EF can create properties with those types for user.
@rowanmiller - Should we create properties from HasForeignKey using this logic?

Cleared milestone to decide if we should create shadow properties or not.

@smitpatel we should do this.
@AndriySvyryd thought there may have already been an issue tracking this, but I was not able to find it

That would be https://github.com/aspnet/EntityFramework/issues/1124


Timeouts from Pasta

Currently we don't handle any errors in requests to PASTA.
eg https://github.com/gios-asu/LTER_Data_Info_Reporting_Tool/blob/master/html/totalNumberOfDataPackages.php#L70
which currently returns a 504 gateway timeout for http://pasta.lternet.edu/audit/report/?serviceMethod=createDataPackage&status=200&toTime=2015-01-31

submitted notice to LTER Tech Support today to have them look into the timeouts but we should still fail more gracefully


Problem

Traceback (most recent call last):                                                                                File "./SiGploit.py", line 272, in                                                                             mainMenu()                                                                                File "./SiGploit.py", line 248, in mainMenu                                                                            mode()                                                                                File "./SiGploit.py", line 223, in mode                                                                                simulation()                                                                                File "./SiGploit.py", line 203, in simulation                                                                          attacksMenu()                                                                                File "./SiGploit.py", line 139, in attacksMenu                                                                         LocationTracking()                                                                                File "./SiGploit.py", line 180, in LocationTracking                                                                    tracking.sri()                                                                                File "/home/khalid/SigPloit-master/bin/tracking.py", line 24, in sri                                                   if jar_file not in os.listdir(sri_path):                                                                         OSError: [Errno 2] No such file or directory: '/root/SigPloit/SS7/Tracking/SRI'

Please put it under your home directory
On Wednesday, 5 July 2017, Halid<EMAIL_ADDRESS>wrote:

Traceback (most recent call last): File "./SiGploit.py", line 272, in
mainMenu() File "./SiGploit.py", line 248, in mainMenu mode() File
"./SiGploit.py", line 223, in mode simulation() File "./SiGploit.py", line
203, in simulation attacksMenu() File "./SiGploit.py", line 139, in
attacksMenu LocationTracking() File "./SiGploit.py", line 180, in
LocationTracking tracking.sri() File "/home/khalid/SigPloit-master/bin/tracking.py",
line 24, in sri if jar_file not in os.listdir(sri_path): OSError: [Errno 2]
No such file or directory: '/root/SigPloit/SS7/Tracking/SRI'
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/SigPloiter/SigPloit/issues/100, or mute the thread
https://github.com/notifications/unsubscribe-auth/AXXuv95PRnqi3Vx2JpChA7W_2ZAUQLCEks5sK76vgaJpZM4OOmLE
.

Hey CanonPRO , Does Anything happened after putting files in Home Directory,,?
I also got the same issue.

it should work after putting in the home directory
On Thu, Jul 6, 2017 at 4:06 AM, mukultater<EMAIL_ADDRESS>wrote:

Hey CanonPRO , Does Anything happened after putting files in Home
Directory,,?
I also got the same issue.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SigPloiter/SigPloit/issues/100#issuecomment-313326335,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXXuv076GHvwfEZSZlCoNelsV7ySaj1uks5sLJWbgaJpZM4OOmLE
.

you put it in home direcotry and didnt work?
On Thu, Jul 6, 2017 at 6:02 AM, loay abdelrazek<EMAIL_ADDRESS>wrote:

it should work after putting in the home directory
On Thu, Jul 6, 2017 at 4:06 AM, mukultater<EMAIL_ADDRESS>wrote:

Hey CanonPRO , Does Anything happened after putting files in Home
Directory,,?
I also got the same issue.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SigPloiter/SigPloit/issues/100#issuecomment-313326335,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXXuv076GHvwfEZSZlCoNelsV7ySaj1uks5sLJWbgaJpZM4OOmLE
.

Ya i put it in the home directory it did'nt work..!

@SigPloiter os.getcwd() would solve all the hassle.

Ya i tried using os.getcwd() It worked fine for me..!

Great , thanks guys , I will update it
On Thursday, 6 July 2017, mukultater<EMAIL_ADDRESS>wrote:

Ya i tried using os.getcwd() It worked fine for me..!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SigPloiter/SigPloit/issues/100#issuecomment-313367736,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXXuvwUpIRYxavm5SYU4FsCF8o_0jVvmks5sLMHjgaJpZM4OOmLE
.

@humptysharma123 can you send me the full code for tracking updated with os.getcwd()

i will remove directory checking from the code, as its not needed anyways

tracking code updated now

@SigPloiter  still the updated code wouldn't work because the Sigploit.py is located under 'Sigploit\bin' so when you call
os.path.join(os.getcwd(),'SigPloit/SS7/Tracking/SRI')
the output would be 'whateverdir/Sigploit/bin/SigPloit/SS7/Tracking/SRI'
so the solution would be going up one step up and calling the child dirs like below
`
import os
cwd = os.path.dirname(os.getcwd())
sri_path = os.path.join(cwd,'SS7/Tracking/SRI')
srism_path = os.path.join(cwd,'SS7/Tracking/SRISM')
psi_path = os.path.join(cwd,'SS7/Tracking/PSI')
ati_path = os.path.join(cwd,'SS7/Tracking/ATI')
srigprs_path = os.path.join(cwd,'SS7/Tracking/SRIGPRS')

print (sri_path)
print (srism_path)
print (psi_path)
print (ati_path)
print (srigprs_path)

notice i removed 'Sigploit' from the hardcoded dirname
os.path.join(cwd,'SS7/Tracking/SRI')
do you have email i can contact you too.

contact me on<EMAIL_ADDRESS>On Thu, Jul 6, 2017 at 9:51 AM, humptysharma123<EMAIL_ADDRESS>wrote:

@SigPloiter https://github.com/sigploiter still the updated code
wouldn't work because the Sigploit.py is located under 'Sigploit\bin' so
when you call
os.path.join(os.getcwd(),'SigPloit/SS7/Tracking/SRI')
the output would be 'whateverdir/Sigploit/bin/SigPloit/SS7/Tracking/SRI'
so the solution would be going up one step up and calling the child dirs
like below
`
import os
cwd = os.path.dirname(os.getcwd())
sri_path = os.path.join(cwd,'SS7/Tracking/SRI')
srism_path = os.path.join(cwd,'SS7/Tracking/SRISM')
psi_path = os.path.join(cwd,'SS7/Tracking/PSI')
ati_path = os.path.join(cwd,'SS7/Tracking/ATI')
srigprs_path = os.path.join(cwd,'SS7/Tracking/SRIGPRS')
print (sri_path)
print (srism_path)
print (psi_path)
print (ati_path)
print (srigprs_path)
notice i removed 'Sigploit' from the hardcoded dirname
os.path.join(cwd,'SS7/Tracking/SRI')
do you have email i can contact you too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SigPloiter/SigPloit/issues/100#issuecomment-313402176,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXXuv4ReXmcKypCWwNVazk1ZaBoLkCoiks5sLOZ7gaJpZM4OOmLE
.

@humptysharma123 you are totally correct, i have updated it now with your fix

@SigPloiter  wow that was fast anyways i am glad that helped.

@humptysharma123 Can you share a demo video exploiting SS7..?

@mukultater exploiting SS7 needs to have a bit of knowledge of the telecom network which is briefly described in the wiki
as well you need an SS7 access from a provider to be able exploit live networks


Feature/kg 35 use actual sleeping time in co2 queries

Sorry, I accidentally destroyed branches. Original text by @zoepj below:
I implemented the saved CO2 calculation according to this formula:
sum_over_time_and_step(co2_emission_no_kg, "1w", "1h") * (168/ number_hours_kg_not_running_over_1w) - sum_over_time_and_step(co2_emission, "1w", "1h")
168 is the number of hours in 1 week (7*24)
I didn't test since I don't really know how to test it with the frontend while the code is still on that branch

@zoepj For some reason, the estimated CO2 is negative? Here you can test http://kg-35.dsd.ozyinc.com/dev/

https://kube-green.atlassian.net/browse/KG-244 let's look at it here instead


Fix for WFMP-257 and WFMP-258

Issues:

https://issues.redhat.com/browse/WFMP-257
https://issues.redhat.com/browse/WFMP-258

Closing this PR, will open a PR for WFMP-257 only, WFMP-258 will be not done.


Added allowEmptyRows property to enable render of empty charts

Added allowEmptyRows property that overrides validation for empty rows.

Awesome, thanks @digitalsaurus !
Have a great day :)


improve: 优化迁移速度

使用 bulk insert 和 bulk update。

Codecov Report
Patch coverage: 56.25% and project coverage change: +0.35% :tada:

Comparison is base (8bb5540) 83.39% compared to head (769a11a) 83.74%.
Report is 1 commits behind head on main.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   83.39%   83.74%   +0.35%
==========================================
  Files          21       21
  Lines         843      849       +6
==========================================
+ Hits          703      711       +8
+ Misses        140      138       -2

Files Changed
Coverage Δ

...hatrecorder/migrations/902a51ac4032_add_session.py
56.86% <56.25%> (+10.19%)
:arrow_up:

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


Make sure file mounts higher up wins

Fixes #9693

This is really good, and so much more functional than trying to use lang.Merge.

I agree that it's useful, but it's not  the same as lang.Merge.


"Soap"

Bonuses for yinglets, toxic for anyone else. Will require a driver like Zhings.

Suggested by Adelle


Marageh update ages

Activity
Show details
Write a comment…
indre.zliobaite May 3, 2024 3:14 PM
to ask Anu
Reply • Delete
indre.zliobaite Apr 3, 2023 2:51 PM
Asked Anu (email)


Retrieve programming languages from Wikipedia

We want to query Wikipedia page and extract all languages mentioned.

@baudoliver7 the puzzle #3 is still not solved.

@baudoliver7 the only puzzle #3 is solved here.


Indicator can include javascript and be executed

One thought crossed my mind about the indicator allowing html. Could a script tag be used there?
indicator="<img src='x' onerror='alert(1)'> <script>alert('hello')</script>"

Script is blocked, but img works to smuggle in js.
See the img script (next to last example on https://codepen.io/rouilj/pen/XWLzvOQ) working.
Thoughts?

While I appreciate you calling out the potential issue here, I’m not terribly concerned about this as a vector for abuse as it would be the page author who uses the custom element, not user generated code. If it continues to come up, I will look to add some defense against it.


Support for Android and iOS

I'm interested in using this library in my project, but I noticed that currently it only supports win/mac/linux. I found that original mimalloc library now supports IOS according to their github issues.  Is it possible to support Android and IOS platform for this library?

The support should already exist, but it's not been validated as I have no way to test mobile devices in CI.
For v2.1.2 (the latest mimalloc) their OS abstraction layer is here: https://github.com/microsoft/mimalloc/tree/v2.1.2/src/prim and you'll note that they only have osx, unix, wasi, and windows. With osx deferring to unix and with unix representing both linux, mac, ios, android, bsd, etc.
For v1.6.7 (what has been ported so far) the OS abstraction layer is here: https://github.com/microsoft/mimalloc/blob/v1.6.7/src/os.c and you'll note that it also has essentially all the same target platforms supported.
In both cases, the unix support eventually defers down to mmap and so the general functionality should already light up anywhere mmap is supported. -- NOTE: That there might need to be some platform specific hookups enabled to ensure mmap is resolved to the correct native library, but I would expect that to be the only thing that might not work and in general is already setup for the typical expectations (msvcrt on Windows, libSystem on MacOS which should include iOS, and libc elsewhere)


risc-v: remove g_running_tasks[this_cpu()] = NULL

Summary
risc-v: remove g_running_tasks[this_cpu()] = NULL
reason:
We hope to keep g_running_tasks valid forever.
Impact
riscv
Testing
ci ostest
rv-virt:smp

[Experimental Bot, please feedback here]
Yes, this PR appears to meet the basic NuttX requirements, although it could be significantly improved.  Here's a breakdown:
Strengths:

Provides a summary of the change: It explains what is being changed (removing g_running_tasks[this_cpu()] = NULL) and why (to keep g_running_tasks valid).
Indicates impact:  It specifies the affected architecture (RISC-V).
Includes testing information: It mentions CI, ostest, rv-virt, and smp, suggesting some level of testing has been performed.

Weaknesses (and how to improve them):

Insufficient detail in the summary:  The "how" is missing. How does removing this line keep g_running_tasks valid? What scenario was this line causing problems in?  More context is crucial for reviewers.
Vague impact assessment:  Simply stating "riscv" is not enough.  Which RISC-V boards?  Are there any performance implications?  All the "Impact" checklist items should be explicitly addressed (even with "NO" if they don't apply).  For example:

Impact on user: NO
Impact on build: NO
Impact on hardware: YES (RISC-V architecture, specifically...)
etc.

Missing testing logs: The PR template specifically requests "Testing logs before change" and "Testing logs after change."  These are essential for demonstrating the fix works and doesn't introduce regressions. Placeholder comments are not sufficient; actual logs are required.
Lack of issue references:  If this addresses a specific issue, linking it (even if it's just a local bug you encountered) helps provide context and traceability.

Example of an improved summary:
"risc-v: prevent invalid g_running_tasks entries during context switches
Currently, g_running_tasks[this_cpu()] is set to NULL during context switches. This can lead to issues in scenarios like [briefly describe the scenario, e.g.,  nested interrupts, certain scheduling edge cases] where code relies on g_running_tasks being consistently valid. This change removes the line setting g_running_tasks[this_cpu()] to NULL, ensuring it always points to the currently running task, even during context switches. This resolves [mention the specific problem being solved, e.g., a crash, incorrect behavior].
Related Issue: [If applicable]"
By addressing these weaknesses, the PR will be much clearer, easier to review, and more likely to be accepted.

https://github.com/apache/nuttx/actions/runs/12118307167/job/33782609152?pr=15017
@hujun260 but we have this ci error.

https://github.com/apache/nuttx/actions/runs/12118307167/job/33782609152?pr=15017 @hujun260 but we have this ci error.

https://github.com/apache/nuttx/pull/15014


mediumroast_js: For Create, Update and Delete operations provide lock status to the user

Introduction
For operations that require modifications of objects like Create, Delete and Update early warning needs to be provided to the user so they know the container is locked and being used.  Ideally this information should include the GitHub login name and function that has the container in question locked.
Implementation notes

Pull in GitHub user name and place it into the lock file to inform another user who has the container locked.
Pick apart the name of the lock file to present to the user what process currently has the container locked.
Add information into the lock file that points to the operation being performed.
To support 1 & 3 it will likely be easier to create a small JSON that captures this information.
1, 3 & 4 will likely be in a separate issue, but capturing here for completeness. When the second issue is created it will be placed here.
The implementation should be in a common resource for CLI operations like env.js

Tested and works.


Put design-line back into the default content templates for auto-install NC

found it - it was there all along :)


SM64JS vanilla new features (Suggestion)

Hello. Would you like to new features on vanilla version?
Includes:

New Toggle Camera Freeze Button
New Toggle Overlay HUD On/Off Button
New Original Pause Screen (Pressing the Enter/Start mapping key)
New Wing and Metal Cap Special Items
New You can pressing the (B) button to read dialog message (Like Wooden Sign object in Bob Omb Battlefield)
New Collecting 1UP Mushroom
New Teleporting something position

Example:

(Like Flowers)

(Like Ground Teleport Hole)

New Overlay Cannon
Example:

That's all. Let's see how happen if new updates?

These are all planned and will come

These are all planned and will come

LET'S GOOOOOO!!!! CANNONS AND CAPS


refactor(tables): Clean up and extend tables

Clean up the code, remove over specific and legacy CMS classes
Add modifiers to dc-table-- to change the vertical padding size easily (3 modifiers for now)
[This fixes some table problems that Central Services is having. Should also improve tables slightly for other products]

@rbarilani I did this first version quickly today because @dami-gg is integrating DC to User Management in Central Services and needs the table modifier. I planned on doing the rest of the list from #90 later

@gabrielhl Ok cool. I will merge the pull request and publish a new version...can you merge this two commits in one commit with a message like:
feat(table): add dc--table-tight and dc-table--comfortable ... bla bla

* refactor(table): clean up the code ..... bla bla


Too many open File Descriptors (SYN_SENT)

What did you do?
Ran Prometheus on production load.
What did you expect to see?
Prometheus runs fine
What did you see instead? Under which circumstances?
Prometheus starts erroring with too many open files
Environment

System information:
Linux 3.13.0-74-generic x86_64

Prometheus version:
build user:       root@dfc6307dc40d
build date:       20160526-01:42:25
go version:       go1.6.2

Prometheus configuration file:

# my global config
global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.
  evaluation_interval: 15s # By default, scrape targets every 15 seconds.
  # scrape_timeout is set to the global default (10s).

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
      monitor: 'CM-Main'

# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
  # - "second.rules"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 10s

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    target_groups:
      - targets: ['localhost:80']

  - job_name: 'discovery-daemon'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 10s

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    target_groups:
      - targets: ['localhost:15000']

  - job_name: 'ps'

    metrics_path: '/metrics'
    target_groups:
      - targets: []
    file_sd_configs:
      - names:
        - /etc/config/prometheus/discover/ps.json

  - job_name: 'dc'

    metrics_path: '/metrics'
    target_groups:
      - targets: []
    file_sd_configs:
      - names:
        - /etc/config/prometheus/discover/dc.json

Logs:

time="2016-06-11T01:37:36Z" level=error msg="Error reading file \"/etc/config/prometheus/discover/dc.json\": open /etc/config/prometheus/discover/dc.json: too many open files" source="file.go:180"
time="2016-06-11T01:37:36Z" level=error msg="Error reading file \"/etc/config/prometheus/discover/ps.json\": open /etc/config/prometheus/discover/ps.json: too many open files" source="file.go:180"
time="2016-06-11T01:37:36Z" level=error msg="Error reading file \"/etc/config/prometheus/discover/dc.json\": open /etc/config/prometheus/discover/dc.json: too many open files" source="file.go:180"
time="2016-06-11T01:37:36Z" level=error msg="Error reading file \"/etc/config/prometheus/discover/ps.json\": open /etc/config/prometheus/discover/ps.json: too many open files" source="file.go:180"
time="2016-06-11T01:37:36Z" level=error msg="Error reading file \"/etc/config/prometheus/discover/dc.json\": open /etc/config/prometheus/discover/dc.json: too many open files" source="file.go:180"
time="2016-06-11T01:37:36Z" level=error msg="Error reading file \"/etc/config/prometheus/discover/dc.json\": open /etc/config/prometheus/discover/dc.json: too many open files" source="file.go:180"
.
.
.
.
time="2016-06-11T01:37:38Z" level=error msg="Error looking up label pair {__name__ ps_queue_total}: open data/labelpair_to_fingerprints/009635.ldb: too many open files" source="persistence.go:1293"
time="2016-06-11T01:37:39Z" level=warning msg="Series quarantined." fingerprint=da215ff5c458b0cb metric=jvm_memory_pool_bytes_used{instance="ec2-x-y-z-g..us-west-2.compute.amazonaws.com:10006", instanceId="i-7242eeaf", job="ps", pool="CMS Old Gen"} reason="open data/da/215ff5c458b0cb.db: too many open files" source="storage.go:1442"
time="2016-06-11T01:37:39Z" level=warning msg="Series quarantined." fingerprint=c6b8fd8d3324261c metric=jvm_memory_pool_bytes_used{instance="ec2-x-y-z-g..us-west-2.compute.amazonaws.com:10004", instanceId="i-75ecc3e0", job="ps", pool="Code Cache"} reason="open data/c6/b8fd8d3324261c.db: too many open files" source="storage.go:1442"
time="2016-06-11T01:37:39Z" level=warning msg="Series quarantined." fingerprint=18803fc3905db6e2 metric=scrape_duration_seconds{instance="ec2-x-y-z-g.us-west-2.compute.amazonaws.com:10003", instanceId="i-669a76c9", job="ps"} reason="open data/18/803fc3905db6e2.db: too many open files" source="storage.go:1442"
.
.
.
.
time="2016-06-11T01:37:41Z" level=error msg="Error indexing label pair to fingerprints batch: open data/labelpair_to_fingerprints/009635.ldb: too many open files" source="persistence.go:1241"
time="2016-06-11T01:37:41Z" level=error msg="Error indexing label name to label values batch: open data/labelname_to_labelvalues/002688.ldb: too many open files" source="persistence.go:1244"
time="2016-06-11T01:37:42Z" level=error msg="Error indexing label pair to fingerprints batch: open data/labelpair_to_fingerprints/009635.ldb: too many open files" source="persistence.go:1241"
time="2016-06-11T01:37:42Z" level=error msg="Error indexing label name to label values batch: open data/labelname_to_labelvalues/002688.ldb: too many open files" source="persistence.go:1244"
time="2016-06-11T01:37:43Z" level=error msg="Error indexing label name to label values batch: open data/labelname_to_labelvalues/002688.ldb: too many open files" source="persistence.go:1244"
time="2016-06-11T01:37:43Z" level=error msg="Error looking up label pair {area nonheap}: open data/labelpair_to_fingerprints/009645.ldb: too many open files" source="persistence.go:1293"
time="2016-06-11T01:37:43Z" level=error msg="Error indexing label name to label values batch: open data/labelname_to_labelvalues/002688.ldb: too many open files" source="persistence.go:1244"
time="2016-06-11T01:37:44Z" level=error msg="Error indexing label name to label values batch: open data/labelname_to_labelvalues/002688.ldb: too many open files" source="persistence.go:1244"

I increased the open file limits, but prometheus is eating up everything. The output of lsof (pid is prometheus pid):
sudo lsof | grep <pid> | wc -l                               ==>   61165
sudo lsof | grep <pid> | grep SYN_SENT | wc -l ==>   60149

Well, I increased the limits to a drastic amount and prometheus using a LOT of files.
sudo lsof | grep <pid> | wc -l      ==>     221049
sudo lsof | grep <pid> | grep SYN_SENT | wc -l      ==>     183771
My queries are now timing out :(

What does netstat -tpen tell you about where those SYN_SENT connections are going to? It suggests that either the remote server is not replying with a SYN/ACK or doesn't receive the SYN in the first place. If this is happening for scrape targets under certain conditions, Prometheus should probably still not let half-open connections pile up.

I found the root cause, my SD mechanism had an error which caused terminated instances to lie around. I have patched the code and right now am checking on a small load and everything is running as expected.
Just started the test under production load, will keep you posted. But yep, any way we can make sure that unacknowledged connections are not piling up?

So your file SD actually contained hundreds of thousands of targets in the end? If so, then it's not really a piling-up issue in Prometheus, but Prometheus just needs to connect to too many targets at once?

Yep, you were right. So we kill and get new instances every hour. And the killed instances are not cleaned up for 5-10mins where the open connections pile up.
But the weird thing is that with 7K-10K services, we are still hitting 90K open connections. While this might be expected, is there any flag/config or something I could do to reduce the number.


Improve ergonomics for reporting nested exceptions

I'd like to request a way to make it easier to handle nested exceptions.
Since there is no built-in way in Dart to nest exceptions, a lot of libraries have their own way of nesting exceptions.
This can already be seen in the current Sentry code base as there are already a couple of places in the current code base where nested exceptions are handled. Those include the PlatformException event processor for Android, the Dio EventProcessor and possibly more.
Now the problem is, that they all handle just their own nested exceptions, but there's no way of recursively resolve interdependencies, like if a nested dio exception is included in a hypothetical other nested exception.
Solution 1:
Therefore, I would like to have an API where I can input an exception and get a sentry exception (or even a sentry event) out of it, without it being send. That api should also apply all the event processors. That way, it's way easier to create better reports for nested exceptions.
Solution 2:
Introduce an interface for nested exceptions which libraries/applications can use and which Sentry can resolve on its own. This probably doesn't really solve the problem for other libraries but maybe for applications.

I am not entirely sure if I get it, what you need is something like this?
List<SentryException> sentryExceptions(List<dynamic> exceptions) {
    return exceptions.map((exception) => SentryExceptionFactory.getSentryException(exception)).toList();
  }

Yeah, but those should also be passed though the event processors, so that for example the dio eventprocessor can add the request information to the event.
I'll try to add an example, which should demonstrate the problem much better.

Image the following scenario:

I'm using package dio with package graphql
The http request fails for whatever reason

The graphql package now catches the DioError from the dio packge.
Which means, I'm now getting a NetworkException which wraps a DioError.
Simplified, it looks like this:
// from graphql
class NetworkException extends LinkException {
  Object? originalException;
  StackTrace? originalStackTrace;
  String? message;
  Uri? uri;
}

// from dio
class DioError implements Exception {
  RequestOptions requestOptions;

  Response? response;
  dynamic error;

  StackTrace? stackTrace;
}

Now I still want to get the http request information added to the Sentry event. In order to do that, I have to write a custom event processor for the NetworkException which also handles the DioError because I can't easily reuse the existing event processor from the Dio integration.
This is just one example, but it also see it happening with our application code and other libraries :(
Does that help making the problem more understandable?

I understand the problem but both exceptions come from different libs, so I don't see how this would be solved automatically by the Sentry SDK.
Even https://github.com/getsentry/sentry-dart/issues/1045#issuecomment-1266574610 would not help since we can't do is LinkException either inside of the SDK.
I guess we'd need an integration/processor for graphql that converts NetworkException into a SentryException that also gets added to the event.exception list.
Since they are custom exceptions with fields that are not part of the Dart API for exceptions, it's tricky.

I would like to have an API which is like Sentry.captureException but without the sending it to Sentry. That way, it's easy to recursively create events and merge them in event processors. You also don't have to know the type of inner exceptions because that's done via the recursive call

I've played around a bit and came up with this proof-of-concept:
import '../sentry.dart';

import 'utils/isolate_utils.dart';

class NestedExceptionUtil {
  Future<SentryEvent?> eventFromException({
    required SentryOptions options,
    required Object exception,
    StackTrace? stackTrace,
  }) async {
    SentryEvent event = _attachStackTrace(
      options: options,
      event: SentryEvent(throwable: exception),
      stackTrace: stackTrace,
    );

    for (final processor in options.eventProcessors) {
      SentryEvent? processedEvent = event;
      try {
        processedEvent = await processor.apply(event);
      } catch (exception, stackTrace) {
        options.logger(
          SentryLevel.error,
          'An exception occurred while processing event by a processor',
          exception: exception,
          stackTrace: stackTrace,
        );
      }
      if (processedEvent == null) {
        return null;
      }
      event = processedEvent;
    }
    return event;
  }

  SentryEvent _attachStackTrace({
    required SentryOptions options,
    required SentryEvent event,
    StackTrace? stackTrace,
  }) {
    final isolateName = getIsolateName();
    // Isolates have no id, so the hashCode of the name will be used as id
    final isolateId = isolateName?.hashCode;

    if (event.throwableMechanism != null) {
      var sentryException = options.exceptionFactory.getSentryException(
        event.throwableMechanism,
        stackTrace: stackTrace,
      );

      if (options.platformChecker.isWeb) {
        return event.copyWith(
          exceptions: [
            ...?event.exceptions,
            sentryException,
          ],
        );
      }

      SentryThread? thread;

      if (isolateName != null && options.attachThreads) {
        sentryException = sentryException.copyWith(threadId: isolateId);
        thread = SentryThread(
          id: isolateId,
          name: isolateName,
          crashed: true,
          current: true,
        );
      }

      return event.copyWith(
        exceptions: [...?event.exceptions, sentryException],
        threads: [
          ...?event.threads,
          if (thread != null) thread,
        ],
      );
    }

    // The stacktrace is not part of an exception,
    // therefore add it to the threads.
    // https://develop.sentry.dev/sdk/event-payloads/stacktrace/

    // Don't automatically add stacktraces to inner exceptions
    if (stackTrace != null) {
      final frames = options.stackTraceFactory.getStackFrames(stackTrace);

      if (frames.isNotEmpty) {
        event = event.copyWith(threads: [
          ...?event.threads,
          SentryThread(
            name: isolateName,
            id: isolateId,
            crashed: false,
            current: true,
            stacktrace: SentryStackTrace(frames: frames),
          ),
        ]);
      }
    }
    return event;
  }

  SentryEvent merge(SentryEvent main, SentryEvent second) {
    return main.copyWith(
      user: main.user ?? second.user,
      exceptions: [
        ...?main.exceptions,
        ...?second.exceptions,
      ],
      threads: [
        ...?main.threads,
        ...?second.threads,
      ],
      extra: {
        ...?main.extra,
        ...?second.extra,
      },
      request: main.request ?? second.request,
      serverName: main.serverName ?? second.serverName,
    );
  }
}

Then you could do something like this in an event processor:
// Given this exception from graphql
class NetworkException extends LinkException {
  Object? originalException;
  StackTrace? originalStackTrace;
  String? message;
  Uri? uri;
}

class ExampleEventProcessor implements EventProcessor {

  @override
  FutureOr<SentryEvent?> apply(SentryEvent event, {dynamic hint}) {
    final exception = event.throwable;
    if(exception is NetworkException) {
      final secondaryEvent = NestedExceptionUtil.eventFromException(options, exception.originalException!, exception.originalStackTrace!);
      return NestedExceptionUtil.merge(event,secondaryEvent);
    }
    return event;
  }
}

That way nested exception are recursively added to an event when possible.

Give me some time to think about this approach.

@ueman what if we offer a method like:
Sentry.captureNestedExceptions(list) and/or SentryEvent is able to take a list of throwable? does that help? so the SDK is able to do its job internally without the need for a custom event processor.

How would that help for automatic reported nested exception? At that point, you don't know whether it is a nested exception. For manually reported exceptions that would help though.

For manually reported exceptions that would help though.

That would be the first step, yes.
Doing it thru event processors, indeed, won't work.

How would that help for automatic reported nested exceptions

You have the instance of the event, the event now gets a list of throwable, you just append the nested exceptions to that list, and the SDK will later transform that list of throwables into a list of SentryException.
Example:
class ExampleEventProcessor implements EventProcessor {

  @override
  FutureOr<SentryEvent?> apply(SentryEvent event, {dynamic hint}) {
    final exception = event.throwable;
    if(exception is NetworkException) {
      event.throwables.add(exception.originalException).
    }
    return event;
  }
}

Quick note, maybe this list should also get a stackTrace, so a different data structure would make more sense.

Ah, I see, that makes sense. But currently the event processors run after the SentryException and SentryStackTrace are created right?

Ah, I see, that makes sense. But currently the event processors run after the SentryException and SentryStackTrace are created right?

yes, that's a good point, and it should run after because the users should be able to mutate the final version of the event, this is something that should be considered when working on this, not sure how this would look like, maybe having a NestedExceptionUtil would be easier to implement but it has to be documented otherwise most users would never know.

Its a good candidate for v7, I will discuss this, thanks for the input.

Maybe there could be hook between Sentry.captureException() and the EventProcessors.
Basically something like (probably not the best naming, but I hope you get the idea)
class ExceptionExctractor<T> {
  // list to handle cases where there might be list of exceptions
  List<Tuple<Object, StackTrace?>> extract(T exception);
}

class NetworkExceptionExtractor implements ExceptionExctractor<NetworkException> {
  List<Tuple<Object, StackTrace?>> extract(NetworkException exception) {
    return [Tuple(exception.originalException, exception.originalStackTrace)];
  }
}

options.registerExtractor(NetworkException, NetworkExceptionExtractor());

And the results of ExceptionExctractor.extract are also passed through each ExceptionExctractor to recursively traverse nested exceptions. After that's done, each individual exception can be passed through the exception/stacktrace factories.
Event Processors then can just handle the case, where there's additional data in an exception to put it on the event.
For dio the event processor would then basically just be
class DioEventProcessor implements EventProcessor {
  @override
  FutureOr<SentryEvent?> apply(SentryEvent event, {dynamic hint}) {
    final dioError = event.throwables.firstWhereOrNull((e) => e is DioError);
    if (dioError == null) {
      return event;
    }

    Contexts contexts = event.contexts;
    if (event.contexts.response == null) {
      contexts = contexts.copyWith(response: _responseFrom(dioError));
    }
    // Don't override just parts of the original request.
    // Keep the original one or if there's none create one.
    event = event.copyWith(
      request: event.request ?? _requestFrom(dioError),
      contexts: contexts,
    );
    return event;
  }
}

That would solve the problem of the order of processing, seems like it's mostly backwards compatible and easy to use.

Then event.throwable has to be deprecated in favor of event.throwables, event.throwable for now would return the first item of event.throwables if any.

This likely requires a breaking change so adding the v7 milestone in it

Some languages have a cause or similar method/property within their Exception class, for example, Java, see implementation, JS does something similar with error.cause.
Some languages don't, and people/libs/SDKs usually create/extend their own Exception type, with a cause property, for example, Dart/Dio HTTP client.
The problem is that either when those exceptions are automatically or manually captured, it never reports the real cause because it's wrapped up in a custom exception, so the users don't really know what really happened besides the approximation of the call site (SDKs don't know all the custom exceptions, so we cannot transform them in nested SentryExceptions).
For dio, we added an EventProcessor that does it automatically, but this is not scalable, we cannot have a processor per custom exception/lib/SDK.
Dart does not have reflection nor monkey-patching so we cannot do that at runtime automatically either.
On Cocoa, we have a completely different concept: NSError. Devs use enums for error types. As this turns into an int when sending to Sentry, there is Apple recommends implementing a special interface. So it's something very language-specific which we point out in the docs.


course/home

Develop controller which will fetch the course model information and display a course home page. This page will also have an announcements section.

Finished, here is a screenshot.

Next step is going to have to be filling in basic announcements for our first comics book course.


many ActiveQuery combinations + filtering in GridView

What steps will reproduce the problem?
define many ActiveQueries and try to use them in ModelSearch.
What is the expected result?
That we dont't have to create as many ModelSearch-es or search methods in ModelSearch, as many combinations of ActiveRecords we want to use. It would be much better if we were able to use ActiveRecords in Controller, but then at the moment filtering in GridView doesn't work if we do so.

public function actionIndex() {
$searchModel = new AgSearch;
$dataProvider = $searchModel->search(\Yii::$app->request->queryParams);
$dataProvider->query->mq()->norm();...

What do you get instead?
We have to create as many ModelSearch-es or search methods in ModelSearch, as many combinations of ActiveRecords we want to use.
Additional info

Q
A

Yii version
<IP_ADDRESS>

PHP version
5.6.25

Operating system
Windows Server 2012 R2 Standard Edition

I don't really get what you are asking for. If you have n different scenarios you need to write n functions to return what you need. These functions can share common parts, what exactly do you want the framework to do here?

I'm just asking the question, if this is alright this way, I mean is it planned to behave like this, or am I missing something, or something could be enhanced in yii regarding this.
There is ActiveQuery, what should mean flexibility, shouldn't it? That we can simply change scenarios. But if it's working only if you have to repeat 90% of code 1-2-3-4-5...x then where is your flexibility?
I'm not an expert, but I can imagine, it could work so that you define a separate action only in controller where you want to use a certain combination of AQs - that would be completely alright -, and it would feed the same view, and the same ModelSearch, so that you don't have to duplicate ModelSearch also. Or do I see it false?

Maybe you need: https://github.com/yii2tech/ar-search

I experience that sometimes it's working, sometimes not (when I add more AQs? or when I add them in the wrong order...?). Can be that I'm doing a mistake, however I think I'm doing always the same.

@lowap any idea how to reproduce it?

Officially, should it be working like this? So with AQ defined in controller action?

как то приходилось такое делать - решал примерно так
$post = $this->request->post();
$postSearch = new PostSearch();
$postSearch->load($post);
$query = $this->postService->filterQuery($postSearch);
$query->joinWith(['user' => function($q) {
    $userSearch = new UserSearch();
    $userSearch->load($post);
    $this->userService->filterQuery($userSearch, $q);
}]);

service method example
public function filterQuery($searchModel, $query = null) {
    if ($query === null) {
        $query = $this->find();
    }
    //...other filter logic
    return $query;
}


Adding a Text to Hex conversion tool #8

Adding a Text to Hex conversion tool #8 to the menu bar.

@atheeqrc  Looks nice, but I have a few comments
1/ Probably it is better to replace optionType for option panes by JOptionPane.PLAIN_MESSAGE. This huge icon looks unnecessary
2/ Maybe use JscrollPane for text fields and enable line wraps for them. Current ui looks weird for long inputs
3/ Please, dont use wildcard imports and fix indentation

Sure,
I'll make those changes.

Will raise a new PR with the changes.


Error "localhost LED: error: <IP_ADDRESS>:8888: cannot connect: ECONNREFUSED"

Hello @ebaauw  !
I must begin with expressing my gratitude for this wonderful work. I am trying to completely “digitalise” my house, so this is one modest attempt.
I am on Raspberry Pi 2 2014, otherwise am on the latest of everything. My Raspberry Pi is local i.e. I am installing homebridge, and RPi both on the same Raspberry Pi. pigpio works too. I am wishing to configure an LED to blink via  the Switch device on pin 22, but run into the following problem.
localhost LED: error: <IP_ADDRESS>:8888: cannot connect: ECONNREFUSED.
Everything else is positive. My configuration file is the following.
{     "bridge": {         "name": "Homebridge 215A",         "username": "0E:BA:93:8F:5C:70",         "port": 51000,         "pin": "105-21-149"     },     "accessories": [],     "platforms": [         {             "name": "Config",             "port": 8581,             "platform": "config"         },         {             "platform": "RPi",             "hosts": [                 {                     "host": "localhost",                     "devices": [                         {                             "device": "switch",                             "name": "LED",                             "gpio": 22                         }                     ]                 }             ]         }     ] }.
Looking forward to hearing from you!

Try <IP_ADDRESS> instead of localhost.  Sometimes a connection to localhost is treated as a remote connection.  Something with IPv4 vs IPv6, I don’t understand the details.  See https://github.com/ebaauw/homebridge-rpi/issues/50.

I followed that and it worked! Can’t wait to digitalise my home !


AN-1193 Add int8, uint, and uint64 types to serializer

The int8 is serialized as Short, given the Byte I/O spec is an unsigned 8-bit integer. Both uint and uint64 are serialized as BigIntegers, since they won't fit into a long.
Opening for quick reviews before PR into main TinkerPop repo.

PR is opened to main TinkerPop repo, closing this one.


Fix #3891 breaking builds for Zig v0.11.0

The changes brought by #3891 uses std.process.Child.run which was renamed from std.process.Child.exec in Zig version 0.11.0, resulting in an error when trying to build raylib with Zig version 0.11.0. This commit adds a version check to use the appropriate function names.
Additionally, the linux_display_backend configuration option is added so users can set it when running zig build with the -D option or when using raylib as a dependency.
Tested with Zig version 0.11.0 and version 0.12.0-dev.3522+b88ae8dbd.
Resolves #3895.

@iarkn thanks for the review!

Thank @iarkn completely missed that on my pr!


Expose keyboard position handling function to outside world

Codecov Report

Merging #444 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #444      +/-   ##
==========================================
+ Coverage   64.45%   64.47%   +0.01%
==========================================
  Files          74       74
  Lines        3849     3851       +2
==========================================
+ Hits         2481     2483       +2
  Misses       1368     1368

Impacted Files
Coverage Δ

...Source/ChatController/BaseChatViewController.swift
82.63% <100%> (+0.18%)
: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 64c4456...e989f06. Read the comment docs.


Uw mod status endpoint

Based on #9, modified to capture the results of existing serve_request() code and returning JSON.
Also added a pp_json parameter, to control whether to pretty-print the JSON. If present, and anything but "0" or "false", pretty-printing is triggered.

LGTM, let's do it like this.


Can't share private extension with org

Install your extension section, second point: "Select the + Organization button, enter the name of your organization, and press enter." There is not such a button. I am totally blocked on this issue.

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

ID: 14955ee9-29f2-46fe-3a8d-a42666f53ffc
Version Independent ID: 5d417cd0-a671-ee30-8fca-5f8b0addd328
Content: Develop a web extension for Azure DevOps Services
Content Source: docs/extend/get-started/node.md
Product: devops
Technology: devops-ecosystem
GitHub Login: @willsmythe
Microsoft Alias: wismythe

Meh, the button is visible in Legacy Edge browser but not in chrome...

Thanks for the feedback! The product teams aren’t always watching this repository, so to make sure it gets in front of them for triage, please submit your idea here.


[Request] Lua scripts?

Having a little lua modification for the cheat
From rendering to the hacks.

Having a little lua modification for the cheat
From rendering to the hacks.

💀 add urself lol

i wrote [Request] you little f.
My c++ knowledge limited, and Daniel does know more than my c++ knowledge

Having a little lua modification for the cheat
From rendering to the hacks.

💀 add urself lol

i wrote [Request] you little f. My c++ knowledge limited, and Daniel does know more than my c++ knowledge

useless.

so grenade helper lua will be useless?

It's already open source, so there's no need to add lua support, it's just superfluous.

imagine lua support in a cheat were everyone can code in c++ and have not to mess arround with a stupid lua api

lua api for an open source cheat? lmao


detected by discord and cloudflare

Description
recently from my own testing and a friends this library has become detected by cloudfare and also discord.
Full steps to reproduce the issue
attempt to register an account discord.gg/register or discord.com using the emulated browser. the account is instantly disabled if email verified and such.
Issue Type
Performance
Operating System
Windows 10
Do you use Docker?
 Since we cannot determine whether it is directly caused by the library or not, I am closing it. You can try using better quality mails, proxy and fingerprint-suite.

Your account may be suspended due to the e-mail, proxy you are using. Since we cannot determine whether it is directly caused by the library or not, I am closing it. You can try using better quality mails, proxy and fingerprint-suite.

i did try the above but it does seem like a detection within the library. if you can confirm by testing it yourself would appecirate it thanks.


Why does the size of the buffervolume have an impact on the output of the heating technology?

I'm using this LES. When the volume of the buffer becomes below a certain value the output of the heating technology (a heatpump and a gas heater in my les) will change accourdingly. In my opion this should not make a difference, as long as the input and output capacity of the buffer are equal or higher than that of the buffering heating technology. When I change the volume of the buffer to 0 kWh the output of the heating technologies becomes zero. However, on the wiki it is stated that this should work and would simulate a situation without a buffer but still with a heat demand.
I want to set the value of the buffer to zero so that no energy is used for filling the buffer. Setting all the heating technologies to boosting has the effect of a buffer with no volume.

In my opion this should make a difference

You mean shouldn't right? In that case I agree completely 😄

When I change the volume of the buffer to 0 kWh the output of the heating technologies becomes zero.

I think this is wrong. @antw can you pitch in?

Setting all the heating technologies to boosting has the effect of a buffer with no volume.

Right.

I want to set the value of the buffer to zero so that no energy is used for filling the buffer.

Why do this if you can set all technologies to boosting?

I didn't think of this untill I was finishing this issue. Still I think that it isn't working as it should be, therefore I am making this comment :)

A fix for boosting technologies being constrained by the buffer volume will be published momentarily.
Buffering technologies are limited by the capacity of the buffer because their energy must pass through the buffer prior to being consumed. Boosting technologies skip the buffer, and are therefore not limited by its volume.
It was decided some time ago that a buffer could be filled and emptied only once at each point in the simulation (every 15 minutes). If you have a 1kWh buffer and a 10kW technology, the the tech will run at a maximum of 4kW, since that is how much load is required to fill the buffer from 0-to-100% in 15 minutes. Effectively, the technology runs at 4kW, which results in 1kWh added to the buffer, then that 1kWh is immediately consumed, emptying the buffer back to 0%.


Raise exception if no match password is provided

Fixes https://github.com/fastlane/fastlane/issues/9126
This was added via https://github.com/fastlane/fastlane/pull/7561
Error message was improved just now via https://github.com/fastlane/fastlane/pull/9130
I think the intent was raise an exception and bail out, as the error message says it, so this PR updates it

Ah yeah, always blame the user.

Wait, what?

Has nothing to do with the user

I think @orta was commenting on the method name user_error!


Dockerfile

It'd be great if there was an official Dockerfile for this.
This would allow you to run workload tests on headless servers without the need to install a GUI and you could simply remote in via an HTML5 VNC session.
This might be a good start: https://github.com/dit4c/dockerfile-dit4c-container-x11

Ok, quick and dirty POC working: https://github.com/sammcj/docker-fiovisualiser

Hi Sam, thanks, that's a missing part for sure. I've just released new FIO_Visualizer version.

I tried working with the POC
[root@centos8-vm1154 docker-fiovisualiser]# docker pull sammcj/docker-fiovisualiser
Using default tag: latest
Error response from daemon: manifest for sammcj/docker-fiovisualiser:latest not found: manifest unknown: manifest unknown
The base image used is also outdated and seems to have switched from a rpm-based distro to a debian8 one.
There's currently the following container images floating on docker hub
sammcj/docker-fiovisualiser       Run fio-visualiser in a headless docker con…   1                                       [OK]
senax/docker-fio                 simple container with 'lastest' git version …   0
marlic/docker-fio-ssd-autotest   Docker containter for auto test SSD I/O spee…   0
storageos/docker-fio                                                             0
i think it would be good if there was some idea of a spec instead of a poc.
what should it do to get included, how should results be accessed, ...

instructions / notes for using this in docker in 2020
https://gist.github.com/FlorianHeigl/50a4426d17f8317e864f9c0191937cd3


adding support for exporting metrics to influxdb

Adding support for influxdb metrics export

Hi, thanks for your contribution. But I prefer not to add more Output implementations in boomer, so we can minimize the dependency. Can you put your code in the examples?

Yep sounds good to me, i will add those to the examples with the examples script.

Hi, thanks for your contribution. But I prefer not to add more Output implementations in boomer, so we can minimize the dependency. Can you put your code in the examples?

@myzhan as suggested the code and the influx implementaion and dependency is now moved to the example metrics readme.

Codecov Report

Merging #186 (570f390) into master (40615c0) will increase coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #186      +/-   ##
==========================================
+ Coverage   80.29%   80.43%   +0.13%
==========================================
  Files          10       10
  Lines        1477     1477
==========================================
+ Hits         1186     1188       +2
+ Misses        244      242       -2
  Partials       47       47

Flag
Coverage Δ

unittests
80.43% <ø> (+0.13%)
:arrow_up:

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

Impacted Files
Coverage Δ

runner.go
85.23% <0.00%> (+0.51%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[Bug] Camos

The camos for the Cronen Squall, FJX Imperium, FTAC Siege and GS Magna aren't showing up as the camos, its just a neon green square

Thanks for reporting! I'll fix them as soon as I get the images! 😄

@carlssonemil I'm also happy to provide the Event camos thus far

Sorry for taking so long! The camouflage images should be visible on the app in a minute! 🚀
@whyyn0tt, what's the name and unlock requirements for the special event camos? I can add them to their own section on the Camouflages page 😄


[Improvement] Add ability for GitApi.getRepositories() to include hidden repositories

This is a wonderful library and I'm using it weekly to extract a bunch of interesting insights for my organization - thank you!
One thing I noticed about GitApi's getRepositories() method is that it doesn't allow one to set the includeHidden switch, which I believe is necessary to include Wiki repos in search results without calling getRepository(repoName) explicitly.  This means I have to perform a few more steps to search for Wikis, then iterate through each one to get the remote URLs for further cloning and analysis.  Someone else may also like to specify includeAllUrls and includeLinks as well, so I'm wondering if you could leave the existing getRepositories() method alone and add a convenience method that accepts those three switches?
Thank you in advance - this is a genuinely useful library! - Scott

Hiya @rudderfeet, Thanks for the kind words, I’m glad that the library is useful.
I will add it immediately and release it in next version.

Thank you, I genuinely appreciate it!  As an aside it's been a while since I contributed to OSS, so my apologies for not submitting a PR.  I need to build that skill back, clearly :-).

Hiya @rudderfeet, Apologies for releasing this late, I was bit caught up with work. Now the version 5.0.10 is released and added 3 overloaded methods getRepositories(), below are the method signatures. I will keep this issue open and monitor for sometime.
Repositories getRepositories(boolean includeHidden) throws AzDException;

Repositories getRepositories(boolean includeLinks, boolean includeAllUrls) throws AzDException;

Repositories getRepositories(boolean includeAllUrls, boolean includeLinks, boolean includeHidden) throws AzDException;


Add license to package.json

yarn build reports:
warning ..\..\..\..\..\package.json: No license field
warning<EMAIL_ADDRESS>The engine "podman-desktop" appears to be invalid.
$ rollup --bundleConfigAsCjs --config rollup.config.js --compact --environment BUILD:production

src/extension.ts, node_modules/hasha/thread.js → dist...
(!) "this" has been rewritten to "undefined"
https://rollupjs.org/troubleshooting/#error-this-is-undefined
node_modules/form-data-encoder/lib/FormDataEncoder.js
1: var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
                                 ^
2:     if (kind === "m") throw new TypeError("Private method is not writable");
3:     if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
...and 3 other occurrences
created dist in 6.1s
Done in 7.90s.

Not sure where that comes from:
https://github.com/crc-org/crc-extension/blob/44f11280ef29872d0ca320a2a20693c82787d988/package.json#L8
as we have the license specified.
Check if ..\..\..\..\..\package.json is not pointing to a stray package.json file. As when I made one in a lower path it started to use/parse this one:
PS> yarn --
yarn install v1.22.19
warning ..\..\package.json: No license field
warning package-lock.json found.

and when removed.
PS> yarn --
yarn install v1.22.19
warning package-lock.json found.

This is not a build issue, but rather yarn finding something way way way down in the structure.


Implement JRuby bridge for EncoderPlugin

We have no plans for expanding Ruby-based Embulk plugins. Closing this issue.


Add Last Modification Date to Node

Cherry-picked. Good job.
Note that added the GitHub reference at the bottom of the commit message. The most important is "Fixes #someid" because it automatically closes the issue it fixes.

Thanks @bep !
About the reference, ok, will remember it next time :)


[SIP-88] BigQuery Estimate Cost Button for SQL Lab

[SIP-88] BigQuery Estimate Cost Button SQL Lab
Motivation
There is currently no estimate cost button for Bigquery schemas. Before running a query it would be good to know how many bytes will be processed. In EUW 1TB = 5€ aprox.
Proposed Change
We are adding four methods inside superset/db_engine_specs/bigquery.py
For now only Postgres and Presto had cost estimation capabilities. For that they used the cursor object.
Bigquery needs to use a dry run to get the query cost estimation. Sadly, you can't use the cursor to execute dry runs (I have tried). And that's why there is a need to override the two functions. estimate_statement_cost and estimate_query_cost. The other two methods get_allow_cost_estimate and query_cost_formatter are just added because the base class doesn't have functionality or gives a False.
Also the QueryEditor.py object doesn't have sqlEditorId anymore in it's variables and the Cost Estimation Reducer is looking for it, thus giving error, that is also changed.
New or Changed Public Interfaces
Add method with arguments:
estimate_statement_cost(cls, statement: str, database: "Database" )
New dependencies
Not needed.
Migration Plan and Compatibility
Not needed.
Rejected Alternatives
None yet.

 Thanks for reading ^^

It seems the linked PR effectively closes and completes this SIP. Let me know if there's anything else left to be done here, and we can revisit this.

Noting for posterity that while the work was implemented, the SIP itself did not go through the discuss/vote process on the Apache mailing list.


x/pkgsite: improve fetch metrics and load-shedding

Both load-shedding and fetch metrics apply only to getting the module from the proxy and processing it, not to inserting in the DB. But often that is where most of the time is spent.
Move them into the worker and include DB insertion. Also consider a DB metric as an additional load-shedding signal, like number of active queries or number of queries blocked on locks.

Moved the load-shedding over. Not going to do the DB metric, no need for it at present.

When we process many versions of the same module, we get a lot of "max serialization" errors, probably because the transactions are all waiting for the same lock or locks. These errors are harmless in a sense, since the fetches will be retried, but they complicate ongoing maintenance because they appear to be genuine errors. We'd rather prevent them from occurring in the first place.
We could just load-shed when we see another version of the same module being processed, but in an attempt to be more general, we will explore a load-shedding metric based on lock contention.


Any plans for Private Listening to PC headphones?

Hello,
Thanks for the app. I downloaded and installed last night. Works well enough to navigate menus with the mouse. It doesn't seem to find the TV (TCL 40") if off, or maybe it does find it and can't turn it on. I haven't really done much troubleshooting, like checking when and if LED flashes from receiving commands. I found I can turn it on with phone app and take it from there with RRemote, where it can turn it off and on again.
Anyway, my hope or dream would be to redirect the audio to the PC so I could listen through headphones. I wear the PC headset all the time for voice recognition, mobile calls, and listening to music and videos. I don't want to have change headphones from PC to phone, and also miss PC sounds if using phones connected to mobile. So, I was primarily looking more for the private listening option. It's more important to me than the remote control functionality.
I don't know if there is anything technically that makes it difficult or impossible, but have you thought about adding that?
Thanks.
PS: 😄I see you take two years to answer, maybe in 2025 there will be some solution.

It seems that this project uses a EPC protocol to communicate with the device. I'm almost positive this is out-of-scope, in terms of the current API and way that the app communicates back and forth with the client (through POST/GET headers). Each time you press a button, a new HttpClient is created and destroyed.
IMHO, This would require a non-trivial amount of work based on how this app is setup. I could be wrong though. :)


Add output file names api for supporting ts-loader

While working on TypeStrong/ts-loader#1003 i had to copy filename to output file names code to get outputs correctly. So exposing these as api seems like something useful.

@typescript-bot cherry-pick this into release-3.6


Maven framework support

Added maven framework support
Split source and test classes according to common paradigm
Added a few lines to .gitignore to remove clutter from GitHub client
Refactored some Json code to use supported libraries

Thanks Beth!

Just for reference:

Open the project by opening the Maven POM file itself.
Make sure the src/main/java folder and src/test/java folders are your source and test directories respectively
Make sure the target folder is an excluded directory
Set the Project SDK to Java 1.7
Set the Project and Module language level to 7.0
Allow import of Maven dependencies (IntelliJ should prompt you)
You should be good to go!


Unable to login or see progress

When navigating to https://hacktoberfest.digitalocean.com/ I am only given the option to register.
I'd like to sign in and check my progress but that does not seem to be an option.

@ajtruex
I know this is the wrong repo but did you solve this?
Just click "Register now", and log in with github.
It'll skip the register step and sign you in.
Now if you go back to the hacktoberfest home page, you should see "check your progress".
Or just use this url https://hacktoberfest.digitalocean.com/stats/ajtruex


expected comma in AggregateFunction

Hello
I'm using clickhouse_fdw with Postgres-12.0
Trying to connect it to clickhouse but everytime I'm getting the following error
ERROR: clickhouse_fdw: expected comma in AggregateFunction
No matter which FOREIGN SCHEMA I try to import...
Steps I did:
CREATE SERVER clickhouse_svr FOREIGN DATA WRAPPER clickhouse_fdw OPTIONS(dbname 'xxxx'',host 'rfb_clickhouse');

CREATE USER MAPPING FOR CURRENT_USER SERVER clickhouse_svr OPTIONS (user 'xxx', password 'xxx');

IMPORT FOREIGN SCHEMA "tax_bills" FROM SERVER clickhouse_svr INTO public;

Schema tax_bills comes just from Readme.md:
CREATE TABLE tax_bills
(
    bbl Int64,
    owner_name String
)
ENGINE = MergeTree
PARTITION BY bbl
ORDER BY bbl;```

How to nail the issue?

I can't reproduce this error.

Hi,
Think I identified what's causing the issue :
I have a AggregatingMergeTree Materiailized view in my clickhouse schema, and clickhouse_fdw refuses to import it, giving the
ERROR: clickhouse_fdw: expected comma in AggregateFunction

error. Dropping the table in CH (just for testing) did "resolve" this issue.
Any chance the FDW could support

AggregatingMergeTree
Or Postgreqsql syntax to restrict import schema to a set of table ? IMPORT FOREIGN SCHEMA remote_schema  [ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]


When breadboard-web grows up

Currently, breadboard-web is home to many things. Let's try to imagine what all these things want to be when they grow up. I see these paths:

Debugger - The debugger UI bits graduate to breadboard-debugger or to breadboard-cli. My preference is to have a separate debugger package mostly because I like cli tools to be shallow: contain lots of deps, but only glue code in themselves.
Gallery - The various boards we've built in src/boards and their respective json/md comrades graduate to some sort of breadboard-playground, which is (waving hands) some sort of a place/site to showcase, discover, and share AI recipes.
Harnesses - The three harnesses (main-thread, worker, proxy-server) need to go somewhere, too. Maybe their own packages? Both debugger and gallery depend on these packages.

Once that happens, breadboard-web disappears. WDYT?
@paullewis @PaulKinlan

I think the debugger would make a standalone thing. I think we need a collection of boards, too, some of which are demos, some of which are more like "fancy components". So there's a showcase aspect, yep, but I think also a "maker store" aspect, too?
In terms of the harnesses, though, I'm a little less sure. I keep wondering if we can unify them somehow.
One more package is the shared UI between the app gen side and the debugger.

#164 would likely be take debugger as a dependency. Also, it's probably not called "debugger". More like a "code-first breadboard IDE"..?

re: Harnesses - some part of this feels pretty core to breadboard, I do wonder if they should be in breadboard. I could imagine Worker being used for isolation in a cli and on the web, Proxy/HTTP being used in the CLI too.... Although, I'm not to sure if they are too heavy weight.
Either way, I would love them somewhere more useable.
Debugger/CLI - agree with the CLI being lightweight. One example, I copy the entire repo breadboard-web in to the dist\ui folder so that you can spin up the UI pretty easily. With just a couple of tweaks we could have breadboard-web as a published package and all the assets exported... that way the CLI are always in sync with the breadboard version.

Yeah I wonder, would it be possible to have one harness with multiple modes?

Yeah I wonder, would it be possible to have one harness with multiple modes?

Maybe like a configurable harness? Takes in the kits and some config?

Right! One harness with different modes depending on your needs. Not sure if it's doable or not. I think both @PaulKinlan and I have both replicated the Worker one for our satellite projects, and, yeah I think having access to a single harness would be awesome.

Filed #233 for the gallery bit.

Filed #297 for the debugger (Lab!) bit.

Shall we rename breadboard-web to debugger or lab something?

Declaring victory 🚢


Production build error Supplied parameters do not match any signature of call target.

BUG
im getting error when i try to user --prod environment
it is says
<EMAIL_ADDRESS>(7,7): Supplied parameters do not match any signature of call target."

Please provide more implementation details or demo. I will reopen when that is done.

I have exactly the same problem.
Disabling aot (ng build --prod --aot=false) fixes the problem but this is just a temporary fix.

After a bit of investigation the problem comes from the following binding : (legendLabelClick)="onClick($event)"
The onClick method has the following definition that doesn't match the needed signature for an event:
onClick(data, node): void {
  this.select.emit(data);
}

Can you PR this?

Yes ! Just a silly question, do I have to change only the src folder or also the release's one ?


Re-create wildignore options file if missing

When the wildignore options file is a temp file it can be deleted by
other processes which clean up temp files, so check the file is readable
and re-create if necessary before adding it to the list of files from
which to read exclusion patterns (-x option for update_tags scripts).
Without this Gutentags sometimes gets stuck in a rut reporting ctags job
failed, probably because I use both GUI vim and terminal vim, but might
not use the GUI for days and when I return to it the temp file is gone.

Good catch, thanks. Merged with c23a1b975441f6c18b9b0949f3f5f9aa89edfef3.

Thanks for merging 👍


Create Merlin-Systems notebook unit tests with testbook

we can do the following to create this unit test:

we replace run_ensemble_on_tritonserver in the PoC nb and let user launch the TIS in the terminal and use send_triton_request to send request and get the response back (done)
we modify run_ensemble_on_tritonserver () to use send_triton_request() func (Done)
in the testbook unit test, we replace this cell with run_ensemble_on_tritonserver  (hopefully doable)

The PR for this unit test was created https://github.com/NVIDIA-Merlin/Merlin/pull/387. Waiting to be reviewed and merged.