fix(STONEINTG-469): RegisterNewSnapshot do not work well

Use metric type"NewGaugeVec" instead of "NewGauge" for SnapshotConcurrentTotal and update unit test

I'm thinking that we should change the MarkSnapshotAsInvalid function to first check if the Snapshot is already invalid before updating the status and metrics. I think we should do the same for other similar functions too.

/test integration-service-e2e

I'm thinking that we should change the MarkSnapshotAsInvalid function to first check if the Snapshot is already invalid before updating the status and metrics. I think we should do the same for other similar functions too.
currently, the Snapshot is only marked as Invalid when the composite snapshot created after the component snapshot is finished. It will not be requeued. So, I didn't add this check in the PR.

Can you please describe in commit message why and how this change fixes the issue?

I updated the code to use "NewGaugeVec" since the unit test need to unregister/register the metric again by using "NewGauge". It's better to use "Reset".

Can you please describe in commit message why and how this change fixes the issue?

I updated the code to use "NewGaugeVec" since the unit test need to unregister/register the metric again by using "NewGauge". It's better to use "Reset".

How change in unitests is going to fix wrong data in grafana?

How change in unitests is going to fix wrong data in grafana?

Can you please describe in commit message why and how this change fixes the issue?

I updated the code to use "NewGaugeVec" since the unit test need to unregister/register the metric again by using "NewGauge". It's better to use "Reset".

How change in unitests is going to fix wrong data in grafana?

Since we'll going to move to "operator-toolkit", we'll going to move to  use "*Vec" metric type. So, I try it and it works indeed.

How change in unitests is going to fix wrong data in grafana?

Can you please describe in commit message why and how this change fixes the issue?

I updated the code to use "NewGaugeVec" since the unit test need to unregister/register the metric again by using "NewGauge". It's better to use "Reset".

How change in unitests is going to fix wrong data in grafana?

Since we'll going to move to "operator-toolkit", we'll going to move to use "*Vec" metric type. So, I try it and it works indeed.

So change from Gauge to singledimensional vector of GaugeVec, which is basically the same thing, fixed our grafana data?

So change from Gauge to singledimensional vector of GaugeVec, which is basically the same thing, fixed our grafana data?
It's different when I am doing test. The data of snapshot_attempt_concurrent_requests keeps as "0" when the Gauge type is being used.

/retest

So change from Gauge to singledimensional vector of GaugeVec, which is basically the same thing, fixed our grafana data?
It's different when I am doing test. The data of snapshot_attempt_concurrent_requests keeps as "0" when the Gauge type is being used. And I can see data change when the GaugeVec is being used.

I don't understand how, https://github.com/prometheus/client_golang/blob/e6d9092bafa813a04c075166690996032302f4b2/prometheus/gauge.go#L235 in source code, it just returns and call standard Gauge from GaugeVec

I don't understand how, https://github.com/prometheus/client_golang/blob/e6d9092bafa813a04c075166690996032302f4b2/prometheus/gauge.go#L235 in source code, it just returns and call standard Gauge from GaugeVec

I didn't dig into it to find the root cause.  I just tried some reasonable way to make it work and avoid the negative number.

Another point why GaugeVec doesn't help: https://paste.centos.org/view/dd247bcb
If I replace GaugeVec with Gauge and reset with set, it works.

Another point why GaugeVec doesn't help: https://paste.centos.org/view/dd247bcb
If I replace GaugeVec with Gauge and reset with set, it works.

set(0) is to set it to a specific value, here is "0". Reset for the GaugeVec is to clear the data.  They are quite different.

Another point why GaugeVec doesn't help: https://paste.centos.org/view/dd247bcb
If I replace GaugeVec with Gauge and reset with set, it works.

set(0) is to set it to a specific value, here is "0". Reset for the GaugeVec is to clear the data. They are quite d

Another point why GaugeVec doesn't help: https://paste.centos.org/view/dd247bcb
If I replace GaugeVec with Gauge and reset with set, it works.

set(0) is to set it to a specific value, here is "0". Reset for the GaugeVec is to clear the data. They are quite different.

Reset just deletes keys from vector
https://github.com/prometheus/client_golang/blob/51d24f86807c24ce866355d0c82258420f571c17/prometheus/vec.go#L95
which are recreated here on WithLabel call
https://github.com/prometheus/client_golang/blob/51d24f86807c24ce866355d0c82258420f571c17/prometheus/vec.go#L504
and thus initialized to 0 as standard Gauge metric
it's like set(0) just with extra steps

I disagree with change from Gauge to GaugeVec, I still cannot understand value behind it.
Gauge is correctly initialized to 0 after creation. I noticed negative value in tests, but I think it comes from the code and frankly I quite don't understand all those initialization and new declarations of metrics in tests files, I'm not even sure what is being tested there.
I tried it also with GaugeVec, and it was not 0 in test without .Reset(), you can do the same with Gauge.Set(0) and IMO it fixes nothing than else unittests anyway.
Following test code works, gauge was initialized to 0, and successfully increased
+       It("Test gauge", func() {
+               TestGauge := prometheus.NewGauge(
+                       prometheus.GaugeOpts{
+                               Name: "test_gauge",
+                               Help: "Test",
+                       },
+               )
+               Expect(testutil.ToFloat64(TestGauge)).To(Equal(float64(0)))
+               TestGauge.Inc()
+               Expect(testutil.ToFloat64(TestGauge)).To(Equal(float64(1)))
+       })
 })

From my understanding, GaugeVec has more advantage than Gauge. Although we haven't begin to use Label, it gives us the ability to extend.  It has more convenient functions,  such as Reset().  If we want to add more metrics in the future, what shall we select between "Gauge" and "GaugeVec"?  I am tending to use "GaugeVec".  If we change to use GaugeVec in the future, we need to change the data present for it sooner or later.

How do you think of the other two changes except the GaugeVec ?  @dirgim @MartinBasti

How do you think of the other two changes except the GaugeVec ? @dirgim @MartinBasti

The other two changes look good to me.

I disagree with change from Gauge to GaugeVec, I still cannot understand value behind it.
Gauge is correctly initialized to 0 after creation. I noticed negative value in tests, but I think it comes from the code and frankly I quite don't understand all those initialization and new declarations of metrics in tests files, I'm not even sure what is being tested there.
I tried it also with GaugeVec, and it was not 0 in test without .Reset(), you can do the same with Gauge.Set(0) and IMO it fixes nothing than else unittests anyway.
Following test code works, gauge was initialized to 0, and successfully increased
+       It("Test gauge", func() {
+               TestGauge := prometheus.NewGauge(
+                       prometheus.GaugeOpts{
+                               Name: "test_gauge",
+                               Help: "Test",
+                       },
+               )
+               Expect(testutil.ToFloat64(TestGauge)).To(Equal(float64(0)))
+               TestGauge.Inc()
+               Expect(testutil.ToFloat64(TestGauge)).To(Equal(float64(1)))
+       })
 })

From my understanding, GaugeVec has more advantage than Gauge. Although we haven't begin to use Label, it gives us the ability to extend. It has more convenient functions, such as Reset(). If we want to add more metrics in the future, what shall we select between "Gauge" and "GaugeVec"? I am tending to use "GaugeVec". If we change to use GaugeVec in the future, we need to change the data present for it sooner or later.

We are back to the original point, that the gaugeVec change is not a fix for this issue and shouldn't be included.
Other changes looks good to me

From my understanding, GaugeVec has more advantage than Gauge. Although we haven't begin to use Label, it gives us the ability to extend. It has more convenient functions, such as Reset(). If we want to add more metrics in the future, what shall we select between "Gauge" and "GaugeVec"? I am tending to use "GaugeVec". If we change to use GaugeVec in the future, we need to change the data present for it sooner or later.

We are back to the original point, that the gaugeVec change is not a fix for this issue and shouldn't be included.
Other changes looks good to me

I seperated it from the current PR and will create a task to follow up it later.

How do you think of the other two changes except the GaugeVec ? @dirgim @MartinBasti

The other two changes look good to me.

Thanks. I updated the current PR and  will leave the GaugeVec part to other task.


HDDS-7834. Remove unnecessary streams

What changes were proposed in this pull request?
Streams are overkill for simple list/set conversion, when no filtering/transformation is applied.  These can be replaced with a simple constructor call.
https://issues.apache.org/jira/browse/HDDS-7834
How was this patch tested?
No functional change, so existing tests cover it.
https://github.com/adoroszlai/hadoop-ozone/actions/runs/3999006508

Thanks @ayushtkn, @dineshchitlangia and @sodonnel for the review.


Revert "Conditions updated to cover better user scenarios"

Reverts apache/incubator-tvm#4951
see https://github.com/apache/incubator-tvm/issues/5015

@tqchen Seems CI is having another problem.


balans is not correct

there is a mix up in the days order.
see screenshots.
it should be sep-oct-nov-dec-jan => 1. 2. 3. 4. 5.
and not : jan-sep-oct-nov-dec
further I would like the sort order to be identical to the ingamer order.
and I see differences in the different blalans rows compared to ingame

.

I'll look into it. Can you provide me the savegame?

the whole savegame attached as zip.
savegame7.zip

Bug will be fixed with the next update


Add GTS plugin

This PR provides implementation of gts_init() and gts_shutdown() used to initialize and destroy gts-specific shared objects, including a shared channel and completion queue to the handshaker service, and used grpc registration mechanism to register them as a plugin.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[qps] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[qps] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[qps] No significant performance differences

[trickle] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] No significant performance differences

accidentally closed the PR.

All comments are addressed. Please checkout the commit - "use grpc plugin registration mechanism".  Since we decided to use grpc's own plugin registration mechanism, I removed all changes to tranport_security.h/c, that are used to implement TSI's own plugin registration machinery. By doing that, there will be three files that are manually modified: 1) init_secure.c, 2) gts_transport_seurity.h/c.

[trickle] No significant performance differences

reopened PR request

Fixed bad merge.

Hopefully it will be the final merge fix

Sorry for repeated open/close of PR (caused by undo operation of pushed commits), and I finally managed to squashed all commits into one, and did a correct merge.
I found that in the sanity check, I keep getting the error "does not name header grpc/grpc.h as a dependency" in gts_transport_security.h, and have no clue on it. Do you have any idea?

[trickle] No significant performance differences

Corrupt JSON data (indicates timeout or crash):
    bm_fullstack_unary_ping_pong.BM_UnaryPingPong_TCP_NoOpMutator_NoOpMutator__0_256k.opt.new: 1

[microbenchmarks] No significant performance differences

Your commit message for the single, squashed commit should reflect what the change is actually doing -- i.e., it should be something like the title of this PR.
The "does not name header grpc/grpc.h as a dependency" error is complaining that your header file is including a file that isn't reflected in the sources_and_headers.json file.  That file is generated by generate_projects.sh, so it's probably a problem in the build.yaml file.  Try adding grpc_base in the uses: section of the tsi target and re-run generate_projects.sh.  You should also add a similar dependency in the BUILD file.

[trickle] No significant performance differences

Thanks Mark for the suggestion. The grpc_base dependency is added to the two build related files, and the issue is resolved. I also updated the commit message to make it more intuitive.

[microbenchmarks] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

The commit message is "modified BUILD and build.yaml to add grpc_base depency squashed multiple commits and fixed a bad merge".  However, that's just the most recent change you made; it's not the main purpose of this commit.  I think the commit message should be something like "Add GTS plugin".

Thanks mark for the clarification. The commit message is changed

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

The PR has been revised, and I am wondering if you have any other comments
on it.
On Fri, Jun 30, 2017 at 7:16 AM, Mark D. Roth<EMAIL_ADDRESS>wrote:

The commit message is "modified BUILD and build.yaml to add grpc_base
depency squashed multiple commits and fixed a bad merge". However, that's
just the most recent change you made; it's not the main purpose of this
commit. I think the commit message should be something like "Add GTS
plugin".
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/pull/11607#issuecomment-312278833, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AZr-awEu1DmfiqMoGmyNKVNaJYDx2ZlXks5sJQM3gaJpZM4OF40T
.

Jenkins: retest this please

[trickle] No significant performance differences

The Jenkins tests have been re-run, and the failed tests seem irrelevant to this PR.

I suspect that the Mac failures are caused by this PR, because I haven't seen those before.  Try temporarily removing the gpr_mu_destroy() from your shutdown function and see if that makes the errors go away -- if it does, then it confirms that the problem is in fact caused by this PR.

[microbenchmarks] No significant performance differences

Corrupt JSON data (indicates timeout or crash):
    bm_fullstack_trickle.BM_PumpStreamServerToClient_Trickle_8_32k.opt.new: 1

[trickle] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Hi Mark,
The problem is found. That is, since the mutex in our code is statically allocated, there is no need to execute gpr_mu_destory() (only necessary for the dynamically allocated mutex) on it. Quoting from Michael Kerrisk's "The Linux Programming Interface"  - "When an automatically or dynamically allocated mutex is no longer required, it should be destroyed using pthread_mutex_destroy(). (It is not necessary to call pthread_mutex_destroy() on a mutex that was statically initialized using PTHREAD_MUTEX_INITIALIZER.)". Regarding PTHREAD_MUTEX_INITIALIZER, it is the macro that can be used to initialize mutex that are statically allocated. The effect is equivalent to dynamic initialization by a call to pthread_mutex_init() with parameter attr specified as NULL, except that no error checks are performed.
I am currently in the process of re-running grpc Jenkins tests and will let you know if all tests are passed.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Unfortunately, it's not okay to simply not destroy the mutex.  While that may be okay for pthreads, the gpr_mu interface is intended to be an abstraction that crosses multiple platforms, so in some cases it will be backed by something other than pthreads.
There must be something else going on here.  We do have other existing gRPC code that uses static mutexes, and they do not have this problem.
@nicolasnoble and/or @ctiller may be able to advise further.

@yihuazhang that comment would be valid if we were initializing static mutexes using PTHREAD_MUTEX_INITIALIZER, but we aren't. We're always initializing all mutexes using pthread_mutex_init, whether they are static or not, and thus must be destroyed using gpr_mu_destroy. So the problem is elsewhere :-)

jenkins: this is ok to test

[trickle] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Jenkins: test this please

Jenkins: this is ok to test

[microbenchmarks] No significant performance differences

Jenkins: this is ok to test.

[trickle] No significant performance differences

Jenkins: this is ok to test.

Jenkins: this is ok to test.

Jenkins: this is ok to test.

Jenkins: this is ok to test.

Jenkins: this is ok to test.

[trickle] No significant performance differences

[trickle] No significant performance differences

Jenkins: this is ok to test.

Jenkins: this is ok to test.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Jenkins: this is ok to test.

Jenkins: this is ok to test.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Jenkins: this is ok to test.

Jenkins: this is ok to test.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Jenkins: this is ok to test.

Jenkins: this is ok to test.

[microbenchmarks] No significant performance differences

Corrupt JSON data (indicates timeout or crash):
    bm_fullstack_trickle.BM_PumpStreamServerToClient_Trickle_2M_256k.opt.new: 1

[trickle] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Jenkins: This is ok to test.

Jenkins: This is ok to test.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Jenkins: this is ok to test.

Jenkins: this is ok to test.

Jenkins: This is ok to test.

Jenkins: This is ok to test.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Hi Mark,
The code has been revised. The problem was in my build.yaml where I did not specify "plugin" field for my gts_plugin. After adding the field and regenerating the project, which automatically updated grpc_plugin_registry and grpc_cronet_plugin_registry, all previous failures in MAC tests have been resolved. I have still got one windows failure (timeout), for which I have little clue regarding its relevance to my PR. Would you please take a look and see if it's relevant?

The Windows test failure is a known issue, #11383.
This looks good.


Too many screenshots found for device 'APP_IPAD_PRO_129' in 'zh-Hans', skipping

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Getting warnings:
Too many screenshots found for device 'APP_IPAD_PRO_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/0_APP_IPAD_PRO_129_0.png)
for my zh-Hans language, but not for my en-US language.

Command executed
fastlane deliver
Complete output when running fastlane, including the stack trace and command used
Geerts-Mac-mini-182:prod geert$ fastlane deliver
[✔] 🚀
[14:41:35]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[14:41:37]: Successfully loaded '/Users/geert/Documents/GitHub/snookercoach-ios/fastlane/prod/Deliverfile' 📄

+----------------+---------------------------+
|    Detected Values from './Deliverfile'    |
+----------------+---------------------------+
| username       |<EMAIL_ADDRESS>   |
| app_identifier | xxxxx |
+----------------+---------------------------+

[14:41:37]: Login to App Store Connect<EMAIL_ADDRESS>[14:41:38]: Login successful

+--------------------------------------+---------------------------+
|                     deliver 2.172.0 Summary                      |
+--------------------------------------+---------------------------+
| screenshots_path                     | ./screenshots             |
| metadata_path                        | ./metadata                |
| username                             |<EMAIL_ADDRESS>   |
| app_identifier                       | xxxxxxx |
| platform                             | ios                       |
| edit_live                            | false                     |
| use_live_version                     | false                     |
| skip_binary_upload                   | false                     |
| skip_screenshots                     | false                     |
| skip_metadata                        | false                     |
| skip_app_version_update              | false                     |
| force                                | false                     |
| overwrite_screenshots                | false                     |
| submit_for_review                    | false                     |
| reject_if_possible                   | false                     |
| phased_release                       | false                     |
| reset_ratings                        | false                     |
| run_precheck_before_submit           | true                      |
| precheck_default_rule_level          | warn                      |
| ignore_language_directory_validation | false                     |
| precheck_include_in_app_purchases    | true                      |
+--------------------------------------+---------------------------+

[14:41:42]: Loading './metadata/zh-Hans/description.txt'...
[14:41:42]: Loading './metadata/zh-Hans/keywords.txt'...
[14:41:42]: Loading './metadata/zh-Hans/release_notes.txt'...
[14:41:42]: Loading './metadata/zh-Hans/support_url.txt'...
[14:41:42]: Loading './metadata/zh-Hans/marketing_url.txt'...
[14:41:42]: Loading './metadata/zh-Hans/promotional_text.txt'...
[14:41:42]: Loading './metadata/zh-Hans/name.txt'...
[14:41:42]: Loading './metadata/zh-Hans/subtitle.txt'...
[14:41:42]: Loading './metadata/zh-Hans/privacy_url.txt'...
[14:41:42]: Loading './metadata/zh-Hans/apple_tv_privacy_policy.txt'...
[14:41:42]: Loading './metadata/nl-NL/description.txt'...
[14:41:42]: Loading './metadata/nl-NL/keywords.txt'...
[14:41:42]: Loading './metadata/nl-NL/release_notes.txt'...
[14:41:42]: Loading './metadata/nl-NL/support_url.txt'...
[14:41:42]: Loading './metadata/nl-NL/marketing_url.txt'...
[14:41:42]: Loading './metadata/nl-NL/promotional_text.txt'...
[14:41:42]: Loading './metadata/nl-NL/name.txt'...
[14:41:42]: Loading './metadata/nl-NL/subtitle.txt'...
[14:41:42]: Loading './metadata/nl-NL/privacy_url.txt'...
[14:41:42]: Loading './metadata/nl-NL/apple_tv_privacy_policy.txt'...
[14:41:42]: Loading './metadata/en-US/description.txt'...
[14:41:42]: Loading './metadata/en-US/keywords.txt'...
[14:41:42]: Loading './metadata/en-US/release_notes.txt'...
[14:41:42]: Loading './metadata/en-US/support_url.txt'...
[14:41:42]: Loading './metadata/en-US/marketing_url.txt'...
[14:41:42]: Loading './metadata/en-US/promotional_text.txt'...
[14:41:42]: Loading './metadata/en-US/name.txt'...
[14:41:42]: Loading './metadata/en-US/subtitle.txt'...
[14:41:42]: Loading './metadata/en-US/privacy_url.txt'...
[14:41:42]: Loading './metadata/en-US/apple_tv_privacy_policy.txt'...
[14:41:42]: Loading './metadata/copyright.txt'...
[14:41:42]: Loading './metadata/primary_category.txt'...
[14:41:42]: Loading './metadata/secondary_category.txt'...
[14:41:42]: Loading './metadata/primary_first_sub_category.txt'...
[14:41:42]: Loading './metadata/primary_second_sub_category.txt'...
[14:41:42]: Loading './metadata/secondary_first_sub_category.txt'...
[14:41:42]: Loading './metadata/secondary_second_sub_category.txt'...
[14:41:42]: Loading './metadata/review_information/first_name.txt'...
[14:41:42]: Loading './metadata/review_information/last_name.txt'...
[14:41:42]: Loading './metadata/review_information/phone_number.txt'...
[14:41:42]: Loading './metadata/review_information/email_address.txt'...
[14:41:42]: Loading './metadata/review_information/demo_user.txt'...
[14:41:42]: Loading './metadata/review_information/demo_password.txt'...
[14:41:42]: Loading './metadata/review_information/notes.txt'...
[14:41:42]: Verifying the upload via the HTML file can be disabled by either adding
[14:41:42]: `force true` to your Deliverfile or using `fastlane deliver --force`
[14:41:42]: Does the Preview on path './Preview.html' look okay for you? (y/n)
y
[14:41:45]: HTML file confirmed...
[14:41:48]: Will begin uploading metadata for '8.4.3' on App Store Connect
[14:41:48]: Release type will not be set because neither `automatic_release` nor `auto_release_date` were provided. Please explicitly set one of these options if you need a release type set
[14:41:48]: Uploading metadata to App Store Connect for version
[14:41:52]: Uploading metadata to App Store Connect for localized version 'zh-Hans'
[14:41:52]: Uploading metadata to App Store Connect for localized version 'en-US'
[14:41:52]: Uploading metadata to App Store Connect for localized version 'nl-NL'
[14:41:52]: Uploading metadata to App Store Connect for localized info 'zh-Hans'
[14:41:52]: Uploading metadata to App Store Connect for localized info 'nl-NL'
[14:41:52]: Uploading metadata to App Store Connect for localized info 'en-US'
[14:41:55]: Uploading app review information to App Store Connect
[14:41:57]: Will begin uploading snapshots for '8.4.3' on App Store Connect
[14:41:57]: Starting with the upload of screenshots...
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/0_APP_IPAD_PRO_129_0.png)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/1_APP_IPAD_PRO_129_1.jpg)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/2_APP_IPAD_PRO_129_2.png)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/3_APP_IPAD_PRO_129_3.jpg)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/4_APP_IPAD_PRO_129_4.png)
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/0_APP_IPHONE_55_0.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/1_APP_IPHONE_55_1.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/2_APP_IPHONE_55_2.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/3_APP_IPHONE_55_3.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/4_APP_IPHONE_55_4.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/0_APP_IPHONE_65_0.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/1_APP_IPHONE_65_1.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/2_APP_IPHONE_65_2.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/3_APP_IPHONE_65_3.png'...
[14:41:57]: Previous uploaded. Skipping './screenshots/zh-Hans/4_APP_IPHONE_65_4.png'...
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_3GEN_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/0_iPad Pro (12.9-inch) (3rd generation)_0.jpg)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_3GEN_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/1_iPad Pro (12.9-inch) (3rd generation)_1.jpg)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_3GEN_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/2_iPad Pro (12.9-inch) (3rd generation)_2.jpg)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_3GEN_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/3_iPad Pro (12.9-inch) (3rd generation)_3.jpg)
[14:41:57]: Too many screenshots found for device 'APP_IPAD_PRO_3GEN_129' in 'zh-Hans', skipping this one (./screenshots/zh-Hans/4_iPad Pro (12.9-inch) (3rd generation)_4.jpg)
[14:42:06]: Uploaded './screenshots/en-US/1_APP_IPAD_PRO_129_1.png'... (8.930867 secs)
[14:42:07]: Uploaded './screenshots/en-US/0_APP_IPAD_PRO_129_0.png'... (9.125175 secs)
[14:42:08]: Uploaded './screenshots/en-US/3_APP_IPAD_PRO_129_3.png'... (10.131424 secs)
[14:42:09]: Uploaded './screenshots/en-US/4_APP_IPHONE_55_4.png'... (11.477731 secs)
[14:42:10]: Uploaded './screenshots/en-US/4_APP_IPAD_PRO_129_4.png'... (12.353635 secs)
[14:42:10]: Uploaded './screenshots/en-US/2_APP_IPAD_PRO_129_2.png'... (12.920277 secs)
[14:42:12]: Uploaded './screenshots/en-US/3_APP_IPHONE_55_3.png'... (14.622383 secs)
[14:42:13]: Uploaded './screenshots/en-US/0_APP_IPHONE_55_0.png'... (15.818715 secs)
[14:42:15]: Uploaded './screenshots/en-US/0_iPad Pro (12.9-inch) (3rd generation)_0.jpg'... (4.728152 secs)
[14:42:16]: Uploaded './screenshots/en-US/1_iPad Pro (12.9-inch) (3rd generation)_1.jpg'... (3.479023 secs)
[14:42:16]: Uploaded './screenshots/en-US/2_APP_IPHONE_55_2.png'... (18.465971 secs)
[14:42:18]: Uploaded './screenshots/en-US/2_iPad Pro (12.9-inch) (3rd generation)_2.jpg'... (4.201662 secs)
[14:42:19]: Uploaded './screenshots/en-US/3_APP_IPHONE_65_3.png'... (10.420844 secs)
[14:42:19]: Uploaded './screenshots/en-US/0_APP_IPHONE_65_0.png'... (13.072147 secs)
[14:42:20]: Uploaded './screenshots/en-US/4_iPad Pro (12.9-inch) (3rd generation)_4.jpg'... (4.32202 secs)
[14:42:21]: Uploaded './screenshots/en-US/3_iPad Pro (12.9-inch) (3rd generation)_3.jpg'... (5.344447 secs)
[14:42:22]: Uploaded './screenshots/en-US/4_APP_IPHONE_65_4.png'... (11.723207 secs)
[14:42:22]: Uploaded './screenshots/en-US/1_APP_IPHONE_65_1.png'... (15.311554 secs)
[14:42:22]: Uploaded './screenshots/en-US/1_APP_IPHONE_55_1.png'... (24.792172 secs)
[14:42:24]: Uploaded './screenshots/en-US/2_APP_IPHONE_65_2.png'... (16.305679 secs)
[✔] Waiting for all the screenshots processed...
[14:42:31]: Successfully uploaded all screenshots
[✔] Sorting screenshots uploaded...
[14:42:33]: Successfully uploaded screenshots to App Store Connect
[14:42:33]: Finished the upload to App Store Connect
[14:42:33]: Running precheck before submitting to review, if you'd like to disable this check you can set run_precheck_before_submit to false
[14:42:33]: Running precheck 👮♀ 👮

+--------------------------+---------------------------+
|             Summary for precheck 2.172.0             |
+--------------------------+---------------------------+
| default_rule_level       | warn                      |
| include_in_app_purchases | true                      |
| app_identifier           | xxxx |
| username                 |<EMAIL_ADDRESS>   |
| platform                 | ios                       |
| use_live                 | false                     |
+--------------------------+---------------------------+

[14:42:33]: Checking app for precheck rule violations
[14:42:46]: Reading in-app purchases. If you have a lot, this might take a while
[14:42:46]: You can disable IAP checking by setting the `include_in_app_purchases` flag to `false`
[14:43:16]: Done reading in-app purchases
[14:43:16]: ✅  Passed: No negative  sentiment
[14:43:16]: ✅  Passed: No placeholder text
[14:43:16]: ✅  Passed: No mentioning  competitors
[14:43:16]: ✅  Passed: No future functionality promises
[14:43:16]: ✅  Passed: No words indicating test content
[14:43:16]: ✅  Passed: No curse words
[14:43:16]: ✅  Passed: No words indicating your IAP is free
[14:43:16]: ✅  Passed: Incorrect, or missing copyright date
[14:43:20]: ✅  Passed: No broken urls
[14:43:20]: precheck 👮♀ 👮  finished without detecting any potential problems 🛫

Environment
🚫 fastlane environment 🚫

### Stack

| Key                         | Value                                                          |
| --------------------------- | -------------------------------------------------------------- |
| OS                          | 11.1                                                           |
| Ruby                        | 2.6.3                                                          |
| Bundler?                    | false                                                          |
| Git                         | git version 2.24.3 (Apple Git-128)                             |
| Installation Source         | /usr/local/bin/fastlane                                        |
| Host                        | macOS 11.1 (20C69)                                             |
| Ruby Lib Dir                | /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib |
| OpenSSL Version             | LibreSSL 2.8.3                                                 |
| Is contained                | false                                                          |
| Is homebrew                 | false                                                          |
| Is installed via Fabric.app | false                                                          |
| Xcode Path                  | /Applications/Xcode.app/Contents/Developer/                    |
| Xcode Version               | 12.4                                                           |

### System Locale

| Error                       |
| --------------------------- |
| No Locale with UTF8 found 🚫 |

### fastlane files:

**No Fastfile found**

**No Appfile found**

### fastlane gems

| Gem      | Version | Update-Status |
| -------- | ------- | ------------- |
| fastlane | 2.172.0 | ✅ Up-To-Date  |

### Loaded fastlane plugins:

**No plugins Loaded**

Loaded gems

| Gem                       | Version      |
| ------------------------- | ------------ |
| did_you_mean              | 1.3.0        |
| slack-notifier            | 2.3.2        |
| atomos                    | 0.1.3        |
| CFPropertyList            | 2.3.6        |
| claide                    | 1.0.3        |
| colored2                  | 3.1.2        |
| nanaimo                   | 0.2.6        |
| xcodeproj                 | 1.15.0       |
| rouge                     | 2.0.7        |
| xcpretty                  | 0.3.0        |
| terminal-notifier         | 2.0.0        |
| unicode-display_width     | 1.7.0        |
| terminal-table            | 1.8.0        |
| plist                     | 3.5.0        |
| public_suffix             | 2.0.5        |
| addressable               | 2.7.0        |
| multipart-post            | 2.0.0        |
| word_wrap                 | 1.0.0        |
| tty-screen                | 0.7.1        |
| tty-cursor                | 0.7.1        |
| tty-spinner               | 0.9.3        |
| artifactory               | 3.0.15       |
| babosa                    | 1.0.3        |
| colored                   | 1.2          |
| highline                  | 1.7.10       |
| commander-fastlane        | 4.4.6        |
| excon                     | 0.73.0       |
| unf_ext                   | <IP_ADDRESS>      |
| unf                       | 0.1.4        |
| domain_name               | 0.5.20190701 |
| http-cookie               | 1.0.3        |
| faraday-cookie_jar        | 0.0.6        |
| faraday                   | 1.0.1        |
| faraday_middleware        | 1.0.0        |
| fastimage                 | 2.1.7        |
| gh_inspector              | 1.1.3        |
| json                      | 2.1.0        |
| mini_magick               | 4.10.1       |
| rubyzip                   | 2.3.0        |
| security                  | 0.1.3        |
| xcpretty-travis-formatter | 1.0.0        |
| dotenv                    | 2.7.5        |
| bundler                   | 1.17.2       |
| naturally                 | 2.2.0        |
| simctl                    | 1.6.8        |
| jwt                       | 2.1.0        |
| uber                      | 0.1.0        |
| declarative               | 0.0.10       |
| declarative-option        | 0.1.0        |
| representable             | 3.0.4        |
| retriable                 | 3.1.2        |
| mini_mime                 | 1.0.2        |
| multi_json                | 1.14.1       |
| signet                    | 0.13.0       |
| memoist                   | 0.16.2       |
| os                        | 1.0.1        |
| googleauth                | 0.11.0       |
| httpclient                | 2.8.3        |
| google-api-client         | 0.38.0       |
| google-cloud-env          | 1.3.1        |
| google-cloud-errors       | 1.0.0        |
| google-cloud-core         | 1.5.0        |
| digest-crc                | 0.5.1        |
| google-cloud-storage      | 1.25.1       |
| emoji_regex               | 1.0.1        |
| jmespath                  | 1.4.0        |
| aws-partitions            | 1.290.0      |
| aws-eventstream           | 1.0.3        |
| aws-sigv4                 | 1.1.1        |
| aws-sdk-core              | 3.92.0       |
| aws-sdk-kms               | 1.30.0       |
| aws-sdk-s3                | 1.61.1       |
| forwardable               | 1.2.0        |
| logger                    | 1.3.0        |
| stringio                  | 0.0.2        |
| ipaddr                    | 1.2.2        |
| openssl                   | 2.1.2        |
| ostruct                   | 0.1.0        |
| strscan                   | 1.0.0        |
| date                      | 2.0.0        |
| fileutils                 | 1.1.0        |
| etc                       | 1.0.1        |
| io-console                | 0.4.7        |
| zlib                      | 1.0.0        |
| libxml-ruby               | 3.1.0        |
| rexml                     | 3.1.9        |
| psych                     | 3.1.0        |
| mutex_m                   | 0.1.0        |
| webrick                   | 1.4.2        |

*generated on:* **2021-01-31**

Hey @hixfield 👋
Since you're using iPad Pro (12.9-inch) (3rd generation) this should be working accordingly.
Set overwrite_screenshots to true and it should work 👍

Should I use other names for the normal ipad screenshots?


Turn StepAggregator into middleware

Currently StepAggregator implements Workflow, but this doesn't seem quite right. The StepAggregator, after all, only has a couple of lines that really have to do with steps. It would be better to split those lines into a dedicated class, say StepProcessor, and add that as a middleware to some base Workflow class (or maybe as an argument to process()).

I am not sure I can follow. The idea of steps is that you have an extension point in the workflow.
Would you like to make it more abstracted?
Without steps you only have  basic workflow which can read and write.

There is one possible, really big advantage of making steps into a middleware architecture: Currently the filtering behavior is based on the return value of a Step. Thus every non-filtering step has to return true.
In a middleware architecture it is not a problem. Middlewares are free to decide whether they want to advance to the next one, or break the chain.
This way writers could also be part of the chain.
The downside is that priorities are not allowed in a middleware chain.

I also wonder if it takes more/less performance than  the current architecture.

@ddeboer  Would you like to do this before or after the migration?

This can wait, as it’s just a vague idea and I would have to experiment a bit to see whether it works out.


module 'cbpro' has no attribute 'WebsocketClient'

I try to run this example that appear in the readme
# import PyMongo and connect to a local, running Mongo instance
from pymongo import MongoClient
import cbpro
mongo_client = MongoClient('mongodb://localhost:27017/')

# specify the database and collection
db = mongo_client.cryptocurrency_database
BTC_collection = db.BTC_collection

# instantiate a WebsocketClient instance, with a Mongo collection as a parameter
wsClient = cbpro.WebsocketClient(url="wss://ws-feed.pro.coinbase.com", products="BTC-USD",
    mongo_collection=BTC_collection, should_print=False)
wsClient.start()

and I got this  error

AttributeError: module 'cbpro' has no attribute 'WebsocketClient'

I check with the pip freeze and I got his version
cbpro==1.1.4
Even  I try to install direct from de repo
pip install git+git://github.com/danpaquin/coinbasepro-python.git
and continue with the same issue

Are you still seeing this? I'm unable to reproduce. I've tried Python 2.7 and 3.8 and I've tried both the pip version and the git version of cbpro.

Hi, i have same error with both WebsocketClient and OrderBook examples from ReadMe.
Stack from the simple Websocket example:

Traceback (most recent call last):
File ".\websocket.py", line 1, in
import cbpro
File "C:\Users\hechix\AppData\Local\Programs\Python\Python38\lib\site-packages\cbpro_init_.py", line 3, in
from cbpro.websocket_client import WebsocketClient
File "C:\Users\hechix\AppData\Local\Programs\Python\Python38\lib\site-packages\cbpro\websocket_client.py", line 15, in
from websocket import create_connection, WebSocketConnectionClosedException
File "C:\Users\hechix\Documents\python\Coinbase\tests\websocket.py", line 4, in
wsClient = cbpro.WebsocketClient(url="wss://ws-feed.pro.coinbase.com",
AttributeError: partially initialized module 'cbpro' has no attribute 'WebsocketClient' (most likely due to a circular import)

Stack from OrderBook example:

Traceback (most recent call last):
File ".\orderbook.py", line 1, in
import cbpro, time
File "C:\Users\hechix\AppData\Local\Programs\Python\Python38\lib\site-packages\cbpro_init_.py", line 3, in
from cbpro.websocket_client import WebsocketClient
File "C:\Users\hechix\AppData\Local\Programs\Python\Python38\lib\site-packages\cbpro\websocket_client.py", line 15, in
from websocket import create_connection, WebSocketConnectionClosedException
File "C:\Users\hechix\Documents\python\Coinbase\tests\orderbook.py", line 2, in
order_book = cbpro.OrderBook(product_id='BTC-USD')
AttributeError: partially initialized module 'cbpro' has no attribute 'OrderBook' (most likely due to a circular import)

I have all the packages updated

Package Version

cbpro 1.1.4
pymongo 3.5.1
requests 2.25.0
requests-oauthlib 1.3.0
six 1.15.0
sortedcontainers 2.2.2
websocket-client 0.40.0

Same issue here, eve with pip install websocket-client==0.40.0
Please advise

I have the same issue as well.
AttributeError: module 'cbpro' has no attribute 'WebsocketClient'

I have the same issue as well.
AttributeError: module 'cbpro' has no attribute 'WebsocketClient'


IntelliSense is not working after latest update

Environment data

VS Code version: 1.51.1
Extension version (available under the Extensions sidebar): 2020.11.371526539
OS and version: Darwin x64 19.6.0
Python version (& distribution if applicable, e.g. Anaconda): 3.8.2
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: N/A
Relevant/affected Python-related VS Code extensions and their versions: N/A
Value of the python.languageServer setting: Microsoft

[NOTE: If you suspect that your issue is related to the Microsoft Python Language Server (python.languageServer: 'Microsoft'), please download our new language server Pylance from the VS Code marketplace to see if that fixes your issue]
Expected behaviour
IntelliSense to show suggestions
Actual behaviour

Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

Create new document
Set language to Python
enter the following code:

import os
os.

Press ctrl+space

Thanks for your feedback! We have recently released a new and more performant language server called Pylance which likely solves these issues you are reporting.  You can download Pylance from the marketplace and install it alongside the core Python extension. Because our team's development efforts have shifted to support the new language server, we'd encourage you to try it out.


do not use S3 file presence as indicator of whether gsnap should be run

the check_s3_file_presence function does not distinguish operational errors from legitimate absence of the file in s3;  i researched what work would be needed to distinguish operational error from file absence and it's nontrivial;  the approach of doing retries is just a bandaid
so instead why don't we have a flag that specifies whether or not gsnap should run;   if the flag says to run gsnap, and we can't fetch the index in a couple retries, the job should just crash
right now if we can't fetch the index we just skip gsnap and steam ahead without flagging any error
there is a similar problem where stage 2 determines whether or not it is running on single or paired end reads by just checking how many files it can see in s3;  again this is not the most robust way to handle it;  the metadata is available in the UI so should be passed to the pipeline;  the pipeline should thus know what to expect, and assert if the state of s3 mismatches the expectation

Btw I already fixed the "similar problem where stage 2 determines whether or not it is running on single or paired end reads by just checking how many files it can see in s3".    It now looks to see if stage 1 ran gsnap by checking the entry in status.json.


Implement an internal search solution that includes multiple sources

As giant swarm staff, I want to be able to search through our wiki sites, including the docs, handbook, intranet, and possibly other sources.
As Is
In the current implementation of the search functionality in our documentation, a proxy called docs-proxy forwards all search-related requests to an elastic search instance with indices for our docs and blog.
To Be
If the user is authenticated as giant swarm staff we want to include other indices in the search, e.g. the intranet.
To accomplish that we need to authenticate the user somewhere along the search process.
One way to do that is to check and validate the oauth2-proxy cookie, which is already used for authentication for our intranet.

[x] Try to authenticate the user inside the docs-proxy
[ ] Perform search with different indices if the user is authenticated
[ ] Index handbook
[ ] Index intranet

The current situation regarding the authentication:
https://gigantic.slack.com/archives/C02FJACQ3D4/p1669972207019829

Closed in favor of https://github.com/giantswarm/giantswarm/issues/25054


NIFI-2507 Added Canned ACL support to PutS3Object

@tequalsme, thanks for contributing this, I think it's a great idea.  I will review.

@tequalsme , would you please update the integration test ITPutS3Object.testGetPropertyDescriptors() (from ITPutS3Object.java:314)?  The test currently fails on line 317 after finding 26 property descriptors on PutS3Object rather than the expected 25.  You might also add a check for the CANNED_ACL descriptor.

Thanks for the update, @tequalsme, I verified:

Property descriptor name/displayName updated
Reformated createCannedACL is appreciated, thanks
Exception error message from bad canned ACL names is reasonably intelligible
Updated integration test ITPutS3Object.testGetPropertyDescriptors is passing
Comments are a nice enhancement, and the generated Javadoc looks good

I will squash, rebase, and merge shortly.


Create an utility class for common checkings on equals methods

Now that the model classes hashCode(), equals(Object) and toString() methods have been refactored (#22) there's some issue that has emerged.
For equals() method, the EqualsBuilder cannot do the following checks:

Input object is null.
Input object reference is the same as calling object reference.
Input object class is not the same as calling object class.

This is done as it follows and it is the same for all classes:
if (this == obj)
    return true;
if (obj == null)
    return false;
if (getClass() != obj.getClass())
    return false;

Therefore, I believe that it would be great to have an additional utility class that receives two objects and performs does checkings. Somewhat like:
public static boolean checkReference(Object leftSide, Object rightSide);

The change is so small that I barel think it worths the time, but it could be done if I don't have anything else to do.

It won't be done at the end, at least for now.
The problem is that the helper class is not able to break the flow of  equals(...) as it is impossible to distinguish beetwen the two true results:

When both objects references to the same, equals should return true immediately.
When both objects are of the same class, equals should analize each field and return depending on that.


Events do not fire

Hi All,
I need some guidance - not sure what Im doing wrong...
I can connect, send messages with this lib but I cant receive anything.
Below code worked well with s22.xmpp - not sure what changed how I should change it
Eg using below code I cant receive any messages nor status changes information
cl = new XmppClient(hostname, username, password);
cl.Message += Cl_Message;
cl.StatusChanged += Cl_StatusChanged;
cl.Connect();

Hi,
I had the same pb due to my my poor experience to XMPP and the way this library is working ...
You need to use the Service Discovery extension once connected in order to inform the server which XEP you are using.
I add to add code in XmppIm.cs for this ... Perhaps there is a best way but I don't know how.
The code looks like this:
// List of extensions we want to manage
Extension[] extensions = new Extension[] { Extension.Ping, Extension.MessageCarbons, Extension.MultiUserChat, Extension.ChatStateNotifications };
ServiceDiscovery serviceDiscovery = GetExtension<ServiceDiscovery>();
serviceDiscovery.Supports(core.Jid.Domain, extensions);

Hope this help.
Regards
NOTE: I'm working to add WebSocket support on this library. I have already a functional project for basic scenario (connection + presence + ping + message)

Many thanks replying. Im just starting with XMPP and this is still very dimmed area to me...
Can you please were precisely I should add those lines in XmppIm.cs
I try to search for serviceDiscovery / extensions etc but coudnt find good place
Appreciate if you can share wider  context or XmppIm.cs file copy

In file XmppIm.cs
In
public Roster Connect(string resource = null) { ... }
just after
EstablishSession();
It should worked.
I can't shared directly my fil since i'm adding webSocket support

Works well now ! Thanks !!!!
Im marking this as closed
BTW. Maybe you can also advice re #67 ?
(Apologs being insistent but this is last functionality which stops me to switch to this great lib)

@maciey There is a close button at the bottom of this page. Please use that to close this issue.

@maciey There is a close button at the bottom of this page. Please use that to close this issue.


Update Configure the Control Section

This section talks about Data Summary It looks like now it is called Data Description
https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-ai-copilot#configure-the-control-optional

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

ID: b23b4520-df38-e5a5-01f2-69879db2895e
Version Independent ID: b23b4520-df38-e5a5-01f2-69879db2895e
Content: Add Copilot control to a canvas app - Power Apps
Content Source: powerapps-docs/maker/canvas-apps/add-ai-copilot.md
Service: powerapps
Sub-service: canvas-maker
GitHub Login: @mduelae
Microsoft Alias: tapanm

Thanks for your comment, @yosoyx. This issue has been assigned to the doc author for review.


TypeError: function() argument 'code' must be code, not str

First Check

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

Commit to Help

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

Example Code
from fastapi import FastAPI
from app.model.test import Upscale

app = FastAPI()

class TextIn(Upscale):
    org_url: str

class TextOut(Upscale):
    url: str

@app.get("/")
def home():
    return {"health_check": "OK"}

@app.post("/post", response_model=TextOut)
def UpSc(payload: TextIn):
    textwrap = Upscale(payload.org_url)
    return {"url": "url"}

Description
Hello,
I used a tutorial from YouTube to-do my code. It is a simple api request. But when I want to run my project as a docker, I get this message:
"TypeError: function() argument 'code' must be code, not str"
i found this error on google, but nothing helped. Anyone an idea what I am doing wrong?
Thank you.
the traceback:
Traceback (most recent call last):   File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker     worker.init_process()   File "/usr/local/lib/python3.9/site-packages/uvicorn/workers.py", line 66, in init_process     super(UvicornWorker, self).init_process()   File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process     self.load_wsgi()   File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi     self.wsgi = self.app.wsgi()   File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi     self.callable = self.load()   File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load     return self.load_wsgiapp()   File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp     return util.import_app(self.app_uri)   File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app     mod = importlib.import_module(module)   File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module     return _bootstrap._gcd_import(name[level:], package, level)   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load   File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked   File "<frozen importlib._bootstrap>", line 680, in _load_unlocked   File "<frozen importlib._bootstrap_external>", line 850, in exec_module   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed   File "/app/app/main.py", line 9, in <module>     class TextIn2(TextIn1):
Operating System
Windows
Operating System Details
Requirments.txt:
boto3
opencv-contrib-python-headless
opencv-python-headless
numpy
FastAPI Version
0.86.0
Python Version
python: 3.9
Additional Context
No response

The above code will never result in this traceback. Please try to create an as minimal reproducible example as possible, and copy paste the traceback that you are trying to fix.
Also, it seems you have copied the traceback but left out the most important line (traceback rarely ends in :). From the above, it would be quite hard to say anything meaningful to help you.

Yep, thanks @JarroVGIT for the help! 🚀


WIP: adding new pdftk wrapper + tests

This branch is a work in progress
Changes:

creating a separate module for handling pdftk, per discussions of separable units of the project
added a skeleton for unit tests
added unit test for running pfdtk commands
new make test.unit command

Sooo ...
Now that all these tests are in place for parsing the form, I tried to run it on a file that had a broader set of fields with some more variations
It worked waayy better than I expected. It looks like we are a very short distance a way from supporting many more field types! Check out the field data that was extracted:
https://gist.github.com/bengolder/5ddaa3fb553743b6ab70

Merging. But there are more tests to come, and eventually tasks.py will be deprecated.


rename master/slave on db cluster

Keeping in line with current trends, rename the master / slave to  primary / replica
This will require a fork of teh source manifest: https://github.com/jelastic-jps/mysql-cluster/

duplicate


feat: add requestParameters

Closes #1401
Background
requestParameters contains critical information for incident responders that should be surfaced as part of the alert context.
Changes

Adds requestParameters to the dict returned by aws_rule_context() helper function

Testing

@pbnj-dragon in general I really like this addition, my only hesitation is that requestParameters can sometimes be quite large.  Here are some stats for a 24 hour CloudTrail log sample:
{ 	"avg_length": 140.80603, 	"avg_num_elements": 1.830889, 	"max_length": 10109, 	"max_num_elements": 15, 	"min_length": 11, 	"min_num_elements": 1 }
I'm checking internally to see if we have a recommended maximum for alert context, but curious if there are specific sub-fields or eventNames within CloudTrail that we could narrow this down to.

Hi @arielkr256 ,

but curious if there are specific sub-fields or eventNames within CloudTrail that we could narrow this down to.

It's less about particular sub-fields and more about the full context associated with the event.
We are trying to provide the full context in the alert that is sent out of Panther (e.g. Jira Alert Destination). Without that context, the alert is inactionable. For a "Public RDS Restore" alert, for example, users are presented with basic info (e.g. region, event name, event source, AWS account ID, source IP address, user agent, user/caller identity), but no info about the resource itself that the alert is about (e.g. db instance identifier, db snapshot identifier, db subnet group, db port, ...etc), all of which is in the requestParameters.

Public RDS Restore Alert
{
  "awsRegion": "...",
  "eventName": "RestoreDBInstanceFromDBSnapshot",
  "eventSource": "rds.amazonaws.com",
  "recipientAccountId": "111222333444",
  "sourceIPAddress": "xx.xx.xx.xx",
  "userAgent": "...",
  "userIdentity": {
    "accessKeyId": "ASIAXXX",
    "accountId": "111222333444",
    "arn": "...",
    "principalId": "...",
    "sessionContext": {
      "attributes": {
        "creationDate": "YYYY-MM-DDTHH:MM:SSZ",
        "mfaAuthenticated": "false"
      },
      "sessionIssuer": {
        "accountId": "111222333444",
        "arn": "...",
        "principalId": "...",
        "type": "Role",
        "userName": "..."
      },
      "webIdFederationData": {}
    },
    "type": "AssumedRole"
  }
}


Fix typing

Will consider after the refactor of normalise_request

Have to reject, the recent changes have made this a bit out of sync


Rename csv-export plugin to grafana-exporter

What
Rename the current csv-exporter plugin (NOT the builtin csv exporter - only the plugin in if-plugins to grafana-exporter
Why
We currently have a pair of csv export features - one is a builtin feature that exports a general purpose, more human readable CSV file for a given metric. The other is a plugin that exports a CSV representation of the tree in a format that works well as a data source for grafana visualizations. It is not obvious to users which one to use, especially because there is csv-specific config in a manifest and it can be very confusing which config refers to which plugin. Longer term, we will want to implement a more robust solution to this problem, likely involving a new standard for export features, but for now we can ease the situation substantially with a simple name change. This will enable users to quickly distinguish the CSV export they really want and enable easier separation of config in manifest files.
Context
This was stimulated by the following bug report: https://github.com/Green-Software-Foundation/if-plugins/issues/78
Prerequisites/resources
None
SoW (scope of work)

[ ] rename csv-exporter plugin to grafana-exporter
[ ] update unit tests and manifests that invoke the plugin
[ ] update README documentation and references on if.greensoftware.foundation

Acceptance criteria

[ ] the csv-exporter plugin in if-plugins is renamed to grafana-exporter

GIVEN the file and function name has been udpated
WHEN a user navigates to the if-plugins repository
THEN they will not see any references to csv-export, but they will find grafana-exporter

[ ] Unit tests are updated to use the new name

GIVEN the file and function name has been udpated
WHEN a developer runs the unit tests for grafana-exporter
THEN: all the unit tests pass

[ ] Manifests invoking the csv-exporter are updated to use grafana-exporter

GIVEN the file and function name has been udpated
WHEN a developer runs all the manifests in if repository
THEN: no manifests fail due to misnaming of grafana-exporter plugin

[ ] Documentation has been updated

GIVEN the file and function name has been udpated
WHEN a user reads our documentation (in READMEs in if or if-plugins or on if.greensoftware.foundation
THEN: no references to csv-exporter exist but instructions for using grafana-exporter do exist

Code, tests and readme changes are in https://github.com/Green-Software-Foundation/if-plugins/pull/86

Capturing the status in the weekly call: @narekhovhannisyan could review


BUILD FAILED please update compileSdkVersion to 30

The error message indicates that the react-native-image-to-pdf library is expecting a compileSdkVersion of 30 or above to compile Java 9+ source code. You have previously updated the compileSdkVersion to 30, but it seems that the library or some configuration still expects a different setting.
react-native info
Android SDK:
API Levels:
  - "28"
  - "30"
  - "32"
  - "33"
  - "34"
Build Tools:
  - 30.0.3
  - 33.0.1
  - 34.0.0

Java:
version: 17.0.9
path: /opt/jdk-17.0.9+9/bin/javac

Change the compileSdkVersion to 30 in node_modules/react-native-image-to-pdf/android/build.gradle and run npx patch-package react-native-image-to-pdf


Update CODEOWNERS

Reference issue:

https://github.com/ai-cfia/github-workflows/issues/112

Proposing a first update for CODEOWNERS to integrate the nachet team for review.

This can be done with a script already implemented. If this is important you can add the issue to our next iteration and Ill execute the script to integrate the project teams with relevant repos. Also can you please update issue with list of new project teams and expected behaviour

This can be done with a script already implemented. If this is important you can add the issue to our next iteration and Ill execute the script to integrate the project teams with relevant repos. Also can you please update issue with list of new project teams and expected behaviour

Updated the issue to list the teams and the repo they are responsible for.


[BUG] Label Association events not received

Describe the bug
Label Associations events not received
Socket Config:
const sock = makeWASocket({
		version,
		logger,
		printQRInTerminal: !usePairingCode,
		browser: Browsers.baileys('Chrome'),
		syncFullHistory: true,
		auth: {
			creds: state.creds,
			/** caching makes the store faster to send/recv messages */
			keys: makeCacheableSignalKeyStore(state.keys, logger),
		},
		msgRetryCounterCache,
		generateHighQualityLinkPreview: true,
		// ignore all broadcast messages -- to receive the same
		// comment the line below out
		// shouldIgnoreJid: jid => isJidBroadcast(jid),
		// implement to handle retries & poll updates
		getMessage,
	})

Receiving events with:
sock.ev.process(
		async(events) => {
// ...
                       if(events['labels.association']) {
				console.log('labels.association', events['labels.association'])
			}
                 }
	)

were you able to solve it?

Hi, sorry for not getting back earlier,
I found a work around, there's some sort of glitch, if you add\delete labels\labelAssociations when the initial sync is happening, the problem will go and labelAssociation events will be received afterwards.

It not worked to me :(


mutex for Shared Exchange Array

hello, what kind of share memory consistency guaranteed by the Shared Exchange Array? Can you give some example using mutex lock etc? thanks.

Hi @brandsblair2020,
I adopted the Shared Exchange Array from InterProcessCommunication.jl. It is more a re-definition in order to put code together. All IPC actions should be gained with tools from that package 😊.

I tried the InterProcessCommunication.jl, and got some issue, which I raised to the author, but he hasn't replied yet. From what I have read from the source code, the code was using Unix's pthread, which will have issues with other platform. I am thinking about implementing a version to resolve these issues. Are you interested to join?

@brandsblair2020 sorry for the late reply. Was quite busy the last days. During porting and adapting, I just focused on Linux and thus, the InterProcessCommunication.jl support was totally fine for and I left other OS on the side.
I am seeing the benefit in order to port it. Unfortunately, my time budget is almost exhausted and hence, it would be hard to contribute in a co-operational manner :(.


Readme: Making Request and Response types explicit in Lambda.run call…

…back

thanks @fabianfett this is probably the right thing to do given #107. I think we should also update the examples in the Examples directories as they additional source of copy/paste
Also, from a formatting pov, why break the signature to a separate line?

@tomerd I've added the line breaks to ensure the callback is better visible in mobile.

Removed them for now though

@swift-server-bot test this please


Add beforeHtml and afterHtml options to form groups

This PR adds support for formGroup: { beforeHtml: '', afterHtml: '' }
It's part of a fix suggested by @36degrees in https://github.com/alphagov/govuk-frontend/issues/1602#issuecomment-913740373 to solve these issues:

https://github.com/alphagov/govuk-frontend/issues/924
https://github.com/alphagov/govuk-frontend/issues/1602

I don't think it'd have to be specific to hints though – we could allow e.g. an 'arbitrary' formGroup.beforeHtml / formGroup.afterHtml to be passed, which might also be useful for scenarios like those described in #924

This is a supporting change to enable https://github.com/alphagov/govuk-frontend/pull/4566

Given recent discussions about the limitations of components that inherit other components (i.e. character count and EtP), I'm quite interested in this!
I'm less sure how much benefit there is to doing it this universally, though.
Being able to insert custom HTML after an input/before the form group closes seems like it will have some utility; but I can't really see much benefit in putting something at the start of the group before the label, hint and error message (or fieldset).
I don't think doing that's a behaviour we'd expect, and having it as an option doesn't seem like it'd help users do anything they can't usually already do by putting their custom HTML prior to the form group and potentially futzing with margins.
It feels like what we might actually want is the ability to inject HTML before and after the input element, rather than the form group as a whole. I'm not sure how well that might work in cases of radios or checkboxes, or text inputs using prefixes/suffixes, but it seems closer to what is desired in the linked issues.

That's great @querkmachine
To solve https://github.com/alphagov/govuk-frontend/issues/1602 we only really need to add content after the <textarea>
So I'm open to narrowing it down and/or chuck me some ideas for renaming the options

I agree that this could solve #1602, but I don't think it's necessarily a fix for #924, and I'm also not sure there are many situations outside of #1602 where having these parameters available would facilitate solving a problem.
For example, if I were wanting to add a icon before a text input, I wouldn't be able to do that here because beforeHtml comes before everything (label, hint and error message included) and afterHtml is after the input. The content order could be reversed with flexbox (although WCAG might preclude that), but the icon and input still wouldn't share a wrapper and we can't insert one ourselves with those parameters, making it similarly difficult.
This similarly wouldn't really help us solve other issues with nested components, like in the password input we're currently developing.
Code-wise I don't really see anything harmful with having the options, I just also don't see much use in them when compared to something akin to a beforeInput and afterInput—though I realise those may not work so well for controls like radios and checkboxes.
Would be interested in having this shopped around to other devs for their thoughts.

@querkmachine Using beforeInput and afterInput works for me, would that help?
When inserting Character count's <textarea> your suggestion would work identically
For radios and checkboxes we'd see the custom HTML move within the <fieldset> but that's alright?


qemu: receive qmp event when stop vm

receive qmp event when start a qmp connect. This is useful for issue
1368, when send a quit qmp request to qemu, but vm shutdown first, and
not response for the quit qmp request. So receive the shutdown event to
judge whether vm is exited.
Fix: #1368
Signed-off-by: Ace-Tang<EMAIL_ADDRESS>

Hi, @devimc , could you help to see if the patch make sense ?

/test

@Ace-Tang any updates? Thx!

@raravena80 ， actually, I am not sure it is ok to make this change, code is not elegant

@Ace-Tang do you want to close this? and re-open later with a better change?

@Ace-Tang I think its better if can check if the qmp.disconnectedCh is closed(indicating conneection has been lost) and check that the qmp.sock no longer exits to verify that the qemu instance has exited on receiving an error on qmp.ExecuteQuit. I dont think you can rely on SHUTDOWN msg, esp if you execute a kill -9 on the qemu process.
@markdryan What do you think?

Yes this is correct.  Looking at govmm, this doesn't seem to be documented very well, which is probably what has led to the confusion.  However, qmp.disconnectedCh, is closed when the instance dies, either of its on accord or because it has been terminated using ExecuteQuit.  There is an example of how to do this.
https://github.com/intel/govmm/blob/master/qemu/examples_test.go#L84
disconnectedCh exists for this very reason.  It provides a race free way for the govmm client to know when a QEMU instance has actually quit.

ping @Ace-Tang

I will close it now, since I do not have enough time on fix this problem


Skip some recursion tests.

Copied from PR https://github.com/AztecProtocol/barretenberg/pull/60

Original author: @codygunton
This copy uses branches with git history restored

The set of stdlib recursion tests seems to be overkill, given that we are going to significantly change recursion before it's ever put into production again. Reducing that set of tests to speed up CI time.

This may become unnecessary after the composers are finally split, at which point we will start to use check_circuit for most stdlib tests. We also have a totally new kind of recursion coming in with cycle of curves, and testing this will look very different. We are also about to start running tests from the Noir repo which will blow up CI time to > 15 mins, most likely. Finally, to really get CI time down we would have to also change how we test biggroup. Given all of this, I'm going to close this PR with the understanding that we will address the underlying issue in an appropriate manner in the future.


Model now sends didUnload event when record is removed

I'd really like to be able to bump ember-orbit and pick this up asap, whatever you need from me let me know!

Looks great @gnarf - thanks! New version forthcoming very soon.

v0.5.1 has been tagged and pushed :shipit:


Leverage native fetch support

Consider using native node fetch support instead of the library node fetch, iff benchmarks show native node fetch to outperform or equal node fetch
https://news.ycombinator.com/item?id=30161626

Hi @LifeIsStrange. Actually, that is the case.

If globalThis.fetch is available, will be used instead.

ohmyfetch always prefers native global fetch over node-fetch implementation wheen available.

@pi0 Thanks for the fast answer :)


Hotfixes for device registry

WHAT DOES THIS PR DO?

[x] renable Kafka
[x] added input validation for creation of AirQlouds.
[x] new endpoint for getting summarised details of locations. locations/summary
[x] Closes https://github.com/airqo-platform/AirQo-api/issues/973

WHAT ISSUES ARE RELATED TO THIS PR?

[x] AirQlouds summary.
[x] Create AirQlouds
[x] Bulk decrypt keys

@Baalmart

@Baalmart

It has been resolved, please test again. Thanks @NoahNsimbe


Xcode 10, Apple Watch (arm64_32) minimum deployment

This bundle is invalid. Applications built for more than one architecture require an iOS Deployment Target of 3.0 or later.
You have to set the deployment target for all watchOS targets (although it says iOS) to 3.0 or higher..
By upload to App Store Connect we have one error to minimumOS deployment. It's ok after editing your info.plist file (Carthage build watchOS) to 3.0.

Maybe this error is only for Xcode10 but this library must be to supported Xcode 9.X
You can change the podfile:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['WATCHOS_DEPLOYMENT_TARGET'] = '3.0'
    end
  end
end

Reference: https://forums.developer.apple.com/thread/108408

Having the same issue with carthage, any updates about this?


Uncaught TypeError: this.linterRegistry.unregister is not a function

[Enter steps to reproduce:]

...
...

Atom: 1.20.0 x64
Electron: 1.6.9
OS: Mac OS X 10.12.6
Thrown From: linter-verification package 0.5.1
Stack Trace
Uncaught TypeError: this.linterRegistry.unregister is not a function
At /Users/bmac/.atom/packages/linter-verification/lib/linters/verification-linter.js:42

TypeError: this.linterRegistry.unregister is not a function
    at DafnyLinter.dispose (/packages/linter-verification/lib/linters/verification-linter.js:42:25)
    at /packages/linter-verification/lib/main.js:80:24
    at wrapped (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:101:22)
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at TextEditor.module.exports.TextEditor.destroyed (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:661:26)
    at TextEditor.module.exports.Model.destroy (/Applications/Atom.app/Contents/Resources/app/src/model.js:31:64)
    at Pane.module.exports.Pane.destroyItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:707:66)
    at Pane.module.exports.Pane.destroyActiveItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:683:18)
    at Workspace.closeActivePaneItemOrEmptyPaneOrWindow (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:1716:48)
    at HTMLElement.core:close (/Applications/Atom.app/Contents/Resources/app/src/register-default-commands.js:233:38)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:265:35)
    at /Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:65
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:100:42)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:3:65)

Commands
  4x -2:37.5.0 linter-ui-default:toggle-panel (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)
     -2:11.6.0 editor:newline (input.hidden-input)
     -2:10.5.0 autocomplete-plus:confirm (input.hidden-input)
     -2:08.8.0 linter-ui-default:toggle-panel (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)
  8x -1:59.4.0 core:backspace (input.hidden-input)
  2x -1:55 autocomplete-plus:confirm (input.hidden-input)
     -1:48.2.0 editor:delete-to-beginning-of-line (input.hidden-input)
  5x -1:27.3.0 core:backspace (input.hidden-input)
     -1:22.5.0 editor:newline (input.hidden-input)
     -1:21 linter-ui-default:toggle-panel (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)
     -0:22.4.0 core:close (input.hidden-input)

Non-Core Packages
atom-ide-ui 0.3.2
busy-signal 1.4.3
intentions 1.1.5
language-dafny 0.1.0
linter 2.2.0
linter-ui-default 1.6.9
linter-verification 0.5.1

Thank you for reporting this. This package was written with linter v1 in mind. Since linter has since released v2 of their API, so it's likely some issues may arrise.
I'm no longer actively developing linter-verification, because I'm in the process of writing a new package specifically for Dafny: dafny-workbench
It has not yet been published to Atom's package registery, but can be installed via the command line as a git package with apm install Alchiadus/dafny-workbench. Atom will offer to update the package every time a new commit is pushed to the master branch of the repository.
It has been completely rewritten and should provide a (much) more stable experience, along with some other enhancements like the ability to stop a verification task (for example because there's infinite recursion in the verification process).
There is one bug that you may encounter that I am aware of. When you start Atom with several Dafny files already open, there may be a status bar icon for every Dafny file. Simply switching to any open file should properly hide them. As far as I've seen, this only occurs on Mac OS X.
If you're inclined to test dafny-workbench, any and all feedback or issue reports would be welcome!


New feature request: Screen always on

It would be extremely useful to have the possibility of keeping the screen awake while watching the video streaming. I had to use other apps to do that and it is quite annoying.
Thanks!

I've added the necessary setting to the video activity. Thanks for the suggestion.


Enable -o options for gcsfuse

Allow users to pass kernel flags via -o to gcsfuse.
The issue is fixed by the commit https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver/commit/f5bb30d58824c523415cd76e6bc074ff925307f5
The fix will be included in the next release v0.1.4.
The doc will be updated before the release.

Fixed in the release v0.1.4.


Native libs don't get copied using indirect package references

I have a .NET Standard 2.0 library that references and uses this package. If I then reference my package, which references this one, the native libs in the x64 and x86 directories are never copied. IIRC they don't even get copied when building my library, which directly references. I have to explicitly add this package to a project with an executable output in order to see those native libs get copied to the out dir.
Tooling/runtime deets:

I believe this is expected behavior.
In general, yes, you have to reference the package from your actual app/exe project in order to get the native platform-specific stuff handled properly.  This is normal behavior for packages that use the so-called bait-and-switch trick to handle platform-specific stuff.
Although, actually, I just tried a case involving .NET Core, and the behavior seems different.  I created a .NET Standard 2.0 library, and then a .NET Core 2.0 console app.  The lib references SQLitePCLRaw.bundle_e_sqlite3, and the app references only the library project.  Running the app seems to work.  This suggests that the behavior of native platform-specific things in a transitive reference is being done differently, but I don't know if the key difference is .NET Core or merely PackageReference.

Well it seems counterintuitive that programs referencing my nuget package which explicitly depends on this package need to find this package manually in nuget and add it. And they won't know they need to do this until they try to run the program and it explodes the universe.
I have another .net core project where I consistently handle copying native libs to the end user application by incorporating a targets file to handle that. If anyone would like I could implement that here and do a pr.

Btw the user figuring it out and manually adding via nuget is best case scenario. In truth most people will go to use my library and when it explodes just shrug and dismiss it as another junk package written by yet another pretend programmer. Methinks this isn't proper behavior.

Just to be clear, what platform/configuration is being used in the project you mention in the original post, the one where you see the problem?

@ericsink Yeah I filed this quickly and didn't give any repro info.
.Net Standard 2.0 library references this library.
Create .NET Standard or .NET full (4.6.1 or greater) console app, add my lib via nuget.
Compile, boom no native libs for sqlite copied to console app bin dir (x86/x64 dirs + contents).

And I should also clarify:  I am not one of the maintainers of Microsoft.Data.Sqlite, and I'm not speaking for them.  I just thought I would chime in to try and help.
(I do maintain SQLitePCL.raw, which is a dependency of Microsoft.Data.Sqlite.)

@ericsink Gotcha, appreciate your input.

OK, so if the console app is .NET Framework (.NET full, .NET classic, whatever), then my claim that this behavior is expected (albeit lamentable) does apply.  Or rather, I should just say it this way:  For that configuration, the behavior you describe does not surprise me.
Like I said above, it does seem to me that a .NET Core project handles the transitive reference in a "better" way.
One thing I haven't tried, but am curious about:  What would happen with a .NET Framework project, but using PackageReference in the csproj, instead of packages.config?  AFAIK, this requires hand editing the csproj, so it's not of help in addressing usability issues.  I'm just curious.

I'm sure it is "normal" behavior with current tooling I'm just saying it
probably shouldn't be. It makes no sense that I only get half the package
payload with an indirect reference. It doesn't surprise me because I had to
manually fix this in one of my projects.
You're right on the money in terms of editing csproj directly and there's a
Microsoft article about doing this .net standard libs. You edit the csproj
and manually incorporate a targets file that handles ensuring native libs
get copied to end user project.
If they want a pr I can do it in no time.
On Nov 27, 2017 12:44 AM, "Eric Sink"<EMAIL_ADDRESS>wrote:

OK, so if the console app is .NET Framework (.NET full, .NET classic,
whatever), then my claim that this behavior is expected (albeit lamentable)
does apply. Or rather, I should just say it this way: For that
configuration, the behavior you describe does not surprise me.
Like I said above, it does seem to me that a .NET Core project handles the
transitive reference in a "better" way.
One thing I haven't tried, but am curious about: What would happen with a
.NET Framework project, but using PackageReference in the csproj, instead
of packages.config? AFAIK, this requires hand editing the csproj, so it's
not of help in addressing usability issues. I'm just curious.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Microsoft.Data.Sqlite/issues/458#issuecomment-347084506,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKtty5KMoRyGKL_4FFU987IksS7Y2olgks5s6kxWgaJpZM4Qqlen
.

Example of the above described modifications:
https://github.com/TechnikEmpire/CitadelCore.Windows/blob/master/CitadelCore.Windows/CitadelCore.Windows/build/CitadelCore.Windows.targets
https://github.com/TechnikEmpire/CitadelCore.Windows/blob/master/CitadelCore.Windows/CitadelCore.Windows/CitadelCore.Windows.csproj
The targets file and the modifications on the tail end of the csproj ensure that the bundled native libs get copied properly.

I'm sure it is "normal" behavior with current tooling I'm just saying it
probably shouldn't be.

Agreed. We passed this along to the NuGet team a while ago (NuGet/Home#5841), but it wasn't enough to change the design or allow for exceptions.

@bricelam Thanks for the link to the external issue. You can overcome this limitation with a targets file and modifications to the csproj, I've linked to how I've accomplished this with my own .NET standard lib that bundles pinvoked native libraries. Anyway thanks for looking into it either way.

FWIW, SQLitePCL.raw does use the targets file technique in some cases.  I haven't looked closely at the example you linked, but my experience in this area tells me to be skeptical about a simple fix.  SQLitePCL.raw covers a lot of different platforms.

Well the fix is a documented one. It's right in official Ms articles about bundling targets into your project and nuget package. I certainly didn't come here trying to advertise garbage that doesn't work. The solution works and it's documented by Microsoft. Anyway take it or leave it.
https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#including-msbuild-props-and-targets-in-a-package
Related data is on the same page and not necessarily all at the heading I linked to.

No offense was intended.  :-)
I am familiar with the docs you linked.  Cheers.

I think this discussion is related to the problem I'm currently having, but I'm not sure what the answer is here.
I have a ASP.NET Core MVC application that consumes a .Net Core library that references the SQLite package. (Microsoft.Data.Sqlite.Core 2.0.0)
That can consume and utilize the library quite happily, generating databases with a connection string of "Data Source=webapp.sqlite3;"  However, then created a xUnit Core Test Library, referenced my library and tried to call some of the methods and I get "You need to call SQLitePCL.raw.SetProvider()...".
So, I'm wondering what's causing the difference between the two usages of the library.  Both consume the SQLite package indirectly, specifically via the reference to the library I have that exposes the functionality.  Is it because the test library has no real application "context"?  (I'm grasping at straws here...)

@toddlang If you add SQLitePCLRaw.bundle_green to the projects, does the problem go away? If not, this is probably a different issue.

Actually, you're probably hitting a similar but different MSBuild quirk. Since SQLitePCLRaw.batteries_v2.dll isn't used by your class library, MSBuild won't transitively copy it into projects that reference your class library.

It's unusual that it works from the MVC app, but not from the test library then, no?  Not sure how to go about adding that SQLitePCLRaw to the project.  I just imported the Nuget package and went to town...works for the app, not for the test library.

@toddlang If you want to submit a new issue with additional details (e.g. a repro project) I can investigate further.
Closing this issue as external to Microsoft.Data.Sqlite, since we've done everything we can using the NuGet features available to us.


fix app Crash when tapping on the nearbyNotification

Description (required)
Fixes #4086
What changes did you make and why?
Add the setNearbyParentFragmentListener() in MainActivity of  centerMapToPlace() function
becouse when mapBox is ready in nearbyParentFragment then  ->onMapReady() function called
onMapReady() function calll to   ->nearbyParentFragment.centerMapToPlace(place)
Tests performed (required)
Android Device:Redmi y3;
API :28

Codecov Report

Merging #4139 (de3494c) into master (1ccb357) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

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

@nicolas-raoul view my PR


Error with Linen Cape multiple projectiles possibly due to EpicLoot Tripple shot enchant

[Here is the error. Happened while shooting a Gjall with an enchanted Skystrike bow. First time seeing it. Will try to reproduce it. I can't confirm that it's multiplying the already enchanted tripple shot or if they just ignore each other.
 I wasn't using the einjerjar cape, i was wearing the Linen cape. I thought it might be a conflict between the cape and enchant both attempting to add extra projectiles. I still have the seed saved where the issue occured I can try to reproduce the issue.

The patch for the cape still runs regardless, of whether the cape is in the world or not, something maybe was given a random status effect that was the cape's effect? Either way 1.2.91 should fix this

Sounds great. I'll try to test it when I can.

Doesn't seem to be erroring with and without a bow with Tripple shot. So i think you can close this one as of the latest release.

Thanks Jester! Maybe this was the safeguards I added. Nobody else reported it so I'll close it for now


Transition to using OpenOptions for json::file

Use OpenOptions to open the file for json::file, set to append data to the file if it existed already when the function was called
Fixes #7

I'm not the most happy with that solution but I'm not sure how else I could do it

@killercup Fairly sure that's everything done


New Bossbar Announcer

There will be implemented commands to send bossbar announcements.
The syntax of the commands has to be written in a wiki.
Resolves #3

Added wiki


Support for python -m module

Is it possible for argcomplete to work for modules run as python -m module? This is necessary to do once you start organizing your code in a module (rather than just a single script) to make relative imports work correctly, but I don't really want to make a separate entry point script if I don't have to.
I am using global completion and it isn't working, at least not out of the box.

Currently, this is not supported. To support this, we would need to recognize this type of invocation in the completer shell script, track down the module, check it for the global completion magic string, and run it. This is possible but could be fragile, and I doubt many people need this use case.

The only other way to run a script that's in a module (not a .py file) is to create an entry point script, which is often overkill. Just running the .py script from the module (like python module/script.py) doesn't work because relative imports do not work correctly.
How about at least enabling manual completion (not global completion)? Is there a complete command that I can run that will make this work>

Yes, I understand, but unfortunately it's not easy to accommodate that use case. To understand why, you need to know that bash completion works by keying on the first word on the command line (python in this case) and dispatching to a shell function registered as its completer, followed by a global fallback completer if that function returns no completions. Take a look at https://github.com/kislyuk/argcomplete/blob/master/scripts/register-python-argcomplete and https://github.com/kislyuk/argcomplete/blob/master/argcomplete/bash_completion.d/python-argcomplete.sh to understand how those shell functions work. One of the two functions would have to understand that you're trying to run a module that supports completion - either by overloading the completer function for python or, in the global fallback case, by finding the module separately and scanning its contents for the global completion magic string - and then run the module in completion mode.
You're welcome to try doing this, but I'm afraid any solution here may be brittle.

You can get Python's import machinery to tell you the path to a module without actually importing it, then use that to check if it contains the marker. From there the rest of it should work as normal, except you'll also need to tell the library to drop an extra argument from sys.argv.

I have a proof-of-concept for this here: https://github.com/evanunderscore/argcomplete/tree/module

Very cool. Imp is deprecated though, last I read the docs. Otherwise I'm open to it

It's not deprecated in 2.7, and there are no alternatives to imp.find_module. Would you be happy with adding a backport of importlib as a dependency for older versions?

Yes, I'd prefer a backport of importlib.

For packages, do we expect users to understand that completing package.module will run package/__init__.py? Or do we require them to put the PYTHON_ARGCOMPLETE_OK marker in that file too?

Regarding the choice of import library - the only backport of importlib I can find is importlib2, which is "not yet released and the code base may be unstable". Its last activity was in 2014. In its current state it doesn't work for me, though I haven't yet bothered to dig into why. For simplicity I'd prefer to stick with imp, even though it's deprecated - I've seen no indication of when (or even if) it is going to be removed.

I don't want to use imp. We can either write and publish a backport ourselves (as a separate package), vendor a backport of the relevant portion of importlib, make this functionality available in python 3.x only, or add a shim like this to https://github.com/kislyuk/argcomplete/blob/master/argcomplete/compat.py:
if USING_PYTHON2:
    def find_spec(name):
        import imp
        return namedtuple("ModuleSpec", "name origin")(name, imp.find_module("argcomplete")[1])
else:
    from importlib.util import find_spec

Alternative implementation using importlib: https://github.com/evanunderscore/argcomplete/tree/module-importlib
I went with the last option but didn't put it in compat.py to avoid giving the impression that it is a true replacement for find_module. How do you feel about this approach? Also I noticed most (but not all) files have a copyright notice at the top - should I include one in this new file?

PR is up. I'll let @kislyuk review before I merge.


check existing attribute keys before import

used be there in 5.6 https://github.com/concrete5/concrete5-legacy/blob/master/web/concrete/core/libraries/content/importer.php#L548

This PR breaks the installation: there's a missing use Database

thanks @mlocati I guess I should set up a proper 5.7 dev environemnt..


Molex EIP tool

A great tool for EIP is the free molex EIP tool. It can be used to send EIP messages to a device for testing. This is a free tool for anyone to download.
https://www.molex.com/mx_upload/superfamily/iccc/EtherNet_IPTool.html

Feel free to submit a PR to get it included. Otherwise I will look to add it when I have a chance.

added here: https://github.com/ITI/ICS-Security-Tools/commit/23e3c6acead2a6215692cb7ff1dededab2eb7a9b