chore) use vet and fmt packages

approve

Codecov Report

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

@@           Coverage Diff           @@
##           master      #11   +/-   ##
=======================================
  Coverage   69.84%   69.84%
=======================================
  Files           1        1
  Lines          63       63
=======================================
  Hits           44       44
  Misses         14       14
  Partials        5        5

Continue to review full report at Codecov.

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


Error: Unable to load AWS Credentials

Hello,
Recently came across a problem with this tool all of a sudden. Upon trying to run a spray I receive an error:

The simple command I've tried running is the command given in the usage example:
python3 credmaster.py --plugin <pluginname> -u users.txt -p passwords.txt --access_key <Key1> --secret_access_key <key2>
I've confirmed that my access keys are valid, I've tried running this tools via virtualenv and with docker but to no avail. Trying to follow the simple example is proving oddly difficult, any idea why I am receiving "Unable to load AWS Credentials". Would this be fireprox related?

Unfortunately I can't replicate this, this appears to work fine for me. Troubleshooting wise, I would try to use the original FireProx tool and see if you can generate an API with your credentials (https://github.com/ustayready/fireprox). If you can't create an API, then it's a credential problem of some kind. If not please let me know, I'll plan to close this issue in roughly two weeks if I haven't heard back.

In fire.py, modify the file to print the error you are receiving on exception like this:
        # Maybe had profile, maybe didn't
        if self.access_key and self.secret_access_key:
            try:
                self.client = boto3.client(
                    'apigateway',
                    aws_access_key_id=self.access_key,
                    aws_secret_access_key=self.secret_access_key,
                    aws_session_token=self.session_token,
                    region_name=self.region
                )
                self.client.get_account()
                self.region = self.client._client_config.region_name
                # Save/overwrite config if profile specified
                if self.profile_name:
                    if config_profile_section not in config:
                        config.add_section(config_profile_section)
                    config[config_profile_section]['region'] = self.region
                    with open(os.path.expanduser('~/.aws/config'), 'w') as file:
                        config.write(file)
                    if self.profile_name not in credentials:
                        credentials.add_section(self.profile_name)
                    credentials[self.profile_name]['aws_access_key_id'] = self.access_key
                    credentials[self.profile_name]['aws_secret_access_key'] = self.secret_access_key
                    if self.session_token:
                        credentials[self.profile_name]['aws_session_token'] = self.session_token
                    else:
                        credentials.remove_option(self.profile_name, 'aws_session_token')
                    with open(os.path.expanduser('~/.aws/credentials'), 'w') as file:
                        credentials.write(file)
                return True
            except Exception as a:
                print(a)
                return False
        else:
            return False

Should give you an idea of what is going wrong here. Going to guess that your API keys are invalid or don't have the permissions to create the gateway.

Thank you for the replies, I will look into making this modification. As far as my keys, I did check my AWS account which indicated my keys were active and valid. Additionally I created a new user/group via AWS IAM in order to get a fresh set of keys which gave the same original issue. I do think it is an issue with my fire.py

@mbb5546  Any updates on this?

I've had this exact issue before. The fix for me was to restart the docker
services* # service docker restart*. Also make sure you are already logged
into AWS and perhaps destroy any previous API Gateways just in case before
you begin your password spraying attempt.
Hope this helps.
On Thu, Jun 16, 2022 at 12:15 PM Gonski @.***> wrote:

@knavesec https://github.com/knavesec Thanks for checking in,
unfortunately not. In an attempt to just use the tool successfully I ran a
spray from a fresh Kali VM environment and didn't mess with any configs so
everything was stock, provided my fresh, unused IAM AWS keys and it worked
fine, but only once.
Days later I attempted to perform another spray thru the same separate VM
environment and got the exact same Unable to Load AWS credentials so I am
really not sure. Seems like possibly an issue with my AWS keys but I
haven't been able to find a solid explanation. Very weird
—
Reply to this email directly, view it on GitHub
https://github.com/knavesec/CredMaster/issues/13#issuecomment-1157991847,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH5LZHWYHS24VXZRDIIVPALVPNVK7ANCNFSM5SQ7LIWA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Had a similar issue. Worked for over 5 days, had nothing changed and then unable to load AWS credentials. Made numerous new AWS IAM users with new programmatic access/secret keys and same problem. Reinstalled the tool, same issue. Some sort of limit with AWS, needs more investigation.

Going to close this issue. Anyone involved please reopen if you believe the issue is with CredMaster rather than AWS/key sessions/docker/etc. Unfortunately I simply can't validate where the issue may lie


Workflow for adding translations - contributions

Hi, what would you recommend as a workflow to allow other people to contribute to translations?
One of my ideas is to create a view for users that would load the all translation files and merge them in a single view, showing e.g. what's not translated in each language. Once they fill in the gaps, that would be stored in the database. I would then generate a new json file and add it to the project (+git). This approach seems to be clunky as there is a delay in filling in the translations and actually seeing the updates on the page (unless I hack into the package somehow and merge the recent DB changes with the JSON files).
So the obviously better solution would be to store all the translations in the DB, similarly to the file structure. But that would be a big change in the package itself?
Do you have any recommendation on what's the best approach here? Should I be even using this package (I utilize all parts of it at the moment, core, ui and db)?

For db based i18n, check https://github.com/TAPevents/tap-i18n-db

For db based i18n, check https://github.com/TAPevents/tap-i18n-db

I have been already using it. It may be a solution maybe if I hack the -core helpers. Another problem with -db that others have reported is that it doesn't load all the translations at once, but only the single selected translation. Maybe I could hook into the collection twice in such case (once with the TAP.collection and then with regular Mongo.collection for translation management?).


Update LAB_06_Upgrade_and_migrate_Windows Server.md

Module: 00
Lab/Demo: 00
Fixes # .
Changes proposed in this pull request:

Submitted by cjpluta on behalf of MOC Labs Review


Restructuring importing

restructured so that can import all the functions at once
tidied up class definitions so that each bootstrap has a gevd_fitter class within the bootstrap class

also removing pycaches


[BUG] Classification label is incorrectly filtered in expanded sample mode

I have a dataset with an eval field with Classification instances with labels {tp, fp, fn, tn}. When I view the sample below in expanded sample mode, I see (very small in upper left corner of media viewer) that eval: fn, but when I apply the fn only label filter on the right, the label disappears from the media viewer even though it does match my filter.
This also happens for the other fields of this dataset too, so I don't think it is label-specific.

Resolved by #848


Intermittent 404, 403 errors on page

Details

Project URL: https://packaging.python.org/ (Goes via Varnish though)

Expected Result
200 responses every time.
Actual Result
Intermittent 403 and 404 errors, see:
$ curl -I https://readthedocs.io/ -H 'Host: packaging.python.org'
HTTP/1.1 404 OK
Server: nginx/1.10.0 (Ubuntu)
Vary: Accept-Encoding
Vary: Cookie, Accept-Language
Content-Type: text/html; charset=utf-8
Date: Sun, 18 Sep 2016 17:27:59 GMT
Transfer-Encoding: chunked
Content-Language: en
Connection: Keep-Alive
$ curl -I https://readthedocs.io/ -H 'Host: packaging.python.org'
HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Sun, 18 Sep 2016 17:27:59 GMT
Content-Type: text/html
Content-Length: 9332
Last-Modified: Sun, 18 Sep 2016 11:29:04 GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: "57de7a80-2474"
X-Cname-TryFiles: True
X-Served: Nginx
X-Deity: web01
Accept-Ranges: bytes
$ curl -I https://readthedocs.io/ -H 'Host: packaging.python.org'
HTTP/1.1 403 Forbidden
Server: nginx/1.10.0 (Ubuntu)
Date: Sun, 18 Sep 2016 17:27:58 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Vary: Accept-Encoding

Closing this, I believe I resolved this issue the other day.


HttpLoggingInterceptor with Level.BODY blocks SSE from reading response

The problem is that SSE doesn't work with HttpLoggingInterceptor that have Level.BODY. Interceptor with other levels are working as expected.
HttpLoggingInterceptor with Level.BODY is not allowing RealEventSource to read response body byte by byte. It looks like interceptor is trying to buffer the entire response body which is not ready until request is done. Therefore Callback.onResponse in RealEventSource doesn't called, response events can't be parsed and passed to EventSourceListener.
The solution could be ignoring response body in HttpLoggingInterceptor for Content-Type: text/event-stream, reading response body line by line or just an explicit warning of not using Level.BODY with SEE in documentation.
Changing log level from Level.BODY for SSE client wouldn't be the best solution because it will also disable logging a body for regular HTTP requests for this client instance.

Want to send a PR for this?

I think we wanna  change Level.BODY to do streaming-logging, not buffer-everything logging.

Won't fix. We have a minimal fix attitude to HttpLoggingInterceptor. It deserves it's own github library.


[Feature] display a message when no resources are found matching the filters

Problem
When a user selects various filters from topic, medium and language,  there is a possibility that none of the resource match the selected combination of filters. In this case, the user can get confused as nothing shows up on the screen.
Description

A text message should show up. which describes that no resources matched to the selected filters so the user knows it is not a problem in his machine that nothing is showing up.
Additional context
For example, this combination of filters: a website about licenses in arabic language
Implementation

[x] I would be interested in implementing this feature.

@Murdock9803 @possumbilities Can you please assign this issue to me, i want to contribute, and i believe i can complete this issue as soon as possible.

@nandu-99 feel free to give it a try and Issue a PR against the repo. If its accepted and merged we'll assign you :)

@possumbilities thank you

@possumbilities @Murdock9803  should i have to do any particular styling to the text message of normal message works?


cannot unzip the checkpoint file

Hi, thanks for your work and sharing your codes!
When I tried to test your uploaded model performance and unzip the checkpoint.pth.tar, I occurred to an error as follows:
$ tar -xvf checkpoint.pth.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

I wander whether you get the same error, and I hope you give me some help.
I know this tar file is as huge as about 500 MB, could I trouble you to upload the unzipped checkpoint.pth file to Google Driver directly again? Thank you in advance.
Regard

Hi, use torch.load() directly. You don’t need advance decompression.
It seems like a naming mistake.：）
thanks for your feedback,I will fix it.
0shelter0 @.***>于2021年12月27日 周一下午11:37写道：

Hi, thanks for your work and sharing your codes!
When I tried to test your uploaded model performance and unzip the
checkpoint.pth.tar, I occurred to an error as follows:
$ tar -xvf checkpoint.pth.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
I wander whether you get the same error, and I hope you give me some help.
I know this tar file is as huge as about 500 MB, could I trouble you to
upload the unzipped checkpoint.pth file to Google Driver directly again?
Thank you in advance.
Regard
—
Reply to this email directly, view it on GitHub
https://github.com/xueyee/GroupFormer/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVGBF5UTRQYWGCUS6SBGTHLUTB4ADANCNFSM5K2PAP3A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hi, 0shelter0, in the process of reviewing the GroupFormer, some problems are encountered during debugging. Is it convenient to communicate with you by email?
XGL from BUPT
Email<EMAIL_ADDRESS>


buffer: make enum wlr_buffer_cap public

Custom backends and renderers need to implement wlr_backend_impl.get_buffer_caps and wlr_renderer_impl.get_render_buffer_caps. They can't if enum wlr_buffer_cap isn't made public.

This was an oversight I made during the 0.14.0 release. I'd say it would make sense to backport to 0.14.1.

Good catch ;)


dependency colored_json v3.3.0 was yanked

https://crates.io/crates/colored_json/versions

Thanks for the notice.
Related issue: https://github.com/ctron/colored_json/issues/7
Fixed in https://github.com/gak/teslatte/commit/9584cbe1d680d68a9607fecc7dc8f5d280747d3b


UI - Object Storage Service

ObjectStorageServices.pdf
We need to prepare the UI for the new Object Storage Service. In the mocks above, there's the page to explore the "Containers" (entities that will live inside the service).
cc @harshach @chirag-madlani

we can proceed here once the APIs and sample data are finished

Initial PR created for the Object Storage Service:
https://github.com/open-metadata/OpenMetadata/pull/10283

Let's add a BETA tag here


Epmlabsbrn 311 refactoring aws config

Described classes are higly coupled that makes
testing of AwsCloudService harder and requires
mocks on data structures.
In general mocking data structures is anti-pattern
and we should avoid such coding, as it signalizes
us that code have smells and have high coupling.
Instead we need to get rid of such hard links
between classes if they are meant to be used
separately.
As simple solution for now is to change Conditions class
from inner to outer and open for world. In order to decouple
it from parent we need to pass all required params
to constructor or builder class.
There are few formatting changes as well.

could you please fix
Code Smell A 3 Code Smells

@github-actions
Java CI / build (push) Failing after 52s — build


merge from konsum-frontend-svelte,template-css,template-svelte-app

package.json

chore(package): add /frontend/ (pkgbuild.install.sub.dir)

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

npm package (@latest dist-tag)
v1.32.0
GitHub release

Your semantic-release bot :package::rocket:


Plugin install error

@ash3D Hi, bro. I get into some trouble unfortunately while installing the plugin. After successfully compiled the VideoRecorder solution using vs2019 as it indicating its need of v142 toolkit, I copy the UEVideoRecorder folder into the 'Plugins' folder under my own projects. However, I get the following error when I open the UE editor. I am currently using 4.19 version of UE. I have no idea how to deal with this. I would really appreciate your help.

@wffancy Hi.
Older UE versions can be incompatible with v142 toolset. Try v141 for VideoRecorder (do not forget also to switch DirectXTex dependency to VS 2017 solution).
Build log should contain detailed info which can help to figure out what goes wrong.

Thanks for your awesome work and help. I finally install the plugin successfully. However, I find the newest version of code can not be compiled correctly under vs2017 in the project though the VideoRecorder itself can pass the compilation. Everything works fine under UE4.23 using vs2019 to build the solution. I Hope this can help the following guys who are interersted in this great work.

Well, I tried to use this plugin under ue4.21 and compile it using vs2017 then, and I found this also worked perfectly. Maybe I made some mistakes before but I had forgotten the reason. Sorry for the misleading though, this work is great:)


Disable internet traffic through OpenVPN server

Hi,
We have deployed a openvpn docker in AWS and configured to reach intance inside VPC. However, all the client's connection is establishing internet routing through OpenVPN server.
Is there a way to disable it?

Are you asking about a "split tunnel", where only a few routes are sent through the OpenVPN connection and the "default" route goes without a tunnel?

@vielmetti yes, almost! I want to sent all the aws ec2 instance traffic through VPN and avoid internet request going to VPN.
Will removing redirect-gateway def1 from client config would work?

Take a look at #51 and #82 for some previous discussion.

@vielmetti Split tunnels solves the issue. thanks!

Glad it worked!

@vielmetti Split tunnels solves the issue. thanks!

Hai Bro,
Could you provide the configuration file settings, i dont know the configuration for the split tunnel settings.


dogesec identity not being imported by default to collections

https://github.com/muchdogesec/stix2arango/blob/optimizations/docs/README.md#identities-identity-sdos
Should be imported in same way stix2arango identity object is imported when new collection is created

You asked me to remove it, will add it back


Make destructor virtual instead of pure virtual

Adding both pure virtual (= 0), and an explicit implementation ({}) to a
definition violates the C++ standard. Such code may be accepted by MSVC,
though causes an error in g++.
The point of a pure virtual method is that it allows the method
definition to be omitted, and marks the class as abstract, preventing
instances from being directly instantiated. Marking any method as pure
virtual is enough to mark a class as abstract.
A pure virtual method can still be optionally defined. It may be
accessed using the scope resolution operator. This might allow a derived
class to call a default implementation from the base class. Naturally
the base class method must be defined in such a case:
// Abstract base class
class Base {
public:
  virtual void someMethod() = 0; // Pure virtual
};

void Base::someMethod() {
  // Some default implementation
}

class Derived : public Base {
public:
  virtual void someMethod() override {
    Base::someMethod(); // Explicit call to base class implementation
  }
};

In the case of a destructor, the derived class destructor will have an
implicit call to the base class destructor. As such, Base::~Base must
be defined. Hence the implementation of a pure virtual destructor in a
base class is not really optional. Omitting the base class destructor
results in an unresolved external symbol error from the linker when
trying to link any derived class destructors.
By not marking a virtual base class destructor as pure, it will be
provided with a default (essentially empty) implementation, which will
satify calls from derived class destructors. As such, there is little
reason to mark a base class virtual destructor as pure, unless you need
to do so to make the class abstract. Since marking any method as pure
virtual makes the class abstract, you only need to select the destructor
if there is no other suitable method that can be marked as pure virtual.

The StreamReader and StreamWriter base classes are already abstract by
virtual of haing a pure virtual Read or Write method. As such, there is
no reason to also make the destructor pure virtual.

You can probably tell from the length of that commit message that I did a bit of research on that one. Forgot to give one of the relevant links: Destructors

Using the default keyword on the StreamReader/Writer base destructors allowed the code to compile and run without errors or warnings. Rebased and Merged into the master branch.
@DanRStevens Upon attempting to delete, this branch is giving me the same warning about not be fully merged into the HEAD branch. I'll leave the remote and local copy of the branch intact in case you want to investigate.
Thanks,
Brett

Ok, interesting. I got a warning:

warning: deleting branch 'virtual-dtor-fix' that has been merged to
'refs/remotes/origin/virtual-dtor-fix', but not yet merged to HEAD.
Deleted branch virtual-dtor-fix (was 6f5f813).

Despite the warning, the delete was successful. I then deleted the branch on GitHub, and fetched changed with git fetch --prune, which cleaned up my remote tracking branch.
In the end, all copies of the branch were deleted, without me having to force delete anything.


Let stack_parameters support symbol hash keys, for now

Service dialog options keys are supposed to be in String. But for some reason, API sends those keys in symbol when ordering a Service from global region.
Before we find out where those keys are duplicated in symbol via API, we have to work around it.
https://bugzilla.redhat.com/show_bug.cgi?id=1654999
@miq-bot assign @gmcculloug
@miq-bot add_label bug, gaprindashvili/yes, hammer/yes, services, orchestration
cc @jrafanie

@mkanoor Please review.

Hammer backport details:
$ git log -1
commit 83eb7770f6b6b6d1c23962b61fc26b5294c18736
Author: Greg McCullough<EMAIL_ADDRESS>Date:   Thu Feb 7 13:39:05 2019 -0500

    Merge pull request #18373 from lfu/dup_hash_keys_1654999

    Let stack_parameters support symbol hash keys, for now

    (cherry picked from commit 6fa6891fe53ba79f97c08dad32abf065eb4404be)

    https://bugzilla.redhat.com/show_bug.cgi?id=1673748


Absence operator

Coverage decreased (-0.4%) to 99.634% when pulling f821332f2e9c27a734a0362f22f6b4d1638cc281 on absence_operator into 5b7748d70ca1c55012de78c5c3d899b6c1456c92 on master.

Coverage decreased (-0.4%) to 99.634% when pulling 3ed769c137b8abf8d86af6ad93b9078a9e9a49c0 on absence_operator into 5b7748d70ca1c55012de78c5c3d899b6c1456c92 on master.


feat(card): Card actions support to custom content

Summary

Adding support to card actions to array with custom content, so we can send custom elements to be used

Change List (commits, features, bugs, etc)

extraActions support to array
updates in MDX

Acceptance Test (how to verify the PR)

Check that custom content can be sent in the extraActions prop following the pattern of array with objects

Regression Test (how to make sure this PR doesn't break old functionality)

Check that none of the changes impacted the card header

Things to look for during review

[ ] Make sure all references to iot or bx class prefix is using the prefix variable
[ ] (React) All major areas have a data-testid attribute. New test ids should have test written to ensure they are not changed or removed.
[ ] UI should be checked in RTL mode to ensure the proper handling of layout and text.
[ ] All strings should be translatable.
[ ] The code should pass a11y scans (The storybook a11y knob should show no violations). New components should have a11y test written.
[ ] Unit test should be written and should have a coverage of 90% or higher in all areas.
[ ] All components should be passing visual regression test. For new styles or components either a visual regression test should be written for all permutations or the base image updated.
[ ] Changes or new components should either write new or update existing documentation.
[ ] PR should link and close out an existing issue

@dianatran18 I think you have to weight in on this since this changes the existing style guidance for this component. You can see an example here

Hey @cgirani do you have an example of the design that is requesting the custom actions?

I think custom actions are fine to have if that's a need for the team, but there should be some structure around spacing/padding, order of actions, and number of actions if so. We also have the footer in the card component that can also be used to place additional actions, so it doesn't overcrowd the card header where the title also lives.

@dianatran18 / @davidicus  this is what Luke had for us:

@dianatran18 thanks for following up with Luke on that!
just a small question @davidicus, we would still need this PR right, at least since at this moment the Switcher is not supported in actions or we will add support only for the switcher?

@cgirani yes. we will still need this PR. I am doing another review.


Set bigger client_max_body_size for Nginx

MeilISearch max payload is being changed by default to 100M in https://github.com/meilisearch/MeiliSearch/pull/1147. This should be reflected by the nginx .conf by adding
client_max_body_size 100M;

at http in
/etc/nginx/nginx.conf

This modification should be documented somewhere :)

Should be done once the next release of MeiliSearch is out 😊


git clone failed with error: authentication required

Describe the bug
Get error "git clone master from https:///scm//.git failed with error: authentication required".
If I try to login e.g. with curl against Bitbucket REST API with same environment variables, nothing wrong there
Current behavior
~ env |grep JF
JF_URL=https://<self-hosted-artifactory-url>
JF_USER=<user_same_for_bitbucket_and_artifactory>
JF_GIT_PROVIDER=bitbucketServer
JF_GIT_OWNER=<project>
JF_GIT_BASE_BRANCH=master
JF_GIT_REPO=<repo>
JF_GIT_API_ENDPOINT=https://<self-hosted-bitbucket-url>
JF_GIT_TOKEN=<bitbucket-token>
JFROG_CLI_LOG_LEVEL=DEBUG
JF_PASSWORD=<pass>
~/frogbot ./frogbot scan-repository
16:13:45 [🔵Info] Frogbot version: 2.19.10
16:13:45 [Debug] Reading config from file system. Looking for .frogbot/frogbot-config.yml
16:13:45 [Debug] frogbot-config.yml wasn't found in <path>/frogbot/.frogbot/frogbot-config.yml. Searching for it in upstream directories
16:13:45 [Debug] Attempting to download frogbot-config.yml from <path>/<repo>
16:13:45 [Debug] The frogbot-config.yml will be downloaded from master branch
16:13:46 [Debug] The .frogbot/frogbot-config.yml file wasn't recognized in <path>/<repo>
16:13:46 [Debug] Sending HTTP HEAD request to: 'https://github.com/jfrog/frogbot'
16:13:46 [Debug] Locking config file to run config AddOrEdit command.
16:13:46 [Debug] Creating lock in: /var/folders/jy/<path>/T/jfrog.cli.temp.-1710339226-1608102647/locks/config
16:13:46 [Debug] Releasing lock: /var/folders/jy/<path>/T/jfrog.cli.temp.-1710339226-1608102647/locks/config/jfrog-cli.conf.lck.64966.1710339226107811000
16:13:46 [Debug] Config AddOrEdit command completed successfully. config file is released.
16:13:46 [Debug] Usage Report: Sending info...
16:13:46 [🔵Info] Running Frogbot "scan-repository" command
16:13:46 [Debug] Sending HTTP GET request to: https://<self-hosted-artifactory-url>/artifactory/api/system/version
16:13:46 [Debug] Sending HTTP GET request to: https://<self-hosted-artifactory-url>/xray/api/v1/system/version
16:13:46 [Debug] Sending HTTP POST request to: https://usage-ecosystem.jfrog.io/api/usage/report
16:13:47 [Debug] Setting timeout for go-git to 120 seconds ...
16:13:47 [Debug] Created temp working directory: /var/folders/jy/c6nnrtvj0cz984hsmmx46yr40000gq/T/jfrog.cli.temp.-1710339227-160679609
16:13:47 [Debug] Running git clone https://<self-hosted-bitbucket-url>/scm/<project>/<repo>.git (master branch)...
16:13:57 [Debug] JFrog Xray version is: 3.82.10
16:13:57 [Debug] Artifactory response: 200
16:13:57 [Debug] JFrog Artifactory version is: 7.68.13
16:13:57 [Debug] Sending HTTP POST request to: https://<self-hosted-artifactory-url>/artifactory/api/system/usage
16:13:58 [🚨Error] git clone master from https://<self-hosted-bitbucket-url>/scm/<project>/<repo>.git failed with error: authentication required

~ curl -u $JF_USER:$JF_GIT_TOKEN 'https://<self-hosted-bitbucket-url>/rest/api/latest/projects/<project>/repos/<repo>/branches' \
  --header 'Accept: application/json'
{"size":25, [...]}

Reproduction steps
No response
Expected behavior
No response
JFrog Frogbot version
2.19.10
Package manager info
Using binary from https://releases.jfrog.io/artifactory/frogbot/v2/[RELEASE]//frogbot-mac-386/frogbot
Git provider
Bitbucket Server
JFrog Frogbot configuration yaml file
No response
Operating system type and version
macOS 14.4
JFrog Xray version
3.82.10

Hi @kasadna,
Thank you for using Frogbot!
It appears that the JF_GIT_USERNAME environment variable (Username of the git provider account) is missing, which is mandatory for Bitbucket.
Please feel free to reach out if you have any further questions or encounter any issues.

Thanks for checking this! Could you add a check for the variable since it's mandatory as is JF_GIT_TOKEN?


Missing redirect for writing-middleware.html

This URL appears to have gotten lost in the shuffle of moving to an /en/ prefix, and now 404s without a redirect: http://expressjs.com/guide/writing-middleware.html
It should be redirecting to http://expressjs.com/en/guide/writing-middleware.html instead.

Thanks, @joepie91 .. Where did you see the link to http://expressjs.com/guide/writing-middleware.html?  AFAICT the nav. header links to http://expressjs.com/en/guide/writing-middleware.html.

There are many web sites still pointing to the URLs that were before the translation. I would expect it to redirect just like http://expressjs.com/guide/using-middleware.html does today.

Unless the writing middleware page didn't exist before the translation project happened?

Not sure whether it was there or not, but your point is still valid.  Didn't think that through.
Just an oversight afaik.
Fixed with 042b2412ef687e1ab6c7af6b4ef9f6bdde5e2655

It definitely did exist before the transition. I found out about this issue due to a reader of one of my Gists complaining about a dead link :)


Fix brew command in readme.me

The package manager is called Homebrew,
but its command line tool is 'brew'.

Oops, thanks!


Added option to disable webhooks

This mod introduces DISABLE_WEB_HOOKS parameter in [security] section
of app.ini (by default set to false). If set to true it disables web
hooks feature. Any existing undelivered web hook tasks will be cancelled.
Any existing web hook definitions will be left untouched in db but
its delivery tasks will be ignored.

Spelling fixed.

Codecov Report

Merging #13176 into master will decrease coverage by 0.02%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master   #13176      +/-   ##
==========================================
- Coverage   42.04%   42.01%   -0.03%
==========================================
  Files         681      683       +2
  Lines       75170    75233      +63
==========================================
+ Hits        31605    31611       +6
- Misses      38410    38454      +44
- Partials     5155     5168      +13

Impacted Files
Coverage Δ

modules/webhook/deliver.go
46.29% <0.00%> (-0.58%)
:arrow_down:

modules/webhook/webhook.go
44.26% <0.00%> (-0.74%)
:arrow_down:

routers/api/v1/api.go
78.92% <69.23%> (-0.44%)
:arrow_down:

routers/routes/routes.go
84.61% <75.00%> (-0.26%)
:arrow_down:

modules/setting/setting.go
46.12% <100.00%> (+0.11%)
:arrow_up:

modules/templates/helper.go
47.58% <100.00%> (+0.31%)
:arrow_up:

modules/convert/user.go
88.23% <0.00%> (-11.77%)
:arrow_down:

services/gitdiff/gitdiff.go
68.25% <0.00%> (-6.64%)
:arrow_down:

models/release.go
52.17% <0.00%> (-5.29%)
:arrow_down:

models/commit_status.go
62.06% <0.00%> (-3.34%)
:arrow_down:

... and 25 more

Continue to review full report at Codecov.

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

please resolve conflicts

Master merged to this PR.

@pboguslawski can you update again?

@pboguslawski can you update again?

Master merged to this PR.

Master merged to this PR.

@pboguslawski can you merge master into this and apply latest changes (look at 6433ba0ec3dfde67f45267aa12bd713c4a44c740 for more infos)

@pboguslawski can you merge master into this and apply latest changes (look at 6433ba0ec3dfde67f45267aa12bd713c4a44c740 for more infos)

@pboguslawski hope you dont mind if you could merge master into it/resolve conflicts

Master merged to this PR.

@pboguslawski need one update again :D

Just pressed update button on this page.


Can't install/build iohook 0.9.3

Expected Behavior
Correct installation
Current Behavior
Installing
npm install iohook --save

npm ERR! code 1
npm ERR! path C:\...\Project\node_modules\iohook
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node install.js
npm ERR! Downloading prebuild for platform: iohook-v0.9.3-node-v102-win32-x64
Downloading prebuild.tar.gz
npm ERR! Error: GET https://github.com/wilix-team/iohook/releases/download/v0.9.3/iohook-v0.9.3-node-v102-win32-x64.tar.gz returned 404
npm ERR! Prebuild for current platform (iohook-v0.9.3-node-v102-win32-x64) not found!
npm ERR! Try to build for your platform manually:
npm ERR! # cd node_modules/iohook;
npm ERR! # npm run build
npm ERR!
npm ERR! C:\...\Project\node_modules\iohook\install.js:16
npm ERR!   throw err;
npm ERR!   ^
npm ERR!
npm ERR! [Error: ENOENT: no such file or directory, open 'C:\Users\ADMINI~1\AppData\Local\Temp\prebuild.tar.gz'] {
npm ERR!   errno: -4058,
npm ERR!   code: 'ENOENT',
npm ERR!   syscall: 'open',
npm ERR!   path: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\prebuild.tar.gz'
npm ERR! }
npm ERR!
npm ERR! Node.js v17.4.0

npm ERR!      AppData\Local\npm-cache\_logs\2022-02-05T07_56_19_898Z-debug.log

Building
><EMAIL_ADDRESS>build
> node build.js --upload=false

Building iohook for node v17.4.0>>>>
node:events:498
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:\...\Project\node_modules\iohook\node_modules\.bin\node-gyp.cmd ENOENT
    at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
    at onErrorNT (node:internal/child_process:476:16)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (node:internal/child_process:289:12)
    at onErrorNT (node:internal/child_process:476:16)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'spawn C:\\...\\Project\\node_modules\\iohook\\node_modules\\.bin\\node-gyp.cmd',
  path: 'C:\\...\\Project\\node_modules\\.bin\\node-gyp.cmd',
  spawnargs: [
    'configure',
    'rebuild',
    '--target=17.4.0',
    '--arch=x64',
    '--v8_enable_pointer_compression=1',
    '--msvs_version=2017'
  ]
}

Node.js v17.4.0

Possible Solution
I would like to know
Steps to Reproduce (for bugs)
npm install iohook --save
npm run build
Context
I want to install iohook
Your Environment

IOHook Version: 0.9.3
Environment name and version (e.g. Chrome 39, node.js 5.4, electron 11.2): Chrome 98, node,js 17.4.0, electron 16.0.7
Operating System and version (desktop or mobile): Windows 10 64-bit

The instructions are a little unclear, to manually build for now you must manually clone the full iohook repo, then npm install and npm run build. You can then copy the built binaries into your project's own node_modules/iohook/builds.

@marcelblum Ok, with npm run build it successfully compiles the build node-v102-win32-x64, but exactly what I want is the build electron-v99-win32-x64.
I am trying to use the following command node build.js --runtime electron --version 16.0.7 --abi 99 from the Manual Build document in the repository and I am getting the following error:
Building iohook for electron v16.0.7>>>>
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp info find Python using Python version 3.10.2 found at "C:\Python310\python.exe"
gyp info find VS using VS2017 (15.9.28307.1778) found at:
gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"
gyp info find VS run with --verbose for detailed information
(node:10884) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
 System Windows_NT 10.0.19044
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "rebuild" "--target=16.0.7" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--v8_enable_pointer_compression=1" "--msvs_version=2017"
gyp ERR! cwd C:\Users\Administrator\Documents\PersonalProject\node_modules\iohook
gyp ERR! node -v v17.4.0
gyp ERR! node-gyp -v v7.1.2
gyp ERR! not ok
Error: Failed to build...
    at ChildProcess.<anonymous> (C:\Users\Administrator\Documents\PersonalProject\node_modules\iohook\build.js:188:23)

I'm skipping something?

Hmm possibly related to https://github.com/nodejs/node-gyp/issues/2534 looks like some kind of Node version conflict. I can build manually without this openssl_fips error on Windows 10 with Node 14.17.6, FWIW. Maybe try downgrading your Node version to latest LTS version 16.x.x?

Thanks to you, I was finally able to successfully build electron-v99-win32-x64, I hope I won't have any problems having Node v16.13.2 LTS instead of Node v17.4.0, thanks!

Same here, I'll try cloning repo, building it and copying.
npm ERR! Error: GET https://github.com/wilix-team/iohook/releases/download/v0.9.3/iohook-v0.9.3-node-v93-win32-x64.tar.gz returned 404
npm ERR! Prebuild for current platform (iohook-v0.9.3-node-v93-win32-x64) not found!
npm ERR! Try to build for your platform manually:

Got it built but it has an error about Could not find Keyboard Map.
Ran as admin as well just in-case.
Tried on USA and NZ keyboard languages.
PS C:\dev\ddcci\node> node main
refresh_locale_list [476]: GetKeyboardLayoutList(0, NULL) found 3 layouts.
refresh_locale_list [493]: Received 3 locales.
get_keyboard_layout_file [455]: RegOpenKeyEx failed to open key: "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00001409"!
refresh_locale_list [634]: Could not find keyboard map for locale<PHONE_NUMBER>090409!
load_input_helper [866]: refresh_locale_list() found 2 locale(s).

https://github.com/wilix-team/iohook/issues/58


Select PieInfo by tap on its label or icon

Right now the only way to select PieInfo is to tap on the chart itself. Can you invoke the selectListener by tapping label text and/or icon?

I think this feature can be added to the next version.

You may as well add option to the config to enable/disable it

Any news?

@victorlapin
sry~I have been maintaining BasePopup recently.So there is no time to maintain this repo.
I will continue to maintain this after the basepopup is released.

not continue.

now support that~
However, the new version has not been released yet, and will be released after other issues are completed.

Many thanks for your work. Can't donate, because I'm not a WeChat or QQ user...

Really sorry to bother you again, description labels are working good, but not icons?

work perfect in demo~

With this config icons without description labels are still not clickable:
AnimatedPieViewConfig()             .animatePie(true)             .drawText(true)             .canTouch(true)             .strokeMode(true)             .strokeWidth(8)             .duration(1000)             .startAngle(0F)             .textSize(32F)             .textMargin(8)             .splitAngle(0F)             .interpolator(DecelerateInterpolator())             .autoSize(true)             .pieRadiusRatio(1F)             .animOnTouch(true)             .focusAlphaType(AnimatedPieViewConfig.FOCUS_WITH_ALPHA_REV)             .focusAlpha(100)             .floatShadowRadius(4F)             .floatExpandSize(4F)             .typeFae(Typeface.create("sans-serif-condensed", Typeface.NORMAL))             .selectListener { pieInfo: UsagePieInfo, isFloatUp ->                 if (!pieInfo.appName.isNullOrEmpty() && isFloatUp) {                     Toast.makeText(context, pieInfo.appName, Toast.LENGTH_SHORT).show()                 }             }

okay~ got this bug
I create a branch to Recurring problem ：branch:issue_27
and I will fix it as soon as possible

pls update to 1.3.0


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/52961

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/53132

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/55172

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/55301

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/55329

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/57053

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/57189

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/63660


GithubCommand: Add url option

Adds a url option to allow using a full url too

What's the proposed use of this feature?

What's the proposed use of this feature? I don't really understand what problem it solves.

I’m kind of a fan of it tbh, it’s a tiny bit quicker and more convenient to copy the url instead of the PR number

What's the proposed use of this feature? I don't really understand what problem it solves.

I’m kind of a fan of it tbh, it’s a tiny bit quicker and more convenient to copy the url instead of the PR number

Yeah, mainly just nice to copy the url of the pr into the bot, it’s not necessary by any means, no.


Sequence regressor

We have sequence classifier, but it works only with discrete targets. We should do a decoder that would assign floats. Either as a mode of the sequence classifier, or as a separate decoder.

Done with #486.

Done with #413.


linux: handle when libuv allocates a file descriptor normally used by…

… stdio (#4558)
File descriptors 0 to 2 are used by stdio by default, but are not guaranteed to be in use by stdio, in which case one or more of them may get used by libuv.
For example, STDERR can be closed by passing 2>&- on the program command line in the shell. In which case, the file descriptor 2 would be used by libuv
libuv should handle this case without aborting

There may be other use cases not caught by this patch. It catches the case where uv_loop_init() is called first and results in the first file descriptor used by libuv

While I appreciate that you took the time to put together a pull request, I don't intend to merge it. The file descriptor check is very intentional.
Yes, technically fds 0-2 don't have to refer to stdio, but in practice they are and it's pretty much always a bug when they don't -sometimes a bug with security implications; think exfiltration of sensitive logging.
Robust programs should check at startup that fds 0-2 map to something reasonable and reopen them as /dev/null when they don't. Node.js does so, for example.
You can even make a case that the kernel, ld.so or libc should take care of that at startup but that's a discussion for another time.

@bnoordhuis that sounds very much like something that should be handled in nodejs though, and not in the libuv library, as that check has nothing to do with libuv's design or implementation, and everything to do with how the application uses it

To clarify my previous comment: it's precisely because most programs don't handle that, that libuv does (and libc should.)

@bnoordhuis I anticipated there may be some pushback.
I don't  disagree that this type of scenario is likely to potentially affect a number of programs, and
it would be bad practice for an application using STDERR to not verify it. Though perhaps common.
However, using STDERR is not required to encounter this problem with libuv. Programs not using STDERR at all can be affected. As illustrated in #https://github.com/libuv/libuv/issues/4558 Even the example program from the documentation can be used to reproduce the issue.
It seems cleaner for libuv to allow closing the fd that it allocated.
Otherwise, if the requirement is to remain, wouldn't it be better to detect and abort at allocation time rather than wait until closing the fd to abort? Though this would force all libuv users to ensure stdio fds are in use, regardless of whether the program will use them, before calling uv_loop_init()

FWIW that part of the docs was "inherited" and not all examples may reflect best practices.

wouldn't it be better to detect and abort at allocation time rather than wait until closing the fd to abort?

Yes, but that's a pretty intrusive change (lots of places where libuv creates file descriptors) whereas the current approach is good enough to catch most application bugs.
Plus, there are some use cases where it's reasonable to repurpose a stdio file descriptor, e.g., to redirect stderr or turn stdin into a stream. Libuv supports that (intentionally, not by accident) and with the scheme you're proposing, we'd have a hard time distinguishing between valid and invalid usage.
(uv_stream_t and friends are smart enough to not close fds <= 2 when the stream is closed, in case you're wondering.)


Bad behaviour on pinnedRight

Hello,
I've just seen that the new pinnedRight props behave badly when you drag and drop menus from right to left. It should not be able to go beyond the pinnedRight component.

Another thing I've noticed is that there's no limit to drag and drop, and that it can go beyond the container on the right and left.

Thanks for your work

Just released 2.4.5, trying to fix this issue. You can give it a try.

Superb improvement, but there's a drag that doesn't seem necessary and that goes looking for a border that can cause the tab to go under the button.
In my case this isn't a problem but I think that if it can be fixed it's not a bad thing.

Thanks again for making these fixes


Use cumulus package versions

serde_json = "1.0.96"
serde = "1.0.160"
hex-literal = "0.4.1"

Cumulus Companion: https://github.com/Snowfork/cumulus/pull/16

Should we also bump scale-info to 2.5.0 in snowbridge-router-primitives and snowbridge-inbound-queue? Looks like it's updated in the Cumulus PR

Should we also bump scale-info to 2.5.0 in snowbridge-router-primitives and snowbridge-inbound-queue? Looks like it's updated in the Cumulus PR
Nice catch! Added this in 595342e.


Include refinery version in metrics

Is your feature request related to a problem? Please describe.
When looking at metrics generated by Refinery, it would be useful to know which version of refinery was running. This would aid deployment cycles as it would be possible to see version numbers change.
Describe the solution you'd like
The events sent to Honeycomb to include the version as a field.
Describe alternatives you've considered
Additional context

This is already done for Honeycomb Metrics via the UserAgent


Full message dependencies

This PR makes the following changes:

expands the results about message dependencies, defining a dependency relation, its transitive closure (the happens-before relation), and several properties about them
Defines the FullMessageDependencies class corresponding to VLSMs which can compute the set encompassing all happens-before dependencies of a given message
Studies the relation between a sub-composition (the projection of a composition to a subset of nodes) and one of its components
Makes various improvements to existing results concerning equivocation.

@wkolowski Since you've blocked my PR until resolving class inference for HasBeen stuff, I obliged, although I was thinking this is a task more suitable for proof engineering experts like yourself and Karl. Please check the results in https://github.com/runtimeverification/vlsm/pull/6/commits/99d0b726729c5c3fea672b459f2343d4c3daec26
I think there are still some suggestions you left I haven't looked at, but I'll do them while you look over this bigger change.

There are too many forward proofs. I will continue reviewing tomorrow.

While I agree that there might be a lot of forward proofs, I would say this is outside the scope of this PR and I don't think that the mere fact that a refactoring touched a proof should automatically trigger a rewrite of that proof.  If you want, I don't mind you opening a PR where you take all the proofs in the VLSM repo and rewrite then to your satisfaction.


[DEV] adding orthoani_fastas param

Hey, as I mentioned on #3, I'm suggesting the creation of a param to take care of the fastas input on orthoani workflow. Here are my modifications suggesting that
I'm here to discuss these changes and make any modification requested and try new possibilities of implementing this parameter.
Hope we have a merge!
Kindly, Davi

Hey! I just found an typo on the yaml!


Consider using JsonPathSanitizers for sanitizing secrets in request/response body

Consider changing the logic from https://github.com/Azure/azure-sdk-for-net/blob/b9bd85cb2591f7c3f3c054f33f158e758056f1d3/sdk/storage/Azure.Storage.Common/tests/Shared/StorageRecordedTestSanitizer.cs#L59
to use JsonPathSanitizers.
More information: https://github.com/Azure/azure-sdk-for-net/blob/master/doc/dev/Track2TestFramework.md#sanitizing

FYI @tg-msft

Hi @maririos, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.


feat(component_interface_utils): add exceptions, relay, and synchronous service call

Signed-off-by: Takagi, Isamu<EMAIL_ADDRESS>Description
Add following features:

Exception that is automatically set to status if the response has status.
Macros to avoid redundant descriptions.
The function that relays cli/srv and pub/sub with the same type.
The service call function that waits for a result.

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@isamu-takagi I'm sorry, but could you explain it a bit more concretely? I couldn't understand the background well. :bow:

@kenji-miyake I updated the readme. Could you check it? This feature will be used in https://github.com/autowarefoundation/autoware.universe/pull/1431.
https://github.com/isamu-takagi/autoware.universe/tree/feature/update-component-interface-utils/common/component_interface_utils


Documentation feedback on /docs/index.rst

Documentation feedback

Page title: Installation
Page URL: https://cratedb.com/docs/crate/tutorials/en/latest/index.html
Source: https://github.com/crate/crate-tutorials/blob/master/docs/index.rst

I suggest to change the following sentence, since there is a typo in the word "required" and with CRFREE a free cluster is not limited to 30 days: "The easiest way to get started with CrateDB is to use a 30 day free CrateDB Cloud cluster, no credit card requrired."

Thank you @amotl. I've tried now here

Solved by https://github.com/crate/crate-tutorials/pull/105.


Smooth scrolling doesn´t work

Hi,
so, i'm having trouble with the smooth scrolling. I'm using this NavBar and as you can see, I am passing the prop smooth={true}. Despite of that, when I click any of the three sections, the scroll works but it isn´t smooth. Do you have any idea what might be happening?
Thanks

            <Link activeClass="active" to="section-1" spy={true} smooth={true} duration={1000} />
            QUIENES SOMOS

            <Link activeClass="active" to="section-2" spy={true} smooth={true} duration={500} />
            SERVICIOS

            <Link activeClass="active" to="section-3" spy={true} smooth={true} duration={500} />
            CONTACTO

Hi,
Hard to say, have you compared it to the examples?
https://codesandbox.io/s/basic-6t84k


Will FastAPI support QUERY http method? "app.query"

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from fastapi import FastAPI

app = FastAPI()

@app.query('/query/subjects')
def query_subjects(schema: ArbitrarySchema):
    with Session(engine) as db:
        subjects = db.query(Subject).all()
        return schema(**subjects)

# something like this

Description
There is a new HTTP method called QUERY, I discovered it this week and it is super interesting!
https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html
I was trying to make a GET route that would accept a request body, but started receiving an error on Swagger UI:
TypeError: Request has method 'GET' and cannot have a body
The idea is that sometimes we need to make a big or complex query, and this is the scenario in which we can see the advantages of GraphQL, and although I have seen that we can integrate FastAPI with GraphQL, I was wondering if FastAPI will ever be able to simply accept a QUERY method like, for example, app.query("/query/subjects").
For example, suppose I have this object:
{
   "id": 1,
   "name": "Math"
   "tags": [
       {
           "id": 1,
           "name": "Algebra",
           "number_of_clicks": 1,
           "number_of_questions": 7,
           "number_of_answers": 3,
           "number_of_comments": 2,
           "number_of_votes": 1,
       }]
   "topics": [
       {
           "id": 1,
           "name": "Linear Equations",
           "likes": 1,
           "dislikes": 0,
           "number_of_clicks": 1,
           "number_of_tutorials": 1,
           "number_of_questions": 7,
           "posts": [
               {
                   "id": 1,
                   "title": "How to solve linear equations?",
                   "likes": 1,
                   "dislikes": 0,
                   "number_of_clicks": 1,
                   "number_of_answers": 3,
                   "number_of_comments": 2,
                   "number_of_votes": 1,
                   "answers": [
                       {
                           "id": 1,
                           "content": "You can solve linear equations by using the substitution method.",
                           "likes": 1,
                           "dislikes": 0,
                           "number_of_clicks": 1,
                           "number_of_comments": 2,
                           "number_of_votes": 1,
                           "comments": [
                               {
                                   "id": 1,
                                   "content": "That's a great answer!",
                                   "likes": 1,
                                   "dislikes": 0,
                                   "number_of_clicks": 1,
                                   "number_of_votes": 1,
                               }"
                          ]
                       }
                   ]
               }
           ]
       }
   ]
}

I want the client to be able to QUERY this in any specific way, maybe he wants GET objects with this format
{
   "id": 1,
   "name": "Math"
   "tags": [
       {
           "id": 1,
           "name": "Algebra",
       }]
   "topics": [
       {
           "id": 1,
           "name": "Linear Equations",
       }
   ]
}

But it could be totally different, and I can't predict the way the client is gonna query it and make a new route for every combination and possible schema for a complex object. The QUERY route would accept a request body, and then we would filter the response with the schema the client sends on request body.

Would it be too complicated to implement this on FastAPI?
Is there any hope that this will someday be implemented in FastAPI? XD

Thanks!
Wanted Solution
...
Wanted Code
...

Alternatives
...
Operating System
macOS
Operating System Details
No response
FastAPI Version
A
Python Version
3.11
Additional Context
No response

Would it be too complicated to implement this on FastAPI?

Yes, This is an HTTP method. FastAPI is built on Starlette which itself depends on an ASGI server (like Uvicorn/Hypercorn/Gunicorn) which likely itself depends on a lib that parses http requests.
So FastAPI is the wrong place to be adding support for this.

Is there any hope that this will someday be implemented in FastAPI? XD

Maybe, but the HTTP Query Method is still only a proposal, not even yet an RFC. It would be unlikely for support to implemented until it is further along in the process (if t makes it that far).

Can't you do app.route("/", methods=["QUERY"])? I don't recall if it's not possible to do that...

@FilipeMarch Since QUERY methods is not standard (yet) you can use dataclasses/just classes with fastapi DI to add multiple query parameters, this won't work with nested models though:
@dataclasses.dataclass
class BookQueryParams:
    id: str | None = Query(None)
    title_like: str | None = Query(None)

@router.post("/")
async def books_search(query: BookQueryParams = Depends()):
    print(query)

Can't you do app.route("/", methods=["QUERY"])? I don't recall if it's not possible to do that...
(I'm on my phone)

@Kludex You get a
WARNING:  Invalid HTTP request received.
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 132, in data_received
    self.parser.feed_data(data)
  File "httptools/parser/parser.pyx", line 212, in httptools.parser.parser.HttpParser.feed_data
httptools.parser.errors.HttpParserInvalidMethodError: Invalid method encountered

And with h11? (Just uninstall httptools)

Ah yes with httptools removed you can use
@app.api_route("/", methods=["QUERY"])

without issue. The more you know!


Add education and external activities to the weekmail

It would be nice to chose education or external activities next to the normal activities to be added to the weekmail. (Including corresponding coloring in the template)

Pointer: If I am not mistaken there is a superclass to all types of activities called "Event", you might be able to use this to abstract between the different activities.

Duplicate of #72


feat: :sparkles: Add support for right side trigger keys

Add support for Right Alt/Shift/Ctrl as the trigger key.
Fixes #36

Lol, I wanted to do the same thing but didn't get round to doing it sooner.

Yeah I am currently going through all issues and fix the ones that are rather short.
But thanks nonetheless for helping me with the Issues. I really appreciate that.

I left some comments in the places I've been to today. hope that helps


Is it possible to use RRT exploration on ROS noetic?

I would like to use the RRT exploration on ROS noetic, but my mobile robot is not moving anymore. Before I started with noetic I used ROS melodic and evertyhing was great. Is there another issue beside the difference between python 2.7 and python 3. What could create the problem by switching to python 3?
I did an investigation in the filter.py with the debugger in visual code and realized that the centroids array can not save the data from ms.cluster_centers_ (dtype = float64) in the array. Thats why the centroids array is empty and causes issues.
    while not rospy.is_shutdown():
        # -------------------------------------------------------------------------
        # Clustering frontier points
        centroids = []
        front = copy(frontiers)
        if len(front) > 1:
            ms = MeanShift(bandwidth=0.3)
            ms.fit(front)
            centroids = ms.cluster_centers_  # centroids array is the centers of each cluster

        # if there is only one frontier no need for clustering, i.e. centroids=frontiers
        if len(front) == 1:
            centroids = front
        frontiers = copy(centroids)

What could be the solution for that?
Thank you very much! I appreciate your help!

The robot is moving right now, I fixed the issue. Could somebody please verify my solution?
What I only did was to change the filter.py code.
old filter.py:
while z < len(centroids):
cond = False
temppoint.point.x = centroids[z][0]
temppoint.point.y = centroids[z][1]
      for i in range(0, n_robots):

          transformedPoint = tfLisn.transformPoint(
              globalmaps[i].header.frame_id, temppoint)
          x = array([transformedPoint.point.x, transformedPoint.point.y])
          cond = (gridValue(globalmaps[i], x) > threshold) or cond
      if (cond or (informationGain(mapData, [centroids[z][0], centroids[z][1]], info_radius*0.5)) < 0.2):
          centroids = delete(centroids, (z), axis=0)
          z = z-1
      z += 1

-------------------------------------------------------------------------
publishing
  arraypoints.points = []
  for i in centroids:
      tempPoint.x = i[0]
      tempPoint.y = i[1]
      arraypoints.points.append(copy(tempPoint))
  filterpub.publish(arraypoints)
  pp = []
  for q in range(0, len(frontiers)):
      p.x = frontiers[q][0]
      p.y = frontiers[q][1]
      pp.append(copy(p))
  points.points = pp
  pp = []
  for q in range(0, len(centroids)):
      p.x = centroids[q][0]
      p.y = centroids[q][1]
      pp.append(copy(p))
  points_clust.points = pp
  pub.publish(points)
  pub2.publish(points_clust)
  rate.sleep()

new filter.py:
while z < len(centroids):
cond = False
temppoint.point.x = centroids[z][0]
temppoint.point.y = centroids[z][1]
        for i in range(0, n_robots):

            transformedPoint = tfLisn.transformPoint(
                globalmaps[i].header.frame_id, temppoint)
            x = array([transformedPoint.point.x, transformedPoint.point.y])
            cond = (gridValue(globalmaps[i], x) > threshold) or cond
        if (cond or (informationGain(mapData, [centroids[z][0], centroids[z][1]], info_radius*0.5)) < 0.2):
            centroids = delete(centroids, (z), axis=0)
            z = z-1
        z += 1

-------------------------------------------------------------------------
publishing
          arraypoints.points = []
          for i in centroids:
              tempPoint.x = i[0]
              tempPoint.y = i[1]
              arraypoints.points.append(copy(tempPoint))
          filterpub.publish(arraypoints)
          pp = []
          for q in range(0, len(frontiers)):
              p.x = frontiers[q][0]
              p.y = frontiers[q][1]
              pp.append(copy(p))
          points.points = pp
          pp = []
          for q in range(0, len(centroids)):
              p.x = centroids[q][0]
              p.y = centroids[q][1]
              pp.append(copy(p))
          points_clust.points = pp
          pub.publish(points)
          pub2.publish(points_clust)
          rate.sleep()

Finally the problem was that the publishing code do not get any centroid data after the while loop. Therefore the assigner could not send any move action to the mobile robot.

Could you make it a pull request ?

My robot is not moving even after this change also, nothing gets printed on the terminal after "the map and global costmaps are received". Can you help?

i

My robot is not moving even after this change also, nothing gets printed on the terminal after "Waiting for the robot transform". Can you help? @SinanK94

i meet the same situation,it is also not moving

What is the last thing that gets printed on terminal

I solved this problem by referring to pull requests and issues.
Some of the code may be unrelated, but I will let you know about all the files I modified.
filter.py
def globalMap(data):
    global global1, globalmaps, litraIndx, namespace_init_count, n_robots
    global1 = data
    if n_robots > 1:
        indx = int(data._connection_header['topic']
                   [litraIndx+1])-namespace_init_count
    elif n_robots == 1:
        indx = 0
    globalmaps[indx] = data

>>line204
while z < len(centroids):
            cond = False
            temppoint.point.x = centroids[z][0]
            temppoint.point.y = centroids[z][1]

            for i in range(0, n_robots):

                transformedPoint = tfLisn.transformPoint(
                    globalmaps[i].header.frame_id, temppoint)
                x = array([transformedPoint.point.x, transformedPoint.point.y])
                cond = (gridValue(globalmaps[i], x) > threshold) or cond
            if (cond or (informationGain(mapData, [centroids[z][0], centroids[z][1]], info_radius*0.5)) < 0.2):
                centroids = delete(centroids, (z), axis=0)
                z = z-1
            z += 1

# -------------------------------------------------------------------------
# publishing
            arraypoints.points = []
            for i in centroids:
                tempPoint.x = i[0]
                tempPoint.y = i[1]
                arraypoints.points.append(copy(tempPoint))
                filterpub.publish(arraypoints)
                pp = []
            for q in range(0, len(frontiers)):
                p.x = frontiers[q][0]
                p.y = frontiers[q][1]
                pp.append(copy(p))
                points.points = pp
                pp = []
            for q in range(0, len(centroids)):
                p.x = centroids[q][0]
                p.y = centroids[q][1]
                pp.append(copy(p))
                points_clust.points = pp
                pub.publish(points)
                pub2.publish(points_clust)
            rate.sleep()

functions.py
def point_of_index(mapData, i):
    y = mapData.info.origin.position.y + \
        (i//mapData.info.width)*mapData.info.resolution
    x = mapData.info.origin.position.x + \
        (i-(i//mapData.info.width)*(mapData.info.width))*mapData.info.resolution
    return array([x, y])

def informationGain(mapData, point, r):
    gain = 0
    resolution = mapData.info.resolution
    width = mapData.info.width
    map_min_x = mapData.info.origin.position.x
    map_min_y = mapData.info.origin.position.y
    center_x = int(floor((point[0] - map_min_x) / resolution))
    center_y = int(floor((point[1] - map_min_y) / resolution))
    r_int = int(r / resolution)
    for idx_y in range(center_y - r_int, center_y + r_int + 1):
        for idx_x in range(center_x - r_int, center_x + r_int + 1):
            idx = idx_y * width + idx_x
            # skip grids out of map
            if idx < 0 or idx >= len(mapData.data):
                continue
            if mapData.data[idx] == -1:
                gain += 1
    return gain * resolution ** 2

src/function.cpp
int8_t ObstacleFree(std::vector<float> xnear, std::vector<float> &xnew, nav_msgs::OccupancyGrid mapsub) {
    float rez = float(mapsub.info.resolution) * 0.2;
    float stepz = int(ceil(Norm(xnew, xnear)) / rez);
    std::vector<float> xi = xnear;
    int8_t obs = 0;
    int8_t unk = 0;

    geometry_msgs::Point p;
    for (int c = 0; c < stepz; c++) {
        xi = Steer(xi, xnew, rez);

        if (gridValue(mapsub, xi) == 100) {
            obs = 1;
        }

        if (gridValue(mapsub, xi) == -1) {
            unk = 1;
            break;
        }
    }

    int8_t out = 0;
    xnew = xi;
    if (unk == 1) {
        out = -1;
    } else if (obs == 1) {
        out = 0;
    } else {
        out = 1;
    }

    return out;
}

functions.h
int8_t ObstacleFree(std::vector<float> , std::vector<float> & , nav_msgs::OccupancyGrid);

global_rrt_detector.cpp & local_rrt_detector.cpp
int8_t   checking=ObstacleFree(x_nearest,x_new,mapData);