Exit Skill Bot while calling from PVA

Hi Team - I am facing below issue in skill bot. Please suggest what steps I need to add further to achieve this?
Issue is : I built one skill bot using Bot Composer to send adaptive card to PVA. In Skill bot, I am taking input using event activity (SampleAction) trigger from PVA and then binding the data to adaptive card and sending card to PVA as per dialog configured below. I am able to trigger this skill from PVA and getting adaptive card, but after getting the card in PVA, I am seeing skill is not exiting, and any further typing in PVA will giving the below error and going to escalate topic. I tried using end turn / end dialog in composer , but still getting the same error.
Error :- Sorry, something went wrong. I am not able to help you at the moment, please check back later. Conversation ID: BtzkQK4eaJKH3hGA9PbAJq-f. Time (UTC): 7/28/2020 12:02:17 AM.

Thanks
Aavi

Hello @Aavi2105. I'd like to help and I have a few questions.

Would you kindly link to any documentation you've followed?
Would you kindly show us the rest of your Composer skill, perhaps by sharing the dialog files?
Have you tried using End Conversation instead of End Dialog?

Hi Kyle :- Thanks for your response.
As asked, PFB details .

I followed below links to create skill bot and created trigger of type event activity which I am calling from PVA.
https://docs.microsoft.com/en-us/composer/how-to-connect-to-a-skill
https://github.com/microsoft/BotFramework-Composer/issues/3421
Please find below dialog file.
echoskillbot.dialog.txt
I used end dialog and I don't see any option in composer for end conversation. Please suggest, how to use this, so that I can try it out.

Thanks
Aavi

Hi @v-kydela :- Did you get a chance to look into this ?
Thanks
Aavi

@Aavi2105 - Yes, you can read about using endOfConversation in a skill here.
I am waiting on advice about how to do this in Composer.
@cwhitten - Can you advise?

The EndOfConversation activity should be sent from the Skill automatically and the caller needs to respond to it (in this case PVA).
@sbacha does PVA do anything here on this event sent from the Skill?

Hey, so if you have autoEndDialog set to true, the skill will automatically send an endofconversation when it hits the last node in your dialog flow.
If in the manifest you have resultValue set to some expected object, then you need to pass that object as part of the the end of conversation event.
You can do that in composer by going to DialogManagement -> End This Dialog
End this Dialog has a property value, you need to set that value to the expected object you defined inthe manifest.
To debug this in PVA, in the test canvas check this out : https://docs.microsoft.com/en-us/power-virtual-agents/advanced-flow#troubleshoot-your-bot
The dialog file will give you information on what went wrong in that conversation.
If you have a missing variable that is expected to be returned to the PVA bot from the skill. You will see it that dialog file as expected variable missing.

@v-kydela :- Thanks for your response. Yes, I referred this link yesterday and tried out giving multiple expressions in composer to end conversation, but unable to end the conversation. Hope we get updates soon on this.
@cwhitten

Thanks @sbacha for your response. I was setting the value property as setProperty({resultVale},'customerId',dialog.testproperty) in end dialog, which did not work. I just tried this setProperty({},'customerId',dialog.testproperty) and it worked.
If manifest has resultValue defined, do we need to set the output always like this setProperty({},'propertname',Value) in end dialog property value?

@Aavi2105 - Are you saying you're putting the setProperty function as the value instead of just putting the value? I don't see any values passed to EndDialog in the dialog file you shared. Can you show what it looks like for you?

@v-kydela , Sorry, I added that after the dialog file shared to you. PFB screenshot.

@Aavi2105 - What's your desired behavior? Is your skill meant to return a value or are you not trying to return anything? What happens if you just leave the value empty?

@v-kydela :- Yes, Skill manifest files has input/output defined which demands output to be returned from Skill bot to PVA. If I set value property as empty then It does not end the skill conversation in PVA and I can see error message in dialog log file for  missing property [customerId] so it looks like if manifest file has output object defined then it is required to return value property in end dialog from Skill Bot.

@Aavi2105 - So your goal is to have the skill return an object with a customerId property?
=setProperty({},'customerId',dialog.testproperty) should work fine, but if you don't want to call that function you should be able to just return the object directly like this:
{
  "customerId": "${dialog.testproperty}"
}

You can set the type to "object" instead of "expression":

Does this resolve your issue?

@v-kydela :- I tried above, but returning this "${dialog.testproperty}" instead of its value. I used this (={customerId:dialog.testproperty} and it is working fine.  We can close this ticket now.
Thanks all.
Aavi.


Local Exec Unauthorized on applying ConfigMap

I have issues
I'm trying to update the config the map via the map roles and getting the follow error:
module.eks.null_resource.update_config_map_aws_auth (local-exec): error: unable to recognize "./kubernetes/config-map.yaml": Unauthorized
I'm submitting a...

[X] bug report
[ ] feature request
[ ] support request - read the FAQ first!
[ ] kudos, thank you, warm fuzzy

What is the current behavior?
I've been updating the ConfigMap for an EKS upgrade and have been struggling with the above error all day.
I'm logged in with AWS config with our full admin role, the same roll that created the customer.
I'm using Terraform v0.11.14
Module version: v2.1.0 (However tried many different version)
I've tried passing in:
manage_aws_auth        = true
 kubeconfig_aws_authenticator_additional_args = ["-r", "rolename"]
And also the profile of the aws config however I can't get back into the cluster.
If this is a bug, how to reproduce? Please include a code sample if relevant.
`module "eks" {
  version                = "2.1.0"
  source                 = "terraform-aws-modules/eks/aws"
  cluster_name           = "${var.name}-${var.environment}"
  manage_aws_auth        = true
  cluster_version        = "${var.eks_cluster_version}"
  config_output_path     = "./kubernetes/"
  map_roles_count        = 2
  map_roles              = "${var.eks_map_roles}"
  map_users              = "${var.eks_map_users}"
  worker_group_count     = "${var.eks_worker_group_count}"
  worker_groups          = "${var.eks_worker_groups}"
  workers_group_defaults = "${var.eks_workers_group_defaults}"
  subnets                = "${module.vpc.private_subnets}"
  vpc_id                 = "${module.vpc.vpc_id}"
}`

What's the expected behavior?
Errors with Unauthorized
Are you able to fix this problem and submit a PR? Link here if you have already.
Environment details

Affected module version: All
OS: Mac OSX Mojave v10.14.3
Terraform version: 0.11.14

Any other relevant info

This is sort of explained in the EKS documentation
Only IAM users/roles who have been granted write access to the aws-auth ConfigMap by the aws-auth ConfigMap are allowed to update the ConfigMap. Like via the default system:masters group.
If this is the first time you're creating the cluster then it must be done by an IAM user/role with suitable permissions. Not the AWS account root user.
If this is an existing cluster that has lost or corrupted its aws-auth then only the IAM user/role that originally created the cluster can update the ConfigMap. Unfortunately the master IAM user/role is secret information that is hidden inside the master nodes and is not accessible. You just have to somehow remember who it was.
It might also be easier to debug without using the module. Are you allowed to edit the ConfigMap? kubectl -n kube-system auth can-i edit configmap/aws-auth

This is sort of explained in the EKS documentation
Only IAM users/roles who have been granted write access to the aws-auth ConfigMap by the aws-auth ConfigMap are allowed to update the ConfigMap. Like via the default system:masters group.
If this is the first time you're creating the cluster then it must be done by an IAM user/role with suitable permissions. Not the AWS account root user.
If this is an existing cluster that has lost or corrupted its aws-auth then only the IAM user/role that originally created the cluster can update the ConfigMap. Unfortunately the master IAM user/role is secret information that is hidden inside the master nodes and is not accessible. You just have to somehow remember who it was.
It might also be easier to debug without using the module. Are you allowed to edit the ConfigMap? kubectl -n kube-system auth can-i edit configmap/aws-auth

Hi! Thanks for getting back to me.
This seems to have ultimately been caused by the cluster module moving from one to another and a cluster that hadn't been updated in a long while, our mapped roles was overwritten by the defaults somewhere in terraform vars and caused our usual role to be wiped, leaving just the eks worker iam role to be left in.
We used a shared role to create resources, however I wanted to check CloudTrail to see how this cluster was created because ultimately the shared role would work as usual.
Ultimately, we had lost all control of the auth with the cluster, even when using the root account user as a last port of call.
In the end we fixed, which involved ssh'ing into one of the worker nodes and editing the configmap from there to allow our role access again as system:masters.
Again,
Thanks for your response.
Danny


Re-added Scarf Plugin

Re-added Scarf Plugin
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[x] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[x] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65948fbcc84afc23b4abc93b--harness-developer.netlify.app


meaning of [file]

Instructions: Replace the template text and remove irrelevant text (including this line)
Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
(If it is related to runtime files, please check their header for where to discuss enhancements.)
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Is this a question?

This doesn't look like a valid request. Closing.


PPP fix

Fix typo in my PPP 👍

Pull Request Test Coverage Report for Build 356

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.856%

Totals

Change from base Build 353:
0.0%

Covered Lines:
2872

Relevant Lines:
3269

💛  - Coveralls


iOS 16.7.2 (20H115) is not supported.

iOS 16.7.2 (20H115) is not supported.

Courtesy of https://ios.cfw.guide/installing-trollstore/

If your device is on iOS 14.0 beta 1 or earlier, is running iOS 16.7.x (excluding 16.7 RC (20H18)), or is running iOS 17.0.1 or newer, it will never be supported by TrollStore.


show_crossed_off not working and crossed off items not being lined through

I can't get 'show_crossed_off: false' to work and the crossed offed items don't show the line through. I am using 0.108.6 home assistant core in a docker container on a NUC. I have attempted both the default theme and other themes, all are experiencing the same behavior. When I do cross them off either with the app or in home assistant it moved the item down and marks it correctly in the app.

I am facing the same problem. Running HA on a raspberry pi

Same

Same for me too.

I'm seeing the same behavior. Detailed installation information below
System Health
| arch | x86_64 |
| chassis | laptop |
| dev | false |
| docker | true |
| docker_version | 19.03.11 |
| hassio | true |
| host_os | Ubuntu 18.04.4 LTS |
| installation_type | Home Assistant Supervised |
| os_name | Linux |
| os_version | 4.15.0-109-generic |
| python_version | 3.8.3 |
| supervisor | 229 |
| timezone | America/Los_Angeles |
| version | 0.113.0 |
| virtualenv | false |
HACS Info:

Integration version:
1.3.2

Frontend version:
202008041812

Repositories:
655

Installed repositories:
17

Our Groceries Integration & Card
| Integration/Sensor Version: | 1.3.5 |
| Card Version: | 1.4.0 |

Same here, any resolution? running on Proxmox

I did some reverse engineering to find the issue, it's with the Python library this plugin is using:
https://github.com/ljmerza/py-our-groceries/issues/9#issue-737271176. Hopefully @ljmerza can take a look since it should be a 1-line fix.

I did some reverse engineering to find the issue, it's with the Python library this plugin is using:
ljmerza/py-our-groceries#9 (comment). Hopefully @ljmerza can take a look since it should be a 1-line fix.

Anyway we can change the one line in our custom component ourselves?

Same issue here, running on Docker

Same issue here, running on Docker

I tried to fix the code, but no luck... a lot of code and little understanding on my side...
Anyone any luck? If so, please post your findings?

just updated the OG python library and OG integration to point to the new library version. This should fix it. sorry it took so long, I dont have the free time i used to right now. let me know if this fixes it and ill close out

Issue remains? I believe, I haven't had it installed since trying before, but it still shows crossed off items always

I updated it to the master build via hacs and it has fixed the issue. Thank you very much.

Could you please elaborate on how you did perform the update.
I could not see any updates in HACS, so I tried an reinstallation without success.
Thanks in advance.
With best regards Henrik
From: dfmckay<EMAIL_ADDRESS>Sent: Thursday, February 11, 2021 7:32 AM
To: ljmerza/our-groceries-card<EMAIL_ADDRESS>Cc: kejXero<EMAIL_ADDRESS>Manual<EMAIL_ADDRESS>Subject: Re: [ljmerza/our-groceries-card] show_crossed_off not working and crossed off items not being lined through (#11)
I updated it to the master build via hacs and it has fixed the issue. Thank you very much.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/ljmerza/our-groceries-card/issues/11#issuecomment-777230968, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APF2NKPMU4DVINJP5Q2PJUTS6N2W3ANCNFSM4MNBXSSA.

It is working now. HACS suddenly showed Ourgrocerie was up for an update. Everything is fine.
Hent Outlook til Androidhttps://aka.ms/ghei36

From: Henrik Næsby<EMAIL_ADDRESS>Sent: Thursday, February 11, 2021 3:24:14 PM
To: ljmerza/our-groceries-card<EMAIL_ADDRESS>ljmerza/our-groceries-card<EMAIL_ADDRESS>Cc: Manual<EMAIL_ADDRESS>Subject: RE: [ljmerza/our-groceries-card] show_crossed_off not working and crossed off items not being lined through (#11)
Could you please elaborate on how you did perform the update.
I could not see any updates in HACS, so I tried an reinstallation without success.
Thanks in advance.
With best regards Henrik
From: dfmckay<EMAIL_ADDRESS>Sent: Thursday, February 11, 2021 7:32 AM
To: ljmerza/our-groceries-card<EMAIL_ADDRESS>Cc: kejXero<EMAIL_ADDRESS>Manual<EMAIL_ADDRESS>Subject: Re: [ljmerza/our-groceries-card] show_crossed_off not working and crossed off items not being lined through (#11)
I updated it to the master build via hacs and it has fixed the issue. Thank you very much.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/ljmerza/our-groceries-card/issues/11#issuecomment-777230968, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APF2NKPMU4DVINJP5Q2PJUTS6N2W3ANCNFSM4MNBXSSA.

The issue was fixed but seems to be back with the latest update of the custom integration (ha-our-groceries).
At least for me, I am now seeing crossed-off items in the list again.
Anyone else having this issue?

Yes i am also seeing crossed off items as non crossed off. Latest HA 2021.4.4

should be fixed in the latest our-groceries integration

Correct, it was previously working, but now the error is current. I see no crossed out items on my list any more. Only clear letters, though the lines are moving up and down when i click on them as if i was checking them off or on in the list. The issue is not fixed.

Updated to version 1.16 today. Issue is still valid. No items is shown as crossed off.

you need to update the integration

Could you help.me with some guide lines? I performed my update via HACS. where do I update the integration?

in HACS click on integrations and search for Our Groceries. Then click the 3 dots under the integration and hit update information. That should refresh hacs and give you the option to update it. The Current version as of apr 15th is 1.3.9. The update does fix the issue.

Don't know how, but updated from 1.3.8 to 1.3.9 and now everything is fine. Text is shown with crossed off items. Thanks


Running "cmake ." reports an error in CMakeLists.txt

I tried to build using the commands suggested in the readme, but "cmake ." fails with an error message suggesting a bug in CMakeLists.txt:
$ cmake .
-- The CXX compiler identification is GNU 7.5.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Curses: /usr/lib/x86_64-linux-gnu/libcurses.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gtk+-3.0'
--   Found gtk+-3.0, version 3.22.30
CMake Error at CMakeLists.txt:46 (install):
  install TARGETS given target "tarmac-callinfo" which does not exist in this
  directory.

-- Found PythonInterp: /usr/bin/python3 (found version "3.6.9")
-- Configuring incomplete, errors occurred!
See also "/home/petmay01/src/tarmac-trace-utilities/CMakeFiles/CMakeOutput.log".

This is on an Ubuntu 18.04.5 LTS with cmake version 3.10.2.
I don't see anything obviously diagnostic in the CMakeOutput.log but I have attached it anyway.
CMakeOutput.log

I was confused by this because that cmake command isn't failing in CI! But now I see that the Github 18.04 CI image includes cmake 3.20 rather than Ubuntu 18.04's standard cmake, so mystery solved.
I can reproduce it locally; thanks for the report.


Create pt.json

Thanks so much! I don't speak Portuguese but my very rudimentary knowledge of Latin lets me assume the translation is correct.
I just added one comment above, maybe you can take a look at it.


Redirections are followed but not accounted for

If we get e.g. a 301 we will follow the redirection until we get either a good (200) or bad (400, 500, ...) response, however we're not reflecting that on the results, thus showing increased RTT.
It makes sense to show the total RTT, however we should be showing a flag that says we've followed a redirect.

I addressed this bug in #16

UPDATE: Never mind, you want to follow redirects, but show this information, but show it to the user, right? (Instead of ignoring them?)

Fixed by @TAbdiukov on https://github.com/pjperez/httping/pull/16, thank you!


Android Immersive Full-Screen Mode

Add the Immersive Full-Screen Mode on Android for compatible devices.
Issue #63 for phones.

It's a good idea. However, as Android support has been removed in 1.2.1 I don't know if it will be reinstated once...


backport default headers

https://github.com/elastic/elasticsearch-py-async/pull/29/files

Already done https://github.com/wikibusiness/aioelasticsearch/blob/25adccb617fb36fd056b825e3f625f22b651bf62/aioelasticsearch/connection.py#L37


Event style: no overlap

Hello! Thanks so much for react-big-calendar!
I am wondering if it is possible to have events NOT overlap (in day view). I realize that this could potentially stretch the calendar but that is okay.
Currently the events look like this:

I would like for none of the events to overlap with one another.
Currently my styles are as follows:
eventStyleGetter: function(event, start, end, isSelected) {
    console.log(event);
    var backgroundColor = '#' + event.hexColor;
    var style = {
        backgroundColor: backgroundColor,
        borderRadius: '0px',
        opacity: 0.8,
        color: 'black',
        border: '0px',
        position: 'float',
        display: 'block'
    };

<BigCalendar selectable events={this.state.events} defaultDate={new Date(2016, 3, 1)} style={{height: 800}} onSelectSlot = {this.slotSelected} onSelectEvent={this.eventSelected} eventPropGetter={(this.eventStyleGetter)} />

Any way of styling this to work?

There really isn't any way of doing this in a way that would look ok. Partly because event width is not a fixed thing, and mostly because absolutely positioned elements (the events) can't grow the width of their parent to "fit" the children. Which leaves needing to do an extensive amount of width calculation in javascript, and that would be severely limiting in other ways.
I'd address the issue a different way, perhaps by increasing the z-index of the event as you hover over it so it comes to the forefront?

@jquense Thanks for the speedy reply.
How could you alter the z-index on hover? I was under the impression that once rendered, these events couldn't necessarily change/ didn't have hooks for changing. Could you provide a simple example?
In addition,  I need a way to display many overlapping events cleanly. The idea is I might have up to 15 events overlapping, and if they overlap it will be hard for users to see exactly what is going on. Given an example with 16 events at the same time,  some of the results do not even display:

Any idea on how to solve this? Again, stretching is OKAY if it solves the problem. The calendar can be as large as it needs to be. Clear information is better than pretty.

.my-event:hover {
  z-index: 10000;
}

then:
eventPropGetter() {
  return { className: 'my-event' }
}

Again, stretching is OKAY if it solves the problem

I here you and, that might be fine but thats not actually a tradeoff I can make, as in it's not feasible. There is no way to stretch the calendar to based on the sizes of the events without an extensive amount of flakey javascript, because the events absolutely positioned (required).


⚠ Bofrost.fr has degraded performance

In 92fe9bb, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1236 ms

Resolved: Bofrost.fr performance has improved in 209ce32.


Please Add onStart property

Hi @gwilymhumphreys ,
react-s3-uploader added a new feature that I really need - onStart.
Can you please add it to the component https://github.com/odysseyscience/react-s3-uploader/pull/79
Tal

Maybe even allow other object style prop and pass it to the S3Upload

Hi @gwilymhumphreys,
Any updates?

Hey - I've merged this PR from @Akronix: https://github.com/founderlab/react-dropzone-s3-uploader/pull/20. Will the preprocess prop do what you're after? I've also added another prop, uploaderOptions, so you can pass anything else needed to the react-s3-uploader uploader instance.
That's released now, v0.9.0.
The dependency on react-dropzone-s3-uploader has been updated to v3.3.0 too - seems ok on my end, let me know if there's any problems.

@gwilymhumphreys  Thanks a lot,
I appreciate it.
I'll let you know if it works


XFN Runner: Show STDOUT of failed composition function (exit code >= 1)

What problem are you facing?
We've implemented a function similar to the example functions from docs. If this functions fails, it returns a exit code greater than 0 and prints the error message in STDOUT.
[..] "error": "cannot run Composition Function pipeline: cannot run function \"service-versioning\": cannot run container: rpc error: code = Unknown desc = exit status 1: xfn: error: spark.Command.Run(): OCI runtime error: exit status 1"

Currenty, I cannot debug a composition function that fails to execute. When the function in the OCI container fails, I see the exit code but no additional information printed in STDOUT.
How could Crossplane help solve your problem?
Provide a way to see the STDOUT of functions that failed. That may be behind a flag/option like verbosity level/debug mode, etc.
Perhaps, also STDERR could be used, as it would be the more appropriate place for error messages.

The xfn runner has moved out-of-tree, so I'm moving this issue. In v1.14 (due end of the month) we'll have a new architecture for Functions that won't be prone to this issue. We haven't started on docs yet for the new architecture, but you can learn about it here:

https://github.com/crossplane/crossplane/discussions/4639
https://github.com/crossplane/crossplane/blob/579702/design/design-doc-composition-functions.md

That sounds really good, thanks!
If others stumble upon this thing, we worked around it by sending the uncatched exceptions to a HTTP endpoint (jmalloc/echo-server) that runs in the same cluster. It's absolutely not pretty, but get's the job done.
import http.client
import sys
import traceback

def main():
    try:
        # your actual function code
    except Exception as e:
        try:
            trace = traceback.format_exc()
            host = "echo.default.svc.cluster.local"
            conn = http.client.HTTPConnection(host, 80)
            conn.request("POST", "/", headers={"Host": host}, body=str(trace))
            response = conn.getresponse()
            if response.status >= 400 or response.status < 200:
                raise Exception("webtrace failed")
            sys.exit(90)
        except:
            sys.exit(99)

        raise e


Use the var jenkins_java_options to set extra Java options in the init file

Opening this to address the issue https://github.com/geerlingguy/ansible-role-jenkins/issues/66

I added jenkins_java_options: "-Djenkins.install.runSetupWizard=false" to defaults/main.yml. As you noted in the issue, most people using ansible would rather the wizard were off by default.

Thanks! This is a very nice/handy addition to the role.


page(home): replace mantl with elm-spa-example

This replaces the broken Mantl link with a link to elm-spa-example.
I know I said in the issue that the Ableton site would be a good example, but it's not open source. elm-spa-example is, and it's a good example of a larger Elm application. If you (@evancz) don't think that's appropriate, cool. No expectations that this will be merged since it's not what we talked about, but I was already in the code so 🤷♂.
Fixes #730

Great, thank you! :D


update recipe

@conda-forge-admin, please rerender
If this passes on Windows we can make it noarch.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

It does not work on Windows so it cannot be noarch.


Bugfixes

Various bug fixes and improvements.
I can exclude some if you want, I packaged them in the same PR because they change the same lines and it would result in conflicts.

Found this pull request when I was about to submit some of these changes myself. Especially the raise_for_status() is really useful for correct error handling. Right now there's only a generic JSONDecodeError which doesn't help at all. Looking forward for the merge.


NodeStateFlappingUnderLoad not working due to missing labels

Motivation
Part of https://github.com/giantswarm/roadmap/issues/3315.
Atlas pointed out that NodeStateFlappingUnderLoad is not working on CAPI due to missing labels (ip at least).
Todo

[ ] Fix NodeStateFlappingUnderLoad

I was comparing Vintage and CAP why we don't have the "IP" label set.
This is done by kubelet in Vintage by setting the flag --node-labels="node.kubernetes.io/worker,role=worker,ip=${DEFAULT_IPV4}"
In CAPI we do not set the ip, only
--node-labels=role=worker,giantswarm.io/machine-pool=grizzly-def00a,label=grizzly

We need to draft a new release for cluster chart and update all MC's + existing WC's

Merged in https://github.com/giantswarm/cluster-aws/releases/tag/v0.68.0


WIP: Replace documentation website with docusaurus

While working on replacing on #218 I found that there is a docsearch Docusaurus v2 template available and felt it would be interesting to give this optimized site generator a try.
Changes

[x] Replace documentation engine with https://docusaurus.io/
[x] Upgrade to Node 14
[x] Fix vercel deployment
[x] Fix discord redirect
[x] Remove blog entries until we have real blog entries
[x] Add back home page
[x] Setup typescript support again by following https://docusaurus.io/docs/typescript-support
[x] Move introduction sidebar item at top of the list and have it link to desired platform (github or gitlab)
[x] Integrate TailwindCSS, we can follow https://dev.to/sajclarke_62/using-tailwindcss-v3-in-docusaurus-in-5-steps-5c26
see https://github.com/game-ci/documentation/pull/259#issuecomment-1118099725
[x] Add back docker versions page (with login, etc.) See https://game.ci/docs/docker/versions
[x] Fix small layout glitches in docker versions page
[x] Fix dark theme in docker versions page
[x] Integrate proper docs versioning using docusaurus.io/docs/versioning
[ ] Add linting back, see https://github.com/game-ci/documentation/pull/259#discussion_r857174441
[x] Fix Duplicate routes found! warning: See #266, for now I suggest we keep the warning until we get rid of AntD and move to an actual mdx docs page with a component that fits docs styling 👍

[WARNING] Duplicate routes found!
- Attempting to create page at /docs/docker/versions, but a page already exists at this route.
This could lead to non-deterministic routing behavior.

This is due to a workaround to get the versions page to show in the navigation, but the page itself is handled by a docusaurus page.

For this deployment to work, vercel settings needs to be updated to docusaurus 2:

⚠ caution, this has an impact for other deployments. When working on this branch, update the value. When you're done, switch back to Next.
Concerning NodeJS version, it doesn't need to be updated as it can be determined from package.json's value 👍. Docusaurus is not compatible with Node 12, but it is compatible with Node 14 and 16. Vercel is not compatible with Node 16 so we're sticking with Node 14 for now.
Checklist

[x] Read the contribution guide and accept the code of conduct
[x] Readme (updated or not needed)
[x] Tests (added, updated or not needed)

Tried deployment using docusaurus 2 template in Vercel and getting some small issues.

Fixes https://github.com/game-ci/documentation/issues/223

Closes https://github.com/game-ci/documentation/issues/130

Fixes https://github.com/game-ci/documentation/issues/18

I played a bit with tailwindcss and docusaurus, but now that I managed to do quite a few nice things, I realized that https://tailwindcss.com/docs/preflight removes headers and pages classic styling, which breaks the docs pages a little.
Before tailwindcss:

After tailwindcss:

I also confirmed that on a blank docusaurus + tailwindcss project here.
Now tailwindcss has a typography plugin used with the prose class which allows us to bring back good styling by default for titles, etc. but I can't figure out how to tell docusaurus to wrap docs page with a div.prose.
Then, reading the docs a bit more, I realized docusaurus uses its own theme (infima). It's well documented and has examples we could easily use for home page:
https://infima.dev/docs/components/hero
So I'm thinking of removing tailwindcss again unless we find a way to bring back styling in docs pages. I really like to use tailwindcss, but I feel it'd be easier to just use infima.
🤔

Ah, this might be useful: https://tailwindcss.com/docs/typography-plugin#changing-the-default-class-name

I also found a request for official tailwind support (or supporting a tailwind based theme rather).
Seems like abstracting out the UI from the components is a work in progress, but it looks promising for the future.
Perhaps we can do without including the base from tailwind like you suggested and later upgrade to this tailwind-based theme from Docusaurus.

for now I suggest we keep the warning until we get rid of AntD and move to an actual mdx docs page with a component that fits docs styling 👍

Sounds good to me.

Unless we need useClipboard, I would remove it and consider this ready to merge 🎉
Maybe we can disable the algolia search until we finish its implementation with crawlers. We can create a new pr only for that as well.
Right now, on the previous site, the current search stops working due to limits being reached from time to time so it wouldn't be that bad anyway. What do you think?

Unless we need useClipboard, I would remove it and consider this ready to merge 🎉 Maybe we can disable the algolia search until we finish its implementation with crawlers. We can create a new pr only for that as well.
Right now, on the previous site, the current search stops working due to limits being reached from time to time so it wouldn't be that bad anyway. What do you think?

Yea sounds good. Have you already requested Algolia DocSearch? Was it already approved?

Updated your PR

Linting works
and is enforced using lefthook
Swizzled the Root element
Added all global context providers (global state, toaster, database, auth, icons)
Spinners, clipboard, notifications fixed

@GabLeRoux this probably needs another look to see if everything now works as expected but generally should be good to go after that. Feel free to move it forward 👍

Unless we need useClipboard, I would remove it and consider this ready to merge 🎉 Maybe we can disable the algolia search until we finish its implementation with crawlers. We can create a new pr only for that as well.
Right now, on the previous site, the current search stops working due to limits being reached from time to time so it wouldn't be that bad anyway. What do you think?

Yea sounds good. Have you already requested Algolia DocSearch? Was it already approved?

Yes, we have everything approved for DocSearch. We can login here to manage the crawls:
https://crawler.algolia.com/admin/users/login
The following configuration is currently setup to work with our approved docsearch algolia project:
docusaurus.config.js's themeConfig algolia
I think it's easier for now to isolate the docsearch integration in a future step. Here are the options I see right now:

Publish this pr as is, manually set the crawler config to the docusaurus template  and run a manual crawl from the crawler webpage:
pros: easy, should work instantly and could be a good in-between step, we just need to try it
cons: won't work on all branches, will work only on the published website

Implement api calls reusing same logic as before, but invoking https://www.algolia.com/doc/rest-api/crawler/?client=json#create-a-crawler at some point during deployment. This would be the ideal way of doing it, but it also takwes more time to implement. Quoting you from a private discussion we had about the setup:

get crawlers
check if prefix from branch name exists (see slugify or something in our code)

if exists, select that crawler
if not exists: create crawler (id gets returned)

use crawler to index
poll until success on all pages from "count"

Disable docsearch and implement this in a different pr

* Linting works

* and is enforced using lefthook

I just tested that locally, I modified src/pages/docs/docker/versions.tsx with bad spaces and it got fixed so yes it works for me too here 👍

Details on what I tried
yarn
echo "    " >> src/pages/docs/docker/versions.tsx
git add src/pages/docs/docker/versions.tsx
git commit -m "test"

The hook executed and fixed the file:

On a side note, it took more time than what I expected. I think it can be improved later tho, better have this than not even if it takes some time.

Observations concerning eslint execution time
I tried it again and still getting similar result:
eslint '*/**/*.{js,ts,tsx}' --quiet --fix src/pages/docs/docker/versions.tsx
✨  Done in 11.36s.

Maybe it's just eslint that takes time and I'm not used to it. I tried these:
# similar to how it's invoked by lefthook
 time ./node_modules/.bin/eslint  '*/**/*.{js,ts,tsx}' --quiet --fix src/pages/docs/docker/versions.tsx
./node_modules/.bin/eslint '*/**/*.{js,ts,tsx}' --quiet --fix   17.17s user 1.48s system 157% cpu 11.832 total

# tried without '*/**/*.{js,ts,tsx}', seems to be a bit better
time ./node_modules/.bin/eslint --quiet --fix src/pages/docs/docker/versions.tsx
./node_modules/.bin/eslint --quiet --fix src/pages/docs/docker/versions.tsx  12.93s user 1.34s system 148% cpu 9.618 total

I did a quick pass on each of the pages and everything seems fine.
The only thing I found that might be worth fixing is that the dracula theme (used in dark theme) wasn't as nice as the github theme (used in light theme) or our previous one as we can see here:
Left side: docusaurus, right side, previous implementation.

My main complain about it is that most of the yaml keys aren't colored. I might be picky tho, but I use dracula theme every day in my IDE and my yaml files looks much better than the one from FormidableLabs/prism-react-renderer default dracula theme.
I went ahead with 57294e67b2cbc7240a4bf73f14476e5f376d7b40
Before:

After:

The drak theme is also much closer to the github light theme.

lgtm 🚀

@GabLeRoux thanks for pointing that out. Fixing in https://github.com/game-ci/documentation/pull/272


Add regex plugins

eslint-plugin-no-unsafe-regex
"unsafe regex" as defined by substack/safe-regex

detect possibly catastrophic, exponential-time regular expressions

Examples of bad regexes:
/^(a?){25}(a){25}$/,
RegExp(Array(27).join('a?') + Array(27).join('a')),
/(x+x+)+y/,
/foo|(x+x+)+y/,
/(a+){10}y/,
/(a+){2}y/,
/(.*){1,32000}[bc]/

eslint-plugin-optimize-regex
Example
/[a-zA-Z_0-9][A-Z_\\da-z]*\\e{1,}/ can be optimized to /\\w+e+/

Yeah. Looks useful. Pull request welcomez.

These have been added (but the first one was removed)


chore: helm test case

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #747 🦕
Helm Test Case. @bcoe Created a test case for helm based on rust as you suggested. Let me know if I missed anything

@abhinavkhanna-sf looks great to me 👍
The helm strategy should now be available on the main branch of the GitHub action.


In v1.3.0, ReturnType of getCurrentLocale() must be Promise

Describe the bug
getLocaleCache now returns Promise, so the ReturnType of getCurrentLocale must be Promise
https://github.com/QuiiBz/next-international/blob/c3326333145415a99bda35963cf61044352e9c88/packages/next-international/src/app/server/create-get-current-locale.ts#L5
return getLocaleCache() as Promise<LocalesKeys>;

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
getCurrentLocale returns Promise.
Screenshots
If applicable, add screenshots to help explain your problem.
About (please complete the following information):

next-international version [e.g. 0.9.5]
Next.js version [e.g. 13.4.0]

Additional context
Add any other context about the problem here.

+1 experiencing this bug in v1.3.0. Fixed it for my app by awaiting getCurrentLocale (even though typescript says its not a promise).

Fixed in https://github.com/QuiiBz/next-international/pull/431, released in version 1.3.1.


Sam/support log levels

Copied over Dan's code, made a few tweaks to get it running inside Exceptional, and wrote a small project based on the Console sample but connecting to a local SQL server DB in order to test the log level.
Sample row inserted by the LogLevelTesting project
Id	GUID	ApplicationName	MachineName	CreationDate	Type	IsProtected	Host	Url	HTTPMethod	IPAddress	Source	Message	Detail	StatusCode	DeletionDate	FullJson	ErrorHash	DuplicateCount	LastLogDate	Category	ExceptionLevelId
2	B724470E-1D8D-4523-9C6A-D708C1854427	Samples.LogLevelTest	WIN-LEH7T80QQ01	2022-01-05 20:16:37.833	System.Exception	0	NULL	NULL	NULL	NULL	Samples.LogLevelTesting	Just a try/catch test	System.Exception: Just a try/catch test
   at Samples.LogLevelTesting.Program.Main()

Full Trace:

   at Samples.LogLevelTesting.Program.Main()
	NULL	NULL	{"GUID":"b724470e-1d8d-4523-9c6a-d708c1854427","IsProtected":false,"ApplicationName":"Samples.LogLevelTest","Category":null,"MachineName":"WIN-LEH7T80QQ01","Type":"System.Exception","Source":"Samples.LogLevelTesting","Message":"Just a try/catch test","Detail":"System.Exception: Just a try/catch test\r\n   at Samples.LogLevelTesting.Program.Main()\n\nFull Trace:\n\n   at Samples.LogLevelTesting.Program.Main()\r\n","ErrorHash":-1811626306,"CreationDate":"2022-01-05T20:16:37.8331171Z","LastLogDate":null,"StatusCode":null,"CustomData":{"Example string":"1/5/2022 8:16:37 PM","User Id":"You could fetch a user/account Id here, etc.","Links get linkified":"https://www.google.com","ExceptionLogging.Level":"Trace"},"DuplicateCount":1,"Commands":null,"DeletionDate":null,"Host":null,"Url":null,"FullUrl":null,"HTTPMethod":null,"IPAddress":null,"ServerVariablesSerializable":null,"QueryStringSerializable":null,"FormSerializable":null,"CookiesSerializable":null,"RequestHeadersSerializable":null}	-1811626306	1	NULL	NULL	6

Nope, I'm working on fixing it now

Another option is just to drop the lookup table and only insert enum values
and do the translation in the application.
On Thu, Jan 6, 2022 at 1:57 PM Samuel Ordóñez @.***>
wrote:

@.**** commented on this pull request.
In src/StackExchange.Exceptional.Shared/Error.cs
https://github.com/svalbuena/StackExchange.Exceptional/pull/1#discussion_r779783522
:

@@ -189,6 +193,11 @@ private void AddCustomData()
}
}

   private void AddExceptionLevel(ExceptionLogLevel level)

   {

       ExceptionLevelId = (int)level + 1; // TODO: Get from store, this is hacky

My instinct is that it's better to just query the ExceptionLevel table
instead of relying on the enum order matching the DB, though maybe for a
set as well defined as this it's fine...
—
Reply to this email directly, view it on GitHub
https://github.com/svalbuena/StackExchange.Exceptional/pull/1#discussion_r779783522,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAARPEVUICNOSZRC6HWZ3K3UUXQYRANCNFSM5LIGZ3DA
.
You are receiving this because your review was requested.Message ID:
@.***>


DBZ-961: fetching wrong data types when postgresql domain types…

… are used;
Added suport to some datatypes from postgresql

@linux10000 Thanks for the PR. This is a good start but the PR needs a little bit of cleaning up.

Remove all whitelist changes so only relevant changes are present
The postgres specifi files should go into postgres module not to the core
I've seen you've changed the SQL query to get metadata. The query needs to be tested (not as a par of testsuite) for case of hundred of thousands types in the database as we have seen such deployments.

So where are we with this one; @linux10000, do you plan to follow up on the review remarks by @jpechane? Thanks!

@gunnarmorling The original contributor no longer whant to continue with this but I believe we can build a new PR based on the analysis already put in the code

Ok, so I'm going to close this one for now, to clear off the slate a bit. It's referenced from the issue in JIRA, so we'll be able to take up the work later on from there. Thanks!


License?

Hi, could you add a license? Hopefully MIT?

Sure, I don't see any issues with that. Added in https://github.com/thephez/onvif-viewer/commit/0c95170dd31afd1b75ebfc1d58d309b9e3b46f54.


Do not display warning re: top n when response neurons are selected

FEATURE DESCRIPTION
Feature Inspiration
When specific response neurons are selected, a warning is always displayed above the plot, regardless of what value is entered in the "display top n neurons". While it's nice to let the user know that an input is ignored, there is no way for them to avoid this atm.
Feature Description
A suggestion would be to only display this when Top N is explicitly set and response neurons are selected. I'd also suggest that the warning be moved to next to the Top N field and not by the plot.
Alternatives Considered
A brief description of any alternative features that may accomplish the same
ultimate goal.
Comment
Add any other context or screenshots about the feature request here.

ISSUE OWNER SECTION
Assumptions

List of assumptions made WRT the code
E.g. We will assume input is correct (explaining why there is no validation)

Requirements

List of conditions to be met for the feature
E.g. Every column/row must display a value, i.e. cannot be empty

Limitations

A list of things this work will specifically not do
E.g. This feature will only handle the most frequent use case X

Affected/Changed Components

Files
Environment variables
External executables
Database tables
Cron job settings
Etc.

DESIGN
GUI Change description
Describe changes the user will see.
Code Change Description (Pseudocode optional)
Describe code changes planned for the feature.
Tests
A test should be planned for each requirement (above), where possible.

Just took a look and seems this issue already fixed . No warning was displayed with a few response neurons were selected. I close this issue.


Fix go version

Hey there! Started playing around with your repo today and noticed it requires go 1.18 while the docs mention go 1.16. Here's a quick fix.

Thanks!


invite @nstal to write a blog about his kyc bot

@nstal is an indie developer currently running a PoC Mining pool at http://www.zettapool.com/
He wants to set up a KYC and automatically withdraw service via a wechat bot.
He would like to share his experience with wechaty.
Looking forward to your blog!

Kindly ping @nstal
and Happy New Year 2021!

Kindly ping @nstal
and Happy New Year 2021!


Filters no longer showing notification after clearing form

Fixes this bug from Jira: "When I use the filter and then clear it, the notification shows up again. (enter filter parameters, click apply filter, page reload with notification and filtered results, click "clear filters", page reloads showing default list but with "filtered results" notification)
Changes

Update clear-form-buttons.js to remove the input fields themselves, rather than clear the values.

Testing

Go to any filterable type page and select a filter and apply it, and then try clearing the form. This will clear the results as well as the notification.

Review

@kave @kurtw

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[x] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

We should probably try calling form.reset()?

It's working with inputs, but be sure to clear a normal select as well.

We should probably try calling form.reset()?

@sebworks I thought about that when I added the submission, but I figured that this needs to be refactored to remove jQuery anyway after launch, so keep the scope simple till then.

@sebworks @jimmynotjim I think reset only works on form elements, not the form itself, so it doesn't seem to gain us much? Also I'm not sure but I suspect it would just clear the value, whereas we need to remove the entire element itself.
@jimmynotjim  Actually, I just noticed the selects wouldn't need to be cleared since we're somehow clearing them anyway (if you check on flapjack). Not sure if that's it's own bug though...

The selects aren't really selects, they're groups of checkboxes in a dropdown, so you're capturing them with the other inputs. If for some reason the original select wasn't replaced, we'd still want to be able to clear it out.

I think reset only works on form elements, not the form itself, so it doesn't seem to gain us much? Also I'm not sure but I suspect it would just clear the value, whereas we need to remove the entire element itself.'

You are correct and I misspoke; reset will only work on form elements. Having said that, we shouldn't be removing the form fields on submission.  It won't solve the issue if JS is disabled and if for some reason there is a script error (We are rely uplon a jquery to remove the elements), you are left with a blank form. I suspect some form fields aren't being cleared when looping the fields.

We should probably just make the reset button a link and make the href the request url. This way, no js would be required.

I like this idea for the time being till we update this w/ AJAX requests.

It won't solve the issue if JS is disabled and if for some reason there is a script error (We are rely upon a jquery to remove the elements), you are left with a blank form. I suspect some form fields aren't being cleared when looping the fields.

@sebworks Is the main issue then that this uses JS?  I'm just curious why that is a concern with this one in particular, since we're using it in other places, and I'm not introducing it but modifying it.  In any case, it sounds like this probably should've been a task assigned to FEWDs :)  Can I hand it off to one of you?

It's just that we are removing form fields via an external library and that library may fail. There are just better options. You can assign it to me.

@richaagarwal, I've opened up a new PR to solve this issue https://github.com/cfpb/cfgov-refresh/pull/1650


Persisting to database results in unexpected behaviour

Say I click on a collection and am shown the results in a json format, when I remove an entry in the json representation now and click update, it should be removing that entry right?
The nRemoved count should be 1, instead I get this:
{
"ok": 1,
"writeErrors": [],
"writeConcernErrors": [],
"insertedIds": [],
"nInserted": 0,
"nUpserted": 0,
"nMatched": 10,
"nModified": 10,
"nRemoved": 0,
"upserted": []
}
Am I completely misunderstanding this tool somehow?

@aptidude If you have not already done so, please switch to using the new version of this extension here: https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-cosmosdb
That said, the current behavior remains the same, so I have migrated this issue to there: https://github.com/Microsoft/vscode-cosmosdb/issues/532


Update nav.html

I've tried to use that link to get latest version and had a number of problems.

thank you, good suggestion!


fix: time zone

timezone is a placeholder, the user is able to change it to whatever he needs during installation.
use whatever you see fit (as long it's valid)


[Feature Request] Double check on config update

Describe the bug

When I create the second config using terraform-alibaba template, vela CLI override and update the default provider silently. This causes all the cloud resources in my cluster to re-build.
This is dangerous and we can add a double check when overriding happens.
To Reproduce

vela config create foo -t terraform-alibaba ALICLOUD_REGION=cn-hangzhou ALICLOUD_ACCESS_KEY=$ALICLOUD_ACCESS_KEY ALICLOUD_SECRET_KEY=$ALICLOUD_SECRET_KEY
vela config create bar -t terraform-alibaba ALICLOUD_REGION=cn-hangzhou ALICLOUD_ACCESS_KEY=$ALICLOUD_ACCESS_KEY ALICLOUD_SECRET_KEY=$ALICLOUD_SECRET_KEY
Check the Provider. The provider default is updated with newer config.

Expected behavior

In CLI, the config creation should be provide prompts if the command will update the
Screenshots

In CLI: Don't allow update config output (e.g. Provider) to be updated silently. It could provide a double check prompt to ask user if this is intended.

I can see CLI sub cmd config stays here and wants condition before updates silently.
https://github.com/kubevela/kubevela/blob/c0c1f6fdbb33099dab5fdcc3b9c6a9c909f9bdbe/references/cli/config.go#L378-L390


[TFLITE]Activation functions support

ELU, LEAKY_RELY, LRN, LOG_SOFTMAX activation functions supported for tflite frontend.
Along with this PR, i sorted the op list of tflite.
@FrozenGene @anijain2305 @wyc-ruiker Please help to review. TIA
Thanks for contributing to TVM!   Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

Some of the functions already exist in another PR #4805

@inadob thanks for letting me know., i didnt noticed, i will update my PR.

Rebased to latest.
@FrozenGene @anijain2305 please review and help to merge. TIA

Thanks, it is merged


Maximum stack exceed when running on WEB....(runned your example code in web)

The following JSRangeError was thrown building MyApp(dirty):
Invalid argument: Maximum call stack size exceeded
The relevant error-causing widget was
MyApp
lib/main.dart:30
When the exception was thrown, this was the stack
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 829:8   get

A little more investigation points to extending Color somehow being the issue.   If I create a mock Color class and substitute it for  Color everything "works"  you can access super and this in overridden methods on ColorRef , using the real class throws an error.   I think this is probably a bug at the flutter level, but I don't know for sure.

Could this be related?
https://github.com/flutter/flutter/issues/43533

@marcglasberg - It's working for me (I ran into the same issue). Nice work! I'm really enjoying this library.


BUG - Update SQL Credentials

Describe the issue
There's a bug in the "Update-BasicSQLDataSourceCredentials" function. When it checks if the data source is of SQL type, it's actually assigning the SQL type to the datasource.
Extension

Extension: Power BI Actions
Version: 5

Additional information
As you can see below, instead of a comparison, it's doing an assignment:

I believe the right code should be
if ($dataSource.DatasourceType -eq "Sql").

thanks for pointing that out. Will be deployed in a couple of hours

Thanks!!


Not possible to compile Shaders for GL ES 3.0

It's currently not possible to compile vertex/fragment shaders for GL ES 3.0.
Without any -p switch the version is GL ES 1.00, I'm currently using -p 120 in order to be able to use const arrays.
The -p 300 es switch does also not work, see #964

I encountered the same problem. How did you solve it later

if it were solved this issue would have been closed already :(


update call site for EstimateFeeRate

#603  👈
feature/proof-of-stake

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @lazynina and the rest of your teammates on  Graphite


Update github field during checkout

Feature Description:
We would like to provide a more detailed explanation of the Primary Github Account field during the checkout process.
User stories:

[ ] as a user I can get more information about github and upcoming providers during the checkout process

Acceptance criteria:

[ ] The text under the Primary Github Account field should read "Connect your organization to your github account. Only alpha-numeric (a-z or 0-9) or "-" are permitted. Read more about Github and other providers."

Related links or issues:
Definition of Ready Checklist:

[ ] User-facing feature: provides story or A/C in Gherkin format, or
[ ] Architectural feature: provides technical A/C
[ ] Dependencies identified
[ ] Sized by team

RProduct Owner AScrum Master CEng. Lead ITeam
Definition of Done Checklist:

[ ] Acceptance Criteria tested and passing
[ ] Deployed on test environment
[ ] QA performed & issues resolved
[ ] Unit test and E2E coverage updated (if applicable)
[ ] Builds without errors
[ ] Internal documentation updated (if required)

REng. Lead, Team AScrum Master CIProduct Owner

Created this in the wrong repository!


.border trumps .border-[size]

Howdy!
Would it be possible to have the default .border class be defined before any of the individual widths? Currently this doesn't work: <div class="border border-2"> which is unfortunate, because I dynamically insert certain classes to "override" the defaults.
I can currently get away by also dynamically assigning the default border, but I think it would be consistent to not having to do so.
Cheers!

No plans to change this behavior unfortunately as it would be quite a complex change (#1015), so instead I would recommend not adding two classes that target the same property, and only have either border or border-2 present, not both at the same time.
If you can share more about the tech you are using to build your project I'm happy to help come up with a solution for doing this that doesn't feel too cumbersome.

No worries, I can make do with doing some ternary assignments in this case.
I'm running into it with some PHP templates/views where, depending on certain variables, I add classes to elements.
To give you an example:
<input class="bg-white border rounded w-full p-4 pt-6 pb-2 font-bold' . ($autoFocus ? ' border-2 border-blue-500 ' : '')

But that's easily converted to
<input class="bg-white rounded w-full p-4 pt-6 pb-2 font-bold' . ($autoFocus ? ' border-2 border-blue-500 ' : 'border')

So it was more a "cascade" question than a necessity on my end ;)

Going through #1015 I'm wondering if you couldn't just hoist the default key out of the object first and then loop through the remaining keys?
Disclaimer: I haven't looked at the source, so I'm just spit-balling.

@TheDutchCoder Definitely possible to do that! I was giving that solution some thought, but realized that in the end it just imposes a different cascade order on the user (default always first, and after that, cascade is controlled by JavaScript weirdness) instead of allowing the user to fully control their own cascade.
It would also lead to some inconsistency with other plugins, specifically borderRadius. Right now, the default borderRadius config produces a nice, intuitive cascade where larger border radiuses (radii?) always override smaller ones
https://github.com/tailwindcss/tailwindcss/blob/c9bba9d1b16179b99c762e41ab84f67188aecd05/__tests__/fixtures/tailwind-output.css#L2987-L3005
If we hoist out default keys, borderWidth classes would nicely cascade from smallest to largest, but borderRadius would have a funky order.

@AlexVipond I understand what you're saying. However since default is, well, the default, I would assume as a user that I could override the default with a different class from the same group.
Not trying to introduce breaking changes of course, but it would be more consistent when it comes to 'defaults' I would think.
The borderRadius one is also a bit due to the fact that it doesn't follow a (typical) default, 0, 1, 2, etc. pattern, but uses words (none, sm) instead. Changing that to how borders (and other utilities) work would make it behave the same.
Anyway, it's a bit of a minor issue, I understand, but it did throw me off quite a bit as I didn't expect the behaviour (as I find Tailwind to be extremely predictable in a very, very good way).
Food for thought! ;)


[BUG]: DPG| Dev| Advocate not able to see ID card .

Describe the bug
ID card not present on Advocate details & review case file page.
To Reproduce
Steps to reproduce the behavior:

Go to 'citizen' url
file a case
Click on ' advocate details'
see error.
click on '...review case file.'
See error..

Expected behavior
Id card field should present on Advocate details page.
On review case file page, id card should present in advocate details section.
reference link:
https://jam.dev/c/0cbbc9c1-39e3-4bc9-9a91-b6ab0fb7fa7d
https://jam.dev/c/990fdb02-a1e1-4d1f-9e72-4de4d72f1ec5

These are the points mentioned by vaibhav, based on this i am closing this ticket.
-Marking all errors once a single date field is marked
-Date format of all the dates is changed
-FSO able to mark error on vakalatnama and complainant's ID card.
-Complainant's ID card can be reuploaded again


locality use

Bug Description
We are currently using the locality feature for nearby access. For the test environment, there will be many sub-environments. We regard the sub-environments as regions, and different sub-environments are regarded as different regions. This allows priority access to the same sub-environment.
But now there is a need to specify the sub-environment of the request to a service through the URL from http request, such as http://XXX?subenv=XXX, the subenv of queryString to specify the sub-environment of the request.
If the current traffic rules are not changed , what features does istio have to do?
Version
。

Additional Information
No response

Guess you wanto route to specific env services by query param. One way is to define subsets of different envs with DestinationRule, and then you specify a VirtualService to route traffic to whatever destination you want.

We want to specify the client's region based on the request, such as queryString，not the region where the client is actually located。I didn't find the relevant usage on the doc，Is there any way for istio to do this?


A small fix in date formatting

Replaces "datetimeFormat: 'YYYY-MM-dd HH:MM:ss'" with "datetimeFormat: 'YYYY-MM-dd HH:mm:ss'"

Hi @LucasAgro, thanks for the fix! To contribute to the google/earthengine-community repo you'll need to sign the Contributor License Agreement (see the message above). If you'd rather not, I can make the change -- please let me know how you'd like to proceed.

@googlebot I signed it!

Thanks for your reply @jdbcode
I signed the Contributor License Agreement.

@LucasAgro the change will be merged soon, thanks for your patience!

@LucasAgro, now that the PR is merged it will take a few days for the changes to be published to the Developer Guide. Thanks again for the fix!


Container fails to start after Engine crash with error task <UUID> already exists

The exact circumstances around this issue are not 100% clear, but here is our current understanding:

balenaEngine and the containers were running smoothly.
Something happens that causes the Engine to crash.
When restarting, the Engine fails to re-start one or more of the containers, with the error task <Container UUID> already exists.

According to our debugging, what is happening is that the Engine internal state is getting inconsistent during this crash/restart cycle. Specifically, upon restart containerd seems to believe that the task (i.e., the process running in a container) is still running, which is not true. It then raises an ErrAlreadyExists error (defined in vendor/github.com/containerd/containerd/errdefs/errors.go), which is what surfaces in the logs.
Overall, this error seems to be a very rare occurrence, but in one customer this is pretty frequent. According to our analysis, this customer is getting into a situation in which the device gets into a state of high resource usage (especially CPU). Containers health check start to fail, and so containers are restarted. This adds even more load to the system, which spirals down until a point in which the Engine crashes. This seems to be a perfect storm to trigger this bug: Engine crashing while multiple containers are being restarted themselves.

Created the lmb/issue-435 branch to work on this issue. For now, I am using it to take notes at relevant points while analyzing the issue.

I think I found something promising. containerd keeps information about running containers in two different locations. So, for a given container, we'd have stuff in these two dirs:

`/var/run/balena-engine/containerd/daemon/io.containerd.runtime.v1.linux/moby/
/var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/<UUID

The code doing the cleanup when a container is stopped removes each of these directories atomically, but we can still crash between these two atomic removals.
I prepared an Engine release modified to crash (opt in :wink:) at that point. I had a more structured test in mind, but I actually got my crashing code triggered while I was preparing the device for the test.
Since I got into this while I was not expecting, I am not sure what were my steps exactly. Anyway:
# balena start ded5d899febd
Error response from daemon: task ded5d899febd88e0f2f076aee9deac87452cfd6acbfaec90ff503246ef901770: already exists
Error: failed to start containers: ded5d899febd

There's our error!

Now, sadly this doesn't seem to be the whole answer yet.
I would expect that removing any ded5d8...  leftovers from both those locations would work around the issue and allow the container to start, but it doesn't. Therefore, there must some more metadata persisted elsewhere, which would imply in more points where crashes would cause this exact error. (Corollary: our critical session is larger than that function I linked in my previous comment.)

But here's something to think about: that code is part of containerd's runtime v1, which we indent to replace with v2 anyway.
I don't know if v2 would avoid the issue, but glancing over the implementation, it's clear the logic got more involved and the method even got a  Delete a bundle atomically comment.
Even this is indeed atomic, the issue might still exist (e.g., because of the things I said in my previous comment). But it looks like a step forward, and one we intend to take anyway.
At this point, it seems that the smarter way is to first focus on the migration to v2, because any effort put into v1 would be short-lived.

Just did some tests with a newer version of balenaEngine -- one that is already updated to the runtime v2. As in my previous test, I modified the Engine to force crashes at critical points in the bundle.Delete() method. In other words, doing the same test as before, but with the new Engine version.
I tried force-crashing in four different points, and in none of them I ran into the task <UUID> already exists error when restarting the container.
I'll give a bit more thought on other things we could test, but the updated Engine is looking good so far!

For reference, this updated Engine is available in balenaOS 4.0.11 and later.

Leandro - thank you! That is great news.

Thanks for testing this and coming back to us with the results, @louisburton ! Super happy to see this is solved!

Hi, I can see this issue manifest for some of our devices in the field still. They're running balenaOS 4.0.25.


tour: instruction unclear for Reader with infinite stream

Context: https://tour.golang.org/methods/22
The instruction is unclear as it tells about "infinite stream" while expected is a Reader implementation that reads 'A' characters continuously.
Difference is like between infinite set of values and infinite recurrent function.

I think it's correct. The exercise wants you to implement a Read method that emits an arbitrary large number of A; i.e. you call 'Read([]byte)with a 1MB slice, it'll return 1MB ofA, you call it with a 10MBslice, it'll fill it with 10MB ofA`. "infinite stream" is an accurate description of this.

I think this is clear enough, closing here.


[Feature] try/except training, save model

wrap trainer.train() in a try except, on failure, save pretrained model to output_dir/on_fail

should gracefully handle full tune vs lora


Add ASGI & WSGI instrument methods

Is this what you had in mind? @alexmojaki
I don't like it.

Pretty much. What would you prefer? Just a different name?

I don't like that every instrument_ method is returns None, but those 2 here need to return the app itself.

I agree with that. The difference is more obvious in OTEL because it's not e.g. ASGIInstrumentor().instrument(app) like other things. We could maybe have instrumented_asgi but people might not notice the difference. If people copy the code from the docs then they'll probably get it right, but they might not do that.
If it was name logfire.asgi_middleware(app) or something else which didn't start with instrument_, but the rest was the same, how would you feel?

If it was name logfire.asgi_middleware(app) or something else which didn't start with instrument_, but the rest was the same, how would you feel?

I think I'll prefer more if it was a class itself e.g. logfire.ASGIMiddleware(). Because then it's clear for those familiar with ASGI that it returns an ASGI application.

But an ASGI application is just a callable, often a function.

It's a callable, but I don't think it's usually a function. In any case, I think it's irrelevant if an app itself is usually a function or a class, but ASGI middlewsres in the ecosystem are usually presented as classes.

Currently you can do this:
import logfire

logfire_instance = logfire.with_tags('foo')

logfire.instrument_bar()
# or
logfire_instance.instrument_bar()

Right now that's not very useful, but we may add other logfire.with_* methods. More importantly I want to eventually implement https://github.com/pydantic/logfire/issues/195 which would allow logfire_instance = logfire.configure(..., global=False).
I want the instrument methods to be instances of the Logfire class so that they all support logfire_instance.instrument_bar(). If logfire.ASGIMiddleware is a class then logfire_instance.ASGIMiddleware will be an error, and the user will have to write app = logfire.ASGIMiddleware(app, logfire_instance=logfire_instance). That feels a bit sad. BUT maybe it's fine if we're already giving up on a name like logfire.instrument_asgi anyway. WDYT?

I want the instrument methods to be instances of the Logfire class so that they all support logfire_instance.instrument_bar(). If logfire.ASGIMiddleware is a class then logfire_instance.ASGIMiddleware will be an error, and the user will have to write app = logfire.ASGIMiddleware(app, logfire_instance=logfire_instance). That feels a bit sad. BUT maybe it's fine if we're already giving up on a name like logfire.instrument_asgi anyway. WDYT?

Ah, I see. Then I think we can just have it as functions.

Do you mean methods of the Logfire class?

Do you mean methods of the Logfire class?

Yes.

@Kludex, ping me when this is ready for review, I'd love to take a look.

I'll work on this today.

@alexmojaki something else here?

Thanks!!! 🙏


AIDER_READ environment variable does not have the same behavior as /read/

Issue
I have created a conventions file .aider.guidelines in my home directory next to my .env file.
AIDER_READ=~/.aider.guidelines
When starting up, I receive the following error
Error: Read-only file /home/user/repo/~/.aider.guidelines does not exist. Skipping.
Setting AIDER_READ=../.aider.guidelines does work, but will obviously break if my repo is not in my home dir.
This is not a duplicate of #1155; the /read ~/.aider.guidelines works perfectly. The AIDER_READ= variable does not. How can this be fixed?
Version and model info
Aider v0.64.2.dev90+g13c5bfdd
Main model: claude-3-5-sonnet-20241022 with diff edit format, infinite output
Weak model: claude-3-5-haiku-20241022
Git repo: .git with 50 files
Repo-map: using 1024 tokens, auto refresh

The change is available in the main branch. You can get it by installing the latest version from github:
aider --install-main-branch

# or...

python -m pip install --upgrade --upgrade-strategy only-if-needed git+https://github.com/Aider-AI/aider.git

If you have a chance to try it, let me know if it works better for you.


Release UUID

Coverage remained the same at 91.53% when pulling eb2b38003c873a50d2becb209866c820ddd2ecfc on boguslavsky:release-uuid into 9c8c2e942b8e88de3f868544b2d705fb14605bf9 on exonum:master.


Appreciation for the plugin.

Hello, Thank you very much for building this amazing library and keeping it open source. I was finding the solution for my issue for rounding polygon and somehow found this repo. and it is perfect and solves the issue. Truly. Great work!

Hey! Thank you for your kind words. I'm glad it helped you!


Release 📦

📦 Release Pull Request
📝 Release Notes

The following Pull Request will carry out a release with the following adaptations:

Fix by standardising manifest.json

🚧 Pre-Release Checklist

[ ]  ~All tests passed successfully.~
[x]  Code follows coding standards.
[x]  Documentation is up-to-date.
[x]  Dependencies are correctly updated.
[ ]  ~Continuous Integration (CI) pipelines passed.~

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

v1.2.4
GitHub release

Your semantic-release bot :package::rocket:


Env Variable substitution in config.yml

Hello everyone,
kongfig is very cool, saved us tons of time, thank you. Is there a way to use env variable substitution  from env variable in config.yml file?

You can use the JS config files to use env variables. If you like to have the config in YAML then you can import the config in js config file and change what you need and use the JS config with kongfig.

@CyExy could we avoid the use of JS config file and do ENV variable substitution directly on YAML file?

+1 @kstromeiraos

I can see how this would be useful. How would this look:
apis:
  - name: test
    ensure: present
    attributes:
      upstream_url: 'http://%env(HOST)%'
      hosts:
          - '%env(HOST)%'

So HOST=mockbin.com kongfig apply ... would produce
apis:
  - name: "mockbin"
    ensure: "present"
    attributes:
      upstream_url: 'http://mockbin.com'
      hosts:
          - 'mockbin.com'

Looks good. And what do you think about this?
apis:
  - name: test
    ensure: present
    attributes:
      upstream_url: http://$(HOST)
      hosts:
          - $(HOST)

This way it would be more similar to Compose variables substitution.

That could work, although compose and JS template literals are both using curly braces so maybe ${HOST} rather than $(HOST)

Hi @CyExy , is there some news about this feature?


feat(java_indexer): add Semantic field to protobuf Metadata

The field will be used by java-based indexers to emit semantic/generated facts when processing proto-generated code.

This has some overlap with https://github.com/kythe/kythe/pull/5629. I'm not sure why I added a separate enum for the semantic type though - I think I copied it from the c++ implementation, but it shouldn't be necessary. Let's go with your PR and I'll rebase mine afterwards.
This LGTM, but let's have @zrlk take a look.

Ok, sg! I'll wait for your PR to get to google3 and then use it for JS indexer.

Nice. You literally opened your PR like 20 min ago.


Fail to build with protoc 3.1.0

Now I clone the project in my $GOPATH and try to build. It fails and the error log looks like this.
➜  tfclient git:(master) go build
# github.com/cmars/tfclient/vendor/tensorflow_serving/apis
vendor/tensorflow_serving/apis/prediction_service.pb.go:27: undefined: grpc.SupportPackageIsVersion3

And the version of protoc is 3.1.0 which should support protobuf 3.
➜  tfclient git:(master) protoc --version
libprotoc 3.1.0

I can go build if I comment out that line of code. But I'm still confused about how to run this. Do you mind adding more introduction about compiling and usage?

+1

Ok, ok, I'll try to look at this soon! :) In my haste, I lost the commands I used to create the protobuf shims, so this will be a fun rediscovery process..

I compiled the latest .proto files with protoc 3.1.0 and created a fork in case someone's interested: https://github.com/ilaripih/tfclient

Merged. Thanks @ilaripih !


[SYSTEMML-1102] Argument to print top n heavy hitters

Added an argument for "-stats" option to specify the top n heavy hitters.
@deroneriksson - is this useful in general?
@niketanpansare, @bertholdreinwald - this will help with the gpu performance investigation.

An example of this -

LGTM. Great idea @nakul02!
We might also want to eventually add something like a setStatisticsCount() to the new MLContext API.

Thanks @asurve & @deroneriksson !

Thanks @deroneriksson


⚠ ClamAV has degraded performance

In 9565183, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 73 ms

Resolved: ClamAV performance has improved in 4584312.


Vehicle Trim Improvements

Describe the feature
Only 2 improvements

Only 1 vehicle trim can be assigned to a vehicle as a civilian registering a vehicle.
Put the Vehicle Trims menu in the Vehicle menu, as trims are only designated for one vehicle. So, instead of a drop-down for vehicle trims in the Vehicles menu, have a text box that separates values by a comma instead. Citizens can then choose one value for their vehicle the normal way.

Additional Context
No response

These are both breaking changes will require one to reset data. This won't be possible anymore at this time


Fix ALB/ELB wait timeouts

@dmitrygusev Thanks for the PR. Is the issue that you're trying to fix that the ELB script times out before it has time to successfully complete the health checks? Looks like I'd expect people to be seeing that issue. PR looks good, so I just need to validate that it works as expected.

@mmerkes that's correct, ELB health check may require more than one successful response each of which can have its own timeout, so the script may need to wait more than a single timeout.


[CSL-2342] Implement client for the wallet v1 api

This PR implements a client for the V1 API interface using servant-client.

I am pretty confident that the API changes won't affect the way documentation is generated or tags are distributed. Happy to wait on @KtorZ's input though :)

Oh, dear. The implementation of the FilterBy and SortBy stuff was a lot hairier than I thought :(

I wrote a blog post on flattening out a nested route in Servant, so that servers and clients are more ordinary: https://www.parsonsmatt.org/2018/03/14/servant_route_smooshing.html
Not sure if this should be incorporated here; it seems easier to have less magic.

The AppVeyor build fails with:

Build exceeded allowed resource quotas. Fix your build to consume less resources or contact AppVeyor support to request quotas increase.

:(

It looks like the S3-based CI caching tool is at fault.
Perhaps it consumes too much disk for the cache -- which should be pruned somehow -- or maybe it already has a cache size limiting knob?

come on appveyor pls

The CI gods needed a bit of prodding :clap: Manually deleting the already-failing builds with pending OSX builds fixed it right up.


C#: Strict rules

Description of changes:

Enabling strict rules check by adding dotnet_analyzer_diagnostic.category-Style.severity = error in .editorconfig and

<EnforceCodeStyleInBuild>True</EnforceCodeStyleInBuild>  to project files.

Added lang section to enable modern syntax
Added workaround to handle unused imports
Applied rules in all C# codebase
disable HandleVeryLargeInput according to https://github.com/aws/glide-for-redis/pull/1085/files
timer for workflow set to 25 min (better caching strategy pending)

@Yury-Fridlyand I'm not sure where to find this \r\n. Search doesn't show it (in files I changed - we have such files in project). And diffs seems ok (if click whitespace ignore). Could you give more info on how do you see this EOL

Sorry, my comments weren't enough clear: in "revert EOL" I meant "revert EOL changes in your files"
Those are:

.editorconfig
benchmarks/csharp/csharp_benchmark.csproj
csharp/csharp.sln
csharp/lib/glide.csproj
csharp/tests/tests.csproj

Maybe GH web UI can help you

Sorry, my comments weren't enough clear: in "revert EOL" I meant "revert EOL changes in your files" Those are:

.editorconfig
benchmarks/csharp/csharp_benchmark.csproj
csharp/csharp.sln
csharp/lib/glide.csproj
csharp/tests/tests.csproj

Maybe GH web UI can help you
I assume a PR should have no whitespace changes unless it is a purpose of that PR

Done

@Sa1Gur Does the C# linter: section in the DEVELOPER.md file needs any updates with these changes? please make sure the DEVELOPER file explains how to check for linter errors and how to solve them

@Sa1Gur Does the C# linter: section in the DEVELOPER.md file needs any updates with these changes? please make sure the DEVELOPER file explains how to check for linter errors and how to solve them

The purpose of this change is exactly native errors in IDE in case of breach of conversions. So, no additional explanation is necessary. We could add a section explaining how it is working, but it is standard .net tooling. C# developers are supposed to know this staff.

@Sa1Gur Does the C# linter: section in the DEVELOPER.md file needs any updates with these changes? please make sure the DEVELOPER file explains how to check for linter errors and how to solve them

The purpose of this change is exactly native errors in IDE in case of breach of conversions. So, no additional explanation is necessary. We could add a section explaining how it is working, but it is standard .net tooling. C# developers are supposed to know this staff.

ack.
So you can resolve the conflicts & merge :)

@Sa1Gur Does the C# linter: section in the DEVELOPER.md file needs any updates with these changes? please make sure the DEVELOPER file explains how to check for linter errors and how to solve them

The purpose of this change is exactly native errors in IDE in case of breach of conversions. So, no additional explanation is necessary. We could add a section explaining how it is working, but it is standard .net tooling. C# developers are supposed to know this staff.

ack. So you can resolve the conflicts & merge :)

Conflicts resolved. I don't have write access to merge, so I will wait for someone else to do it.

@Sa1Gur new conflicts :( please resolve them and ping me / @asafpamzn / @shohamazon / @ikolomi / @acarbonetto to help merging this PR once it's ready.
Thanks!!

@barshaul are you sure?

@barshaul I can squash and merge right now if it is OK for your

@barshaul I can squash and merge right now if it is OK for your

there are some serious conflicts that needs to be resolved :(

@shohamazon
Where do you see that?

@shohamazon
Where do you see that?

@Yury-Fridlyand take a look at all of the commits in this branch

I can squash them into one, but where do you merge conflicts?

I can squash them into one, but where do you merge conflicts?

Most of the commits are from different pr's that were already merged, so I guess rebasing this branch over main can fix it

@Sa1Gur not conflicts, but there unrelated commits in the PR that should be rebased.  Should be easy as git doesn't detect any conflicts.


Can we return a struct for "UnmanagedCallersOnly" method?

Trying to return something like this.
[StructLayout(LayoutKind.Sequential)]
public struct MyStruct
{
    public int a;
    public char* b;
    public char* c;
    public char* d;
}

[UnmanagedCallersOnly]
//[DNNE.C99DeclCode("struct T1{int a; char* b; char* c; char* d;};")]
public unsafe MyStruct ReturnCalcValue([DNNE.C99Type("struct T1")] MyStruct myStruct)
{
    // Perform some operation on myStruct,
    return myStruct;
}

Here is the error while publishing:
/project/DNNE/test/ExportingAssembly/obj/Release/net7.0/linux-x64/dnne/ExportingAssembly.g.c(1327,67): error GA1C44C76: expected expression [/home/bpatel/project/DNNE/test/ExportingAssembly/ExportingAssembly.csproj]
          ReturnMQMDHeader_ptr = (/* SUPPLY TYPE /(DNNE_CALLTYPE)(struct M d))get_fast_callable_managed_function(t5_name, methodName);

@v2brijenpatel Can you share what the C signature is?
A first order attempt, without knowing the signature is:
[UnmanagedCallersOnly]
[DNNE.C99DeclCode("struct T1{int a; char* b; char* c; char* d;};")]
[return: DNNE.C99Type("struct T1")]
public unsafe MyStruct ReturnCalcValue([DNNE.C99Type("struct T1")] MyStruct myStruct)


Handle classification events in OLS

Signed-off-by: Liviu Popa<EMAIL_ADDRESS>

added classification relevant properties to returned payload
rectified classification displayed name


How can I send a message without content?

Hello.
How can I send a message without content?
For example, I need to send message with empty the 'content' field and the json structure in the 'data' field.

Think this is related to PR https://github.com/pedroandrade/pushwoosh/pull/6 ... thoughts @pedroandrade ?


[WIP] Fix #5553 Create correct projections

Description
Projections were created based on layer.data. The user expects a different projection to be created when the dim order is changed.
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References
Aims to fix #5553
How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

At the moment the correct projection is already created, but its place in the coordinate space is not correct.

Not familiar with this part of the code, so I might be completely off, but shouldn't this change just set a different value for axis, rather than passing a viewer? If axis order is different, then when _project is called, then axis=1 if the order is (1, 0, 2)?

Not familiar with this part of the code, so I might be completely off, but shouldn't this change just set a different value for axis, rather than passing a viewer? If axis order is different, then when _project is called, then axis=1 if the order is (1, 0, 2)?

The comment that I made was referring to the part that I changed. In main, when a user changes the axis order and then creates a projection, the new axis order is not taken into account. This because a numpy amax function is applied to layer.data which is not affected by changing the axis order.
This part of the code gets its dependencies by the injection store. This means that the namespace should be provided to the injection store. Currently the viewer namespace is provided but dims is not. We could add a provider and then pass on dims.order instead. Just this would require an additional change. Not certain whether there would be anything against:
def provide_dims() -> Optional[components.Dims]:
    return v.dims if (v := _provide_viewer()) else None

PROVIDERS = [
    (_provide_viewer,),
    (_provide_active_layer,),
    (_provide_active_layer_list,),
    (_provide_dims,),
]

Another option would also be to pass on dims.order as bound argument.

I adjusted the axis orders once more as when creating a projection, the projection was often orthogonal to the image data.

Currently, the image layer and max projection layer are not linked. This means that if you swap the axes of 1 the data will not align anymore. Optionally, it could be added in this PR for the image layer and the newly created projection layer to be automatically linked upon creation.

Hmm, not sure linking is intuitive here.
What's also not intuitive is that if I delete the 3D layer after making the projection, it rotates.
I think this would be a common user interaction: to make a projection and then delete the underlaying 3D layer, so the rotation then is rather unexpected.
Note for a split multichannel situation the rotation doesn't occur until the last 3D layer is closed, so this suggests this could be some deeper napari behavior.

Hmm, not sure linking is intuitive here. Swapping axis of the 3D stack will never be reflected in the projection, right? Like if I am looking en face, at x-y plane and make a projection, then I get a 2D x-y image with z compressed. If I swap axis on the 3D image to x-z plane, the projection can't account for that, it has no z data to show me any more. Unless the idea is to make a live projection layer that recalculates based on the axis dimensions?
What's also not intuitive is that if I delete the 3D layer after making the projection, it rotates. I think this would be a common user interaction: to make a projection and then delete the underlaying 3D layer, so the rotation then is rather unexpected. Note for a split multichannel situation the rotation doesn't occur until the last 3D layer is closed, so this suggests this could be some deeper napari behavior.

Thanks for the feedback! At the moment if you just create one projection it will take the dim order into account and align it accordingly with the original image layer. The usecase for linking that I was thinking of would be if you would create multiple projections, 1 for each axis and you want to view them all in 3d. This would only be possible when ndisplay is 3 though. In short, I mean for the projection to stay perpendicular with its respective axes even when the original image layers gets transposed. This is not necessarily something for this PR though.
Thanks for the catch on the rotation upon deletion. I will look into this.

Hi @melonora! Thank you for your bravery taking this on. 😂
@andy-sweet and I discussed this at the architecture working group meeting (which is just Andy and me currently 😂). The problem with basically every fix that touches dims ordering is that the dims ordering code is a complete mess. We really need to prioritise named axes and broadcasting, displaying, and projecting axes based on names.
The "original sin" here dates from (I can't find the discussion right now, but from memory) when @sofroniewn started work on naming the axes; he wanted to name them -1, -2, -3... from the right of the array, which would match NumPy broadcasting syntax — and I stopped him, saying it was super weird to have negative axes going backwards, and we should just have them from 0 and keep track of things for users behind the scenes. Because of my mistake, we're stuck with this spaghetti code that can never be consistent because the axes change names if you have different numbers of dimensions.
My instinct (but correct me if you think that this is super close to being finished and we should push through) is that we should close this PR, and instead work on:

changing the default axis names to (-1, -2, ...)
adding axis names to layers, with the same defaults
changing the dims attribute to dims_displayed = (-2, -1, -3), ie a tuple that contains both which dimensions are being displayed and in what order.
displaying layers based on those axes.

This would resolve so much messy code around "dims order" and "dims displayed" and how they interact. Not to mention a whole bunch of issues like #4308.
This might be a little disruptive 😅 but I think we will end up with a consistent dimension system and I see this as prerequisite/preliminary work to #3783.
@melonora what do you think? Am I asking too much? 😬 😅 But I hope that my path is at least clarifying, rather than the jungle of transposes you've been fighting against... 🤞

Hi @melonora! Thank you for your bravery taking this on. 😂
@andy-sweet and I discussed this at the architecture working group meeting (which is just Andy and me currently 😂). The problem with basically every fix that touches dims ordering is that the dims ordering code is a complete mess. We really need to prioritise named axes and broadcasting, displaying, and projecting axes based on names.
The "original sin" here dates from (I can't find the discussion right now, but from memory) when @sofroniewn started work on naming the axes; he wanted to name them -1, -2, -3... from the right of the array, which would match NumPy broadcasting syntax — and I stopped him, saying it was super weird to have negative axes going backwards, and we should just have them from 0 and keep track of things for users behind the scenes. Because of my mistake, we're stuck with this spaghetti code that can never be consistent because the axes change names if you have different numbers of dimensions.
My instinct (but correct me if you think that this is super close to being finished and we should push through) is that we should close this PR, and instead work on:

changing the default axis names to (-1, -2, ...)
adding axis names to layers, with the same defaults
changing the dims attribute to dims_displayed = (-2, -1, -3), ie a tuple that contains both which dimensions are being displayed and in what order.
displaying layers based on those axes.

This would resolve so much messy code around "dims order" and "dims displayed" and how they interact. Not to mention a whole bunch of issues like #4308.
This might be a little disruptive 😅 but I think we will end up with a consistent dimension system and I see this as prerequisite/preliminary work to #3783.
@melonora what do you think? Am I asking too much? 😬 😅 But I hope that my path is at least clarifying, rather than the jungle of transposes you've been fighting against... 🤞

I would say you are not asking too much and my way would just be a quick workaround for particular instances. I will just list the general state when not dealing with mixed dimensions:

The max projections get based on the axis as indicated by dim order.
In 3d all the max projections get created appropriately no matter the dims order. When creating multiple max projections the correct max projections are created but not viewed nicely combined with the other max projections.
For higher dimensions it is relatively easy to have a quick workaround. You just go one by one through the different dim orders and then check how you need to swap the axes in order to get the proper view. Still same thing would hold true regarding viewing multiple projections at the same time.
Mixed dimensions could be quite a bit more challenging. Here I would say it is better to tackle this by working on the actual fix.

I would say that we could still merge this PR to at least allow users to generate the expected single max projections, but then immediately after that lets work on the actual fix. What do you think?

Yup yup as I mentioned I'm ok with that, I didn't have a sense of how close this PR is/was.

@andy-sweet are you also in support of merging this as soon 4d, 5d has the workaround too?

@andy-sweet are you also in support of merging this as soon 4d, 5d has the workaround too?

Yes, but ideally under two conditions.

We have a solution for nD rather than 3, 4, and 5D specifically.
We have some vispy integration tests that should continue to pass after our internal dimension gymastics are fixed.

I could probably bend on both of these depending on how hard they turn out to be. I'm also happy to help with either or both and have a bit of time to do that over the next couple of days.

@andy-sweet are you also in support of merging this as soon 4d, 5d has the workaround too?

Yes, but ideally under two conditions.
1. We have a solution for nD rather than 3, 4, and 5D specifically.

2. We have some vispy integration tests that should continue to pass after our internal dimension gymastics are fixed.

I could probably bend on both of these depending on how hard they turn out to be. I'm also happy to help with either or both and have a bit of time to do that over the next couple of days.

Hmm the more I work on this the more I am actually in favor of actually solving the problem haha. One thing is that creating the correct projection is a separate problem from viewing it the correct way. Ultimately in case of no mixed dimensions I think one of the neater solutions would be something like this:
layer_data_order = [i for i in range(len(layer.data.shape))]
dims_order = list(dims.order)
move_order = [dims_order.index(i) for i in layer_data_order]
data = getattr(np, mode)(np.moveaxis(layer.data, layer_data_order, move_order), axis=axis, keepdims=False)

Since numpy moveaxis creates a view rather than a copy this is not a memory bottleneck and perhaps would help reasoning about  a rule for actually swapping the axes in order to view the projection correctly. I am starting to think it might actually be right to fix the actual problem.

I didn't know or forgot about np.moveaxis (thanks!), but yeah agreed that pairing this type of solution (i.e. projection that respects Dims.order) with a fix to the underlying display order problem is my dream too, so I'd be very supportive of such work. Fair warning, like Juan mentioned, there is plenty of existing spaghetti to trip you up and you'll need to drive a solution that does work for the mixed dimension case. But I think it's also true that most solutions should be better than what we have now.
For non-mixed ND I think we can simplify the above snippet to:
# Never copy equivalent of `np.transpose(layer.data, dims.order)`
ordered_data = np.moveaxis(layer.data, range(layer.ndim), np.argsort(dims.order))
data = getattr(np, mode)(ordered_data, axis=axis, keepdims=False)

That actually happens in the image rendering path too (in Image._on_data_loaded), though there are a lot of confusing wrinkles due to the general mixed dimension and some inconsistency about how we handle things like 3D slicing of 2D data.

Closing this in favor of an overall fix by renaming axes.