Allow marking certain packages as "installed via OPAM"

This is a draft PR on the hybrid mode feature, which makes it possible to actually test things and go somewhere from there.

Packages to be installed via opam can't be marked as not-installable in the solver because in such case there is no solution. I explored this avenue and it doesn't lead anywhere. At least one part of the solution space eliminated :heavy_check_mark:
There's currently warnings about opam-provided, our custom variable. Not great.
Variables are false by default so packages marked this way will not be picked up by opam.
The detection of the variable is extremely inflexible now. This is just (very necessary) busywork to walk that formula and determine whether the variable is set but needs to be done before release. For testing the concept on examples this works ok.
It needs a command to install the opam-provided packages. That's the easiest part so I'm leaving it for last, once we have figured out the other problems just collecting packages to install should be simple.

(No changelog entry because it shouldn't be merged and also for a decent changelog entry I'd want to have the functionality in place so I know what to describe)
But what works is:

Mark a package as opam-provided in the opam/dune-project file, e.g. bos like in this PR
Run opam-monorepo lock
See that bos and its dependencies like fpath, rresult and friends aren't part of the lockfile anymore, so they wouldn't be pulled anymore.

So, I haven't looked at the code yet but there are a few things to clarify here.
The first is that to work well with opam, the variable should be used to mark the packages to pull, not the ones to opam install.
It should also work as it does today for opam files that don't have the variable at all, e.g. assume everything must be vendored in those cases.
The second is that we need to think carefuly about the solving step. Including the opam deps there will give a consistent result as you'll know everything can be co-installed but it then requires us to properly filter out any transitive deps that have leaked in the solution.
Having everything co-installable might also not be a requirement, for instance if you need to install a binary tool, the fact that its dependencies conflict wit the ones of your project is somewhat irrelevant.
I think a good goal here is to go for the minimum viable. The minimum is that the opam deps and duniverse can be built in the same switch, i.e. they are compatible ocaml and dune-wise. I think we should proceed as follow:

Filter out the opam install packages from the deps formula (some packages such as ocaml and dune should be kept) of the targets packages before sending them to the solver
Extract the dune and ocaml constraints from the deps formula of the package that have been filtered out above
Run the solver with the filtered deps formula and the extra constraints extracted above. This gives us a solution for the duniverse, ocaml and dune.

At this point we can run the solver again with the fixed ocaml and dune from the above solution to get a solution for the opam install packages and merge it with the other solution so that everything that matters is locked there and one can just use the lockfile for all their dependency needs. The result of this merge might not always work for several reasons. We should probably stick to adding the opam install packages (not their deps) with the = constraint form the second solver run and let opam decide which version it will install for their deps. This is not a total lock but I think it's good enough for a first iteration.
I don't think there's an easy answer here so let's think in terms of workflow. What I'd like to advocate is the following:
opam switch create ./ --empty
opam monorepo lock
opam install --deps-only -t --locked ./
opam monorepo pull

Another option is to completely skip the second solver run and just re-inject the deps from the source opam files. It might make for a better first iteration by the way.
One last thing to note is that the lockfile should always contain the variables to mark the ones that opam should install or not. It's probably worth doing this fist in a separate PR by the way as this will enable the above workflow!

@NathanReb I'm currently resolving everything marked as opam-provided with the solver and removing it from the set of dependencies. There might be cases where it would resolve differently than with a larger set but this seems to me to be also true if I were to manually go down the formulas as well, creating another kind of solver. This seemed to be a convenient setup but if there's any concerns I am happy to change the code.

This is starting to look great!
I've done a bit of testing on the latest version and I identified a couple things:

It seems that the opam-provided packages and their dependencies are properly filtered out atm. I tested this on opam-monorepo itself, marking uri as opam-provided. uri has a dependency on angstrom and we don't have transitive dependencies on either of them. They were both filtered out correctly, this shows because they are not marked with the vendored variable in the lockfile. They do appear in the duniverse-dirs though which suggest they were wrongly included in the Duniverse.t. We need to make sure that's not the case. They also appear in the pin-depends field but I guess fixing this by filtering them out before building the Duniverse.t should fix both problems.
I then tried to add angstrom as a direct dependency, without marking it as opam-provided and the result was that it was still filtered out when I expected it would not. What should be done here is a bit less clear as we're explicitly going to state that dependency cones intersection between duniverse and opam-provided are not supported. We need to at least look into this to decide what should be done and document the filtering accordingly.

One thing I just thought about: the opam-provided packages shouldn't be required to build with dune, we need to patch the solver so it knows to do that!

I was also testing with uri. It's a good catch, fortunately it is quite easy to fix because there is code that filters out base packages and virtual packages, so adding a check there solved that issue.
This is indeed an issue, that we need to figure out what the right thing is in this case. At the moment, everything in the dependency tree of opam-provided packages is eliminated. This has the advantage that the transitive dependencies of opam-provided packages don't need to use dune. For them to be opam-provided they must be installed by opam anyways. Therefore pulling them into the duniverse would mean we need to duplicate them and the duplicate copy needs to be dune-buildable. Let's discuss the semantics that we wish for it.
That's an excellent observation that I completely missed out! I changed it so it runs the solver first for the opam-provided dependencies allowing non-dune builds and put the set of packages that are thus known to be installed by opam (by whichever means) in an exception list. This has some interaction with 2. because if we install angstrom again, the second copy has to build with dune.

I've added a number of tests:

A very simple one to show vendoring in action
A more complicated one with transitive dependencies
A variation of the previous one, but with the package to be opam-provided flipped, so demonstrate the implication

Hi, I am testing this PR to check that it works in the Mirage use case. So I am using the feature with the non-dune ocaml-freestanding package, which depends on the non-dune solo5 package. Currently my issues is that with the following opam file:
depends: [
  "ocaml-freestanding" { build & >= "0.7.0" }
]
x-opam-monorepo-opam-provided: [ "ocaml-freestanding" ]

I obtain this lockfile:
depends: [
  "base-bigarray" {= "base"}
  "base-threads" {= "base"}
  "base-unix" {= "base"}
  "conf-libseccomp" {= "1"}
  "conf-pkg-config" {= "2"}
  "ocaml" {= "4.13.1"}
  "ocaml-base-compiler" {= "4.13.1"}
  "ocaml-config" {= "2"}
  "ocaml-freestanding" {= "0.7.0"}
  "ocaml-options-vanilla" {= "1"}
  "ocaml-src" {= "4.13.1"}
  "ocamlfind" {= "1.9.3" & vendor}
  "solo5" {= "0.7.0" & vendor}
]

I expected solo5 to also be opam-provided, but it's actually locked !
It looks like there are some issues with the tests. as the behaviour I'm testing is the same as ./reverse-transitive.opam: what I expect is written in the text: _
Now for the reverse case, depends-on-b is opam-provided. [...] Since it is, we need to make its dependency, "b", also opam-provided._ but the opam show --no-lint --raw -fdepends ./reverse-transitive.opam.locked result show the same issue.
(https://github.com/Leonidas-from-XIV/opam-monorepo/blob/2be8fb08501812206e07ba20118ef4817dcf2d22/test/bin/opam-provided.t/run.t#L85)
In any case thanks for the huge work !

@TheLortex thanks for the testing! We'll try to reproduce this and fix it as this is one of the intended packages that this feature is supposed to work with!

@TheLortex You're right, the expected value of the test is wrong. At some point the algorithm made sure to never duplicate dependencies, I think before 659a7fd and I adjusted it wrong. This seems to be a bug, because indeed b should not be marked as vendor as the vendored dependencies do not depend on it.

@TheLortex Can you take another look? There was indeed an error and I ended up just adding debug/info prints in relevant places to be able to see why a package is classified as either (so --verbosity=debug might show some interesting insights why things are wrong).

I'm still having issues using the feature. See this opam file:
opam-version: "2.0"
name: "noop"
maintainer: "dummy"
authors: "dummy"
homepage: "dummy"
bug-reports: "dummy"
dev-repo: "git://dummy"
synopsis: "Unikernel noop - monorepo dependencies"

depends: [
  "ocaml-freestanding" { build & >= "0.7.0" }
]
x-opam-monorepo-opam-provided: [ "ocaml-freestanding" ]

Opam-monorepo crashes with the following error:
opam-monorepo: internal error, uncaught exception:
               (Failure "duplicate entry ocaml")
               Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33
               Called from OpamStd.Set.Make.fold.(fun) in file "src/core/opamStd.ml", line 190, characters 15-23
               Called from Stdlib__Set.Make.iter in file "set.ml", line 378, characters 35-38
               Called from Stdlib__Set.Make.iter in file "set.ml", line 378, characters 25-33
               Called from OpamStd.Set.Make.fold in file "src/core/opamStd.ml", line 189, characters 6-62
               Called from Duniverse_lib__Opam_solve.Make_solver.build_context in file "lib/opam_solve.ml", line 285, characters 6-69
               Called from Duniverse_lib__Opam_solve.Make_solver.calculate in file "lib/opam_solve.ml", line 505, characters 12-187
               Called from Duniverse_lib__Opam_solve.calculate in file "lib/opam_solve.ml" (inlined), line 642, characters 2-134
               Called from Duniverse_cli__Lock.calculate_opam.(fun) in file "cli/lock.ml", line 302, characters 14-192
               Called from OpamSwitchState.with_.(fun) in file "src/state/opamSwitchState.ml", line 1211, characters 14-18
               Re-raised at OpamStd.Exn.finalise in file "src/core/opamStd.ml", line 1372, characters 4-38
               Called from OpamStd.Exn.finally in file "src/core/opamStd.ml", line 1375, characters 10-14
               Re-raised at OpamStd.Exn.finalise in file "src/core/opamStd.ml", line 1372, characters 4-38
               Called from OpamGlobalState.with_ in file "src/state/opamGlobalState.ml", line 186, characters 14-18
               Re-raised at OpamStd.Exn.finalise in file "src/core/opamStd.ml", line 1372, characters 4-38
               Called from Duniverse_cli__Lock.run in file "cli/lock.ml", line 449, characters 4-143
               Called from Cmdliner_term.app.(fun) in file "src/cmdliner_term.ml", line 24, characters 19-24
               Called from Cmdliner_term.term_result.(fun) in file "src/cmdliner_term.ml", line 40, characters 25-32
               Called from Cmdliner_eval.run_parser in file "src/cmdliner_eval.ml", line 34, characters 37-44

@TheLortex Thanks for the testing, I appreciate it. I tried with your example first and it didn't work because the solver picked 4.14 which is not compatible with ocaml-freestanding, so I realized you're using --ocaml-version to lock it.
We did indeed have an issue there, because in certain cases we inject the compiler constraint from the command line twice, but the code was written in a way where this would crash. I made sure for it to work as long as the constraint is unchanged.
@NathanReb  I added a small regression test into the cram test (that fails with the exact error @TheLortex describes) so this should not happen in the future. It is a bit more code than absolutely necessary because I wanted to make sure the constraint is equal to the constraint that already exists - otherwise there would be some tricky solver problem that we should not just ignore.

...impatiently waiting for this to be merged and released... thanks for all your hard work on it :)

@hannesm it should get in today. We will also focus on the 0.3 release in the next few days so this should all soon be available!

Thanks again, for the work on this, and for merging it. I'm wondering @NathanReb 8 days ago wrote "release in the next few days", is there still a release planned, or have there been show stoppers encountered? Thanks for you time.

@hannesm Yes, we are planning a 0.3.0 release soon. There is a milestone with the missing things for 0.3.0, the only potential show stopper is about the opam vendor variables that needs to be investigated beforehand.


Incorrect rowVirtualizer virtualItems length

Hi, I am trying to render an array of objects inside Material-UI autocomplete and I am building up the virtualItems, but all I get is a length of 6 whatever I do. Please help on what I am doing wrong.
Here is the code.
https://stackblitz.com/edit/react-veeua8?file=src%2FApp.js

@alinsimoc Thank you so much.

I think that's not the case, even if I have around 1300 items, the items repeat on scroll no matter where I scroll to. (check the name)
https://user-images.githubusercontent.com/26324376/167372554-b75e0723-989b-48e5-b867-9d01428a411f.mov
My rowVirtualizer returns only 10 items, which gets repeated indefinitely.
Snippet:

Facing the same Issue


Actually give useful information for module building

Without this, modules are installed to the wrong directory and can't be found. It also automatically figures out the upstream version.

LGTM, thank you !


PyPI package name

I could only find your package on PyPI: https://pypi.org/search/?q=pybci
Is the conflict with a different package still a problem? If not, I would suggest renaming the package to pybci, because the current installation process is slightly confusing with the double "install": https://github.com/LMBooth/pybci/blob/main/docs/BackgroundInformation/Introduction.rst?plain=1#L12-L14
If you can't rename the package, perhaps consider naming it pybci-installer instead.
https://github.com/openjournals/joss-reviews/issues/5706

Hi @jsheunis, thanks for bringing this up, the conflict is still a problem with no response as of yet.
I could rename to pybci-installer if you think this would be preferable and more clear for users, i'll have a look at formalising this tonight when i get home from work.

actually, on second thought, I don't think my suggestion will be clearer for users. But I also think the current name isn't clear either. The "install" part suggest that you are downloading an installer of some kind, which then needs to be executed in order to install the package. In reality, it is the actual package that's being downloaded and installed. In the end it's your decision, but you could perhaps try a name with some extra characters (perhaps py-bci i.e. with a hyphen, or something else that is just not as confusing as install).

py-bci , py.bci were too similar to another package and i tried py-bci-, -py-bci which broke pypi naming conventions needing to start and end on a alpha-numeric, so instead i've gone for pybci-package, and updated the documentation accordingly, hopefully this is more intuitive.


A few fixes before the release around journal / threading...

This is not ready to be merged yet.. but it's good for reviews already.

@barreiro I would appreciate your review since you did one of the commits here.

It's good. I also support the removal of the defaultAddress 'optimization'.
@clebertsuconic Thanks for taking care of the loose ends!

This is ready to be merged now...


Updated references to the GPL -> Apache License 2.0

Companion PR to #82, but for our GH Pages site.

Waiting to merge this until a new release is created (since the gh-pages content should apply to what's on the master branch).


Support scheme-less endpoint with port.

A Marathon URL like http://host1,host2:8080 would not be accepted because host:8080 is considered as an opaque URL by url.Parse with the scheme being host and the opaque part being 8080. We fix this by prepending the default scheme if URL.Opaque is non-empty.
Other drive-by changes:

Panic on a parse error when we add the default scheme. (This should   not happen, hence the panic to indicate an invariant.)
Remove a check for empty scheme. (We should have ruled out this possibility.)

Fixes #238.

@gambol99, @xperimental: Please review.

eeekkk ... my bad!!, I thought I catered for this ... LGTM

No worries -- this one was a bit tricky to spot during development.
Merging...


added citation

Added KBase paper citation in PLOS format, increased patch number by 1, recorded changes in RELEASE_NOTES.md

@mclark58 looks good.  @sychan please merge.

... actually, should probably have Travis-CI enabled

I do not have permission.  @sychan can you please do it?
https://travis-ci.org/kbaseapps/MetagenomeUtils


:arrow_up: Added prop-types package

Addresses issue #6
Changes:

Added the prop-types package, changed the PropTypes object to use the package instead of React.Proptypes. Should get rid of the scary React warnings.

Fixed a few formatting warnings, such as unused variables

Added package-lock.json for (same as yarn.lock but for npm v5)

Passed the tests locally, should be tested by a human before deployment just to make sure the PropTypes work as intended.

Thanks for the PR! @slavabez :dizzy: merged


LoongArch64: Add DYNAMIC_ARCH support

This patch also fixes LAPACK test issues in #3626.

Thank you. If I understand correctly, this includes the changed GEMM_UNROLL parameters from my comments in #3626, but we will still need an updated version of 3626 for the (NO)LASX issue ?

Thx, you are right. PR #3626 has been idle for a long time. I don't know if @xen0n has time to update. If he doesn't have the time, maybe I can create a new PR to fix existing issues if he allows.


Consider using Cow for path-related types

As they're currently implemented, the path-related types cannot all implement Borrow. E.g., impl std::borrow::Borrow<DocumentPathRef> for DocumentPath makes no sense. One consequence is that when these types are stored as keys in a HashMap, each lookup into that collection requires a temporary heap allocation.
Here's the relevant StackOverflow question:
http://stackoverflow.com/q/36480845/1094609
By using a Cow as the underlying storage for path-related types, we could implement Borrow. We could also eliminate the distinction between owning-types and borrowing-types—e.g., DocumentPath and DocumentPathRef<'a> would collapse into a single DocumentPath<'a> type. However, one downside is that the new type would require a lifetime parameter, which may be too bitter a pill to swallow.

For v0.2 I'll aim for convenience over efficiency. This means:

No more non-owning types—e.g., DocumentIdRef.
No more lifetime parameters. All types will contain (directly or indirectly) String.

This will cause some operations to allocate memory even though they feel like they shouldn't allocate. For example, looking up an attachment in a document by using a &'static str string literal for the attachment name will cause an allocation for the lookup name.
Maybe in the future we can use some tricks, such as Cow, to eliminate some of these allocations, but it's not an important goal for now.


Move to knative serving v1beta1 apis

We can drop v1alpha1 apis and support knative 0.6.0+

Changes are in https://github.com/apache/camel-k/compare/master...nicolaferraro:serving-v1beta1?expand=1
But I'd defer this to next release because of https://github.com/knative/serving/issues/4533 that led to two different versions of Knative, of which the one using v1alpha1 is still the most used.
Will keep this for next M2 release.

We've moved to v1


Issue: 1102 HTTP 204 status code

According to Issue 1102 this is a proposal as for how the HTTPResponse should behave when returning an HTTP status code 204 (No-Content)
Previous behavior:

When passing None in the json response method with status 204:

Returns a Response with content length header length 4  (from len('null'))

Current behavior:

On HTTP status code 204, no body will be sent and content length header will be set to 0, regardless of the body passed.

@r0fls @h-wei I'll close this PR as also the status code 304 is behaving in the same way and in this I only consider 204.


fix(app-preview): Change how root path is determined for singular template

This PR contains:

[x] bugfix
[ ] feature
[ ] refactor
[ ] documentation
[ ] other

Are tests included?

[ ] yes (bugfixes and features will not be merged without tests)
[x] no

Breaking Changes?

[ ] yes (breaking changes will not be merged unless absolutely necessary)
[x] no

If yes, please include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:
Description
There is an issue when there is only one template present and how the path for the sidebar is handled. This should resolve that issue but selecting the root path in a different way for singular templates.

There should not be differences in path resolution from single or multiple templates

@sysmat that was changed up. not to worry.


assert cardinality

The cardinality of the prepared query should be asserted to match the query function cardinality.

@1st1 did I get this right? :arrow_up:

Yes, I think so


dependentValidationKeys is a misnomer

The name implies the reverse of the actual relationship (they are dependencies, not dependent) and creates confusion. As you say in the readme,

dependentValidationKeys is the collection of paths relative to this.model that will be observed for changes.

Dependency vs. dependent gives lots of people trouble. I think your readme is quite clear. I suggest the code follow the readme and use the name observedProperties.

@pwfisher the observers are going to changed over to computed properties. The intent is to follow a similar internal API as Ember itself.


Automated cherry pick of #8925: feat(region): add SCloudregionResourceBase for SInstanceSnapshot

Cherry pick of #8925 on release/3.5.
#8925: feat(region): add SCloudregionResourceBase for SInstanceSnapshot

Codecov Report

Merging #8929 (87f24ac) into release/3.5 (6a15e02) will decrease coverage by 1.77%.
The diff coverage is 0.00%.

@@               Coverage Diff               @@
##           release/3.5   #8929       +/-   ##
===============================================
- Coverage         5.98%   4.20%    -1.78%
===============================================
  Files              796     163      -633
  Lines           125693   24870   -100823
===============================================
- Hits              7522    1047     -6475
+ Misses          117504   23731    -93773
+ Partials           667      92      -575

Flag
Coverage Δ

aFlag
4.20% <0.00%> (-1.78%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/multicloud/esxi/host.go
0.77% <0.00%> (ø)

pkg/multicloud/aws/loadbalancerlistenerrule.go

pkg/cloudcommon/validators/misc.go

pkg/hostman/system_service/ntpd.go

pkg/multicloud/aws/dbinstance.go

pkg/compute/models/dbinstance_backups.go

pkg/compute/guestdrivers/openstack.go

pkg/util/cgrouputils/cpuutils.go

pkg/multicloud/aws/iam_user.go

pkg/compute/models/disks.go

... and 619 more

Continue to review full report at Codecov.

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


Firefox e10s multiprocessor compatibility

Firefox only runs in multiprocessor mode when all of the addons are e10s compliant and uses multiprocessors threads. Markdown Here already has a WebExtention port for Chrome, so I assume implementing its e10s counterpart for Firefox should not be too much work (hopefully?), if not it is already done.
Can you provide us what are your plans on this? Or you are planning to drop support for Firefox as quite a few famous/popular addons did?

Hey,
You can update your extension to use the new Web API version.
https://github.com/adam-p/markdown-here/releases/tag/v2.13.1 (This is now also live on the Mozilla Addons).
Please close the issue once done so that the noise can be reduced! :)

Thanks for pointing out that there's another issue about e10s.
So, duplicate of #207. Fixed with 2.13.1. Get the new Firefox WebExtensions version of MDH here:
https://addons.mozilla.org/en-US/firefox/addon/markdown-here/


Add check for os.ErrNotExist in isDir func

As written, this function will fail on newer versions of pkg/sftp, because they are now normalizing the errors from SSH errors to OS ones. This change accounts for that and restores isDir to working order.

This change is

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

Comments from Reviewable


Update all code to use autogenerated openapi types

Closes https://github.com/ethyca/fides/issues/870
Code Changes
Okay this touches a lot of files, but they're pretty much all the same change

[x] Delete most of the types.ts files. Exceptions are some types were for frontend specific things to help facilitate components (i.e. ColumnMetadata, DataCategoryNode for the checkbox tree). I also left some of the ones in Organization in, since I didn't find their equivalent types in the autogenerated models, but let me know if I just missed it
[x] Rewrite imports from the types.ts files to ~/types/api
[x] Changes instances of FidesKey type to just string. It looks like FidesKey isn't a type in the openapi model, but I think it's safe to just call it a string.

Steps to Confirm

[ ] Hopefully nothing has changed!

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
Documentation Updated:

[ ] documentation complete, or draft/outline provided (tag docs-team to complete/review on this branch)
[ ] documentation issue created (tag docs-team to complete issue separately)

[x] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[ ] Update CHANGELOG.md

Description Of Changes
Write some things here about the changes and any potential caveats

Okay this touches a lot of files the candor made me chuckle


Upgrade to Gradle 6.x

We still use Gradle 5.0, which is from 2018, so we should upgrade to a more recent version. There are some incompatibilities that need to be fixed. (See #95)

Update gradle wrapper to a more recent version
Fix bug (Already done in #96 )
There is another related error when building with Gradle 6.6.1, where a jacoco file does not get written to...

@hajduakos Can you take a look at this?

Unable to read execution data file /home/runner/work/theta/theta/subprojects/cfa-cli/build/jacoco/test.exec

taken from the build output: https://github.com/ftsrg/theta/pull/96/checks?check_run_id=1309038003


How do you implement non-mongodb data store?

Please feel free to correct if my comprehension is incorrect.
The mongodb store allows spark to simply respond to queries with FHIR json formatted responses. This assumes that the data stored in the db is already formatted per FHIR specs. However, if I have, say an RDBMS that stored the data, I have to build a FhirStore (basically implement IFhirStore and create the json responses (of course using the Fhir .net API). Is that the recommended approach?

Currently the FhirService connects to a IFhirStore. And the default implementation is MongoFhirStore. The way the service communicates to the FhirStore is with POCO's. So the FhirService deals with Request/Response. The store just deals with Fhir POCO classes from the fhir api.
Currently to replace Mongo, you have to reimplement the IFhirStore, IGenerator and and ISnapshotStore. If you also wish to have search on a RDBMS too, you will need a replacement for that too. We are currently working on making that part simpler.


Added start() API function and minor bugfixes.

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


action-pr-link not working

Description
I cannot seem to get this:
https://github-production-user-asset-6210df.s3.amazonaws.com/50487467/241645264-076a0137-36a2-4fd0-a66e-735ef3b3a563.png
Instead I see this:

How to replicate the issue + URL
Observe at https://github.com/refined-github/refined-github/actions/runs/6548411198
Extension version
23.10.5
Browser(s) used
Chromium

I see.  I was trying to do the latter, but navigating through the Actions tab rather than through the Commit Status links.

Do you mean the Actions tab in the PR? We can "fix" those links too if necessary.
If you see any pages that:

have a link to a workflow run, AND
has information regarding the PR triggered, on the same page

Please share them and we'll enable the feature on those pages.

Do you mean the Actions tab in the PR? We can "fix" those links too if necessary.

Apologies.  I mean the Checks tab in the PR.
But now that I am playing with this refinement a bit more, I'm not sure I like it.  I miss being able to go back to list of runs for a particular test.  I.e. the:

from my screenshot.  Is there any chance of having links to both?

That link is generated by GitHub, they already do that on some links but not others. Just just fill in the blanks


Fix when a method is passed as an endpoint and init CBV #126

ref #126 #127

@kennethreitz this PR fixes the Route.is_function + the websocket problem (the issues that I've reported before)

I was about to add the last peace of the puzzle but you've closed the PR :/
A way of consuming websockets and handling Abnormal close
async def ws2(ws, greeting):
	await ws.accept()
	try:
		while True:
			name = await ws.text()
			print(name)
			await ws.send_text(f"{greeting} {name} via ws!")
		await ws.close()
	except Exception as e:
                # Abnormal close
		print("Z", e.code)
	finally:
		print("stuff")

@kennethreitz check https://github.com/taoufik07/responder/tree/fix/method_as_an_endpoint


Formatting error in the EV4 section

There is a typo/formatting error in the Ev4 section:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/compute-benchmark-scores#ev4
It isn't forming the table and the data is just all smushed up on one line.
[Enter feedback here]

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

ID: a1b285b7-df83-7949-4589-0323d9bd2f6e
Version Independent ID: 96840643-9f73-624a-606e-c17195aed16c
Content: Compute benchmark scores for Azure Windows VMs - Azure Virtual Machines
Content Source: articles/virtual-machines/windows/compute-benchmark-scores.md
Service: virtual-machines
Sub-service: sizes
GitHub Login: @cynthn
Microsoft Alias: davberg

Thanks for the feedback! We are currently investigating and will update you shortly.


[Enhancement][opensearch][opensearch-dashboards] Request for better documentation on setting initial passwords.

Is your feature request related to a problem? Please describe.
It has been very confusing and time consuming trying to understand and trying to get to work a way to set the initial passwords using both charts. I have not been successful. Coming from working with an elasticsearch image I am simply able to set the password using an environment variable (which I naively expected to also be the case with Opensearch).
As I understand it, the Opensearch API security plugin can be enabled with the following config:
securityConfig:
  enabled: true
  ...

This sets the default username and password to admin. To further customize these I think I have to edit values under securityConfig but these are not explained in the README.md and no links to documentation is given.
For opensearch dashboard I found the following snippet:
opensearchAccount:
  secret: ""
  keyPassphrase:
    enabled: false

However, I have found no explanation of this key opensearchAccount in the table under the README.md's configuration (https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch-dashboards/README.md#configuration).
I THINK I have to set the keys username and password in a secret and link it via the code, but this simply sets OPENSEARCH_USERNAME and OPENSEARCH_PASSWORD. Are these specifically credentials for the opensearch dashboard or does it also change the user for the opensearch api?
Describe the solution you'd like
Better explanation for initial username+password settings.
Better documentation on various values parameters related to this. Specifically the various parameters under securityConfig for opensearch and opensearchAccount for opensearch dashboards.
Describe alternatives you've considered
To be honest this is really pushing me to just use elasticsearch.
Additional context
/
Thanks.

voting for this! Struggling with this configuration for a while now. Also wondering what kind of cookie format is expected within the external secret.

This is mostly related to how security plugin works and should be configured to modify and add new users.
Request you to go through our documentation on the security plugin here.
Transferring issue to security plugin to answer any further queries you may have.


** Official xTeVe Discord **

Please report any issues at the official xTeVe discord before adding a bug or feature request here..
General:
https://discord.gg/eWYquha
Support:
https://discord.gg/wTPUqcAbCX
Docker Support:
https://discord.gg/Up4ZsV6

so you need TWO accounts to create a bug report?
Isn't that a bit much?

I think the Dev here is no longer involved in the App. I will try to respond, but I'm no coder.

so you need TWO accounts to create a bug report?
Isn't that a bit much?

Thanks for the comment.  Many issues reported as bugs are not actually bugs or have work arounds that can be used to resolve an issue.  Our mods and bot services are available to help at our official discord!!

bump


Proxy checker not testing all proxies

Today I checked 6000 socks 4 proxies. When finished, about 40 proxies were still listed as "UNTESTED"
I think it's not the first time I see this issue.

Maybe it's just a refresh issue, because when I close OB then relauch it, nothing is listed as UNTESTED.

Yes basically what happens is that when the Parallel finishes assigning proxies to the workers that check them, it stops refreshing the UI, I need to make it wait for all the workers to finish or I need to delegate the UI refresh to the workers themselves.

same for me xd

Fixed https://github.com/openbullet/openbullet/commit/ad44543e411272545711e6f2d31095096705fac0


exceptions & rtti

cody builds with -fno-rtti -fno-exceptions, 'cos that;s what GCC needs.   It's not right in general and should be configurable.

Resolved f51fd37


Unused fields not working in custom Query component

Any thoughts on how I should handle this case?

Here's the code for Query:
import { useQuery } from './hooks'
import { TypedDocumentNode, UseQueryArgs, AnyVariables } from 'urql'

type Options<V extends AnyVariables = AnyVariables> = Omit<UseQueryArgs<V>, 'variables' | 'query'>

export function Query<D, V extends AnyVariables = AnyVariables>({
  children,
  query,
  variables,
  requestPolicy,
  context,
  pause,
}: {
  query: TypedDocumentNode<D, V>
  children: (response: ReturnType<typeof useQuery<D, V>>) => React.ReactNode
} & (V extends {
  [key: string]: never
}
  ? Options<V>
  : Options<V> & {
      variables: V
    })) {
  // @ts-expect-error it's fine
  const result = useQuery<D, V>(query, {
    variables,
    requestPolicy,
    context,
    pause,
  })
  return <>{children(result)}</>
}

Yes, I did not implement render props 😅 that's expected


luci-app-dockerman missing main menu items

luci-app-dockerman broken. It shows only the configuration button, and the full list appears only after reinstallation
to reproduce the bug:

install luci-app-dockerman with depends
check that after installation full menu available

reboot router
Now full menus is missing available only configuration

remove luci-app-dockerman package
install luci-app-dockerman package
it appears again

DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='23.05.2'
DISTRIB_REVISION='r23630-842932a63d'
DISTRIB_TARGET='x86/64'
DISTRIB_ARCH='x86_64'
DISTRIB_DESCRIPTION='OpenWrt 23.05.2 r23630-842932a63d / LuCI openwrt-23.05 branch git-24.006.68745-9128656'

Anyone with lua experience who can look at this? dockerman needs porting to js anyway.

Looks similar to #6280
@systemcrash before converting the dockerman to JS we should check and grab changes from upstream https://github.com/lisaac/luci-app-dockerman.
We may convert easily some parts but for other we'll need to call a lua script which is a shim for a Docker REST API. That may be resolved later, this is not critical to still have some non UI parts in Lua.
Basically I started from this task but there wasn't a good solution and I paused and switched to other tasks.
So if you'll have a desire to convert the dockerman to JS please let me know and I'll join. I have it somewhere in a middle of my TODO.

Is ucode an option?

It should be possible to make in a plain shell. Still, that's not blocking to convert the UI to JS.

Same issue.

When fixing https://github.com/openwrt/luci/pull/6998 I discovered that I was able to make the menu behave as before by installing dockerd on my host. I'm definitely not fluent in Lua but it looks like the code which configures the menus exits early if it can't contact either the remote or local socket. This may also be related to https://github.com/openwrt/luci/pull/6985 however, if my suspicion is correct, the solution would probably be to make the menus behave appropriately even if a socket connection can't be made.
https://github.com/openwrt/luci/blob/f2a49104c4839cc61c0c6a32cf0b616ca7b7d667/applications/luci-app-dockerman/luasrc/controller/dockerman.lua#L18-L34

My guess is that the order of service startup and page loading may be causing the display error.
Here is my  reproduce. After a normal system boot, when I could access the incomplete luci-dockerman, type docker command in console reported this:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

So I waited for all containers to autostart, and then docker command returned to usable. At this time, I clear the luci cache under the tmp and now I can access the missing menu again through the subpath.

Hi,
you can simply change the startup order by changing the priority in /etc/rc.d/
If, for example, set it to 45, before uhttpd at 50.
mv S99dockerd S45dockerd
Now it is visible again. Note that the priority in the web interface does not update. That might be because its generated at trigger only.

Hi, you can simply change the startup order by changing the priority in /etc/rc.d/

Thank you for reply but I already tried that way (in my build it's nginx instead of httpd) and cause the same result

Hi @JKSTAFF

I also changed dockerd start priority in /etc/init.d
What do you mean by that?

Don't confuse init.d with rc.d. The latter sets the order and contains only symlinks to the scripts in rc.d. The S or K stands for start or kill, and the 2-digit number is the order, where 99 is last. If you use nginx as server, you might check what order that is and change the number accordingly.
Let me know if you need further explanation

Hi @flhofer Thank you for your patience and explanation. In my build modifying dockerd lower than 60 takes precedence over nginx(S60).

I also changed dockerd start priority in /etc/init.d

I mean I also modified /etc/init.d/dockerd like this:
#!/bin/sh /etc/rc.common

USE_PROCD=1
START=99 → 50   ## I changed here

extra_command "uciadd" "<interface> <device> <zone> Add docker bridge configuration to network and firewall uci config"
..............

Yep.
Guys look like this bug still appears. I have two x86 OpenWrt Host with latest 23.05.3 version and latest 24 luci-docker plugin. and one of this host  display full menu items and second with missing menu items, difference only with count of container, with displayed have only one container and onother about 7 containers

@Loafter @JKSTAFF, so it looks like if you have many containers to run at the start, the daemon is not responsive right away. In my case, it works as I have only two smaller containers. Maybe we need some autostart delay for dockerd's containers.

I'm experiencing the same issue  on a Raspberry Pi. I only have one container running.

I had the same issue. The dropdown menu sometimes appears and sometimes doesn't.

Closed by #6985

missing main menu items still exist with dockerd and docker, docker-compose and luci-lib-docker.
I compiled firmware with complete dockerman dependencies on both 23.05.5 and 24.10-rc2,  without any connecting problem to docker website, I guess the problem still comes from dockerd failing to start automatically after booting. I can access the missing menu options in the address bar only after manually restart dockerd service.
If I don't do this, the mandatory access options address will be like this on browser:
No page is registered at '/admin/docker/images'. If this url belongs to an extension, make sure it is properly installed. If the extension was recently installed, try removing the /tmp/luci-indexcache file.


[5.2] SR-11917: Using JSONEncoder's .outputFormatting = .sortedKeys has a memory leak on Linux

Any use of NSString.compare(_:options:range:locale:) with a non-nil locale
would leak on Linux.

_CFCompareStringsWithLocale was leaking the collator on non-macOS
platforms.

Use the collator cache on Linux and Win32 the same way that macOS
does.

(cherry picked from commit 1112582e513f05258dc45f8b66f7e8bcc4add1f3)

Backport of #2655
cc @millenomi

@swift-ci test linux

@swift-ci test macOS

cc @drexin


Gstreamer camera live streaming output is not diplayed...

i have executed the pose_camera.py file but the output is not displayed and there is no errors too .. could u please help me with this ?
thank you ...

Hey, here is a work around for now, but I'll look into what actually went wrong with the pipeline
https://github.com/google-coral/project-posenet/issues/38#issuecomment-710058891

@smartkarthikn are you still facing the issue..

Hope this issue was fixed. Feel free to reopen if issue still exists. Thanks!


whitespace for option values in Cake

When I use cake I can't have whitespace in option values:
cake --message "a sentence" git:commit

This will give me error:
No such task: sentence

To see a list of all tasks/options, run "cake"

Would be useful to support whitespace in option values.

Hmm .. don't know if anyone changed anything but it actually works now.


Support completion on

should be possible to autocomplete a filename to get options of full paths for a script tag.
e.g. in an xml file, typing the following
  <script type="text/brightscript" uri="NetMixi" />
and activating  completing should result in:
  <script type="text/brightscript" uri="pkg:/source/Mixins/NetMixin.brs" />

My solution:
By the default VSCODE doesn’t support formatting of the XML files.
There are two extension that closes this gap:

XML Tools (by Josh Johnson) – provides basic XML formatting.
Auto Close Tag (by Jun Han) – auto closes tags

Installation – via vscode extensions.
Configuration – add the following lines to the C:\Users<USER>\AppData\Roaming\Code\User\settings.json and reload the vscode.
"auto-close-tag.fullMode": true,
"auto-close-tag.enableAutoCloseSelfClosingTag": false,
"xmlTools.enforcePrettySelfClosingTagOnFormat": true

Usage:
•	Formatting XML file – Alt+Shift+F
•	Auto close tags:
o	Type “<” -> type tag_name -> type “>” will create  <tag_name></tag_name>  and the cursor will be located between the tags
o	Type “<” -> type tag_name -> type “/” will create self closed <tag_name />

This doesn't address the issue though. The plugins you suggest don't
understand PKG URI resolution, nor the root folder config of the
brightscript plugin. I suggest you read my issue again and look at the code
example provided to fully understand what I'm proposing.
On Mon, Nov 26, 2018, 12:46 AM Evgeny Gorelik<EMAIL_ADDRESS>wrote:

My solution:
By the default VSCODE doesn’t support formatting of the XML files.
There are two extension that closes this gap:

XML Tools (by Josh Johnson) – provides basic XML formatting.
Auto Close Tag (by Jun Han) – auto closes tags

Installation – via vscode extensions.
Configuration – add the following lines to the
C:\Users\AppData\Roaming\Code\User\settings.json and reload the
vscode.
"auto-close-tag.fullMode": true,
"auto-close-tag.enableAutoCloseSelfClosingTag": false,
"xmlTools.enforcePrettySelfClosingTagOnFormat": true
Usage:
• Formatting XML file – Alt+Shift+F
• Auto close tags:
o Type “<” -> type tag_name -> type “>” will create <tag_name></tag_name>
and the cursor will be located between the tags
o Type “<” -> type tag_name -> type “/” will create self closed <tag_name
/>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TwitchBronBron/vscode-brightscript-language/issues/34#issuecomment-441525672,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABKIUX4JqNlqhEy1l4F5CYkCPBCktMFRks5uy4ApgaJpZM4YsvVE
.

It was workaround for xml management and formatting :)

Yes. I appreciate that; but that's just noise as far as the ticket is
concerned. I already have several xml plugons as I imagine do most vscode
users.
You could just as well suggest an xml coloriser plugin: it had nothing to
do with the actual issue and has now taken the real conversation on a
tangent : worse still, a busy maintainer may have skimmed your comment and
closwd  the issue, which means I have spend my precious time clarifying
your misdirection.
Its good etiquette to keep conversations; especially specific, exampled
feature requests or bug reports on point.
On Mon, Nov 26, 2018, 7:47 AM Evgeny Gorelik<EMAIL_ADDRESS>wrote:

It was workaround for xml management and formatting :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TwitchBronBron/vscode-brightscript-language/issues/34#issuecomment-441626835,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABKIUfOv_dXhxuVcHpWzHywBUVbJUQ0Eks5uy-LFgaJpZM4YsvVE
.

You are little bit aggressive :)
Take a deep breath, we all want this beautiful program to be even better ;-)

??
If you take professional criticism as aggression that's your personal choice. Perhaps English is not your first language and you struggled to understand my examples. I apologize if I'm did something that enabled you to misconstrue constructive feedback re: your git conduct as aggression.
I will further add that I think calling someone a little bit aggressive is absolutely unacceptable. Name calling is not cool.  This is a totally unreasonable response to my detailed, explicit, calm and polite request for you to to have better git manners.

Apologies accepted.
Thanks.

This is available in the languageserver beta.


Support RTL

[x] package.json:version has been updated with npm version patch (or major/minor as appropriate)
[x] @brainhubeu/react-carousel version has been updated in docs-www/package.json to the same which is in package.json:version

I have deployed the doc by Netlify on here, you can have a quick preview.
closes #53

@sinchang
Sorry but there are some new conflicts.

@piotr-s-brainhub publish gh pages for a given PR action is failed. please take a look.

@sinchang
That's because it unfortunately works only for brainhubeu branches.

@sinchang
I opened https://github.com/brainhubeu/react-carousel/pull/221 instead.


Recent Blueprint change breaks timestamps() for anything less than MySQL 5.6.5

https://github.com/laravel/framework/commit/0c2b7da2635f7bbbaf63d1b93fa817232bdd9d65
This commit, release with v5.2.8 breaks $table->timestamps() in migrations when the server is using < mysql 5.6.5
it produces this error
[PDOException]
SQLSTATE[HY000]: General error: 1293 Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

Not sure if this was intended. Just found it via my CI tests on CircleCI which defaults to mysql 5.5.

I think it's intended and documented?
Database
MySQL Dates
Starting with MySQL 5.7, 0000-00-00 00:00:00 is no longer considered a valid date, since strict mode is enabled by default. All timestamp columns should receive a valid default value when you insert records into your database. You may use the useCurrent method in your migrations to default the timestamp columns to the current timestamps, or you may make the timestamps nullable to allow null values:
$table->timestamp('foo')->nullable();

$table->timestamp('foo')->useCurrent();

$table->nullableTimestamps();

Thanks. Don't know how I missed that section while upgrading... I'll give that a shot.

Good call @yajra that was it. Thanks!


allow resourceHandler.initiali'z'e

just a quick assignment in case someone uses the 'z' spelling... would have saved me a few minutes today.

Thank you for your contribution @rynomad. I guess the American English spelling will be the most familiar for most users. I believe there's some documentation that will also need to be updated to mention this alias, so I'll just check that before merging.


Documentation regarding binding on translation attribute

The following snippet doesn't work, because Aurelia can't/won't bind on non-existent html attributes:

The solution to this is to prepend the attribute with "data-"

And register this attribute during setup:
...
instance.setup({
    ...
    attributes : ['data-i18n'],
    ...
});
...

I think this would make a great addition to the documentation / readme.

Hmmm I'm not sure why this shouldn't work. The default attributes registered are t and i18n. https://github.com/zewa666/aurelia-i18next/blob/master/src/i18n.js#L25
I've just tried one of the unit tests and it works for me, so I'm not sure whether the issue for you happens because of a different problem. Can you create a small example and uploading it to Plunkr or a Github repo depicting the problem?


no watermark on download

no watermark is appearing on downloading the image

issue has been solved by updating the code


[CARBONDATA-1426] Resolved Split Partition Bug When NewList sequence is different from OldList

Split Partition Raises Exception when the sequence of NewList Elements differ from OldList Elements.
The PR is for this bug.

SDV Build Success with Spark 2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/362/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/510/

LGTM

retest this please

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/536/

retest this please

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/555/

LGTM


enable generate_product_version to work with multiple target per cmake file; fix language

First, thanks for your nice scripts, it was an excelent starting point.
since over at Arangodb we have several targets in one CMakeList.txt, I had to alter it a little:
I've added the 'NAME' attribute to the filenames, and thus I've added it to the #include line in VersionResource.rc:
https://github.com/arangodb/arangodb/commit/2d23ce989c1247708fba0640d48b52b04ece175c
You will also note the change of 'BLOCK "040904b0"' which makes the binary be declared as English instead of russian ;-) maybe there should be something inside of generate_product_version.cmake building these strings.
Since NAME now rather is a filename, I'm using the FILE_DESCRIPTION argument too.

Thank you for your feedback!


security: fix CVE-2023-48795

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remote attackers to bypass integrity checks such that some packets are omitted (from the extension negotiation message), and a client and server may consequently end up with a connection for which some security features have been downgraded or disabled, aka a Terrapin attack.
Additionally, match go module version to oldest testing go version.


Improve accessibility of navbar and footer

Context:
There were a number of accessibility issues introduced in v0.4.0 of the XST, including:

Missing alt text for navbar images.
Missing ARIA labels for <a> and <button> elements.
Missing ENTER and ECS controls for menu buttons.
Focus is not trapped within the expanded navbar menu on mobile.

Description of the Change:
This PR addresses all of the issues in the context. It also introduces:

An optional navbar_logo_alt theme option to control the alternative text in the navbar.
A mandatory name field to the social icons in the footer to populate ARIA labels.

The version number is also bumped to v0.5.0 to account for (2) above.
Benefits:

The XST footer and navbar are more accessible to those using keyboard navigation or screen readers.

Possible Drawbacks:
None.
Related GitHub Issues:
None.

Previews:

Xanadu Sphinx Theme - https://xanadu-sphinx-theme--44.org.readthedocs.build/en/44/.
PennyLane Sphinx Theme - https://xanaduai-pennylane--40.com.readthedocs.build/projects/sphinx-theme/en/40/.

Thanks for letting me know, @josh146!

Hey @Mandrenkov, the navbar no longer works for me on Firefox with this change (can't access the dropdown menus)

Can you clarify what OS you're using and whether the dropdown menu issue is specific to desktop or mobile?

This is on a Mac M1, and with desktop 🤔 Hovering over the navbar, and clicking on the down arrows, isn't doing anything. I tested on Chrome, and everything works

The issue should be fixed now, @josh146! It turns out ariaLabel is not yet supported in Firefox.

Thanks for the review, @LucasSilbernagel !

For the toggle buttons to open/close the navbar submenus on desktop, the screen reader correctly reads the aria-label and then says "To click this button, press CONTROL OPTION SPACE", which is normal behaviour. However, pressing CONTROL OPTION SPACE in this case does nothing for some reason. Pressing ENTER does work to toggle these buttons, but they should also work the way the screen reader expects.

Nice catch! I was able to fix this by adding a click event listener to the navbar dropdown buttons.

Nice working trapping keyboard focus in the mobile menu! Unfortunately screen reader focus is not trapped, so that should be fixed if possible.

I'm not sure how to reproduce this issue: using TAB and SHIFT + TAB with VoiceOver enabled seems to work as expected. Do you mind providing more specific instructions for reproducing the problem?

Nice working trapping keyboard focus in the mobile menu! Unfortunately screen reader focus is not trapped, so that should be fixed if possible.

I'm not sure how to reproduce this issue: using TAB and SHIFT + TAB with VoiceOver enabled seems to work as expected. Do you mind providing more specific instructions for reproducing the problem?

@Mandrenkov I don't know which screen reader you're using, but with VoiceOver on Mac, moving between elements is usually done by holding down Ctrl + Option and then navigating with the left and right arrow keys. The reason for this is that Tab navigation only focuses on interactive elements like buttons and links, so it skips over readable content like paragraphs.

Thanks for the clarification, @LucasSilbernagel! I was able to achieve the desired result by adding arria-hidden attributes to the content which is covered by the mobile navbar dropdown.

Amazing catch, @LucasSilbernagel! I'm not sure how I didn't notice that it broke. 😅 Should be fixed now!


Issue: Monitoring - Blocks Count Decreasing

Hi @onemorebsmith,
Until yesterday, the block count on my Dashboard was showing more than 600; today it is showing less than 500. I noticed that some workers (same wallet) left the pool. I suspect, for some reason, the Dashboard is not considering the blocks found by inactive workers.
I'm using the following query:
SUM(COUNT BY(bluescore, wallet) (rate(ks_mined_blocks_gauge{wallet=~"${wallet_filter}"}[1y])))
Any idea how to fix it?
Thanks
JVX

Hi @onemorebsmith, it is still happening. When a worker leaves the pool, the blocks it found disappear from the dashboard.


Code_Added

in this issue I have add some code section in  .Py file according to my understanding I am beginner in it please give me points under GSSOC extended 2024 .

in this issue I have add some code section in .Py file according to my understanding I am beginner in it please give me points under GSSOC extended 2024 .

@Shalinis19137
I'm again repeating, please work on the task when you are assigned or have suggested any change in the issue section, or else your handwork will be in vain.
Please abide by the guidelines of GSSoC'24 Extd.

Also, your code is not valid as per the project. Please understand.


Use Node.js starter workflow

:tada: This PR is included in version 0.0.5-dev.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


⚠ Bofrost.lu has degraded performance

In 4cd792f, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1342 ms

Resolved: Bofrost.lu performance has improved in 856c0f4 after 10 minutes.


Don't reject grunt >= 1.0.0

Without this change this package won't work with grunt@1 and npm@2 (i.e. the default in all Nodes <5).

This is the only package that blocks the update to Grunt 1.x in jQuery Core.

I updated the PR (now I tested it on both npm@2 & 3), the depracated grunt.util methods are now dropped in favor of external packages, as advised.


Is there an option to add texture-coordinates?

I really like this python package, as it is simple to use for a beginner like me. I have a small question: is there a way to add in texture coordinates? I have a few simple 3D objects consisting of polygons, each with a texture that needs to be mapped to it according to X and Y texture coordinates within a [0, 1] interval. Through the tutorials in the documentation I was able to create a sample 3D object and add the textures, but without the texture coordinates the objects look quite wrong. Do you have any suggestions that could help me?
Here is a small example:
from vtkplotter import *

# six polygons consisting of points with X, Y, and Z coordinates

polygon_a = [
    [
        (371982, 5812893, 47),
        (371987, 5812889, 47),
        (371993, 5812896, 47),
        (371988, 5812900, 47),
        (371982, 5812893, 47),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_b = [
    [
        (371987, 5812889, 44),
        (371987, 5812889, 47),
        (371982, 5812893, 47),
        (371982, 5812893, 44),
        (371987, 5812889, 44),
    ],
    [[0, 1, 2, 3, 4]],
]

polygon_c = [
    [
        (371993, 5812896, 44),
        (371993, 5812896, 47),
        (371987, 5812889, 47),
        (371987, 5812889, 44),
        (371993, 5812896, 44),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_d = [
    [
        (371982, 5812893, 44),
        (371982, 5812893, 47),
        (371988, 5812900, 47),
        (371988, 5812900, 44),
        (371982, 5812893, 44),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_e = [
    [
        (371988, 5812900, 44),
        (371988, 5812900, 47),
        (371993, 5812896, 47),
        (371993, 5812896, 44),
        (371988, 5812900, 44),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_f = [
    [
        (371987, 5812889, 44),
        (371982, 5812893, 44),
        (371988, 5812900, 44),
        (371993, 5812896, 44),
        (371987, 5812889, 44),
    ],
    [[0, 1, 2, 3, 4]],
]

# texture coordinates of X, Y with interval [0, 1]

texture_coords_a = [
    0.993515,
    0.590665,
    0.583403,
    0.995886,
    0.001318,
    0.409513,
    0.411194,
    0.00281,
    0.993515,
    0.590665,
]
texture_coords_b = [
    0.814495,
    0.004965,
    0.986562,
    0.175202,
    0.172649,
    0.994582,
    0.004011,
    0.820917,
    0.814495,
    0.004965,
]
texture_coords_c = [
    0.992976,
    0.869131,
    0.867654,
    0.99699,
    0.009377,
    0.134356,
    0.138307,
    0.010153,
    0.992976,
    0.869131,
]
texture_coords_d = [
    0.007693,
    0.148416,
    0.15451,
    0.00767,
    0.994519,
    0.86112,
    0.844256,
    0.998197,
    0.007693,
    0.148416,
]
texture_coords_e = [
    0.997322,
    0.660826,
    0.89938,
    0.990736,
    0.006374,
    0.337104,
    0.106732,
    0.00748,
    0.997322,
    0.660826,
]

# textures for some of the polygons as .jpg-files

img_a = "tex_2962910"
img_b = "tex_2962971"
img_c = "tex_2962990"
img_d = "tex_2962933"
img_e = "tex_2962915"

a = Actor(polygon_a)
b = Actor(polygon_b)
c = Actor(polygon_c)
d = Actor(polygon_d)
e = Actor(polygon_e)
f = Actor(polygon_f)

a.texture(img_a)
b.texture(img_b)
c.texture(img_c)
d.texture(img_d)
e.texture(img_e)

polygons = actors.Assembly([a, b, c, d, e, f])

printc("getPolygons() format is    :", a.getPolygons(), c=3)
printc("getConnectivity() format is:", a.getConnectivity(), c=3)

show(polygons, Text(__doc__), viewup="z", axes=8)

Hi @MarkusRosen at the minute the texture functionality is indeed quite basic in vtkplotter (partly because of my lack of  understanding of how it really works..) ,
but i'm happy to improve it over some specific example!
I don't have the image files you would like to apply, and/or the desired output, so i cannot run your code, but i'll see what i can do.

Thanks for your quick response! I uploaded the mentioned textures (link will be offline in 7 days). https://send.firefox.com/download/800fe0acb4d53312/#epJwYzlAidXbZdY6Ihkhsg
The textures show a small building with a roof and 4 walls, all pretty low res from aerial photography.
The texture-coordinates in my example are of the form [X1, Y1, X2, Y2...], where X represents the width of the image and (1 - Y) the height of the image. PyVista seems to have such a feature with the t_coords argument, it would be great if such a functionality could be added to vtkplotter!
https://docs.pyvista.org/examples/02-plot/texture.html#repeating-textures

Yep! Indeed I've already added the functionality - it was fairly trivial..
Later today I will commit a new version,
Thanks

Hi @MarkusRosen  please try:
pip install vtkplotter -U
You can now pass texture coordinates to a mesh directly, along with a nr. of other options.
Your code above becomes:
from vtkplotter import *
import numpy as np

# six polygons consisting of points with X, Y, and Z coordinates
polygon_a = [
    [
        (371982, 5812893, 47),
        (371987, 5812889, 47),
        (371993, 5812896, 47),
        (371988, 5812900, 47),
        (371982, 5812893, 47),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_b = [
    [
        (371987, 5812889, 44),
        (371987, 5812889, 47),
        (371982, 5812893, 47),
        (371982, 5812893, 44),
        (371987, 5812889, 44),
    ],
    [[0, 1, 2, 3, 4]],
]

polygon_c = [
    [
        (371993, 5812896, 44),
        (371993, 5812896, 47),
        (371987, 5812889, 47),
        (371987, 5812889, 44),
        (371993, 5812896, 44),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_d = [
    [
        (371982, 5812893, 44),
        (371982, 5812893, 47),
        (371988, 5812900, 47),
        (371988, 5812900, 44),
        (371982, 5812893, 44),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_e = [
    [
        (371988, 5812900, 44),
        (371988, 5812900, 47),
        (371993, 5812896, 47),
        (371993, 5812896, 44),
        (371988, 5812900, 44),
    ],
    [[0, 1, 2, 3, 4]],
]
polygon_f = [
    [
        (371987, 5812889, 44),
        (371982, 5812893, 44),
        (371988, 5812900, 44),
        (371993, 5812896, 44),
        (371987, 5812889, 44),
    ],
    [[0, 1, 2, 3, 4]],
]

# texture coordinates of X, Y with interval [0, 1]
texture_coords_a = [
    0.993515,
    0.590665,
    0.583403,
    0.995886,
    0.001318,
    0.409513,
    0.411194,
    0.00281,
    0.993515,
    0.590665,
]
texture_coords_b = [
    0.814495,
    0.004965,
    0.986562,
    0.175202,
    0.172649,
    0.994582,
    0.004011,
    0.820917,
    0.814495,
    0.004965,
]
texture_coords_c = [
    0.992976,
    0.869131,
    0.867654,
    0.99699,
    0.009377,
    0.134356,
    0.138307,
    0.010153,
    0.992976,
    0.869131,
]
texture_coords_d = [
    0.007693,
    0.148416,
    0.15451,
    0.00767,
    0.994519,
    0.86112,
    0.844256,
    0.998197,
    0.007693,
    0.148416,
]
texture_coords_e = [
    0.997322,
    0.660826,
    0.89938,
    0.990736,
    0.006374,
    0.337104,
    0.106732,
    0.00748,
    0.997322,
    0.660826,
]

# reformat lists above as [(u,v), ...]
texture_coords_a = np.split(np.array(texture_coords_a), 5)
texture_coords_b = np.split(np.array(texture_coords_b), 5)
texture_coords_c = np.split(np.array(texture_coords_c), 5)
texture_coords_d = np.split(np.array(texture_coords_d), 5)
texture_coords_e = np.split(np.array(texture_coords_e), 5)

# textures for some of the polygons as .jpg-files
img_a = "tex_2962910.jpg"
img_b = "tex_2962971.jpg"
img_c = "tex_2962990.jpg"
img_d = "tex_2962933.jpg"
img_e = "tex_2962915.jpg"

a = Actor(polygon_a)
b = Actor(polygon_b)
c = Actor(polygon_c)
d = Actor(polygon_d)
e = Actor(polygon_e)
f = Actor(polygon_f)

a.texture(img_a, tcoords=texture_coords_a)
b.texture(img_b, tcoords=texture_coords_b)
c.texture(img_c, tcoords=texture_coords_c)
d.texture(img_d, tcoords=texture_coords_d)
e.texture(img_e, tcoords=texture_coords_e)

polygons = Assembly([a, b, c, d, e, f])

show(polygons, viewup="z", axes=8)

Also check out a new example here:
from vtkplotter import Actor, Text, datadir, show

# define a polygon of 4 vertices:
polygon_a = [
    [(82, 92, 47), (87, 88, 47), # x,y,z of vertices
     (93, 95, 47), (88, 99, 47)],
    [[0, 1, 2, 3]],              # vertex connectivity
]

# texture coordinates, one (u,v) pair for each vertex:
tc = [(0,0), (1,0), (1,1), (0,1)]
#tc = [(0,0), (2,0), (2,2), (0,2)]

# create the vtkActor
a = Actor(polygon_a)

a.texture(datadir+"images/dog.jpg",
          tcoords=tc,
          interpolate=True,
          repeat=True,      # when tcoords extend beyond [0,1]
          edgeClamp=False,  #  only used when repeat is False
         )

show(a,  axes=8)

Note that you don't need to repeat the first point at the last position.
Thanks for drawing my attention to the issue. Let me know if it gives you the expected result.

It works perfectly! Thank you very much for your quick help!


CTCP-1804: Add PATCH endpoint for updating the updated time on an association

Endpoint PATCH: /transit-movements-push-notifications/traders/movements/:movementId with no body returns a 204 when successful, 404 when the association doesn't exist, and 500 in error cases, and updated the updated time to the current time, effectively resetting the TTL.

Yup, forgot to run scalafmt on the integration tests!


Always send messages to ui using main_thread_executor_

This guaranties that

They will lend on main thread
They will be processed after renreding is done so that
they do not cause recursion (see http://b/158152641 for details

There is no need in SendToUiAsync anymore everything can be send using
SendToUi method.
Bug: http://b/158152641

I am going to merge it for now, I will address comments from other reviewers in separate PR if necessary.


Changing to meshery org

Signed-off-by: sayantan1413<EMAIL_ADDRESS>Changing layer5 link to meshery link.

Hello!


Stop RC Loss alarm on reconnect

Context
PX4 has an RC loss alarm that goes off when

EV_TSK_RC_LOSS is 1
The drone was armed at least once since power off
The drone had RC link at least once since power off
The drone does not have RC link anymore

Describe problem solved by the proposed pull request
RC Loss alarm never stops. Reconnecting the RC does not stop the alarm, because it's a repeated tune. Only another tune will stop it. which the RC Loss alarm event currently does not send.
Describe your preferred solution
This PR does two things:

Stop the RC Loss alarm when RC reconnects
Extend the tunes library to not interrupt an existing tune with the same tune. I noticed that the RC Loss alarm would always play the first half of the S.O.S tune, before it would be interrupted by itself.

Test data / coverage
Bench-tested the RC Loss alarm feature as well as interrupting.

Thanks!


ClientError: An error occurred (AccessDeniedException) when calling the InvokeEndpoint operation

Hello @dalbhanj @barelnir One last help pls
While executing the Prediction part I am facing this [ClientError: An error occurred (AccessDeniedException) when calling the InvokeEndpoint operation].
`import pickle, gzip, numpy, urllib.request, json
from urllib.parse import urlparse
import json
import io
import boto3
Replace the endpoint name with yours.
ENDPOINT_NAME='Endpoint-XXXX-XXXX'
We will use the same dataset that was downloaded at the beginning of the notebook.
Simple function to create a csv from our numpy array
def np2csv(arr):
csv = io.BytesIO()
numpy.savetxt(csv, arr, delimiter=',', fmt='%g')
return csv.getvalue().decode().rstrip()
runtime = boto3.Session(region_name='us-west-2').client('sagemaker-runtime')
payload = np2csv(train_set[0][30:31])
response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
ContentType='text/csv',
Body=payload)
result = json.loads(response['Body'].read().decode())
print(result)`
O/P
`ClientError                               Traceback (most recent call last)
 in
22 response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
23                                    ContentType='text/csv',
---> 24                                    Body=payload)
25 result = json.loads(response['Body'].read().decode())
26 print(result)
/usr/local/lib/python3.6/dist-packages/botocore/client.py in _api_call(self, *args, **kwargs)
314                     "%s() only accepts keyword arguments." % py_operation_name)
315             # The "self" in this scope is referring to the BaseClient.
--> 316             return self._make_api_call(operation_name, kwargs)
317
318         _api_call.name = str(py_operation_name)
/usr/local/lib/python3.6/dist-packages/botocore/client.py in _make_api_call(self, operation_name, api_params)
624             error_code = parsed_response.get("Error", {}).get("Code")
625             error_class = self.exceptions.from_code(error_code)
--> 626             raise error_class(parsed_response, operation_name)
627         else:
628             return parsed_response
ClientError: An error occurred (AccessDeniedException) when calling the InvokeEndpoint operation: User: arn:aws:sts::XXX:assumed-role/eksctl-kubeflow-poc-nodegroup-lin-NodeInstanceRole-XX/i-XX is not authorized to perform: sagemaker:InvokeEndpoint on resource: arn:aws:sagemaker:us-west-2:XXX:endpoint/endpoint-XXX-XX
`

Hey I fixed this issue. The SG invoke endpoint policy was missing on node roles.
I am getting the prediction result now.

Hey I fixed this issue. The SG invoke endpoint policy was missing on node roles.
I am getting the prediction result now.


Defined new revisions for golang dep: github.com/Masterminds/vcs

@AndrienkoAleksandr It looks like the license is MIT: https://github.com/Masterminds/vcs/blob/f94282d8632a0620f79f0c6ff0e82604e8c5c85b/LICENSE.txt
If you agree, I will update the PR.

Ran component through the scanners since I noticed it had not been harvested yet. PR matches curation site. Closing.


[icons] "Cases" filled icon doesn't seem right

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
https://mui.com/components/material-icons/?query=cases
Expected behavior 🤔
https://fonts.google.com/icons?icon.style=Filled&icon.query=cases
Steps to reproduce 🕹
No response
Context 🔦
No response
Your environment 🌎
No response

What is the issue ?
I don't get it

I'm using chrome 99.0.4844.84
"Cases" icon in mui.com (v5.5.2)

"Cases" icon in fonts.google.com

@PunitSoniME

It is a bug from Google's side. Some part of the icon is missing when I downloaded it directly from https://fonts.google.com/icons?icon.query=cases&icon.style=Filled.


[DO NOT MERGE] Format

To avoid complicated merge conflict issues I think I will move these formatting changes to #282, however I have to fix a bug in the AD code that was introduced by that PR.

Codecov Report

Merging #283 (416463a) into master (6d49251) will decrease coverage by 0.40%.
The diff coverage is 81.33%.

:exclamation: Current head 416463a differs from pull request most recent head 911019b. Consider uploading reports for the commit 911019b to get more accurate results

@@            Coverage Diff             @@
##           master     #283      +/-   ##
==========================================
- Coverage   87.57%   87.16%   -0.41%
==========================================
  Files          22       22
  Lines        2205     2260      +55
==========================================
+ Hits         1931     1970      +39
- Misses        274      290      +16

Impacted Files
Coverage Δ

src/io.jl
71.95% <0.00%> (ø)

src/lpdo.jl
90.38% <ø> (ø)

src/measurements.jl
0.00% <ø> (ø)

src/tomography/tensornetwork-processtomography.jl
98.20% <ø> (ø)

src/circuits/trottersuzuki.jl
35.82% <34.21%> (-3.17%)
:arrow_down:

src/itensor.jl
48.93% <40.00%> (ø)

src/circuits/gates.jl
78.00% <45.45%> (+0.91%)
:arrow_up:

src/tomography/quantumtomography.jl
80.83% <71.42%> (-0.48%)
:arrow_down:

src/circuits/getsamples.jl
86.11% <82.60%> (-0.94%)
:arrow_down:

src/circuits/noise.jl
83.48% <82.92%> (-1.52%)
:arrow_down:

... and 11 more

Continue to review full report at Codecov.

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

The code was formatted in #282 so closing this.


hits: transformData is called on main response when no results

Not sure if this is a bug or a feature, but it is in any case suprising.
If I define a transformData method to the hits widget, it is correctly called with each hit from the response. But if I do a query that has no results, it is also called, with data being equal to the whole API response (including nbHits, hitsPerPage, hits, etc).
This force me to add a check at the start of my transformData to check for (data.hits && data.hits.length === 0) (for example) to know that I'm in a "no results" call.
This feels quite hacky, and I think we should provide a better way of handling it. Maybe something like this:
// pseudo-code...

// transformData only called on each hit, not on the "no result" part
hits({
  transformData: function() {}
});

// Passing it as an object lets us define a method for each case
hits({
  transformData: {
    results: function() {},
    noResults: function() {}
}

WDYT?

Yes we may have introduced a "bad" API here. But this is already out and since we did not do any beta-release channel we are kind of stuck, we would have to bump major. (That's another discussion we will have).
What we could do thought is hide the global transformData in our documentation and force people to use the object one everytime. Because exhaustivity in the API here is important as you discovered.
So I would go for hiding the global option instead of introducing another behavior that would require a breaking change.

Actually... we already implemented it, and it's already documented...
transformData already accepts an object with keys equals to the one used in template. In that case, only the matching function is called. If a method is passed directly, it will be called for every template.

indeed and we already don't document the global function even if it works. Since we are not documenting it, we could also just error if a global function is passed as the usage. Because it's not the usage we are expecting.
One of the 1.1 could be precise usage checks and reporting

Well, all other widgets expect a global function and not an object.
In the end I think this whole part of the code will need some refactoring because it buried quite deep down into the Template code, while still forcing us to pass a bound object from the top widget.

I still don't remember why this couldnt be handled just by passing a template function :D

The main reason is that we may have different template for which we want to be able to identify the kind of state where into. In our current implementation this is the hits widgets, and when we have an result template the context of the template is bound to a single hit, whereas we bind the whole result object when we don't have any result. So the signature is different for the object itself. One solution is to pass the template key to the transformData function, but it makes the user have to handle the different signature using another parameter:
transformData: (val, type) => {
  if(type==='result;) //blah
  else(type==='no-result') //blouh
}

In the implementation we've chosen, the user provides two kind of transformData which removes this ugly boilerplate.


GeoSPARQL query performance issue with Lucene Sail enabled for spatial indexing

Hi, I am comparing the performance of a set of GeoSPARQL queries against two repo versions that contain the same set of data (several GB). The first repo has Lucene indexing enabled during creation and contains the corresponding subdirectory "luceneidx". The LuceneSail.WKT_FIELDS was set as:
LuceneSail.WKT_FIELDS = "http://www.opengis.net/ont/geosparql#asWKT http://geo.linkedopendata.gr/corine/ontology#asWKT"
According to the documentation Lucene spatialy indexes the data and the repo should be faster that the non-Lucene indexed version. Is there an example code or other document that confirms this claim, that we could refer to, probable check our code against it?
Extensive tests with a number of different very large repos confirm that the same GeoSPARQL queries execute 20%-30% slower in the Lucene indexed repos compared to the non-Lucene repos.
I am using RDF4J v2.4.1 and I was wondering if this is a bug or if I am doing something wrong when retrieving a repo connection from  a Lucene indexed repo. Is there a way for me to find out whether my GeoSPARQL queries use Lucene during execution?
I was also wordering how would someone would go about learning more (docs or papers) about the default spatial indexing of the latest RDF4J version and the spatial indexing employed by the Lucene Sail.
Thanks

Seems like a duplicate of #1160 ?

I thought it was only a bug that appeared between versions.
Do you believe that the situation will be the same if I try v2.4.3?

Well, I haven't benchmarked the different versions, but 2.4.3 is probably the same as 2.4.1, since there are very few changes between 2.4.1 and 2.4.2/3 (https://github.com/eclipse/rdf4j/releases)
There were some GeoSPARQL changes in 2.4.1, but apparently they did not fix the performance issue...

There is a ticket for upgrading Lucene/Solr/ES to a more recent version, so maybe, just maybe, it might improve performance #1114 (to be tested...)

For Lucene, geosparql is mapped to Lucene spatial ops as follows:

private SpatialOperation toSpatialOp(String relation) {
if (GEOF.SF_INTERSECTS.stringValue().equals(relation)) {
return SpatialOperation.Intersects;
}
else if (GEOF.SF_DISJOINT.stringValue().equals(relation)) {
return SpatialOperation.IsDisjointTo;
}
else if (GEOF.SF_EQUALS.stringValue().equals(relation)) {
return SpatialOperation.IsEqualTo;
}
else if (GEOF.SF_OVERLAPS.stringValue().equals(relation)) {
return SpatialOperation.Overlaps;
}
else if (GEOF.EH_COVERED_BY.stringValue().equals(relation)) {
return SpatialOperation.IsWithin;
}
else if (GEOF.EH_COVERS.stringValue().equals(relation)) {
return SpatialOperation.Contains;
}
return null;
}

The actual Lucene query is:

  final String geoField = SearchFields.getPropertyField(geoProperty); // asWKT
  SpatialStrategy strategy = getSpatialStrategyMapper().apply(geoField);
  Query q = strategy.makeQuery(new SpatialArgs(operation, shape));

But, if I remember correctly this all happens "early" and so will only apply to functions that have one fixed literal argument, e.g. geof:sfIntersects(?x, "....."^^WKT). Things like geof:sfIntersects(?x, ?y) won't be optimised. This would be fixed by "late" evaluation, which is an outstanding issue, https://github.com/eclipse/rdf4j/issues/716.

I think that your analysis explains very well the performance I am experiencing. Since the most demanding of my queries are spatial joins geof:sfIntersects(?x, ?y) it makes sense that the augmented Lucene repo (> 50% larger than the plain repo) will underperform by a 10-20% factor.
Thanks for the pointers in the source code.


Listing of user-provided service instances by organization GUID does not work with IN operator

Issue
Listing of user-provided service instances by organization_guid using the : operator returns the expected results, while using the IN operator returns an empty list.
Example:

v2/user_provided_service_instances?q=organization_guid:123 returns the expected results
v2/user_provided_service_instances?q=organization_guid IN 123 returns an empty list

Context
Working as a developer at Swisscom. Found this bug while working on our application cloud project based on CloudFoundry.
Steps to Reproduce

Create an organization
Create a space in the given organization
Create a user-provided service instance in the given space
List user-provided services by organization guid using the IN operator

v2/user_provided_service_instances?q=organization_guid IN <organization-guid>
Expected result
The list of user-provided service instances associated with the provided organization guids.
Current result
An empty list.

Hi @friday11,
Thanks for reporting this. I was able to confirm this issue. What is odd is that if you use the space_guid query param you don't have this issue. We'll look into a fix soon.
@adowns01

Hey @friday11 ,
This issue seems to have been fixed in this commit. We are closing this issue for now, feel free to reopen this issue if you see any problems.
Thanks,
CAPI Community Pair - @jberkhahn & @michaelxupiv


Fixed #31293 -- Allowed MultiPartParser to handle double-quoted filenames in content-disposition.

I'm Sorry, I have rebase upstream/master in my branch. Now the file changed is not what I expected, what should I do

Now it looks ok in https://github.com/django/django/compare/master...007gzs:rfc2231_master . Is there anything I need to do

I have the patch rebased locally. I could not push yesterday PM as GitHub had issues. I will force push the patch again later today.
Thanks for your input @007gzs!

Thank you. What should I do if I want to merge the changes into version 2.2 and 3.0? Create a new ticket?

@007gzs

Thank you. What should I do if I want to merge the changes into version 2.2 and 3.0? Create a new ticket?

Backporting doesn't require a separate ticket. Unfortunately, this patch doesn't qualify for a backport.

Backporting doesn't require a separate ticket. Unfortunately, this patch doesn't qualify for a backport.

I think https://github.com/django/django/pull/12490 needs to merge into 2.2 and 3.0

Backporting doesn't require a separate ticket. Unfortunately, this patch doesn't qualify for a backport.

I think #12490 needs to merge into 2.2 and 3.0

No, see our backporting policy.

Thanks both :+1: I pushed minor edits to tests.


Cache uses new key for output dataframe

cc @ogrisel this is equivalent to what you now have custom on your local machine.

It seems to fix the original problem I found in my code but I get instead:
Exception ignored in: <bound method Chest.__del__ of <chest.core.Chest object at 0x109779390>>
Traceback (most recent call last):
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/chest/core.py", line 231, in __del__
  File "/Users/ogrisel/venvs/py34/bin/../lib/python3.4/genericpath.py", line 19, in exists
AttributeError: 'NoneType' object has no attribute 'stat'

The code run successfully though. I am using chest 0.2.3.

Chests delete the intermediate data on disk on garbage collection if you don't specify an explicit path.  This suffers from all of the drawbacks of depending on garbage collection during interpreter shutdown.
Merging this.  The chest issue is unrelated.


write out credentials

I understand this is based off aws-vault, but would you be interested in an option to have aws-okta write out credentials to the ~/.aws/credentials file for usage with other tools.

Ya, to make it easier I moved to a different tool that supports this workflow.


HSETNX returns invalid argument type error

HSETNX returns invalid argument type error while HSETX works fine. HSETNX also works on redis-cli directly;
Here's the code:
const setHashKeyNX = async (hKey, key, value) => {
    try {
        if(!value) {
            value = ''
        } else {
            value = JSON.stringify(value)
        }
        await redis.hSetNX(hKey, key, value)
    } catch (err) {
        logger.error('Error setting data to redis'+ err);
        throw err
    }
}

Here's the error
Invalid argument type
Environment:

Node.js Version: v16.15.0
Redis Server Version: 7.0.4
Node Redis Version: "redis": "^4.2.0"
Platform: MacOs Monterey 12.4

Make sure that hKey and key are string or Buffer.
on top of that, I think that I'll add some more info in the "Invalid argument type" error.

hKey is a string named 'users_queue' and key 'some randome number'. It works perfectly fine with hSet meanwhile without any errors!

use toString() on the random number, it should solve it

Works. Thanks! Please add a more descriptive error. Appreciate the work you have done!


Allow to disable cookies

It would be incredibly useful if I could tell capybara-webkit that it should not accept cookies, so that I can test that my application is well-behaved if a user does not accept cookies.

I'm closing this issue due to inactivity. We'd welcome a pull request for this feature!

This feature would be very helpful for our team as well, can we please get this implemented?


AMQPUri parsing does not support special characters

This fails with ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile..
    let rabbitmq_uri: AMQPUri = format!(
        "amqp://{}:{}@{}:{}/my_vhost",
        CFG.rabbitmq_user, CFG.rabbitmq_password, CFG.rabbitmq_host, CFG.rabbitmq_port
    )
    .parse()
    .unwrap();

Whereas this works:
    let rabbitmq_uri = AMQPUri {
       scheme: AMQPScheme::AMQP,
        authority: AMQPAuthority {
            userinfo: AMQPUserInfo {
                username: CFG.rabbitmq_user.clone(),
                password: CFG.rabbitmq_password.clone(),
            },
            host: CFG.rabbitmq_host.clone(),
            port: CFG.rabbitmq_port.parse().unwrap(),
        },
        vhost: "/my_vhost".to_string(),
        query: lapin::uri::AMQPQueryString::default(),
    };

I believe this is due to the existence of special characters used in the password.

The uri components need to be url-encoded, as defined by the AMQP specifications.
This should probably be mentioned in the doc, if you want to give it a try

I see, so I should be url-encoding my string before parsing as an AMQPUri?


Renderer Backend will not work without access to ipcRenderer

Electron's security documentation suggest setting:

nodeIntegration to false
contextIsolation to true
using contextBridge (https://www.electronjs.org/docs/api/context-bridge, https://stackoverflow.com/a/57656281/6319004)

The sentry client for the renderer directly requires ipcRenderer (https://github.com/getsentry/sentry-electron/blob/master/src/renderer/backend.ts#L5) as a way to send events to the main process, but with the suggested security settings, this would not be possible (ipcRenderer wouldn't be available in the renderer process).
Are there any plans to allow us to use sentry in the renderer process without exposing ipcRenderer directly?
If not, would it be possible for us to submit a PR for this?

Last night I was working on a PR for exactly this which exposes IPC through contextBridge when context isolation is enabled.
It's not a simple change because @sentry/electron still needs to work with context isolation disabled and in versions of Electron before context isolation even existed.
With context isolation enabled, you'll need to call init in the main process, the renderer preload and in the renderer in the isolated context.

That's wonderful @timfish. Thank you very much I took a look at your PR and can see where it is headed.

With context isolation enabled, you'll need to call init in the main process, the renderer preload and in the renderer in the isolated context.

I am trying to do this, but it does not seem to capture unhandled errors.
My code is:
// Main process
...
const Sentry = require("@sentry/electron");
Sentry.init({
    dsn: "_DSN_",
});
...

// Preload script
...
const Sentry = require("@sentry/electron");
Sentry.init({
    dsn: "_DSN_",
});
contextBridge.exposeInMainWorld("electron", {
    // General
    Sentry: Sentry,
    ...
});

// Renderer
<script>
    electron.Sentry.init({
        dsn: "_DSN_",
    });
</script>

contextIsoaltion will only work once #280 is merged.
Once this is merged you'll need to call init from the main process and both the preload and renderer. You cannot call init via contextBridge.
This test app shows what is required.

Thanks for merging #280!
@timfish @HazAT
Any idea when it'll be available on npm?

@bermanboris Now!

Thanks for an update @timfish !

Hi @timfish, would it be possible to provide an example of preload.js? In the link to the test app, a preload.js file is provided but I don't see this available in the test app.

@hibearpanda Hey! According to webpack configuration, it uses src/sentry.js file as preload. I hope this helps.


Typo in authentication method definition in Mongo.m

In the definition of authenticate in Mongo.m, the fourth argument should be "varargin", not "varagin".

You are right.  addUser was similarly affected.  I have fixed them.  Thanks for pointing out this error.


Tweak colour for scroll highlight

Jarring for eg "top funk" with a large function

Agreed but this issue should probably be on the extension repo.

💯 made this one on mobile while jetlagged 😅


Deleting a provisioned connector does not delete the "dlq-lcc-[id]" associated with it

After provisioning and then deleting the connector, the "dql-lcc-[id]" associated with the connector does not get deleted.   The dlq is created as part of the connector provisioning process.
The dlq has to be deleted manually or via the cleanup process.  At this point, we don't have the id of the deleted connector to automate the cleanup process as well.
Thanks.

@bluedog13 it might be challenging to add since the underlying topic is not explicitly managed via TF. Will it be helpful to output connector ID somewhere or something?

Thank you for the reply and stating the reason about the challenge.
It may be helpful to have the connector id it in output - but I feel even with the output, if the underlying dql topic is not deleted immediately, then it will perhaps require some effort in future to determine the DQL topics that are not being used and to delete them accordingly.
This is not a major concern for us at the moment.

Probably the same issue, same things happens with clcc-[id]-app-logs


AVS & CVV response codes from PayPal

As far as I can tell, we don't get these response codes from PayPal, even when the user uses a credit card. We may need a separate call to get these, or maybe PayPal handles this part on their own?

PayPal does not currently return CVV/AVS information, but it's on the roadmap. Leaving this issue open so we eventually implement this, but removing it from the roadmap as we have no idea when this will be implemented!


Allow for custom headers in aws signature

Summary
On line 1367 of request.js when signing for the aws 4 signature, request only uses the "content-type" header and doesn't allow for other headers to be passed in. This unfortunately produces an invalid signature when making a request to aws.
Code issue occurs here
'''
if (opts.sign_version === 4 || opts.sign_version === '4') {
// use aws4
var options = {
host: self.uri.host,
path: self.uri.path,
method: self.method,
headers: {
'content-type': self.getHeader('content-type') || ''
},
body: self.body
}
var signRes = aws4.sign(options, {
accessKeyId: opts.key,
secretAccessKey: opts.secret,
sessionToken: opts.session
})
'''
Simplest Example to Reproduce
To reproduce this call a more specific aws instance, for example aws cloudwatch
https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogStreams.html
A sample request from aws docs looks like this:
POST / HTTP/1.1
Host: logs.<region>.<domain>
X-Amz-Date: <DATE>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>
User-Agent: <UserAgentString>
Accept: application/json
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
X-Amz-Target: Logs_20140328.DescribeLogStreams
{
  "logGroupName": "my-log-group"
}

Sample request using request would look like this:
{
  "method": "POST",
  "timeout": 10000,
  "url": "https://logs.us-east-1.amazonaws.com",
  "body": "{'logGroupName':'my-log-group'}",
  "aws": {
    "key": <access-key>,
    "secret": <secret-key>,
    "sign_version": 4
  },
  "headers": {
    "Accept": "application/json",
    "Content-Type": "application/x-amz-json-1.1",
    "Connection": "Keep-Alive",
    "X-Amz-Target": "Logs_20140328.PutLogEvents"
  }
}

With this sample request we would need to include "X-Amz-Target" in the signature and "Accept" as the others are already auto generated through aws4 signing.
Expected Behavior
Custom headers set through the request api, should be part of the signature. At the moment the example request would generate a Sign-header that looks like this:
SignedHeaders=content-length;content-type;content-type;host;x-amz-date

When it should look like this:
SignedHeaders=accept;connection;content-length;content-type;host;x-amz-date;x-amz-target

Notice that the accept, connection, x-amz-target headers are still there. With incorrect Sign-headers it is indicative of an incorrect signature for aws.
Current Behavior
Incorrect signatures lead to an error message that looks like this:
<InvalidSignatureException>\n  <Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.\n\nThe Canonical String for this request should have been\n'POST\n/\n\ncontent-length:193\ncontent-type:\nhost:logs.us-east-1.amazonaws.com\nx-amz-date:20180222T181935Z\n\ncontent-length;content-type;host;x-amz-date\na47e08f5b41b9ac4a0d4c93a909fb90f956c6f047513dfcc8caa3dde945ed206'\n\nThe String-to-Sign should have been\n'AWS4-HMAC-SHA256\n20180222T181935Z\n20180222/us-east-1/logs/aws4_request\nb4c68f9a051329634cf5086aa1ed6fc3c710a27d8aaf3cfe0b18e1288ac53ce2'\n</Message>\n</InvalidSignatureException>\n

Possible Solution
This could be fixed by passing in options into the aws function, and calling options.headers
headers: {
    'content-type': options.headers
}

Not sure if there are any side effects with this but this should allow developers to get the correct signature when settings custom headers.
Context
Prevents me from making any specific action call to my aws services.
Currently a work around I think that will work although not tested as of writing this, will be simply call request and the aws4 library. And creating the authorization header my self manually for this.
Edit
Tested the work around and it works smoothly
simply call
var aws = require('aws4');
aws.sign(requestOptions, credentials);

note requestOptions and credentials are parameters from here
https://github.com/mhart/aws4#api
Your Environment

software
version

request
2.72.0

node
8.2.1

npm
5.3

Operating System
Linux

I was wondering if this feature could still be implemented, as it is not possible to make certain requests to aws using the aws features using request.