Support notion of restarting Notebook kernels

Today the Jupyter extension has the ability to restart kernels. This is something users do today if the kernel is stuck & it cannot be interrupted.
I'm working with the Julia folk on https://github.com/julia-vscode/julia-vscode and they too have the requirement. Based on the source in .NET interactive, they too have the same feature https://github.com/dotnet/interactive/blob/fd0467903b9306fe402b17b2befa01a012b6888d/src/dotnet-interactive-vscode/common/vscode/commands.ts#L84
As we get more kernels for Jupyter in VS Code, i believe we could end up with more kernels that require the ability to restart a kernel.
Basically the kernel restart is used to kill the old dead/hung/unusable kernel and start with a whole new kernel (with new state).
The request is for a common UI element that can be displayed & possible a command as well. Something that can be displayed if the active kernel supports the concept of restarting kernels.
Feels like 2 extensions are already doing their own thing, and Julia will be the 3rd.
Hoping fo a common UI element with a corresponding method on the kernel restart?(): Promise<void>
@rebornix @roblourens @jrieken /cc

related to https://github.com/microsoft/vscode/issues/119949

I think one way to look at the restart is more like a reset
How can users go back to the original state, unfortunately I can't see too many use cases for notebooks like Github issues notebook.
Possibly we could have an optiona restart/reset method on the kernel which when available like the interrupt method would display the stop icon on the editor titlebar.

@davidanthoff /cc

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Outdated supergfxd is not compatible with ROG control center

Describe the bug
Upon opening rog-control-center from terminal, the following error is presented and ROG control center will not be able to work with supergfxd:
[WARN  rog_control_center::tray] supergfxd version = 5.1.1
[WARN  rog_control_center::tray] supergfxd found but is too old to use
What did you expect to happen?
Expected result is opening of rog-control-center and being able to control power profiles, etc.
Output of bootc status
Current booted image: ghcr.io/ublue-os/bluefin-dx-asus-nvidia:latest
    Image version: latest-41.20241123.4 (2024-11-23 05:12:48 UTC)
    Image digest: sha256:d2dfbd8a244a9d75767e2e9d55db0676441c395038166cd979655a86c41569fc
Current rollback image: ghcr.io/ublue-os/bluefin-dx-asus-nvidia:latest
    Image version: latest-41.20241122.3 (2024-11-22 04:59:13 UTC)
    Image digest: sha256:ea6dee9743ff337a9688a73c695d76145759c01b833cd27e56d50799d9d239ee

Output of groups
myuser wheel docker lxd incus-admin libvirt

Extra information or context
The latest version of supergfxd is 5.2.4, per AUR. The version of supergfxd Bluefin uses is sourced from COPR:
https://copr.fedorainfracloud.org/coprs/eyecantcu/supergfxctl/packages/
where the latest version is 5.1.1. The version of rog-control-center in Bluefin is:
App and daemon versions:
      rog-gui v6.0.12
        asusd v6.0.12

Component crate versions:
    rog-anime v6.0.12
     rog-aura v6.0.12
     rog-dbus v6.0.12
 rog-profiles v6.0.12
rog-platform v6.0.12

Ok RJ's moved this over to the staging repo, we just need to wire it up: https://copr.fedorainfracloud.org/coprs/ublue-os/staging/package/supergfxctl/

https://github.com/ublue-os/akmods/pull/276

This should be updated now. LMK.

Thank you for such a quick response. The supergfxd is indeed updated and rog-control-center now works without problems.
$ rog-control-center -v

App and daemon versions:
      rog-gui v6.0.12
        asusd v6.0.12

Component crate versions:
    rog-anime v6.0.12
     rog-aura v6.0.12
     rog-dbus v6.0.12
 rog-profiles v6.0.12
rog-platform v6.0.12

[WARN  rog_control_center::tray] supergfxd version = 5.2.1


suggested SQL statements to set DEFAULT values are wrong

Hello,
I'm going through the steps to upgrade from prisma 1.13 to 2.17 and so far it was a pleasant experience. However, I came across an issue with the generated SQL statements to fix the DEFAULT constraint on many fields, please see below for a comparison between datamodel and generated SQL:
datamodel:
    status: AdStatus @default(value: "DRAFT")
    displayMode: AdDisplayModeType @default(value: "SINGLE")

suggested SQL statements:
    ALTER TABLE `Ad` CHANGE `status` `status` MEDIUMTEXT  DEFAULT 'DRAFT';
    ALTER TABLE `Ad` CHANGE `displayMode` `displayMode` MEDIUMTEXT  DEFAULT 'SINGLE';

as you can see:

status is an enum field with a default value of DRAFT, but SQL is MEDIUMTEXT
the same applies to displayMode

using Prisma v1.13

Any Updates on this how you fix this problem.
this issue still there in upgrade CLI please help to fix this problem.

Do these SQL statements fail because of this?
What is the type of the columns before? (Is it possible that enums from Prisma 1 are stores as mediumtext by default?)


fix: fix swagger.json, successfully generate java sdk

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

Replaced by: https://github.com/casbin/casdoor/commit/21f394847e5b384875f0f4eb9ea456e3f24ef80f


mbt is not running after installation on windows

See the following problem description:
https://jtrack.wdf.sap.corp/browse/NGPBUG-186653

The issue was resolved, it seems to be related to permissions of the specific user, not the MBT tool


export-installation logs every second, causing CI build logs to be very large

We left a backup of an OpsMan to run over the weekend, and were disappointed to find that our Concourse logs were unviewable because they filled with lines like:
1s elapsed, waiting for response from Ops Manager...
2s elapsed, waiting for response from Ops Manager...
3s elapsed, waiting for response from Ops Manager...
4s elapsed, waiting for response from Ops Manager...
5s elapsed, waiting for response from Ops Manager...
6s elapsed, waiting for response from Ops Manager...
7s elapsed, waiting for response from Ops Manager...
8s elapsed, waiting for response from Ops Manager...
9s elapsed, waiting for response from Ops Manager...
10s elapsed, waiting for response from Ops Manager...
11s elapsed, waiting for response from Ops Manager...
12s elapsed, waiting for response from Ops Manager...
13s elapsed, waiting for response from Ops Manager...
14s elapsed, waiting for response from Ops Manager...
15s elapsed, waiting for response from Ops Manager...
16s elapsed, waiting for response from Ops Manager...
17s elapsed, waiting for response from Ops Manager...
18s elapsed, waiting for response from Ops Manager...

ad nauseum.
Can we get a --quiet option, or preferably something that tells us about e.g. network issues?

Hi @camelpunch,
We recently pushed some unreleased changes to master that provide a --polling-interval flag on export-installation that might help you here. Recent concourse versions also seem to collapse the waiting for response messages in the build output too.
Was the excessive output because the export actually took a long time, or was there a networking issue that om swallowed?
Thanks,
Andrew.

In this case it was a network issue that was swallowed. I won't be using om anymore, but @simonijones might be interested in this development. Thanks!

Hi @camelpunch and @simonjjones,
In our pipelines we've noticed that tasks sometimes stay open of an extended amount of time. Our solution is to put a timeout on the build step (http://concourse.ci/single-page.html#timeout-step).
Ops manager runs a thin server that has a timeout of 1800s (https://github.com/pivotal-cf/installation/blob/3d7873a42a3c1edc60be53ce4232c3f3531a483a/web/config/thin.production.yml#L5) so I'd think the connection would be closed on their end. om also has a default timeout of 1800s in the httpclient. We believe this might be a concourse issue and we've raised the issue with them.
For the meantime, setting a timeout on all potentially long running om tasks like deploy, export, import would prevent the issue of build logs filling up your CI.
If this happens again, it would be nice to look at the tcp connection state of the om request on the client side and the ops manager side (running netstat -an would give you this info). It would also be nice to know how traffic reaches your opsman (for instance is there a load balancer in the path, haproxy, etc). This would help us further debug the issue.
cc @apshirley

Kevin and @utako

Closing this per my conversation with @simonjjones. Feel free to open another issue after following the suggestions above if you see it again.
Thanks,
@utako


unable to install traefik

Hello,
I'm using helm3 and to install traefik I'm using this command
helm install traefik traefik/traefik --values kubernetes/samples/charts/traefik/values.yaml       --set "kubernetes.namespaces={traefik,weblogic}"      --wait
But in OCP I the pod hangs on this error
Error creating: pods "traefik-5d8cccbc76-" is forbidden: unable to validate against any security context constraint: [fsGroup: Invalid value: []int64{65532}: 65532 is not an allowed group spec.containers[0].securityContext.securityContext.runAsUser: Invalid value: 65532: must be in the ranges: [1000160000,<PHONE_NUMBER>]]
Any idea to resolve it?

I solved removing this configuration from deployment yaml
  securityContext:
    fsGroup: 65532

ok on the next deploy


WindowsAppSDK.Main and WindowsAppSDK.DDLM not marked as framework packages

The Microsoft.WindowsAppSDK.Main and Microsoft.WindowsAppSDK.DDLM packages do not have the framework flag set.
Get-AppPackage reports IsFramework: False.
This means they can not be specified as a dependencies for an MSIX package; the <PackageDependency> package manifest element only works for dependencies that are "marked as a framework package" (https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-packagedependency).
The Microsoft.WindowsAppSDK package is correctly marked as a framework, and can be specified as a <PackageDependency> successfully.

Never mind - just realised we don't need to distribute those packages.


How can use as default explorer

How can use Files-UWP as windows 10 default explorer. For example, I open a folder from desktop , ıt open with default windows 10 explorer . How can open with uwp

See https://github.com/files-community/files-uwp/wiki/Replacing-File-Explorer-with-Files-UWP.


Set up a persistent prod database

So it looks like render destroys the container running my app after 30 seconds - I start fresh each time I come to the app.
Simplest solution for right now is a postgres instance on render. It's good for 90 days (until march 21). In the meantime I'll look into more permanent (yet still affordable) hosting options, likely having to do with digitalocean droplet or something in that realm.
Snag 1: Strava ID is too large to be stored as a regular integer. Example:<PHONE_NUMBER> is larger than 2^31.
Snag 2: The database wasn't updated, so it was still using an integer rather than a biginteger. Which is kind of a good sign - the db persists through different builds. I'm gonna add some code for automatic drop_all() while I'm debugging.
~Snag 3: I had to run "db.drop_all()" to get a fresh database, so now my project will destroy its database on build unless I figure out a migration strategy. I'll make that its own issue. We are up and running!
References

Connecting to render postgres instance on render

Short answer: use the local database url

Connecting to render postgres instance from outside render
Using flask-sqlalchemy with postgres
Getting backups from render database

Might be good to set a calendar alert

The database is up and I've been able to save some activities. The migration stuff will be its own rabbit hole.


boot image error

Uncaught (in promise) TypeError: device.bootBlob is not a function
at HTMLFormElement.bootFormFile (ui.js:45:18)
the image works on fastoot ran from any OS..
not from this.
also: fastboot commands are separated by a colon.
so the string in command input should have a replace of " " with ":"

Just updated the dist builds so it should work now.
Re command formats: replacing   with : doesn't always work. It's true for flash commands but reboot bootloader is reboot-bootloader and OEM commands keep their spaces.
It's possible that some of this could be special-cased, but in general I think there should still be a raw command interface because of these differences.

IMO the top-level commands should each be methods if we want a high-level command interface.

Confirmed: it works now.


dtmf karma test is flaky

https://github.com/webrtc/adapter/blob/master/test/e2e/dtmf.js
is somewhat flaky on travis. Needs to be investigated

https://travis-ci.org/webrtc/adapter/jobs/255618545#L1870
suggests (together with the logging from #663) that
    it('when using addStream', () => {
      return navigator.mediaDevices.getUserMedia({audio: true})
      .then(stream => pc1.addStream(stream))
      .then(() => {
        console.log('waiting for ice');
        return new Promise(resolve => pc1.oniceconnectionstatechange =
          e => (pc1.iceConnectionState === 'connected' ||
              pc1.iceConnectionState === 'completed') && resolve());
      })
      .then(() => {
        console.log('ice', pc1.iceConnectionState, pc2.iceConnectionState);

pc1.iceConnectionState is checking at that point. How can that happen?

looks like a combination of two things:

not being fully connected on both sides
potentially establishing the connection early and then never resolving the promise
Both should be fixed now.


Intl package

The new Intl package ported over from the old G11n PHP package.

This is done. Think you could review it @exonintrendo

Will do. Out of town currently, will check it out when I get back.

@exonintrendo This is done. I suggest reading through the docs first then perusing the code.
https://github.com/titon/framework/blob/g11n-package/docs/en/packages/intl/index.md

Going to merge this, but would still like some feedback. Any fixes can be done after the fact.


ci: update cilium-cli to v0.12.1 for master, v1.11 and v1.12 workflows

Release notes: https://github.com/cilium/cilium-cli/releases/tag/v0.12.1

/ci-awscni

/ci-eks

/ci-externalworkloads

/ci-external-workloads

CI passed for affected workflows:

L4LB: https://github.com/cilium/cilium/actions/runs/2816766654
AWS-CNI: https://github.com/cilium/cilium/actions/runs/2816768328
EKS: https://github.com/cilium/cilium/actions/runs/2816766673
External workloads: https://github.com/cilium/cilium/actions/runs/2816766639

Removing test commit and marking as ready for review.


Create new graph fragment

What this PR does / why we need it:
Add new graph fragment
Which issue this PR fixes:
fixes #139
Special notes for your reviewer:
No idea why build files are changing.
Release note:
- graph: New graph fragment available.

I think a more descriptive content would be good.

Let's merge the implementation and maybe add production users of Syna in a new PR as data. That would be interesting.


Add Fernando Flores website

Adding my website to the list. Thanks @sellorm for the initiative!

Thanks for the submission!


Added project

Ava Papetti

I am having trouble using pytest-- I've uploaded my first stab at tests anyway but am not positive I am effectively testing each aspect of my code.
I have a few other questions as well:

Would it be better to rename the variable names within the for loop of my recent Project instead of filtering with the same name each time?
In the beginning where I am removing CNVs, I feel it is not the most sophisticated way to eliminate rows I don't need, but I felt that would be more efficient than using a for loop again-- is this OK?

Hi Ava,
What exactly are you having trouble with regarding pytest? After looking at your tests, I think each unit test should test a function that you define in your main scripts to ensure it is performing as desired. So, for example, an example of a test for a function that drops the 'chrM' column from your data is below.
The function:

def cnv_drop_column(file1):
    file1_new = file1.drop(file1[file1.Chrom == 'chrM'].index)
    chroms = file1_new.Chrom.unique()
    return chroms

and a test for this would be (located in your testing directory):
from example_main_script.py import cnv_drop_column

def test_cnv_drop_column():
    file1 = pd.read_csv('SL88824_20180802.cnv.csv', sep = "\t")
    chroms = cnv_drop_column(file1)
    assert 'chrM' not in chroms

By renaming variables do you mean the "file1" and "file2" names? If your code is working and iterating through your data and giving the correct output I see no need to change the names through each iteration, but I also am a bit confused about what this question is asking.

I think that the way that your are removing the rows is fine with

file1 = file1.drop(file1[file1.Chrom == 'chrM'].index)
file1 = file1[(np.abs(file1.Start - file1.Stop) >= min_cnv_length) & (file1.P_Value >= p_value_threshold)]

but I would define this as a function and apply the function to both files because you end up writing the same code twice for file1 and file2.

Hi Emily,
Thank you for your reply- that cleared up a lot! So for this line in your example:

from example_main_script.py import cnv_drop_column

that goes at the beginning of each test, with 'cnv_drop_column' being the name of the function I'm testing? And is it OK to keep the tests in one file or is it better to have one file for each test?
In regards to pytest, I am able to import it into my notebook without any issues, but when I go to use it, I get "UsageError: Cell magic %%pytest not found."

Yes, exactly. And the import of the functions can go at the top of your script and you can import all of the functions contained in that file at once. For example:
from example_main_script.py import cnv_drop_column, other_function, other function2

That being said, I think it is good to keep your tests located in one script.
For the pytest, I believe you need to use:
!pytest

in order to get pytest to run.
Let me know if you have any other questions!

Ok, got it!
One other thing. I had previously tried to create a function to remove the CNVs as you had suggested I do too, and I realized when I used '.apply()' that it was converting my dataframe into a series:

And when I do '.apply(cnv_remover, axis = 1)', I get this error:

Not sure how to bypass either of these issues.

Could you potentially try without axis=1? It might be due to the fact that pandas series is a one-dimensional array!

I think my main problem is I'm not sure how to access the rows where 'Chrom' is 'chrM'. For the code I have above, with file.drop(), I get this error message:

AttributeError: ("'Series' object has no attribute 'Chrom'", 'occurred at index Chrom')

Is there a way for me to specify for it to look at the Series with the Chrom values and then drop each index where chrM is found?

Sorry for all of the questions about this, but do I have to use .apply()? Could I instead do
def cnv_remover(file):
    min_cnv_length = 1000
    p_value_threshold = .90

    file = file.drop(file[file.Chrom == 'chrM'].index)
    file = file[(np.abs(file.Start - file.Stop) >= min_cnv_length) & (file.P_Value >= p_value_threshold)]

    return file

Then save the new file this way: file1 = cnv_remover(file1)

Hi Ava,
Yes, that is fine!

Great!
I'm having another issue with testing now. I have added an init.py file to the same directory as the module, but I keep getting a ModuleNotFoundError.
This is what I ran: from Package.Common_CNV_Finder import  *
I've also updated my tests. Is it OK to test the output of my Common_CNV_Finder function is correct by comparing it to a nested for loop output that is reliable (based on test files with which I know the expected outcome)?
My thought was to do add this at the end of my test: assert_frame_equal(test_common_cnvs, for_loop_common_cnvs)`

@avapapetti, I've submitted a pull request to your branch with some suggested changes. Just to clarify:

a module is a file ending in .py. Yours were  notebooks (ending in ipynb).
a function is an isolated bit of code that can take input and output. It starts with def function_name(arg1,arg2): and is followed by the appropriate code. I have moved  your code into functions
common_cnv_finder seems like a nice package name. I have renamed a directory to make that consistent with this.
__init__.py is required (not init.py, it's hard to write that in markdown unfortunately!)

Overall you have a nice solution to your problem. You were just lacking significantly in the packaging/modularization/testing side of things. Have a look through the changes to move forward. Merging them into your branch and working from there might be the easiest.
Moving forward, the most important thing to do is to complete the test template I have written called test_common_csv_finder. That will suffice to get most of the marks for testing. If you have time after that try to make sure you are passing all the tests (and add more if you can).
When completing test_common_csv_finder, think of it as a way to guarantee that if someone pip installs your package, and passes two file paths to common_csv_finder will it produce a result, and is that result correct. Add two small datafilee to tests/data and use them in this call of common_csv_finder

Thank you for the feedback and suggestions, it has definitely reframed how I am going about this. Even though I have merged your changes, I am still getting "ModuleNotFoundError: No module named 'common_cnv_finder'".

Great. That's what this is all about!
Circleci seems to be running the tests ok and for now is failing because the appropriate test files have not been added.
It may be you have not run pip install -e . in your project directory. Until you do that your python interpreter won't know about your code...

Ok we are failing tests, but that means we are getting tests, so I'll take it.
I was wondering if for "expected" I could create a third file containing the CNVs I expect to be in the output. Since I created smaller test files to ensure certain CNVs are meeting all the criteria, I already know which CNVs should be in the output.

Yep, programmatically generating expected or creating files and storing them in tests/data are both acceptable.  It ends up being a circular problem... you want to test your code generates the expected output but you need to write code to generate the expected output in the first place...
Your suggestion of breaking down the problem to a smaller problem with a known answer is ideal.

Lower case d for "data". You're close!

Seems to be getting late for someone to pop into Zoom, so here are my questions:

I've added tests for all of my functions and they all passed! Just wanted to make sure they are legitimate.

I also wanted to double check that I've done all of the steps for packaging.

Is it OK if tests are passing in pytest but not in CircleCI?

If/when I'm ready to submit my final project, do I just push my final changes to my repository?

Thank you.

Sorry, thought you were happily working away.

I've added tests for all of my functions and they all passed! Just wanted to make sure they are legitimate.

yes. well done. Especially using pandas built in assertions. Very nice. In the future looking up pytest "fixtures"  for supplying data to tests in a slightly cleaner way. What you have done is fine though.

I also wanted to double check that I've done all of the steps for packaging.

Correct. Your repository is a pip installable python package!

Is it OK if tests are passing in pytest but not in CircleCI?

Not really. Local environments change. People's set ups are different. Having online tests allows several people to have an identical system to confirm their tests are working.
I'm not certain but I think your tests are passing locally because I'm guessing you have a Mac laptop (which has a case insensitive file system). So when tests_dir is defined as "data" it finds it, even though it is named "Data". The online tests are on a linux system that doesn't make that odd logical jump.
Change either in the directory name or the test module and  you will pass most of the tests on circleci. You have another test that is failing apart from that. you should see it if you type pytest tests locally.

If/when I'm ready to submit my final project, do I just push my final changes to my repository?

Correct. Your version in your repo at noon tomorrow is what will be graded

That one is on me I realize my comment in the Google Doc was misleading, sorry about that!
There seems to be discrepancies between what's in the Data directory file locally and what's in the Data directory in my repository. When I try to commit changes, I keep getting things like this:

Also, I'm unsure where I should be running pytest tests.

Update: I figured out pytest tests. It was the example test you had added-- do I need to keep that file or should I delete it?

That's not a problem. .ipynb_checkpoints was added to .gitignore. That tells git to ignore it. But that directory had already been added. So now you are in a weird state where you struggle to add changes that occur in that directory. It shouldn't be in the repository anyway.

Update: I figured out pytest tests. It was the example test you had added-- do I need to keep that file or should I delete it?

You should absolutely delete it. It's in your way to getting that glorious green tick beside your pull request. It's also a demonstration that "passing all of the tests" is not necessarily a good thing.

Oh my goodness there's the green check mark! Yay! The sample files I have inside the Data directory are up to date anyway, so there's nothing more I need to do there right? I really appreciate your prompt replies by the way.

Oh my goodness there's the green check mark! Yay!

Glorious isn't it? Well done. For the record adding DS_store, .ipynb_checkpoints, egg_info, and pycache to .gitignore is a good idea. And any other superfluous files. not a big deal for this project but worth keeping in mind.

Thank you! That is good to know, I'll try to do that now. And thanks for all your help and insight!

So sorry it's late but one last thing--  I just tried to pull my repository and I got this:
From https://github.com/avapapetti/project_spring_2020

branch            HEAD       -> FETCH_HEAD
fatal: refusing to merge unrelated histories

That won't affect anything when you compile my code tomorrow will it?

You are all good. Working tests on circleci are hard to argue with.
I think it may be just an issue with the command you ran. Or you ran it from a different git repository perhaps.

Hi Ava,
You did a really great job on this project. Pandas is a great tool when working with datasets and you employed it nicely. Also, the unit tests for your dataframes are great as well. In the future, I think it is good practice to add the .ipynb_checkpoints files to your .gitignore file. Overall, very well done!
Cheers,
Emily


CXX function pointer ambiguity

In CXX there is an ambiguity with the statement (A.B)(C).
B can either be a method or a function pointer.
Example:
struct A {
        void foo(int i) {
        }
};

struct B {
        void (*bar)(int);
};

void bar(int i) {
}

int main() {
        A a;
        a.j = 1;
        B b;
        b.bar = &bar;

        // foo is a method
        (a.foo)(1);     // Crash
        a.foo(2);       // OK

        // bar is a function pointer
        (b.bar)(3);     // Crash
        (*b.bar)(4);    // MemberExpression is missing

        return 0;
}

Loading the example code into the cpg will result in a crash for the (A.B)(C) statements:
java.util.concurrent.ExecutionException: java.lang.ClassCastException: class org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTUnaryExpression cannot be cast to class org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFieldReference (org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTUnaryExpression and org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFieldReference are in unnamed module of loader 'app')
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
	at de.fraunhofer.aisec.cpg_vis_neo4j.Application.call(Application.kt:345)
	at de.fraunhofer.aisec.cpg_vis_neo4j.Application.call(Application.kt:72)
	at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
	at picocli.CommandLine.access$1300(CommandLine.java:145)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
	at picocli.CommandLine.execute(CommandLine.java:2078)
	at de.fraunhofer.aisec.cpg_vis_neo4j.ApplicationKt.main(Application.kt:372)
Caused by: java.lang.ClassCastException: class org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTUnaryExpression cannot be cast to class org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFieldReference (org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTUnaryExpression and org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFieldReference are in unnamed module of loader 'app')
	at de.fraunhofer.aisec.cpg.frontends.cpp.ExpressionHandler.handleFunctionCallExpression(ExpressionHandler.kt:488)
	at de.fraunhofer.aisec.cpg.frontends.cpp.ExpressionHandler._init_$lambda-7(ExpressionHandler.kt:91)
	at de.fraunhofer.aisec.cpg.frontends.Handler.handle(Handler.java:111)
	at de.fraunhofer.aisec.cpg.frontends.cpp.StatementHandler.handleExpressionStatement(StatementHandler.kt:255)
	at de.fraunhofer.aisec.cpg.frontends.cpp.StatementHandler._init_$lambda-4(StatementHandler.kt:56)
	at de.fraunhofer.aisec.cpg.frontends.Handler.handle(Handler.java:111)
	at de.fraunhofer.aisec.cpg.frontends.cpp.StatementHandler.handleCompoundStatement(StatementHandler.kt:289)
	at de.fraunhofer.aisec.cpg.frontends.cpp.StatementHandler._init_$lambda-1(StatementHandler.kt:50)
	at de.fraunhofer.aisec.cpg.frontends.Handler.handle(Handler.java:111)
	at de.fraunhofer.aisec.cpg.frontends.cpp.DeclarationHandler.handleFunctionDefinition(DeclarationHandler.kt:162)
	at de.fraunhofer.aisec.cpg.frontends.cpp.DeclarationHandler._init_$lambda-3(DeclarationHandler.kt:60)
	at de.fraunhofer.aisec.cpg.frontends.Handler.handle(Handler.java:111)
	at de.fraunhofer.aisec.cpg.frontends.cpp.DeclarationHandler.handleTranslationUnit(DeclarationHandler.kt:529)
	at de.fraunhofer.aisec.cpg.frontends.cpp.CXXLanguageFrontend.parse(CXXLanguageFrontend.kt:226)
	at de.fraunhofer.aisec.cpg.TranslationManager.parse(TranslationManager.kt:340)
	at de.fraunhofer.aisec.cpg.TranslationManager.parseSequentially(TranslationManager.kt:284)
	at de.fraunhofer.aisec.cpg.TranslationManager.runFrontends(TranslationManager.kt:204)
	at de.fraunhofer.aisec.cpg.TranslationManager.analyze$lambda-2(TranslationManager.kt:86)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

I wrote a hot fix to prevent the cpg from crashing, but the resulting graph does not reconstruct the MemberExpression and does not distinguish the ambiguity:

I see two main questions:

How (and at which point) can we distinguish the ambiguity?
How should the graph look like for (A.B)(C) when B is a function pointer?

Clang AST looks for the above example as follows:
    |-CXXMemberCallExpr 0x55dd05798630 <line:19:9, col:18> 'void'
    | |-ParenExpr 0x55dd057985f0 <col:9, col:15> '<bound member function type>'
    | | `-MemberExpr 0x55dd057985c0 <col:10, col:12> '<bound member function type>' .foo 0x55dd05769fd8
    | |   `-DeclRefExpr 0x55dd057985a0 <col:10> 'A' lvalue Var 0x55dd0576a708 'a' 'A'
    | `-IntegerLiteral 0x55dd05798610 <col:17> 'int' 1
    |-CXXMemberCallExpr 0x55dd057986c8 <line:20:9, col:16> 'void'
    | |-MemberExpr 0x55dd05798678 <col:9, col:11> '<bound member function type>' .foo 0x55dd05769fd8
    | | `-DeclRefExpr 0x55dd05798658 <col:9> 'A' lvalue Var 0x55dd0576a708 'a' 'A'
    | `-IntegerLiteral 0x55dd057986a8 <col:15> 'int' 2
    |-CallExpr 0x55dd05798798 <line:22:9, col:18> 'void'
    | |-ImplicitCastExpr 0x55dd05798780 <col:9, col:15> 'void (*)(int)' <LValueToRValue>
    | | `-ParenExpr 0x55dd05798740 <col:9, col:15> 'void (*)(int)' lvalue
    | |   `-MemberExpr 0x55dd05798710 <col:10, col:12> 'void (*)(int)' lvalue .bar 0x55dd0576a3d0
    | |     `-DeclRefExpr 0x55dd057986f0 <col:10> 'B' lvalue Var 0x55dd05797f08 'b' 'B'
    | `-IntegerLiteral 0x55dd05798760 <col:17> 'int' 3
    |-CallExpr 0x55dd05798898 <line:23:9, col:19> 'void'
    | |-ImplicitCastExpr 0x55dd05798880 <col:9, col:16> 'void (*)(int)' <FunctionToPointerDecay>
    | | `-ParenExpr 0x55dd05798840 <col:9, col:16> 'void (int)':'void (int)' lvalue
    | |   `-UnaryOperator 0x55dd05798828 <col:10, col:13> 'void (int)':'void (int)' lvalue prefix '*' cannot overflow
    | |     `-ImplicitCastExpr 0x55dd05798810 <col:11, col:13> 'void (*)(int)' <LValueToRValue>
    | |       `-MemberExpr 0x55dd057987e0 <col:11, col:13> 'void (*)(int)' lvalue .bar 0x55dd0576a3d0
    | |         `-DeclRefExpr 0x55dd057987c0 <col:11> 'B' lvalue Var 0x55dd05797f08 'b' 'B'
    | `-IntegerLiteral 0x55dd05798860 <col:18> 'int' 4

I think we cannot correctly distinguish between those two because both of them are regular call expressions and the only difference is the way the call "target" is accessed ("directly" vs. a member). The Clang AST allows a call on basically any expression (in the second case being a member expression). This is the callee property in the Clang AST and it is part of the AST. It then has a calleeDecl property (to the underlying declaration that is called), which is probably then filled later by the linker, etc.
Where as our graph only has an INVOKES edge (which is NOT an AST edge) that goes directly to the declaration and is equivalent to the calleeDecl property in clang. We do have the base property, but that is actually only used in member calls. This has been a mess for quite some time, leading to different handling of calls vs. member calls.
To mitigate this, we could introduce a callee property (and potentially then get rid of the base property in the future). For normal calls the callee would then be DeclaredReferenceExpression and for member calls callee would be a MemberExpression.

Did I understand you correctly, that you would suggest making no distinction between a MemberCallExpressoin and a CallExpression and instead introduce a CALLEE edge, which could be a MemberExpression or a DeclaredReferenceExpression?
This could look like the following:

Did I understand you correctly, that you would suggest making no distinction between a MemberCallExpressoin and a CallExpression and instead introduce a CALLEE edge, which could be a MemberExpression or a DeclaredReferenceExpression?
This could look like the following:

We could have both. The callee property would be on a CallExpression base class, regardless of which expression is called (reference or member access). If we want to quickly identify member calls, we can still have the derived MemberCallExpression (as clang does) which can be used to quickly identify the associated record declaration with a property (which is already there at the moment - and not an AST node).

Ok, so we could have a MemberExpression as CALLEE for a MemberCallExpression as well as for a regular CallExpression. I think this would be a good solution.
I just noticed, that you fixed the crash in #687.
Introducing the CALLEE edge seems like a larger effort.
Should we create a new issue for that?
For me, it would be important to merge the test-cases from this PR, to ensure that we will not break it accidentally.

Ok, so we could have a MemberExpression as CALLEE for a MemberCallExpression as well as for a regular CallExpression. I think this would be a good solution.
I just noticed, that you fixed the crash in #687. Introducing the CALLEE edge seems like a larger effort. Should we create a new issue for that?
For me, it would be important to merge the test-cases from this PR, to ensure that we will not break it accidentally.

Can you fix the merge-conflicts? Then we can merge the test-cases. You can create a new issue with the callee property.


Tech edit

Updated screenshots, readme and project.

closing this one. will reopen a pull request from the couchbaselabs organization.


Look and feel enhancements

It would be nice to have script comments describing it's function in the separate comment window, there could be a script help included in application, control titles should be centered, not aligned top left.

Fixed in version 0.4.


email addresses are formatted<EMAIL_ADDRESS>

Please consider adding my school. Thank you for your generosity! (I hope my pull request is to the right location)

@kburzota Your request is absolutely correct, thanks! It is now merged. Please notice that free educational license for JetBrains tools is for high and higher schools students, i.e. those who are over 13 of age. Thank you!


Change fields named OperateState and adminState to lowercase to match edgex-go version

i have fixed it, close it now


Feature | CICD for Vivo components packaging

Fixes:<PHONE_NUMBER>849523
Description of changes
Blocked by https://github.com/calyptia/infra/pull/557
Adds CICD workflow so that the components NPM package is automatically published to NPMJS. This will also automatically bump the package versions and deploy both a staging, as well as bump the package version installed on the frontend.
Notes for Reviewers
A secret was added to GitHub secrets with the token to publish to npmjs.com. An account was also created there for @calyptia-vivo organization.
Testing
Change some components and put in a PR. The PR build should automatically publish a package to npm for @calyptia-vivo/components with the prerelease version incremented. It should also push to GitHub a new commit that increments the prerelease version in components package.json and also for the dependency in frontend package.json.
When the PR is merged into main, the same should happen but for the patch version.

@trystendsmyth frontend doesn't increment, but the frontend will update the dependent version of @calyptia-vivo/components that it references. There is a problem with @calyptia-vivo/components updating on every PR. We should definitely limit it so that it only updates the package if there is a change to the package itself. It's much harder to do with a monorepo but not impossible in GitHub actions I believe.

@trystendsmyth I've successfully limited the action on modification to the components path.

@patrick-stephens @trystendsmyth is this ready to go ? (no rush, just wanted to check the status)

I have some queries but nothing that should block it, I just wanted to understand what it was doing a little better.

What do you need from me to get this live @dfredriksen

what are the next steps here ?

ping

@edsiper I'll take a look

It's worth implementing Pat's suggested changes.

Im happy to close

@edsiper can we close this PR? I don't see any reason to still have this

yup


perf(ref): improve ref performance

Why?
@jods4 and I noticed that refs can be made much faster and more memory efficient by using classes (prototypes) instead of the current objects (https://github.com/vuejs/rfcs/issues/197#issuecomment-671119767 and onwards).
What?
This changes the implementation of the following functions to a class internally. For each of the functions a benchmark is provided to show the increase in speed (typically between 70-100%). These benchmarks test pure get & set performance. There are no dependencies that need to be updated.

ref & shallowRef, bench
customRef, bench
toRef, bench
computed, bench

Besides these, I also changed the implementation of isRef to a lazy implementation, improving performance by about 10-20%. Benchmark can be found here.
Another argument to be made is the memory efficiency. I made a small gist where I create 1 million refs. When comparing the amount of memory used, I get 70MB for the class implementation against 470MB for the current implementation.
Real world
These were only tiny tests with little other computations, so one may wonder how this performs in a real world scenario.
I made small benchmark for this as well, using the useValueSync from vue-composable. This benchmark also shows a 20-30% improvement in performance!
Future
If this step is taken, we will continue our search for other occasions in which performance can be improved by converting something from an object to a class.
Edit: unfortunately the first solution failed when proxying refs. The proxied this would be passed to trigger / track. Using toRaw to remedy this fixed it. This cost a tiny bit of performance, will update the benchmarks accordingly.

The original implementation creates new get and set functions on every individual ref. This explains the higher memory consumption when creating a lot of them. The optimizer is also less able to optimize it, as they are different functions.

Why?
@jods4 and I noticed that refs can be made much faster and more memory efficient by using classes (prototypes) instead of the current objects (vuejs/rfcs#197 (comment) and onwards).
What?
This changes the implementation of the following functions to a class internally. For each of the functions a benchmark is provided to show the increase in speed (typically between 70-100%). These benchmarks test pure get & set performance. There are no dependencies that need to be updated.

ref & shallowRef, bench
customRef, bench
toRef, bench
computed, bench

Besides these, I also changed the implementation of isRef to a lazy implementation, improving performance by about 10-20%. Benchmark can be found here.
Another argument to be made is the memory efficiency. I made a small gist where I create 1 million refs. When comparing the amount of memory used, I get 70MB for the class implementation against 470MB for the current implementation.
Real world
These were only tiny tests with little other computations, so one may wonder how this performs in a real world scenario.
I made small benchmark for this as well, using the useValueSync from vue-composable. This benchmark also shows a 20-30% improvement in performance!
Future
If this step is taken, we will continue our search for other occasions in which performance can be improved by converting something from an object to a class.
Edit: unfortunately the first solution failed when proxying refs. The proxied this would be passed to trigger / track. Using toRaw to remedy this fixed it. This cost a tiny bit of performance, will update the benchmarks accordingly.

when I use the code small gist to test, the object will stable in 270MB, but when I use class, the memory cost will in crease when I repeat. why?
os: MAC OS
browser: chrome


[OFFICIAL] Generated Issue: ErrorException

Please fill out the details below.
Summary:
Steps to reproduce:
Do a loop without any timeouts and run
const url = 'https://api.jikan.moe/v4/users/' + location.href.split('/')[4] + '/friends?page=' + nextpagenum;
var JsonResponse = await (await fetch(url)).json();
Additional Details
Jikan Parser Version: 3.0.0.x-dev@a4cf4837ad2c87703db4d7ecb9732cfa59f5c698
PHP: 8.0.15
Redis: Connected
Exception: ErrorException
Code: 0
Message: Undefined array key "url"
Trace: /var/www/jikan-rest/vendor/symfony/http-client/Response/TransportResponseTrait.php on line 129
Request: GET /v4/users/abystoma2/friends?page=3

Please refer to https://github.com/jikan-me/jikan-rest/issues/177


Bump Scala version to 3.0.1

More context https://github.com/tpolecat/doobie/issues/1506#issuecomment-890177564

@deusaquilus Fancy taking a look once you have some spare time? (I wonder if CI will pass, in theory it should)
Cheers!

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.dwlizlo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


integrate and use browserstack

lineup.js.org has now a sponsored subscription for at least a year.
possible usage

automatic testing in different browsers
testing rendering speed
testing expected outcomes

wontfix


file_link shorecode generates an uneccessary session

Affected Version
4+
Description
When using HTTP Caching on a page, this will be overridden (in certain circumstances) to private if a session is changed during a request.
When the content author links to a file, the user is granted permission through the asset store which saves to the session and disabled HTTP caching.
The following line is what triggers the change in session:
https://github.com/silverstripe/silverstripe-assets/blob/1/src/Shortcodes/FileShortcodeProvider.php#L72
Steps to Reproduce
1. Enable HTTP caching in PageController->init()
        HTTPCacheControlMiddleware::singleton()
           ->enableCache()
           ->setMaxAge(60); // 1 minute

note: If you're on your local machine you will need to run in live mode or view the testing section to enable http caching.
2. Open a new browser (incognito) and confirm the caching headers are set
cache-control: public, must-revalidate, max-age=60

3. Add a file link
In the CMS for that page add a link to the content linking off to a file (ie. pdf, word doc etc.)
4. Check cache headers
When you load the page and check the headers you will see the public cache has been made private.
cache-control: private, must-revalidate, max-age=60

note: The code indicates that the problem is only caused when it returns the cached shortcode markup. I experienced the problem every time, but if you don't experience it first time it may be because of that.

The solution is to change $store->grant() to $store->getAsURL() which matches the ImageShortcodeProvider.
There's some copy paste there though so probably needs a bit of a clean up so we don't hit this kind of thing again.


Governance. Multishard selector. There is no sum balance for sharded wallets

Expected Behavior

https://www.figma.com/design/4vjREBpvZK7M3m1GaoVptq/OpenGov-delegations?node-id=278-373376&t=JDv6QvhX5dNfNjAa-4
Actual Behavior

Environment
https://github.com/novasamatech/nova-spektr/commit/5394425bbb2cb4cdcd9f2382363ad6e9393e9f1e

Status verification: ✅


PLAT-8208: Fix Node.js binaries not found, take 2

https://wahanda.atlassian.net/browse/PLAT-8208
For some reason, #12 is failing, even if the last build of that PR against uala-backend was successful: https://drone.uala.dev/uala/uala-backend/35063/14/2
I guess I messed up with git (at least, I hope so...). Now the build is green again: https://drone.uala.dev/uala/uala-backend/35079/14/2

Build against uala/cdk8s-deployer:master-28dea95d worked as well: https://drone.uala.dev/uala/uala-backend/35085/14/2


CLOUDP-180814: Migrate apikeys access list to v2 go sdk

Proposed changes
Migration of apikeys accesslist to v2 go sdk

Jira ticket: CLOUDP-180814

Closes #[issue number]
Checklist

[x] I have signed the MongoDB CLA
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added any necessary documentation in document requirements section listed in CONTRIBUTING.md (if appropriate)
[ ] I have addressed the @mongodb/docs-cloud-team comments (if appropriate)
[ ] I have updated test/README.md (if an e2e test has been added)
[x] I have run make fmt and formatted my code

Further comments

I was looking to run these e2e tests but did not find them in EVG. Are these related to the store?
https://github.com/mongodb/mongodb-atlas-cli/blob/225075287a5da20b737bdd7ec4e6f4b8ae748bac/test/e2e/iam/atlas_org_api_key_access_list_test.go

@swattyT Yep these are the ones
They're already using the v2 structs since https://github.com/mongodb/mongodb-atlas-cli/pull/1868 (same json mappings)
All the test files under the IAM directory titled atlas_... are specific to atlas - they'll probably be moved out as part of the future split


Compiling Nim with the Pretty-Printed JavaScript backend fails with a type mismatch error

I am trying to build the Nim compiler with the Pretty-Printed JavaScript backend from https://github.com/juancarlospaco/nodejs/tree/main/tools.
On the .build_all.sh command I get the following error:
/Users/alba/Nim/compiler/jsgen.nim(111, 15) Error: type mismatch: got <typeof(nil)> but expected 'Rope = string'
FAILURE

(Full command output in this gist.)
Any idea what's going wrong?

BTW, the commands in your README I had to modify slightly: All backslashes (like in rm compiler\jsgen.nim) I changed to forward slashes (e.g. rm compiler/jsgen.nim).

Ropes had been changed to be actually string in devel of Nim in https://github.com/nim-lang/Nim/pull/20433, use the Nim commit before that change and it works.

Hey @juancarlospaco, thanks for chiming in so promptly!

Assertions had been removed in devel of Nim, they are a separate module now https://nim-lang.github.io/Nim/assertions.html

Ideally those changes should be in mainstream to avoid these kind of out of sync problems...

Thanks. Got Nim compiled with the commit 3fef2fd52c86ba922187ca03026b09ceb70b5d3d.
Will try your JS backend out! 😄

It was like that https://github.com/juancarlospaco/nodejs/commit/a578730d77949ab0d30fdf53cb3f8fa98e04a44f
It was just too much big changes in Nim devel, but it is maintained.
Any improvements are welcome.

I see!
But i don't understand, why did you change in the README the commit your stuff is suppose to work with from 3fef2fd52c86ba922187ca03026b09ceb70b5d3d to ff25103c9ab9d51821e9e8641955c8d24f7db6b8, if the latter doesn't work?
Sorry, this might be a total newbie question...

Bug, mistake.

I see.

Yes can be, until the patch is fixed.

So basically it works,
it may not be always in sync with devel but I see no better way if it is not accepted upstream,
and then nothing really critical going on here, I will close for now...

Fair enough. I don't understand the intricacies why it changes over time which commit works, but that's what it seems to be.
I might add a note about it on the forum or wiki?

why it changes over time which commit works

Because Nim mainstream changes, ideally this would be somehow integrated into Nim,
at least with some changes, at least for Nim 3.0, but is hard to convince core devs,
but I think that would bring more donations and contributions to Nim in the long run.


ConnectionConfig nodeType

Is there anything prohibiting ConnectionConfig accepting a GraphQLInterfaceType for its nodeType?
https://github.com/graphql/graphql-relay-js/blob/master/src/connection/connection.js#L64
I will make a PR is there are no objections.

hey @jamiehodge. I just stumbled upon the same issue but with the Union Type.
Just allowing a UnionType has worked without any other changes for me in this scenario (but then I haven't explored this much).
If you make a pull request, I'd appreciate if you included the UnionType as well.


Support full code inspection.

It should be possible to run an inspection on all files of a selected project, modul or package.
The results should be displayed like that one that is generated by Android Studio's "Inspect Code" action.

As a side note, that's actually the way I had expected the plugin to work. Neither the README nor the plugin page actually say how to execute a run of the detekt plugin. It took me a while to understand that it's seemingly meant to work as on-the-fly inspection hints, but that's a rather inconvenient mode of operation if you want to fix all detekt issues in bulk by working down a list.

Any update on this ?  like @ChristianSchwarz  mentioned, it will be very useful to have as an inspection action (that's what I imagined the plugin will do), or at least maybe create an inspection profile we can add ourselves manually.
@sschuberth did you manage to get something working for you ?

No, I simply stopped using the IntelliJ plugin in favor of the Gradle plugin :wink:

I would like to replace native reformat code with this plugin so I would like to get:

Reformat based on context (Selection, file, selected files, package, selected package, module, selected module and root for all.
I developed with Dart (Flutter) and I love how the reformat works in that language, overall how it reformat the code if you use add/remove a trailing comma. I would like to get a similar behavior when Kotlin 1.4 get an estable versión.


Inconsistent use of tabs and space

Hello,
In model.py there are several tabs instead of spaces, you should remove them.
Also, in the docker folder there is the vim backup file ;)
Cheers,
~Nico

oh, no! I thought vim was getting rid of the tabs xD


Pcl to net standard conversion

CC: @dnduffy @karolz-ms @cijothomas @pharring
This seems to be working fine. https://www.myget.org/F/applicationinsights/api/v2 Version 2.3.0-beta2-build27851
@karolz-ms you can do the same in logging repo. Can you?

@SergeyKanzhelev Most likely yes, I can, but project.json is/will soon be obsolete. I'd rather wait a couple of weeks till dev15 ships and use the new tooling.

@karolz-ms project.json looks very tiny. So not much investments here... Using this approach will allow to support .NET Core ILogger and EventSource by //build

@SergeyKanzhelev OK, sounds good. Will submit a PR for EventSource in the next couple of days

As Sergey noted in #434 and I verified, we can also remove the netstandard1.3 dependencies from Package.nuspec. That could be done here or in a follow-up PR,

We'll wait for VS 2017 RTM to use new .csproj approach


[Doc]--Update proxy config file for Pulsar proxy gateway improvement

(If this PR fixes a github issue, please add Fixes #<xyz>.)
Fixes #
(or if this PR is one task of a github issue, please add Master Issue: #<xyz> to link to the master issue.)
Master Issue: #
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Describe the modifications you've done.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API: (yes / no)
The schema: (yes / no / don't know)
The default values of configurations: (yes / no)
The wire protocol: (yes / no)
The rest endpoints: (yes / no)
The admin cli options: (yes / no)
Anything that affects deployment: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? ( docs)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Update the reference > pulsar configuration > Pulsar proxy section for the Pulsar 2.4.0 released PR: https://github.com/apache/pulsar/pull/3915/files#diff-8149d86481529536e6153c07dae4d5a5
only docs in the master is updated. once the contents is reviewed and approved. will update the doc to previous releases since 2.4.0.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

close the PR as CI fails and finds no method to troubleshoot it. will re-create a PR for updating the doc.


Fix for issue #10046 seems not working for BFM business

Checklist

[X] I'm reporting a broken site support
[X] I've verified that I'm running youtube-dl version 2024.05.27
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones

Verbose log

 youtube-dl "https://www.bfmtv.com/economie/replay-emissions/les-experts/les-experts-voitures-chinoises-la-riposte-europeenne-13-06_VN-202406130294.html" -fhls-596-0+dash-9b27d20e-1788-4223-8961-ab10a98bb0ef-1 -v
[debug] Command-line config: ['https://www.bfmtv.com/economie/replay-emissions/les-experts/les-experts-voitures-chinoises-la-riposte-europeenne-13-06_VN-202406130294.html', '-fhls-596-0+dash-9b27d20e-1788-4223-8961-ab10a98bb0ef-1', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [12b248ce6] (zip)
[debug] Python 3.11.2 (CPython x86_64 64bit) - Linux-6.1.93-x86_64-with-glibc2.36 (OpenSSL 3.0.11 19 Sep 2023, glibc 2.36)
[debug] exe versions: ffmpeg 5.1.5-0 (setts), ffprobe 5.1.5-0
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, pyxattr-0.8.1, requests-2.28.1, sqlite3-3.40.1, urllib3-1.26.12
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1823 extractors
[bfmtv] Extracting URL: https://www.bfmtv.com/economie/replay-emissions/les-experts/les-experts-voitures-chinoises-la-riposte-europeenne-13-06_VN-202406130294.html
[bfmtv]<PHONE_NUMBER>94: Downloading webpage
[brightcove:new] Extracting URL: http://players.brightcove.net/876450612001/7wGPTnpvYw_default/index.html?videoId=6354923229112
[debug] Loading brightcove.876450612001_7wGPTnpvYw from cache
[brightcove:new]<PHONE_NUMBER>112: Downloading JSON metadata
[brightcove:new]<PHONE_NUMBER>112: Downloading m3u8 information
[brightcove:new]<PHONE_NUMBER>112: Downloading m3u8 information
[brightcove:new]<PHONE_NUMBER>112: Downloading MPD manifest
[brightcove:new]<PHONE_NUMBER>112: Downloading MPD manifest
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[info]<PHONE_NUMBER>112: Downloading 1 format(s): hls-596-0+dash-9b27d20e-1788-4223-8961-ab10a98bb0ef-1
[debug] Invoking hlsnative downloader on "http://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/876450612001/465501f3-5dc3-469a-9ac8-5664da19fc98/53cce9af-b27b-436f-b39f-073927e8b2d0/10s/rendition.m3u8?fastly_token=NjY5YTRjOTdfZTYxYjQ1ZGEwYTdhODIwZWU4ZmI1MjRjMWVjNWE1MjYyMmU1YzMxMTllZGIzN2YzNTFjZThmNWQzMWY4ZDM2Ng%3D%3D"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 108
[download] Destination: Les Experts ： Voitures chinoises, la riposte européenne - 13⧸06 [6354923229112].fhls-596-0.mp4
[download] Got error: HTTP Error 403: Forbidden. Retrying fragment 1 (1/10)...
[download] Got error: HTTP Error 403: Forbidden. Retrying fragment 1 (2/10)...

Description

Not sure if the correction of #10046 had been propagated.

What has #10046 (not fixed?) got to do with bfmtv.com?
If you meant #32608 the answer is that no-one has updated the extractor yet, but I'll take this a vote in favour. See also https://github.com/yt-dlp/yt-dlp/pull/8651.

My bad. It is #32815, not #10046.


[FEATURE] Support Tez Client Design

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the feature
We have made a design about support tez,  details are in this document.
https://docs.google.com/document/d/1__mOXmtqTX5hKFhVjg4VVwT0a7yosFAwO9koGZMHdQg/edit?usp=sharing
Motivation
No response
Describe the solution
No response
Additional context
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Could you give us the authority of the comment?

Maybe we can reuse https://github.com/apache/incubator-uniffle/issues/321, you can attach the design doc in the issue #321

Sorry, I was working on something else the other day; I just responded to something in the docs.

We will have online meeting to discuss some design details this Thursday at 7:00 pm (UTC +8). If someone have interest, you can tell me.


New installation crashes

ApplicationController#load_sections should give a helpful error message if sections is empty.
Installer should put an example directory and partial in app/views/style-guide/

Possible app/views/style-guide/application/_hello_style_guide.haml
Where to find the file how to create more.


All pull requests have 'across 1 directory' in the title since today

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
bundler
Package manager version
No response
Language version
No response
Manifest location and content before the Dependabot update
No response
dependabot.yml content
For example, https://github.com/Docbldr/docbldr-use-demo/blob/2502f361346f5b7394fb8cb1804e58c32d422439/.github/dependabot.yml
Updated dependency
selenium-webdriver from 4.19.0 to 4.20.1, and many other cases in all of our repositories
What you expected to see, versus what you actually saw
I expected to see a pull request title 'Bump selenium-webdriver from 4.19.0 to 4.20.1 in the development-dependencies group'.
Instead the pull request title is 'Bump selenium-webdriver from 4.19.0 to 4.20.1 in the development-dependencies group across 1 directory'. (See https://github.com/Docbldr/docbldr-use-demo/pull/3029).
Since there is only one directory with dependency information, this extra text is superfluous.
The same issue happens in all of the pull requests created by dependabot since today.
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
No response
Smallest manifest that reproduces the issue
No response

Hi @mvz , that is because we shipped multi-dir support. We can look at improving this, tagging @carlincherry

I opened a duplicate before discovering this issue. While multi-dir support might be nice, it's important to special case the single-dir case for PR titles as this will likely remain the most common use case.
In a normal repo with multiple groups configured, the current change makes things much less user friendly.

@mvz you are right! In your case it's just extra noise, in my case it's loss of crucial information. I might reopen.

I should add that this happens intermittently. Dependabot just now even closed PRs without 'across 1 directory' and opened new ones including the offending phrase.

@mvz , please does this still occur?

Yes it happened again two days ago for 2 PRs, that only covered one directory each

I on the other hand have not seen it happen in the last two weeks 🤷

Unfortunately, this problem happened again today.

The original pull request is fine, but during the rebase somehow dependabot decides to throw that one away and creates a new one with the incorrect message.

I have also just seen this behaviour.

Note that when Dependabot recreates the PR with 'across 1 directory' in the title, it also stops obeying the documented rule that, when grouped updates are enabled, updates go in the first matched grouped. This matters if you have a catch-all ‘other’ group – Dependabot incorrectly closes PRs and creates new PRs with 'across 1 directory' in the title with incorrect grouping rules applied. Therefore the bug is more severe than it sounds at first glance.
Unfortunately, the repo I'm seeing this in isn't a public one, but happy to share examples in private.


Security issue with md5

Nowaday there are a lot of tools to decrypte md5 which Glide use for sign on images.when people decrypte one of them they will see our secret key  because Glide generate sign like this
return md5($this->signKey.':250182131287'.ltrim($path, '/').'?'.http_build_query($params));(I added before some numbers but it doesnt matter there).If someone decrypt key they will my secret key,then they will try change sizes (maybe with some script to automatic generated sizes on the while loop) and then they will md5 this then they will send this sign  to Glide server,then Glide server will try to handle a lot of cache and will crash

Wow it is true ,I can also do this with online decryptes

this security concern is probably far fetched in 99.99% of use cases, however it looks like https://github.com/thephpleague/glide/blob/master/src/Signatures/Signature.php is trivial to override the generateSignature method to use a more secure hashing algo if you deem it necessary
just imho, im not a maintainer of this lib

First of, yes, this can be an issue, which is why we highly recommend using a large signing key.

The reason we use md5 is because it's fast. These request happen in realtime, so have a 1+ second encryption delay isn't very practical. That said, there isn't any reason why you couldn't extend the signature class as @francescolaffi is suggesting and add in your preferred signature generation technique.
At this point I'd probably like to get some input from some security experts who know more about this stuff than I do. I'm going to reach out to a couple folks.
I'd like to also see what other libraries that offer similar functionality are doing. Here are a couple examples to start:

Twilio uses hash_hmac (source)
Imgix uses crc32 (source)

https://github.com/thephpleague/glide/blob/5d71f2fb030907fdd9552b4952d1ecdc1804702e/src/Signatures/Signature.php#L61
You want hash_hmac(). The current construction is vulnerable to length-extension attacks.
Try replacing that line with:
return hash_hmac(
    'sha256',
    ltrim($path, '/') . '?' . http_build_query($params),
    $this->signKey
);

And this line with:
if (!hash_equals($params['s'], $this->generateSignature($path, $params))) {

Also, make sure your key generator uses a CSPRNG. For PHP 5.6 support, see https://github.com/paragonie/random_compat

Thanks @paragonie-scott, I really appreciate your input on this!

The reason we use md5 is because it's fast. These request happen in realtime, so have a 1+ second encryption delay isn't very practical.

@reinink Even then md5 is a poor choice, given that md5 is slow compared to more recent hashing algorithms that aren't broken yet.

Apologies for digging up and old issue here. Having skimmed the comments in the #170, specifically regarding CDN caching there are a couple issues with the existing signature mechanism I'd like to bring up:
https://github.com/thephpleague/glide/blob/5e4e4fe1bbe13d0cfc3d823bd60231deddf9cbf1/src/Signatures/Signature.php#L56-L62
Operation order is ignored
Sorting the keys in the query string increases the number of valid URLs for a given signature
$signature = new \League\Glide\Signatures\Signature('my-key');
echo $signature->generateSignature('/path', ['w' => 300, 'h' => 200, 'crop' => '100,100,50,50']) . PHP_EOL; //<PHONE_NUMBER>a6bcfcab46fc9c72d37795
echo $signature->generateSignature('/path', ['crop' => '100,100,50,50', 'h' => 200, 'w' => 300]) . PHP_EOL; //<PHONE_NUMBER>a6bcfcab46fc9c72d37795

Example Code Shows Decoded URLs
The example code uses $_GET to retrieve the query string parameters. The values in $_GET and $_REQUEST are both URL decoded as noted in the docs. This means that there are even more valid inputs for a given signature. Every character in the value has two valid values, the plain text, , and the url encoded %2C.
None of these work to expose your signature or grant the attacker access to use your service free of charge. They seem better used as DDOS attacks. Find a series of large images on the site and then use the multiple of valid inputs to attack the origin server.
This only effects CDNs with cache read through, not the current implementations where the images are served from an "on disk" cache.
My inelegant solution is as follows:
    /**
     * Validate a request signature.
     * @param  string             $path   The resource path.
     * @param  string             $params The raw query string not url encoded.
     * @throws SignatureException
     */
    public function validateRequest($path, $query_string)
    {
        // Extract Signature From THE END Query String
        preg_match('/&s=([a-zA-Z0-9]+)$/', $query_string, $matches);
        if (!$matches) {
            throw new SignatureException('Signature is missing.');
        }

        // Remove the signature from the end of the query string and sign the data
        $our_signature = hash_hmac(
            'sha256',
            ltrim($path, '/') . '?' . substr($query_string, 0, -1 * (strlen($signature) + 3)),
            $this->signKey
        );

        if (!hash_equals($our_signature, $matches[1])) {
            throw new SignatureException('Signature is not valid.');
        }
    }

Your glide controller code would look something like this. This a BC change as it requires $query_string to be a string.
try {
    $this->signature_verifier->validateRequest($request->path(), $_SERVER['QUERY_STRING']);
} catch (SignatureException $e) {
    return new Response('', Response::HTTP_FORBIDDEN, [
        'x-reason' => $e->getMessage()
    ]);
}

return $this->glide_server->getImageResponse($path, $request->all());


Severity	Code	Description	Project	File	Line	Suppression State Error		Could not install package 'Refit 4.0.1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.			0

Currently using Profile 111 .Net Portable 4.5 Installing Refit 4.0.1
Severity	Code	Description	Project	File	Line	Suppression State
Error		Could not install package 'Refit 4.0.1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.			0

Posted question on StackOverflow
Did i miss something?

Yes. 4.x is NET Standard.

I used MvvmCross using PCL as the CORE.
So what should I do?

Can this be used in PCL Core?

Convert your PCL to NET Standard.

I facing the same issue, I have upgraded my PCL to .NET Standard Class Library as shown in the link below
https://xamarinhelp.com/upgrade-pcl-net-standard-class-library/
It works for me.


Only pull after remote change possible

After having done local changes as well as a change to the branch vie gitHub Web-UI (readme.md), only a pull is possible. This overwrites local changes.

yep, a dirty workaround is to change the SHA1 for the repository in SO10
as far as I remember then git command line will create a new branch for changes like this. Need the whole staging setup done then stuff like this can be solved

todo: there is a bug in 750 regarding local test classes after deserialize, this will probably mess it up


triggerUpdate strange behaviour (react-flow v10 related)

I've followed the example to make useUndoable working with react-flow-v10, after some problems with the "pixel-to-pixel" movement issue I've managed to handle it. everything works as expected except the last thing that is making me crazy.
it seems that when a node Is deleted the triggerUpdate is not able to record the deletion of the connected edges.
live example: https://codesandbox.io/s/react-flow-v10-undo-sjy7tu?file=/src/App.js
if you delete the "second node" (by selecting it and pressing backspace) the state is updated with only two nodes (correctly) but the list of edges remains 2 (should be 0).  you can press the "debug" button and look at the current state after the deletion of the node.
I'm trying to understand the issue, but I need some help. it seems that the triggerUpdate correctly receives the empty list of edges upon applyEdgeChanges is invoked.  but for some reason the state is not updated correctly and I still have 2 edges in the list in the present state.  maybe is a race condition or an internal state that is not updated...
I'm wondering if the triggerUpdate method can have other side effects in other situations.

I'm starting wondering if a better approach to support v10 would be to completely ignore (don't record in the history) the state updates in the onNodesChange and onEdgesChange and record in the history only the onConnect onEdgesDelete onNodesDelete so the "undo" action will be consistent in every case ignoring all the select position dimension events fired for apply*Changes

I'm starting wondering if a better approach to support v10 would be to completely ignore (don't record in the history) the state updates in the onNodesChange and onEdgesChange ...

I think you may be right here. The main problem is the generic nature of the aforementioned functions—they handle almost any event, which we have to manually sift through.
Your original issue, however, is interesting. You are correct in that the 2 edges remain in the state after a deletion. If you undo from that point, they are not returned, which means that there is a delay of some kind. I'll do some more investigating, but my first guess would be that the two changes are being overwritten.
Deleting a node affects both the nodes and edges, which is two separate state updates. This could probably be solved by using the specific event handler functions like your most recent comment explained. Nevertheless, I'll continue looking into this issue as it stands.

yes. thank you. I also want to find out the first issue with triggerUpdate and then maybe change the code to handle all the events separately to better have a "undo" behaviour for the users.  making undo change the selected node is not ideal. selection is not actually an action you usually undo.

I'm closing this as the discussion has moved to issue #13.


WIP: Add streaming for paginated list operation

Pull Request Test Coverage Report for Build 7f5eae07955af9f34f664cf1e2a07799215cb95a-PR-46
Details

12 of 36 (33.33%)  changed or added relevant lines in 1 file are covered.
11 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-4.9%) to 71.849%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/kubereq.ex
12
36
33.33%

Files with Coverage Reduction
New Missed Lines
%

lib/kubereq/connect.ex
3
75.0%

lib/kubereq/pod_logs.ex
3
30.77%

lib/kubereq/pod_exec.ex
5
26.67%

Totals

Change from base Build 8c562ea1de9bcb37c4eb0245ca4d712d13046caa:
-4.9%

Covered Lines:
342

Relevant Lines:
476

💛  - Coveralls


No server certificate was specified

I am trying this on my local cluster. I am providing my certificate based on the top code block
<ContainerHostPolicies CodePackageRef="NodeContainerService.Code">
<CertificateRef Name="MyCert1" X509StoreName="My" X509FindValue="[Thumbprint1]"/>
<CertificateRef Name="MyCert2" X509FindValue="[Thumbprint2]"/>
I am using Containers for Windows.
Am i missing something?
Thank you!

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

ID: 488c060b-5a0e-75d3-498a-4c1dd3ee058e
Version Independent ID: 06f2544d-f98c-2ecf-686c-a7941d263af3
Content: Import certificates into a container - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-securing-containers.md
Service: service-fabric
GitHub Login: @athinanthny
Microsoft Alias: atsenthi

Here is full stack trace

@MattHartz
Thanks for your Question! We are currently investigating and will get back on this.

Are you still seeing this issue?

We will now close this issue. If you are still seeing this issue, please tag me in a comment. I will reopen it and we will gladly continue the discussion.


Absolute VI references to VIs provided by VeriStand cause the Connector Pane test to fail

The Routing and Faulting custom device is currently failing this test due to using the Delete action provided by VeriStand.
https://github.com/ni/niveristand-routing-and-faulting-custom-device/blob/942e31ba62c3bb2f6da747b80472c64731d16f4c/Source/Routing and Faulting/Custom Device Routing and Faulting.xml#L256-L267

Fixed by https://github.com/ni/niveristand-custom-device-testing-tools/pull/50


Resolved the Installation via CMake also brings in 3rd party Dependency Issue

This PR addresses issue #13  where Google Benchmark was being installed by default, leading to unnecessary dependencies in production builds. By making the inclusion of Google Benchmark conditional, we reduce the build time and avoid installing unwanted dependencies in environments where benchmarks are not needed.
Changes Made:

Added a CMake option BUILD_BENCHMARKS to control the inclusion of the benchmark subdirectory.
Modified the root CMakeLists.txt to only fetch and build Google Benchmark when BUILD_BENCHMARKS is set to ON.

Rationale:
These changes allow developers and users to opt-in to benchmarking only when needed, streamlining the build process for production environments.
Testing:

Compiled and ran the project with BUILD_BENCHMARKS=OFF and verified that Google Benchmark is not included.
Compiled and ran with BUILD_BENCHMARKS=ON to ensure benchmarks still function as expected.

Potential Impact:
No impact on the main functionality of the project is expected. Benchmarks are entirely optional and are only included based on the build configuration.
Please review the changes and provide your feedback on the implementation of the conditional inclusion logic. Any insights or suggestions would be greatly appreciated!
-Vatsal

This is a good idea, my only thought is, along with this cleanup we could move the FetchContent down to the benchmark/CMakeLists.txt since that subfolder is where it’s needed.

This is a good idea, my only thought is, along with this cleanup we could move the FetchContent down to the benchmark/CMakeLists.txt since that subfolder is where it’s needed.

Thank you for the feedback! I agree that moving the FetchContent call for Google Benchmark to the benchmark/CMakeLists.txt makes a lot of sense since it isolates the dependency to where it's actually needed. This change would not only clean up the main CMakeLists.txt but also keep the benchmark-specific configurations contained within their own scope, which enhances maintainability and clarity of the build scripts.
I'll make these adjustments and update the pull request accordingly. I'll also ensure to test the changes to confirm everything works as expected with the new configuration. Thanks again for the guidance.


Automated cherry pick of #5392: Uniform DNS Interception

Cherry pick of #5392 on release-1.13.
#5392: Uniform DNS Interception
For details on the cherry pick process, see the cherry pick requests page.

/test-all


Fix #442: set blocks and blocksize in fuse

I added code to set the blocks and blocksize similar to  MediaFire/mediafire-fuse#15. Also added a test.
I cannot test if this fixes the issue on my machine, since I cannot reproduce the original problem. OS X does not report 0 file sizes, even when using the "du" from the GNU coreutils. Maybe the OS X fuse layer does a similar calculation?
Maybe someone can test this on another OS?

Hey, thanks for your work! Could you rebase this branch on current master, so the first two commits aren't included in the PR and we can have a proper review?

I've just run the fuse tests on Linux, looks good!


goog.ui.SplitBehavior menu button height is wrong in FF in the demo

This issue was imported from Closure Library's previous home at http://closure-library.googlecode.com
The link to the original issue is:
https://code.google.com/p/closure-library/issues/detail?id=507

Confirmed only on FF16, let you decide what you want to do.

goog.ui is not actively maintained.

It seems that SplitBehavior was removed in 76b2508 in March 2017, and the demo along with it.


How to delete the repository?

          How to delete the repository?

Originally posted by @SoeTOo in https://github.com/SoeTOo/skills-hello-github-actions/issues/4#issuecomment-1729000943
I created one Repository wrongly and wanna delete it. But I dunno yet time being how to. 🤔 💭

Yay I did it and know it how to do it. :tada:


[DEVX-1549] Using suite name as artifacts foler name

Proposed changes

Artifacts file structure will be like
ls -l artifacts
total 0
drwxr-xr-x  3 tianfeng  staff  96 15 Mar 17:01 Chrome-test_-_1-2
drwxr-xr-x  3 tianfeng  staff  96 15 Mar 17:03 Chrome-test_-_1-2.1
drwxr-xr-x  3 tianfeng  staff  96 15 Mar 17:05 Chrome-test_-_1-2.2

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] I have updated the json schema (if appropriate)

Further comments

This was one of those useful features you didn't know you had until you removed it. Our CI used to get the test id from the artifacts folder name and build the url to the test and post it on the Build Status for the Pull Requests. Now there is no way to get the test id/link.


cli/main: autoenable fixup mode when no uid present

While at it, we also suggest using --fixup if errors are present and
it was not being used.

Codecov Report

Merging #91 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master     #91   +/-   ##
======================================
  Coverage    88.2%   88.2%
======================================
  Files           5       5
  Lines         780     780
======================================
  Hits          688     688
  Misses         56      56
  Partials       36      36

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 b20df48...f06c6a5. Read the comment docs.

One sec, I will also modify the README.


Replace os.rename with shutil.move in utils.safe_save

Could not start project without this adjustment.
$ ➜ watson start test
Starting project test  at 21:34
Error: Impossible to write None: [Errno 18] Invalid cross-device link

OS: ubuntu 16.04 x64

This is probably because the temporary directory is on another partition than the watson dir.


Slow Remote Debugging of C++

Type: Performance Issue
I'm doing remote development, with my code and process living on a Linux box, but my development in VS Code is in Windows 11.  Most things work fast (enough), including debugging some smaller C++ (and Java) programs.  But the main program I work on is C++, is large and has many (~130) threads (which I think might be relevant).
Currently it takes almost 30 seconds between when I click to "Step Over" (or Step Into) and when the system is ready (e.g., to display the value of symbols I hover my mouse over, or continue with the nest Step Over, etc.).  During this time, I see much activity in the "Debug Console" window.  And I've tried to see how much was sent for a single step, and it seems to be thousands of lines (but I didn't count exactly) (I don't speak gdb, which I assume is what is being used here, so I'm not sure exactly what is being done here).
Are there things I can do to speed this up?  For example, I found that if I collapse the "Call Stack" window that the time is closer to ~15 seconds per step, which is a big improvement, but still extremely slow.  The ~15 seconds was with a few watch variables, but I typically debug without any (and keep this window collapsed, and rarely look at the "Variables", which I also keep collapsed).
I suspect much information about the program state is being sent, that I don't usually need (e.g., about each thread, which I almost never care about).  There might also be an issue of having the (hundreds? of) requests for data be sent one at a time, which might be much worse for me debugging remotely than it would be on the same machine.
Do you need more info from me, such as the Debug Console output?  Are there things I could do now to improve this?  Could this be improved if not all threads needed to be displayed, but just the current thread (or none) most of the time?  Could the system defer more of the data it is currently retrieving until it is actually needed?
VS Code version: Code 1.84.2 (1a5daa3a0231a0fbba4f14db7ec463cf99d7768e, 2023-11-09T10:51:52.184Z)
OS version: Windows_NT x64 10.0.22631
Modes:
Connection to 'ssh-remote+andy-server' could not be established
Remote OS version: Linux x64 5.4.0-167-generic

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz (8 x 3302)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.84GB (5.37GB free)

Process Argv
--file-uri vscode-remote://ssh-remote%2Bandy-server/opt/gpudb-dev/server-master.code-workspace --crash-reporter-id 04ee8daf-1cd4-4053-981f-c1eb77f02499

Screen Reader
no

VM
0%

Connection to 'ssh-remote+andy-server' could not be established

Item
Value

Remote
SSH: andy-server

OS
Linux x64 5.4.0-167-generic

CPUs
Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz (24 x 1600)

Memory (System)
70.76GB (54.28GB free)

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	    98	  7716	code main
    0	    27	  4044	   crashpad-handler
    0	   193	  5824	   gpu-process
    0	    70	  6716	fileWatcher [1]
    0	   254	  7856	window [1] (GaiaSetDictVector.cpp - server-master (Workspace) [SSH: andy-server] - Visual Studio Code)
    0	    81	  7948	fileWatcher [2]
    0	   235	 10744	window [2] (gpudb.conf - server-7.1 (Workspace) [SSH: andy-server] - Visual Studio Code)
    0	    77	 15752	   utility-process
    0	   100	 17688	shared-process
    0	    96	 18152	window [3] (Issue Reporter)
    0	    75	 18756	ptyHost
    0	     6	  4276	     conpty-agent
    0	     3	  6272	     C:\WINDOWS\System32\cmd.exe /c (type "C:\Users\andyj\AppData\Local\Temp\vscode-linux-multi-line-command-andy-server-254757675.sh" | "C:\WINDOWS\System32\OpenSSH\ssh.exe" -T -D 53782 "andy-server" bash) & exit /b 0
    0	     9	 11992	       "C:\WINDOWS\System32\OpenSSH\ssh.exe"  -T -D 53782 "andy-server" bash
    0	     3	 15144	     C:\WINDOWS\System32\cmd.exe /c (type "C:\Users\andyj\AppData\Local\Temp\vscode-linux-multi-line-command-andy-server-551837229.sh" | "C:\WINDOWS\System32\OpenSSH\ssh.exe" -T -D 53338 "andy-server" bash) & exit /b 0
    0	     9	  3396	       "C:\WINDOWS\System32\OpenSSH\ssh.exe"  -T -D 53338 "andy-server" bash
    0	     6	 16760	     conpty-agent
    0	    84	 22736	extensionHost [1]
    0	   108	 22808	extensionHost [2]
    0	    43	 24196	   utility-network-service
Connection to 'ssh-remote+andy-server' could not be established

Remote: SSH: andy-server
CPU %	Mem MB	   PID	Process
    0	     0	3966262	remote agent
    0	     0	3966375	   ptyHost
    0	     0	4129631	     /bin/sh /nfs/users/ajacobs/bin/tmux-here
    0	     0	4129633	       tmux attach-session -t andy
    0	     0	4129120	   extension-host
    0	     0	4130750	     /nfs/users/ajacobs/.vscode-server/bin/1a5daa3a0231a0fbba4f14db7ec463cf99d7768e/node /nfs/users/ajacobs/.vscode-server/bin/1a5daa3a0231a0fbba4f14db7ec463cf99d7768e/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=4129120
    0	     0	4131174	     /nfs/users/ajacobs/.vscode-server/bin/1a5daa3a0231a0fbba4f14db7ec463cf99d7768e/node /nfs/users/ajacobs/.vscode-server/extensions/redhat.fabric8-analytics-0.7.3/dist/server.js --node-ipc --clientProcessId=4129120
    0	     0	4131477	     /nfs/users/ajacobs/.vscode-server/extensions/ms-vscode.cpptools-1.18.5-linux-x64/bin/cpptools
    0	     0	4132334	     /usr/lib/jvm/jdk-17/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -DDetectVMInstallationsJob.disabled=true -Dfile.encoding=utf8 -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -Xlog:disable -javaagent:/nfs/users/ajacobs/.vscode-server/extensions/redhat.java-1.25.0-linux-x64/lombok/lombok-1.18.30.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/nfs/users/ajacobs/.vscode-server/data/User/workspaceStorage/f5fb88b85a1419d323813934747bab70/redhat.java -Daether.dependencyCollector.impl=bf -jar /nfs/users/ajacobs/.vscode-server/extensions/redhat.java-1.25.0-linux-x64/server/plugins/org.eclipse.equinox.launcher_1.6.600.v20231012-1237.jar -configuration /nfs/users/ajacobs/.vscode-server/data/User/globalStorage/redhat.java/1.25.0/config_linux -data /nfs/users/ajacobs/.vscode-server/data/User/workspaceStorage/f5fb88b85a1419d323813934747bab70/redhat.java/jdt_ws --stdio
    0	     0	4129178	   fileWatcher

Workspace Info

Connection to 'ssh-remote+andy-server' could not be established
|  Remote: SSH: andy-server;

Extensions (38)

Extension
Author (truncated)
Version

Bookmarks
ale
13.4.2

remotehub
Git
0.62.0

better-cpp-syntax
jef
1.17.2

vscode-cudacpp
kri
0.1.1

l13-diff
L13
1.3.4

remote-ssh
ms-
0.107.1

remote-ssh-edit
ms-
0.86.0

remote-wsl
ms-
0.81.8

vscode-remote-extensionpack
ms-
0.25.0

azure-repos
ms-
0.38.0

remote-explorer
ms-
0.4.1

remote-repositories
ms-
0.40.0

remote-server
ms-
1.5.0

Bookmarks
ale
13.4.2

githistory
don
0.6.20

gitlens
eam
14.5.2

vscode-javac
geo
0.2.46

l13-diff
L13
1.3.4

restructuredtext-pack
lex
1.0.3

git-graph
mhu
1.30.0

isort
ms-
2023.10.1

python
ms-
2023.20.0

vscode-pylance
ms-
2023.11.10

cpptools
ms-
1.18.5

cpptools-extension-pack
ms-
1.3.0

hexeditor
ms-
1.9.12

fabric8-analytics
red
0.7.3

java
red
1.25.0

vscode-yaml
red
1.14.0

simple-rst
tro
1.5.4

kb-macro
tsh
0.13.10

intellicode-api-usage-examples
Vis
0.2.8

vscodeintellicode
Vis
1.2.30

vscode-java-debug
vsc
0.55.0

vscode-java-dependency
vsc
0.23.3

vscode-java-pack
vsc
0.25.15

vscode-java-test
vsc
0.40.1

vscode-maven
vsc
0.43.0

(2 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscorecescf:30445987
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
py29gd2263:30899288
vscaac:30438847
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
3biah626:30602489
f6dab269:30613381
showlangstatbar:30737416
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
welcomedialogc:30910334
pythonnosmt12:30797651
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
dsvsc013:30795093
dsvsc014:30804076
dsvsc015:30845448
pythontestfixt:30902429
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:30885898
pythontbext0:30879054
accentitlementsc:30887149
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
aa_t_chat:30882232

Please file on the C++ extension


Don't create client when authentication fails on websocket proxy

Motivation
Websocket proxy create producer/consumer even though authentication fails and they remains until proxy is restart.
Modifications
Proxy doesn't create producer/consumer when authentication fails.
Result
producer/consumer doesn't increase when authentication fails.

👍


url_for with alternating schemes

I noticed unexpected behaviour with url_for when generating multiple urls with different schemes during a request. After calling url_for with a specific _scheme, this scheme will become the default scheme in the current context's url_adapter.
Best demonstrated with a small example:
import flask

app = flask.Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World'

with app.test_request_context('/'):
    flask.url_for('hello', _external=True)
    # http://localhost/
    flask.url_for('hello', _external=True, _scheme='https')
    # https://localhost/
    flask.url_for('hello', _external=True)
    # https://localhost/

I would expect the first and third call to return the exact same result.
PR contains a test demonstrating the issue and a proposed fix.

while the patch works, i wonder if its correct to read the configuration value instead of restoring the previous value after invoking the builder or turning it into a argument to begin with

I'm not too sure either. But you're right, getting from config every time isn't what you'd want. However, modifying attributes of url_adapter from within url_for isn't too elegant either way. Best solution would be to introduce an extra argument scheme to werkzeug's routing.MapAdapter.build method.
What would you suggest? Shall I make a pull request for that?

this is implicit behavior .. not sure why, but how did it get merged .

I wonder if the entire thing is even threadsafe...

Would it be a better idea to instead of reading the config to say
if _sheme is None:
    url_adapter.url_scheme = "http"

@AzureusNation I don't really know what you mean.

@untitaker Sorry ill explain a bit better.
And in fact I would have been wrong anyway but lines 302 - 307 would look a little like this.
if scheme is not None:
    if not external:
        raise ValueError('When specifying _scheme, _external must be True')
    url_adapter.url_scheme = scheme
else:
    url_adapter.url_scheme = "http"

I think configuring a different default scheme than http is useful.

@untitaker it's only an idea to reset to default. But I can also see the use of having a configuration for this as well.

This is definitely surprising behavior that I'd classify as a bug, and be nice to get it fixed. @untitaker you're pretty familiar with Werkzeug internals, do you think should this be fixed in Werkzeug or in Flask?

Definetly a bug. As far as I can understand it can only be fixed in Flask. That said, I don't consider the bugfix to be ideal since it duplicates logic found in flask.Flask.create_url_adapter, which might be overridden in a subclass to override that logic.

Also my previous comments about threadsafety are misguided.

Closing this in favor of #1813.