Merge DbConnectionPool

Contributes to #1261.
DbConnectionPool is almost identical between .NET Core and Framework. When combined with #2410, this should mean that everything in the ProviderBase folders besides DbConnectionPoolCounters can be merged.
Core differences here:

In DbConnectionPool.CleanupCallback, Semaphore.WaitOne used an overload with an exitContext parameter in Framework but not in Core. This parameter seems to be ignored in .NET Core, but I've included the change for the sake of .NET Framework.
DbConnectionPool.CreateCleanupTimer returned ADP.UnsafeCreateTimer in .NET Core but created a Timer instance directly in .NET Framework. I've adopted the .NET Core methodology - the comment for UnsafeCreateTimer indicates that it's used to prevent the current ExecutionContext from flowing into a global timer and not being GCed, which seems reasonable.

 Hopefully these will cease to exist when the OTel metrics are implemented.

Looks good, once the merge conflicts are fixed, I'll get it merged

Thanks @benrr101 - merge conflicts are now addressed and CI's running.

Thanks again @edwardneal this one unblocked me to work on DbConnectionFactory and DbConnectionInternal

Great! If it saves any effort, I think DbConnectionFactory is already merged. I did take a quick look at DbConnectionInternal, but found it slightly frustrating - I didn't see any deal-breaking differences, but didn't get an easily reviewable PR because the .NET Core version was split between two files.


[release/v2.6] Add etcd snapshot restore functionality for v2prov with restoreRKEConfig

https://github.com/rancher/rancher/issues/35468
This PR adds a couple of bits of functionality, namely around etcd snapshots for v2provisioning clusters.
The primary bits of functionality enhancements are around

Reliability of restoring etcd snapshots
General reliability enhancements of v2provisioning
Adds enhancement to allow restoring Kubernetes version and cluster spec during an etcd snapshot restore
Moves to using etcd snapshot objects rather than the status field on the cluster object -- note, this will break the current Rancher UI from being able to show existing RKE2/K3s snapshots.
Integrate periodic output usage into Rancher for joinURL scraping (etcd only init node) and etcd snapshot reconciliation against node

@thedadams I need to tweak some of the logic to make it safer, I'll re-add you as a reviewer when it's ready

force push required to drop dev commit that had no business being in the mainline branch

@Oats87 , reviewing this in background. Meanwhile, regarding this note - this will break the current Rancher UI from being able to show existing RKE2/K3s snapshots - what is the plan for addressing this? More specifically:

Do we need UI change to show new snapshots?
Regarding existing snapshots, do we just "release note" this? I think it's acceptable given "tech preview" situation in 2.6.3.

Marked my comments as resolved based on an offline discussion with Chris. We need to get these changes in to unblock a lot of testing as well as other changes, so we can skip addressing nits as soon as the implemented logic is sound.
I'm deferring to @thedadams @luthermonson to confirm this.


Kraken2 contig annotation

Description of feature
Write a subworkflow where the a kraken2 database is constructed based upon the input sequence file.
Ideal case we first cluster on species then segment.
It will need to have an kraken2_taxid:IDNUMBER within the header?
1. Building the new db

[ ] extract NCBI ID's
[ ]  eutil esearch  & fetch
[ ] rename headers
[ ] kraken2-build -add
[ ] kraken2-build -build

2. searching the DB

[ ] read search
[ ] contig search
[ ] contig binning

3. contig clustering
Tools are already implmented

This step might be usefull for contig filtering & annotation of the final result as list of contigs is not usefull.


OSX not detecting the SD card plugged in a GoPro Hero4, nor mounted filesystem

Following https://community.gopro.com/t5/en/Camera-is-not-Recognized-when-Plugged-into-a-Computer-USB-Port/ta-p/392993 I plugged in USB first with the power of Hero4 off, I see red light turned on indicating it's probably charging, then turned the power on. I see "USB Connected. Camera Files Accessible" but I don't see OSX detected anything. The list of disks don't change before and after.
$ df -h
Filesystem      Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk1s5   838Gi   10Gi  116Gi     9%<PHONE_NUMBER>165871    0%   /
devfs          188Ki  188Ki    0Bi   100%     650          0  100%   /dev
/dev/disk1s1   838Gi  707Gi  116Gi    86% 3143965<PHONE_NUMBER>    0%   /System/Volumes/Data
/dev/disk1s4   838Gi  3.0Gi  116Gi     3%       4<PHONE_NUMBER>    0%   /private/var/vm
map auto_home    0Bi    0Bi    0Bi   100%       0          0  100%   /System/Volumes/Data/home
/dev/disk0s3    94Gi   84Gi   10Gi    90%  872873   10594515    8%   /Volumes/BOOTCAMP
/dev/disk1s3   838Gi  504Mi  116Gi     1%      46<PHONE_NUMBER>    0%   /Volumes/Recovery

Kind of weird to me (but may not be so to others?) but Google Drive detected the SD card in the GoPro under "computer" category and copied all on Google Drive. I couldn't find the way to locally copy them so I manually copied those files on the SD card.
(I feel like the same happened when I plugged kids' USB camera although at that time I didn't confirm Google Drive's behavior)

Not sure if it's the same issue but on Ubuntu 20.04 I'm unable to see it mounted either.
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.5G     0  7.5G   0% /dev
tmpfs           1.6G  2.4M  1.6G   1% /run
/dev/sda1       865G  568G  253G  70% /
tmpfs           7.6G     0  7.6G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.6G     0  7.6G   0% /sys/fs/cgroup
/dev/loop0      9.8M  9.8M     0 100% /snap/chuck-norris-webserver/16
/dev/loop3      100M  100M     0 100% /snap/core/11606
/dev/loop2      214M  214M     0 100% /snap/code/72
/dev/loop1      217M  217M     0 100% /snap/code/73
/dev/loop4      100M  100M     0 100% /snap/core/11420
/dev/loop5       62M   62M     0 100% /snap/core20/1081
/dev/loop6       56M   56M     0 100% /snap/core18/2128
/dev/loop7       56M   56M     0 100% /snap/core18/2074
/dev/loop8      219M  219M     0 100% /snap/gnome-3-34-1804/66
/dev/loop9      312M  312M     0 100% /snap/multipass/5317
/dev/loop11     6.3M  6.3M     0 100% /snap/webhook/5
/dev/loop10     128K  128K     0 100% /snap/hello/29
/dev/loop13      12M   12M     0 100% /snap/shout/9
/dev/loop16      51M   51M     0 100% /snap/snap-store/542
/dev/loop12     128K  128K     0 100% /snap/hello/38
/dev/loop14      65M   65M     0 100% /snap/gtk-common-themes/1514
/dev/loop15      57M   57M     0 100% /snap/snapcraft/6751
/dev/loop17      51M   51M     0 100% /snap/snap-store/547
/dev/loop18      62M   62M     0 100% /snap/core20/1026
/dev/loop19      71M   71M     0 100% /snap/snapcraft/6596
/dev/loop20     219M  219M     0 100% /snap/gnome-3-34-1804/72
/dev/loop21      66M   66M     0 100% /snap/gtk-common-themes/1515
/dev/loop22     6.7M  6.7M     0 100% /snap/webhook/4
/dev/loop23      37M   37M     0 100% /snap/face-detection-demo/52
/dev/loop24     312M  312M     0 100% /snap/multipass/5309
tmpfs           1.6G   64K  1.6G   1% /run/user/1001

Same as https://github.com/130s/hut_10sqft/issues/442#issuecomment-661641989, Google Drive shows the folder on GoPro4 so for now I'll just copy from  there.

Same as #442 (comment), Google Drive shows the folder on GoPro4 so for now I'll just copy from there.

Spoke too early. Actually the list of files looked outdated, like the ones I accessed the last time (more than an year ago).
Initially Nautilus was able to open the folder on the SD card in the GoPro4, but I didn't copy anything. now Nautilus fails saying Unable to mount StillImage. Unable to open MTP device "001,018". I suspended the OS and resumed but I see the same.


Part2 sftp copy

This is part 2 of https://github.com/linkedin/gobblin/pull/403
Tasks from meeting,

Use password encryption for SFTP creds and decryption passphrase - Done
Open ticket to explore unarchival in converter - Done
Rename archive..writer to Tar..writer or support other archival types in archive writer -  Done
Implement permission -  Done
Add preserver flags (group, owner, permission) to job config -  Will be done in config package
split pull request to Dataset, Copyable Dataset, SFTP -  Done

I have added support to handle multiple datasets in the writer and the publisher. The task staging and task output now have the complete path of the final destination under them.
The publisher goes over each dataset in the task out put and publishes them.
E.g.
Source FileSystem
/src/a/b/c /t1.txt
/src/a/b/c /t2.txt
Let's say /src/a/b/c needs to be copied to /dest/data/a/b/c,
After InputStreamDataWriter.write
Gobblin's task staging directory looks like,
-/tmp/gobblin/task_staging/task_Id1/dest/data/a/b/c/t1.txt
-/tmp/gobblin/task_staging/task_Id2/dest/data/a/b/c/t2.txt
After InputStreamDataWriter.commit
Gobblin's task output directory looks like,
-/tmp/gobblin/task_output/dest/data/a/b/c/t1.txt
-/tmp/gobblin/task_output/dest/data/a/b/c/t2.txt
Note that the commit method accumulates directory paths under multiple task staging directories to one task output directory. This will make sure parallel mapper task DO NOT overwrite directories created by another mapper.
After CopyDataPublisher.publish
Destination FileSystem looks like,
/dest/data/a/b/c/t1.txt
/dest/data/a/b/c/t2.txt
Each dataset is renamed at a time by the publisher. In this case /dest/data.

@chavdar and @ibuenros please take a look

@liyinan926 can you also review?

I have updated the PR with all the changes discussed. @chavdar  and @ibuenros  please take a look.
Major changes -

Implement a way to serialize CopyableDataset in the Source and deserialize them in the publisher
Implement setting ancestor permissions and children permission in the writer
Sftp Channel management

Disconnect channel after use
Reuse channel where multiple commands are executed
Add a hook to InputStream to disconnect channel when InputStream#close() is called
Remove storing all channels in a set locally as jsch already does this internally

Use java nio channles to copy bytes from InputStream to OutputStream in the Writers

@chavdar I addressed all comments from 11/05. Please take a look


[Slim3] Allow callable

Hi,
I have noticed the resolve https://github.com/slimphp/Slim/blob/3.x/Slim/CallableResolver.php#L77 is not checking if it is callable.
So even if you create a route like
class LoginAction
{
    public function __invoke(...)
    {
    }
}

$app->get('/login', 'App\Controllers\Login\LoginAction')
	->setName('login');

is not calling and throwing exception could not resolve. It can be resolved getting from the container and checking is callable ?

I like now route pattern. but now you will also be following pattern
private function resolve()
{
    // if it's callable, then it's already resolved
    if (is_callable($this->toResolve)) {
        $this->resolved = $this->toResolve;

    // check for slim callable as "class:method"
    } elseif (is_string($this->toResolve)) {
        $callable_pattern = '!^([^\:]+)\:([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)$!';
        if (preg_match($callable_pattern, $this->toResolve, $matches)) {
            $class = $matches[1];
            $method = $matches[2];

            if ($this->container->has($class)) {
                $this->resolved = [$this->container->get($class), $method];
            } else {
                if (!class_exists($class)) {
                    throw new RuntimeException(sprintf('Callable %s does not exist', $class));
                }
                $this->resolved = [new $class, $method];
            }
            if (!is_callable($this->resolved)) {
                throw new RuntimeException(sprintf('%s is not resolvable', $this->toResolve));
            }
        } else {
            throw new RuntimeException(sprintf('%s is not resolvable', $this->toResolve));
        }
    }
}

private function resolve()
{
    // if it's callable, then it's already resolved
    if (is_callable($this->toResolve)) {
        $this->resolved = $this->toResolve;

    // check for slim callable as "class:method"
    } elseif (is_string($this->toResolve)) {
        $callable_pattern = '!^([^\:]+)(\:([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)$)?!';
        if (preg_match($callable_pattern, $this->toResolve, $matches)) {
            $class = $matches[1];
            $method = isset($matches[2]) ? $matches[2] : '__invoke';

            if ($this->container->has($class)) {
                $this->resolved = [$this->container->get($class), $method];
            } else {
                if (!class_exists($class)) {
                    throw new RuntimeException(sprintf('Callable %s does not exist', $class));
                }
                $this->resolved = [new $class, $method];
            }
            if (!is_callable($this->resolved)) {
                throw new RuntimeException(sprintf('%s is not resolvable', $this->toResolve));
            }
        } else {
            throw new RuntimeException(sprintf('%s is not resolvable', $this->toResolve));
        }
    }
}

chage :
$callable_pattern = '!^([^\:]+)(\:([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)$)?!';
$method = isset($matches[2]) ? $matches[2] : '__invoke';

This is now fixed, thanks for the feedback @harikt

Thank you @silentworks and @akrabat .
Sorry that I wasn't able to send a PR than opening an issue :-/ . Got a bit busy .

we're always happy with an issue report :)


Accelerate DB update: replace TreeSets in Vulnerability by HashSets

The sets Vulnerability.vulnerableSoftware and Vulnerability.references use TreeSets. Maintaining the order is especially for vulnerableSoftware quite expensive, as items are very frequently added and VulnerableSoftware.compareTo() involves stuff like String splitting.
The only two places where these two collections are being used are:

CveDb.updateVulnerability(): VulnerableSoftware and Reference entities are being inserted into the DB. The order should not matter here, I guess.
Vulnerability.toString()

I provided a PR that replaces the TreeSets by HashSets.

Vulnerability.toString(): I do not know, where this is being used. Looks like a convenience method for debugging. But at least I guess it is being called rarely. For convenience I kept the sorted output at this place.
VulnerabilityTest.testSoftwareSorting(): Though the sorting was explicitly tested, I hope that there is actually no strong need for this. I removed the test case.

On my machine the speedup for DB update was ~2 min. It dropped from 3:48 min to 1:45 min.

Thanks - I think I had originally used a sorted set so that the reports (HtmlReport.vsl](https://github.com/jeremylong/DependencyCheck/blob/master/dependency-check-core/src/main/resources/templates/HtmlReport.vsl#L852) would display a sorted list. It will be better to sort the list only on display.
I appreciate the PR.


Add sourcehut builds

Since vtebench doesn't contain any platform specific code, may we remove CI on anything, but Linux.


Unit tests for leptos-config and new functions for loading configuration

There were missing unit tests for leptos-config so I created it. I tried to follow the same pattern of Leptos' crates, where the tests are located in the tests folder. But for this approach, it can't test the private functions, I created a second test file called tests.rs inside src.
Today get_configuration expects a Cargo.toml filename or Option::None (to load from env variables). In some cases, it would be useful to receive the String content of the file instead of its location, for example when we want to generate a single binary and embed a config file content using include_str!.
For a better design, new functions get_config_from_file (file name), get_config_from_str (content), and get_config_from_env were introduced. The get_configuration function still exists. These changes here do not break any backward compatibility.
Let me know what you think. I hope I'm helping.

Thanks! This all looks good to me. I'd like @benwis to take a look since he's done more work in this area, so I've added him as a reviewer.

This PR looks good to me, I've been considering making the configuration functions a bit more explicit. The tricky part here, and maybe @vaniusrb has an idea, is that I'd love to patch the .replace(-, _) line we have in read_to_string(). The TOML keys need it, but overwriting it in values has caused some issues with filepaths.
Appreciate the work to write tests and generalize this

Awesome. Thanks to you both. I'll merge this and if anyone has an idea we can do a separate PR for the replacement function.


Reintroduce QUnit.config.module or QUnit.config.moduleFilter

As noted in https://github.com/jquery/qunit/issues/951#issuecomment-194515024 , both QUnit.config.module and QUnit.config.moduleFilter were removed by 168b048c682a2c91d66bba8963fd4aad00b8c22e (gh-691) but remain documented as moduleFilter. However, it is not appropriate for deep library code to reach out and inspect URL parameters (cf. gh-955). We should restore one of the QUnit.config properties, replace the QUnit.urlParams reference, and update the documentation accordingly.

As mentioned in the documentation issue, I'm not sure we actually want to reintroduce module/moduleFilter now that we have moduleId. Rather, I think we should remove module from the urlParams and replace it's functionality with that provided by moduleId. However, this would require some reworking of the current UI (mainly updating the dropdown values to be the module ids instead of names).

That would definitely limit the constructibility of QUnit URLs. I frequently do single-module runs for jQuery core (e.g., "https://localhost:8080/test/?module=selector").

Is there much advantage to using ?module=selector instead of ?filter=selector? I know that the latter has the potential to match other tests, but since you have to specify the exact module name for the former to work, I feel like doing the same for filter would yield identical results in many (if not most) cases.

I believe there is. For example, https://github.com/jquery/jquery/blob/master/build/tasks/testswarm.js#L32-L38 uses the parameter to orchestrate continuous integration, which is possible because it accepts values that were defined in the very same codebase and therefore knowable in advance. filter is too broad when what's desired is a hard partition along module boundaries.

Ah, okay. I think I see the use case better now. In that case, what is the expected behavior from ?module=selector&moduleId=1234567? Would module take precedence? Or will they both be used?

Ah, okay. I think I see the use case better now. In that case, what is the expected behavior from ?module=selector&moduleId=1234567? Would module take precedence? Or will they both be used?

I think it should run one module if moduleId is the same as the hash of module, and run the two, otherwise. In other words, the union of the two (+ removing duplicated modules).

Current behavior, which I wouldn't change without careful consideration, is that any test passing all filters (moduleId; testId; module; filter) gets to run.

Seems legit, let's do it

That still leaves a naming question. The URL parameter is and will likely remain module. I believe the QUnit.config property should be as well, because AFAICT we never actually released a version in which it was called moduleFilter (both the 7409c02813c35b7bd5713fc8650489b0e9049729 rename and the 168b048c682a2c91d66bba8963fd4aad00b8c22e removal debuted in 1.16.0). Any objections?

Sounds good to me. It's also consistent with the 1:1 nature of most other params.


How to automate a coverage report using .coveragerc file

Have you asked elsewhere?
No
There are other good places to ask for help using coverage.py. These places let
other people suggest solutions, are more likely places for people to find your
question:

Stack Overflow
discuss.python.org

Describe your situation
I want to automate running of tests by simply typing coverage run
Currently, i have my .coveragerc file as follows:
.coveragerc to control coverage
[run]
branch = true
[report]
skip_empty = true
omit =
init.py
exclude_also =
def repr
@(abc.)?abstractmethod
RegressionDiagnostics
[html]
directory = tests/coverage_report_html
when i go into my terminal, i usually type:
pytest tests --cov=neptunelearn/linear_models --cov-report=html
where tests is a directory that contains my unittests such as test_regression.py etc.  and linear_models is a module i created that i am trying to measure coverage on.
is there any way i can specify the above values in the .coveragerc file such that when i go to the terminal, i can either type coverage run tests or cd into tests folder and type coverage run?
I tried
[run]
source = neptunelearn/linear_models
but this doesn't seem to work.  Thanks

You want [run] command_line, though I would advise you to find a coordination tool instead, like a shell script, Makefile, tox, or nox.  You won't be able to replace one pytests --cov command line with a single coverage command. You will need coverage run and then coverage combine.  A coordination tool will be a much better way to combine multiple steps into one runnable command.


evalv3: field not allowed

What version of CUE are you using (cue version)?

$ go run<EMAIL_ADDRESS>version
cue version v0.10.0-alpha.2.0.20240726102249-5de5b42c834f

go version go1.22.5
      -buildmode exe
       -compiler gc
     CGO_ENABLED 1
          GOARCH amd64
            GOOS linux
         GOAMD64 v1
cue.lang.version v0.10.0

Does this issue reproduce with the latest stable release?
What did you do?
import "list"

#A: {
	let b = {}

	c: b & {
		d: 1
	}
}

list.Concat([[#A]])

What did you expect to see?
$ go run<EMAIL_ADDRESS>export ./a.cue
[
    {
        "c": {
            "d": 1
        }
    }
]

What did you see instead?
$ CUE_EXPERIMENT=evalv3 go run<EMAIL_ADDRESS>0.0.c.d: field not allowed:
    ./a.cue:6:5
    ./a.cue:7:3
exit status 1

Really bizarre. This fails:
import "list"

#A: {
	let b = {}

	c: #B & b & {
		d: 1
	}
}

#B: d: int

list.Concat([[#A]])

This doesn't:
import "list"

#A: {
	c: #B & {
		d: 1
	}
}

#B: d: int

list.Concat([[#A]])

This is also okay:
import "list"

#A: {
	c: #B & {} & {
		d: 1
	}
}

#B: d: int

list.Concat([[#A]])

this is okay though.
import "list"

#A: {
	let b = #B & {}

	c: #B & b & {
		d: 1
	}
}

#B: d: int

list.Concat([[#A]])

Funnily enough, the reproduction is also fixed if I change
let probe = {exec: command: ["mc-health"]}

to
let probe = v1.#Probe & {exec: command: ["mc-health"]}

Analysis: Similar to #3330. Normally referencing a struct within a definition does not affect closeness. In other words, this is allowed according to the spec:
#A: {
   b: c: int
   d: b
   d: e: int
}

Referencing in #A seems to trigger a different behavior in some cases, so that a reference like b treats it as closed.


Annoying warning when compiling - pls suppress or fix it.

Expected Behavior
no warning
Actual Behavior
getting the following warning over and over again:
....  include\hpx\threading\jthread.hpp(258): warning C4267: 'return': conversion from 'size_t' to 'unsigned int', possible loss of data
Steps to Reproduce the Problem
compile with MSVC, enabling jemalloc
Specifications

HPX Version: stable : c5b1812e0d414c33a9068d101075e2aab9afeb6d
Windows 10, MSVC latest 2019

https://github.com/STEllAR-GROUP/hpx/blob/2b91d44d2ec5ea05065e51833517056e92512a1e/libs/threading/include/hpx/threading/jthread.hpp#L255-L259
hpx::threads::hardware_concurrency ought to return unsigned int rather than std::size_t.

@McKillroy please see #4574 for a fix. Thanks!


Using your example from the demos would result in an img with no src if javascript has been disabled.
What effect, would adding the src attribute to be the same as the data-lazy? e.g...

So this works... however does it load/call 2 images when JS is enabled?

Yes - if you put src there's no point of using lazyload.
If you care for users without js (which is great) use noscript tag.

So using a separate noscript tag, would still leave the original image broken.
I'd much prefer the ability to set data-lazy without an attached src... using the normal src to lazy load the image in... that way when javascript is turned off... the image is still loaded using src.
eg. JS turned on

Meaning when JS is turned on it uses src to lazy load the image, when JS is turned off... it simply ignores the data-lazy.

No.
Please learn how browsers react for src attribute then you'll see why your proposal is bad.
this is what you should do:

Does this method not leave a broken image in the DOM? ... I can't help think this isn't the best method either.
There's very little on the internet on 'how browsers react to the src attribute'.

Does this method not leave a broken image in the DOM?

Perhaps you want to hide the data-lazy image for non-JS users with CSS:
.no-js img[data-lazy] {   display: none; }
Add the no-js class into html element, and remove it when JS enabled.


Entropy continually increases throughout the training

Hi,
using the current implementation of the PPO using the PPOTrainer, im seeing that the entropy of the actively updated model continues to increase as the training proceeds. It seems to be making the model generate random and gibberish content, which actually is a degradation from the original model rather than an improvement.
Any idea how to prevent the learning process from allowing the entropy to increase? I thought entropy was used as part of the optimization based on the original PPO paper.

I do not seem to see entropy contributing to the current loss in this implementation.

As far as I can tell from the paper the entropy bonus is optional and not used in the experiments (see section 6.1). To avoid the model from generating gibberish TRL uses the KL penalty approach proposed by OpenAI's follow up work for tuning language models. This should prevent the model from deviating to far from the original distribution.

interestingly im still observing the training process resulting in ever increasing entropy and therefore gibberish output. What would be the parameters I should tune/update to discourage the model from increasing the entropy too much

Hard to know what could be the issue without a minimal example and some logs. Can you share a bit more?

Closing this for now, feel free to re-open if there's an update.


refactor: resultError always emitted on errors

The check of self.listeners('resultError') is unnecessary because it will always result in an array which evaluates to true.

@luddd3 then wouldn't the more appropriate change be to check if that array's length is > 0?

Also, are you able to cover this change with a unit test?

Also, are you able to cover this change with a unit test?

This is already covered by a unit test. See client.test.js line 1438, "resultError handling".

@luddd3 can you do a force push an empty commit or something? GitHub Actions seems to be stuck and will not cancel (I have tried multiple times).

@jsumners I think something is wrong with the github action :(

I'll have to debug it this weekend :(

The CI issue was https://github.com/tapjs/node-tap/issues/620
Thank you for contributing. This has been released as 2.0.0-pre.4 and installable as ldapjs@next.

Thank you!

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


Allow user input for environment values

It's useful when you don't want to put your environment information on anyplaces.

Fixed by #51


Report "Edit" button is still available for report author even though the report has pending approval status

An ANET trainer and myself were testing the "Edit" and "Delete report" functions for an engagement report.
After the report author submits a report for approval (and the report has a "Pending Approval" status), the report author can still edit the report, i.e. the "Edit" button is still displayed and is functional.
The "Edit" button should only be available to the report author when the report has a draft status (reports.state = 0) or a rejected status (report.state = 3).

Is this a bad thing? If an author has submitted a report but wants to amend it prior to approval?

The report author and the report approver edit the report at the same time.  The "Preview and submit" button is displayed for the report author as well as the report approver.  If the report author selects the "Preview and submit" button first, the report approver can still select the "Preview and submit" button.  However, the report stays in edit mode for the report approver.  A message is not displayed why the report stays in edit mode (for the report approver) and has not been submitted.

The report author and the report approver edit the report at the same time.  The "Preview and submit" button is displayed for the report author as well as the report approver.  If the report approver selects the "Preview and submit" button first, the report stays in edit mode for the report approver.  A message is not displayed why the report stays in edit mode (for the report approver) and has not been submitted.

The report author edits the report after being approved by the report approver in the first step but before being approved by the report approver in the second step.  This causes the report to go back to the report approver in the first step.  This could be confusing for the report approver with or without a comment from the report author.

The report's version control should be simple and intuitive.  Whoever has control of the report (report author or report approver) should be the only person able to edit the report.


[Core] Addition of Outer Product method into Vector

Method to calculate the outer product of two vectors. Basically it represents the tensor product of two first order tensors (vectors). Also known as dyadic product.
References:

https://en.wikipedia.org/wiki/Outer_product
Matrix Algebra: Theory, Computations, and Applications in Statistics, James E. Gentle (page 69)
Tensor Properties of Solids, Richard F. Tinder (page 27)

Added in #118.


POSTing to a id with a dot gives a 404

E.g. POST http://spark.furore.com/fhir/Patient/12.345....
I think the WebApi framework thinks you are trying to reach the "12" resource, with extension "345"

After a bit of investigation, I'm not sure we should do something about this.
Apparently this happens because IIS assumes we are looking for a file. It sees a "." in the url and assumes it is a file name with an extension. Adding an extra "/" as in  POST http://spark.furore.com/fhir/Patient/12.345..../ would solve the problem (http://weblogs.asp.net/owscott/handing-mvc-paths-with-dots-in-the-path )
I've found several solutions/workarounds for fixing it, but I'm not sure we want to implement any of them.
One would be to add this in web.config
<system.webserver>
    <modules runAllManagedModulesForAllRequests="true">

But this implies performance costs, so it's not something we want.
Another solution would be to add an IIS URL Rewrite to add an extra / to all requests. Do we want this for all requests? Are we able to distinguish which urls should re-written?
What do you think?

We'll postpone resolving this until after moving to ASP.NET core.

Fixed as described here: https://stackoverflow.com/a/12151501/1597945


[TASK] deployed events building block develop branch.

Description
refactor branch has been merged to develop, thus we need to build and deploy events building block to api-dev.
Acceptance Criteria
functionalities should work.

mark it as epic, since we will do it periodically.

Closing this epic based on the previous comment. Thanks.


Question: solid_use_case comparison

Could somebody be so kind and take a look at this gem: https://github.com/mindeavor/solid_use_case, this would mean much to me. I wonder, how does it compare to what You are doing, from your perspective. It seems simple (in a good way), interactor seems too complicated. Maybe I am wrong, looking forward to your opinion. Thanks!

solid_use_case looks interesting and seems to be attempting to solve the same problem as Interactor is. A use case feels very much like Interactor's concept of an organizer. What I don't like is that each step lives in the use case, which could making reuse of those steps clunkier.
In the end, it looks like a fine library. I'm not in the business of criticizing a gem if it solves your problem. Write your code using both gems and see which you like more. If one of the gems doesn't feel right, consider reporting back. Any library can be improved given thoughtful feedback from a user.
As the author of Interactor, I don't think that it's too complicated. But my opinion's not what's important; it's about your experience with the library. Let me know what you learn.


Sitemap minification

It will be good to have sitemap minified into one long line without space between tags. Idea is the same as JS, HTML, CSS minification.

Could be achieved by using $this->writer->setIndent(false);.

Can't be introduced via constructor w/o breaking backwards compatibility.


Const and let are es6 not ts syntax

I was a little thrown by the original statement, as const and let are valid vanilla es6.

This change is

Thank you, sorry this was confusing. That's right, let and const are valid :D too used to es5.

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


🐛 BUG: wrangler mtls-certificate upload fails when PEM contains public/private key pair

Which Cloudflare product(s) does this pertain to?
Wrangler
What version of Wrangler are you using?
2.12.3
What operating system are you using?
Windows
Describe the Bug
I tried to use the mTLS upload for a PEM file that contained both the private/public key.
wrangler mtls-certificate upload --cert cert.pem --key cert.pem --name my_cert

I received a unable to parse certificate and finally figured out it needed to be split into separate files.
I know there's a separate --key argument but apparently PEM files are non-standard and can contain either/or.

Thanks for raising this! I'm going to transfer it to our docs repo, as it sounds like this is more of a documentation issue. Was there any specific reason you weren't able to use separate files?


Add LightTransaction type

Closes #879
As discussed here.
The only thing I'm not sure about with this approach is how to incorporate sender addresses (if at all).

Super nice

The only thing I'm not sure about with this approach is how to incorporate sender addresses (if at all).

Good question. I think SendTransaction should have a sender address (shich we get from Etherscan, e.g. curl -sS "https://api-rinkeby.etherscan.io/api?module=account&action=txlist&address=0x0c8184c21a51cdb7df9e5dc415a6a54b3a39c991" | jq). However, this should be the money sender, not the transaction creator in BCP. If we need the signer address in general, I don't know.

SendTransaction should have a sender address

OK to open a separate issue for this? It might also apply to e.g. SwapOpenTransactions? I'm also a bit concerned about duplicating information in the large number of cases where the transaction creator is the sender.

CI is failing because of an unrelated issue. PR here: https://github.com/iov-one/iov-core/pull/977

OK to open a separate issue for this? It might also apply to e.g. SwapOpenTransactions? I'm also a bit concerned about duplicating information in the large number of cases where the transaction creator is the sender.

I'd prefer to have this question resolved before we merge this, since maybe we do not find a clever solution and may need to dump the idea of LightTransactions entirely. However, I don't have a great answer for this one.
It could be argued that a transaction creator is not necessarily the address that sends money, if you imagine a chain logic where it is leagal for account A to spend tokens of account B. Having creator and sender separately unfortunately increases the code required to create a transaction. But then again there is exactly 2 places in the wallet-demo that create transactions: 1. create a send transaction and 2. create a RegisterUsernameTx, so the large junk of work is on our side.


Missing option autoHeight

the option is undocumented on the owlCarousel2 website for some reason, but it still works.

@r3wt yeah you're right i couldn't find property neither . i think that is not an issue .

it actually is an issue, since your module does not set the property unless it exists in the array.

simply adding it to the array and my slider works as expected.


download support TAR of BED files too

test with https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE135770

TAR of BED files -- turns out to be a non methylation array, but should give warning to user in this case
useful for the "pull and process only controls" in dataset option -- should have 280 controls:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE163970


LiberTEM web GUI: GPU only used after deselecting and selecting again

How to reproduce
Use libertem-server on a system with CUDA GPU and working CuPy, Windows 10, Chrome 88.0.4324.104, and start a local cluster.
Observed behavior
The GPU seems to be selected by default. When launching the cluster without further interaction, the cluster status doesn't show GPU workers, however.
If the GPU is first deselected and then selected again before starting the cluster, the cluster status shows the GPU worker.
Expected behavior
If the GPU is selected, the cluster will always start with a GPU worker.

FYI I'm now looking into this, but may take a while, since I also want to fix my CUDA setup, to do some realistic tests.


help: Add instructions for do not mark messages as read.

As a follow up to #24309, we want to add a new tab with desktop/web instructions to the "Configure whether messages are automatically marked as read" section. The paragraph has also been tweaked to accommodate the new feature.

Screenshots and screen captures:
New:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Hello @drrosa! This PR is the help center changes following up to #24309. It does have a failing testcase but it seems like it's just due to connection problems. A simple restart on the testcase can fix it. Please have a look and let me know if there should be any changes.

Looks fine to me based on the diff. Note that the screenshot in the PR description is out of date.

Merged, thanks @Joelute!


#104 Run tests for the user creating the PR and validate that the calculate file exists for the user

Also install all available SDks before running the tests
@gunnarmorling this is a continuation of PR #106 where I am also adding the caching and installation of all available SDKs. If a new SDK is needed it would need to be added to the available_sdks.txt file.
Let me know what you think

Seems like the sdkman install fails due to the interactive mode. I'll investigate a bit more and see if I can somehow disable it.


Marks are moved by gcO

Incorrect (current) behavior
When running gcO on a line that has a mark on it, the mark will be moved to the line the comment is being placed on.
Example:

Put this code in a .cpp file (to set comment string automatically) and put your cursor on the f in foo:

int foo = 5;

Place mark m on the f in foo (mm)
Run gcO and type " hello". You should now have this:

// hello
int foo = 5;

However, mark m is also now on the e in hello. Test this by doing `m to jump to the character the mark is on.

Expected behavior
The expected behavior is that the mark should remain on the f in foo that it was placed on to begin with.

This seems logical to me not a bug. Mark is at the right range i.e., row and col. Keep in mind, gcO creates a line above, so all the marks that was on the previous line will be shifted.

My initial expectation was the behavior of gcO is it should produce the same result as doing O<Esc>gcc, since that is effectively what it simplifies into one keystroke. It is worth noting that gco does not move marks, but this makes sense given your explanation.
The problem with this behavior and the reason I discovered it is it messes up macros that use marks to keep track of where to operate. In fact, I was running the macro described in my initial comment.
Would it be helpful if I made a PR to resolve this? My current idea for the implementation would be to look for marks on the current line and move them down if adding to a line above the current one. This would go somewhere around line 42 in extra.lua. If you have an idea for an alternative solution, just say so.

My current idea for the implementation would be to look for marks on the current line and move them down if adding to a line above the current one.

How many marks would you move? the line could've {n} number of marks. I don't think that is a nice solution.

If you have an idea for an alternative solution, just say so.

I don't think there is an issue here to begin with. Marks are already preserved by using lockmarks and it applies to every default keybindings
https://github.com/numToStr/Comment.nvim/blob/728f38ef5b9d77f310fc9d56f87582c24111f793/lua/Comment/api.lua#L481

the line could've {n} number of marks

Okay, that's fair.

Marks are already preserved by using lockmarks and it applies to every default keybindings

Sure, the marks are staying on the character index they start on, but they're not really staying in the correct place, especially compared to other vim behavior like O. The mark should stay on the character it started on unless the line gets deleted.
Perhaps there's a way to more closely mimic the functionality of O but have it place a comment there too? That would avoid moving any number of marks unless that's what vim does anyway.

IDK if this would work or not but perhaps, we could remove lockmarks from gc{o,O}. Would you mind checking it (i am on mobile)?

Hey, that fixes it! Now, the mark is left on the character it is placed on to begin with.

This makes sense. The vim documentation for :lockmarks reads,
Execute {command} without adjusting marks.  This is
useful when changing text in a way that the line count
will be the same when the change has completed.
WARNING: When the line count does change, marks below
the change will keep their line number, thus move to
another text line.

https://vimhelp.org/motion.txt.html#%3Alockmarks
lockmarks is anchoring the marks to the line number, allowing marks to stay in place when new lines are created; as shown in the example. Without lockmarks, the marks are anchored to where they start, just like normal vim behavior.

Care to make a PR? :)

Sure!


Description
Can't believe it, but is there no android icon yet?
If there is not yet one, I think it'd a good feature request :)
Additional Information
No response
Code of Conduct Acknowledgment

[ ] I have read and agree to the Code of Conduct.

Please, for an Icon suggestion, check before opening an issue, and use issue template made for it, thank you (read the code of conduct, really)

I have use the template
There has not been any suggestion for Android Icon, there was one for Android Studio, but that is a different thing.

I get it, but, reopen an issue with the right template... it's for an icon, please use the icon once, thanks


Style of the info of the file in Pantheon Files is ugly

The bottom one?

Yep. Will fix.

Top one is eXGTK, bottom elementary.


fix: convert breakpoints variables to values instead of strings

Changes description
Change value of Breakpoints design tokens from strings to values to be used in var()
Context
Currently, the Breakpoints design tokens are strings and can't be used as value in var()
/* Don't work */
--foo: "900px";
max-width: var(--foo);

/* Works */
--foo: 900px;
max-width: var(--foo);

Checklist

[x] Make sure you are requesting to pull a topic/feature/bugfix branch. Please, don't request directly from your main!
[x] Check commits & PR names matches our requested structure. It must follow the https://www.conventionalcommits.org pattern.
[x] Check your code additions will fail neither code linting checks.
[x] I have reviewed the submitted code.
[ ] I have tested on related showcases.
[x] If it includes design changes, please ask for a review design-system-core-team-design GitHub team.

Does this introduce a breaking change?
If these tokens are used as strings somewhere, it could be a breaking change.
But any others design tokens are values and not strings. I've checked in the codebase any use as strings but didn't found any, so it should not be a problem here

 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.

Thanks @AxelPeter for this PR, good catch!
I just checked and I think this will not have consequences for our existing consumers. So we can merge :)


limit 10,but return 5?

Steps to reproduce
3M data
CREATE INDEX ON table USING hnsw(vec ann_cos_ops) WITH (dims=768, m=24, efconstruction=64, efsearch=64);
SELECT * FROM table ORDER BY vec <=> array{....} LIMIT 10;
but return 5.

sorry,too many index on the vec column. drop the old index.


default behavior for name in read_xarray can lead to unexpected behavior

Dask identifies which computations are unique based on the name of the dask array. If I don't specify name when calling read_xarray, for zarr the name of the dask array gets set to element.basename here. This ends up being the very last bit of the path.
In my use case I'm reading a lot of different arrays that are saved as multiscales and then stacking them together. I then call .compute() on this stacked array. However, all the arrays share the same name (in my case "s1") and dask collapses that computation and I end up with a stacked array that has the same data in all of the slices.
Everything works as expected if I set name explicitly to the full path - maybe this would also be a better default?

yeah i think this makes sense, I think my logic for setting the name of the dask array to element.basename wasn't  actually sound in the first place, so maybe we just avoid setting the name field at all? Alternatively, if we think the name of the array is useful for something, we do something like <name>-<hash>, where <hash> is uniquely generated each invocation. but maybe this is overthinking it 😅

I think letting dask do the hashing is probably good. If setting the name is useful for something then people can still set it themselves

this should be fixed by #72


Improve inference when using ctx.hasChatType with multiple chat types

Suppose we have a set of chat types we want to listen for within a middleware, and a handler we need to call on match:
const chatTypes = [
  'channel',
  'group',
  'supergroup',
] as const satisfies Chat['type'][];

const handler: <C extends Context>(
  ctx: ChatTypeContext<C, (typeof chatTypes)[number]>
) => Promise<unknown> = async (ctx) => {
  // do something
};

I expect both of the following pieces of code to work properly, but while the first one works fine, the second one shows an error:
const composer = new Composer<Context>();

composer.chatType(chatTypes).use(async (ctx, next) => {
  await handler(ctx); // ok
  return next();
});

composer.use(async (ctx, next) => {
  if (ctx.hasChatType(chatTypes)) {
    await handler(ctx); // error
  }
  return next();
});

As mentioned, the error only occurs when more than one chat is used for filtering.
Argument of type 'Context & Record<"update", ChatTypeUpdate<"channel" | "group" | "supergroup">> & ChatType<"channel" | "group" | "supergroup"> & Record<...> & ChatFrom<...> & Partial<...> & AliasProps<...>' is not assignable to parameter of type 'ChatTypeContext<Context & Record<"update", ChatTypeUpdate<"channel" | "group" | "supergroup">> & ChatType<"channel" | "group" | "supergroup"> & ChatFrom<...> & Partial<...> & AliasProps<...>, "channel" | ... 1 more ... | "supergroup">'.
// ...
      Types of property 'update' are incompatible.
// ...
                    Types of property 'chat' are incompatible.
                      Type '(GroupChat & { type: "channel" | "group" | "supergroup"; }) | (SupergroupChat & { type: "channel" | "group" | "supergroup"; })' is not assignable to type '{ type: "supergroup"; }'.
                        Type 'GroupChat & { type: "channel" | "group" | "supergroup"; }' is not assignable to type '{ type: "supergroup"; }'.
                          Types of property 'type' are incompatible.
                            Type '"group"' is not assignable to type '"supergroup"'.ts(2345)

It could be useful to investigate why the two pieces of code are behaving in a different way, as the second version has some use-cases not entirely covered by the first one.

Note to self: most likely related to distributed union types

This also seems to happen with filter queries:
const media = await conversation.waitFor(":media"); // photo or video
if (media.has(":photo")) {
  const resolutions = media.msg.photo.length;
} else  {
  const { width, height } = media.msg.video; // error!
}


Please add support for other languages.

Please add support for other languages.

Hello @UnisonRU,
I've just added support for other chat messages (please open this issue again if I misunderstood).
Unfortunately I don't know your language so I can't translate the file.
If you are able to translate English to your language i would kindly want to ask if you can create a pull request with a file in your language in the locale folder.


Action object not saved when using target as one of the parameters.

I can't save an action object when target is one of the parameters if I am using a comment model with a generic relationship.
Does django-activity-stream work for models that use contenttypes. Is this a bug that can be solved?

did you check the docs properly?


W7 PC Locks Up Ledger without entering password?

I'm sure this is probably specific to my work PC, I doubt it's universal.  But for some reason when I try to use the Password Manager app on my work PC, which runs Windows 7, it just freezes the Ledger without typing in a password.  I know I've read somewhere that it's recommended to use USB 2.0 ports with the Ledger, but this PC only has USB 3.0.

v1.0.0 fixes Windows support (read https://github.com/LedgerHQ/app-passwords/pull/29 before updating)


fix table sort

Sort all falsy values except 0 to end, leave 0 values in normal sort order. Fixes 0 values being sorted to end, e.g., a list of numbers sorted as [1, 2, 0], where one would expect [0, 1, 2]. Null values still sorted to end, e.g., [0, 1, 2, null].

Great! Thank you.


Plugin: grpc_python_plugin - Parsing protoc files with a . in the name

System enviroment:
Fedora 25
using lastest commit (https://github.com/grpc/grpc/pull/10771)
protoc version 3.2.0
Issue:
I'm parsing files with the following structure:
subdir1.subdir2.file.proto
The protoc -I=. --python_out=.  subdir1.subdir2.file.proto generates the following strucutre:
./subdirectory1/subdirectory2/file.proto
When i try to use the plugin, the plugin searches for the file_pb2.py file in the parent directory, not in subdir2:
protoc -I=. --python_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` subdir1.subdir2.file.proto
Error: Tried to insert into file that doesn't exist.
Removing the structure of the proto files, resolves the problem and the files are generated.
Greetings

How certain are you that this is a grpc_python_plugin problem? If you take the "--grpc_out=. --plugin=protoc-gen-grpc=which grpc_python_plugin" out of your command line, what file is generated with the command protoc -I=. --python_out=. subdir1.subdir2.file.proto and what does it contain?

protoc -I=... --python_out=. subdir1.subdir2.file.proto generates ./subdir1/subdir2/file.proto

Huh. I wouldn't have thought that that would work at all.
I suppose as long as it works the way it does for ordinary Protocol Buffers protoc invocations there would be a consistency in making it work that way for gRPC Python protoc invocations.

https://github.com/grpc/grpc/issues/14771
FYI POC repo https://github.com/biolee/grpc-python-bug-poc
python_out and grpc_out have different path if the proto file path have .,  this only happen in python

I don't have a timeline for it, but I suspect the resolution of this issue will be something along the lines of "gRPC Python Protoc Plug-In delegates all decision-making about module imports and uses in generated Python code to a part of Protoc exposed as a library". @acozzette and I started on that implementing just that more than a year ago and while I haven't finished what I drafted, I also haven't deleted it...


Remove explorer bloat

Is your feature request related to a problem? Please describe.
A few Windows 11 updates ago Microsoft added "Start" and "Gallery" in the file explorer sidebar. They aren't really useful and waste space. It would be nice to be able to hide them.
Describe the solution you'd like
Maybe some registry tweak? As revertable as possible, so no destructive tweak.
I found this on the Microsoft forum (https://answers.microsoft.com/en-us/windows/forum/all/how-to-remove-gallery-folder-from-file-explorer/e065f58f-c752-4acd-a2a5-46438c5b7996):

reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace_41040327{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}

Although deleting is pretty destructive.
I'm not too familiar with developing solutions to these kinds of problems so that's how much I can say.
Additional context

For the gallery this one is a revertable option, by setting it to 1/0:
reg add HKEY_CURRENT_USER\Software\Classes\CLSID\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c} /f /v "System.IsPinnedToNameSpaceTree" /t REG_DWORD /d 0x00000000

For the home I found this way (.reg file):
Remove:
Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}]

Add:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}]
@="CLSID_MSGraphHomeFolder"

@MyDrift-user
Now the question is, if those tweaks are worth it to add into winutil.

Worth adding for sure (my thoughts).
The question is add it as new or add it to an existing one?

I would lean towards creating a new tweak and not adding it into something already there, because the tweaks are already convoluted and unclear enough in regards to what they actually do.
I think we should in general lean towards a 1:1 mapping for tweaks and changes so the user can have granular and simple control which tweaks should be applied or reverted.

@Marterich I agree with you. Also I would put it in the "Advanced Tweaks" section.

I would lean towards creating a new tweak and not adding it into something already there, because the tweaks are already convoluted and unclear enough in regards to what they actually do. I think we should in general lean towards a 1:1 mapping for tweaks and changes so the user can have granular and simple control which tweaks should be applied or reverted.

I generally agree, but winutil is currently not designed to have that many tweaks as seen that the applications tab is a bit bloated rn.

Fair, but seeing that winutil will likely only grow in the future, I think we should rather fix or rework the UI like @og-mrk is doing right now instead of compromising the functionality itself.


[AMORO-1940] Support list partitions via flink catalog

Why are the changes needed?

Close #1940
Brief change log

Implement the listpartitions method in ArcticCatalog

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before making a pull request

Documentation

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

@huyuanfeng2018  Thanks for your contribution. The CI failed due to the checkstyle. Could you take a look?

@huyuanfeng2018 Thanks for your contribution. The CI failed due to the checkstyle. Could you take a look?

done.

@huyuanfeng2018  Thanks for your contribution.
I find that ArcticCatalog.listPartitions(ObjectPath tablePath, CatalogPartitionSpec partitionSpec)  and ArcticCatalog.listPartitionsByFilter(ObjectPath tablePath, List<Expression> filters) aren't completed.
Would you like to open new issues to complete?

@huyuanfeng2018 Thanks for your contribution.
I find that ArcticCatalog.listPartitions(ObjectPath tablePath, CatalogPartitionSpec partitionSpec) and ArcticCatalog.listPartitionsByFilter(ObjectPath tablePath, List<Expression> filters) aren't completed.
Would you like to open new issues to complete?

Okay, I will open a new issue to complete it


added f-strings to docs/conf.py

@StrikerRUS
please do let me know about any changes to be made in the split PRs

Please see my suggestions at https://github.com/microsoft/LightGBM/pull/4142#pullrequestreview-624538246. These apply to all of the PRs you've opened, and I think will help you debug locally.

Hopefully should be resolved soon! Looks like our old friend, the MiKTeX mirror.
==> Downloading http://mirror.ctan.org/systems/mac/mactex/mactex-basictex-20200407.pkg
==> Downloading from https://ctan.math.illinois.edu/systems/mac/mactex/mactex-basictex-20200407.pkg
curl: (22) The requested URL returned error: 404
Error: Download failed on Cask 'basictex' with message: Download failed: http://mirror.ctan.org/systems/mac/mactex/mactex-basictex-20200407.pkg
sudo: tlmgr: command not found
sudo: tlmgr: command not found

https://github.com/microsoft/LightGBM/pull/4147/checks?check_run_id=2254678263

I've updated this PR to latest master to get the CI fixes from #4161. Will merge if / when it builds successfully.
Thanks for the help with these @NovusEdge !


Add support for Nvidia Jetson

I believe Ollama is a great project, I have tried different ideas to try get Ollama to utilise the GPU, but still uses CPU.
I have currently flashed Jetpack 6 DP onto the AGX ORIN Dev Kit. I believe this jetpack version will help Ollama use the GPU easier, if you are able to add support for it.
nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:08:11_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0

nvidia-smi

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 540.2.0                Driver Version: N/A          CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Orin (nvgpu)                  N/A  | N/A              N/A |                  N/A |
| N/A   N/A  N/A               N/A /  N/A | Not Supported        |     N/A          N/A |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

Thank you

Just echoing the above issue. I've attempted to run the docker container for ollama. Running the docker with this parameter (as instructed):
--gpus=all
does not work. Per the above user's comment, JetPack, CUDA is all available but only CPU processing works with the container.
I've tried this docker parameter invocation and this doesn't work either:
 docker run --runtime nvidia ...
Thank you

+1

This is by no means solved yet but I'm now monitoring this issue you may want to follow too
https://github.com/ollama/ollama/issues/1979

@telemetrieTP23 Look here https://github.com/ollama/ollama/issues/1979

Doesn't work on Jetson Nano with Jetpack 4.6 meaning GPU is not used after using instructions provided on https://github.com/ollama/ollama/blob/main/docs/tutorials/nvidia-jetson.md

Yes this Jetson Nano devices with 4Gb of RAM are capable to run pretty large amount of models, from BERT to 7B LLMs with quantization. It's pretty sad to see that single board computer launched in 2019 already abandoned.

This should now be fixed with merge of #2279

Hey thanks everyone so much! So just want to confirm the merge is complete and if I update Ollama, Jetson GPU should now be supported, would that be the same for the docker image or should I just run the installer to save more headache, once again thank you everyone!

@MrDelusionAI I have not done anything with containers yet. I’m still digging through dusty-nv’s container resources to figure it out, I have been concentrating on getting the binary to work on bare metal. I don’t think containers work yet due to how quirky containers are on Jetson devices with GPU support.
If you pull the repo and compile it, that binary should work on your Jetson. I think Jetson support will be in their next binary release (0.30?). Keep checking their releases if you don’t want to self-compile.

@MrDelusionAI If you want to build your own Ollama container to run as a service on a Jetson device, please see this. I tested it on my Jetson Orin Nano 8gb running L4T r35.4.1. Please let me know if you have any issues.

@MrDelusionAI If you want to build your own Ollama container to run as a service on a Jetson device, please see this. I tested it on my Jetson Orin Nano 8gb running L4T r35.4.1. Please let me know if you have any issues.

Oh great thanks, I will try both the binary when its pushed into the main version and container as service from your link. Im running Jetpack 6 so will follow your guidance.
Thanks for everyones efforts!

The pre-release for 0.1.30 is available now, and contains @remy415's change.  I don't have a Jetson yet so I can't validate the build, but folks should give it a spin and let us know how it goes.
https://github.com/ollama/ollama/releases/tag/v0.1.30-rc4

I copied the binary from the 0.1.30-rc4 container and it had some issues running. I did notice you pushing ARM changes so I’ll try again when the container is updated.  I haven’t tried pulling the binary directly, I will do so when I get home.
I’m also replicating the ARM build workflow in the centos containers, I’ll report back when I have an update.

Awesome, it looks promising. Just tried the rc4 arm binary this morning. It seems the GPU is detected, CUDA is bound and offloading works. Though, after running a model, the process stucks in a long-running loop (high CPU load). No prompt served. After several minutes it crashes.
2024.03.27-ollama-jetson6.log

Another possibility is cuda version.  We're trying to link against v11 to have broader support, but maybe only v12 works on these devices?

I thought about that too, but from what I could tell: CUDA toolkits are "future compatible", meaning everything that works on v11 works on v12+. CUDA drivers are "backwards compatible". I compile it on my Jetson with v11.4, and that binary should work on systems with v12.
I did notice Ubuntu 22.04 was used to compile the runtime binary, maybe it's a GCC -> nvcc thing.

I don't know enough about gcc/C compiling to make heads or tails from this, do you see anything helpful here?
Compiled natively:
tegra@ok3d-1:~/ok3d/ollama-container/dev/bintest$ ldd ollama-jetson-native
        linux-vdso.so.1 (0x0000ffff80177000)
        libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff80104000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff800d3000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff800bf000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff7ff4c000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffff80147000)

Downloaded from the rc-4 releases page:
tegra@ok3d-1:~/ok3d/ollama-container/dev/bintest$ ldd ollama-linux-arm64
        linux-vdso.so.1 (0x0000ffffac165000)
        libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffffac0f2000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffac0c1000)
        librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffffac0a9000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffac095000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffabeb0000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffabe05000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffabc92000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffffac135000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffabc6e000)

I'm not sure if it will work, but you can try setting LD_LIBRARY_PATH to include the path to the cuda libs before starting ollama and see if it picks up the v12 library.  (some minor code changes might be required to get this fully sorted out though)

The latest Jetpack release supports CUDA Toolkit 12, I haven’t had time to flash my devices as had a beta release this month and I haven’t checked if it’s gone live yet. Jetpack 5 doesn’t support CUDA 12, and the underlying OS (ie Linux headers), the Nv driver, CUDA toolkit, etc are all static and not able to be upgraded. Jetpack 6 is supposed to change this, maybe that’s all I need to do is upgrade. I just checked and JP6 is still in developer preview.

Regarding your idea @dhiltgen on including the LD_LIBRARY_PATH, tried that before. It finds the cuda12 lib, but seems to prefer the packaged one (cuda11).
source=gpu.go:311 msg="Discovered GPU libraries: [/tmp/ollama578764547/runners/cuda_v11/libcudart.so.11.0 /usr/local/cuda/lib64/libcudart.so.12.2.140 /usr/local/cuda/targets/aarch64-linux/lib/libcudart.so.12.2.140 /usr/local/cuda-12/targets/aarch64-linux/lib/libcudart.so.12.2.140 /usr/local/cuda-12.2/targets/aarch64-linux/lib/libcudart.so.12.2.140]"
Building ollama natively on Jetpack 6 DP (Cuda 12) by following the generate/build workflow did work. It finds and packages the correct cuda libs to the binary. The resulting one binary works as expected.

@dhiltgen Does the workflow build container for ARM64 have to be Centos/Rocky based or can you use the ubuntu 20.04 one?
When I built the binary using the Centos container, I had the same issue as the downloaded binary. When I used nvidia/cuda:11.3.1-devel-ubuntu20.04, the resulting binary worked on my bare OS. To get it to run in a container properly, I had to use a dusty-nv container as my runtime, I used dustynv/build-essential:r35.4.1 as it's one of the smaller containers I could find at a miniscule 5Gb. I tried using nvidia/cuda:11.3.1-runtime-ubuntu20.04 and the 11.4.3-runtime-ubuntu20.04 containers, neither of them worked for runtime.
Example dockerfile and dependency script here (note that I cloned the ollama repo into the folder I built the container in so that I didn't have to git clone inside the container build)

Great to hear building from source does still work.  So we just need to figure out how to get the official builds working.

Does the workflow build container for ARM64 have to be Centos/Rocky based or can you use the ubuntu 20.04 one?

The problem is glibc versions.  Ubuntu generally tends to be more up-to-date, but that means Go binaries you compile on that wont work on older distros.  We try to compile on an older base to maximize compatibility of the resulting pre-built binaries.   Once we can figure out what the right combination is, we may have to synthesize the arm cuda container base image and tools instead of relying on official nvidia ones hosted on docker hub.

The Ubuntu 20.04 on Jetpack 5 has gcc 10.5 (shown as compatible with gcc 9.6) and is running glibc 2.31. Not sure what versions the CUDA 11-3 Ubuntu container is running but it’s likely comparable or close. Would that work for this purpose?

Added note: Couldn't find a CUDA Centos 7 ARM64 container (AMD64 only). nvidia/cuda:11.3.1-devel-rockylinux8 runs GCC 8.5.0, glibc 2.28

@remy415 I just got a Jetson Orin, so I'm able to test now.  What I'm seeing is a hang during model load.  I tried compiling with a few different cuda versions, but none worked (v12's reported the Jetson's driver being too old - my setup has v11.4).  I was able to get it running with a little live surgery:  Set LD_LIBRARY_PATH to include the cuda from the host, start ollama, wait for it to extract the runners, manually remove all the cuda libraries rm /tmp/ollama*/runners/cuda*/libcu* and then try to load a model, and it winds up linking to the host cuda library not our bundled version, and then it runs on the GPU.  So the build and linking is producing a working executable, we're just bundling a cuda library that for some reason won't work properly on the Jetson systems.  I'm not sure yet what the optimal fix is, but I'll explore alternative container base images to try to see if we can find one that balances our desire for old glibc with one that actually works on Jetsons.  If I can't find one, then maybe we'll need to make some code changes to be able to use the host cuda libs in some(?) cases.

I'm checking into glibc version compatibility, and also looking at the output of readelf for the various binaries I've collected.
Also, kinda weird but your production binary is ~100mb smaller than the one I compile on the Jetson (even considering I don't compile for CPU and I don't have ROCM builds)

I tried installing an updated toolkit (CUDA-TOOLKIT-11-4 in Rockylinux8) and got this error when trying to run:
CUDA error: CUBLAS_STATUS_NOT_SUPPORTED
current device: 0, in function ggml_cuda_mul_mat_batched_cublas at /go/src/github.com/jmorganca/ollama/llm/llama.cpp/ggml-cuda.cu:10604
cublasGemmBatchedEx(ctx.cublas_handle(), CUBLAS_OP_T, CUBLAS_OP_N, ne01, ne11, ne10, alpha, (const void **) (ptrs_src.get() + 0ne23), CUDA_R_16F, nb01/nb00, (const void **) (ptrs_src.get() + 1ne23), CUDA_R_16F, nb11/nb10, beta, ( void **) (ptrs_dst.get() + 0*ne23), cu_data_type, ne01, ne23, cu_compute_type, CUBLAS_GEMM_DEFAULT_TENSOR_OP)
GGML_ASSERT: /go/src/github.com/jmorganca/ollama/llm/llama.cpp/ggml-cuda.cu:193: !"CUDA error"
Still digging through the CUDA error, not finding anything promising; guessing it's a toolkit version mismatch issue.
Adding note to previous comment:
between one minor version upgrade, there is additional ~230Mb of cuda library lol
libcublas <IP_ADDRESS> -> <IP_ADDRESS> added 42Mb
libcublasLt <IP_ADDRESS> -> <IP_ADDRESS> added 128Mb
libcudart 11.3.109 -> 11.4.298 added 61Mb
Total increase: 231Mb

nvidia/cuda:11.3.1-devel-rockylinux8

-rwxr-xr-x 1 root root 126456824 May  4  2021 /usr/local/cuda/lib64/libcublas.so.<IP_ADDRESS>
-rwxr-xr-x 1 root root 245372792 May  4  2021 /usr/local/cuda/lib64/libcublasLt.so.<IP_ADDRESS>
-rwxr-xr-x 1 root root 638136 May  4  2021 /usr/local/cuda/lib64/libcudart.so.11.3.109

Jetpack 5 (ubuntu 20.04, l4t 35.4.1)

-rw-r--r-- 1 root root 168574840 Sep 19  2022 /usr/local/cuda/lib64/libcublas.so.<IP_ADDRESS>
-rw-r--r-- 1 root root 373884448 Sep 19  2022 /usr/local/cuda/lib64/libcublasLt.so.<IP_ADDRESS>
-rw-r--r-- 1 root root  699488 Sep 14  2022 /usr/local/cuda/lib64/libcudart.so.11.4.298

I've tried building with cuda-toolkit-11-3, 11-4, 11-7, 11-8; they all have the same failure.
I reached out to dusty-nv via email to see if he has any insights into compiling for Tegra on non-Tegra devices, if I hear anything back I will update here.

@dhiltgen I spoke with dusty-nv, the engineer at NVidia that manages the Jetson container stack. Here’s what he had to say:

That cuda:11-4-rockylinux8 container must be for ARM SBSA (ARM server), not Jetson, because NVIDIA only puts out the Jetson containers for Ubuntu.  I’m not sure of all the intricacies of cross-distro compatibilities with GLIBC, CUDA, and the GCC toolchain, but suffice it to say I would recommend sticking with Ubuntu.

With Jetson moving to a model where the version of CUDA is decoupled from JetPack, for the containers I would prefer to just have a Dockerfile for ollama in jetson-containers so that it will rebuild against the CUDA Toolkit/cuDNN that you have installed (CUDA 11.4 / 12.2 / 12.4 /ect).  Then ollama will automatically be built against whichever version of CUDA that you want.   Of course if they are releasing wheels on their website outside of container, they can do what they need to to support that.

If it helps, the upstream llama.cpp repo uses Ubuntu 20.04 and Ubuntu 22.04 to build their Linux binaries.

I've adjusted the behavior of the system with the upcoming 0.1.32 release so that we'll load the cuda library from the LD_LIBRARY_PATH before our bundled version, which should help mitigate this.  As long as you include the cuda lib dir in your LD_LIBRARY_PATH for the ollama server, it should work. Ultimately I'd still like to get an older glibc based build setup defined that has a cuda library that works on Jetson, so I'll keep this issue open for now.

@dhiltgen I am on ollama 0.1.32 with jetson orin 8gb. I tried with cuda 11.4 and updated to 12.2 ollama run still has an issue.
What I noticed is that after updating to 0.1.32, now instead of just crashing, it throws the below exception and fallback to CPU. I wonder if its my setup or its still an issue.
CUDA error: CUBLAS_STATUS_EXECUTION_FAILED
  current device: 0, in function ggml_cuda_mul_mat_batched_cublas at /go/src/github.com/ollama/ollama/llm/llama.cpp/ggml-cuda.cu:1848

@Ahmad-Bunni Which version of Jetpack are you running? JP5 should have cuda-11.4 installed, JP6 should have cuda-12.2. If you are running JP5, please uninstall cuda-12 related packages and run it again.

@remy415 Thank you it works! like you mentioned by default JP5 comes with cuda 11.4, however, that does not work before I upgraded ollama to 0.1.32. Now rolling back my cuda to 11.4 + ollama 0.1.32 works like charm cheers!

@Ahmad-Bunni Awesome, I'm glad you got it to work. While you're at it, also check out dusty-nv's Docker container setup for Jetsons: dusty-nv. Good luck and let me know if you need anything

Afternoon All, hope you are all well, I tried a fresh install of Jetpack 6 DP on the 32GB ORIN Jetson Dev Kit, Ollama version 0.1.33, trying tinyollama, I was excited to see the GPU to be utilised however it sticks in the loading phase, then throughs up this error after :

Anyone had similar issues?
Thank you all

@MrDelusionAI can you make sure your LD_LIBRARY_PATH contains a directory with the cuda libraries?  I believe the failure you're seeing may be due to us using our bundled ARM64 cudart library which for some reason isn't compatible with Jetsons.

@dhiltgen I can confirm that I am hitting the same issue. Mine used to work with Jetpack 5, cuda 11.4 and 0.1.32. However, after upgrading to Jetpack 6 which uses cuda 12.2 I have the issue again on 0.1.33. The output of echo $LD_LIBRARY_PATH is /usr/local/cuda-12.2/lib64

To clarify, it sounds like Jetpack 5 systems with cuda v11 are now working properly, however cuda v12 based systems are not working properly.  Is that correct?

@Ahmad-Bunni @dhiltgen I just flashed my Jetson Orin Nano with 36.3.0 yesterday and got everything up and running (docker, container runtime, etc).
I installed Ollama with the script and when I ran it, it just sat there loading indefinitely (I let it try to load tinyllama for ~10 minutes). No crashes, no errors.
I don't think it loaded the libcudart in the LD_LIBRARY_PATH at /usr/local/cuda/lib64, it seemed to load the bundled library.
I'm slightly fuzzy on how CUDA handles driver versions; I was under the impression you could compile something with CUDA 11-4 and it would work on future CUDA versions; what might be happening here (and this is just speculation, I'll need to test on my end at least) is that it's compiled for 11-4, and it loads the 11-4 library, but I have 12.2 installed. Would you be able to throw in a 12-2 build from your CI pipeline for JP6 users to test?

@dhiltgen I went ahead and built the binary myself on the JP6/36.3.0 Jetson and it worked just fine, so it's just the script-installed binary that doesn't work

@remy415 Spot on. I was able to see what is loaded during serve and whether cuda 11 or later, it still loads the libcudart from the bundled library. My guess of why it works with cuda 11.x is just because that matches the version of the libcudart loaded during serve which is 11.1 if not mistaken.
I'm almost certain building the binary on JP6 would work for me too just because it would  be 12.x. I think the main problem here is that it relies on whats bundled rather than using what's set in LD_LIBRARY_PATH

@Ahmad-Bunni @dhiltgen I just flashed my Jetson Orin Nano with 36.3.0 yesterday and got everything up and running (docker, container runtime, etc).

I just want to clarify that it does not work out of the box, it just kinda perpetually loads and never gives me an error or crash. On the client side the dots just keep spinning.

I'm almost certain building the binary on JP6 would work for me too just because it would be 12.x. I think the main problem here is that it relies on whats bundled rather than using what's set in LD_LIBRARY_PATH

Yes, it is loading the bundled libraries — that was the original point. According to the nVidia documentation, it should work though (source: https://docs.nvidia.com/deploy/cuda-compatibility/):

I’ll dig around the documentation some more

Based on my current understanding, to support binary releases, we'll need one distinct cuda build for each JetPack major version.  I'm going to dedup and tidy up our issues to track this with 3 distinct issues.


FAILED: bins/tsan/h2_http_proxy_test resource_quota_server GRPC_POLL_STRATEGY=epollsig (in 1.8.x)

Failed in v1.8.x at https://sponge.corp.google.com/target?id=8cc10685-899d-4077-888f-369c7d94a24b&target=github/grpc/c_linux_tsan_native&searchFor=&show=ALL&sortBy=STATUS

Failure
iting.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 53 stalled by transport [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=0:s_win=0:s_delta=-348866]
D0118 00:28:12.266762886   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 55 stalled by transport [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=0:s_win=0:s_delta=-348866]
D0118 00:28:12.266783637   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 57 stalled by transport [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=0:s_win=0:s_delta=-348866]
D0118 00:28:12.266811959   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 59 stalled by transport [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=0:s_win=0:s_delta=-348866]
D0118 00:28:12.266830217   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 61 stalled by transport [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=0:s_win=0:s_delta=-348866]
D0118 00:28:12.266850858   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 63 stalled by transport [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=0:s_win=0:s_delta=-348866]
D0118 00:28:12.266868930   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 65 stalled by transport [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=0:s_win=267989:s_delta=-80877]
D0118 00:28:12.303325723   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 77 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303376411   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 79 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303405615   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 89 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303427271   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 95 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303450113   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 101 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303469936   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 103 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303483837   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 109 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303497228   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 125 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303510832   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 129 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303524229   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 135 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303537858   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 143 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303552162   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 149 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303565700   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 151 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303586340   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 167 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303600630   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 175 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303613968   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 187 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303626849   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 189 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303640637   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 191 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
D0118 00:28:12.303653731   21108 writing.cc:143]             ipv6:[::1]:17453:0x7da400000000 stream 193 stalled by stream [fc:pending=0:flowed=0:peer_initwin=4194304:t_win=1192771:s_win=0:s_delta=-1994]
I0118 00:28:12.402927521   21115 http_proxy_fixture.cc:138]  HTTP proxy server write: {"created":"@1516235292.394622542","description":"OS Error","errno":32,"file":"src/core/lib/iomgr/tcp_posix.cc","file_line":587,"grpc_status":14,"os_error":"Broken pipe","syscall":"sendmsg"}
E0118 00:28:12.405533803   21102 resource_quota_server.cc:258] Unexpected status code: 2

*******************************
Caught signal SIGABRT
I0118 00:28:12.427835410   21115 http_proxy_fixture.cc:138]  HTTP proxy server read: {"created":"@1516235292.403052835","description":"FD Shutdown","file":"src/core/lib/iomgr/lockfree_event.cc","file_line":189,"referenced_errors":[{"created":"@1516235292.394622542","description":"OS Error","errno":32,"file":"src/core/lib/iomgr/tcp_posix.cc","file_line":587,"grpc_status":14,"os_error":"Broken pipe","syscall":"sendmsg"}]}
I0118 00:28:12.428550446   21115 http_proxy_fixture.cc:138]  HTTP proxy server write: {"created":"@1516235292.403109204","description":"OS Error","errno":32,"file":"src/core/lib/iomgr/tcp_posix.cc","file_line":587,"grpc_status":14,"os_error":"Broken pipe","syscall":"sendmsg"}
I0118 00:28:12.433501151   21115 http_proxy_fixture.cc:138]  HTTP proxy server write: {"created":"@1516235292.429127869","description":"OS Error","errno":32,"file":"src/core/lib/iomgr/tcp_posix.cc","file_line":587,"grpc_status":14,"os_error":"Broken pipe","syscall":"sendmsg"}
I0118 00:28:12.434566561   21115 http_proxy_fixture.cc:138]  HTTP proxy client read: {"created":"@1516235292.433380496","description":"OS Error","errno":104,"fd":12,"file":"src/core/lib/iomgr/tcp_posix.cc","file_line":420,"os_error":"Connection reset by peer","syscall":"recvmsg","target_address":"ipv6:[::1]:47716"}
D0118 00:28:12.434609975   21115 http_proxy_fixture.cc:110]  endpoints: 0x7d5c0002fb00 0x7d5c0002f780
==================
WARNING: ThreadSanitizer: signal-unsafe call inside of a signal (pid=21102)
    #0 malloc /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:595 (h2_http_proxy_test+0x0000004442a8)
    #1 <null> <null> (ld-linux-x86-64.so.2+0x00000000caad)
    #2 crash_handler(int, siginfo_t*, void*) /var/local/git/grpc/test/core/util/test_config.cc:245:13 (h2_http_proxy_test+0x000000931db8)
    #3 __tsan::CallUserSignalHandler(__tsan::ThreadState*, bool, bool, bool, int, my_siginfo_t*, void*) /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1951 (h2_http_proxy_test+0x000000425026)
    #4 resource_quota_server(grpc_end2end_test_config) /var/local/git/grpc/test/core/end2end/tests/resource_quota_server.cc:259:11 (h2_http_proxy_test+0x0000005066e4)
    #5 grpc_end2end_tests /var/local/git/grpc/test/core/end2end/end2end_tests.cc:460:7 (h2_http_proxy_test+0x0000004b4ff6)
    #6 main /var/local/git/grpc/test/core/end2end/fixtures/h2_http_proxy.cc:128:5 (h2_http_proxy_test+0x0000004b10cd)

SUMMARY: ThreadSanitizer: signal-unsafe call inside of a signal (/lib64/ld-linux-x86-64.so.2+0xcaad)

I'll close this as it's for v1.8.x branch and we are not seeing it for upstream/master (where we want to focus our efforts).


set stable ids for datasets

 Stabile Ids für Datasets

Pull Request Test Coverage Report for Build 853598315

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 82.795%

Totals

Change from base Build 850062690:
0.0%

Covered Lines:
16997

Relevant Lines:
20529

💛  - Coveralls


rename splunk_config_linux.yaml to gateway_config.yaml

I used rg "splunk_config_linux.yaml" -l | xargs sed -i '' "s/splunk_config_linux.yaml/gateway_config.yaml/g" I'm not sure if this needs to be changed elsewhere.

I'm confused about https://github.com/signalfx/splunk-otel-collector/blob/758688e2eb0bf3c49a2bc0058387095fc78d12fb/cmd/otelcol/main.go#L42 I don't see it referencing agent_config.yaml anywhere in this section 🤔 Either I don't understand how this is supposed to work or maybe it was never updated?
I feel like defaultDockerSAPMConfig, etc. should be renamed to defaultGatewayConfig to make it more clear.

I'm confused about
https://github.com/signalfx/splunk-otel-collector/blob/758688e2eb0bf3c49a2bc0058387095fc78d12fb/cmd/otelcol/main.go#L42
I don't see it referencing agent_config.yaml anywhere in this section 🤔 Either I don't understand how this is supposed to work or maybe it was never updated?
I feel like defaultDockerSAPMConfig, etc. should be renamed to defaultGatewayConfig to make it more clear.

hm yeah, some of the wording around these probably needs to be changed. I would think for the install sections we would want a section for using collector as a gateway and a section for using collector as an agent.


Drop python 3.7 support

Summary
Qiskit has dropped support Python 3.7 and this follows suit for Qiskit Optimization.
follows https://github.com/qiskit-community/qiskit-finance/pull/288
depends on #536
Details and comments

pyproject.toml and tox.ini both have py37 entries that should be removed too

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.416%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4448

Relevant Lines:
4813

💛  - Coveralls

@woodsp-ibm I guess we need to configure somewhere to update the following entries to Python 3.8. Do you have any ideas?

I guess we need to configure somewhere to update the following entries to Python 3.8. Do you have any ideas? We can update the configuration after merging this PR.

They are edited under the Settings for the repo - select Branches from the left and you will see Branch Protection Rules and you can Edit the rules for the main branch. Should probably make sure the new 3.11 tutorials is required. Once you edit the rules the checks above should alter accordingly.
Don't forget also the comment above about the two other files that should be updated - i.e the removal of py37 in them now that this drops 3.7 support etc.

Looks good, just missing these two file being updated to remove py37 envs
https://github.com/qiskit-community/qiskit-optimization/blob/3f21208d1a9fa448c7fc602e3ff527d1b601ba8c/tox.ini#L3
https://github.com/qiskit-community/qiskit-optimization/blob/3f21208d1a9fa448c7fc602e3ff527d1b601ba8c/pyproject.toml#L7
And I note in the latter (pyproject.tonl) we forgot to add py311 to that list for black so maybe that can be added, and we can fix it here, while removing the py37

Thanks. I updated tox.ini and pyproject.toml.


Landing Page (Tour & travel).

Developer Checklist

[x] Followed guidelines mentioned in the readme file.
[x] Followed directory structure. (e.g. ProjectName/{USERNAME}/...yourfiles)
[x] Starred ⭐ the Repo (Optional)

Summary
This project is an exciting and comprehensive tour and travel project designed to revolutionize the way people plan, book, and experience their dream vacations.
Features
-> ExploreX offers a user-friendly website built with cutting-edge technology.
-> We used React, Bootstrap, HTML, CSS, and JavaScript to create a seamless and visually appealing
experience.
-> Connect with fellow travellers, share your experiences, and get inspired by their journeys.
-> Stay up-to-date with travel trends and tips to make the most of your adventures.
-> Web-based interface that works smoothly on desktop and mobile devices. Intuitive navigation and
user-friendly design.
Issue : #577
Screenshot

Live Project Link
https://react-adm-dash.netlify.app/

Hi @PBJI, Please review my PR and give feedback on it.

Thank You.


fix: less restrictive string to parameter

null check was not working and allow numeric and accent in string to parameter.
"Backport" of recent bridge-styler fix: https://github.com/camptocamp/bridge-style/pull/61

:tada: This PR is included in version 1.1.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support for macOS Catalina 10.15?

https://www.apple.com/macos/catalina/
In GitHub Actions, runs-on: macOS-10.14 works as expected but runs-on: macOS-10.15 does not.
https://github.community/t5/GitHub-Actions/Support-for-macOS-Catalina-10-15/m-p/35457#M2229

That would make sense since 10.15 is not officially supported (yet). Just 10.14 is available for now.

We currently only offer macOS 10.14. We plan to replace macOS 10.14 with 10.15 before 11/13.

Hi @kaylangan 🙂
Small world, isn't it?

Why don't we keep all macOS versions that are still supported by Apple (commonly the last three), so you are able to test workloads against multiple OS versions that are in the wild?

@sfynx we've considered this, but at this point in time don't have enough VM capacity to support multiple versions of macOS.

Are 10.14 image being removed and replaced with 10.15 right now?
This build uses explicit macOS-10.14, and 5 jobs passed, but 4 jobs just say "This check failed" with no further info:

One says "This check was neutral" with no further info:

Replacing with macOS-latest lets them all pass but I've no idea which macOS version is actually being used. Are some using removed 10.14 and others a new 10.15?

Please could you could output the OS version along with other pertinent tools and version numbers at the start of each run?
This can really help debug problems when things are upgraded in the image. For example, Travis CI begins builds with "Build system information":

Thank you!

Yes!!
Display platform information
version() = Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:15 PDT 2019; root:xnu-6153.41.3~29/RELEASE_X86_64
Run import inspect
architecture() = ('64bit', '')
mac_ver() = ('10.15.1', ('', '', ''), 'x86_64')

And it's official: https://github.blog/changelog/2019-11-06-github-actions-macos-virtual-environment-updated-to-catalina