Fix laika.py runtime error due to older pefile included in Dockerfile

Saw a closed issue related to a pefile induced runtime error when running laika.py. The included change to the Dockerfile updates pefile and when I run laikaboss now in a container created using the change, the error is no longer there.

Nice catch!
To make things easy, I've created a pull request (#22) to remove the install of python-pefile from apt repo and simply use pip package manager (since that version of pefile does not have the issue).
I've also updated the Dockerfile on Dockerhub so the issue should be resolved with future Docker pulls.
Hope this helps!

Sounds good to me!

Push to Dockerhub is complete.
Thanks again!

But I just tried to use the command
docker pull wzod/laikaboss
to get the latest container but when I run this container and check what pefile I have (with pip show pefile) I am told I have <IP_ADDRESS>. This version still has the bug in it. Laikaboss needs version: 1.2.10-114.
What happened? The manual upgrade method I used which did not remove mention of pefile from the apt-get section and had the upgrade option specifically in it works. I need to do a docker build with a local copy of the Laikaboss docker file still to get the error message go away.
I rescinded my own pull request thinking your was going to fix things.
Am I doing anything wrong?
Jim

On Oct 22, 2015, at 1:02 AM, Zod<EMAIL_ADDRESS>wrote:
Nice catch!
To make things easy, I've created a pull request (#22 https://github.com/lmco/laikaboss/pull/22) to remove the install of python-pefile from apt repo and simply use pip package manager (since that version of pefile does not have the issue).
I've also updated the Dockerfile on Dockerhub so the issue should be resolved with future Docker pulls.
Hope this helps!
—
Reply to this email directly or view it on GitHub https://github.com/lmco/laikaboss/pull/21#issuecomment-150106561.

The push just completed 4 minutes ago; please try again.  I just tested on my end and no longer see the issue with pefile.

Yes — just tried again and now it works.
I guess I was premature in trying out the updated dockerfile.
Thanks.
Jim

On Oct 22, 2015, at 1:37 AM, Zod<EMAIL_ADDRESS>wrote:
The push just completed 4 minutes ago; please try again. I just tested on my end and no longer see the issue with pefile.
—
Reply to this email directly or view it on GitHub https://github.com/lmco/laikaboss/pull/21#issuecomment-150112649.

Excellent!
Thanks again for pointing out the issue with pefile!

Jim / Zod - Thanks for finding & fixing this issue!


feature: Compile sprout and sapling parameters into the Zebra binary

Motivation
The zcashd team have recently started compiling the Sprout and Sapling parameters into their binary:

What we are now doing is we have bundled the Sprout verification and the sapling proving and verification parameters into the Zcashd binary.
Whereas now the largest component of these is the sapling spend parameters, which are about 50 megabytes.
If you take the existing release binaries and add about 16 megabytes, that's going to be approximately the right ballpark.

https://github.com/ZcashCommunityGrants/arboretum-notes/blob/main/AllArboristCallNotes/Arborist Call 61-Notes.md#1-zebrad-status---zebra-update
We've had issues with the parameter download server being unreliable or rate-limited before. They are likely to get worse now that ECC is no longer using it on a regular basis.
Specifications
This bundled-prover feature allows access to bundled Sapling parameters:
https://docs.rs/zcash_proofs/latest/zcash_proofs/prover/struct.LocalTxProver.html#method.bundled
I'm not sure if there is a Rust crate for bundled Sprout verification parameters.
Complex Code or Requirements
This might make our CI builds slower to link, or use more disk space.
Testing
Our existing unit tests cover this code, but we might want to check that our integration tests have run on Sprout and Sapling transactions. We can do that by checking the block heights from the cached state to the tip had those transactions.
Sapling is common, but Sprout is rare now.
Related Work
We might need to do this as after the zcashd 5.7.0 release, depending on ECC's API deprecations and download server support guarantees.

Hey team! Please add your planning poker estimate with Zenhub @arya2 @oxarbitrage @teor2345 @upbqdn

What I still need to do today is:

load Sprout parameters from the binary. I'm going to do this the same way as zcashd
delete unused parameter download code and dependency features, to resolve unused code warnings
remove the known download issue from the README
update any docs that mention parameter downloads

Once that's done, we can open other tickets or PRs to:

Ignore the debug_skip_parameter_preload config, remove the code that implements it, and any test code that sets it
Remove zcash-params/Dockerfile, and anywhere it is used in workflows and the main Dockerfile
After Dockerfile change, remove the zebrad download command, the download task, and related code

Is there anything I'm missing?


feat(*): Adds custom time package for better marshalling

This package mainly exists to workaround an issue in Go where the serializer doesn't omit an empty value for time: https://github.com/golang/go/issues/11939. This replaces all release and hook object time references with the new time package so things actually marshal correctly.
I also have a second commit that wraps most of the stdlib Time object methods so we can use our time wrapper without any weird conventions. This can be popped off and discarded if not desired.
I fully admit this adds some code and mental overhead, but in service of good output for users of the CLI and SDK. If we consider this trade off too much, I have no problem just closing this PR. See the thread starting here for additional context.
Supersedes: #6229
Fixes #6163

ewww, but it works so :man_shrugging:
What if we made pkg/time internal? internal/time

@bacongobbler I was going to do the same thing, but because this time type is used in external packages, it needs to be exported so consumers of the SDK can use it. However, I am in favor of adding a very clear warning to the documentation for the package that it is not subject to the same backwards compatibility guarantees. What do you think?

@hickeyma There isn't a PR pending for this issue in Go. The issue has been open for 4 years with multiple closed PRs attached to it, and the proposal seems to be stuck based on the labels (Proposal-Hold), so that isn't my worry.
My main worry is around having this code to maintain with the trade off in value in provides. I really don't like marshaling out random timestamp strings that represent a zero value in Go, but are nonsense to anyone else. We could add custom marshaling to each object with a timestamp, but I think that would be even more brittle than this option (it was what I did on my first try).
tl;dr: Is the user experience here (sane empty values) worth the code overhead?


UIDS-59 Add optional autoDismiss prop to Flash component

Closes #59

Academic discussions aside -- I think this is safe to merge as it is.


Add a function powerOfTwoGreaterThanNumber

I have added one file to your repository, this file contains a function which take a number and returns the power of two which is directly greater than the given number. I have also added a test file and a README file.

How can I complete my checks ?, I remark that I need to do the continuous integration but how can I do it ?
Thanks

To be honest, this looks more like basic logarithm operations for a math class and less like a CS algorithm for this repo. Maybe if the code found the first 1 in the binary representation and cleared bits on the right?

To be honest, this looks more like basic logarithm operations for a math class and less like a CS algorithm for this repo. Maybe if the code found the first 1 in the binary representation and cleared bits on the right?

For you I should not use the logarithm operation ? because this looks more like the math class ?

I'm not commenting on the code itself, I'm commenting on its inclusion in the project which has the usual bunch of CS algorithms. Calculating the "next power of two" is just applying the well-known logarithm function. In my opinion, it doesn't fit here. But I'm not the maintainer, just giving my two cents.

Ok. I understand that you say. But I wanted to do it because I have another contribution for this repository and which use it, then I have seen better to separate it.
This is my first pull request. I am a beginner, I would like to learn about git GitHub and JavaScript.


Add Orin Nano

Description of changes
This adds support for the "Orin Nano".  At least from the flashing scripts perspective, it is basically the same as an Orin NX.  (Or rather, an Orin NX is the same as an Orin Nano).
Closes #76
Testing
Tested by booting on an Orin Nano + devkit

Currently, I've tested that it can boot off the network and is accessible over the serial pins on the devkit.  I haven't hooked up a display to it, but if it is like the Orin AGX, then I don't believe the console is expected to work, just X11 and wayland.

I am able to get NixOS up over the serial console and installed and booting off a microSD card.
But I cannot get X11 to work at all and provide display output. I tried enabling modesetting in the nvidia-jetpack option group and that did not help.

```
(II) NVIDIA(0): Creating default Display subsection in Screen section
        "Screen-nvidia[0]" for depth/fbbpp 24/32
(==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Option "AllowEmptyInitialConfiguration" "true"
(**) NVIDIA(0): Enabling 2D acceleration
(II) Loading sub module "glxserver_nvidia"
(II) LoadModule: "glxserver_nvidia"
(II) Loading /nix/store/vl7jvh572swjsll0hrarb2967jc44lhk-nvidia-l4t-3d-core-35.3.1-20230319081403/lib/xorg/modules/extensions/libglxserver_nvidia.so
(II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
        compiled for <IP_ADDRESS>1, module version = 1.0.0
        Module class: X.Org Server Extension
(II) NVIDIA GLX Module  35.3.1  Release Build  (bugfix_main)  (buildbrain@mobile-u64-6289-d7000)  Sun Mar 19 08:02:08 PDT 2023
(II) NVIDIA: The X server supports PRIME Render Offload.
(--) NVIDIA(0): Valid display device(s) on GPU-0 at SoC
(--) NVIDIA(0):     DFP-0
(--) NVIDIA(0):     DFP-1
(WW) NVIDIA: No DRM device: Direct render devices found but none could be
(WW) NVIDIA:     used.
(II) NVIDIA(0): NVIDIA GPU Orin (nvgpu) (GA10B) at SoC (GPU-0)
(--) NVIDIA(0): Memory: 6631800 kBytes
(--) NVIDIA(0): VideoBIOS:
(EE) NVIDIA(GPU-0): Failed to acquire modesetting permission.
(EE) NVIDIA(0): Failing initialization of X screen
(II) UnloadModule: "nvidia"
(II) UnloadSubModule: "glxserver_nvidia"
(II) Unloading glxserver_nvidia
(II) UnloadSubModule: "wfb"
(II) UnloadSubModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/dev/null" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
```

Going to merge as-is for now. Will create a follow up issue for X11 not working.


fd_renumber difference.

Test Case
The c test case is:
#include <stdio.h>
#include <stdlib.h>
#include <wasi/api.h>
#include <fcntl.h>
#include <unistd.h>

int get_fd(const char *filename, int flags) {
    int fd = open(filename, flags);

    if (fd == -1) {
        printf("Get file descriptor of file %s failed!\n", filename);
        return -1;
    } else {
        printf("Get file descriptor of file %s succeed!\n", filename);
        return fd;
    }
}

void closebyfd(int fd) {
    if (close(fd) == -1) {
        printf("Close the file %d by descriptor failed!\n", fd);
    }
}

int fd_renumber_00001_1x8fd(int fd) {
    printf("Enter function fd_renumber_00001_1x8fd.\n");

    int new_fd = get_fd("subdir_1/subdir_2/subfile_1", O_RDONLY);
    __wasi_errno_t result = __wasi_fd_renumber(fd, new_fd);

    if (result != 0) {
        printf("Error %d while renumbering file descriptors.\n", result);
        return result;
    } else {
        printf("Successful file descriptors %d.\n", result);
        printf("Leave fd_renumber_00001.\n");
        closebyfd(new_fd);
        return result;
    }

}

int main() {
    int fd = get_fd("softfile_3", O_RDONLY);
    if (fd == -1) {
        return -1;
    }

    fd_renumber_00001_1x8fd(fd);

    return 0;
}

Steps to Reproduce
(1)compile to wasm:./wasi-sdk-21.0/bin/clang --target=wasm32-unkown-wasi --sysroot=./wasi-sdk-21.0/share/wasi-sysroot test.c -o test.wasm
(2)Running wasm:
(Before run the Wasm file, file softfile_3, subdir_1/subdir_2/subfile_1 and subdir_2/subdir_1/subfile_1 exists, and softfile_3 is softlink file points to file subdir_2/subdir_1/subfile_1.
Before run the Wasm file, change the permission of subdir_1/subdir_2/subfile_1 into 0200(-w-------) . )
wasmtime run --dir=. test.wasm
Expected Results
Print:
Get file descriptor of file softfile_3 succeed!
Enter function fd_renumber_00001_1x8fd.
Get file descriptor of file subdir_1/subdir_2/subfile_1 failed!
Error 8 while renumbering file descriptors.

This is what WAMR and WasmEdge  do.
Actual Results
wasmtime prints:
Get file descriptor of file softfile_3 succeed!
Enter function fd_renumber_00001_1x8fd.
Get file descriptor of file subdir_1/subdir_2/subfile_1 failed!
Successful file descriptors 0.
Leave fd_renumber_00001.

Since the permission of subdir_1/subdir_2/subfile_1 is 0200, which only contains write permission, and subdir_1/subdir_2/subfile_1 is opened with O_RDONLY, getting the file descriptor of subdir_1/subdir_2/subfile_1 failure is expected.
However, getting the file descriptor of subdir_1/subdir_2/subfile_1 fails, but renumbering file descriptors succeed.
Versions and Environment
Wasmtime version or commit: 19.0.2 and 13.0.1
Operating system: Ubuntu 20.04
Architecture: x86_64

Wasmtime considers the entire space of u32 numbers as valid file descriptors for preview 1, so the renumber to -1 is a renumber to<PHONE_NUMBER>. I don't think this is a bug. It is still possible to show the call to open failed because the WASI fd_open interface (implements open inside libc) has a distinct way to return the failure vs successfully opening fd<PHONE_NUMBER>.

Closing per Pat's explanation, but feel free to reopen with an explanation if you disagree, @Userzxcvbvnm!


Can we enable/disable the shortcut at the renderer process?

I want to enable/disable the shortcut based on the status of a UI component, like show or hidden. Is it possible to achieve that on the renderer process?

Yes, it is possible, using disableallwindow and  enableallwindow

@hackjutsu that solution actually solve your problem?

Yep!


Listing possible new providers

Requirements: free, no API key required (can be done fully clientside)
Research Paper

Arxiv API: https://arxiv.org/help/api/user-manual#search_query_and_id_list
Unpaywall (free research article search): https://unpaywall.org/products/api

General search

Unofficial google news: https://github.com/DatanewsOrg/google-news-js
Duckduckgo Instant answers API: https://duckduckgo.com/api
Wikipedia (MediaWiki): https://www.mediawiki.org/wiki/API:Main_page

Code

https://docs.github.com/en/rest

Bing Search API: https://www.microsoft.com/en-us/bing/apis/pricing

https://lobste.rs/ is another great place to get comments from, it's link aggregating website like hackernews.

Good idea! Seems like it doesn't have a direct API, so we have to do some scraping.

@frizensami There is no API at but you can get JSON representations of various pages by appending dot JSON to page URL.


FeedModule

-From the Discord.net bot

I actually don't like this being a separate module

We don't need this actually, I'll just write our own feed thing when i have time.


点击graph-force的节点后，出现环绕菜单

What problem does this feature solve?
能否像Neo4j客户端里一样，点击graph-force的节点后出现一个环绕的菜单栏，可以选择扩展节点、隐藏节点和重置节点
What does the proposed API look like?
如在 series-graph. data 添加属性 menu，里面可以设置菜单内容

我尝试了用 pie 来实现这个功能，但是点击节点后，节点会漂移一点位置，导致 pie 和 node 并不完全贴合

Probably a callback is required in each iteration of force layout.

Hi @100pah I had a similar question here: https://github.com/apache/echarts/issues/5571#issuecomment-772311420
My use-case is similar to this, adding a border / ring around a node with image type symbol is clicked, and having it "follow" the node as the node moves around, something like:

Any advice on how this could be achieved with the current API echarts provides, or what changes could be made to echarts to allow this?
Many thanks


barrett_gezabo can't be display full

HI
when  i run roslaunch barrett_hand_gazebo barrett_hand.launch  the   barrett_hand can't be display completely .

/home/exbot/图片/2018-09-08 22:57:19 的屏幕截图.png

file:///home/exbot/%E5%9B%BE%E7%89%87/2018-09-08%2022:57:19%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png


[v4] sub/sup element inside input-group-addon is wrong

please see this jsfiddle, in bootstrap v4, sub/sup elements inside a input-group-addon are placed at wrong position. but all other position is correct.
https://jsfiddle.net/pta5mn5u/1/
is there a quick fix for this?

This is caused by display:flex on .input-group-addon

@alecpl  huge thanks for this information!

@steve3d A quick fix would be to wrap the text and the sup/sub in a span:
M3

->
M3

Was fixed in Beta 1. https://jsfiddle.net/oxb2x4er/


cargo: murmur3 target specific commit

the name of murmur3_32_nocopy was changed to murmur3_32_of_slices but to avoid breaking things we're just going to target the last commit where its called murmur3_32_nocopy

@drbeefsupreme please do the opposite, please target the latest commit and update the name

Ok I thought that was what made more sense, I must have misunderstood you


[SPARK-6691][Streaming][WIP] Add a dynamic RateLimiter for Spark Streaming

This proposal add a dynamic RateLimiter for Spark Streaming's both receiver and direct based input streams. The details can be seen in SPARK-6691.

Test build #29781 has started for   PR 5385 at commit d2382dc.

Test build #29781 has finished for   PR 5385 at commit d2382dc.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29781/
Test FAILed.

Test build #29787 has started for   PR 5385 at commit 180dfdf.

Test build #29787 has finished for   PR 5385 at commit 180dfdf.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29787/
Test FAILed.

Test build #29843 has started for   PR 5385 at commit 82ae607.

Test build #29843 has finished for   PR 5385 at commit 82ae607.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29843/
Test FAILed.

Jenkins, retest this please.

Test build #29926 has started for   PR 5385 at commit 82ae607.

Test build #29926 has finished for   PR 5385 at commit 82ae607.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29926/
Test FAILed.

Test build #29927 has started for   PR 5385 at commit b576d9e.

Test build #29927 has finished for   PR 5385 at commit b576d9e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29927/
Test FAILed.

@jerryshao is this still WIP? Maybe @tdas has some thoughts on this. An alternative by the way would be to implement a version of dynamic allocation that integrates well with streaming.

On that note, not a whole lot should change between spark streaming and spark for dynamic allocation I think. The only thing of concern is the timeouts - because we don't want to lose blocks that have not been  processed yet or ones that are required for windowing. I am wondering whether it makes sense to add some way of "pinning" blocks so executors don't get removed.
I guess it is alleviated to a very large extent with the direct kafka dstream which should work out of the box with dynamic allocation, since no data is actually downloaded until it is ready to be processed, which happens within tasks which means it won't be killed by ExecutorAllocationManager while downloading data.

Well, there are at least two other important considerations:

We should use the batch queue instead of the task queue
We should never kill executors with receivers

The first is important because dynamic allocation currently doesn't really do anything in most streaming workloads. The second is crucial because we don't want dynamic allocation to disrupt the basic function of the application.

On Thursday, June 18, 2015, andrewor14<EMAIL_ADDRESS>wrote:

Well, there are at least two other important considerations:

We should use the batch queue instead of the task queue

Not sure what you mean here - can you explain a bit? In the receiver case
partition count depends on amount of data received while in the diret
stream case it is fixed, so that we'd have to rethink since the task count
is constant.

We should never kill executors with receivers

This is not an issue since the receiver is basically executed as a long
running task.

The first is important because dynamic allocation currently doesn't really
do anything in most streaming workloads. The second is crucial because we
don't want dynamic allocation to disrupt the basic function of the
application.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/5385#issuecomment-113338014.

--
Thanks,
Hari

Hi @andrewor14 , this is a kind of proposal to show a back pressure mechanism to do the flow control, I think if this solution is accepted, still we need to have a lot of refactoring work, if there are any other better solutions I will close it.
Besides this solution is little different from dynamic allocation, dynamic allocation is used for better resource control, but here it is used for better flow control specifically in streaming area (especially for receiver-based stream), I think current dynamic allocation maybe could well address this problem.

@jerryshao Yes, TD and I discussed this also recently. Both of us agree that we should have some kind of solution for handling back pressure in streaming. Some notion of flow control is good, but additionally we could also solve this with dynamic allocation. I think moving forward it makes sense to have both solutions because flow control is necessary if we cannot acquire more resources in the cluster.

@harishreedharan Yes, receiver is a long-running task, and so we don't want to disrupt it. According to TD the main reason why the batch queue builds up is because the execution can't catch up with the receiving, not because we have too few receivers. I think it's simplest to limit dynamic allocation in streaming to adding / removing executors without receivers.

Not sure what you mean here - can you explain a bit? In the receiver case
partition count depends on amount of data received while in the diret
stream case it is fixed, so that we'd have to rethink since the task count
is constant.

Having a long batch queue means execution can't keep up with receiving, so we need more executors to speed up the execution. Note that in streaming, the scheduler task queue may fluctuate quite a bit because the batch interval may not be long enough for the timeouts to elapse continuously, i.e. the task queue probably won't sustain across batches. Maybe @tdas can explain this better.

@tdas @dragos is this patch still relevant after the latest back pressure work?

I'm afraid not. The corresponding Jira ticket has been closed as a duplicated by @tdas on July 27, so we should close this PR as well. @jerryshao do you think there's something in your approach that would make sense to be ported to the existing backpressure implementation?

OK, thanks a lot. Will port if still make sense.


google_mobile_ads (from .symlinks/plugins/google_mobile_ads/ios) was resolved to 0.0.1, which depends on           Google-Mobile-Ads-SDK (= 9.10.0) was resolved to 9.10.0, which depends on             GoogleAppMeasurement (< 10.0, >= 7.0)

Plugin Version
2.1.0
Steps to Reproduce
pubspec.yaml
environment:
sdk: '>=2.12.0 <3.0.0'
dependencies:
flutter:
sdk: flutter
firebase_core: ^2.1.0
firebase_auth: ^4.0.2
firebase_storage: ^11.0.2
firebase_crashlytics: ^3.0.2
firebase_messaging: ^14.0.2
firebase_analytics: ^10.0.2
flutter_riverpod: ^2.0.2
cloud_firestore: ^4.0.2
google_mobile_ads: ^2.1.0
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.5, on macOS 12.6 21G115 darwin-x64, locale en-AU)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.4)
[✓] VS Code (version 1.72.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
Actual Results:
[!] CocoaPods could not find compatible versions for pod "GoogleAppMeasurement":
In Podfile:
firebase_analytics (from .symlinks/plugins/firebase_analytics/ios) was resolved to 10.0.2, which depends on
Firebase/Analytics (= 10.0.0) was resolved to 10.0.0, which depends on
Firebase/Core (= 10.0.0) was resolved to 10.0.0, which depends on
FirebaseAnalytics (~> 10.0.0) was resolved to 10.0.0, which depends on
FirebaseAnalytics/AdIdSupport (= 10.0.0) was resolved to 10.0.0, which depends on
GoogleAppMeasurement (= 10.0.0)
    google_mobile_ads (from `.symlinks/plugins/google_mobile_ads/ios`) was resolved to 0.0.1, which depends on
      Google-Mobile-Ads-SDK (= 9.10.0) was resolved to 9.10.0, which depends on
        GoogleAppMeasurement (< 10.0, >= 7.0)

Hi @andrew-a-hall
This is a known issue at https://github.com/googleads/googleads-mobile-flutter/issues/673 that has been fixed recently with PR https://github.com/googleads/googleads-mobile-flutter/pull/674. You may need to wait for a new hotfix version for this update.
Closing this issue as a duplicate.

Thanks for this. Any idea when the next minor release might be?

I am waiting for the next release too

same here waiting for the release to update all firebase dependencies. Works ok on android.


Make the declaration of URLs for data, code scrip mandatory

 Make the declaration of URLs for data, code scrip mandatory (when authors declare that they use data, scripts, code....)


Newsletters: add 65

Untested bf20f4646e1b87c46a774d4e0f973650c57288c1 SE section LGTM.  Thanks!

I've only had time for a quick skim this week, but everything looks good to me. Thanks @harding!

Pushed a commit with edits for @jonatack's feedback minus a few nits I thought were good enough as-is.  Thanks!

Should taproot have p2sh-wrapped support?
Publishing this newsletter from the airport
Pieter and Poelstra doing script analyzing
Harding throwing out the word ‘tantalizing’
Great newsletter @harding
Thanks @jonatack for the reviews


Flake: TestClusterController/create_an_object,_expect_spec_and_status_to_sync_to_sink,_then_delete

https://github.com/kcp-dev/kcp/runs/6606383072?check_suite_focus=true
2022-05-26T08:33:40.9145623Z     --- FAIL: TestClusterController/create_an_object,_expect_spec_and_status_to_sync_to_sink,_then_delete (13.55s)
2022-05-26T08:33:40.9146054Z         controller_test.go:156: Creating a workspace
2022-05-26T08:33:40.9146609Z         fixture.go:302: Created Universal workspace root:e2e-org-8bbmr:e2e-workspace-zbqn2
2022-05-26T08:33:40.9147631Z         util.go:114: Saving test artifacts for test "TestClusterController/create_an_object,_expect_spec_and_status_to_sync_to_sink,_then_delete" under "/tmp/e2e/TestClusterController/create_an_object,_expect_spec_and_status_to_sync_to_sink,_then_delete/1159829023".
2022-05-26T08:33:40.9148418Z         fixture.go:352: Configuring workspace root:e2e-org-8bbmr:e2e-workspace-zbqn2 for syncing
2022-05-26T08:33:40.9149787Z         fixture.go:717: running: KUBECONFIG=/tmp/e2e/TestClusterController/create_an_object,_expect_spec_and_status_to_sync_to_sink,_then_delete/1159829023/artifacts/root_e2e-org-8bbmr_e2e-workspace-zbqn2.kubeconfig kubectl kcp workload sync pcluster-01 --syncer-image not-a-valid-image --resources cowboys.wildwest.dev
2022-05-26T08:33:40.9150610Z         fixture.go:302: Created Universal workspace root:e2e-org-8bbmr:e2e-workspace-n9gbm
2022-05-26T08:33:40.9151115Z         controller_test.go:178: Installing test CRDs into sink cluster...
2022-05-26T08:33:40.9152167Z         fixture.go:743: running: kubectl --kubeconfig /tmp/e2e/TestClusterController/create_an_object,_expect_spec_and_status_to_sync_to_sink,_then_delete/1159829023/artifacts/root_e2e-org-8bbmr_e2e-workspace-n9gbm.kubeconfig apply -f -
2022-05-26T08:33:40.9152908Z         fixture.go:561: Waiting for cluster "pcluster-01" condition "Ready" to have reason ""
2022-05-26T08:33:40.9153369Z         fixture.go:583: Cluster "pcluster-01" is Ready
2022-05-26T08:33:40.9153769Z         controller_test.go:186: Creating namespace in source cluster...
2022-05-26T08:33:40.9154134Z         controller_test.go:203: Starting test...
2022-05-26T08:33:40.9154493Z         controller_test.go:69: Creating cowboy timothy
2022-05-26T08:33:40.9154791Z         controller_test.go:79:
2022-05-26T08:33:40.9155141Z             	Error Trace:	controller_test.go:79
2022-05-26T08:33:40.9155659Z             	            				controller_test.go:204
2022-05-26T08:33:40.9156015Z             	Error:      	Received unexpected error:
2022-05-26T08:33:40.9156755Z             	            	the server could not find the requested resource (post cowboys.wildwest.dev)
2022-05-26T08:33:40.9157399Z             	Test:       	TestClusterController/create_an_object,_expect_spec_and_status_to_sync_to_sink,_then_delete
2022-05-26T08:33:40.9157814Z             	Messages:   	failed to create cowboy
2022-05-26T08:33:40.9158335Z         fixture.go:419: Collecting imported resource info
2022-05-26T08:33:40.9158909Z         fixture.go:428: Error gathering apps/v1, Resource=deployments: the server could not find the requested resource
2022-05-26T08:33:40.9159270Z     kcp.go:193: cleanup: ending kcp server

https://github.com/kcp-dev/kcp/runs/6677648156?check_suite_focus=true


SPIKE: Construct sample HIV FHIR message

Background
Before we build a CSV template for submitting bulk HIV test results (or modifying our existing template to support multiple diseases), we want to make sure we know what data we would need to collect.
ReportStream has asked to see an example of what an HIV FHIR message would look like so it sounds like they would also benefit from this
Action requested
Build an example HIV FHIR message using our existing FHIR format as a jumping-off point and adding/modifying the resources to suit the data required by LAC.
Reach out to our research folks for the most up-to-date list of fields we are collecting and LAC is asking for.
Share this sample message with ReportStream and adjust the shape of the example message as needed to suit their requirements.
Acceptance Criteria
HIV sample FHIR message contains all necessary fields required by LAC and its format is approved by ReportStream
Additional context
RS point of contact: Patricia

Sample msgs sent to ReportStream here: https://skylight-hq.slack.com/archives/C03KQ79EB16/p1681334131142619

https://skylight-hq.slack.com/archives/C0411VC78DN/p1685042562389599?thread_ts=1680877005.584789&cid=C0411VC78DN - still needs confirmation


Adding Groovy source directories to testSourceDirs for idea does not work

With Kotlin DSL in Gradle 5.6.2 this works perfectly fine to have the sources marked as test sources in IJ:
sourceSets {
    create("pitest") {
        idea {
            module {
                testSourceDirs = testSourceDirs + allJava.sourceDirectories.files
            }
        }
    }
}

But neither of these two seem to have any effect at all:
sourceSets {
    create("integTestCommon") {
        idea {
            module {
                this@create.withConvention(GroovySourceSet::class) {
                    testSourceDirs = testSourceDirs + allGroovy.sourceDirectories.files
                }
            }
        }
    }
}

sourceSets {
    create("integTestCommon") {
        withConvention(GroovySourceSet::class) {
            idea {
                module {
                    testSourceDirs = testSourceDirs + allGroovy.sourceDirectories.files
                }
            }
        }
    }
}

As Groovy supports joint compilation of Java files that are present in the Groovy source directories, in this case the workaround of course is easily to use allJava instead of allGroovy, but that is not the point, it should work properly imho.

Still the same with Gradle 6.8 and IntelliJ 2020.3.1

Still the same with Gradle 6.8 and IntelliJ 2020.3.1

Because both Gradle and JetBrains are moving away from the idea plugin, it is quite unlikely this will get attention in the short or medium term.
And to my knowledge the JetBrains Gradle plugin idea-ext does not support that kind of information for now.

If they move away from idea, what are they moving to?
idea-ext is actually an extension on top of idea to configure additional things that are not configurable in idea, isn't it?

Sorry that you're having trouble with Gradle!
Your issue lacks information about how to reproduce the problem you're having. A minimal reproducible example can really help us track down and fix your problem. We may also be able to suggest workarounds or ways to avoid the problem if we can reproduce it.
The ideal way to provide a reproducer is to leverage our reproducer template.

Please provide a scenario that works and one that doesn't work for you.
As a hint you might want to consider using different APIs, since testSourceDirs and withConvention is deprecated.

Ok, I updated the reproducer to current 7.6 API.
Just use init to create a basic build, create the directory src/foo/groovy, and put this in the build script:
plugins {
    idea
    groovy
}

sourceSets {
    create("foo") {
        idea {
            module {
                testSources.from(groovy.sourceDirectories)
            }
        }
    }
}

When you sync now, the the directory is marked as sources root, not test sources root.

Thx for the reproducer.
I checked what Gradle is providing to IntelliJ and it seems IntelliJ only shows the groovy code as test code when it also gets the java sources directories. That looks to me like an IntelliJ issue as the only difference here is that we add one more item to the list of test sources in the scenario where it works.

Thanks for the investigation.
Follow-up issue: https://youtrack.jetbrains.com/issue/IDEA-313611


feat(#1295) Hero banner upgrades

[ ] Able to change background color when background url exist.
[ ] User unable to adjust margin when background url is absent


fix(chat): add attachment validation on blur event (Issue #2227)

Description:
Now validation appears only on Enter. but also should be if to move cursor out of the field (onblur event)
Issues:

Issue #2227

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

/deploy-review


Custom fields returning 'has no value'

Hey there,
with your newest version 0.6.0 there might be a bug.
Trying to read a custom field from my bitwarden. SecretScope is set to fields. Tested it numerous times. The only scope which is working is the login scope.
Even tested it manually with the Bitwarden CLI to check, if there is anything there. There is.
Downgraded to 0.5.4 and have no problems, even with custom fields.
Might have to do with your recent changes to utils.py in parse_fields_scope.  :)
Let me know if you need any more information.

Hi @hsystems7 ,
Thanks for the report. I am currently moving and hope to get a working internet connection by end of next week. I will take a closer look by then.
In the mean time I hope that you can stay with the previous release and upgrade as soon as this gets fixed

Fixed with https://github.com/Lerentis/bitwarden-crd-operator/commit/886fe3783d91bdb725f610528080b80af58e3f40 and released with https://github.com/Lerentis/bitwarden-crd-operator/releases/tag/bitwarden-crd-operator-v0.7.1 :)
Thanks again for the report!


Fix DefaultTabController created with no Tabs

Prevents an assert error when the DefaultTabController is created and contains no tabs.
Description
This PR fixes a problem when a DefaultTabController is created with no tabs.
Related Issues
https://github.com/flutter/flutter/issues/37139
Tests
I added the following tests:
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

This appears to be a safe change however it will need a test.
CC @shihaohong

Apologies @HansMuller , but this is my first PR and I'll be happy to include a test but I'm not very sure what sort of test to include.

I have a comment about updating this assert statement to something that makes a little more sense. As for the test, I would recommend maybe adding a test case where you have zero tabs and proving that the assertion passes.
Go into ${FLUTTER_HOME}/packages/flutter/test/material/tabs_test.dart to see other examples of tests and then add one that will fail without the fix and pass after your fix has been included. The sample that causes triggers the error would be a great starting point for how to design that test case

@shihaohong I've added a test; would appreciate it it you could have a look at it. Thanks!

@shihaohong Thanks for the suggestions, I've updated the test file as per your feedback.
On an (somewhat) unrelated note, I've noticed that the new test code works when you add one tab, but adding the second tab fails.
Is this an expected behaviour or did I muck something up?
The error is
The following RangeError was thrown building TabBar(dirty, dependencies: [_TabControllerScope, _LocalizationsScope-[GlobalKey#ba4d0], Directionality, _InheritedTheme], state: _TabBarState#f149b): RangeError (index): Invalid value: Only valid value is 0: 1
The code for the simple app I've used is here

@shihaohong Apologies for the disturbance; is there any updates on this?

Hi, sorry for the long delay! I'll review this later today and investigate the case where you add a second tab.

This has been fixed with https://github.com/flutter/flutter/pull/41625. Thank you so much for your initial contributions!

@shihaohong Apologies for the lack of response; been very busy with school these days. Also, thanks for following up on this and fixing it!


Unable to find my Unique Tenant ID

Module: 00
Lab/Demo: 00 Setup
Task: 00
Step: 00
Description of issue
Unable to find my Unique Tenant ID and my Lab hosting provider does not have a copy of this either.

hi @BigTree98:  Please advise on which Authorized lab hoster you are using and include a screen shot the VM.  You should see a window on the right side of the screen that includes several tabs, including instructions and resources.  If you select the resources tab you will see the tenant information.   Refer to the screen shot below.


docs/add contributors secion on the README

I'm submitting a ...
[/] docs

Summary
Add a contributors section in the README similar to
https://github.com/kentcdodds/all-contributors/blob/master/README.md#contributors

I can do this today ;)

This is already done!


Add CDB_EstimateRowCount function

See #295

What could be the reason for the failing test?:
*** /home/travis/build/CartoDB/cartodb-postgresql/expected/test/CDB_QueryTablesTest.out	2017-04-07 14:54:03.627042459 +0000
--- /home/travis/build/CartoDB/cartodb-postgresql/results/test/CDB_QueryTablesTest.out	2017-04-07 14:55:04.715253946 +0000
***************
*** 5,16 ****
  SELECT a.oid, b.oid FROM pg_class a, pg_class b|{pg_catalog.pg_class}
  SELECT 1 as col1; select 2 as col2|{}
  WARNING:  CDB_QueryTables cannot explain query: select 1 from nonexistant (42P01: relation "nonexistant" does not exist)
- CONTEXT:  PL/pgSQL function cdb_querytables(text) line 3 at RETURN
  ERROR:  relation "nonexistant" does not exist
  CONTEXT:  PL/pgSQL function cdb_querytables(text) line 3 at RETURN
  begin; select * from pg_class; commit;|{pg_catalog.pg_class}
  WARNING:  CDB_QueryTables cannot explain query: select * from test (42P01: relation "test" does not exist)
- CONTEXT:  PL/pgSQL function cdb_querytables(text) line 3 at RETURN
  ERROR:  relation "test" does not exist
  CONTEXT:  PL/pgSQL function cdb_querytables(text) line 3 at RETURN
  WITH a AS (select * from pg_class) select * from a|{pg_catalog.pg_class}
--- 5,14 ----

Maybe the message level is changing depending on the order the tests are executed?

There are two different concepts when logging stuff in PG: "verbosity" and "level". When it is verbose, it spits the CONTEXT, kind of stack trace. When it is set to terse, it doesn't give you that context. Aside the level determines whether to log something or not at all (ie: debug, info, warning, error).
HTH


Is attachments parameter supported for post_message?

Hi,
Is it possible to send attachments via the Web API post_message function?
Something like:
image_url = "https://images-na.ssl-images-amazon.com/images/G/01/img15/pet-products/small-tiles/30423_pets-products_january-site-flip_3-cathealth_short-tile_592x304._CB286975940_.jpg"

opts = %{as_user: true, unfurl_links: true, attachments: [%{image_url: image_url}]}

Slack.Web.Chat.post_message("#general", "test", opts)

Well this is embarrassing...wrong page. :)


vim-plug related error when including any plugin in vimrc

Explain the problem here ...
I had tried to install a number of plugins like ale, solarized, and hybrid, but all of them would issue error like the one below.
I tried the troubleshooting tips in the faq, which is where I pulled lines 6 to 10 for testing.
  1 set et
  2 set sw=2
  3 set number
  4 set nocompatible
  5
  6 if empty(glob('~/.vim/autoload/plug.vim'))
  7     silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
  8         \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vi    m
  9       autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
 10     endif
 11 call plug#begin('~/.vim/plugged')
 12
 13 Plug 'junegunn/vim-easy-align'
 14 call plug#end()

I get the following error every time I load vim with my plugins enabled/included.  I get similar ones for solarized, and hybrid, and ale, which I didn't include as I'm assuming that the resolution of the issue with this particular plugin will lead to the resolution of all else.  At any rate thanks for your hard work, and I hope to either assist in developent of vim-plug or build something else that has the same utility as your tool.
Error detected while processing /home/user/.vim/plugged/vim-easy-align/plugin/easy_align.vim:
line   23:
E492: Not an editor command: ^M
line   24:
E15: Invalid expression: exists("g:loaded_easy_align_plugin")^M
line  143:
E171: Missing :endif

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:44:48)
Included patches: 1-1689
Extra patches: 8.0.0056
Modified by<EMAIL_ADDRESS>Compiled by<EMAIL_ADDRESS>Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +tag_binary
+arabic          +file_in_path    +mouse_sgr       +tag_old_static
+autocmd         +find_in_path    -mouse_sysmouse  -tag_any_white
-balloon_eval    +float           +mouse_urxvt     -tcl
-browse          +folding         +mouse_xterm     +terminfo
++builtin_terms  -footer          +multi_byte      +termresponse
+byte_offset     +fork()          +multi_lang      +textobjects
+channel         +gettext         -mzscheme        +timers
+cindent         -hangul_input    +netbeans_intg   +title
-clientserver    +iconv           +packages        -toolbar
-clipboard       +insert_expand   +path_extra      +user_commands
+cmdline_compl   +job             -perl            +vertsplit
+cmdline_hist    +jumplist        +persistent_undo +virtualedit
+cmdline_info    +keymap          +postscript      +visual
+comments        +langmap         +printer         +visualextra
+conceal         +libcall         +profile         +viminfo
+cryptv          +linebreak       -python          +vreplace
+cscope          +lispindent      +python3         +wildignore
+cursorbind      +listcmds        +quickfix        +wildmenu
+cursorshape     +localmap        +reltime         +windows
+dialog_con      -lua             +rightleft       +writebackup
+diff            +menu            -ruby            -X11
+digraphs        +mksession       +scrollbind      -xfontset
-dnd             +modify_fname    +signs           -xim
-ebcdic          +mouse           +smartindent     -xsmp
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard
+eval            +mouse_dec       +statusline      -xterm_save
+ex_extra        +mouse_gpm       -sun_workshop    -xpm
+extra_search    -mouse_jsbterm   +syntax
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fPIE -fst
ack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTI
FY_SOURCE=1
Linking: gcc   -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,-
-as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl
   -L/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu -lpython3.5m -lpthread -ldl
 -lutil -lm

Type:

[x ] Bug
[ ] Enhancement
[ ] Feature Request
[ ] Question

OS:

[ ] All/Other
[x ] Linux
[ ] OS X
[ ] Windows

Vim:

[x ] Terminal Vim
[ ] GVim
[x ] Neovim

I suspect it has to do with your git configuration.
See http://jjafuller.com/2017/06/2624/

excellent. This solved the issue.  Thank you very much.


feat: Integrate ACL + Diamonds Architecture

Pull Request Template
Description
Please include the type of fix and description of your change according to the (Conventional Commits specification)[https://www.conventionalcommits.org/en/v1.0.0/].
Closes #231, #226
Checklist:

[x] My commit message follows the Conventional Commits specificaiton
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] My PR is rebased off the most recent develop branch
[x] My PR is opened against the develop branch

Alert Reviewers
@codynhat @gravenp

This is ready to review except for reclaiming.
Closes #231

@codynhat The transaction panel doesn't appear to be updating after the confirmation of the second "allow" transaction is confirmed. Waited approximately 2 minutes and still saw the "1/2 Spinner" showing.
The first allow confirmation updated fine. User can work around the issue by closing the panel and reopening.

I am also unable to lower the For Sale Price of my parcels. Transactions revert with the following error:
Error: cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ] (reason="execution reverted", method="estimateGas", transaction={"from":"0x2aF85396137cd725d38053f8cF5eAe939479a9F4","to":"0x267304a91a58A51f402cB080f4BB73F0a65DC762","data":"0xf11663e80000000000000000000000000000000000000000000000000000000036cfbcdf00000000000000000000000000000000000000000000000004064976a8dd0000","accessList":null}, error={"code":-32603,"message":"execution reverted","data":{"originalError":{"code":3,"data":"0x4e487b710000000000000000000000000000000000000000000000000000000000000011","message":"execution reverted"}}}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.6.8)

I am also unable to lower the For Sale Price of my parcels. Transactions revert with the following error:
Error: cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ] (reason="execution reverted", method="estimateGas", transaction={"from":"0x2aF85396137cd725d38053f8cF5eAe939479a9F4","to":"0x267304a91a58A51f402cB080f4BB73F0a65DC762","data":"0xf11663e80000000000000000000000000000000000000000000000000000000036cfbcdf00000000000000000000000000000000000000000000000004064976a8dd0000","accessList":null}, error={"code":-32603,"message":"execution reverted","data":{"originalError":{"code":3,"data":"0x4e487b710000000000000000000000000000000000000000000000000000000000000011","message":"execution reverted"}}}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.6.8)

Ok thanks. I was able to reproduce this.

@gravenp Decreasing your for sale price should be working now.

@gravenp Decreasing your for sale price should be working now.

Yup! Looks good now.

Accepting a bid results in the Cadastre crashing (black screen showing with a client-side exception message). From the console:

TypeError: M.geoWebParcel.pendingBid is null
A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred

console-export-2022-9-1_16-48-17.txt

@gravenp Alright, the outstanding issues you've mentioned should all be fixed:

[x] Not completing second action
[x] Crash on accept bid
[x] Hardcoded buffer amounts

Tests on rejecting bids (and setting a higher price) look good. Nice work, @codynhat!


gov-tx.go in wasmd needs a flag added

Summary of Bug
Craig Berry(Figure) while trying to submit a wasm-store gov proposal found that we get this error
pd --home=build/node0 -t tx gov submit-legacy-proposal wasm-store dcc.wasm --title "Store DCC Smart Contract" --description "Faciliate mint/burn/transfer of restricted marker between consortium of banks" --run-as $(pd keys show -a bank1 -t --home build/node0) --instantiate-everybody "true" --deposit "1nhash" --from bank1

Error: flag any of: flag accessed but not defined: instantiate-anyof-addresses

this has been fixed here https://github.com/CosmWasm/wasmd/pull/1084 , we need it on our notional wasm fork
This only affect cli so is minor fix imo, but it does prevent cli users from submitting wasm store on testnet/mainnet.

Version
v1.13.0

Steps to Reproduce

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

This flag has been added to our branch.


Local backend fails when using clone configuration

Component
server
Describe the bug
When using a local backend and specifying a clone configuration, the clone step fails.
This configuration:
clone:
  git:
    image: plugin-git
    settings:
      partial: false
      depth: 20

Generates this error:
Incorrect Usage. flag provided but not defined: -c

NAME:
   git plugin - git plugin
<SNIP>

Looking through the backend led me to try using the constant string. https://github.com/woodpecker-ci/woodpecker/blob/0cf602a1f6b1ef688eabb209e9bd2f5d0f9ce164/pipeline/backend/local/local.go#L131-L139
This does /not/ fail, but the settings are not honored nor supported.
clone:
  git:
    image: docker.io/woodpeckerci/plugin-git:2.0.3
    settings:
      partial: false

System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"next-3158980d"}

Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

SSH backend seems to have the same logic, and I suspect the same lack of support.

With  #1958 we dont need to guess if it's a clone step anymore ... the backend get's to know the types then too

Was this solved by #2017?

Uh most likely but i have to test

yes it is ... but there looks to be a regression ... I'll close this and we can open a new issue if needed ...

also "plugins" as in the example config will be supported by  #2239

Thanks! #2239 definitely looks like an improvement :)


command: spo site set could have a description option as well

💡 Idea for an improvement
I was thinking that the spo site add (https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-add/) seems to have a --description setting but the spo site set doesn't have(https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-set/). Seems strange 🤔. I think it would be nice that the add and set commands could have similar options. So that if some site is created we could still change the site description.
Do you think it's a good idea? if yes I could try to add it, if possible 🤔

I think it would be a great idea! Something's telling me that updating the description is not exposed in the API which is why we haven't included it in the spo site set command, but if it's there, it would definitely be great to have it! It would be awesome if you could have a look at it 👏

If you could have a look if there is a way to update the description beyond the request that we're using now, that would be very helpful! Even if it requires a separate request, it would be perfectly fine and we could execute it conditionally to ensure the best performance.

ok sure... will look into it more and will try to do my best 😉

ok I tried to develop this. The PR is ready to check 😉

Hero! 👏


Please add a way to support internal properties/fields

At the moment internal fields/properties are "ignored", it would be great to give the user of your library the possibility to tell AutoBogus that internal properties/fields should be taken into account as well.
Maybe some kind of global switch (e.g BindingFlags) to enable it if needed.
Br

@rizi internal field/property is now supported - give it a try, let me know if you see any issues

@soenneker thx for the fix, it's wokring fine 👍.
br


Rich text customizations

Add customizations to the rich text editor.

see more info here: https://github.com/talend-webdev/v4/pull/243


Code Review #1

Summary
Overall, it looks like a decent start. Some pieces are starting to form as it looks like you all have divided up some of the features to work on. Connecting them and organizing your code structure so you can properly test them will be helpful steps. I apologize in advance that this is so long, but I also apologize if I missed anything (I moved from my local machine editing files, to using GitHub issues).
Specific File Code Reviews:
README

The README should be updated. I don't encourage updating the README with every single detail, since a lot of things can change and you are wasting time + work, but I think you guys know enough at the present moment to add how to run the basic program (e.g., python3 __main__.py -S [script_name]) and also to talk about what the project is about. You may also decide to include the help menu for your __main__.py as well. If one person updates the README, all 6 other people on the team (plus us sponsors) will know how to run the program.
It would be nice to have myself listed (Teal will let you know if he wants to be listed in the README or not). Ex:

# Sponsors
[Daniel Connelly](https://www.linkedin.com/in/dconnelly2/)

Should be very detailed at the end of this project.

debugLogFile

This file's class/functions are never created/called anywhere.
There are no comments describing anything.
It may be a feature you are adding later, but I think there is some confusion on how the config files will work as I don't actually see a config file in any part of this project. There should be a config file for various things (e.g., whitelist or blacklist, cloud program options, etc.) and it should be in your project repo (perhaps like config_files/ and cloud/config_file?) by default. In other words, there shouldn't be a function that writes the config file each time, as it should exist in perpetuity. I don't know how well your current config library works, but you may check out configparser to update .ini files if it is easier for you. I will try and verify all the config files that need to exist when you guys develop your requirements doc further.

UserScript

I would suggest specifying this file as main.py or __main__.py.
Fix the doc strings to align with Pythons 3.8 doc string style guide.
This except https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/executeUserScript.py#L30, should handle the basic case of a user entering the wrong script name. We don't want to submit that as a bug to a project!
This https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/executeUserScript.py#L31 is a python2 way of string formatting. f-strings are SIGNIFICANTLY faster and easier to read than using python2's .format() (see this f-string article for a discussion on performance). I think this should work as a substitute: print(f'{self.scriptName} did not exit gracefully, Submit a Bug!"').

executeUserScriptTests

This test and any other test should be in a Tests/ folder. Please also note that you should have some sort of CI (e.g., Travis CI) to run these tests on each push to make sure the output is correct.
You may also choose to use an actual testing framework.
There are no comments/doc strings.
This test https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/executeUserScriptTests.py#L7-L13 actually fails since there is no key for that subprocess called text in Python 3.6+. See, and reference in the future, the updated documentation. The same is true for this function https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/executeUserScriptTests.py#L15-L21.

filterLists

There should always be a path for this https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L13 file, even if the project owners do not use it. If the path doesn't exist, the program shouldn't continue because it has nothing to filter. The same is true for lines 16 and 19 (although read the fourth-to-last bullet in this section about white lists and black lists).
IMO, the check_in_both https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L23 function should not exist and this work should be done in the constructor. If there is an error, it should be sent to the project owner (I am assuming you can place an email in some config file to email the owner if there is a problem in their setup of your autobug software.
Even so, this https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L29 should be a print statement if it is a WARNING. Otherwise, say ERROR and halt the program like you do.
This https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L37-L39 can be optimized to: self.bugs += [item for item in self.white_data if item not in self.bugs]. However, I am confused. Is the blacklist bugs you don't want to capture and the white list bugs you do want to capture? 1) You already added in any bugs that were not in the blacklist... I think this is enough and you don't need a white list? Anything else, by default, should be sent as a bug, since the repo owners don't know about it to put it on the Black List. I am sorry if I misled you when I was suggested white lists or black lists. Even if this wasn't an issue, you are adding in all bugs in the white list if they aren't in the self.bugs array (i.e., when they aren't in the bug output, you are adding them)? I think you want in self.bugs not not in.
Using the in keyword may get you in some trouble when there is similar output that is not a bug. If anyone is good at regex, they should maybe brainstorm how to use that to find bugs in code, but at the moment its an okay start.
I think you mean file not array here https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L43.
This logic https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L45 is taken care of in the constructor. You should exit in the constructor if it doesn't exist, since there is no bug report to filter.
When you get the pieces connected, you should not create a "new" report https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L41. If the process is halted, or does not work for some reason, the raw bug report will be sent, which may not be the filtered version. It is much wiser to just pass the bug report to this function and then, when it is finally filtered, you can write it out to disk and send it.
this https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/filterLists.py#L48 puts a space between every character of the self.bugs (e.g., "T H I S ...). Maybe you wanted "".join(line) + "\n"?.

read_config

Needs a doc string in the __init__.
Convert this
https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/read_config.py#L18 to an f-string for performance.

read_config_test

Needs to be in a tests directory.
On line 25, you have test = os.path.join(Path.home(), BUGTRACKER). The RHS of the equal sign is repeated multiple times in the code. Make it a global or put it in the testInit class and reference it from this line on when needed.
all the code below this https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/read_config_test.py#L31-L38 is a duplicate of the code directly above it, except for the print statement (which is logically equivalent to the above one) and the os.remove, which can just be called at the end, outside both if and else functions.
Same issue with the duplicate os.remove here https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/read_config_test.py#L53-L58. Also present on line 85,88.
Why don't you instead make a for loop that iterates through a list of tests? This would eliminate 4+ lines as you are printing the same thing and you can also add more tests in more easily. You will need to keep another list that holds what you are expecting the result of test to be. Please also make line 53 less confusing and just say if test. Also you can say on line 62, if not test.
You overwrite this variable https://github.com/ismustachio/TheBugTracker/blob/b97d43fe15460ec1de2c1037d0d43b228f969c33/read_config_test.py#L77 on line 79 after doing nothing with the result of it. I think this is doing something, but on the face of it, I can't tell what it does. It needs a comment.

General Issues/Comments/Suggestions
Feel free to take the feedback with a grain of salt and ask questions.

Although you have not developed any code for this yet, you should also have a directory for the Cloud piece of your software (e.g., Cloud).
To reiterate, you all should read the Python style guide (PEP8) since you are writing Python code. Especially read the documentation strings (AKA doc strings) section and go through all the files and fix these errors (this was the most repetitive style error).
Doc strings are not given to every function, especially in the test files and where there are init functions. You should also have a doc string at the top of every file to indicate its main purpose.
check_output is a fine function, but you may actually find that Popen will be more useful for your cases. You can get stderr, a return code, etc. more easily this way. See a good intro to this function here. You can actually check the STDERR specifically for potential bugs and avoid (or use less) the checking of standard output.
I am thinking that maybe a whitelist or a blacklist should actually come from the cloud instance or some online endpoint, since developers may want to change this anytime, but may not want to release a new version just to update a white and/or black list. Something to consider moving forward.
I believe Antonio said that the name of the project will be AutoBugTracker. The repository should be renamed to the same name.

Let me know if I can be of any help in clarifying any of the above or answering any more questions.

I second everything @Danc2050 said! Since there is not a lot for me to test yet, I am going to focus on some higher-level issues:
README

You need to provide very detailed instructions on your README for how to setup and run this on every supported platform (Linux, Windows and macOS). See here or here for an example.
Feel free to list my name as a sponsor:

# Sponsors
[Daniel Connelly](https://www.linkedin.com/in/dconnelly2/)
[Teal Dulcet](https://www.tealdulcet.com/)

Testing

You have some tests in the repository. You need setup CI to automatically run those on every commit and PR. I would recommend Travis CI, which is free for open source projects. Here is a very simple .travis.yml file you can use to get you started, which will test against the three latest versions of Python:

language: python
python:
  - "3.6"
  - "3.7"
  - "3.8"
install:
  - # Install dependencies, e.g. pip install -r requirements.txt
script:
  - python3 __main__.py --help
  - # Run tests, e.g. pytest

If you have a favorite Python linter, such as Pylint, you should run that too.
There should be test programs written in multiple languages besides Python, both compiled and interpreted. C, C++, Java, Rust and JS (Node.js) would be a good start. Here are example Hello World programs to get you started.

General

This repository should be transferred to a new GitHub Organization specific to this project, so that is it easy for us to access when you are done. That way you can create a separate repository for the Cloud portion.
The repository needs a License. The MIT License is a good choice, since it allows everyone to use the project. GitHub has a tool to add it. Also, you need to add something like this to the top of every file, in addition to the doc string as Daniel explained:

 * Copyright (c) 2020 PSU CS Automatic Bug Tracker Capstone Team
 * This code is available under the "MIT License".
 * Please see the file LICENSE in this distribution for license terms.

Please let me know if you have any questions.

All looks good in @tdulcet 's comments as well. The only thing I would reemphasize is that during our voice talks (which Teal could not make) I did not require a testing framework to be chosen. That being said, it could potentially help, so that one is definitely up to you.


Use toolbox from PyPI

Left wo/ version number so the latest version is used
Fix #268

@cuducos could you solve the conflicts? Checks are failing weirdly maybe conflicts being solved might help ;)

Done!


fix(i18n): handle unicode characters properly in Input

Updates input component to handle Unicode characters properly

[x] Ctrl + p
[x] Ctral + Shft + p
[x] :, /
[x] Ctrl + SHft + f
[x] SCM
[x] Add tests

@glennsl I have one bug with this implementation. Not sure if this should be fixed here or somewhere else:
So the problem is with : and / Menus.
When I start put Unicode (Ukrainian in this case) characters in at it add them properly and updates cursor properly.
If I press <BS> at the end it removes last character properly.
But If I press Left It doesn't update it to proper cursor position
(I have feeling that it still count 8byte chars in this case)
Could you help me with this please?

This is awesome @fanantoxa , thank you for improving this!

But If I press Left It doesn't update it to proper cursor position
(I have feeling that it still count 8byte chars in this case)
Could you help me with this please?

Ah, interesting... I think this is similar to https://github.com/onivim/oni2/pull/1608 - where the 'cursor position' we're getting from Vim is being reported as the byte position instead of a character index - so we have to convert it from byte -> character to get the proper 'cursor caret position'. I'll take a look a bit more tomorrow

@glennsl Hey It's ready for review :wink:

@bryphe I was told to ask you for review)

Thanks for the ping @fanantoxa ! Changes look great to me. Really appreciate all the test cases you've updated & added.


Use new section name tool:pytest

[pytest] section in setup.cfg files is deprecated and pytest options can be specified with a [tool:pytest] section (https://docs.pytest.org/en/latest/goodpractices.html).

@bsipocz is this the right solution?

Yes, it's fine, but only if you use pytest >=3.0.0. For older versions that config section won't be recognized and thus ignored.

I have amended the commit to have minversion = 3.0.0 in the pytest section.

@migueldvb - Can you please resolve the merge conflict, so that this can go in?

@migueldvb - It looks like this change you made here already landed in master. Closing this PR. Thanks for sending it and apologies this didn't go in.


proposal: spec: allow combining characters in identifiers

Forking from #16033, which had two related but different proposals in it. The proposal for this issue, by @robpike:
On a related note, some writing systems - Devanagari is one (see #5167) require combining characters. The current identifier rules forbid combining characters; perhaps that should be relaxed, although that will require a canonicalization rule for combining characters. Unicode does have a definition for identifiers (http://unicode.org/reports/tr31/); perhaps Go should use it. Note that the addition of combining characters, allied with the export proposal above, would make it possible to export Devanagari identifiers.

Re canonicalization, one possibility Rob and I discussed at one point was to require in the spec that implementations canonicalize during comparisons to establish whether two identifiers are the same but also to have gofmt canonicalize to generate its output (the former is required for the latter to be semantically safe). Then source code is consistent but the compilers will deal if not.

@rsc Is this Go 2 or would you consider this for Go 1?

For Go 2.

Merging #5167 in here. From<EMAIL_ADDRESS>in 2013:
My suggestion is to amend Go specification by allowing combining-mark & non-spacing-mark characters in identifiers.
This will be similar to Java identifier rules given at http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Character.html#isJavaIdentifierPart(char).
A character may be part of a Java identifier if any of the following are true:

it is a letter
it is a currency symbol (such as '$')
it is a connecting punctuation character (such as '_')
it is a digit
it is a numeric letter (such as a Roman numeral character)
it is a combining mark
it is a non-spacing mark
isIdentifierIgnorable returns true for the character

Note that the Java id rule link is invalid now.
The first char of an identifier is typically more constrained (e.g. no digit).
I propose that as far as Indic languages are concerned, an identifier may not start with one of various sign chars, digits, dependent vowels or "virama". An identifier may start with  a currency sign or an "om" sign is allowed or an independent vowel (vowel letters) or a consonant.

@bakul It's precisely that kind of minute precision we'd like to avoid. The rule must be very simple to express, as it is now. We are seeking a new but also simple-to-express rule that admits more classes of identifier without requiring natural-language-specific detail.

Would "१२३" (123 in devanagari) be considered a number or an identifier? If the latter, that would be strange!
If you don't want nitpicky rules, a simpler rule may be that the first char satisfies unicode.IsLetter() and the succeeding chars satisfy unicode.IsLetter() or IsDigit() or IsMark(). Plus whatever is needed for CJK.

I should add: along with identifiers, numbers should also be expressible in other languages (but I expect that'll be even more unpopular!)

In case it makes a difference, the Swift programming language allows legitimate Indic words as identifiers.  From Swift Lexical Structure:

Identifiers begin with an uppercase or lowercase letter A through Z, an underscore (_), a noncombining alphanumeric Unicode character in the Basic Multilingual Plane, or a character outside the Basic Multilingual Plane that isn’t in a Private Use Area. After the first character, digits and combining Unicode characters are also allowed.

Most indian language words use combining chars so it would be good to fix this.
If these identifiers are not exportable, that is fine. Prefixing with an uppercase letter from some other script is ugly but that can't be helped! I am tempted to suggest using the section symbol (§) or some such symbol as an additional exportable start char of an identifier.

that will require a canonicalization rule for combining characters.

See https://github.com/golang/go/issues/27896 for a proposal specifically about canonicalization.
That potentially affects existing programs, since (for example) μ and µ are both already allowed (and treated as distinct identifiers) in Go source code.

Re canonicalization, one possibility Rob and I discussed at one point was to require in the spec that implementations canonicalize during comparisons to establish whether two identifiers are the same but also to have gofmt canonicalize to generate its output (the former is required for the latter to be semantically safe). Then source code is consistent but the compilers will deal if not.

I would prefer that non-normalized identifier were rejected so I wouldn't have to worry that my grep/editor/browser uses the same normalization strategy as gofmt/compiler when looking for identifiers even for sources that weren't visited by gofmt.

@bcmills: forcing NFKC is not backwards compatible. If we break backwards compatibility, I would prefer to simply disallow any character with a decomposition type "font" and permit all others as is.

If we break backwards compatibility, I would prefer to simply disallow any character with a decomposition type "font" and permit all others as is.

I think that would lead to a pretty unfortunate user experience. Consider the snippet:
	var jalapeño = '🌶'
	fmt.Println(jalapeño)

Without any sort of normalization, the otherwise-equivalent identifiers jalapeño and jalapeño refer to two completely different variables, and as far as I am aware none of the characters involved have decomposition type font.

In https://blog.golang.org/go2-here-we-come we propose to adopt a version of Unicode's TR-31 specification.

ȩ̵̢̡̢̧̧̡̧̨̡̨̧̢̧̛̮̖̬̪͇̲͈̱͎̼͉̜̱̼͇̯̖̝̩͔̥̜̩̞̝͖͙͖̪͔̙̻͙̻̳̩͓̫͎̫̦̘̤̮̹͖̖͈͓̱̟̱̬̣̯̭̻̥̣̝̯̮̱̥̺̪̺̪͓̦̞̟̗̩̩̥̟̣͙̳͓̺̲̜̱͙̯̯̻̬͕͎̻̮̺̹͔͚̤͔̙̼̞̪̺̬͍̗̞͍̫̪͚͍̱̙̭͕̪͉̲͕̦̗͓͕͎̫̮̫̬̞̥̭̻͇̞͎͎͈̳̝̳̭̦͉̪̳̗͖̘̖̝͙̜̼͙̟̙͙̩̫͔̺͈̣̞͔̦̥̠͈͙̺̗̝̣̲̖̭͓̤̤͚͚͓̼̺̖̗̟̯̰͔̣̺̱̞͉̻͙̝̳̪͓̲̺̟̳̎̃̀̋̉́̈́̆͛̐͗̃͌̆̒̄̏͛́̌̏̈́́̆͐͊͆̔̒͗̄̔͒̃̌͊͗͛̃̓̉̇̀̾̌͑̋̏̐̊̽̂̈́̉̍͐͊̅̑̋̃̒͗̍̈̈́̃̄͐̈́̓͐̍̈́̊́̆̍͆͐̒͛͛̈͊̄͌́̈́͌͑͐̓̓͐͗͂̋͒͂͑͛̆̽͆͂͒͘͘͘̕̚͘̕̚͘͘̚͜͜͜͜͜͠͝͝͝͝͠ͅͅͅͅͅx̸̡̨̢̨̡̢̢̧̨̡̡̢̡̨̨̡̡̢̡̨̢̨̢̢̡̢̛̛̛̛͚͇̝̩̥̺̹̦̖̪̜̳͈̺̯̘̫̪̠͓̙̘̠͓̻͍͕̝̻̞̤̣̻̩͇͉̟͍̩̳͓̤͇͇̟͇̼͔̺̼͈̘͈̟̜̤̻̠̟̪̼̲̼͍̠͈̱̻͙͈͖̼̭̤̱̮͓̼̰͉̮̻̣̩̩͎͇͎͇͉̯͙̹͔̘͇͇̫̙̪̪̟̳͓̪͔͎̲͉͈̜̥̪̻̻̹̜̙̼̩̖̠͚̳̣͈͎̰̺̬̱̗̻͎͎̳̤͉̹̱̥͔̘̝͎̲̗̞̝̹̗̥̬̬̹̝̰̪͚̜̙̘̪̫̮͖͉̜̩̠̣͖̘̥̺͖͉̹̰͇̗̳̬̳̱͍̦̙͚̞̬̳̣̘̺̫͚̙̺̬̹̖̬͙͙̖͓̠̜͚̟̥̥̫̮̺̮̜̪̻̳̮̭͉͎̝̖̼̹͇̼͚̼̟̤͇͓̖̻͚͎̦̝͍̣̯͖̺̗͕̳̰͎̹̳͎̒̑̆͆̉̃̆͐̈́̃͗̆́͌̌̌̇̈́̈̄̒́̊̀͑̈́̊̀̀͋̍́͛̋̌̒̊͂̓̒̀̋̈̉̈́̉́̐̇̾͊́́̾͌̄̂̒̔͑̏́̾́̿͑̀͌̎̒͋͗͂̿̅̇̋͂͋̇̄̀̒̈͒͋͛͒̂͗͛͛̑̒́̈́̋͑̔̆̄̅͒̄̈̈͑͂͋̆̂̃̃́̔̍͋̽̿̈́̓̆̄̄̄̏͗͌̎̀̏̍̎͌̅̉̆́̂̿̀̏̈̓͊̄͐̈́͊̃̄̓̎͒̐̔̓̽̒̀̓̊̈́͐̐͌̂̆͌̉̓͑͆̀͆̐̓͒̑͒͂͆̓͛̈́̊̉̿́̚̚̚̕̕̚̚͘̕̚̚̚͜͜͜͜͜͜͜͜͜͝͝͠͝͝͠͝͠͝͠͝͝ͅͅc̶̨̧̨̧̢̡̧̨̢̡̡̨̧̢̡̢̡̧̡̡̨̧̨̧̨̡̛̜̯͇͓̦͎͍̤̜͓͔̺͚̗̣̫̼̠͔̗̣̝̗̬̫̙̟̝͇̯͇̻͈̩̮̣̰̝̭̫͔̖͕̝̼̜̗̯̪̮͕͓̰̳̱̯̦͖͇̯̰̖̞̥̣͕̪̬̯̪̞͔̗͈̣͖̺̬̙̦̺͎̬̬̭̖̟̗̠̰̼̫͚̦̱͍̘̖̲͓̪͍̩̬͙͚̬͉̲̹̰̥͙̜̺͚̦̱̬̝͎̖͎̺̩̫̮̣̥̫̘̖̼̮̲͚͎̝̻͖͉̟͎̟̣̯͈͇̗̭̣̠͎͍̹̳̥̠̬̱͉̣̣̟̘͙̥̦̦̘͓̦̙͉̱̯̺̞̹̰̬͉͙͚̫͔̼̙͖̺̰̝͕͎̣̘̺͕̠͕͍͙̙͉̫̙̞̘̠̯̰̫̣̲̖̠͍͈̠̤̹͍̰̺̞̲̭̈́̀͑̆̑̉̃̅͑̑̔̽̋̏͛̓͊̓͆́̂̽̀́̌̓̑͊͐̇͌̌͗̽͋̓́̓̒̉͛́̓̎͑̈́̓̃̈͂̚̚̚̚̕̚͜͜͜͠͝͠ͅͅͅͅͅͅͅư̶̧̡̨̨̧̢̧̢̨̨̧̨̧̛̛̛̛̲͚̞̘͇̳͎̼̱͇͕̱̮͙̪̤͓̭̖̜̩̠̟̩̖̱̖̝͖͈̮̰͙̙̭̦͇̬̖̱͙̙̹̤̩͓̥̳̺̣̺̱͎̻̼̖̺̮͙͕̮̘͎̬̫̜̥̻͍͓̥̭̺͇͖͓̜͍͕͖͍̓͋̀̉̀͐̀̀́͂̿̓̄̓́͆̆͊̅͒͐̈́͊̓̒̊͊́̍̍͐̑́̔̄̑̌͂͂̏̏͛̔̎͂̌̂́̐̀̈́̓̇̋̇́͆͛̅̊̔͗͗̀̅͐͒̐͗̐̾́̾̂͆̅͊̃͊̃͆̏͌̓̐͂͊̅̈́̐̌̒̏͒̒͋̇̋́̏̏̔̎̃̋́̓͑̅͗̈́̉̇̈̽̉͛̎̃̈́͗͆̓͆̈́͊̄̊͋͐̓͐̄́̏̈̈́͆̂̉̑͗͐̆͋̾́̔́̅̐̆͒̆̓͑̎̇̅͒̇̊̌͋́̌͗̿̈́̿͒̿̆̀̊̑̓͑̏̿͊̌̈͑̀̀̇̄͊̆͂̄̎̇͛̄͛̌̉͂̓̀̓̕̚̚͘͘͘͘͘̚̚̚̕̚̚͘̕͜͝͝͝͠͝͝͠͠͝͝͠͝͝͝͝͠͝ͅͅͅš̶̨̡̨̨̢̧̢̧̨̢̡̢̧̢̨̛̛̛̛̛͔͈͎͈̜̗̠̪͓̻̤̙̺͍͈̼̥͕͙̰͉̭̤͇͎͚̫̙̺͍̣̙̠͚̤͍̗̻̫̪̰̞͚̤͇̟̦̩̩̦̫̤͕̼̲͖̖̠͎̫̻̳̤̝̲͍̲͕͖̱͓̠̙͈̘͚̣͖͍̥͔̤̝̭̪̤͉̪̮͖̺̦̖̘̦͖͙̫̳̙̟͉̩̩̳̻̼̞̻͔̟̰͓̘̰̺͍̥͕̰͖̗̗̯̺̼̹͇̞̫̭̘̻͓̞̖̰̻̟̱̯͖̲͎̺̲̦͖̻̗̞͍͍̜͖̥̭̺͍͍̳̦̥͉̩̰̹̙̞̜͎̝͚̮̳̹͎̝͕̘̘̜̬̱̪̱͖͇̲͛̓͆͆͛͋̑̀̐̿͑̌͒̉̐̿̃́̎̊͋̆̄͆͂̀̊͐̈́͊̑̓̔͐̎̒́̀͐̿͛͛͐͊̽̋́͌̀̾͒̍̋̇̉̎̏͂̈́̋͌͋̆̂͒̃̇̓̃̈́̍̐̓̅̽̈́̿̑̀̋̀̎̃͒̓͋̇̏̉̀̀́͊̋̽̇͗̆́̂̎̇͑̿̍̓̿̍̊́́͊̀̍̈́̓͗̉̈̍̇̃͗̉͆̌͊̓̈́͆̃̉̈́̈́̌̊̅͑͗̅̑̎̄̑͋̾́͂̀͑͐̃̀͂̊͂̐̊̄̈̍͂̍͒̾̆̀̐̄̇̎͗́̆̒́̓͑̽̐̓̌̈́͐̑̀̅̎̓̈́̆̊̒͐͊̿̉̋̎̆͊̃͑̂̿̎̒̒͐͑̽͂͌̋̋̽̎̋͂͋̿̓̔́̏̈̌͊́͌̉͋̈́͒̈́̆͗̒͘̚̕̚͘͘̕̚̚̕̕̕͘̚̕͜͜͜͜͜͠͝͠͝͝͝͝͠͝͝͠͝͠͝͠͠͠͝͝͝͝͝ͅͅͅͅͅͅͅe̸̡̡̧̨̢̢̡̢̨̨̡̨̢̨̢̧̡̛̛̛̛̛̛̛̘͖̠̬̻̩̙͙̻̘̯̩̻͖̗͎̰͍̳͙̯̬̦͖͙̤̖͚̻͎͖͔͚͉̳̲͔͈̯̮͉͈̖̘͖͈̲͔̞̱̟̰̝͚̜̖͔͓̼̺͉̜͍͓͚̯̖̰̻̩̠͎̳͎̬̹͓̖̤͚̞̤̖͈̖̱̥̼͈̲̘͔͙̤͈̖͎͍͋̐́̑͂̀̆̀͛͛͋͛̂̅̌̑̇͑̏̾͊͒̈́͗̾̐̆̅̏͋́́̏͐͆̈̒̃͌̋͐̌̌͌͛͑͒̇̎͂͑͗̔̋͐̄͌̑͂̋̐̈́̂̆͐͑͐̇́́̈́͊̄͌̇̾̃͋̿̽̄̽̀͌̃̓̿͒́͆͗́̃́̏͗̑͋̉͋̔̄͗͛̓̄͂̈́͒́̅̒̈́͛̾̌͐͊́̂̎̋̃̀̿̐̓̂̄̎̂̉͋̈́̔͗̓̒̇̍̔͑͛̈́̌̇̑̈́̆̽̿̔̀͗̅̊̓̏̀̀̍̋͑́͗͋̋̾̌̌̈́̑̇̂̈́̓̔̋̆̅̈́̍̈̊͗̓͒̏̈́̌̓̊͗̾̔̎̿͐̐͊̂͋̏̌̆̽̄̊̓̏͗̔̌͋̕͘̕̕͘͘̕̚̕͘͘̚̕̕̚͘̕͘͘͜͜͜͝͝͝͝͠͝͝͝͝͝͠͝͠͠͝͠͝͠͝͝͝ͅ ̴̢̧̢̧̢̢̧̢̡̡̨̧̡̨̧̡̡̧̧̨̢̡̢̛̛̛̛͙̤̮͓̻̜̥̣͕̘͚̼̦̙̯̦̟̩̭̮̬͍̩̖͉͔̙̝̪̠͎̩̬͍̣̬͍̖͉̰̹̖̳̼̳̹̟͔͓̫͙̤̘͍͉̫̲͈͈̜͕͕̻͚͔̺̪̤̘̯̬̭̘̘͎͓̩͎̻͍̮̜̥̬̪͚͎̤̻̮͎̣̘͖̬̪̥̤͉̮͕̤͖̦͕̯̗̼̗͔̰̹͓͖̟̠̰̱̤̘͖̮͖̖͈͓̩̳̟̙̘͚̝̹̥̖͚̲̻̹͓̰͇̞̘̣̖̯̜͖̻̙̙̻͎̖͔̼̪̝͚̱̣͚͉̦̩͓̘̱͈̰̞̜̣͓̼̤̮̺̦̖̩̩̠̫͍̠͓̥͓̳̻͚̻̟̺̟͕͚̬̩͍̮̤̫̣̻̯̱͕̝̮͕͇͚̮͈͚͍͖̥̳̤͖̖̠̟͇̫͔̯̀͆͑̌̃͗̀̎͗͊̈́̓͗̔́͛͛̏̽̀̐̄͛̋̒́͊̃͒̽̅̐͗̾͆̋͑̑͑̀͛̂͊̒̊͂͂̈́͋̂̒̾̿̂́́́̓͋͐̽̇̿̅̿̌̿̌̊͆̃̉̔͛̋͐̐̃͌́̏̃̀͑̏̏̔͗͛̍̄̌̇̆̈́͋̋̑̑̆̀̍̎̓̄̿͊͌͊̒̇̀͛̒̅͗̋̀͒͌̓̐͋̐́͑̽̃͒̀̽̔͐̂͗̽̒̇͊̇͌͛̽͐̉̈̿̈́̀̑̍̾͛̂͒̓̾̉̍̅͛̓̂̕̕͘̚͘̚̚͘͘͘̚̚̕̚͜͜͜͜͜͜͝͝͠͝͝͝͝͝͠͝͝͠͠͠ͅͅͅͅͅͅm̷̧̧̢̧̡̢̨̢̢̧̧̧̲̼̝͙̣͖̦̠̣̝̹̦̠̦̙͕̲̥̜͍͍̫̺̻͙̦͍͈̦̝͉̟͙̳͎̠̰̭̖̱͇̰͓͎̘͎͎̩̲̭̰̳͖͉̺̠͖͎͍̘͕̼̠̲̼̜̞̬̠̩̭̣̦̣̫̙̮̻̱̱͚̭̘̟̥̯̖͓͇̻̥̤̪͔̳̥̙̬̙͉͇̳̠̬̩̭̲̫̖̯͍̹͔͇̜͈̗͓̟͕̲͔̞̘͍̘̘͔͔͖͖̘̯̫̩͖͇͚̭͎̪̼̠̺̼̻̻̖̗̹̞̫͚̥̦͕̟̞̣̬̲̘̤̺̰͙̹͉̟̲̺̍͋͂̈͆̒͑̀̓̾̏̈́̀̈́́͜ͅͅę̶̡̨̧̢̧̛̛͔̘̹̦̯͎͔̬̮͉͎̩̜͉̤̘͔̥̝̺̱͕̪̖̟̘͙̰̟͕͓̬͚̼͈̯̱͍͓͕̯̺̞̣̳̭̜͖͔̻̻̹̣̮̞̮̳̣̹̠͈̲͕̺̦̯̝̜̜̬͚̤̞̩̞͖̝̠̻͍͓̩͖̥̮̖͚̜͔͈̺̤͇̈́̃̃́̾̏̊͒͆͌͒͛̽̊́̂̎͐̎̔͂͗͛́͋̈́͆̍̈́̐̈́͗̆̂̇̔̽̏͑͋̓̀̄̆͒̈́͂̅̂̄̇̔͋͗̉͗̅̀̇̀͊͋̈́́͐̔̄̾͊̋͂̿͛̈́́̑̈͂́̇͑̔̃̆͗͆͋́̾̽̓̂͆̉̀͋̔͐̂̒́́̐͌̀̅̀̐͑̍̈͐̃̽̃̍̾̐̏̽̅͛̓̈́̏̒͋͂̄́͗̃̀͗̈́͊̅́̇̿̓͒͐̓͂͂̍̌̐̈́͛́͂̄́͂̃̀̒̉̆̐̈͊̍͋͗͌̉͆͋̀̀́̈͊̎̑̊̀̉͒͘͘̕͘̚͘̕͘͘̕̕͘̚̚͜͜͜͜͜͠͠͝͝͝͝͝͝͝͠͝͝͝͝͠͝ͅ?̷̢̢̧̞̭̤͓̭͓͕̝͙̭̞̩̖̞͕̟̜͕̪̲̩̼̣̫̫̦̗̜̻̪̬͔̟̣̪͍̭͖̣̟̟̻̮̬̹̦̣̲̲̦̩̬͈̪̮͇̥̺̟̫̏̂ͅ

w̶e̸ ̵m̵i̴g̵h̷t̸ ̷h̴a̸v̷e̴ ̴a̶ ̴p̶r̸o̷b̸l̷e̴m̷

@gocs, you can already write intentionally-obfuscated code today (for example, mixing Latin and Cyrillic vowels). Can you give specific examples where you believe the current restriction has prevented someone from writing an unreasonable identifier they would have chosen otherwise?

Arbitrary unicode identifiers in a programming language are a bad idea. By allowing arbitrary nonsensical or deliberately misleading mixings of characters from different natural languages, and also because of the non 1-1 mapping from glyph of the character to encoding, it will just allow programs to become more incomprehensible and unmaintainable, considered as a whole corpus of programs.
It could also discourage international free/open source code sharing.
Identifiers should stay ASCII + digits, maybe with a handful of greek letters thrown in as a concession to those wishing to express mathematics, engineering, and physics.
In this day and age, strings and comments in the language should be able to contain arbitrary unicode characters, but the code should be treated as standardized and constrained and simple formal expression of math and logic, in a small, simple alphabet.
The program expression philosophy especially for free/open source should be more like how international aviation has standardized on English communications, for safe interoperability.
Sometimes less is more.

I disagree that gofmt should canonicalize. What I think it should do is unify - change all uses of an identifier to match the character sequence used at the declaration.
The only case that is a bit odd then is what to do about shadowing declarations - do we unify those too, or let them be unrelated?

@taralx, the problem with unifying to the declaration site is that it is hostile to byte-oriented searches. If I declare a method AñadirJalapeños, and you declare a method AñadirJalapeños, then either they're the same method (and can both be used as the same interface) but with different representations in the source code, or they're different methods but due to encoding only.
Neither of those options seems particularly better than canonicalizing the source.

Okay, so interfaces make that more difficult. My concern is that many canonicalization schemes result in aggressive switching from one code block to another (e.g. reducing superscript numbers to regular numbers or full-width symbols to half-width symbols). If the plan is to use only mild canonicalization that does not do this, then this will not be an issue for me, at least.

What is the current thinking on this? On re-reading this thread, the first comment here by Russ captures exactly what I want (vis-a-vis Indic languages). What is the issue with simply following Unicode TR31? It talks about normalization (not canonicalization) in section 5. What specific issues does Go run into beyond what is discussed there? Since many languages do not have upper/lower case distinctions you'd need something to indicate either what is a public or private ID. But beyond that I don't see anything special in Go. Note that Python, Swift, Nim & at least one implementation of Scheme are following it fine. I can always switch to one of these languages for some Sanskrit related work I am doing but it would be really nice if Go2 supported such identifiers!

As far as I know Unicode TR31 is still the current thinking.  But it will take some work to get there.

If anyone wants to get a feel for what sorts of identifiers TR31 permits, I have a package implemented here: github.com/smasher164/xid.
As others have mentioned, NFKC isn't backwards-compatible with existing Go programs. However, NFKC is at least backwards-compatible with itself. This means that an identifier that's normalized in on version of unicode will remain normalized in the future.
One option to accept a greater set of identifiers would be to take the union of XID_Start XID_Continue* and identifier = letter unicode_digit (the current set), where letter = unicode_letter | '_'.

Like with the loop variable change, I feel like this sort of breaking change is something that will actually be a net positive. If there's any code out there with distinct identifiers that are equivalent under normalization that actually compiles, it's likely broken. Using the module version to opt into NFKC-normalized identifiers seems like solid strategy to me.


wrap name with quotes to manage the v3 API vs v2 differences

The SG v3 API requires name to be quoted and will not consume double quotes in names.  This PR works around this oddity by sanitizing the name allowing the SDK to blackbox the issue from the caller.

@thinkingserious - hold off on this a bit; the test caught an interesting caveat; I'll fix.

@thinkingserious - Elmer, this one is ready to roll.  Thanks, Chris

This looks good to me, thanks!
I just have one more ask, could you please add a few tests that demonstrate a few use cases?

Hello @cbschuld,
Just two more things to get this one out the door:

Please resolve the branch conflicts
Please add a few tests to demonstrate a few use cases

Thanks!

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: cbschuld:x: thinkingseriousYou have signed the CLA already but the status is still pending? Let us recheck it.

Hi @cbschuld,
I went ahead and resolved the conflicts. I have a couple follow questions/feedback:

Why the change to protected $namespace = \SendGrid::class;
Since this version of the SDK is supporting v3, it should behave how the underlying API is defined as to not cause surprises for those that are starting with v3. I suggest we create a new function to handle this case for legacy users, perhaps with setv2Name?

Please let me know what you think.
Thanks!
Elmer

Hi @cbschuld,
Just checking back in with you. Thanks!


Aggregations

I have implemented these options:

max
min
mean
stddev
median
count (of non-nan)

Each of the option supports aggregation along multiple dims.

@rsignell-usgs @martindurant Please have a look.

@martindurant  @rsignell-usgs All the options have been implemented so this PR can be reviewed now.

You will need to have the option of separate aggregations for each of the extra dimensions: you could have mean along time and count along sig. Why the separate "aggregate" button, doesn't this happen at the same time as generating the plot?
Good start, though.

Furthermore, dimensions selected for x and y should not appear in the dimensions available for aggregation, and any dimension not aggregated should be available for selection as before (or you could have an aggregation called "selection" in the list).

You will need to have the option of separate aggregations for each of the extra dimensions: you could have mean along time and count along sig.

I haven't been able to understand what exactly you mean by this point. We already are able to find mean along time and count along sigma for any of the variable having these as dimensions.

Why the separate "aggregate" button, doesn't this happen at the same time as generating the plot?

This point seems valid as long as we are looking only at this PR. But in the set_reset_coords branch, we are having both default and custom coords along with the dimensions, but the Aggregate along multiselect is only displaying the dims. The case where x and y show coords, having a same button is not applicable. We can't aggregate along coords, so we need to have this button. To have a look at both the aggregation and set_reset_coords work together, please see temp_set_reset branch.
@rsignell-usgs Please let me know your views on this.

We already are able to find mean along time and count along sigma

In your interface, this does not appear to be the case, you only have one aggregation function, which is applied to all selected dimensions.

both default and custom coords along with the dimensions

@rsignell-usgs , is it possible to aggregate over a mapped coordinate, such as .mean("lat") for the example dataset?

I tried data.temp.mean(['lat']) and got
ValueError: 'lat' not found in array dimensions ('time', 'sigma', 'ny', 'nx')

So we can only use the dimensions present in variable for aggregation.

Specifically:
>>> data.set_coords(['lat', 'lon']).mean(['lat'])
ValueError: Dataset does not contain the dimensions: ['lat']

but can it be done?

but can it be done?

I have tried setting coords but still don't know how it can be done since mean or other aggregation is being done over dims of a variable.

In your interface, this does not appear to be the case, you only have one aggregation function, which is applied to all selected dimensions.

Do you mean to a have functionality to do  something like data.temp.mean(['time']).count(['sigma']).hvplot.quadmesh().
What image do you have in mind for implementing this? Do we need to have Aggregate along selector for each of the dim?

but can it be done?

My question is addressed to @rsignell-usgs , who maybe can ask other xarray people if necessary.

Do we need to have Aggregate along selector for each of the dim

exactly

Aggregations like .mean() only make sense when the coordinates are 1D and uniform.   For 2D coordinates like lon and lat in the Lake Ontario example, it would make sense to take the mean over the entire lake (e.g. the average lake temperature), but you would need a custom function that calculated the approximate area of each cell and weighted the result accordingly.    I think there is limited use for this aggregation capability in the GUI, actually.    I'm not sure it should even be included, on the basis that the additional complexity is not worth the marginal benefit for a few cases.

I'm not sure it should even be included

OK - just thought there might be a simple way. Perhaps years from now, xrviz may become something like imagej, with all manner of extra functionality plugins ...

Now we can apply any aggregation function to any dimension.

You have selected nx and ny for x and y axes, but you only got one axis in the plot, for time.

an axis can be aggregated of chosen for plotting, not both
axes that are not aggregated (time, in this case) should become selectors, as before.
as before, I don't understand the purpose of the aggregate button, compared to the previous plot button

(the values of temp shown seem pretty strange)

Only one plot button would be used. Creating Aggregation graph yet needs to be done. Am I going right now?

Yes, this appears to have the right behaviour.

Creating Aggregation graph yet needs to be done

You mean that the selected option has no effect yet, right?

You mean that the selected option has no effect yet, right?

Yes sir, I am working on it.

We can discuss this tomorrow, but what do you think ( @rsignell-usgs ) that "None" for the aggregation selection should be replaced by "Select" and "Animate", rather than having both controls show up? That would greatly simplify the output area.
I would like the see labels or boxes around the x/y selectors ("plot dimensions") and the aggregation selectors ("aggregations") in the interface, just to make things clearer for the user.

The select options are now working for aggregation. Where should this aggregation plot be displayed?

(I haven't positioned it yet, so it is on the right side which doesn't looks good)

There should only be one plot, I'm not sure what you are showing here.

This is simple version of the code used  in creating the two graphs as shown above.
For the case where
x:nx
y:ny
sigma:mean
time:None (could be any other aggregation)
For 1st graph:
data = xrviz.sample_data.great_lakes
var = 'temp'
sel_data = data[var].isel(sigma=0,time=0)
sel_data = sel_data.assign_coords(nx=data.nx,ny=data.ny)
sel_data.hvplot.quadmesh(x='nx',y='ny')

For creating Aggregation graph: ( where only sigma's mean, has been taken.
For any other dimension aggregation would have been done similarly)
sel_data = data[var]
sel_data = getattr(sel_data,'mean')('sigma')
# sel_data = getattr(sel_data,'max')('time') # -->if time's selection had not been None
sel_data = sel_data.assign_coords(time=data.time,
                                  nx= data.nx,
                                  ny=data.ny)
sel_data.hvplot.quadmesh()

Please let me know what exactly the graph should be. How should we combine
the two graphs above to generate what we require?

Since the user in your example has selected mean for aggregation on sigma, I would expect to see only the second graph. If they wanted to select on sigma, they would have chosen None for sigma (or one of "select", "animate", as suggested in my previous comment).

@rsignell-usgs @martindurant  Does this looks fine?

I'm super confused by this aggregation stuff.  Looking forward to discussing at today's meeting.

Does this looks fine?

Not quite what I was expecting - we will discuss

This is all working quite nicely now, IMHO.     @martindurant okay to merge this?

According to me work here is complete. This could be merged now. Please let me know if there is anything else to change.

According to me
I love this phrase.   My Italian colleagues used this often during my time working for NATO, and I miss it!


endOfConversation sent when root dialog of root bot completes

Version
4.8.0
Describe the bug
I have a root bot that calls a skill, similar to the 81.skills-skilldialog sample. When the skill replies, The RunAsync extension method identifies the bot is running as a skill and eventually sends an endOfConversation when the root dialog ends. This is and unknown activity type on the Microsoft Teams channel, resulting in a BadRequest exception.
The RunAsync extension method checks if the bot is running as a skill using the SkillValidation.IsSkillClaim method. This returns true when the following conditions are met:

the claims contain a version
the claims contain an audience
the audience is not equal to https://api.botframework.com
the values of the appId claim and audience claim are different

These conditions are also true when the root bot receives the message from the skill.
For the BadRequest exception to occur the root dialog also must complete or cancel. In the samples this never happens, because the dialog is always restarted with a prompt. In my bot I complete the dialog and then this piece of code is executed which sends an endOfConversation activity.
To Reproduce
Steps to reproduce the behavior:

Clone the 81.skills-skilldialog sample and set it up following the steps outlined in the readme
Replace line 201 in MainDialog.cs with

return await stepContext.EndDialogAsync();

Run the bot in the Emulator and choose action # 3. GetWeather
Notice the trace line Dialog MainDialog has **completed**. Sending EndOfConversation

Expected behavior
The endOfConversation activity should not be send when the root dialog of the root bot completes and cancels.

@gabog can you comment on this issue.

Hi @sschutten, just so I understand, you only see the BadRequest when running on the teams channel, not on the emulator, correct?

Hi @sschutten, thank you for the detailed description, I am able to repro the issue when using the teams channel. We will fix this in the next release.

Hi @gabog, yes, this is only on the Teams channel, not on the emulator. For now I've come up with the following workaround in the OnEndOfConversationAsync override of my TeamsActivityHandler implementation. Basically I remove the appid claim so the SkillValidation.IsSkillClaim will return false. If you have a more elegant workaround, I'm happy to hear that.
protected override async Task OnEndOfConversationActivityAsync(ITurnContext<IEndOfConversationActivity> turnContext, CancellationToken cancellationToken)
{
    if (turnContext.TurnState.Get<IIdentity>(BotAdapter.BotIdentityKey) is ClaimsIdentity claimIdentity && claimIdentity.HasClaim(c => c.Type == AuthenticationConstants.AppIdClaim))
    {
        claimIdentity.RemoveClaim(claimIdentity.FindFirst(AuthenticationConstants.AppIdClaim));
    }

    await _dialog.RunAsync(turnContext, _dialogStateAccessor, cancellationToken);
}

Hi @sschutten, I created a PR that I think fixes the issue you are having. Once merged it will go out in the next release.
Your workaround seems good, but you have time, try adding a copy of DialogExtensions to you project, rename RunAsync as RunAsync2 and see if that works.
Thanks again for reporting this!

Hi @gabog, I can confirm the code change in your PR works. I had to also copy the SkillHandler, because in 4.8.0 the ConversationReference is added to the TurnState instead of SkillConversationReference. Thanks for the much more elegant solution. I'll be looking forward to the release.

Great, thanks for confirming @sschutten, I'll leave this issue open until the PR is reviewed and merged into master so we can track it.
Thanks again!