Need a better way to handle GCC intrinsics

I've seen the various other issues which are marked closed and I get that there's not a lot of enthusiasm for tackling this issue, in clangd.  Unfortunately none of the various workarounds like issue #1203 or issue #1432 or issue #1345 are complete and they cannot solve the full problem.  In my situation I'm cross-compiling and I have to use --query-driver.  And also my code needs to include intrinsics and it also uses third party code that includes intrinsics; suppressing diagnostics is not sufficient because clangd just refuses to parse these files, with lots of various errors.
In an ideal world clangd would figure this all out for itself and replace the directory containing the intrinsics in the database list that it gets by querying the driver with its own.  However, I understand this may be tricky.
Another option that might be sufficient for some people (for example, I could make it work) would be if the compiler driver had some way of knowing that it was being invoked by clangd.  Then for example, we could create (or modify, because often we already have one when we're cross-compiling with an alternative sysroot etc.) a wrapper around the compiler that would DTRT when it was invoked by clangd to obtain the compilation database.
As an example, if clangd would create and export an environment variable like CLANGD_RESOURCE_DIR which would be set to the path of clangd's resource directory when it invokes the compiler to retrieve the database, then I could create (or modify) a wrapper around my compiler which would replace the GCC intrinsics directory with the clangd resource directory (plus, I suppose, the /include).  I tried just hardcoding a bunch of stuff in my wrapper (obviously not portable even to other devs on my team) to test this, and it did work.
It's a bit clunky but it's very simple (I assume) to implement in clangd and it would give people who have more extreme environments at least the basic tools they need to implement their own solution, and give the clangd devs something to point to as a DIY facility.  With clangd's current feature set it's simply impossible to do in any reasonable way.

With clangd's current feature set it's simply impossible to do in any reasonable way.

Just for completeness, have you considered specifying the desired combination of built-in include paths manually?
That is, something like:
CompileFlags:
  Add: [
    -nostdinc
    -I/cross/compiler/builtin/include/path/1
    -I/cross/compiler/builtin/include/path/2
    ... (skip the one you want replaced with clang's resource path)
    -I/clang/resource/path
  ]

Unfortunately the cross compiler and the complete sysroot environment is checked into a tools Git repository, versioned, branched for old releases, and checked out by the user or CI/CD system into essentially random locations.  So no solution that relies on hardcoded paths to the compiler installation can work (for me anyway) :-(

As an example, if clangd would create and export an environment variable like CLANGD_RESOURCE_DIR which would be set to the path of clangd's resource directory when it invokes the compiler to retrieve the database, then I could create (or modify) a wrapper around my compiler which would replace the GCC intrinsics directory with the clangd resource directory (plus, I suppose, the /include).

If you're going to write such a wrapper which replaces the GCC intrinsics directory with the clang one, couldn't you just invoke that wrapper in a pre-build step, and have it generate a .clangd file along the lines in my previous comment?

Does the issue of needing to run a portion of the build system prior to editing not also apply to compile_commands.json as well (which is presumably generated by the build system, and contains project-specific flags important for correctly parsing the code)?

That is true, although of course not everyone uses compile_commands.json and it's not necessary.  However my other point about not have a way to obtain the resource directory path stands.

I'd be curious to know more about what you use instead of compile_commands.json.
Requiring part of the build (enough to generate compile_commands.json, and often also to produce some generated header files) to run before clangd is usable is a constraint that I regularly suffer from as well; if you know a way around it, I'd like to learn about it.

Anyways, I have no opposition to your suggestion, I was just trying to brainstorm things that might already work for you today. Would you like to prototype a patch implementing it? I'm happy to give some pointers to the relevant code.

You can avoid something like compile_commands.json IFF your build is simple enough that a standard set of compile line options is sufficient to build all the source (that is all the code compiles using the same options).  Depending on how you configure your system this can actually be not that difficult, especially insofar as LSP is concerned because mostly they just care about the preprocessor options and not all the other fancy options.  But, clearly depending on your build system it may not be possible.
I created a pull request for a change to add the environment variable.  This code only sets the variable for the actual invocation of the query driver, then unsets it again.  I'm confident it probably doesn't follow various requirements: I don't know if llvm has any kind of RAII facility like SCOPE_EXIT that might be preferred, probably there's someplace better to define the name of the environment variable, etc.
Also, definitely new docs will need to be written for clangd users to understand what to do with this variable and how it helps.

Rather than trying to add the variable to clangd's own environment and letting the child process inherit it from there, I would suggest adding it only to the child process's environment; llvm::sys::ExecuteAndWait() has an Env parameter which can be used for this purposes.
Touching clangd's own environment is potentially problematic because it's a process-global piece of state, and clangd can parse (including running the system include extractor) multiple files in parallel.

(Alternatively, we could add it to clangd's environment on startup, before clangd has spawned any worker threads.)

I thought about adding it to the environment globally but decided to be cautious.  However I'm happy to add it globally.  The only question is where it can be added which is both global AND is late enough that we can retrieve the resource directory.
I had looked for an env parameter because that's clearly the best option (other than global) but I guess I was blind because now that I look again it's right there.  OK.

Hm, it looks like if you pass an Env to ExecuteAndWait() it has to contain the ENTIRE environment, not just extra variables you want to have set.  That will be harder.

I decided that it was simpler to set the variable globally; there doesn't seem to be any generic way to obtain the current process environment; many different tools appear to do it on their own.
I read a bit about phabricator but it says it's not maintained anymore since 2021.  Is this still the right way to manage patches? https://llvm.org/docs/Contributing.html#how-to-submit-a-patch

I read a bit about phabricator but it says it's not maintained anymore since 2021. Is this still the right way to manage patches? https://llvm.org/docs/Contributing.html#how-to-submit-a-patch

Yes, Phabricator is still what we use.
There is a plan to switch to GitHub PRs but my understanding is it won't happen until October or so.

Hm, I pushed a review on phabricator https://reviews.llvm.org/D154903 but I wasn't able to add the right owner; CODE_OWNERS.TXT says:
N: Sam McCall
E<EMAIL_ADDRESS>D: clangd

but there's no phabricator handle here and my attempts to add the email address via cc etc. just gave errors.
Clearly there're tricks which are not specified in the documentation.  Hopefully someone will know what to do with this.

In an ideal world clangd would figure this all out for itself and replace the directory containing the intrinsics in the database list that it gets by querying the driver with its own. However, I understand this may be tricky.

Doh, I should have started reading from the beginning!
This is IMO the right answer, but replacement is not necessary: clang's builtin headers (resource dir) are already on the path. We just have to stop shadowing them with GCC etc's builtin headers.
https://reviews.llvm.org/D156044. I wonder if we should do path normalization in some cases (dotdots, windows)

Exclude builtin headers from system include extraction results in the following problem:

Cross-compiling with arm-gnu-toolchain
--query-driver=/opt/arm-gnu-toolchain/bin/arm-none-eabi-*
In the following code, the wrong stddef.h file is referenced#include <stdint.h> // Ctrl+click correctly opens /opt/arm-gnu-toolchain/arm-none-eabi/include/stdint.h
#include <stddef.h> // Ctrl+click INCORRECTLY opens /usr/lib/llvm-18/lib/clang/18/include/stddef.h

Log of clangdSystem include extraction: target extracted: "arm-none-eabi"
System include extraction: adding  /opt/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/<version>/include
System include extraction: adding  /opt/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/<version>/include-fixed
System include extraction: adding  /opt/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/<version>/../../../../arm-none-eabi/include
System includes extractor: builtin headers /opt/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/<version>/include excluded
System includes extractor: successfully executed /opt/arm-gnu-toolchain/bin/arm-none-eabi-gcc
got includes: "/opt/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/<version>/include-fixed, /opt/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/<version>/../../../../arm-none-eabi/include"
got target: "arm-none-eabi"

The problem is /opt/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/<version>/include is found but excluded.

Referencing an incorrect header file is harmful:

The wrong header file may be incompatible with other files in the project, leading to false alarms.
The programmer can be misled when reviewing the code because he is reading the wrong file.

Referencing an incorrect header file is harmful

Of the two choices (1, using the build compiler's built-in headers, and. 2. using clang's built-in headers), it's not clear that one of them is "correct" and one of them is "incorrect".
Since the contents of the built-in headers are fairly closely coupled to the compiler front-end, and since clangd is parsing the code with the clang front-end, there is an argument for using clang's built-in headers.
In practice, it seems like some use cases work better if clang's built-in headers are used (e.g. code using compiler intrinsics, see the bug reports linked in the issue description), and other use cases may work better if the build compiler's built-in headers are used (e.g. for the reasons you mentioned).
Whichever we choose as the default, some users will prefer the other behaviour and need to take manual steps to achieve it.
(Maybe we could make it easier to choose the other behaviour, e.g. have an --exclude-builtin-headers command line flag that modifies the behaviour of --query-driver?)

Thanks for the clear explaination.
I still believe it is not proper for ctrl-click to point to a different file other than the one used at compile time. So it seems to me that replacing the built-in headers is a workaround to deal with problems such as gcc intrinsics.

(Maybe we could make it easier to choose the other behaviour, e.g. have an --exclude-builtin-headers command line flag that modifies the behaviour of --query-driver?)

↑ This suggestion sounds good, before we find a better way to deal with both situations.

(Maybe we could make it easier to choose the other behaviour, e.g. have an --exclude-builtin-headers command line flag that modifies the behaviour of --query-driver?)

↑ This suggestion sounds good, before we find a better way to deal with both situations.

Could you file a new issue for this please, so we don't forget?

The only fully-capable solution is to not use clangd as an LSP server, if you are compiling with GCC.  You need to use a GCC-based LSP server.  Unfortunately one does not exist (although there have been conversations about creating one).
The intrinsics headers are, as mentioned above, very tightly coupled with the compiler.  They contain special compiler tricks and things that won't work with any other compiler: they're basically part of the "glue" that converts standard interfaces into low-level compiler interfaces.  It's just not going to work (in my experience) to run clangd but use GCC's intrinsics headers.
That being said, there IS an argument to be made that standard headers like stddef.h should not be considered "intrinsics" like this; I think it is quite possible that these can be implemented, in whole or in part, in a portable way that isn't not very compiler dependent.  In an ideal world, these types of headers would be split from true intrinsics headers.
But that would be a lot of work and churn in both the GCC and LLVM projects and I suspect no one is really excited about putting in this time and effort, just for what is in the grand scheme of things a pretty minor inconvenience.
I will be very interested to see whether a setup with this new "exclude" option provided is actually usable in practice, at all.  It's been a long time since I messed with this, since it's been working for a year or more, but from what I recall trying to use the GCC intrinsics with clangd was an utter fail.

The only fully-capable solution is to not use clangd as an LSP server, if you are compiling with GCC. You need to use a GCC-based LSP server. Unfortunately one does not exist (although there have been conversations about creating one).

I agree with this.
But that still leaves open the possibility that, of the two imperfect solutions currently available (clangd language server + clang built-in headers, and clangd language server + gcc built-in headers), one isn't strictly better than the other in all scenarios.

clang's builtin headers (resource dir) are already on the path

If my reading of Tooling::injectResourceDir is correct, it's not the case. The resource dir is determined based on the binary location. In some cases, it leads to builtin headers being absent. Especially, when you are making another tool based on clangd.
So, in effect, the current solution excludes the builtin headers from the search and breaks compilation.

If my reading of Tooling::injectResourceDir is correct, it's not the case. The resource dir is determined based on the binary location. In some cases, it leads to builtin headers being not found. Especially, when you are making another tool based on clangd.
So, in effect, the current solution excludes the builtin headers from the search and breaks compilation.

In such situations, the builtin header directory can be added manually with CompileFlags. (And once https://github.com/clangd/clangd/issues/2074 is fixed, it can then be done more easily by passing --exclude-builtin-headers=false or whatever the option ends up being called.)


Issue with hook template binary lookup / released binary on MacOS

In https://github.com/evilmartians/lefthook/blob/master/cmd/templates/hook.tmpl#L18-L20
It tried to look for ./node_modules/@arkweid/lefthook
But there are only multiple executable files inside folders for different platforms

I have no idea how to fix this
I am using SourceTree but it's able to detect base folder via
https://github.com/evilmartians/lefthook/blob/master/cmd/templates/hook.tmpl#L11
But I am still unable to use due to this issue

Did some digging
The few lines looking for ./node_modules/@arkweid/lefthook was introduced in
https://github.com/evilmartians/lefthook/commit/b742f15363325a99be49fba5bea6b6c9a572a054
But .npm/bin/lefthook was removed in https://github.com/evilmartians/lefthook/pull/184/files#diff-7125027dcfcca72f8a28cb0a3710322e1e4d1e52e2e346262406129862262b18
I still got no clue on how to fix this issue yet...

The improvements were never fully released. So, don't expect it to work.

I think this should be a duplicate to #99 then


Update README.md

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

closing this as there is no description and title is very generic

Seems like a Hacktoberfest spam lol.

yup, looks like they opened this same pr across 10 different repos


refactoring: moving "defaultState" moved to consts.

As part of a refactoring process where I would like to clean up the react state (it is currently polluted with problematic data). I extracted the defaultState into its own file. As part of the process I also moved it into a function to prevent changing of the data by accident.

I rebased this PR and changed the naming a bit to be better understandable. The changes are available in https://github.com/dat-land/dat-desktop/tree/add/const-default-state-2 - Do you want to use those?


remove m2m on sharedinterview

shared interview was m2m, which is difficult to keep track of during changes, instead use an intermediate group type of object, makes further optimizations and addtitions easier

hvorfor er det vanskelig å jobbe med m2m? Jeg har lagt merke til at CustomBaseSerializer ikke takler m2m rikitg, men er det andre grunner?


[BUG] Ability to choose more assets than allowed to (maxAssets)

Bug description
Ability to choose more items than the picker was allowed to (maxAssets).
How to reproduce

Run the example
Click Single Asset picker page
Click WeChat moment (or any other option that is NOT no preview)
Click on an image to get its preview
Select it using the "Select" button at the bottom bar
Swipe right to get to the next image
Select it
Keep doing so until you select 10 images
Click the back button
You have 10 images selected (when 9 is the maximal number)

Expected behavior
Should not allow selection of more than maxAssets
Screenshots
For example, I selected 12 assets:

Device information

Device: Android OnePlus 8T
OS: Android 10
Package Version: 5.2.1
Flutter Version: 2.0.5

Additional context
Let me know what are your thoughts on solving this, I can submit a PR.

Is this reproducible in other methods?

Reproducible whenever the preview is displayed. Select 9 assets, preview an asset which was not selected and select it => You have 10 assets selected.

Then we should add a count check at here maybe.
https://github.com/fluttercandies/flutter_wechat_assets_picker/blob/cacb7b906ed0b9b598e829aa7888588a03f1bd6c/lib/src/delegates/asset_picker_viewer_builder_delegate.dart#L123

This also requires transferring maxAssets to AssetPickerViewer.pushToViewer, agree?

Another option, is to use the selectorProvider for selection (so the validation is done in one place), but it is not always transferred to the AssetPickerViewerBuilderDelegate.

This also requires transferring maxAssets to AssetPickerViewer.pushToViewer, agree?

This sounds more reasonable.

Merge is done, I'm closing this issue


Is there a way to reduce permissions required for kapp-controller-cluster-role?

Could it be possible to supply a service account in the App resource that would be used to run kapp rather than giving kapp-controller cluster-admin privileges?

yup, this came up before from discussions. i think it makes to add a way to use a particular service account for the deploy per app crd.

@vijaykatam since the time this issue was filed we've added a feature to allow App CR to deploy app to a different cluster via spec.cluster configuration: https://github.com/k14s/kapp-controller/commit/0a1cc95b28c4e4497e5ef84aa9b8530736255bb1#diff-86d5b52d04d712578c1b92ca954a999f. Conceptually this is similar to this feature request since we just need to target current cluster and use given service account for auth.
i think your breakdown makes sense.

1 is going to be breaking change so I am trying to understand what the guidance here is.

i was thinking to add a flag to kapp-controller binary itself to require individual service accounts vs allowing use of default service account. we can release two separate installation yamls with these two variations (eventually just deprecate one).

Add a validation admission controller to validate that the user creating the App CR has read permissions to the service account so that we don't allow specifying arbitrary service account.

hmm, im not sure its good to tie App CR permissions to the "creator" of the resource. instead we can simply scope access to service accounts in the same namespace where app cr resides. this is what we do for configmap/secrets already, and that's what i believe is done for regular Pod's spec.serviceAccount configuration. thoughts on this?

we've added a feature to allow App CR to deploy app to a different cluster via spec.cluster configuration: 0a1cc95#diff-86d5b52d04d712578c1b92ca954a999f

I had a discussion with @bryanl about this today and the desire is to keep kapp-controller app management local to a cluster and our usage is also going to be deploy kapp-controller to every cluster. Additionally I am not sure how one can go about effectively configuring and managing kapp-controller RBAC for external clusters.

i was thinking to add a flag to kapp-controller binary itself

+1 on this approach

im not sure its good to tie App CR permissions to the "creator" of the resource

I don't think I was proposing that. Let me explain my line of thought with an example.
kind: App
metadata:
  name: fluent-bit
  namespace: tmc-extension-management
spec:
  fetch:
    - image:
        url: foo
  template:
    - ytt:
        paths:
            - foobar
            - foobarbaz
        inline:
          pathsFrom:
            - secretRef:
                name: secret
  deploy:
    - kapp:
        intoNs: tanzu-system-logging
        serviceAccount: tanzu-system-logging

For a user to create the App CR above, the admission controller would immediately validate and reject if the account does not have permissions to access the serviceAccount specified, it does not really tie App CR permissions to user account. Since my proposal relies on kapp-controller being able to access service accounts across namespaces this validation prevents privilege escalation by specifying service account a user may not have access to.

instead we can simply scope access to service accounts in the same namespace where app cr resides

This probably does not work for the use case I outlined above where the app gets deployed to a different namespace.

@vijaykatam since our last in-person conversation, kapp controller v0.6.0 was released (https://github.com/k14s/kapp-controller/releases/tag/v0.6.0), which defaults to requiring users to specify spec.serviceAccountName for each App CR (following typical k8s namespacing scoping). happy to meet up and further iterate on this feature to support your use case better.

Thanks @cppforlife, this fix addresses our concerns. We can close this issue.


ubuntu18.04 vscode terminal "bash apollo.sh build" error

ubuntu18.04
https://github.com/ApolloAuto/apollo/
6.0
vscode terminal "bash apollo.sh build" error
mkdir '/apollo/.cache/bazel/' permission denied

lgsvl/apollo5.0  the same operation  is OK，"apollo.sh build" is passed.

ubuntu18.04
https://github.com/ApolloAuto/apollo/
6.0
vscode terminal "bash apollo.sh build" error
mkdir '/apollo/.cache/bazel/' permission denied

What about remove /apollo/.cache from container, and try again?

It works. I have tried to remove "rm -rf /home/$USER/.cache/bazel/" ,but it didn't work. Thank you very much.


[x264] build failure on previous vcpkg version

This is a duplicate of my message in the closed issue #7225 as I'm not sure maintainers got notified of this.
Hi @NancyLi1013
I'd rather keep talking here instead of recreating a new issue, as my issue is directly linked to this one but not to #11765
As we're using vcpkg in a company environment, we do need to ensure we can build the dependencies.
Since updating to 2020.06 seems to be impossible in the meantime (x264 can't be built because of #11765), we tried to make a step back and update from a 2019.10 release to a 2020.01/04 instead of 06.
However, we've noticed x264 is not built there either, having a msys building issue :
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: D:/usr/Documents/Code/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -Sy --noconfirm --needed diffutils"
    Working Directory: D:/brard/Documents/Code/vcpkg/downloads/tools/msys2
    Error code: Exit code 0xc0000142

    See logs for more information:

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:106 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_configure_make.cmake:130 (vcpkg_acquire_msys)
  ports/x264/portfile.cmake:19 (vcpkg_configure_make)
  scripts/ports.cmake:94 (include)

This is very problematic, as we're not capable to build our project again since we absolutely need x264.
How such a regression happened? And how can we solve it to at least build the project without any errors? (BTW, we didn't noticed this issue before because of dependencies cache not beeing updated)
Thank you

Hi @aspioupiou
Thanks for posting this issue again. I tried to build this port based on the previous version and it failed due to msys2 at the first time.
So I also tried to build the precious version for x264  with the latest msys2. In this case, it can build successfully.
Considering the current status, you can only use the precious version for x264  with the latest msys2.
Please update vcpkg to the latest version, and then update x264 to the commit https://github.com/microsoft/vcpkg/commit/7c6ff87f5737b57b7b2363ea8951a481e6397734 manually.
Hope this can help you.

portfile.txt
You just need to update the content in portfile.cmake file. You can refer to this attachment.

Hi @NancyLi1013
Thank you for your feedback,
After posting, I saw #12288 and understood it was a msys issue at first.
vcpkg is really a great tool and we love using it at the company, but the lack of stability is sometimes annoying and time consuming...
Why not forking all these dependencies to avoid all these issues ?
Anyway, thanks again for your help

@aspioupiou
Sorry for the late response.
Keeping all ports work fine, which is also what we expect. But now for the msys issue, it is caused by the update for msys components .
More details, please see #12288

Hi @aspioupiou
In my opinion, this issue should be solved now. So I'm closing this issue for now.
For the issue that builds on Windows, we can track it here #11765.


Incorrect import statement in README

This doesn't work for me(currently in the reamde):
from alphabet_detector import AlphabetDetector
ad = AlphabetDetector()

Should be this way:
from alphabet_detector.alphabet_detector import AlphabetDetector
ad = AlphabetDetector()

Hey @nkmathew, I just tested and verified from alphabet_detector import AlphabetDetector works fine. This works specifically because of the from alphabet_detector import * statement in init.py.
Did you install with pip? If so, can you give details about what version of Python you're on?

$ python --version
Python 3.4.3

python -c "
from transliterate import detect_language, translit
from alphabet_detector.alphabet_detector import AlphabetDetector
## from alphabet_detector import AlphabetDetector

import sys

text = ''
if len(sys.argv) > 1:
  text = sys.argv[1]

ad = AlphabetDetector()

## lang = detect_language(text)
## lang = detect_language(text)
if ad.is_cyrillic(text):
  print(translit(text, 'ru', reversed=True))
else:
  print(translit(text, 'ru'))

## print(lang, sys.argv)

" "$1"

Seems like they got rid of the ability to do absolute imports in __init__.py in (at least) later versions of Python3. Will have to switch to a relative import. Thanks for noticing this and mentioning it. Will fix soon.

I'll push 0.0.5 with this in a bit. Before I do, mind verifying this new version has from alphabet_detector import AlphabetDetector working for you?

yep, it works


Exclude attestation manifests (sbom, provenance) during the build usi…

Exclude attestation manifests (sbom, provenance) during the build using buildx as some
tools

Closing this PR in place of https://github.com/NVIDIA/k8s-driver-manager/pull/24


Update RBL context keys for active editor

For #7218

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[x] Appropriate comments and documentation strings in the code.
[x] Has sufficient logging.

Codecov Report

Merging #7662 (d5af66e) into main (fc81b29) will decrease coverage by 0%.
The diff coverage is 100%.

@@          Coverage Diff          @@
##            main   #7662   +/-   ##
=====================================
- Coverage     68%     68%   -1%
=====================================
  Files        363     363
  Lines      22552   22557    +5
  Branches    3432    3433    +1
=====================================
- Hits       15518   15474   -44
- Misses      5708    5745   +37
- Partials    1326    1338   +12

Impacted Files
Coverage Δ

src/client/debugger/jupyter/debuggingManager.ts
62% <100%> (+<1%)
:arrow_up:

...ent/datascience/jupyter/pythonVariableRequester.ts
41% <0%> (-12%)
:arrow_down:

.../client/datascience/debugLocationTrackerFactory.ts
42% <0%> (-8%)
:arrow_down:

src/client/datascience/jupyter/jupyterDebugger.ts
19% <0%> (-7%)
:arrow_down:

src/client/datascience/jupyter/kernelVariables.ts
46% <0%> (-5%)
:arrow_down:

...ence/editor-integration/cellHashProviderFactory.ts
97% <0%> (-3%)
:arrow_down:

...datascience/editor-integration/codelensprovider.ts
71% <0%> (-3%)
:arrow_down:

...datascience/editor-integration/cellhashprovider.ts
70% <0%> (-2%)
:arrow_down:

src/client/datascience/raw-kernel/rawSocket.ts
82% <0%> (-2%)
:arrow_down:

src/client/datascience/jupyter/kernels/kernel.ts
74% <0%> (-2%)
:arrow_down:

... and 5 more

Wooo hooo.... green tests,


Add support for alternative Flashloan providers to migration extension

coverage: 75.539% (-0.4%) from 75.981%
when pulling a759f26a7f38eff14af438733a19ec15171d7cc7 on fli-migration-alternative-flashloan-provider
into f1d2baf92a7c82af212ad4edd877c50c80e4d461 on master.


Can you add PC Games?

Hope I am not being rude! Just found your add-on and find it super helpful, so thank you! Would you be able to also cultivate it with upcoming pc games? :)

+1 please


Clarify that the user doesn't have to select any countries for the EFGS and describe the 3 modes

Current Implementation
The last sentence in https://github.com/corona-warn-app/cwa-documentation/blob/master/solution_architecture.md#cross-border-interoperability reads:

In order for the EFGS to function correctly, all users must specify their visited countries correctly (either manually or automatically).

The 3 modes of the EFGS, which are f.e described here are not covered in the documentation at all.
Suggested Enhancement
Clarify that the user does not have to select any countries (or similar steps in order for the EFGS to work).
Also, I would suggest to cover the 3 modes of the EFGS inside of the documentation and also say which mode is used and why.
Expected Benefits
Better understanding for everybody who reads the documentation.

Related Issues

https://github.com/corona-warn-app/cwa-wishlist/issues/344

@Ein-Tim
https://github.com/corona-warn-app/cwa-documentation/blob/master/solution_architecture.md#cross-border-interoperability needs to be corrected to align to https://www.coronawarn.app/assets/documents/cwa-privacy-notice-en.pdf section 6c. Warning others
All Diagnosis Keys are submitted to EFGS and there is no additional information sent about countries visited, neither manually, nor automatically.

@Ein-Tim
https://github.com/corona-warn-app/cwa-documentation/blob/master/solution_architecture.md#cross-border-interoperability needs to be corrected to align to https://www.coronawarn.app/assets/documents/cwa-privacy-notice-en.pdf section 6c. Warning others
All Diagnosis Keys are submitted to EFGS and there is no additional information sent about countries visited, neither manually, nor automatically.

@dsarkar Will anyone take care of the documents? Or should I prepare a PR at least describing that the user does not have to select any countries?

@dsarkar I offer to provide a PR here, just let me know how you plan to proceed here.

The EFGS has been shut down and the CWA is no longer exchanging keys with apps from other countries. This issue is obsolete.

@Ein-Tim
The FAQs should probably be reviewed due to this change e.g. https://www.coronawarn.app/en/faq/results/#interoperability_countries.
It is only clear when you read the "small print" that there are no longer any countries participating.

@MikeMcC399 We are already working on updating the FAQ entry you linked to! I will also take care of updating the documentation reg. the EFGS in this repository (https://github.com/corona-warn-app/cwa-documentation/blob/main/solution_architecture.md#cross-border-interoperability).

Status update: I will provide a PR updating the documentation as soon as the FAQ entry has been updated (we're still working on that...).

@Ein-Tim Hey Tim, do you think a new issue would be good for the tasks you are working on? Otherwise we should perhaps reopen, although by the looks of it it might not be a fit

@brianebeling
I already prepared a PR based on the texts we already discussed internally. I'm just waiting for the FAQ update so that I don't "leak" any information, so from my side: No need to re-open this issue, I can provide the PR at any time you tell me to.

@brianebeling / @Ein-Tim
I will open a new issue to check the point that I raised. This issue here should not be re-opened. That would just be confusing.

PR #946 provided


Fix async compact/clustering serdes conflicts caused by WatermarkStatus in multi versions Flink

Change Logs
Fix remained ser/des concurrency conflicts when aysnc compaction/clustering enabled.
1.  fix conflicts caused by WatermarkStatus
Conflicts will result from Watermark, LatencyMarker and WatermarkStatus, the community has fix other issues except WatermarkStatus. We will fix it in this PR.
flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/io/AbstractStreamTaskNetworkInput.java
    private void processElement(StreamElement recordOrMark, DataOutput<T> output) throws Exception {
        if (recordOrMark.isRecord()) {
            output.emitRecord(recordOrMark.asRecord());
        } else if (recordOrMark.isWatermark()) {
            statusWatermarkValve.inputWatermark(
                    recordOrMark.asWatermark(), flattenedChannelIndices.get(lastChannel), output);
        } else if (recordOrMark.isLatencyMarker()) {
            output.emitLatencyMarker(recordOrMark.asLatencyMarker());
        } else if (recordOrMark.isWatermarkStatus()) {
            statusWatermarkValve.inputWatermarkStatus(
                    recordOrMark.asWatermarkStatus(),
                    flattenedChannelIndices.get(lastChannel),
                    output);
        } else {
            throw new UnsupportedOperationException("Unknown type of StreamElement");
        }
    }

2. Since the WatermarkStatus  is introduced since Flink1.14, this PR will add SafeAsyncOutputAdapter in multi modules, to coordinate Flink1.13 and Flink1.14 above
The Output  is actually the root cause of concurrency conflicts, so let's just refactor it but not the compact/cluster operator to minimize the impacts.
Impact
none
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update
fix bugs in multi Flink versions.
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@danny0405 would you pls take a review for this PR?
It resolves the remained cause WatermarkStatus of async compaction/clustering concurrency conflicts.


sessions.py merge_setting(...)

Hello, my head HTTP request is sent, although is ordered, but this is out of order, the anti spider detection target site to request the head not in the same order will ban off request.
你好，我发送http请求时的头部，虽然是有序的，但是这里是顺序被打乱，目标网站的反爬虫检测到请求头的顺序不一样就会ban掉请求. 最后把这里的代码注视之后，居然可以绕过反爬虫机制。
merged_setting = dict_class(to_key_val_list(session_setting))
merged_setting.update(to_key_val_list(request_setting))

Requests does not provide any ability to mandate ordering of HTTP headers. If that's a thing you need to do you'll need to drop down to a lower-level library.


New internal label webhook tests - reported by @danieldoglas

Testing https://github.com/Expensify/Web-Expensify/pull/33616

going to test again! first with a label that's NOT Internal (this was causing the comment to appear before) then WITH Internal, which should result in a comment posting on this issue

No comment 👍

Yaya comment on this issue, not the same issue number in E/E 👍

Tests passed 🥳 thanks @JmillsExpensify this was just for testing!


[service-bus] QuotaExceededError: max idle time exceeded

Package Name: @azure/service-bus
Package Version: 1.1.7
Operating system: linux
[X] nodejs

version: 10

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
We have a service using service bus for publishing/subscribing on topics that triggers a quite long computation process  which in turn blocks the event loop. This process is not related to the service bus subscription in any way, but once the event loop has been unblocked, we get a QuotaExceededError and hereafter the service loses the bus connectivity and can't receive anything. We think this could be a bug.
To Reproduce
Steps to reproduce the behavior:

An easy way to reproduce can be writing a snippet which gets a bus connection to either publish or subscribe to/from a topic (no queue) and run some computation for longer than 60 seconds. Then, just after that time, the error should be triggered.

We can provide the snippet which we used to simulate the long computation:
const blockEventLoop = durationSeconds => {
  console.log('START BLOCKING', Date.now());
  const endTime = Date.now() + (durationSeconds * 1000);
  while (Date.now() < endTime) {
    Math.random();
  }
  console.log('STOP BLOCKING', Date.now());
};

Upon running the test snippet inside one of our services, we get the error like:
2020-06-17T09:02:17.499Z | INFO [service-disco-nike-adapter] | Starting server on <IP_ADDRESS>:4001
2020-06-17T09:02:17.509Z | INFO [service-disco-nike-adapter] | service-disco-nike-adapter has started
 azure:service-bus:error [connection-1] Trying to create receiver 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2' with options { name:
 azure:service-bus:error  'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2',
 azure:service-bus:error  autoaccept: false,
 azure:service-bus:error  rcv_settle_mode: 1,
 azure:service-bus:error  snd_settle_mode: 0,
 azure:service-bus:error  source:
 azure:service-bus:error  { address:
 azure:service-bus:error    'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued' },
 azure:service-bus:error  credit_window: 0,
 azure:service-bus:error  onMessage: [Function: onMessage],
 azure:service-bus:error  onClose: [Function: onClose],
 azure:service-bus:error  onSessionClose: [Function: onSessionClose],
 azure:service-bus:error  onError: [Function],
 azure:service-bus:error  onSessionError: [Function],
 azure:service-bus:error  onSettled: [Function] } +811ms
 azure:service-bus:error [connection-1] Receiver 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2' with address 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued' has established itself. +240ms
--------------------> START BLOCKING<PHONE_NUMBER>786
--------------------> STOP BLOCKING<PHONE_NUMBER>786
2020-06-17T09:03:31.788Z | INFO [service-disco-nike-adapter] 486268 /v2/translate?processed=false
 azure:service-bus:error [connection-1] Error (context.connection.error) occurred on the amqp connection: c {
 azure:service-bus:error  value:
 azure:service-bus:error  [ Typed { type: [TypeDesc], value: 'amqp:resource-limit-exceeded' },
 azure:service-bus:error   Typed { type: [TypeDesc], value: 'max idle time exceeded' },
 azure:service-bus:error   Typed { type: [TypeDesc], value: null } ] } +1m
 azure:service-bus:error [connection-1] Error (context.error) occurred on the amqp connection: { Error: read ECONNRESET
 azure:service-bus:error   at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' } +0ms
 azure:service-bus:error The connection "connection-1" has been updated to "connection-2". +2ms
 azure:service-bus:error [connection-2] state: { wasConnectionCloseCalled: false, numClients: 1 } +0ms
 azure:service-bus:error [connection-2] connection.close() was not called from the sdk and there were some clients. We should reconnect. +0ms
 azure:service-bus:error [connection-2] calling detached on client 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued/3f28142b-650b-894e-9b16-f8c280930a1e'. +306ms
 azure:service-bus:error [connection-2] calling detached on streaming receiver 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2'. +0ms
 azure:service-bus:error [connection-2] Encountered a non retryable error on the connection. Cannot recover receiver 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2' with address 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued': { QuotaExceededError: max idle time exceeded
 azure:service-bus:error   at Object.translate (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/@azure/amqp-common/dist/index.js:909:17)
 azure:service-bus:error   at StreamingReceiver.<anonymous> (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/@azure/service-bus/dist/index.js:2382:68)
 azure:service-bus:error   at Generator.next (<anonymous>)
 azure:service-bus:error   at fulfilled (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/tslib/tslib.js:107:62)
 azure:service-bus:error  name: 'QuotaExceededError',
 azure:service-bus:error  translated: true,
 azure:service-bus:error  retryable: false,
 azure:service-bus:error  info: null,
 azure:service-bus:error  condition: 'amqp:resource-limit-exceeded' } +3ms
 azure:service-bus:error [connection-2] An error occurred while processing detached() of Receiver 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2': 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued' { QuotaExceededError: max idle time exceeded
  at Object.translate (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/@azure/amqp-common/dist/index.js:909:17)
  at StreamingReceiver.<anonymous> (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/@azure/service-bus/dist/index.js:2382:68)
  at Generator.next (<anonymous>)
  at fulfilled (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/tslib/tslib.js:107:62)
 name: 'QuotaExceededError',
 translated: true,
 retryable: false,
 info: null,
 condition: 'amqp:resource-limit-exceeded' } +9ms
 azure:service-bus:error [connection-2] Unable to automatically reconnect Receiver 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2' with address 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued'. +0ms
2020-06-17T09:03:32.159Z | ERROR [service-disco-nike-adapter] | max idle time exceeded
QuotaExceededError: max idle time exceeded
  at Object.translate (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/@azure/amqp-common/dist/index.js:909:17)
  at StreamingReceiver.<anonymous> (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/@azure/service-bus/dist/index.js:2382:68)
  at Generator.next (<anonymous>)
  at fulfilled (/Users/lauracorbi/Liber/LiberDisco/REPOS/service-disco-nike-adapter/node_modules/tslib/tslib.js:107:62)
 azure:service-bus:error [connection-2] Deleted the receiver 'nike-adapter.v1.package.queued/Subscriptions/nike-adapter.package.queued-3ceb7fad-059a-d446-9acd-be39d2b72ab2' from the client cache. +4ms

Expected behaviour
We expected the connectivity to the bus wouldn't be affected at all
Additional context
Possible workaround: using child_process as it follows (bit weird for a not-so-long computation):
child.js
process.on('message', () => {
  console.log('START BLOCKING', Date.now());
  const endTime = Date.now() + (60 * 1000);
  while (Date.now() < endTime) {
    Math.random();
  }
  console.log('STOP BLOCKING', Date.now());
  process.send('RESPONSE');
  process.exit(0);
});

main.js
// long computation on GET in a separate process
// upon getting the result, response back to client and publish
app.get('/v1/data', (req, res) => {
  const forked = fork(path.join(__dirname, 'child.js'));
  forked.send('start');
  forked.on('message', sum => {
    res.send(sum);
    bus.publish();
  });
});

Thanks!

@telekosmos  - Thank you for submitting this issue, I'll be taking a look at this this week.

Hi @telekosmos,
The root of this issue is exactly what you identified earlier (thank you for your excellent repro notes and sample code).
Node.js's single threaded nature means that our library relies on being able to do periodic processing to ensure the connection stays alive. This is typically done on any input or output in the underlying library we use for AMQP, in addition to a heartbeat check. If we exceed our internal timers (60 seconds of zero activity in any direction, including an internal heartbeat) the connection is closed.
The solution would be to do something similar to what you've done above which will allow the event loop to continue processing. Another would be to periodically yield processing in your calculation, if possible.
For now I will close this issue but please feel free to reopen it if you have further questions.


Fixing #4 - Resize works only with ordering:true

Handles the issue as mentioned in the issue description

Thanks for fixing this!

You will leave this unmerged?

Sorry, clicked the wrong button. Merged. Thanks!

I'm happy to maintain it, but am a little overloaded. If you'd like to
continue contributing I'd be happy to add you as a maintainer.
On Mon, May 14, 2018, 11:25 AM Shashank Agarwal<EMAIL_ADDRESS>wrote:

That's fine. Thanks.
Do you intend to keep developing and fixing this further? Because,
recently I've been playing around this plugin and there were a few bugs
that we could look into.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jeffreydwalter/ColReorderWithResize/pull/5#issuecomment-388878011,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAinB-AGMkUIvC4PWZystI2bJ1XPkXUyks5tya_agaJpZM4T7Ga6
.


1.17 Compatibility

It's been a few weeks since 1.17 came out with lots of new blocks! I'm just creating this issue so we can track progress for implementing these into MinedMap.
I have some basic programming knowledge, I'm happy to help with implementation if needed!

Thanks for the reminder! I really need to document how to generate the resource data, so it's easier for other to contribute to the project.
Minecraft 1.17 really added a lot of new stuff - a quick diff counts 137 new block types (and one removed type "grass_path", which I'll have to check and decide how to deal with - I assume it was just renamed and corresponds to the new type "dirt_path").

and one removed type "grass_path", I assume it was just renamed and corresponds to the new type "dirt_path"

That is correct. I'm guessing they renamed it cause now you don't need grass to create the paths. You can right click dirt with a shovel and it also works. But it's the same block per say.
Here's a screenshot of how villages render currently. It shows the default brown, which is the same for the new blocks.

As to how to deal with it, i think we keep "grass_path" for backwards compatibility, and just add "dirt_path" with the same color.

Just here to +1 and say I'd be happy to help out when issues arise!

Untested support added in #17. I should be able to finish this on the weekend.


polyfill flatMap for Chrome < 69

Fixes

Fixes #2745 by the sentry bot
Description

Polyfills the Array.prototype.flatMap method so it works in versions of Chrome < 69. This has occurred enough times to warrant the polyfilling.
Testing Instructions

Build locally and confirm the presence of the polyfill in the client bundle by searching for flatMap: and confirming it's there.
We should also see a minuscule increase to the bundle size.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[x] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Rather than manually adding the polyfill (and potentially playing whack-a-mole if other newer APIs get used by dependencies), would it be cleaner to expand our browserslist to accurately reflect the browsers we wish to support (in this case, Chrome < 69)? As I understand it, if we do it that way we might only see a bundle size increase for the "legacy" bundle rather than in all bundles, in addition to the benefit of not needing to manually manage polyfills.

Would adding something like "chrome >= 68" to the "browserslist" in package.json also turn into a game of wack-a-mole, though? What if another version of another browser would start causing a different issue?
I looked up the distribution of browsers that cause this error, and there is a wide range of browsers and versions. There's an argument for adding this polyfill specifically because we do get a very clear signal from Sentry that we need to polyfill the flatMap. I am not against your suggestion, @sarayourfriend , I'm just trying to understand the tradeoffs.

Oops, I was writing my approving review while you were writing your comment, Olga. The approach with browserslist I was hoping would work is the not supports array-flat, but it doesn't combine "not" in a flexible enough way. It might be possible to do but I think it would be very complex.
In any case, approved and merged. I think my comment about the actual number of people effected by this is valid though and we should consider strongly what kind of coverage we consider as standard. Our browserslist configuration is actually narrower than the default browsers list config, so there isn't anything to currently suggest we have an intention of very wide client support.


Incorrect Directional Formatting Characters in SemanticsDebugger

Steps to reproduce

set showSemanticsDebugger to true https://api.flutter.dev/flutter/material/MaterialApp/showSemanticsDebugger.html
show arabic strings in semantics label

Expected results
\u2067{semantics label}\u2069
https://unicode.org/reports/tr9/#Explicit_Directional_Isolates
https://api.flutter.dev/flutter/foundation/Unicode/RLI-constant.html
Actual results
\u2067{semantics label}\u202C
https://github.com/flutter/flutter/blob/29db9dbd44b1dbf781a84318811db676aadd6fd7/packages/flutter/lib/src/widgets/semantics_debugger.dart#L309
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Thanks for the report and potential fix.

 runnable code sample

import 'package:flutter/material.dart';

void main() {
  runApp(
      MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      showSemanticsDebugger: true,
      home: Scaffold(
        body: Center(
          child: Text('arabic text', semanticsLabel: ' يقاتلونكم كافة واعلموا ان الله مع المتقين')
        ),
      ),
    );
  }
}

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.16.5, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.16.5 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (13 days ago), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.19.0-3.0.pre.50, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.19.0-3.0.pre.50 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3e5cad037c (68 minutes ago), 2024-01-10 22:42:23 -0500
    • Engine revision ade9f18fa0
    • Dart version 3.4.0 (build 3.4.0-16.0.dev)
    • DevTools version 2.31.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.


Add AWS For Beginners

Hi, I want to add free AWS for Beginners course, Please assign me this issue

Hey @avinash201199 want to work on it can you please assign me with this issue.


Can not parse uri

can not parse uris /echo/abcdefgh_i-j%20/abcdefg_i-j%20478 or /echo/abcdefgh_i-j /abcdefg_i-j 478

Could this fix be released to crates?

Done

Thanks!


modified the UI of "Help&Support" screen.

I have modified the UI of "Help&Support" screen which looks now more beautiful than before.
#114
Here is the video:-
https://github.com/user-attachments/assets/55240f76-e941-4aeb-9124-734a5498b25b
@yuvrajsinghgmx  please check the code and accept my pull request.

@yuvrajsinghgmx  please label it level 2 or level 3  while merging because it requires more time and hard work to make the UI looks like this.

@iAmAjayTeli Since you have shown perfection and quality in this PR i am giving it level3.

@yuvrajsinghgmx thankyou ❤😊


Ignore validating example with externalValue against schema

What/Why/How?
Currently, when an example object has externalValue property no-invalid-media-type-examples lint rule fails as it is validating the example object (the parent object) against the schema definition.
I could assume there are couple of ways to handle this case. However, as there is already another lint rule (no-example-value-and-externalValue), which is kind of related to this one, and its default severity level causes either one of value, or externalValue properties to exist for a specific example object, I decided to go with the simple exclusion condition, which basically deactivates the validation for example objects that has externalValue set. I also intentionally didn't implement the logic to verify the specified URL set for externalValue to check whether the target resource actually matches the schema definition or not (by issuing HTTP request for example) as it's both complex to implement properly due to various cases including relative URLs, and for external resources being unpredictable by nature, e.g., the server might be unavailable at the time of linting, or returing a temporary failure due to network issues.
Reference
I faced the issue while I was trying to add file examples for request, and response bodies of an API according to the official documentation (here).
Testing
Relevant tests are updated to cover this scenario.
Screenshots (optional)
It can be tested by disabling the condition I added to the lint rule.
Check yourself

[x] Code changed? - Tested with redoc/reference-docs/workflows (internal)
[x] All new/updated code is covered with tests
[ ] New package installed? - Tested in different environments (browser/node)

Security

[ ] Security impact of change has been considered
[ ] Code follows company security practices and guidelines

Also, please add a patch changeset for both core and cli packages describing the changes. Thanks!

Done in 82869150e676cf1d59d35e2f09cc6faf86027474.

P.S. Please don't forget to run prettier 🙂

Done in cf02cec879c8e9e557fae2f2f7093f802741da80.

Thank you @xeptore for spending your time on this! 👍

Thank you @xeptore for spending your time on this! 👍

Happy to help!
Cheers


Masstransit - Fails to reconnect

Contact Details
No response
Version
8.x (develop, pre-release)
On which operating system(s) are you experiencing the issue?
Windows, Linux
Using which broker(s) did you encounter the issue?
RabbitMQ
What are the steps required to reproduce the issue?
So- I am well aware, there are many tickets for this issue currently, all of which are closed, saying, "Masstransit will automatically reconnect"

And- I know this has not been able to be easily replicated, nor detectable via unit testing.

But- nonetheless- the problem does exist- and I do have a theory as to what is actually happening.

What is the expected behavior?
...
What actually happened?
The problem is, when you have a logging target configured, that leverages mass transit.
Why is that a problem?
During normal flow, your application does stuff,  generates logs, and those are sent off via mass-transit.
However, when your broker disconnects- this causes all of the logging tasks, to get stuck waiting on mass-transit.
Do keep in mind, mass transit ITSELF, is also logging to your built-in logging interfaces.

In essence- it gets stuck right there, and, It won't ever actually reconnect, because its thread is still stuck trying to send the "DISCONNECTED" log through the broker. Since- the task is stuck waiting, it never continues on to a point where it actually can reconnect.
In every other ticket opened for this issue- do note, there are rarely logs attached.
Related log output, including any exceptions
Other notes-

It appears Extensions.Logging is NOT async by default, hinted by [#2141](https://github.com/dotnet/extensions/issues/2141), although, examples are provided for how to implement async logging functionality.

So, while, this is likely NOT specifically a masstransit issue, as it "should" work, but, is being blocked by a logging call- I am putting this ticket here, for awareness, as quite a few of the closed issues are likely due to this.

Link to repository that demonstrates/reproduces the issue
No response

The potential solutions to this problem I can see-

Implement the ability to queue outbound messages, so that even if the broker is down- messages will be queued until it is reconnected.

ENSURE any logging targets leveraging mass transit, do implement async / background processing of messages. Otherwise- this can block the process which reconnects masstransit. May- not be an option for any libraries outside of the control of the developer.

Masstransit itself, could be slightly tweaked to mitigate this issue. Although, I honestly don't think this would be the best location to fix this.

A few notes in the documentation, regarding this odd edge case, might be a good scenario, just in the event this does occur to others.


Improves Type Annotations

What this does
I want to contribute more often so I thought maybe a PR that goes through "obvious" missing annotations could be a good first PR.
How it was tested

ran poetry run pytest tests/

This change is

Hi @alexander-soare, for some reason I'm not able to tag anyone to review my PR, let me know what I should do

Thanks for the PR! I tagged myself and will take a look early this week.


Initial sampling implementation

This PR implements the sampling operator as described in #1188. The sample operator can be used as follows:
-- select a sample of size 10
SELECT * FROM test SAMPLE 10
-- perform aggregates over a sample of size 10
SELECT SUM(i) FROM test SAMPLE 10

In a query, SAMPLE should occur before the ORDER BY/LIMIT clauses, but after everything else. The sample operator occurs right after the FROM clause in the scan. For example, here is Q01 with a sample operator:
SELECT
    l_returnflag,
    l_linestatus,
    sum(l_quantity) AS sum_qty,
    sum(l_extendedprice) AS sum_base_price,
    sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
    sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
    avg(l_quantity) AS avg_qty,
    avg(l_extendedprice) AS avg_price,
    avg(l_discount) AS avg_disc,
    count(*) AS count_order
FROM
    lineitem
WHERE
    l_shipdate <= CAST('1998-09-02' AS date)
GROUP BY
    l_returnflag,
    l_linestatus
SAMPLE 100
ORDER BY
    l_returnflag,
    l_linestatus;

┌───────────────────────────┐
│          ORDER_BY         │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│           #0 ASC          │
│           #1 ASC          │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│       HASH_GROUP_BY       │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│             #0            │
│             #1            │
│          sum(#2)          │
│          sum(#3)          │
│          sum(#4)          │
│          sum(#5)          │
│          avg(#6)          │
│          avg(#7)          │
│          avg(#8)          │
│        count_star()       │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│         PROJECTION        │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│        l_returnflag       │
│        l_linestatus       │
│         l_quantity        │
│      l_extendedprice      │
│             #4            │
│   *(#4, +(1.00, l_tax))   │
│         l_quantity        │
│      l_extendedprice      │
│         l_discount        │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│         PROJECTION        │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│        l_returnflag       │
│        l_linestatus       │
│         l_quantity        │
│      l_extendedprice      │
│ *(l_extendedprice, -(1.00,│
│        l_discount))       │
│           l_tax           │
│         l_discount        │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│         PROJECTION        │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│             #0            │
│             #1            │
│             #2            │
│             #3            │
│             #4            │
│             #5            │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│           FILTER          │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│   l_shipdate<=1998-09-02  │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│      PHYSICAL_SAMPLE      │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│            100            │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│          SEQ_SCAN         │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│          lineitem         │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│        l_returnflag       │
│        l_linestatus       │
│         l_quantity        │
│      l_extendedprice      │
│         l_discount        │
│           l_tax           │
│         l_shipdate        │
└───────────────────────────┘

The sample operator is implemented using reservoir sampling without replacement with exponential jumps in a streaming manner (following the algorithm from the paper Weighted random sampling with a reservoir by Pavlos S. Efraimidis et al.). Currently only uniform random sampling is supported, but weighted random sampling should not be a difficult extension.
Some limitations:

We don't support lazy vectors yet, so the entire scan is always performed (i.e. no performance is saved from scanning less data), potential efficiency gains are only from computing aggregates over fewer rows. Related issue #396.
Currently the sample size must be specified exactly, there is no option of specifying the sample size as a percentage of the total data set. More work would need to be done to properly support that, I'm not familiar with a streaming algorithm that supports unbiased sampling where the sample size m depends on the stream size. Materializing the table would be the easiest option, but undesirable since sampling is primarily intended to make queries run faster, not slower.
SAMPLE is defined as a reserved keyword right now. Otherwise shift/reduce conflicts are introduced, because the parser cannot know in this case:

SELECT * FROM tbl WHERE x ++ sample 10;

If what is meant is WHERE (x ++) SAMPLE 10 or WHERE (x ++ sample) 10 (i.e. is sample a columnar input to a binary operator, or is ++ a unary operator and sample a keyword).
An alternative would be to use the USING SAMPLE syntax instead, i.e.:
-- select a sample of size 10
SELECT * FROM test USING SAMPLE 10

This avoids needing to add a reserved keyword, but looks a bit uglier imo. What do you think @hannesmuehleisen ?

Currently samples are tested for simple functionality, but it would be nice to have statistical tests on samples as well (e.g. testing that samples are actually correctly uniform) using statistical testing techniques.

Related, the SQL standard TABLESAMPLE method: https://wiki.postgresql.org/wiki/TABLESAMPLE_Implementation
We might want to implement this syntax as well.

So why don't we just support TABLESAMPLE like in Postgres and call it a day?

The TABLESAMPLE is more limited because it can only be used on base table scans. I believe the Postgres' implementation directly goes to the base table to filter out which pages it reads from disk (i.e. the sample is directly pushed down into the scan). The sample syntax I proposed here can be used for arbitrary queries which is much more flexible. I'm also not a huge fan of the tablesample syntax:
SELECT avg(salary)
FROM emp TABLESAMPLE SYSTEM (50)

50 is a percentage, which does not seem very intuitive to me (I would expect either 0.5 to be a percentage, or 50 to be a discrete number of tuples).

Having played around with this some more, I propose the following syntax (which does not require reserving any new keywords):
-- sample 100 elements of the table
SELECT * FROM tbl USING SAMPLE (100);
-- sample 10% of the table
SELECT * FROM tbl USING SAMPLE (10%);
-- sample 10% using bernoulli sampling
SELECT * FROM tbl USING SAMPLE (10%, bernoulli);
-- sample 10% using bernoulli sampling, fixed seed 200
SELECT * FROM tbl USING SAMPLE (10%, bernoulli, seed=200);
-- sample 10% using reservoir sampling, fixed seed 200
SELECT * FROM tbl USING SAMPLE (10%, method=reservoir, seed=200);

I propose we support the following three sampling methods:

System
Bernoulli
Reservoir

Reservoir sampling is the only sampling method that allows a fixed sample size (i.e. not a percentage). Bernoulli and system sampling do not have a fixed sample size. Bernoulli sampling simply takes the given percentage (e.g. 10%) and then gives every tuple a 10% chance of passing. System sampling is similar to bernoulli sampling, but gives every chunk a 10% chance of passing. This is more efficient because we don't need to pass partial chunks through the pipeline. It is relatively similar to Postgres' system sampling which does the same but on the page level.
Bernoulli and system sampling are streaming sampling methods in the sense that they are non-blocking operators (i.e. not sinks). Reservoir sampling is a blocking operator (a sink).
My suggestion for default is: if an exact sample size is specified (i.e. not a percentage) we default to reservoir sampling. If a percentage is specified, we default to system sampling, i.e.:
-- system sampling, return ~approx 10% of the data
SELECT * FROM tbl USING SAMPLE (10%);
-- reservoir sampling, return 30 tuples
SELECT * FROM tbl USING SAMPLE (30);


Will you be upgrading this mod?

Are there any plans to make a 1.8/1.9 build and/or porting to / supporting sponge?

Yes. Need time and a motivation kickstart though.

Oh, and it also depends on a few other mods updating first.
Not sure whether I want to drop their support - I fear people will riot if AE2 channels are not passing through CMs anymore. Even though I really want to drop that feature anyway.
This is a bit disheartening and thus one of the main reasons why this isn't updated to 1.8 yet.


Colab Demo?

Hello, Thank you for your great work
Can you provide a Colab Notebook Demo, it will be helpful for everyone and this repo will be easy to use
Thank you

@Adeel-Intizar here: https://colab.research.google.com/gist/eyaler/886ecdff6429ef9cd585d5dc8fdd51ec/openpose-video2bvh.ipynb

Hello sir, thank you so much for your colab. It works very fine for me. But iam sorry, i think i made a mistake when running your colab at first where i still use your default directory to save output files


editorOverviewRuler.bracketMatchForeground not hot reloaded

Issue Type: Bug
"workbench.colorCustomizations": {
    "editorOverviewRuler.bracketMatchForeground": "#0011ff",
}

VS Code version: Code - Insiders 1.38.0-insider (c23cacdc97b54e6056400599dad329cabc7facfb, 2019-08-16T06:35:26.375Z)
OS version: Windows_NT x64 10.0.18362

Works again. No idea.

Actually in my testing this is one of the "few" colorCustomizations that seems to require a reload to take effect.
Is that expected behaviour?  Something different about the overviewRuler?


New Port: Dark Sheep

New Port for Dark Sheep
Game Information

Title: Dark Sheep
URL: https://daisy-games.itch.io/dark-sheep

Submission Requirements
CFW Tests
Ensure your game has been tested on all major CFWs:

[X] AmberELEC
[X] ArkOS
[X] ROCKNIX
[ ] muOS
[X] KNULLI

Resolution Tests
Test all major resolutions:

[X] 480x320
[X] 640x480
[X] 720x720 (RGB30)
[X] Higher resolutions (e.g., 1280x720)

Thanks for the second pair of eyes Slayer!


Use an io::Cursor instead of tempfile

Fixes https://github.com/ekiwi/wellen/issues/25 though presumably this has some RAM usage consequences.
I briefly attempted a #[cfg(target_arch=wasm)-specific fix to not change too much, but that would require #[cfg]-ing the output of uncompress_gzip_wrapper which becomes annoying
I also tried making the return type be impl Read+Seek but that requires adding generic arguments in more places.
For now without knowing the performance implications of this, I think it is the best solution

Thanks for this PR. I would prefer a solution where a temp file is used when available, and we fall back to a Vec otherwise. I can try to implement that myself. Just give me a couple of days.

This should hopefully fix the wasm issue: https://gitlab.com/surfer-project/surfer/-/merge_requests/486
This is the change I made: https://github.com/ekiwi/fst-native/commit/e43210fb8829d987c9dc28113c25167584beaa1f


operator hpe-filex-csi-operator (v1.0.0-beta)

This has to be fixed by Engineering.
The issue here is that once an Operator Package Name is reserved for a given Operator Bundle Component, the Package Name cannot be changed without Engineering assistance. Thus, your first PR, https://github.com/redhat-openshift-ecosystem/certified-operators/pull/4608, managed to reserve the name hpe-greenlake-file-csi-operator before dying later.
The reservation is not removed if the cert job fails later; it's not written as a revocable transaction.
I've filed an Engineering ticket to get the package name association removed from the bundle component. Once that's done, the most recent PR can be re-run.
I've just received word that the association was removed. I will re-queue this PR.

What seems to be the problem with being deployable by OLM? Is there some other error I can't see?

This works fine on my machine™.
$ operator-sdk run bundle -n hpe-storage quay.io/hpestorage/filex-csi-driver-operator-bundle-ocp:v1.0.0-beta
INFO[0017] Creating a File-Based Catalog of the bundle "quay.io/hpestorage/filex-csi-driver-operator-bundle-ocp:v1.0.0-beta"
INFO[0018] Generated a valid File-Based Catalog
INFO[0022] Created registry pod: io-hpestorage-filex-csi-driver-operator-bundle-ocp-v1-0-0-beta
INFO[0022] Created CatalogSource: hpe-filex-csi-operator-catalog
INFO[0022] OperatorGroup "operator-sdk-og" created
INFO[0022] Created Subscription: hpe-filex-csi-operator-v1-0-0-beta-sub
INFO[0061] Approved InstallPlan install-qfz2m for the Subscription: hpe-filex-csi-operator-v1-0-0-beta-sub
INFO[0061] Waiting for ClusterServiceVersion "hpe-storage/hpe-filex-csi-operator.v1.0.0-beta" to reach 'Succeeded' phase
INFO[0063]   Found ClusterServiceVersion "hpe-storage/hpe-filex-csi-operator.v1.0.0-beta" phase: Pending
INFO[0065]   Found ClusterServiceVersion "hpe-storage/hpe-filex-csi-operator.v1.0.0-beta" phase: Installing
INFO[0076]   Found ClusterServiceVersion "hpe-storage/hpe-filex-csi-operator.v1.0.0-beta" phase: Succeeded
INFO[0076] OLM has successfully installed "hpe-filex-csi-operator.v1.0.0-beta"

/pipeline restart operator-hosted-pipeline

This won't succeed as the image is not yet published in the redhat registry pending legal approvals.


update TrieMap entries to latest naming conventions

r+

(we should also add the convenience on the enum itself, presumably)


[JENKINS-54269] Missing display name for administrative monitor

See JENKINS-54269
The display name for the MissingVerificationStrategyAdministrativeMonitor is missing. This PR adds its display name.

@reviewbybees
@kuisathaverat as maintainer

@kuisathaverat thanks for merging!
Any plan for the next release?

@fcojfernandez no there is no ETA, I have to release trilead-ssh2, and trilead-api first

OK @kuisathaverat ! I'll pay attention to the changelog then.


Missing @RequestParam on a boolean parameter causes Swagger page to not render that controller, and all controllers alphabetically after

I have an @RestController that has a single endpoint:
//Endpoint within status-controller
@RequestMapping(value = "ping", method = {RequestMethod.HEAD, RequestMethod.GET}, produces = MediaType.APPLICATION_JSON_VALUE)
public PingResponse ping(boolean deep) {
    [...]
}

Note that this is missing an @RequestParam on the boolean parameter. When Springfox tries to render this, the output appears like this:

Note that the top of the page has the message "Finished Loading Resource Information. Rendering Swagger UI..." and there is an error in the console.  The endpoint above is inside of status-controller and it does not appear on the page. However, the next controller alphabetically, test-controller, also does not appear, with no indication about the source of the problem or that other controllers are prevented from displaying.
Adding @RequestParam to the endpoint parameter does solve this problem, but I believe that the current behavior should be addressed. I expect that either:

Swagger UI renders the endpoint properly, despite it missing @RequestParam (since it is an endpoint that is valid in Spring)
A more helpful error message appears in either my Java console or the Swagger UI to indicate that I need to add @RequestParam to my boolean parameter

Also, it would be really wonderful if a failure in one controller only prevents that one controller from appearing, rather than preventing all controllers alphabetically afterwards from appearing as well.

@Thunderforge thanks for the detailed issue. It would be useful to also know what your swagger api-docs looks like.. the relevant snippet at least. You can find it @ ...../v2/api-docs

@Thunderforge Did a little bit of research sending in a boolean in the body is totally valid. So its a bug in swagger-ui and you may want to report it there. Specifically the following parameter should be supported.
"parameters": [

    {
        "in": "body",
        "name": "someBoolean",
        "description": "someBoolean",
        "required": false,
        "schema": {
            "type": "boolean"
        }
    }

],

Thanks for duplicating that. Where do I go to report that bug? I am new to swagger.
Also, do you still need my swagger api-docs? I was having trouble locating them. We are creating a war and I don't see an api-docs folder aside from inside to springfox jar itself.

@Thunderforge you'd have to report it here
Don't worry about the api-docs. Also FYI its generated on the fly so you won't find it anywhere on disk

I have reported this issue to Swagger-ui. Thanks for your help!


Fixed RDS Endpoint Servers Group SID

@dulcemontemayor Would you be able to review this PR containing a minor fix regarding a SID? Thank you.

@DulceMontemayor Any updates on this?

Closes #3585


Extract code snippets from how-to-apply-a-theme-to-a-presentation.md

Extract the code snippets from docs/presentation/how-to-apply-a-theme-to-a-presentation.md and use docfx snippets to retrieve them from the samples folder and audit the text.

closing as duplicate


Indexer clean a stream file

Prerequisites
affected version: 1.25.0
Expected Behavior
Indexer should always only append content to the session file
Current Behavior
Indexer clean session file.
Steps to Reproduce

open chipmunk
drag and drop `text.txt’ file
do cat ~/.logviewer/streams/15xxxx.stream (change file name to correct one)
expected result:

one10010
two10011
three10012
four10013
Five10014

all good.
4. Into same tab drag and drop test.txt once again.
5 do cat ~/.logviewer/streams/15xxxx.stream (change file name to correct one)
expected results
one10010
two10011
three10012
four10013
Five10014
one10015
two10016
three10017
four10018
Five10019

actual results
one10015
two10016
three10017
four10018
Five10019

Looks like indexer start indexes correctly (from 5), but it clean a file and removes existed content.
test.txt

was fixed


refactor: pass runtime explicitly instead of picking up the environment

in provider, leave hp alone for now. This is just a good idea in general, but also the first step to have more control over on which runtime tasks are started.
In the long term we want tasks that do the actual IO, like handle_connection, to be started on a single threaded runtime so we can use non Send futures in there.
Note that I really think we should do something similar for hp as well. The only place where I find using tokio::task::spawn maybe somewhat acceptable is in tests. But we are going to leave hp alone until "THE MERGE"...

/netsim


Add iCloud Mail recipe

Pre-flight Checklist
Please ensure you've completed all of the following.

[x] I have read the Contributing Guidelines for this project.
[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I updated the version package Updating

Description of Change

Added iCloud Mail recipe.

@all-contributors pls add @ismailkarsli for code


Sanitise API inputs used as file path variables

cc: @soumitra-st

Codecov Report

Merging #11132 (9b74ea4) into master (8fff7eb) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master   #11132     +/-   ##
=========================================
  Coverage    0.11%    0.11%
=========================================
  Files        2203     2148     -55
  Lines      118214   115715   -2499
  Branches    17891    17593    -298
=========================================
  Hits          137      137
+ Misses     118057   115558   -2499
  Partials       20       20

Flag
Coverage Δ

integration1temurin11
?

integration1temurin17
?

integration1temurin20
?

integration2temurin11
?

integration2temurin20
?

unittests1temurin17
?

unittests1temurin20
?

unittests2temurin11
?

unittests2temurin17
0.11% <0.00%> (-0.01%)
:arrow_down:

unittests2temurin20
?

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

Impacted Files
Coverage Δ

...e/pinot/common/function/TransformFunctionType.java
0.00% <0.00%> (ø)

...er/api/resources/LLCSegmentCompletionHandlers.java
0.00% <0.00%> (ø)

...ces/PinotSegmentUploadDownloadRestletResource.java
0.00% <0.00%> (ø)

...che/pinot/controller/util/FileIngestionHelper.java
0.00% <0.00%> (ø)

... and 57 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


bug on material-ui create-stub

it generates only
declare module 'material-ui/RaisedButton/index' {
  declare module.exports: any;
}

it should also generates
declare module 'material-ui/RaisedButton' {
  declare module.exports: any;
}

as we can import RaisedButton like this:
import RaisedButton from 'material-ui/RaisedButton';

Looking at the folder structure, you'll need to import it as import RaisedButton from 'material-ui/RaisedButton/RaisedButton';

I am facing a similar problem, but what I use is ant-design-pro. I want to use it's component alone like Exception.

@JackClown There's currently no definition for ant-design-pro, so unless you're writing one this isn't an issue with flow-typed.

@GAntoine I know it , so I used create-stub to generate, but it didn't generate correctly

Ah my bad! I see what you're saying, you're experiencing the same issue as above. I think there's a change to the cli pending release that improves stub generation.

@GAntoine is that already in master?

Yeah, I just need to release a new patch version.

@GAntoine Thanks


Font Manager

ZA is in conflict with the Font Manager module (app) if I change the original fonts to some other ones...
Then set the restart system UI
And if I have all the modules enabled, then with active ZA, the mobile will turn off into recovery after about 3-5 minutes

Likely very similar to #11. Zygote preloads the fonts and if they're replaced, well, the fork won't see the replacement but will still try to access it.

Use FontLoader

That's a nice module. I think this can also be solved by changing the font path in memory so that denylisted apps will load the default system fonts.

Closing in favor of #59


Preview feature feedback: transactionApi

Please share your feedback about the preview feature transactionApi that was released in v2.1.0 in this issue.

If you encounter a bug, please open a bug report in this repo.
If the feature is working well for you, please share this in a comment below or leave a 👍 on this issue.

If you have any questions, don't hesitate to ask them in the #prisma2 channel in the Prisma Slack.

I am having troubles running a transaction that deletes all records and then creates new records.
It gives me the following TypeScript error:
No overload matches this call.
  The last overload gave the following error.
    Argument of type '(Promise<BatchPayload> | Prisma__RecoveryCodeClient<RecoveryCode>)[]' is not assignable to parameter of type 'Iterable<BatchPayload | PromiseLike<BatchPayload>>'.
      The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types.
        Type 'IteratorResult<Promise<BatchPayload> | Prisma__RecoveryCodeClient<RecoveryCode>, any>' is not assignable to type 'IteratorResult<BatchPayload | PromiseLike<BatchPayload>, any>'.
          Type 'IteratorYieldResult<Promise<BatchPayload> | Prisma__RecoveryCodeClient<RecoveryCode>>' is not assignable to type 'IteratorResult<BatchPayload | PromiseLike<BatchPayload>, any>'.
            Type 'IteratorYieldResult<Promise<BatchPayload> | Prisma__RecoveryCodeClient<RecoveryCode>>' is not assignable to type 'IteratorYieldResult<BatchPayload | PromiseLike<BatchPayload>>'.
              Type 'Promise<BatchPayload> | Prisma__RecoveryCodeClient<RecoveryCode>' is not assignable to type 'BatchPayload | PromiseLike<BatchPayload>'.
                Type 'Prisma__RecoveryCodeClient<RecoveryCode>' is not assignable to type 'BatchPayload | PromiseLike<BatchPayload>'.
                  Type 'Prisma__RecoveryCodeClient<RecoveryCode>' is not assignable to type 'PromiseLike<BatchPayload>'.
                    Types of property 'then' are incompatible.
                      Type '<TResult1 = RecoveryCode, TResult2 = never>(onfulfilled?: ((value: RecoveryCode) => TResult1 | Promise<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | Promise<...>) | null | undefined) => Promise<...>' is not assignable to type '<TResult1 = BatchPayload, TResult2 = never>(onfulfilled?: ((value: BatchPayload) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined) => PromiseLike<...>'.
                        Types of parameters 'onfulfilled' and 'onfulfilled' are incompatible.
                          Types of parameters 'value' and 'value' are incompatible.
                            Property 'count' is missing in type 'RecoveryCode' but required in type 'BatchPayload'.ts(2769)
index.d.ts(22976, 3): 'count' is declared here.
lib.es2015.iterable.d.ts(226, 5): The last overload is declared here.

Here's the code:
public static async generate(user: User) {
  try {
    const recoveryCodes: string[] = []

    // Generate 12 new recovery codes.
    for (let i = 0; i < 12; i += 1) {
      recoveryCodes.push(this.generateCode())
    }

    await prisma.$transaction([
      prisma.recoveryCode.deleteMany({ where: { userId: user.id } }),
      ...recoveryCodes.map((code) =>
        prisma.recoveryCode.create({
          data: {
            user: {
              connect: {
                id: user.id,
              },
            },
            code: encrypt(code),
          },
        })
      ),
    ])

    return recoveryCodes
  } catch (err) {
    throw err
  }
}

Does prisma not support mixing deleteMany and create in a transaction? Because when I remove the deleteMany operation, it does not give any errors.
Should I open a feature request / bug report?

Should I open a feature request / bug report?

Yes please @P4sca1 - someone should properly reproduce this and that is best possible with a standalone isuse.

Alright, I opened a new issue here: https://github.com/prisma/prisma/issues/3958

This feature is actually out of preview since 2.11.0
https://github.com/prisma/prisma/releases/tag/2.11.0


Code to review

Excercise: Does my coding partner follow JS best practices?
This branch contains a copy of my ToDo List project so that it can be reviewed by my coding partner.

@joramot Thank you very much for your advice


chore: migrate locale test to TypeScript

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Will open a new pr soon for this


🐛 FIX - IMPROPER TRANSITION EFFECT

Describe the bug

The bug is about the improper transition which was applied on social icons on footer, the transition is not working properly.
This affects the user experience, i can fix this issue
I added before and after gif images for better understanding, the after part has been edited on developer console

Screenshort

BEFORE

AFTER

Postscript :

I'm a participant of GSSoC'23 so kindly assign this issue to me for further development

Yes..it's looking good...u can start working on this!

Glad you to see that you have assigned me, I will make the work done within 1hr.
For your attention ⚠

The label GSSOC'23 is not validated label, You want to update the label as gssoc23.
For more details you can contact the Gssoc'23 Discord Moderator MR.Gurjeet


Non-ActiveRecord support?

Just confirming that only ActiveRecord is currently supported.

No, we just currently only made specs covering Active Record. I don't see that we have any ORM specifics in this project. Please let me know if you have trouble configuring it for whatever ORM (data store) solution that you wanna use. I'm sure I can help you out!

Here's what gave me that impression: https://gist.github.com/1320155.  Let me know if I'm missing something.  I ended up going with Cancan's separate role model for now, we just have an admin role I want to support, but it could be more complex down the road.  We're using MongoMapper.


Fixes a panic that can be caused by bad input data

Found this panic using go-fuzz.
Relevant panic output was:
panic: runtime error: index out of range

goroutine 1 [running]:
github.com/rwcarlsen/goexif/exif.(*parser).Parse(0xb0c2b0, 0xc4200161b0, 0xc4200161e0, 0x0)
github.com/rwcarlsen/goexif/exif/exif.go:147 +0x4c5
github.com/rwcarlsen/goexif/exif.Decode(0xac2ba0, 0xc420016090, 0xc42054fab8, 0x1051e, 0xc420016090)
github.com/rwcarlsen/goexif/exif/exif.go:287 +0x6ea
[...]

I can provide the input that triggered the crash if required.

resolves https://github.com/rwcarlsen/goexif/issues/39

@ssoroka It seems the author is not very active in this project anymore, many forks have been created. I would like to make this stable and I create goexif2 which integrates your patch: https://github.com/xor-gate/goexif2/commit/c654e02dde9e792a47fffbef9b73a0409083dcfb