need to add support for headers

[ ] need custom headers
[ ] need content-type headers
[ ] need auth headers

For custom headers, this will start off the implementation of the custom option for custom request parameters/headers. It will be a cascading object like so:
{
  "headers": { "global": "header"},
  "/pet": {
    "headers": { "path-global": "header" },
    "get" : { "headers": { "operation-global": "header" } }
  }
}

A test for GET /pet would have the following headers
{
  "global": "header",
  "path-level": "header",
  "operation-level": "header"
}

But a test for POST /pet would have headers:
{
  "global": "header",
  "path-level": "header"
}

And a test for GET /user (in the same spec) would have headers:
{
  "global": "header"
}

The consumes / Content-Type & produces / Accepts headers will follow their OpenAPI spec sections. Cascading from top level and overridden at the operation level if defined. In order to resolve supporting multiple consumes/produces options consumes & produces will be exposed to pick 1 for each flag to resolve to if the operation/global property exists.

@baynezy @Remco75 thoughts?

I'm having a hard time figuring out how to resolve multiple conumes/produces values without creating n C k tests...I'd rather make it more focused and not opt to generate too many tests.

@noahdietz - ultimately you are going to have to create tests for the permutations that people stipulate.
I'll have a think about the format and comment shortly.

I think if you want to allow customisation at every level then you will end up with something like this:-
{
    "custom": {
        "global": {
            "headers": {
                "X-Token": "hjfjdstar"
            }
        },
        "path": {
            "/pet": {
                "headers": {
                    "X-Forwared-For": "<IP_ADDRESS>"
                },
                "get": {
                    "headers": {
                        "Vary": "Accept"
                    },
                    "200": {
                        "headers": {
                            "X-User": "baynezy"
                        }
                    }
                }
            }
        }
    }
}

Maybe it is only necessary to support the inner most initially.

I ended up going with the scoping from my example (essentially the same as baynezy's but without the "path", "global" and "custom" keys, they are assumed by position) and adding the response code level as well (I was missing that from my original proposal).


Reduce dependencies on I18nRenderer

I want to be able to change the SmartAnswer::QuestionPresenter to use the SmartAnswer::ErbRenderer instead of the SmartAnswer::I18nRenderer and so anything I can do to reduce the dependencies on the I18nRenderer will make this easier.

I've left a couple of small comments but in general this looks good to me.

I've addressed @chrisroos' suggestions, rebased against master and force-pushed in preparation for merging.


Wrong documentation on crudkit.com

I managed to get crudkit to work, but there are, in my opinion, some serious documentation errors on crudkit.com in the section How does it work.

Instead of use CrudKit\MySQLTablePage; use CrudKit\Pages\MySQLTablePage;
Constructor of MySQLTablePage requires at least 4 arguments. new MySQLTablePage ("page_id", "username", "password", "database"); instead of new MySQLTablePage ("john", "hunter2", "mydb");
A mySQL page requires a summary collumn ->setSummaryColumns(array("column1", "column2"))

I don't know wheter these things are bugs in the code and the demo should work, or the documentation is wrong indeed.

Yes, you're right. Thank you for pointing this out. I'm fixing and updating the documentation.

Now I remember why this error came up. I actually built the website first and wrote some preliminary docs before actually jumping into the code (because I'd procrastinate doing the docs and do code instead).
As a result, some initial "mockups" of how the code should look was stuck on the homepage. I've updated the homepage.


Minor house-keeping to get install a bit further along

#1301 is probably addressed by this change.

The CI failure didn't seem caused by the change (nor is it particularly informative)


[Bug] Upload Field Inside Relationship Field Not Working Correctly

Bug report
What I did
I am using relationship field to create contracts for my projects. Every contract has a multiple upload field:
CRUD::addFields([
    [
        'name' => 'name',
        'type' => 'text',
    ], [
        'name' => 'contracts',
        'type' => 'relationship',
        'subfields' => [
            [
                'name'  => 'name',
                'type'  => 'text',
            ], [
                'name'  => 'attachments',
                'type'  => 'upload_multiple',
                'withFiles' => [
                    'disk' => 'projects',
                ],
            ]
        ],
    ],
]);

I wanted to attach files to one of the added contracts:

What I expected to happen
Uploaded files should be attached to one contract only.
What happened
When I saved the form, the uploaded files were attached to all of the contracts.

What I've already tried to fix it
??
Is it a bug in the latest version of Backpack?
After I run composer update backpack/crud the bug... is it still there?
Yes
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
PHP VERSION:
8.2.22
LARAVEL VERSION:
<IP_ADDRESS>
BACKPACK PACKAGE VERSIONS:
backpack/basset: 1.3.6
backpack/crud: 6.7.41
backpack/generators: v4.0.7
backpack/pro: 2.2.22
backpack/theme-tabler: 1.2.15

Hey @misiekch
I can confirm the bug. We have a PR ready that fixes uploader-related issues, but the fix leads to breaking changes.
Thus, We'll be launching Backpack v7, hopefully at the end of this month or next, which will cover uploader fixes and many other features/fixes that require breaking changes.


Method getQueryStringParameters

Could you please add a page dedicated to method getQueryStringParameters ? This works in the latest version of Dynamics both classic and unified interface, but it's not documented here. Thanks in advance!

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

ID: fbd23ccf-3f1a-9e76-f702-1c6bbf53692d
Version Independent ID: 8f0e77d5-e1c8-6427-8966-df05a2f53e8c
Content: getGlobalContext (Client API reference) in model-driven apps - PowerApps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/Xrm-Utility/getGlobalContext.md
Service: powerapps
GitHub Login: @KumarVivek
Microsoft Alias: kvivek

@timothybohte Thanks for the feedback. I'll check with the dev team if this is the case and then update accordingly.

@timothybohte Thanks for the feedback. getQueryStringParameters() method is deprecated and it is recommended to use formContext.data.attributes method.

Thanks for contacting us. As we haven’t heard back from you, I am closing this issue. If you need further help, please reopen the issue or open a new issue.


Facts and checks

Partial implementation for facts and checks
Opening this now for initial feedback.

Closed in favour of https://github.com/backstage/backstage/pull/7679


Add language_graphql.lua

Add syntax highlighter for GraphQL

Would you mind adding this as a dependency of meta_languages (and bumping its version too).

Done!

Looks good, thank you!


macos - handle scaling

On macos, the scaling gesture uses 2 fingers without pressing on the pad.
The current code effectively requires a finger press in order to start tracking finger motion.
This is fine for dragging but not scaling.

Due to the limitation of Flutter (Listener component),  the scaling detects function will not work correctly with the touchpad device.
I cannot do anything about this. Hope you will find a solution soon.


Allow Categorical Color Specification for grouping values at each level

This would be specified in groupedOutputs such that each grouping level can have api designer specified colors.


Not getting correct poll information if not connected

Description
Not sure if this happened often, but sometimes if I didn't connect my wallet and sign up, it would always be "voting is ended".

Description Not sure if this happened often, but sometimes if I didn't connect my wallet and sign up, it would always be "voting is ended".

so if you connect your wallet you will see this info (I can) no need to signup. this is because it interacts with the chain here: https://github.com/privacy-scaling-explorations/maci-rpgf/blob/main/src/contexts/Maci.tsx#L280
eventually we can start using a subgraph for this so no need to be connected


question

hi.
Usage: node checker [IP Block] [IP Address] [Check Interval]
What are recommended to type of "Check Interval"
And what with IP Block/IP Address?
There are no "example output" on your README! :'(
You should update README better
What shall I add here (as example)

The check interval is the number of seconds it will pause before querying the API for the mitigation status again. I personally used 5 seconds when I utilized this repo last.
The path is based on the following API call with the OVH API:
https://api.ovh.com/console/#/ip/{ip}/mitigation/{ipOnMitigation}#GET
So you should grant a GET call to /ip/{ip}/mitigation/{ipOnMitigation}, replacing the {ip} and {ipOnMitigation} with the IP address you'd like to query the mitigation status for.
It's been a while since I've used the OVH API, so I cannot recall its exact behavior when mitigation is active however when an IP address is on permanent mitigation, the mitigation mode will be set to 'auto' in the JSON response. However, when the IP address is in forced mitigation mode (under attack), both 'auto' and 'permanent' JSON values are set to 'true'.
This is what the script will check for before deciding an IP address is under attack and sending a Discord alert.


8.0.4 weird issue with firefox & query parameters in the url

Bug report
there seems to be a regression in 8.0.4 specifically for newer versions of Firefox relating to next/router code
Describe the bug
when landing on a page that contains query parameters, the browser becomes "locked" to that page and programmatically or manually navigating to a different same-domain page insta-redirects back to the original. note that this does not start happening until a query parameter is involved in the url, totally bizarre
System information

OS: macOS
Browser (if applies) firefox 66
Version of Next.js: 8.0.4

Additional context
Downgrading to 8.0.3 fixes this issue, so it's definitely something in nextjs. The two ways my (private) project moves between pages is typical anchor links and using window.location.assign.

Probably related to #3817 and #6630

Yeah #6630 looks to probably be it. Can we revert?

It has been reverted, thanks for the info 👍

@Timer @ijjk @timneutkens folks, when about are you planning to release the next stable version? If it's still at least a few days away, WDYT of marking next 8.0.3 on npm as latest instead of 8.0.4? Otherwise, lot of folks are downloading a version that has a pretty serios issue on FF, one of the most popular browsers 😬

@kachkaev we're using 8.0.3 on a project and got the same issue - but i'm with you, that this issue is serious

Released in 8.1

It would be nice to have this revert with on a 8.0.5 version since moving to version 8.1 has some problems with IOS9 :(


Update desktop-enter-data-directly-into-desktop.md

Update the steps regarding how to modified the entered data.This can make it more easy for Power BI beginner to manager their data.

@jessica-seiya : Thanks for your contribution! The author, @davidiseminger, has been notified to review your proposed change.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

powerbi-docs/desktop-enter-data-directly-into-desktop.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Microsoft authors of articles need to make updates through the private repository so the updates can be staged and validated by the current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
Public repo URL: https://github.com/Microsoft/azure-docs/blob/master/articles/azure-portal-overview.md
Private repo URL: https://github.com/Microsoft/azure-docs-pr/blob/master/articles/azure-portal-overview.md
We have closed this pull request. Please resubmit the updates through the private repo. If you need perms to the private repo, see the contributor guide instructions

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

powerbi-docs/desktop-enter-data-directly-into-desktop.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


how to bind event in this slider

how to bind the event in this slider ?
specially when slider stops sliding.

+1
Having the same problem. With a watcher I throw an event with every movement and I need the end value when it stops sliding.

Solved by using the angular directive attribute ng-mouseup.

There is an attribute called on-handle-up that calls the function you designate when the handle is released.
https://github.com/danielcrisp/angular-rangeslider#-attributes


Move Device Rest out of holding

This PR is for collecting feedback for moving the device-rest-go out of holding. Replaces previous PR that was closed due to rebasing issue.
What types of device are supported?
Devices, that use REST to send information
What protocol features are supported / likely to be supported in future.
REST
What limitations does the existing implementation have.
Doesn't support commanding, only async readings
What hardware and software has it been tested against.
Linux and Windows X86
What release of EdgeX is this intended for?
Fuji 1.1.0

@tonyespy last response on previous PR

@tonyespy, see my responses below.

Here's my review, but I'm not explicitly approving until we have agreement on how and what needs to be resolved (and whether we just open issues for each). Without further adieu, here are my comments:

The first commit "Create README.md" lacks signoff

Not sure how this happened. Strange that it is verified, but not signed-off ... Not sure how to fix this since unable to use rebase due to this being the very first commit.

$ git rebase -i --root

The code seems to be pretty light with respect to comments... [nit]

I feel the code is written in a way that it can be understood without a bunch of comments.

I think there are some parts of the code that aren't entirely obvious, but I'm not going to hold up the PR for this.

REST Endpoints

devices are not defined in device profiles and the configuration.toml. A device profile describes a class of devices. Also device is a standard model and can be added via REST calls to Core Metadata, via a go SDK function/method, or via configuration.

How about something like: _refers to the device name of the device profile to use.

That's still not quite right. In this case, deviceName simply refers to the device managed by this device service.

I thought we were trying to move away from sending or receiving just strings (or other types) and wanted to move towards have requests and responses. The endpoint here seems to just accept a string (any length restriction) or a binary blob. If we're not going to pass a request object, then I think at minimum we should require a Content-Header (e.g. image/jpeg).

There isn't a know request object. What would we do with the Content-Header if we required it. The main usage of this DS in our use cases is to send in JSON strings.

Sure, but you're also providing binary support, and I think having the incoming endpoint accept an arbitrary binary payload as a POST request without a Content-Header isn't especially wise (i.e. and would seem ripe for a targeted attack). As for what we could do with it? You could ensure that it matches the MediaType of the given device resource, and if not return an error.
For string POST requests, the Content-Header should probably be required to be set as "text/plain".

Configuration

This says you can send JSON data, binary data or number (numeric?) data. This seems confusing because the previous section says you can send text or binary data.

In the note just above Configuration it explains that The text is casted to the specific type of the specified device resource once it passes type validation.

I'm just saying there really are two data types supported for import using this endpoint, string and binary, with the former having support for casting to the native non-binary data types supported by EdgeX. In your configuration sample-json and sample-numbers, both are examples that support an POST specifying a string, which is cast to one of the native types, so that's why having three profiles is a slightly bit confusing. That said I'm willing to punt on this one. If you do keep them, I still would suggest re-naming sample-json to sample-string.

Why does DeviceList.Protocols.other need to specified?

Because SDK is requiring something under DeviceList.Protocols. Gives an error if I don't have it.

Ugh, OK. Does this end up generating the real string "other" in the ProtocolProperties map? If so, seems a bit superfluous (i.e. it's not really used for anything).

Device Profile

do these device profiles work w/out Core Commands defined? I seem to recall a requirement that device profiles always include this section?

Yes. DeviceCommands is required, but CoreCommands is not.

OK

In sample-binary, how come the PostBinary resource command only defines a "get" operation? I thought reads weren't supported?

This is how DeviceCommands work. It is getting the data from the device. It throw me off at first also. Same in the other device profiles.

Well you could re-name the device command to GetBinary. But when a new incoming value is pushed to the service via REST, the deviceResource name is what gets inserted into the new Reading right? In this case, the fact that there's a corresponding device command is not really accomplishing anything here... I know @iain-anderson had proposed some additional device profile simplifications, but I'm not sure we've committed to do these for Geneva. Let's bring this up at next week's WG meeting.

Attribution.txt doesn't seem to match up with the 3rd party packages used by this device service. Also while looking at this, it appears that the sample Attribution.txt in device-sdk-go hasn't been kept up to date, and I'm not sure how a device service developer is supposed to know they're required to ship this file with any binary distribution of a device service.

I reran the ./bin/test-attribution-txt.sh script and it doesn't identify anything missing. What to you see wrong? As for the SDK, there is an issue I created for this (edgexfoundry/device-sdk-go#399) which has been addressed.

I have to admit, I wasn't aware of the existence of test-attribution-txt.sh, so I didn't realize this file was auto-generated and in fact recursively walked all of the dependencies. I'll discuss @anonymouse64, as maybe it would be a good idea to add a "# auto-generated by test-attribution-txt.sh; DO NOT EDIT to the top of each auto-generated Attribution.txt file.

Dockerfile - doesn't include the LICENSE or Attribution.txt

Licence is in header and a lable on image: LABEL license='SPDX-License-Identifier: Apache-2.0' \ copyright='Copyright (c) 2019: Intel'
What are you expecting for Attribution.txt?

First, many license still require the license text to be included in any binary distribution, so while you've identified the docker image as containing software licensed under Apache 2.0, you haven't included the license file itself. This may not be required by Apache 2.0, but in general it's good practice. In the snaps, we always copy Attribution.txt and LICENSE to /usr/share/doc// similar to the way debian packages work.

cmd/main.go - use of bootstrap precludes usage of SetOverwriteConf method

This is how latest device-mqtt's & device-virtual's main work. How should it work? @cloudxxx8 ??

The SetOverwriteConf was just recently merged into device-sdk-go, and released as 1.1.1. For Geneva, in theory we have the freedom to break the API and will add an overwrite-conf parameter to NewService and maybe even startup.Bootstrap. @cloudxxx8 is there an issue to track this change for Geneva.

driver/restdriver.go

code lines are long, why wrap the godoc?

I have NP wrapping code. Wrapped comments for readability.

OK, looks a bit odd, which is why I mentioned it. It passes gofmt, so let's leave as is.

@tonyespy , last response on this thread on previous PR

First, there's some misunderstanding about the PR for moving a repository from the edgex-holding organization to the edgexfoundry organization. Using a PR gives us to things:

it allows us to record comments and actual approval from one (or ideally more) project developers. Ideally once moved, the -holding repository is archived, but this review PR (and the reviewers's approval and comments are still available for historic purposes.

it allows the submitter to provide some basic information to the reviewers as described by our current process for moving a new device service out of holding. Think of this like a PR description that you'd like someone to return. The information asked for every new service includes:

What types of device are supported.
What protocol features are supported / likely to be supported in future.
What limitations does the existing implementation have.
What hardware and software has it been tested against.
What release of EdgeX is this intended for?

I also don't think this PR should be used to propose changes to the service either (i.e. there should be no commits associated with this PR).

@tonyespy , Are you expecting separate PR(s) for addressing this PR's feedback?

No, I think the review PR should have a single empty commit which just says something like:
Move repo to github.com/edgexfoundry
If you address comments in the PR review, just commit them to master, push them directly, then re-base this PR (which is easy as there no changes to the tree) and force-push it.

That seems a bit strange and disconnected to me... Also, current process is to move the repos from holding, not archive them. Thus once they are in the main org, the history from holding is retained.

Ah OK, I wasn't exactly sure that's what happened. If so, then it's ideal as the empty move commit will exist, and the PR history will be preserved too.

@tonyespy 's last response on this thread on previous PR

First, there's some misunderstanding about the PR for moving a repository from the edgex-holding organization to the edgexfoundry organization. Using a PR gives us to things:

it allows us to record comments and actual approval from one (or ideally more) project developers. Ideally once moved, the -holding repository is archived, but this review PR (and the reviewers's approval and comments are still available for historic purposes.

it allows the submitter to provide some basic information to the reviewers as described by our current process for moving a new device service out of holding. Think of this like a PR description that you'd like someone to return. The information asked for every new service includes:

What types of device are supported.
What protocol features are supported / likely to be supported in future.
What limitations does the existing implementation have.
What hardware and software has it been tested against.
What release of EdgeX is this intended for?

I also don't think this PR should be used to propose changes to the service either (i.e. there should be no commits associated with this PR).

@tonyespy , Are you expecting separate PR(s) for addressing this PR's feedback?

No, I think the review PR should have a single empty commit which just says something like:
Move repo to github.com/edgexfoundry
If you address comments in the PR review, just commit them to master, push them directly, then re-base this PR (which is easy as there no changes to the tree) and force-push it.

That seems a bit strange and disconnected to me... Also, current process is to move the repos from holding, not archive them. Thus once they are in the main org, the history from holding is retained.

Ah OK, I wasn't exactly sure that's what happened. If so, then it's ideal as the empty move commit will exist, and the PR history will be preserved too.

Ok, I'll make all the PR feedback changes directly against master

@tonyespy 's last response on this thread on previous PR

@tonyespy, see my responses below.

Here's my review, but I'm not explicitly approving until we have agreement on how and what needs to be resolved (and whether we just open issues for each). Without further adieu, here are my comments:

The first commit "Create README.md" lacks signoff

Not sure how this happened. Strange that it is verified, but not signed-off ... Not sure how to fix this since unable to use rebase due to this being the very first commit.

$ git rebase -i --root

The code seems to be pretty light with respect to comments... [nit]

I feel the code is written in a way that it can be understood without a bunch of comments.

I think there are some parts of the code that aren't entirely obvious, but I'm not going to hold up the PR for this.

REST Endpoints

devices are not defined in device profiles and the configuration.toml. A device profile describes a class of devices. Also device is a standard model and can be added via REST calls to Core Metadata, via a go SDK function/method, or via configuration.

How about something like: _refers to the device name of the device profile to use.

That's still not quite right. In this case, deviceName simply refers to the device managed by this device service.

Device service can manage multiple devices So it is more than device managed by this device service.

I thought we were trying to move away from sending or receiving just strings (or other types) and wanted to move towards have requests and responses. The endpoint here seems to just accept a string (any length restriction) or a binary blob. If we're not going to pass a request object, then I think at minimum we should require a Content-Header (e.g. image/jpeg).

There isn't a know request object. What would we do with the Content-Header if we required it. The main usage of this DS in our use cases is to send in JSON strings.

Sure, but you're also providing binary support, and I think having the incoming endpoint accept an arbitrary binary payload as a POST request without a Content-Header isn't especially wise (i.e. and would seem ripe for a targeted attack). As for what we could do with it? You could ensure that it matches the MediaType of the given device resource, and if not return an error.
For string POST requests, the Content-Header should probably be required to be set as "text/plain".

Configuration

This says you can send JSON data, binary data or number (numeric?) data. This seems confusing because the previous section says you can send text or binary data.

In the note just above Configuration it explains that The text is casted to the specific type of the specified device resource once it passes type validation.

I'm just saying there really are two data types supported for import using this endpoint, string and binary, with the former having support for casting to the native non-binary data types supported by EdgeX. In your configuration sample-json and sample-numbers, both are examples that support an POST specifying a string, which is cast to one of the native types, so that's why having three profiles is a slightly bit confusing. That said I'm willing to punt on this one. If you do keep them, I still would suggest re-naming sample-json to sample-string.

Why does DeviceList.Protocols.other need to specified?

Because SDK is requiring something under DeviceList.Protocols. Gives an error if I don't have it.

Ugh, OK. Does this end up generating the real string "other" in the ProtocolProperties map? If so, seems a bit superfluous (i.e. it's not really used for anything).

Device Profile

do these device profiles work w/out Core Commands defined? I seem to recall a requirement that device profiles always include this section?

Yes. DeviceCommands is required, but CoreCommands is not.

OK

In sample-binary, how come the PostBinary resource command only defines a "get" operation? I thought reads weren't supported?

This is how DeviceCommands work. It is getting the data from the device. It throw me off at first also. Same in the other device profiles.

Well you could re-name the device command to GetBinary. But when a new incoming value is pushed to the service via REST, the deviceResource name is what gets inserted into the new Reading right? In this case, the fact that there's a corresponding device command is not really accomplishing anything here... I know @iain-anderson had proposed some additional device profile simplifications, but I'm not sure we've committed to do these for Geneva. Let's bring this up at next week's WG meeting.

Correct, name doesn't matter. The async channel uses the command . I get error if it isn't a get.

Attribution.txt doesn't seem to match up with the 3rd party packages used by this device service. Also while looking at this, it appears that the sample Attribution.txt in device-sdk-go hasn't been kept up to date, and I'm not sure how a device service developer is supposed to know they're required to ship this file with any binary distribution of a device service.

I reran the ./bin/test-attribution-txt.sh script and it doesn't identify anything missing. What to you see wrong? As for the SDK, there is an issue I created for this (edgexfoundry/device-sdk-go#399) which has been addressed.

I have to admit, I wasn't aware of the existence of test-attribution-txt.sh, so I didn't realize this file was auto-generated and in fact recursively walked all of the dependencies. I'll discuss @anonymouse64, as maybe it would be a good idea to add a "# auto-generated by test-attribution-txt.sh; DO NOT EDIT to the top of each auto-generated Attribution.txt file.

Dockerfile - doesn't include the LICENSE or Attribution.txt

Licence is in header and a lable on image: LABEL license='SPDX-License-Identifier: Apache-2.0' \ copyright='Copyright (c) 2019: Intel'
What are you expecting for Attribution.txt?

First, many license still require the license text to be included in any binary distribution, so while you've identified the docker image as containing software licensed under Apache 2.0, you haven't included the license file itself. This may not be required by Apache 2.0, but in general it's good practice. In the snaps, we always copy Attribution.txt and LICENSE to /usr/share/doc// similar to the way debian packages work.

OK, I'll add copying these files into the Docker file. Note this isn't happening for the other device services or App Services. Core services only copy the Attribution.txt. Also note the script doesn't auto-generate the Attribution.txt, it only identifies missing packages.

cmd/main.go - use of bootstrap precludes usage of SetOverwriteConf method

This is how latest device-mqtt's & device-virtual's main work. How should it work? @cloudxxx8 ??

The SetOverwriteConf was just recently merged into device-sdk-go, and released as 1.1.1. For Geneva, in theory we have the freedom to break the API and will add an overwrite-conf parameter to NewService and maybe even startup.Bootstrap. @cloudxxx8 is there an issue to track this change for Geneva.

OK, I'll update to 1.1.1 and see what is there.

driver/restdriver.go

code lines are long, why wrap the godoc?

I have NP wrapping code. Wrapped comments for readability.

OK, looks a bit odd, which is why I mentioned it. It passes gofmt, so let's leave as is.

OK

I thought we were trying to move away from sending or receiving just strings (or other types) and wanted to move towards have requests and responses. The endpoint here seems to just accept a string (any length restriction) or a binary blob. If we're not going to pass a request object, then I think at minimum we should require a Content-Header (e.g. image/jpeg).

There isn't a know request object. What would we do with the Content-Header if we required it. The main usage of this DS in our use cases is to send in JSON strings.

Sure, but you're also providing binary support, and I think having the incoming endpoint accept an arbitrary binary payload as a POST request without a Content-Header isn't especially wise (i.e. and would seem ripe for a targeted attack). As for what we could do with it? You could ensure that it matches the MediaType of the given device resource, and if not return an error.
For string POST requests, the Content-Header should probably be required to be set as "text/plain".
@tonyespy, I was not aware of  MediaType. Knowing that, I like having to set the Content-Header appropriately.  Are you good with adding an issue for this one that we resolve before releasing the service?

cmd/main.go - use of bootstrap precludes usage of SetOverwriteConf method

This is how latest device-mqtt's & device-virtual's main work. How should it work? @cloudxxx8 ??

The SetOverwriteConf was just recently merged into device-sdk-go, and released as 1.1.1. For Geneva, in theory we have the freedom to break the API and will add an overwrite-conf parameter to NewService and maybe even startup.Bootstrap. @cloudxxx8 is there an issue to track this change for Geneva.

@tonyespy , Just looked at the code. BootStrap calls SetOverwriteConf, so what I have works fine now that I updated to use 1.1.1

@tonyespy, I have reworked the device profiles and README as well as addressed most of your feedback. Please check out the latest on the master branch.

@tonyespy , I tired adding the code to validate the Content-Type against the resource's MediaType, but the SDK has a bug in that it doesn't set the MediaType from yaml. I create an issue for this:
https://github.com/edgexfoundry/device-sdk-go/issues/424

Couple of typos in the README - see https://github.com/iain-anderson/device-rest-go/commit/24cdf93e32a1c7334f6608c8e07a503f5402f6f9


added reset button feature to all the calculators in tracking section

close #129

@madhurima316 the button isn't returning the expected result when clicked, kindly look into it

can you please explain what specific change or result do you expect because the RESET buttons are working properly as I intended - that is clearing the texts of input boxes ,on the present screen (calculator) .

@madhurima316 upon clicking the button, the output is clearing, but the input provided in the respective fields remains the same. It isn't clearing out.

https://github.com/ritika728/Wellness_Wave/assets/91181981/10a3f54f-d4d2-4acc-8e50-e79bb847d8ea

ma'am , but the reset buttons are working fine, for me .
https://github.com/ritika728/Wellness_Wave/assets/145414858/61150acf-7175-4b82-bcc7-70130a60b6ea
https://github.com/ritika728/Wellness_Wave/assets/145414858/0377ed41-587b-424f-b52e-c01616d39f0b


Official portrait for Brad Ashford - A000373

Bioguide: A000373
Name: Brad Ashford
Metadata
name: Office of Brad Ashford
link: https://ashford.house.gov/

:100:


[Request] Add token IDs to the object yielded by parseEventStream()

Started working on phrase biasing, and being able to monitor the stream of token ids instead of the token strings would make life much easier for me. I'd do it myself, but I couldn't figure it out.

parseEventStream's only job is to return the event stream as json, and it doesn't look like any backend sends back token ids in the completion stream. So I feel like the only choice would be to detokenize each token.

I see, that's a shame. Guess I'll have to figure something out for kobold then.


Preserve type canonicality better in several places

Preserve type canonicality better in several places and idiomatize some uses of SILType::getSwiftRValueType().

@swift-ci Please smoke test and merge.


decide if we want to change blocks or their definitions for each transition step

what are the pros and cons?
make sure that we consider all the transition steps

design how transitions will be stored in the code?
and how will you activate one of the transition steps?


dotnet-sdk (.NET 5.0.400 (latest)) installed with snap won't run

Description
Issue:
Tried to publish/build dotnet app and got this error message:
Error:
cannot snap-exec: cannot exec "/snap/dotnet-sdk/137/snap/command-chain/snapcraft-runner": permission denied
Command:
dotnet publish Test/Test.WebAPI --configuration Release -o pkg
Configuration
App: .NET 5.0
dotnet-sdk Version:  (latest/stable: 5.0.400 2021-08-10 (137) 139MB classic)
OS: Ubuntu 20.04 x86
Other information
Also discussed here: Cannot run dotnet command after installing 5.0 preview using snap #4446
Known temporary fixes:
Reverting to previous version:
snap revert dotnet-sdk
Installing latest/edge: 5.0.202 2021-04-16 (120) 137MB classic) with commands:
snap remove dotnet-sdk
snap install dotnet-sdk --classic --channel=latest/edge

Also you can check the other channels with:
snap info dotnet-sdk
channels:
  latest/stable:    5.0.400                   2021-08-10 (137) 139MB classic
  latest/candidate: ↑
  latest/beta:      ↑
  latest/edge:      5.0.202                   2021-04-16 (120) 137MB classic
  lts/stable:       3.1.412                   2021-08-10 (136) 123MB classic
  lts/candidate:    ↑
  lts/beta:         ↑
  lts/edge:         ↑
  6.0/stable:       –
  6.0/candidate:    –
  6.0/beta:         6.0.100-preview.6.21355.2 2021-07-14 (134) 144MB classic
  6.0/edge:         ↑
  5.0/stable:       5.0.400                   2021-08-10 (137) 139MB classic

@merto-dvp - can you try running as sudo? Certainly not what we want but I did see that it got things going.

Command works with sudo. But previous versions worked fine without sudo.

Any updates on this? We'd love to use the latest version with the security fixes but we can't do that currently.

Also getting this issue with .NET 6.0 preview 7 snap.
sudo snap revert dotnet-sdk worked, however it's no longer preview 7 but preview 6 which is a bit pointless


Vitality meter

Provide a Vitality meter. Enhance the existing Frostfall 2.6 meter framework to account for more screen resolutions and provide additional flexibility.

I have pivoted on this; not going to do a vitality meter since it's not a moment-to-moment concern. Provide other feedback instead.


Migration work for VS Code.dev

I'll leave comments on various weird things that I had to do.
TODO:
Creating container apps still doesn't work in browser, but it is being worked on by the service team. I was able to test it still by manually deleting headers before the requests were sent out and confirmed it works.
Remove creating container apps from DockerHub. It has the same CORS issues and I doubt we'll be able to resolve that.
Re-enable experimental service

Unfortunately not. I found a solution with vscode's proposed API: https://github.com/microsoft/vscode/blob/1d60909d1f273d3a4fdbfaba656048856057d36f/src/vs/vscode.proposed.d.ts#L89-L96
But the main issue here is that we're using createWriteStream to zip up some local files so that we can send it up to Azure Storage.  By the time we get permission to use the proposed API, Jing will have fired me for releasing the vscode.dev stuff so late so I was planning on fixing it for the next release.

More reading: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API

I think I'm done committing to this PR. As mentioned, will resolve the fs-extra thing in another PR.


Updated ABOUT.md

I've updated the about section to be more friendly and colloquial (https://github.com/exercism/meta/issues/85)
[Issue #412]

@jackhughesweb let's hold off on further updates to this track, pending discussion on #412

@kytrinyx @jackhughesweb my brain short-circuited-- the ES track is continuing to receive updates.
Thanks!


[FX-596] Make setForageConfig safe to call multiple times

What
The linear ticket is here. Also, see the commit messages for detailed explanations of changes

Why
One of the design goals of introducing setForageConfig is to be able to handle sessionToken refresh or even update merchantId on the fly. This means setForageConfig needs to be safe to be called multiple times. Right now, it is not safe to call multiple times. It will actually crash the app:

Test Plan

❌ I've added unit tests for this change.  In theory, there is logic in here that can be extracted out into a unit test. However, given the modifications this PR makes to CatalogFragment.kt, we gain some confidence that the logic in AbstractForageElement is working correctly. So, I decided to punt the unit tests for later
❌ The reviewer should manually test the changes in this PR. No need to test these changes manually because the CI pipeline combined with the modifications I made to CatalogFragment.kt will confirm this change works

Demo
An image showcasing the catalog page working. This means it's not crashing and that setForageConfig can be called multiple times.

How
This change can be released as is and in a patch level change.

Current dependencies on/for this PR:

main

PR #110   👈

This comment was auto-generated by Graphite.

Going to merge this in without waiting for CI since CI passed before and I just updated a comment


RSSI not implemented for Node-BLE, get from Tile Directly?

https://github.com/lesleyxyz/node-tile/blob/1b3bdf111df48029190b81332325dfa3c952429d/src/services/TileServiceBle.ts#L27
The code comment above lists it as a todo, but testing directly with node-ble seems to suggest that the issue lies with device.getRSSI() itself.
Alternatively, it may be possible to get a reported RSSI value directly from the Tile, per this documentation:
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Fgroup___t_o_a___c_o_m_p_a_t_i_b_i_l_i_t_y.html&resultof="tile" "rssi"
Listed under TOA Supported Features in Byte 2 is:
bit 5 | TRM : Tile RSSI Monitoring
And I see hints to TOA_RSP_TRM in:
https://github.com/lesleyxyz/node-tile/blob/1b3bdf111df48029190b81332325dfa3c952429d/src/models/ToaTransaction.ts#L46
and
https://github.com/lesleyxyz/node-tile/blob/1b3bdf111df48029190b81332325dfa3c952429d/research/frida/blemon.js#L77
Is it possible to pull a Tile's RSSI using this?

Following that node-ble issue, I did some testing.
buildog notes that "RSSI/TXPower is available until connection," but I don't think that's quite it.
I think that what's really happening is that a device connection somehow "suspends" rssi updates.
I was able to use device.getRSSI by making sure that Discovery is running at the time of the call (ie, don't call adapter.stopDiscovery() on line 23 of example.js)
I threw this together for testing, and it works great, streaming rssi values that update as I move my Tile.
async function getRSSILoop(device){
	while(true){
                try {
                    const rssi = await device.getRSSI();
                    console.log(Date.now(), "rssi", rssi);
                } catch (error) {
                    console.log(Date.now(), "no rssi");
                }
		await sleep(1000);
	}
}

And I am able to connect to the device as well...
The only weird thing is that it seems like connecting "too soon" breaks getRSSI from the get go:
type: 'org.freedesktop.DBus.Error.InvalidArgs',
  text: "No such property 'RSSI'",
  reply: Message {
    type: 3,
    _sent: false,
    _serial: 43895,
    path: undefined,
    interface: undefined,
    member: undefined,
    errorName: 'org.freedesktop.DBus.Error.InvalidArgs',
    replySerial: 129,
    destination: ':1.4764',
    sender: ':1.9',
    signature: 's',
    body: [ "No such property 'RSSI'" ],
    flags: 1
  }

It's a little random, but it seems like whenever device connection happens quickly, rssi fails.
But if device connection is a little slow, slow enough for a few rssi messages to be returned, then it's fine?
but then the rssi values never get updated, so I assume that error is because there was never an rssi value to rely on.
I also tried disconnecting after, and that does seem to restore rssi.
To be honest, I don't really know how BLE works, so I don't know if this is intended behavior or not, but it seems like I just can't use getRSSI while connected/connecting.

Well for some reason rssi works fine with noble...
Anyway I implemented TRM (Tile RSSI Monitoring) in 1.1.1 which is now live.
I applied the same rssi normalization technique as they used in the app, except substracting the txPowerOffset which at the moment I can't figure out how to get. But I find it accurate enough.
To get RSSI through TRM you need to listen to the tileRssi event instead of the rssi event like this:
service.on("tileRssi", rssi => console.log("tileRssi", rssi))

Let me know if this solution suffices your use case

That's great! getting from tile works!


Scrapers never get past initialization

So I followed the instructions. Deployed the docker container on my vps, and launched it using the built in Amazon rtx 3080 yaml and a discord webhook.
In the docker logs, it initialized the webhook and scraper, then eventually just returned a timeout error. Similar to the latest post in #126. When I kill the docker container it isn’t even recognized in the saved containers so I can’t remove it. Docker ps -a shows nothing. And docker rm (cont name) says invalid container. So I’m not sure if that is related or not.
Tried using a single in stock Amazon link and have the same issue. Never goes past initializing and just hangs out until it gets the unable to fetch from render(600) or whatever it says.
System is a virtual server running Ubuntu 20.04
Latest releases of python from apt and docker from snapd
I have not been able to test this bot elsewhere due to not having access to any of my main hardware as I am visiting with family. I hope to test this on my PI as well as a bare metal Ubuntu machine soon but alas I do not have access right now.
The various additions to the driver.py file mentioned around the issues threads have all been added in the version of the code that I have so I did not have to add them so I cannot try those fixes such as adding the headless argument or the argument mentioned in #120

This seems to be related to using amazon and bestbuy. Newegg scraper initialized fine. I believe amazon and bestbuy may have updated their site

This seems to be related to using amazon and bestbuy. Newegg scraper initialized fine. I believe amazon and bestbuy may have updated their site


Unable to run Shiny app after upgrade to R version 4.2.0

This repository contains a modified version of the Fishbioenergetics Shiny app located in the folder "other/FB4.1_2015_2016." All materials to run the app, as last used in May 2018, are present. No part of the Shiny app has been modified since its past use in 2018, with the exception of different values in .csv files in the "inputs" folder generated in May 2022.
At present the app will not open upon hitting the "Run app" button in RStudio. Upon hitting the "Run app" button, the following error appears:

Error in if (input_file_list %in% list.files(folder)) { :
the condition has length > 1

It is unclear what part of the Shiny app is generating this error. The "input_file_list" refers to lines 77-78 of the "global.R" file. Please advise how best to clear this error in order to be able to run the Shiny app.
The app was also deployed online in 2018 at https://bemeyer.shinyapps.io/FishBioenergetics/ .
Current R version info:

platform       x86_64-apple-darwin17.0
arch           x86_64
os             darwin17.0
system         x86_64, darwin17.0
status
major          4
minor          2.0
year           2022
month          04
day            22
svn rev        82229
language       R
version.string R version 4.2.0 (2022-04-22)
nickname       Vigorous Calisthenics

Main Inputs.zip
The files in Main_Inputs have been edited, the app works when reverting back to the original files.


Missing "resources/the-value-of-metadata.md" file

As declared in /resources/services.md is missing in action.

Thanks for the reminder @servilla. This file is under development and will be added ASAP.

Fixed by PASTAplus/content-x@dc0fc505c01d2cd41ec1d8a0dec283d1d034a813


A few small bugs with multi-target split container builds

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger

Codecov Report

Merging #449 into master will increase coverage by 0.02%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master     #449      +/-   ##
==========================================
+ Coverage   68.65%   68.67%   +0.02%
==========================================
  Files         164      164
  Lines        9455     9462       +7
==========================================
+ Hits         6491     6498       +7
+ Misses       2464     2463       -1
- Partials      500      501       +1

Impacted Files
Coverage Δ

lib/buildpack.go
84% <100%> (+0.66%)
:arrow_up:

ext/docker/splitcontainer_runnablebuilder.go
77.46% <77.77%> (-1%)
:arrow_down:

lib/auto_resolver.go
88.32% <0%> (+1.45%)
:arrow_up:

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 43c7544...173779e. Read the comment docs.


Ability to set scale max/min in now.json

It'd be great if you could set the scale maximum & minimum in the now.json config file so that it's applied automatically whenever you deploy.

also, scale: 1 would be great :)

Thank you so much for the effort you have put into this issue! 😊
However, since we completely re-worked the entire codebase of Now CLI and this issue does not apply to the new code anymore, I'm closing it now.
You can read more about our biggest release yet here: https://zeit.co/blog/now-2


tests(x/globalfee): Adding feedecorator ante handler tests

Merging main
Adding ante handlers tests with variety of test cases with code authorizations, contract address authorizations and wildcard authorizations

Is this still needed? I believe some of the commits were already merge as part of another pr

@jhernandezb The previous PRs did not have ante handler tests to verify the expected functionality.  This PR just adds that stuff.


Move the update_args function from the Config struct into the CliCommands

In the current implementation, the  CliCommands  struct is the main settings container which is efficient ('cause this reduces the copy times), but it introduces problems that we don't have to deal with if we use the  Config struct as the main settings container. like the update_args function
https://github.com/orhun/halp/blob/20f7894e36feadbb93c7a51f4ef627e9d3812659/src/config.rs#L59
which is not working probably at this point (in my mind) 'cause it gonna override the arguments with the value from the config file if it exists even if the user passed different values. which is not what we want in this case Usually the args override the configs

That'll reduce the number of arguments that are passed into the get_docs_help method especially when #56 gets merged (so this'll make it more efficient, cleaner?)
https://github.com/orhun/halp/blob/20f7894e36feadbb93c7a51f4ef627e9d3812659/src/lib.rs#L48

The solution

Move the  update_args function from the Config struct into the CliCommands  struct
Make the Config struct the main settings holder(container)
And auto-create a default config file if there's no one on the system (maybe?)

Sounds like a fair suggestion. Feel free to take a crack at it! 🐻


Symbol Undefined...

I have read multiple examples for generating an so library using cython's pure python interface, and then later calling a function in it. THE FUNCTION IS NOT GETTING DEFINED IN THE SO!

The pure python code:

#cython: language_level=3

import cython

@cython.cfunc
@cython.returns(cython.int)
@cython.locals(a=cython.int)
def blah(a):
    return 42

The cython command:
cython3 test.py
The gcc step:
gcc -fpic `python3-config --cflags` -o test.o -c test.c
generate an so from the compilation output:
gcc -shared -o test.so test.o `python3-config --libs`
List the entrypoints in the so:

nm -D test.so|less
# (I'm not seeing the function "blah" there!)

Try accessing the so:

python3
from ctypes import CDLL
so=CDLL('./test.so')
dir(so)
['_FuncPtr', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_func_flags_', '_func_restype_', '_handle', '_name']
# NO "blah" function!

All the pure python examples take it as a given that it will show up.
cython version:  0.29.30
python version: 3.9.2
gcc version: 10.2.1
ctypes version: 1.1.0
OS: Debian 11

Cython is compiling your code into python callable modules, it does not include any symbols for c calls.
You can use compiled code like this
from blah_file import blah
blah(5)

And my suggestion is to use setuptools if you want to compile python collable module.
Only need to use c compiler directly is if you are compiling with the --embed option.

What are trying to achieve with that?

Make a shared library of compiled functions derived from a python module that will be fastER than doing python (the code there of course being a trivial example; the blah function might be tons of iterative code at some point...)

library of compiled functions derived from a python module that will be fastER than doing python

Cython does exactly that and if you don't need to call it from c than just import compiled cython module and that's it.
Try to follow this page https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html
It explains everything in great details.

So to generate an so, I guess I want to do the setup.py with the cythonize call.
They are doing it with a pyx for input; can I pass a pure-python py file?
[I found 2 online examples doing it the gcc way I listed above; I figured once you have the c file generated by cython, the function call representing the call to the python function should be exposed thanks to those decorators I used above and found online...]
And: thanks so far...

can I pass a pure-python py file?

Yes, you can

[I found 2 online examples doing it the gcc way I listed above; I figured once you have the c file generated by cython, the function call representing the call to the python function should be exposed thanks to those decorators I used above and found online...]

It's always a good idea to first try to read the official documentation ^-^

ACK+thanks

After doing it the cythonize way, I found your advice to just to do an import of the so worked. So the issue was not the way I was building the so; that was being done alright. It was the CTYPES invocation that was not working. When I try a CDLL with the cythonize built one, that also doesn't see the blah function in the so.
I appreciate that the import of an so works; but given that those ctypes/CDLL examples for so's were online, is there a way to invoke the function in an so using ctypes? Just curious. If you don't know, I can dig...

is there a way to invoke the function in an so using ctypes?

Cython was never supposed to support this. And even if it were supported, you would not get anything from it. Rather your code will become messier and more difficult to understand. Therefore,  I would recommend to adhere to imports if you want to use Cython.

will do...

I checked and didn't see a mangled blah entrypoint, nothing with blah; but you're right: cython probably used to expose the functions in a simple manner such that ctypes could be used to call them. Now, it's a lot more complicated; so you have to rely on an import which has the more complicated loading baked in and done for you.
Computers: the illusion of simplicity...

Hi. The bug tracker is really for bug and feature requests to support the development of Cython. The preferred user support forum is the Cython users mailing list (https://groups.google.com/g/cython-users).

There's a "public" modifier to expose symbols. Not sure if that's available in Python code or limited to Cython syntax, though.


Many small things

[x] Use standard insted of eslint
[x] Use the README/CONTRiBUTING template -> https://github.com/cozy/cozy-guidelines/tree/master/templates
[x] Have a npm run clean task
[x] Have a yarn.lock file? Or just ignore it?
[x] Build only with node 6 on travis

Thanks !


Request

Could you please add me to the beta program. I'm located in Germany.

I've added you (sent you email with info), and removed email from your comment


fix: execute run command literal string for local tests

Description
execute run command literal string for local tests
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

I just noticed our docs mention you can use a regex value:

So I think we would break that if we merged this PR. Perhaps we update the doc instead with a regex example?


Documentation/guides

Can you provide guides or docs on how to:

Run both server and client from same instance
Create/use/view/revoke service keys

Hi @tisboyo , nice suggestions:
Run both server and client from same instance
In order to accomplish this, the following tasks will need to be performed:

[ Add Default Admin Prefix ]   - GUI / API will need a default & configurable prefix to avoid overriding root routes
[ Create / edit Server Usage Documentation  with prefix ] - Edit default readme and mkdocs with new usage options

Create/use/view/revoke service keys
Documentation on creating using service tokens is trivial, but revoking an issued service token will require more thought.

[ Create Service Token Usage Documentation]

I created Add Support for Token revoking where I will create a channel for EasyAuthServer &  EasyAuthClient to communicate ( so public keys are easier to exchange, revoked tokens can be communicated).

@tisboyo
Feature providing support of "Run both server and client from same instance" provided in version 0.134
See Documentation on usage here

That appears to work exactly as I hoped.
Noticing something, I may not have noticed before, but the admin page is handling all 404 pages and not just ones in /admin.
Loving the library, I can see it becoming very popular.

Token Revocation  / Service account  API / GUI usage completed in latest PR
Have a look via latest version:
https://pypi.org/project/easy-auth/0.136/
This was a pretty major update to the EasyAuthServer / EasyAuthClient - which added support for EasyAuthServer forking & a channel between EasyAuthServer & EasyAuthClient for token information exchange & reducing setup complexity.
Keep in mind that a new field is required for  EasyAuthServer / EasyAuthClient creation, 'auth_secret', this field allows the public key to be pulled and creates the channel for the server to push token updates to connected EasyAuthClient's.
@tisboyo  check it out when you can.

server usage
client usage

Be sure to use the following to grab all new dependencies:
pip install -U easy-auth[all]

# run again to update( because pip is special)
pip install -U easy-auth[all]

So does this remove the need for the key files? Does the auth_secret replace the need for them?
Looking through the changes, it looks like when the quorum database is being created, it's not using the credentials/settings for the main database, and is creating it's own sqlite file. Is this intentional?

Also since db_proxy.py is being written to on every startup, it causes uvicorn to auto restart in an endless loop.

So does this remove the need for the key files? Does the auth_secret replace the need for them?

The key files are still an integral part of the asymmetric token generation. The EasyAuthServer will look for the .key in the specified key_path at startup. This key allows the EasyAuthServer to create tokens used for client authentication. The auth_secret is effectivly entrypoint authentication, that allows an EasyAuthClient to pull the .pub key. The .pub key, is used by EasyAuthClient to verify that a token originated( was created) by the same EasyAuthServer. Also any modifications of the token, which change its signature, also invalidating the token.

Looking through the changes, it looks like when the quorum database is being created, it's not using the credentials/settings for the main database, and is creating it's own sqlite file. Is this intentional?

The quorum database serves currently as a locking mechanism between processes. When an  EasyAuthServer is started with multiple workers, 1 of workers needs to decide who will start the db_proxy & manager_proxy child processes( as we do not want n * db_proxies or manager_proxy). This could be better served by a simple lock.txt file though to prevent confusion.

@tisboyo fix pushed in latest release as per comment in  #10 .
https://pypi.org/project/easy-auth/0.138/


Deleting a column using ALTER TABLE sql doesn't get that column to dissapear from the UI

Steps to Reproduce

Go to a map, enter to a layer click on the table view.
Delete multiple columns using a SQL statement such as ALTER TABLE table DROP COLUMN col1, DROP COLUMN col2;

Current Result
Columns seems deleted but still appear on the UI
Expected result
Columns shouldn't appear on the UI

Schema changes don't invalidate cached results. I cannot find the issue associated with this problem, but this is a known issue.
The current workaround is to select cartodb.cdb_tablemetadatatouch('user_name.table_name'); after you have changed the schema.

I saw something like this yesterday when doing an ADD COLUMN.


Allow users to set Singularity runtime log level with a flag

As discussed with @bauerm97, awaiting for Singularity to use glog package.


Cannot touch  before loading image success （Just on ios）

Steps to Reproduce

Before the image is successfully loaded, it cannot be clicked (such as sliding, clicking)，its only ios ，android is well，
this is code：
Image.network('https://img.warting.com/uploads/2017/1120/54-1G1201Z3300-L.jpg')

put is your project test
Expected results:
Actual results:

Logs

[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.5 19F101, locale zh-Hans-CN)
    • Flutter version 1.17.5 at /Applications/flutter
    • Framework revision 8af6b2f038 (3 months ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/mac/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/mac/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (2 available)
    • ONEPLUS A6010 • 9469697b                             • android-arm64 • Android 10 (API 29)
    • iPhone 11 Pro • 360FE8C0-31CD-4771-8AE7-717E19CC64B8 • ios           • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)

• No issues found!

Hi @Gaoxichao
Can you please provide your flutter doctor -v, your flutter run --verbose and a minimal complete reproducible code sample?
I suggest you to upgrade to the latest stable version of Flutter since this issue may already be fixed.
Thank you

@pedromassangocode
flutter doctor -v :
macdeiMac:~ mac$ flutter doctor -v
[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.5 19F101, locale zh-Hans-CN)
    • Flutter version 1.17.5 at /Applications/flutter
    • Framework revision 8af6b2f038 (3 months ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/mac/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/mac/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (2 available)
    • ONEPLUS A6010 • 9469697b                             • android-arm64 • Android 10 (API 29)
    • iPhone 11 Pro • 360FE8C0-31CD-4771-8AE7-717E19CC64B8 • ios           • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)

• No issues found!

my code :
import 'package:flutter/material.dart';

class IosImageTest extends StatefulWidget {
  @override
  _IosImageTestState createState() => _IosImageTestState();
}

class _IosImageTestState extends State<IosImageTest> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: IconButton(
            icon: Icon(Icons.arrow_back_ios),
            onPressed: () {
              // Cannot touch before loading image success
              Navigator.of(context).pop();
            }),
      ),
      body: Image.network('https://img.warting.com/uploads/2017/1120/54-1G1201Z3300-L.jpg'),
    );
  }
}

It seems to be a picture problem, because you can change the picture, but why does the picture affect the application (frame)?

Hi @Gaoxichao
Can you please provide clear steps to reproduce the issue? In the code you provided there is no click listener for the image but you are saying that the issue is about image click.
Thank you

no steps , just click back button on loading image first, but second is well (because had image temp)
ps: only  ios devices.

Hi @Gaoxichao
Could you please run flutter upgrade --force.
If the issue persists, please provide your updated flutter doctor -v, your flutter run --verbose.
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


trying to use dev-master@dev

i fell into a world of hurt because dependencies are not tagged
please aux :blush:

~ composer install                                                                                Luiss-iMac [12:32:21]
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for rollerworks/search-symfony-di dev-master@dev -> satisfiable by rollerworks/search-symfony-di[dev-master].
    - rollerworks/search-symfony-di dev-master requires rollerworks/search >1.0.0-beta4@dev -> no matching package found.
  Problem 2
    - rollerworks/search-symfony-di 1.1.x-dev requires rollerworks/search >1.0.0-beta4@dev -> no matching package found.
    - rollerworks/search-bundle dev-master requires rollerworks/search-symfony-di ~1.0@dev,>1.0.0-beta2 -> satisfiable by rollerworks/search-symfony-di[1.1.x-dev].
    - Installation request for rollerworks/search-bundle dev-master@dev -> satisfiable by rollerworks/search-bundle[dev-master].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

beta5 has been tagged.


KDE5 version of kmix is missing

I'm trying to upgrade my system, but Nix can't find kde5 version kmix. I have kde5.kmix in my configuration.nix. Kmix was available before the big changes to KDE5 packaging.
nix-env -qa kmix

Only returns returns kde4 version - kmix-4.14.3
cc @ttuegel

As explained by @ttuegel in https://github.com/NixOS/nixpkgs/pull/10731 a lot of packages were not packaged because more maintainers are needed.

Specifically, I did not package kmix because it is not being updated upstream. There is plasma-pa for PulseAudio, and in the future this will be the only supported configuration.

Sorry and thank you for the explanation :)


⚠ Bofrost.at has degraded performance

In ee42e28, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1328 ms

Resolved: Bofrost.at performance has improved in 1bf1cda after 6 minutes.


cmake: Use predefined variable

Less code is better
Checklist

[ ] Language changes are updated in docs/reference_guide.md
[ ] User-visible and non-trivial changes updated in CHANGELOG.md
[ ] The new behaviour is covered by tests

Whoops, guess it doesn't work


runtime(vim): Update base-syntax, improve :map highlighting

,Improve :map command highlighting.

Fix multiline RHS matching, allow continued lines and comments.
Allow ^V-escaped whitespace in LHS.
Handle map-bar properly and allow trailing commands.

Fixes issue #12672.

thanks!


RuntimeError: Cloudflare reCaptcha detected

Hello, i have some issue with cloudflare :/

import cloudscraper
scraper = cloudscraper.create_scraper()
html = scraper.get("https://www.japscan.co/")

RuntimeError: Cloudflare reCaptcha detected, unfortunately you haven't loaded an anti reCaptcha provider correctly via the 'recaptcha' parameter.
Any help please ?

Let me have a look for you

Can you please provider python version, cloudscraper version

This is a off a Debian 9.11
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cloudscraper
>>> scraper = cloudscraper.create_scraper()
>>> scraper.get("https://www.japscan.co/")
<Response [200]>
>>>

However on my Debian 10 system, I managed to triggere a reCaptcha... I will investigate this further

It's cipher related... I've already managed to find chrome and firefox issues... but jsut doing some more detailed analysis on it.


Calling onCommit for DataCell worked in 1.4.0 but fails in 1.4.1

I found the same issue after upgrading from 1.3.14 to 1.4.1. onCommit changes cell value to "".


Unable to connect to database

lib directory isn't included in this package! This breaks clean-install mongoose instances.

I'm using Node 16.13.1 and Mongoose 6.8.3.


Updating the next version of release

Signed-off-by: Vivek Lohiya<EMAIL_ADDRESS>Description: Updating the next version of release

/azp run


automated gen that includes policy module api examples

There was a fix to prevent json in examples to have html escaped characters that also had a side effect of alphabetizing the keys in the json, which seems fine (maybe even good?) to me

We will probably want to merge #594 (which will update this PR) before we merge this one.


string with seed for evals

simple fix to make the name of the files random

Pr against the main repo not mine: https://github.com/Significant-Gravitas/Auto-GPT-Benchmarks
Let's not pull in the whole secrets module to generate some random characters.
If you really want to make a 32 character filename we can.
I would rather, get the datetime and the eval name from the parser and put those in the filename and leave it at that.
This might mean setting it to None and if it is none after we have parsed args then defaulting it there.
I don't really get the reason for making a random int considering we physically can't run multiple at once, and even if we could, they likely wouldn't have ms collisions when datetime can have a ms in it.
I'm closing this due to the fact this should be opened on the main repo. Not on my personal fork


Add localizations for navigation menu, popup menu, dialog, and alert

Fixes https://github.com/flutter/flutter/issues/16544
These translations are required for the default audio announcements for edge triggered semantics if we cannot infer a better name.
This also fixes a typo I found where a comment in a Portuguese file refers to Pashto instead.


[q] is it possible to disable azure, ec2, ecs, kubernetes and gce checks

hello,
is it possible to disable auto-detection of the following integrations:

azure
kubernetes
ec2/aws

And/or enable, if any, DigitalOcean or Hetzner-specific config.
thanks in advance

=== Running ECS Metadata availability diagnosis ===
[ERROR] diagnoseECS: could not detect ECS agent, tried URLs: [http://localhost:51678/] -<PHONE_NUMBER>987227441
===> FAIL

=== Running ECS Fargate Metadata availability diagnosis ===
[ERROR] diagnoseFargate: Get http://<IP_ADDRESS>/v2/metadata: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) -<PHONE_NUMBER>488407297
===> FAIL

=== Running EC2 Metadata availability diagnosis ===
[ERROR] diagnose: unable to fetch EC2 API, status code 404 trying to fetch http://<IP_ADDRESS>/latest/meta-data/hostname -<PHONE_NUMBER>494255403
===> FAIL

=== Running GCE Metadata availability diagnosis ===
[ERROR] diagnose: unable to retrieve hostname from GCE: status code 404 trying to GET http://<IP_ADDRESS>/computeMetadata/v1/instance/hostname -<PHONE_NUMBER>499312741
===> FAIL

=== Running Kubelet availability diagnosis ===
[DEBUG] init: Cannot connect: Get https://iforgot:10250/: dial tcp <IP_ADDRESS>:10250: getsockopt: connection refused, trying trough http -<PHONE_NUMBER>693030344
[DEBUG] init: Cannot connect: Get http://iforgot:10255/: dial tcp <IP_ADDRESS>:10255: getsockopt: connection refused -<PHONE_NUMBER>693273206
[DEBUG] GetKubeUtil: Init error: temporary failure in kubeutil, will retry later: cannot connect: https: "Get https://iforgot:10250/: dial tcp <IP_ADDRESS>:10250: getsockopt: connection refused", http: "Get http://iforgot:10255/: dial tcp <IP_ADDRESS>:10255: getsockopt: connection refused" -<PHONE_NUMBER>693317355
[ERROR] diagnose: temporary failure in kubeutil, will retry later: cannot connect: https: "Get https://iforgot:10250/: dial tcp <IP_ADDRESS>:10250: getsockopt: connection refused", http: "Get http://iforgot:10255/: dial tcp <IP_ADDRESS>:10255: getsockopt: connection refused" -<PHONE_NUMBER>693356683
===> FAIL

=== Running Kubernetes API Server availability diagnosis ===
[DEBUG] connect: using autoconfiguration -<PHONE_NUMBER>693398380
[DEBUG] GetAPIClient: init error: temporary failure in apiserver, will retry later: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined -<PHONE_NUMBER>693427645
[ERROR] diagnose: temporary failure in apiserver, will retry later: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined -<PHONE_NUMBER>693439616
===> FAIL

=== Running Azure Metadata availability diagnosis ===
[ERROR] diagnose: Azure HostAliases: unable to query metadata endpoint: status code 404 trying to GET http://<IP_ADDRESS>/metadata/instance/compute/vmId?api-version=2017-04-02&format=text -<PHONE_NUMBER>699412954
===> FAIL

Hi @n0mer
Are you facing any issue related to azure or aws? The agent doesn't have any azure or aws integration (integration in the sense of checks: https://github.com/DataDog/integrations-core ). The only logic related to these platforms is the hostname detection, and if you're not running on these platforms it shouldn't cause any issue. If it did, I would be interested in reading your agent logs (please open a support ticket to send logs securely to us).
Disabling kubernetes logic is as simple as not passing the KUBERNETES environment variable to the agent's container.
If you faced a specific issue, please describe it here along with how you deploy the agent, and we'll help you with it.

oh my bad I hadn't refreshed the page and missed your past message. This output is from the diagnose command which checks connectivity with various components that the agent can interact with.
These failures are expected if you don't run on all of these platforms, and can be safely ignored.

@hkaj thanks for explanation, i suspected that those are error messages so i have to react to them somehow.
Anyway, is it possible to tell agent explicitly that i'm NOT on azure, gce, kubernetes env, ec2 or ecs?

By default it knows it's not on kubernetes or ecs, unless you explicitly pass options to enable these. Regarding cloud providers (azure, gce, aws) it tries to query their local metadata api and once that failed it stops trying to guess the cloud provider.
These failures only show up when you run ./agent diagnose right? This command is explicitly for debugging purpose to troubleshoot connectivity issues. Failures are fine.

@hkaj it is also in agent.log, so i'm wondering whether smth is broken :-/
Thanks (again) for explanation, and sorry for bothering - this agent v6 is a nut to crack.

Oh, this is a problem. These logs shouldn't be in agent.log. How do you install the agent? Do you have any custom log option, and did you run the flare command at any point?

here is snippet from agent.log (with debug turned on):
2018-03-02 15:19:20 CET | DEBUG | (kubelet.go:439 in init) | Cannot connect: Get https://hostname:10250/: dial tcp <IP_ADDRESS>:10250: getsockopt: connection refused, trying trough http
2018-03-02 15:19:20 CET | DEBUG | (kubelet.go:445 in init) | Cannot connect: Get http://hostname:10255/: dial tcp <IP_ADDRESS>:10255: getsockopt: connection refused
2018-03-02 15:19:20 CET | DEBUG | (kubelet.go:87 in GetKubeUtil) | Init error: temporary failure in kubeutil, will retry later: cannot connect: https: "Get https://hostname:10250/: dial tcp <IP_ADDRESS>:10250: getsockopt: connection refused", ht
tp: "Get http://hostname:10255/: dial tcp <IP_ADDRESS>:10255: getsockopt: connection refused"
2018-03-02 15:19:20 CET | DEBUG | (tagger.go:145 in tryCollectors) | will retry kubelet later: temporary failure in kubeutil, will retry later: cannot connect: https: "Get https://hostname:10250/: dial tcp <IP_ADDRESS>:10250: getsockopt: connect
ion refused", http: "Get http://hostname:10255/: dial tcp <IP_ADDRESS>:10255: getsockopt: connection refused"
2018-03-02 15:19:20 CET | DEBUG | (kubelet.go:87 in GetKubeUtil) | Init error: temporary failure in kubeutil, will retry later: try delay not elapsed yet
2018-03-02 15:19:20 CET | DEBUG | (tagger.go:145 in tryCollectors) | will retry kube-service-collector later: temporary failure in kubeutil, will retry later: try delay not elapsed yet
2018-03-02 15:19:20 CET | INFO | (tagger.go:151 in tryCollectors) | docker tag collector successfully started
2018-03-02 15:19:20 CET | DEBUG | (tagger.go:149 in tryCollectors) | ecs_fargate tag collector cannot start: Failed to connect to task metadata API, ECS tagging will not work
2018-03-02 15:19:20 CET | DEBUG | (tagger.go:149 in tryCollectors) | ecs tag collector cannot start: cannot find ECS agent

2018-03-02 15:24:48 CET | DEBUG | (kubelet.go:87 in GetKubeUtil) | Init error: temporary failure in kubeutil, will retry later: try delay not elapsed yet
2018-03-02 15:24:48 CET | DEBUG | (tagger.go:145 in tryCollectors) | will retry kubelet later: temporary failure in kubeutil, will retry later: try delay not elapsed yet
2018-03-02 15:24:48 CET | DEBUG | (kubelet.go:87 in GetKubeUtil) | Init error: temporary failure in kubeutil, will retry later: try delay not elapsed yet
2018-03-02 15:24:48 CET | DEBUG | (tagger.go:145 in tryCollectors) | will retry kube-service-collector later: temporary failure in kubeutil, will retry later: try delay not elapsed yet

This is for metadata collection, and will stop happening after a few retries. They're debug logs, you can ignore them.

@hkaj so this metadata collection cannot be disabled, right?

It disables itself after a few retries, but yeah you can't disable it manually.


Add cooking recipe example

I copy-pasted the cooking recipe example from readme and added a pretty string formatted on top of that.

Fixed a minor bug in math plugin example, which was caused by a previous change in pre_send_hook logic

Idea: I think it can be nice to add a send_wrapper_hook logic with plugins. By that way, plugins can disable send to LLM's. For the case of math plugin, it calculate the math expression, but still send the prompt and the calculation result to the LLM. For this and some other applications, it can be nice if plugins can divert the way of the conversation if it detects certain signifiers in the prompt (e.g. 'calculate', '@Web (like in Cursor))

Summary by CodeRabbit

New Features

Introduced a structured representation of recipes with a new example for cooking recipes.
Added functionality to evaluate mathematical expressions upon user request.

Bug Fixes

Improved error handling for mathematical expression evaluations, providing clearer feedback to users.

Refactor

Renamed method in the MathPlugin class for clarity on its functionality.

beautiful! ✨🍰✨


Create ISSUE_TEMPLATE

@gunjanmimo given #9, #10, and #11. I think we're ok to close this PR, if you agree.


GDScript- Array.short_custom fails passing a class after #22737

Godot version:

cff89fc4e4f2ceb577b5f7a119d98cb22d41ea44
OS/device including version:

Win 7
Issue description:

After this commit:
https://github.com/godotengine/godot/pull/22737
Godot can´t short an array with the system described in the documentation, a.k.a:

void sort_custom ( Object obj, String func )
Sort the array using a custom method and return reference to the array. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return true if the first argument is less than the second, and return false otherwise. Note: you cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
class MyCustomSorter:
static func sort(a, b):
if a[0] < b[0]:
return true
return false
var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]]
my_items.sort_custom(MyCustomSorter, "sort")

Error is in new line 261 in core/array.cpp and return exactly the error that this line introduce (*this).

Sorry... i didn´t see #22833. Closing.


PNG Images isn't working for osx arm

Hey guys. I faces the issue. The current packages for osx 4.7.0 works for osx, however PNG format isn't working properly. When you try to open png file , for example with Cv2.IMRead, the hight and width always 0 values.
I'm not sure where the issue is, as I tried to make a cusom build as well and the same issue. Libpng is included into opencv.
But what I found when I do install opencv with brew, brew install opencv, and then build opencvsharpextern in linked variant to this installation like cmake -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/opt/homebrew/lib .. , everything is working. But I don't like to use linked variant of library as it's hard to move it to other developers systems.
Any Idea what can be wrong there? Trying to build proper static version.

When build opencv with this configuration "            cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=../../opencv_macos
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.8.1/modules
-D BUILD_SHARED_LIBS=OFF
-D BUILD_JAVA=OFF
-D BUILD_opencv_python2=OFF
-D BUILD_opencv_python3=OFF
-D BUILD_TESTS=OFF
-D BUILD_PERF_TESTS=OFF
-D BUILD_DOCS=OFF
-D BUILD_EXAMPLES=OFF
-D WITH_IPP=OFF
-D WITH_OPENMP=ON
-D WITH_FP16=ON
-D WITH_EIGEN=OFF
-D WITH_OPENEXR=OFF
-D WITH_VTK=ON
-D WITH_FFMPEG=ON
-D WITH_TBB=OFF
-D OPENCV_ENABLE_NONFREE=ON
.." PNG is working correct.

@grinay
you might need pass these options to cmake when building OpenCv library.
-DBUILD_PNG=ON
-DWITH_PNG=ON


Enhance CI

Fails as expected.

Yes. These are feature tests in my definition.
On 15 May 2020, 19:42 +0200, Viktor Szépe<EMAIL_ADDRESS>wrote:

@szepeviktor commented on this pull request.
In .github/workflows/ci.yml:

\ No newline at end of file

name: Run unit tests
PHPUnit running non-unit tests??
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Can you make the tests pass now that we see that they find issues?

Done.

Thanks!

You're welcome.

Actually going to revert this. composer.lock files don't belong into libraries.

FYI validate also checks the json file.


Lag when turning with turnbind

The turnbinds have always worked fine but I started noticing this as well as the other one (conturn) both have frame drops/stutters when you are turning with the turnbind. I can 100% reproduce this as well as some other friends.
Edit: May be a Windows 11 issue messing with it idk

you find a way to fix it?

running it as admin fixed it for me idk


Session does not get cleanly reset

After digging through some of the source, I see that user information like email and name gets saved to disk with SharedPreferences. However, when it is time to clear the session after the user logs out with a call to Session.reset() , the saved user email and name does not get cleared. I am not sure if this is a bug or a purposeful design. When I tried to clear the SharedPreferences myself before calling Session.reset(), I got an odd crash on my Nexus 5.
02-13 00:47:15.382  32666-32722/com.tmg.problemz V/RenderScript﹕ Application requested CPU execution
02-13 00:47:15.387  32666-32722/com.tmg.problemz V/RenderScript﹕ 0xafe46e00 Launching thread(s), CPUs 4
SharedPreferences preferences = Session.getInstance().getSharedPreferences();
if(preferences != null) {
     preferences.edit().clear().apply();
}
Session.reset();

The crash occurs at the first line.
Thanks in advance!

I realized that in certain cases if the user never opened the Uservoice Feedback Activity, then a context was never applied and that was causing the strange crashing. I just added checking to ensure UserVoice has a context.


bind on init

This pull request implements the changes requested in issue #428 by changing the init command to also redo the contract bindings.

Let me clone this and give it a shot.

LEt's get CI passing and we can merge this in


feat(frontend): add json import for additional icrc env tokens

Motivation
We want to load a selection of additional icrc tokens. This prepares the json data structure with zod parsing and typing.
Changes

Add types with zod
Add parsing
add empty json structure

Any other idea than "additional icrc" for the naming? It's bit a generic and to some extention, any ledger is additional.

Any other idea than "additional icrc" for the naming? It's bit a generic and to some extention, any ledger is additional.

Yeah I'm open to suggestions. I'm unsure if 'envIcrcTokens' isn't enough as we already have a set of hardcoded ic tokens in the codebase.

@peterpeterparker as you also reviewed, I'm waiting for your OK

I'm unsure if 'envIcrcTokens' isn't enough as we already have a set of hardcoded ic tokens in the codebase.

Actually:

The index canister in envIcToken should become optional
envIcToken should be renamed to something "Schema"
All other schema and definition in the related module - env-icrc-token - should be moved away and renamed to reflect the fact that they are related to Snses

Yeah I'm open to suggestions.

Once everything is done, we can actually rename "additionalIcrcTokens" to "icrcTokens". Not a must but then, the naming will be available.
I was also thinking at envIcCoinTokens.

Actually:

The index canister in envIcToken should become optional

Would it make sense to do that in the PR that enables the application to handle tokens without an index canister?

envIcToken should be renamed to something "Schema"

I think this would go against all other places where we define a schema without such a suffix to indicate it's a schema, no?

All other schema and definition in the related module - env-icrc-token - should be moved away and renamed to reflect the fact that they are related to Snses
Or "icrcTokens" contains both SNSes tokens and "additional" tokens, then yeah maybe additional make sense.

Ok, I like the idea of having a differentiation between the sns and this 'additiona' icrc tokens. As far as I understand it, this would mean we aim for more consistent naming of the sns tokens. So the 'icrc-custom-tokens.services.ts' which essentially deals with loading the snsTokens from the json has currently a misleading name, correct?

Would it make sense to do that in the PR that enables the application to handle tokens without an index canister?

Yes, all the steps I listed in separate PR first.

such a suffix to indicate it's a schema, no?

I think @AntonioVentilii and I are also using the term schema and have started adapting iteratively - when we notice something - those usages where the convention is not used.

So the 'icrc-custom-tokens.services.ts' which essentially deals with loading the snsTokens

Nope, this is not related to SNS.

Is this topic urgent? If not, I can take care of it next week.

such a suffix to indicate it's a schema, no?

I think @AntonioVentilii and I are also using the term schema and have started adapting iteratively - when we notice something - those usages where the convention is not used.

Ok, I see. Will rename it.

So the 'icrc-custom-tokens.services.ts' which essentially deals with loading the snsTokens

Nope, this is not related to SNS.

Sorry maybe we do not talk about the same code, or maybe I misunderstand something, but this should read the json with the snsTokens in the "buildIcrcCustomTokens" method.. https://github.com/dfinity/oisy-wallet/blob/92169570667fe665082f59e8c1595481950672cf/src/frontend/src/icp/services/icrc-custom-tokens.services.ts#L33

Is this topic urgent? If not, I can take care of it next week.

Depends on what you mean by this topic. Getting in an additional ICRC Token is the goal of this week.

Regarding buildIcrcCustomTokens: not for this week but, once we have extended the new environment and if needed, we can rename it. For example, is still solely related to Sns, we can rename it mapSnsToIcrcCustomTokens or something. Just thinking out at loud again, no call to action.
Regarding SNS, I provided a refactoring PR #3514.

Regarding naming: let's go with "additional" and if we have an idea along the way, let's refactor later
Regarding "index canister" optional, let's do it when necessary in a separate PR with tests
After #3516, I'll provide one more PR and then we are ready to continue with this PR.

@loki344 alright #3517 is in. Can you rebase with main and resolve the conflicts. Then we should be good.


Adding dependencies for electron help

I'm submitting a ...
[X] bug report

Current behavior
I'm following these guides:

https://github.com/NathanWalker/angular-seed-advanced/issues/352
https://github.com/NathanWalker/angular-seed-advanced/issues/258

Expected behavior
I need "glob.js" (https://github.com/isaacs/node-glob) in my home.component.ts for electron. I'm on Windows 10 x64 and everytime the task (npm run start.livesync.desktop.windows) copy node_modules in dist>dev but it doesn't work. Can you try and fix this bug?
An extract of my project.config.ts:
...

    // Add `NPM` third-party libraries to be injected/bundled.
    this.NPM_DEPENDENCIES = [
      ...this.NPM_DEPENDENCIES,
      // {src: 'jquery/dist/jquery.min.js', inject: 'libs'},
    ];

    // Add `local` third-party libraries to be injected/bundled.
    this.APP_ASSETS = [
      ...this.APP_ASSETS,
      // {src: `${this.APP_SRC}/your-path-to-lib/libs/jquery-ui.js`, inject: true, vendor: false}
      // {src: `${this.CSS_SRC}/path-to-lib/test-lib.css`, inject: true, vendor: false},
    ];

    // Add packages (e.g. ng2-translate)
    // ng2-translate is already added with the advanced seed - here for example only
    let additionalPackages: ExtendPackages[] = [
      {
        name: 'electron',
        path: `${this.APP_BASE}node_modules/electron/index.js`
      },
      {
        name: 'gojs',
        path: `${this.APP_BASE}node_modules/gojs/release/go.js`
      },
      {
        name: 'glob',
        path: 'node_modules/glob/glob.js'
      }
    ];

    this.DESKTOP_PACKAGES = [
      ...this.DESKTOP_PACKAGES,
      ...additionalPackages,
    ];

    this.addPackagesBundles(additionalPackages);

    /* Add to or override NPM module configurations: */
    // this.mergeObject(this.PLUGIN_CONFIGS['browser-sync'], { ghostMode: false });

    // if (this.TARGET_DESKTOP) {
    this.SYSTEM_CONFIG_DEV.map = {
      fs: '@node/fs',
      path: '@node/path'
    };
    // }
  }
...

As you can see I'm already using fs and path from Node and electron. Is this necessary in my project.config.ts?
I'm on Windows 10 x64, NodeJS 7.7.3, NPM 4.4.1.
Angular Seed Version: efb2fce

see here. As long as you declare glob in additional packages it should copy the lib to the dev dest when the libs task runs. is the directory not there or is it not getting injected with the correct path?

Dear @Kaffiend, thanks for the answer. The task is copying fine the files in node_modules, but then glob requires other dependencies...
 Report it at https://github.com/NathanWalker/angular-seed-advanced/issues

So now I tried to inject fs.realpath like this in project.config.ts:
....
      let additionalPackages: ExtendPackages[] = [
      {
        name: 'electron',
        path: `${this.APP_BASE}node_modules/electron/index.js`
      },
      {
        name: 'gojs',
        path: `${this.APP_BASE}node_modules/gojs/release/go.js`
      },
      {
        name: 'glob',
        path: `${this.APP_BASE}node_modules/glob/glob.js`
      },
      {
        name: 'fs.realpath',
        path: `node_modules/fs.realpath/index.js`
      },
   ...

IT'S INCREDIBLE!!!
And also if I load all the dependencies it doesn't work!!! Other errors! Like this:
util.inherits is not a function

Can we write a definitive HOW TO?!?

seems like its an injection issue at first glance. try giving it a full package meta.
  {
        name: 'fs.reapath',
        packageMeta: {
          main: 'index.js',
          defaultExtension: 'js'
        }
      },

It's the same. Now it's needing:
dist/dev/node_modules/minimatch.js
I'm importing it in my home.component.ts like this:
import * as glob from 'glob/glob';
and then console.log(glob) in ngOnInit.
*HOW TO???

i think you will have to have all the dependencies as well, and make sure they are registered with systemjs.

Same thing here not with glob.js but with custom non-NPM JavaScript libraries. The build copies NPM packages as well as all the *.png, *.jpg and *.css files but not regular .js files (the copied folders are empty. The folders are being copied.
I'm losing my hair 4 days now for hours upon hours each day. #59, #136 and #258. Following #97 is giving me "module not found.
For example, I'm adding
this.APP_ASSETS = [
      ...this.APP_ASSETS,
      {src: `${this.APP_BASE}/libs/Ribbon.js`, inject: 'libs'}
];

produced nothing. Can anyone help? Thanks

@vanchisel see here and duplicate that in your project.config.ts and add your dependency like you are above.

@Kaffiend Thank you for your suggestion. I put the path of the *.js files. Nothing happened; Not even errors. It seems to be looking for package.json file based on:
export = () => {
  let src = [
    'node_modules/@angular/**/*',
    'node_modules/rxjs/**/*' //<-- looking for node modules
  ];
. . .
  additionalPkgs.forEach((**pkg**) => {
   if (typeof(**pkg.name**) !== 'undefined') {
      src.push(`node_modules/${**pkg.name**}/**/*`); //<-- looking for package.json
    } // . . .

@vanchisel You will have to use the imported config to path out your dependency

@Kaffiend It took a while to figure it out. The following works better: https://github.com/NathanWalker/angular-seed-advanced/issues/408#issuecomment-299762460

resolve

resolve #408

Is there a way for desktop packages to be included together with their dependencies? Passing every single dependency to DESKTOP_PACKAGES is impossible with bigger packages and all of their dependencies.


Feature Request: GraphRAG Support

Description
Will there be any plans to support GraphRAG approach within Verba?
Is this a bug or a feature?

[ ] Feature

Additional context
https://www.microsoft.com/en-us/research/project/graphrag/
https://www.youtube.com/watch?v=r09tJfON6kE

Great idea! We will look into it

Appreciate you for even considering it. Awesome project btw.

Hey @ipdeft , unfortunately we decided to scope graphRAG out of the Verba project 😞 Sorry!