[WIP]stream_settings: Add unsubscribed tab to stream settings.

Currently, there are only two tabs, the All streams and Subscribed
tab for filtering streams in stream settings. Unsubscribed streams can
only be seen on selecting the All streams tab.
This commit adds another tab, Unsubscribed tab that filters all the
streams that the user is not subscribed to. If there are no unsubscribed
streams present, we show a message showing No streams to show.
This PR fixes Issue-21869
Working of Unsubscribed tabs:

Hey @alya, do you mind reviewing this PR?

@alya can you do a UI review on this? One thing on my mind is whether we want "Not subscribed" or "Can subscribe" rather than "unsubscribed", since the current phrasing could be interpreted as suggesting you were previously subscribed.

@alya can you do a UI review on this? One thing on my mind is whether we want "Not subscribed" or "Can subscribe" rather than "unsubscribed", since the current phrasing could be interpreted as suggesting you were previously subscribed.

Yeah, hm, looking at the UI:

I agree that "Unsubscribed" doesn't seem right. We can rename it to "Not subscribed". Note that "Can subscribe" is inaccurate, as admins will see private streams they can't join (unless we want to change that behavior).

After playing around with it, I feel like changing the order to Subscribed, Not subscribed, All streams would look better.

We should note that this part of the issue hasn't been implemented yet:

Direct the "Browse streams" and "Subscribe to more streams" links in the left sidebar to that tab.

@yashd26 would you be up for addressing the comments above? Thanks!

@yashd26 would you be up for addressing the comments above? Thanks!

My semester exams are going on, but I will be working on this.

Sounds good, best of luck on the exams!

Hey @alya, just wanted to inform you that it may take me a week to work on this issue since am not having my laptop on me for now. If you want, you can reassign this issue to somebody else. Am excited to see this feature being implemented in Zulip. Thanks :)

No worries, glad to see you're continuing to make progress now!

I agree that "Unsubscribed" doesn't seem right. Let's rename it to "Not subscribed". Note that "Can subscribe" is inaccurate, as admins will see private streams they can't join (unless we want to change that behavior).
After playing around with it, I feel like changing the order to Subscribed, Not subscribed, All streams would look better.

Direct the "Browse streams" and "Subscribe to more streams" links in the left sidebar to that tab.

Hey @alya, I have implemented all the parts of the issue listed above. As for the tests, am not sure as to why some of the puppeteer tests are failing. Can you please confirm if this this PR is ready to be merged or do I have to work on the tests? Thanks!

@sahil839, I think the PR is ready to be merged. Can you please review the PR. Thanks :)

Closing in favor of https://github.com/zulip/zulip/pull/26049, which is a more current PR for this issue.


Update request.py

fixed that issue: https://github.com/cnfuyu/python-binance-api/issues/4

cleaned up my changes and added a second fix from this branche: https://github.com/AndrewLCarpenter/python-binance-api


Move nr-persistent-context into nr-launcher

Description
This pulls @flowforge/nr-persistent-context into this module as a local plugin - rather than continuing to maintain it as a separate dependency.

Found some workflow references to the old package - removing them

@ppawlowski I've noticed the 'Build and push packages' action is skipping the tests on this PR - can't see why that is happening.
The existing .github/workflows/build.yml had an if false which I've removed to get the tests running locally - but I realise that isn't using the shared workflow.
Can you look at why the tests are being skipped?

@hardillb given the previous comment - this pr was still live and shouldn't have been merged


More than Images I believe Streamlit (enterprise) users will benefit from Documents upload for normal "office file"

Requested files and libraries to support
Pdf - fitz
docx- py-docx
xlxs - openpyxl

Pushed new version with just the base 64 encodings. Feel free to reach out if you are looking for additional support.


Raise error on unsuccesful automation

When doing a browser automation that is not successful, it would be really helpful to either raise an error, change the status code from 200 to something more indicative of an error, or both.

You can do it through a relatively simple downloader middleware, and I don’t think it makes sense as a default, so I am not sure if there is much to do here. Maybe document it along with #118?


players receiving pickups in levels with sublevels is inconsistent (resync works)

in levels with different zones (cave, jungle, citadel, lpc), things can still be picked up but other players receiving them is inconsistent (resync works)

Fixed by #37


fix: fix focus forwarding in Safari

Codecov Report

Merging #1601 (277d22c) into master (ab917b0) will decrease coverage by 1.19%.
The diff coverage is 56.98%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master    #1601      +/-   ##
==========================================
- Coverage   54.85%   53.66%   -1.19%
==========================================
  Files          49       79      +30
  Lines        1659     3488    +1829
  Branches      406      937     +531
==========================================
+ Hits          910     1872     +962
- Misses        671     1492     +821
- Partials       78      124      +46

Impacted Files
Coverage Δ

...mponents/sbb-accordion-item/sbb-accordion-item.tsx
0.00% <0.00%> (-37.21%)
:arrow_down:

src/components/sbb-image/sbb-image.tsx
69.09% <ø> (+6.12%)
:arrow_up:

...mponents/sbb-journey-header/sbb-journey-header.tsx
88.23% <ø> (+1.27%)
:arrow_up:

...onents/sbb-journey-summary/sbb-journey-summary.tsx
81.63% <ø> (ø)

src/components/sbb-link-list/sbb-link-list.tsx
84.00% <ø> (-4.24%)
:arrow_down:

src/components/sbb-link/sbb-link.tsx
60.41% <ø> (-31.02%)
:arrow_down:

src/components/sbb-logo/sbb-logo.tsx
0.00% <ø> (ø)

src/components/sbb-menu-action/sbb-menu-action.tsx
65.21% <ø> (ø)

...mponents/sbb-checkbox-group/sbb-checkbox-group.tsx
32.00% <32.00%> (ø)

src/components/sbb-clock/sbb-clock.tsx
32.82% <32.96%> (+32.82%)
:arrow_up:

... and 84 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Filter out remote model auto redeployment

Description
Currently, ml-commons supports remote model auto deployment when first prediction request comes, so in MLModelAutoRedeplyer remote model auto redeployment can be  filtered out.
Related Issues
NA
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[ ] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Apply spotless


Distinctive applinks host for different schemas

In case of multiple schemas (e.g. http\https) with the same host, generate distinctive host for iOS entitlements file generated

Nice, thank you for the PR!


 In the initial code, we could handle cases with both hostname, or IP address being returned. While it is true that juju may manage the hostname for the service, in some cases, like AWS, kubectl get svc will only return a hostname for the service instead of IP address, resulting in traefik being blocked stating that "gateway address unavailable"
I think returning the IP adresss if it exists first, and then if it doesn't returning the hostname makes sense for the cases where the Loadbalancer assigns different context.
In the attached log output you can see the difference between the svc output for AWS vs metallb. SQA could also return what Octavia returns from this output as well when running traefik on o7k with a load balancer.
To Reproduce

deploy charmed k8s on aws following these instructions: https://ubuntu.com/kubernetes/docs/aws-integration
juju add-k8s the charmed k8s into the aws controller
juju deploy cos-lite
wait for deployment to settle, and traefik to be blocked with "gateway address unavailable"
kubectl --kubeconfig kube.conf get svc -n cos traefik --output json to observe the lack of IP address in the load balancer status.

Environment
In the testing environment(s) SQA was running charmed k8s 1.28/stable on aws with the aws-integrator charm, and on baremetal was running microk8s 1.28/stable with metallb. we have seen this issue in all stable versions of juju 3.x and candidate versions of juju 3.5. In all cases we were using latest/stable for traefik.
Relevant log output
On microk8s with metallb we can see the svc context like so:

$ kubectl --kubeconfig kube.conf get svc -n cos traefik --output json
{
    "apiVersion": "v1",
    "kind": "Service",
    "metadata": {
        "annotations": {
            "controller.juju.is/id": "f1160f08-aaf7-41d0-8b49-0fa01b7f699b",
            "juju.is/version": "3.3.5",
            "metallb.universe.tf/ip-allocated-from-pool": "juju-system-microk8s-metallb",
            "model.juju.is/id": "8a98550d-b705-44b6-8ca4-06d7cc1181c9"
        },
        "creationTimestamp": "2024-06-27T17:18:03Z",
        "labels": {
            "app.juju.is/created-by": "traefik",
            "app.kubernetes.io/managed-by": "juju",
            "app.kubernetes.io/name": "traefik"
        },
        "name": "traefik",
        "namespace": "cos",
        "resourceVersion": "4290",
        "uid": "999b4ecf-37a2-4ec4-a76d-837cc421d1e1"
    },
    "spec": {
        "allocateLoadBalancerNodePorts": true,
        "clusterIP": "<IP_ADDRESS>",
        "clusterIPs": [
            "<IP_ADDRESS>"
        ],
        "externalTrafficPolicy": "Cluster",
        "internalTrafficPolicy": "Cluster",
        "ipFamilies": [
            "IPv4"
        ],
        "ipFamilyPolicy": "SingleStack",
        "ports": [
            {
                "name": "traefik",
                "nodePort": 31859,
                "port": 80,
                "protocol": "TCP",
                "targetPort": 80
            },
            {
                "name": "traefik-tls",
                "nodePort": 31320,
                "port": 443,
                "protocol": "TCP",
                "targetPort": 443
            }
        ],
        "selector": {
            "app.kubernetes.io/name": "traefik"
        },
        "sessionAffinity": "None",
        "type": "LoadBalancer"
    },
    "status": {
        "loadBalancer": {
            "ingress": [
                {
                    "ip": "<IP_ADDRESS>"
                }
            ]
        }
    }
}

and on AWS using ELB the output is:
$ kubectl --kubeconfig kube.conf get svc -n cos traefik --output json
{
    "apiVersion": "v1",
    "kind": "Service",
    "metadata": {
        "annotations": {
            "controller.juju.is/id": "c2a63cbe-4c3b-484d-8b61-c289f2260d5e",
            "juju.is/version": "3.3.5",
            "model.juju.is/id": "228b8510-e021-45b5-8b09-e4916256b514"
        },
        "creationTimestamp": "2024-06-27T17:45:42Z",
        "finalizers": [
            "service.kubernetes.io/load-balancer-cleanup"
        ],
        "labels": {
            "app.juju.is/created-by": "traefik",
            "app.kubernetes.io/managed-by": "juju",
            "app.kubernetes.io/name": "traefik"
        },
        "name": "traefik",
        "namespace": "cos",
        "resourceVersion": "7773",
        "uid": "b23f47a6-3538-4318-9715-5b2f26ca8a4a"
    },
    "spec": {
        "allocateLoadBalancerNodePorts": true,
        "clusterIP": "<IP_ADDRESS>",
        "clusterIPs": [
            "<IP_ADDRESS>"
        ],
        "externalTrafficPolicy": "Cluster",
        "internalTrafficPolicy": "Cluster",
        "ipFamilies": [
            "IPv4"
        ],
        "ipFamilyPolicy": "SingleStack",
        "ports": [
            {
                "name": "traefik",
                "nodePort": 32626,
                "port": 80,
                "protocol": "TCP",
                "targetPort": 80
            },
            {
                "name": "traefik-tls",
                "nodePort": 31108,
                "port": 443,
                "protocol": "TCP",
                "targetPort": 443
            }
        ],
        "selector": {
            "app.kubernetes.io/name": "traefik"
        },
        "sessionAffinity": "None",
        "type": "LoadBalancer"
    },
    "status": {
        "loadBalancer": {
            "ingress": [
                {
                    "hostname": "ab23f47a63538431897155b2f26ca8a4-1618134996.us-east-1.elb.amazonaws.com"
                }
            ]
        }
    }
}

Additional context
While COS isn't usually set to run on charmed k8s, and doesn't have many uses on AWS at the moment. COS is a good testing workload for juju and charmed k8s releases. Since traefik is used more and more as a standard ingress operator for Canonical it makes sense that it can work in most (all) environments.

Hello @asbalderson !
I have published a PR for this
Are you able to test it using latest/edge/fix378??

It works in SolQA AWS env.
Model  Controller       Cloud/Region                Version  SLA          Timestamp
cos    foundations-k8s  kubernetes_cloud/us-east-1  3.5.2    unsupported  20:51:25Z
App           Version  Status  Scale  Charm             Channel             Rev  Address         Exposed  Message
alertmanager  0.27.0   active      1  alertmanager-k8s  latest/candidate    124  <IP_ADDRESS>  no
catalogue              active      1  catalogue-k8s     latest/candidate     59  <IP_ADDRESS>  no
grafana       9.5.3    active      1  grafana-k8s       latest/candidate    117  <IP_ADDRESS>  no
loki          2.9.6    active      1  loki-k8s          latest/candidate    158  <IP_ADDRESS>  no
prometheus    2.52.0   active      1  prometheus-k8s    latest/candidate    209  <IP_ADDRESS>   no
traefik       2.11.0   active      1  traefik-k8s       latest/edge/fix378  202  <IP_ADDRESS>   no       Serving at a1fe861d3f36d4590b4b683d2424bc72-20394484.us-east-1.elb.amazonaws.com
Unit             Workload  Agent  Address         Ports  Message
alertmanager/0*  active    idle   <IP_ADDRESS>
catalogue/0*     active    idle   <IP_ADDRESS>
grafana/0*       active    idle   <IP_ADDRESS>
loki/0*          active    idle   <IP_ADDRESS>
prometheus/0*    active    idle   <IP_ADDRESS>
traefik/0*       active    idle   <IP_ADDRESS>         Serving at a1fe861d3f36d4590b4b683d2424bc72-20394484.us-east-1.elb.amazonaws.com


Build(deps): Bump keycloak-js from 23.0.1 to 24.0.3 (#5741)

Pull request opened by the merge tool on behalf of #5741

Merged in 64b5f4a6a5f18edcbd9156497b41362dbdf30755


Added some quotes to the project

hope you like the change... Thank you

Fix this extra " - as it's creating error in serverless function

Fixed it


SMTP Report generation

Hi
Please need suggestion on how to do SMTP for mochawesome reports that is mail triggering of the generated report.
Please suggest Us.
Thanks,

You would need another tool for sending emails, that is out of scope for Botium.
If you integrated Botium in a CI/CD pipeline like Bamboo or Jenkins, you can configure mail notifications there. If you need CLI tool, you can have a look at nodemailer.


Preparing a Spell reset Encumbrance.

Hello!
First of all, thank you very much for this wonderful module!
After doing some testing in a new world using only this module, I believe I have identified a bug, specifically when preparing/un-preparing spells.
Issue:
Preparing a spell (and maybe other interactions) triggers a call to updateEncumbrance with the spell data as the updatedItem parameter and mode set to add.
The spell data does not contain any weight info, but is added to the item list for weight anyway, later causing the calculateEncumbrance function to always return an encumbranceTier  of 0 by introducing NaN values during the process.
Possible Fix:
Quick & Dirty I used for testing: on VariantEncumbrance.js line 235, replace
if (mode == "add") { with if (mode == "add" && !!updatedItem.data.weight) {
Proper Fix: Check the validity of updatedItem, but I'm not sure what valid data should look like so...

Wow, that's a very interesting edge case! Thanks for the well reasoned explanation for this, it'll give me a good starting point. I imagine this will be a simple case of cancelling the update if the item doesn't have a valid weight as you've said.

After a little more testing, the updateOwnedItem hook seems to be called when interacting/moving/updating spells as well as feat/features, in addition to items. Both of which shouldn't have weight, so either checking for that or the updateditem.type (either "feat" or "spell" from what I found) should do the trick nicely :)
I didn't find any more case of this but I only did some quick testing.


[BUG] Stacktrace when interrupting (SIGINT) a from-kafka pipeline

Describe the bug
Ctrl-C of a from-kafka pipeline yields an abort and stacktrace.
====Pipeline Started====
Stopping pipeline. Please wait...  Graceful exit from pipeline.
Environment overview (please complete the following information)

Environment location: [Bare-metal]
Method of Morpheus install: [Docker/k8s]

Environment details
https://gist.github.com/pdmack/2f1924031e20995e99985cfd735fbbc3
Additional context
Add any other context about the problem here.

We likely just need the Kafka stage to respect the shutdown signal

@cwharris  can you look at this one since you have some experience with the Kafka source

@pdmack Do you know if this is the C++ or the Python kafka source exhibiting the issue?

New behavior in 22.06:
Stopping pipeline. Please wait... Press Ctrl+C again to kill.
Preprocessing rate: 1242messages [11:24,  5====Stopping Pipeline====
Unhandled exception in async loop! Exception:
Exception in callback Pipeline._do_run.<locals>.term_signal() at /opt/conda/envs/morpheus/lib/python3.8/site-packages/morpheus/pipeline/pipeline.py:404
Traceback (most recent call last):
  File "/opt/conda/envs/morpheus/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/conda/envs/morpheus/lib/python3.8/site-packages/morpheus/pipeline/pipeline.py", line 411, in term_signal
    self.stop()
  File "/opt/conda/envs/morpheus/lib/python3.8/site-packages/morpheus/pipeline/pipeline.py", line 206, in stop
    s.stop()
  File "/opt/conda/envs/morpheus/lib/python3.8/site-packages/morpheus/pipeline/source_stage.py", line 103, in stop
    self._source_stream.stop()
AttributeError: 'morpheus._lib.stages.KafkaSourceStage' object has no attribute 'stop'
Killing
Preprocessing rate: 1242messages [11:36,  5====Pipeline Complete====
Inference rate: 1242inf [11:36,  3.06inf/s]


Samsung Galaxy tab s7 FE wont target my characters with corrceth skills

Preparation

[X] I tested the latest release
[X] I looked at other issues (even the closed ones)
[X] I read the Troubleshooting Guide

FGO server
NA
FGA build number
1823
Describe the bug
the app is not properly targeting my servants with the single taerget skills
Video
https://drive.google.com/file/d/1nDcorRFj_BxqRoDcjJ0gkVOoDYHD9mwn/view?usp=sharing
Device model
Samsung Galaxy tab s7 FE
Android version
12
Screen size
2,560 x1,600
RAM
4GB

https://github.com/Fate-Grand-Automata/FGA/wiki/Troubleshooting#uses-skills-on-the-wrong-servant-or-doesnt-use-skills-at-all

@vybze tried all of that not sure which is wrong did you see the video?


Allow filtering products/variants/collections by channels

Problem
Currently, there is no option to filter products/variants/collections by channels.
We should consider extending where filters with the channels option.
In such a case, we need to decide what to return in price fields.
Also, we need to decide what should happen when somebody provides channel channel-dependent filtering option as well, for example, minimal price. One option is to raise an error in such a case.

Looks like not needed for now.


Add navigation properties to all entities

Hi,
most tables in database created by ABP framework does not contains foreign keys. This is due to missing navigation properties on most tables. It would be useful to add these navigation properties where missing to ensure integrity at database level.
Thanks,
Pavel

We don't want to add navigation properties for all foreign keys. Two reasons here:

Aggregate pattern says that an Aggrate should only reference to other Aggreate by Id. We haven't implemented that perfectly, but don't want to violate it totally.
Adding navigation propert for User, Role and Tenant to an entity (say, Permission) requires to make given entity generic, because User, Role and Tenant entities are abstract.

Instead, we can configure foreign keys in EF model.
This issue is related to https://github.com/aspnetboilerplate/module-zero/issues/328.

Foreign keys should be visible as such in the database. That is why they exist as types in the database: it is very important to be able to identify these crucial relationships. If they are not defined properly, then it impedes/prohibits diverse levels of database hygiene, management, migration, maintenance. If the foreign key is configured in EF, then it is in the database.
Correcting this would be a big quality-plus without any downside IMHO.

@PtwHub I know FKs are important in the database side. You can configure your FKs by overriding OnModelCreating method of your DbContext or inside your db migrations.

Thanks. We are currently working on this approach... No conclusive results yet.


consider ARCH as ppc64le when rust arch is powerpc64

The rust target arch for ppc64le is powerpc64.  However, while resolving the platform for an image, consider it as ppc64le.

@Amulyam24 can you rebase your PR and address the broken tests? Ignore the ones about cargo deny, they are going to be fixed by a PR I just merged (hence the request to rebase)

@Amulyam24 can you rebase your PR and address the broken tests? Ignore the ones about cargo deny, they are going to be fixed by a PR I just merged (hence the request to rebase)

Sure @flavio. Rebased and fixed the issue.

@flavio, is there an estimated time period for the next release?


fix(tests): Replace has...() methods with get...() methods

This PR fixes https://github.com/fabric8-ui/fabric8-planner/issues/2585

@jarifibrahim is this PR complete?

@nimishamukherjee Yes. It's complete.

[test]

@jarifibrahim Your image is available in the registry. Run docker pull registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2587 && docker run -it -p 5000:8080 registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2587 and visit http://localhost:5000 to access it.

@jarifibrahim Your image is available in the registry. Run docker pull registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2587 && docker run -it -p 5000:8080 registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2587 and visit http://localhost:5000 to access it.


named imports

This is just a concept. It's not Darty at all (some people might try to take off my head for suggesting this hahaha) but it does use a common approach I have seen in rxjs via TypeScript that helps to handle namespace issues since you're providing functions instead of classes with methods.

Yeah, that looks a lot like TypeScript. It is not ideal, but I've seen this pattern in Dart as well.
Ideally the constructors and operators could be inserted directly into the base classes: dart-lang/language#40, dart-lang/language#41, dart-lang/language#42, dart-lang/language#177, dart-lang/language#309, dart-lang/language#8547.


SVG Version of architecture diagram

Please can we have SVG versions of architecture diagrams so that we can use that as a starting point to build out new components for customer architectures (editable in Visio). Today as  a PNG, there is a lot of extra work to recreate.

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

ID: a6beac55-590d-a02d-3424-e766976acd44
Version Independent ID: 40e5543f-8139-584f-5936-f0d77797ee9f
Content: Azure Data Explorer monitoring - Azure Solution Ideas
Content Source: docs/solution-ideas/articles/monitor-azure-data-explorer.yml
Service: architecture-center
Sub-service: solution-idea
GitHub Login: @orspod
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 362405

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 362405

@allanopen Thank you for your suggestion. As suggested by @absheik currently this is under review internally . We will update the status on this thread.

@allanopen Thank you for your suggestion. As suggested by @absheik currently this is under review internally . We will update the status on this thread.

@allanopen We are working on an internal work item on this . Hence this issue is being closed and we will track this internally .
Thank you.

@allanopen We are working on an internal work item on this . Hence this issue is being closed and we will track this internally .
Thank you.


Add missing types for the Exception class properties

Resolves https://github.com/wycats/handlebars.js/issues/1576
Add missing type declarations for the properties of Exception class.
What has changed?

Converted function to a class so as to declare fields.
Declare all the properties (with the types inferred) that have been attached to the this object in the source file.
Declare a missing second argument in the typing - node and created an interface for it too.

[x] Please don't start pull requests for security issues. Instead, file a report at https://www.npmjs.com/advisories/report?package=handlebars
[x] Maintain the existing code style
[x] Are focused on a single change (i.e. avoid large refactoring or style adjustments in untouched code if not the primary goal of the pull request)
[x] Have good commit messages
[x] Have tests
[x] Have the typings (lib/handlebars.d.ts) updated on every API change. If you need help, updating those, please mention that in the PR description.
[x] Don't significantly decrease the current code coverage (see coverage/lcov-report/index.html)
[x] Currently, the 4.x-branch contains the latest version. Please target that branch in the PR.

@nknapp Not sure if this change requires a test too. If yes, please suggest and show me some examples and I can do it. Thanks!
PS: I tried npm checkTypes and npm test which all passed for me - not sure what else I need to do.

Test cases for the typings for into types/test.ts file.

OK. I'll add some.

@nknapp I've added some code using the defined types in the types/test.ts file. Please review and let me know if it makes sense. Thanks!

@nknapp Thanks for the detail review. I'll make the changes push again.

Hi @nknapp I've pushed new changes as per your suggestions. Could you please review again and let me know if this looks good? Thanks!

Superb. Merging now.


Setting global.ha.enabled: true produces deployment yaml with 2 affinity elements

We are using the FluxCD and it does not like the fact helm produces duplicates of the "affinity:" for the following templates where HA is enabled:
dapr/charts/dapr_sentry/templates/dapr_sentry_deployment.yaml
dapr/charts/dapr_operator/templates/dapr_operator_deployment.yaml
dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_deployment.yaml
It may sound like FluxCD being picky and it seem k8s is forgiving when it comes to duplicates where it may be something to fix in the helm so the definition is consistent and there is only one affinity block produced?
In what area(s)?

/area helm

What version of Dapr?

1.4.3

Expected Behavior
Helm to produce templates with a single affinity block
Actual Behavior
Helm fails to apply via FluxCD cause duplicate affinity causes validation to fail
Steps to Reproduce the Problem

Reopening because test to upgrade in HA mode failed in 3-node cluster during release activities for 1.5. This issue needs to be revisited.

What was the error?

It gets stuck in pending due to the affinity rules.

I guess the solution can be to switch to soft rules, which won't guarantee HA as with soft rules pods can still consolidate in non-HA way...
Does test system runs with a single node?

It is a 3 node cluster.

Changed to use the soft anti-affinity, which should not block the upgrade

We have had to turn off HA in all of our clusters until this is resolved

PR is merged. Closing.


Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 4.1.4-10-ga7d8ba1
ORIGIN: https://github.com/Homebrew/brew
HEAD: a7d8ba131ee5ca8dcbe4574b1e5001eb3d81f13f
Last commit: 37 minutes ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 880569c6d3bcd9ed8970a79796c847aea80fa625
Core tap last commit: 2 hours ago
Core tap branch: master
Core tap JSON: 07 Aug 18:59 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.LWih3zyrgv/org.xquartz:0
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 14.0.3 build 1403
Git: 2.41.0 => /opt/homebrew/bin/git
Curl: 7.85.0 => /usr/bin/curl
macOS: 13.1-arm64
CLT: <IP_ADDRESS>.1.1683849156
Xcode: 14.3.1
Rosetta 2: false

What were you trying to do (and why)?
brew deps --include-build --include-test --missing mpv
Trying to see which build / test dependencies for a formula have not been installed.
What happened (include all command output)?
Even with --missing set, installed build / test dependencies are shown.
Warning: Treating mpv as a formula. For the cask, use homebrew/cask/mpv
docutils
meson
pkg-config

What did you expect to happen?
Warning: Treating mpv as a formula. For the cask, use homebrew/cask/mpv

Shouldn't display build / test dependencies that have already been satisfied.
Step-by-step reproduction instructions (by running brew commands)
brew deps --include-build --include-test --missing mpv
brew install docutils meson pkg-config
brew deps --include-build --include-test --missing mpv

A potential short-term fix for this would be to make --missing conflict with --include-build if another @Homebrew/brew person can reproduce this issue and confirm it's not working as expected.

It looks like when we resolve recursive dependencies we only check if the dependency is satisfied (already installed) if none of the other criteria match. In this case, it gets skipped since the build and test flags are evaluated before them.
https://github.com/Homebrew/brew/blob/dc42544c59a26805825a56b323caeb9bbf696ff3/Library/Homebrew/dependencies_helpers.rb#L44-L55
If I move the satisfied check to the front here, it seems to work the way I'd expect it to but I'm not sure what other code relies on the current behavior. It looks like it's only referenced in the brew deps and brew uses commands at a glance.

I'll be honest and say I don't really understand the use case for brew uses --missing.

It looks like it's only referenced in the brew deps and brew uses commands at a glance.

Yeh, it's just used by them to share some code. Could you open a PR?

I'll be honest and say I don't really understand the use case for brew uses --missing.

Yeh, I think it's just an inverse to --installed, I can't really think of a specific case there either.

I took another look and I guess I'm not entirely sure what the expected behavior is here. It seems like if --missing is set we should always skip every installed package and ignore it's dependencies, right?
We can't move the satisfied check before the other checks because it introduces some false positives (see https://github.com/Homebrew/brew/pull/15529).
It seems like the if/elsif might be the problem here. Do we really want to skip all of the other checks if the dependency is recommended but doesn't meet the criteria for pruning it?
Maybe it should work something like this (haven't test it yet):
diff --git a/Library/Homebrew/dependencies_helpers.rb b/Library/Homebrew/dependencies_helpers.rb
index dd2a3acd2..a2d0d26cc 100644
--- a/Library/Homebrew/dependencies_helpers.rb
+++ b/Library/Homebrew/dependencies_helpers.rb
@@ -41,19 +41,18 @@ module DependenciesHelpers
     cache_key = "recursive_includes_#{includes}_#{ignores}"

     klass.expand(root_dependent, cache_key: cache_key) do |dependent, dep|
-      if dep.recommended?
-        klass.prune if ignores.include?("recommended?") || dependent.build.without?(dep)
-      elsif dep.optional?
-        klass.prune if includes.exclude?("optional?") && !dependent.build.with?(dep)
-      elsif dep.build? || dep.test?
-        keep = false
-        keep ||= dep.test? && includes.include?("test?") && dependent == root_dependent
-        keep ||= dep.build? && includes.include?("build?")
-        klass.prune unless keep
-      elsif dep.satisfied?
-        klass.prune if ignores.include?("satisfied?")
+      prune = false
+      prune ||= dep.recommended? && ignores.include?("recommended?") || dependent.build.without?(dep)
+      prune ||= dep.optional? && includes.exclude?("optional?") && !dependent.build.with?(dep)
+      prune ||= dep.satisfied? && ignores.include?("satisfied?")
+      prune ||= begin
+        build_dep = dep.build? && includes.include?("build?")
+        test_dep = dep.test? && includes.include?("test?") && dependent == root_dependent
+        !build_dep && !test_dep
       end

+      klass.prune if prune
+
       # If a tap isn't installed, we can't find the dependencies of one of
       # its formulae, and an exception will be thrown if we try.
       Dependency.keep_but_prune_recursive_deps if klass == Dependency && dep.tap && !dep.tap.installed?

CC: @carlocab in case you have any insight into this since you fixed it two months ago.

I see what you're saying about this being a command that probably doesn't get used that much (at least with these options) but I'm not sure that just marking those two options as conflicting will solve things. The confusing thing for me is that there's no notion of precedence here.
There are two general types of options available for the brew deps command.
Additive
      --include-build              Include :build dependencies for formula.
      --include-optional           Include :optional dependencies for
                                   formula.
      --include-test               Include :test dependencies for formula
                                   (non-recursive).

Subtractive
      --skip-recommended           Skip :recommended dependencies for
                                   formula.
      --missing                    Show only missing dependencies.

It seems like any of the additive options could potentially conflict with one of the subtractive ones. Of course, recommended and optional are not used in core so that reduces the possibility of those causing problems for folks. Beyond that missing was only added to this command a few months ago. This seems to be true for the brew uses command. The word is even stronger there though which makes it even more confusing.
Additive
      --include-build              Include all formulae that specify formula
                                   as :build type dependency.
      --include-test               Include all formulae that specify formula
                                   as :test type dependency.
      --include-optional           Include all formulae that specify formula
                                   as :optional type dependency.

Subtractive
      --missing                    Only list formulae and casks that are not
                                   currently installed.
      --skip-recommended           Skip all formulae that specify formula as
                                   :recommended type dependency.

@apainintheneck Yeh, I'm not sure what's best then 🤷🏻. Open to suggestions.

My ~non~use case was: I maintain a build script for mpv.app that depends on brew's mpv formula to install all the dependencies for simplicity's sake (mostly in case they change). There doesn't seem to be any way to run brew install --only-dependencies that also includes the build dependencies, so I started poking around for a way to feed the missing ones to brew install. Hence brew deps --missing --include-build--include-build`. But. But considering the script will almost certainly have to change if the build dependencies do, I decided it wasn't worth the effort.
I figured I'd submit the bug anyways, if only because the order of operations isn't clear. My first assumption was that the additive options would be applied first, followed by the subtractive options. PEMDAS-style like:

Required
Required + Build
(Required + Build) - not Missing

There doesn't seem to be any way to run brew install --only-dependencies that also includes the build dependencies

I haven't tried but brew install --build-from-source --only-dependencies or brew install --build-bottle --only-dependencies may work?

There doesn't seem to be any way to run brew install --only-dependencies that also includes the build dependencies

I haven't tried but brew install --build-from-source --only-dependencies or brew install --build-bottle --only-dependencies may work?

It did, thanks for the tip!

It seems like any of the additive options could potentially conflict with one of the subtractive ones. Of course, recommended and optional are not used in core so that reduces the possibility of those causing problems for folks.

@apainintheneck Yeh, I agree with that. I'm tempted to mark them all as conflicting for that reason. Thoughts?

I think we should change it to work this way and update the language in the docs to reflect that change.

Works for me 👍🏻


fix!: airflow truncate tag and task id names

Prior to this change users could hit character limits on either the snapshot name tag on a dag (100 character limit) or issues sending metrics through statsd for task instances (250 character limit). This limits both of those.

Using different approach instead: https://github.com/TobikoData/sqlmesh/pull/2095


Refactor resident runners to use shared devfs interactions

The goal of this PR is to move the resident runners closer to a state where enough of the implementation is shared to enable 1) profile/release/debug autodetect for flutter attach and 2) simultaneous connections to web and non-web devices. I also wanted to remove the vast amounts of duplicated test logic due to the web and non-web resident runners having different service extension impls as well as remove the mocks from the terminal handler test and re-imagine it as a fairly high level interaction test.
Changes in resident_runner.dart:

Creates a new class ResidentHandlers which contains the vm service delegation, make it easier to share with the web impl for now. This required exposing Logger and FileSystem as protected members.
Removes all of the wrapper vm service functionality from the FlutterDevice class. Now that the logic is in a single place it doesn't make as much sense to split it up.
Updates FlutterDevice to conditionally use getVM's isolate list instead of listing the flutter views. The flutter view RPC is not supported on the web, but since there is only ever one isolate we can use the VM list. This required exposing the TargetPlatform field on FlutterDevice, which was already part of the constructor.

Changes in resident runner testing:

Deleted all tests that only checked that service extensions were called correctly

Changes in resident_web_runner testing:

Deleted all tests that only checked that service extensions were called correctly

Changes in terminal_handler testing:
Updated the test set up to remove the use of mocks, and to extend most test cases to include a web case.
clean ups:

Remove the requirement to inject fsUtils to grab the unique file functionality, since all this needs is a FileSystem.
Removes the feature flag check for debug target platform. I think its OK to let people toggle to macOS .

Rebased on the previous PR, now this is only the test re-arrangement and the removal of the web specific vm service delegation


Add example for using bonds to shapes in various forms.

In this pull request, I implement the "simple" solution from #361 through a Python function and example for others to use.
This builds off an unreleased branch from @Luthaf  and so it may require rebasing before merging, but I was hoping to get feedback/discuss some questions anyway in this draft.
Discussion points:

Is the location of the function appropriate. I wrote it out in Python for ease, but perhaps there is a better place for this processing?
I did not want to add dependancies, but I have built the molecules with stk, and extracted known bonds with stk (while also showing some "by-hand" bond additions). I do not think the dependancy matters anywhere else and is up to the user to potentially install it (pip install stk) if they want to run the example? But I did this as an example for you, and I think a better option (that does not confuse the user) would be to just show the example with bonds collected by hand.
The current approach is "you have a molecule already, but want to add bonds", but an alternative to this is for me to write a class that contains structure and topology, and reads from .mol/rdkit/stk (for example), and can be used in place of the ase.read statement?

Remaining todo:

[x] Allow for user-set colours, or a better default.
[x] Allow user to turn on or off "bonds" and "shapes" - although this is handled in the example, not in the new function.
[x] Clean up the stk code after discussion
[x] Probably adhere to tests and formatting rules that I have not...
[x] Rebase previous changes form @Luthaf

Thanks a lot for sending this contribution!

This builds off an unreleased branch from @Luthaf and so it may require rebasing before merging

Are you referring to 9615954df2b63d2f848413526f178edbf4b47be4? If yes, it is already merged in the main branch, so rebasing on top of that should be all you need to do!

Probably adhere to tests and formatting rules that I have not...

You can check this on your machine by running tox -e lint and tox -e format for formatting, and running tox to run all tests (including lint tests).

and can be used in place of the ase.read statement?

This is actually the intention behind this part of the code! There is a frames_to_json function that takes arbitrary frame types, and then dispatch to special code for each underlying type. Right now there is only one such underlying type with ase.Atoms, but I'd be happy to also have the same functionality for STK.
Then on top of this, we could add the function that generates bonds as shapes (like we have ase_tensors_to_ellipsoids which is specific to ase).
Overall, the code could look something like this from the user perspective:
structures = stk.read_structures(...) # not sure about the name of the actual function from STK here ^_^

bonds = chemiscope.stk_bonds_to_shapes(structures)
chemiscope.show(frames=structures, properties=..., shapes=bonds)

The good point about this approach is that this will then be an easy change when/if we integrate bonds directly in the dataset given to JavaScript. One would just remove the shapes=bonds, and frames_to_json would directly include the bonds information in the JSON file for STK data.

If we go with the full support for STK data in chemiscope (in addition to ASE), it might make sense to do a separate PR adding just basic support (i.e. atomic names + positions + cell), and keep the bonds => shape transformation functionality separate.

Thank you for the response!

You can check this on your machine by running tox -e lint and tox -e format for formatting, and running tox to run all tests (including lint tests).

Regarding the stk-specific methods, I am very happy with your suggestion. Does that mean you would then add it as a dependancy, or an optional dependancy for the user to add?

If we go with the full support for STK data in chemiscope (in addition to ASE), it might make sense to do a separate PR adding just basic support (i.e. atomic names + positions + cell), and keep the bonds => shape transformation functionality separate.

This sounds like a good idea - I might put it all into this draft PR to get it aligned with your code and then "close-reopen" as needed.

Also, regarding the failed python 3.9 test, that seems to be an issue with ase?

I would leave stk as an optional dependency: chemiscope is not really using stk, but instead providing adapters from stk data, which are only relevant if the user already has and is using stk.
The CI failure is actually a linter error (at the end, you can see  lint: FAIL and tests: OK). The error message is

/home/runner/work/chemiscope/chemiscope/python/chemiscope/structures/_bonding.py:84:17: B007 Loop control variable 'i' not used within the loop body. If this is intended, start the name with an underscore.

The ASE things printed near the end are only warnings.

The CI failure is actually a linter error (at the end, you can see lint: FAIL and tests: OK). The error message is

Ah ok, I was seeing red after fixing the lint issue and panicked... aha its ok on my local machine.

Also, currently, the tests may fail because of a bug in rdkit https://github.com/rdkit/rdkit/discussions/7841 and the latest version. I have pinned the rdkit version for that reason, but that should be fixed soon.

Updated this, one issue I foresee is that stk molecules do not contain properties, so we can add them through their own dictionary like in the example, or I can write an stk molecule-containing class that also has properties?

In this case, the properties should be given separately yes!

Will chemiscope check the validity of a json file (i.e. matching of structures and properties) elsewhere?

Yes, we check this both in Python (before creating the JSON file) and in JavaScript (in case people are not using chemiscope to create the JSON files and they have errors inside).

Perfect!
I have marked this ready to review for feedback on the processing, to make sure I understood it all. And if so, I can split into separate PRs if you see fit.

All looks quite nice, but the example does not build into the docs

Ok, I will try and fix the issues to get the docs buildings.

I  think the data folder should be hardcoded to be "data/" as in other examples, without trying to guess the path. If one wants to run these manually the should be ran from the examples/ folder.

If I understand correctly, the use of pathlib.Path(__file__).resolve().parent is not guessing, but it is hardcoding the working directory to where the script is, which is examples. This allows the user to run the script from elsewhere without there being any problems

Fixing the documentation requires removing this line anyway it seems, so I will go back to data/

As far as I can tell locally, everything in tests and website.yml run now

I am working on the versioning because the latest stk/stko requires Python 3.11 and the website is 3.10. Will update soon.

We can update the website building to run on Python 3.11, that's fine with me

Ok, I will try and fix the issues to get the docs buildings.

I  think the data folder should be hardcoded to be "data/" as in other examples, without trying to guess the path. If one wants to run these manually the should be ran from the examples/ folder.

If I understand correctly, the use of pathlib.Path(__file__).resolve().parent is not guessing, but it is hardcoding the working directory to where the script is, which is examples. This allows the user to run the script from elsewhere without there being any problems

Didn't work with tox, and given that the other examples don't do any of this, I'd stick to the local assumption (or change all examples for consistency).

We can update the website building to run on Python 3.11, that's fine with me

If it doesn't break other things, I think we can.

Ok, I will try and fix the issues to get the docs buildings.

I  think the data folder should be hardcoded to be "data/" as in other examples, without trying to guess the path. If one wants to run these manually the should be ran from the examples/ folder.

If I understand correctly, the use of pathlib.Path(__file__).resolve().parent is not guessing, but it is hardcoding the working directory to where the script is, which is examples. This allows the user to run the script from elsewhere without there being any problems

Didn't work with tox, and given that the other examples don't do any of this, I'd stick to the local assumption (or change all examples for consistency).

Indeed because it did not work with tox, I went back to the existing assumption.

We can update the website building to run on Python 3.11, that's fine with me

I am happy to test this change before you review this PR.

Ok, all done through these comments. Thank you for the feedback! I think its ok for you to squash all commits here upon merging.

Excellent! Thank you! What is the release schedule for chemiscope? (just asking to allow for lazy pip-install usage aha)

Maybe we could do a point release after this is merged?

Yes, we can do a point release!


fixes polyfill not displaying - part of issue#566.

document.createElement was failing due to the '-' at the start of the identifier.
missing getter.
todo: the styles aren't applying as they should.

ehrm.. placeholder not displaying. sorry.

Any way we can test this in mocha?  I'm struggling to see how, the result being primarily visual...

@triblondon I honestly don't have any clue how. I am afraid that it will need a regression/integration test instead... At the end the possible problems will arise when dealing with IE's quirks. Do you have anything set up for that, that I can work on?

OK, fair enough, I can't think of a good test mechanism that doesn't require quite a substantial investment of time.  Could you just post a JSBin/JSfiddle/Codepen with a test case and I'll verify it on IE8 and 9 VMs I have here?
Also a couple of linting failures to address.
Thanks for the contribution - much appreciated!

Thank you for the awesome service, @triblondon!
[here's a quick and dirty fiddle](https:
//jsfiddle.net/j185kx2m/1/) from the html I used for testing. I'll attach the full file it for reference. Sadly ie9 doesn't play very well with fiddle,or codepen but either the attachment or the link should work.
wutwut.html.zip
I will work on the lint as soon as I get a minute. Silly question from a lazy dev : there's a specific grunt command to run the linter? I was searching for a grunt lint but couldn't find it.

Linters are not loaded by default, but we do provide the .jshintrc file so if you have jshint in your editor it should pick up the settings and lint automatically

OK, test case works fine.  If you could fix the linting I'm happy to merge this.

I know it will sound ridiculous, but I am having problems with the linting. Using the jshintrc file I have only errors due to undefined global variables, (i.e.: document, element). I don't see the need to fix those, they are part of the design. But I don't have any other warning or error. That said, I manually fixed the spacings and indentations, and updated the PR.

Hmm, that's odd.  I'll put that on the list to look into :-)
Meanwhile this is great, thanks!


Crash when running the app

I installed the latest (2.1) Swift 4 version and whether it is with the Demo app or with my app, it crashes as soon as it starts.
The crash logs with the Demo app are:
dyld: Library not loaded: @rpath/PDFGenerator.framework/PDFGenerator
  Referenced from: /var/containers/Bundle/Application/21494070-6883-43BC-BFB3-00DAB2F35FC1/Demo.app/Demo
  Reason: image not found

Those with my app:
dyld: Library not loaded: @rpath/PDFGenerator.framework/PDFGenerator
  Referenced from: /var/containers/Bundle/Application/6BC140DB-9DDA-4580-913F-C1B63F0791E6/MyApp.app/MyApp
  Reason: no suitable image found.  Did find:
	/private/var/containers/Bundle/Application/6BC140DB-9DDA-4580-913F-C1B63F0791E6/MyApp.app/Frameworks/PDFGenerator.framework/PDFGenerator: required code signature missing for '/private/var/containers/Bundle/Application/6BC140DB-9DDA-4580-913F-C1B63F0791E6/MyApp.app/Frameworks/PDFGenerator.framework/PDFGenerator'

	/private/var/containers/Bundle/Application/6BC140DB-9DDA-4580-913F-C1B63F0791E6/MyApp.app/Frameworks/PDFGenerator.framework/PDFGenerator: required code signature missing for '/private/var/containers/Bundle/Application/6BC140DB-9DDA-4580-913F-C1B63F0791E6/MyApp.app/Frameworks/PDFGenerator.framework/PDFGenerator'

	/private/var/containers/Bundle/Application/6BC140DB-9DDA-4580-913F-C1B63F0791E6/MyApp.app/Frameworks/PDFGenerator.framework/PDFGenerator: required code signature missing for '/private/var/containers/Bundle/Application/6BC140DB-9DDA-4580-913F-C1B63F0791E6/MyApp.app/Frameworks/PDFGenerator.framework/PDFGenerator'

Message from debugger: Terminated due to signal 6

I'm not even calling any code from the library and I get this crashes.
Any idea why?

Hi Nico, I'm getting the same issue. How did you resolve it?

Sorry Mark I can't really help you I don't remember how I did and ended up using another library instead.

I found the solution here:
https://stackoverflow.com/questions/24333981/ios-app-with-framework-crashed-on-device-dyld-library-not-loaded-xcode-6-beta


Remove execute permission

Why
File has unnecessary execute permission.
Summary
Remove execute permission for files (755 => 644).

Oh...  I'm really sorry. I did not notice that 🙇 💦
Thank you for your contribution!


feat: Add ability to fire shortcuts and keymodifiers

Closes #5

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Page Template Updater

Create a tool that allows a Page's Template to be updated after the page is created.
Tool will..

Update cq:template
Update sling:resourceType
Update page's jcr:content/* with the new template's jcr:content
Option to remove all nodes under jcr:content on the existing page set when the page was the previous template type

Exists in ACS Tools > https://adobe-consulting-services.github.io/acs-aem-tools/features/csv-resource-type-updater/index.html


feat(insights): optionally deploy a proxy for Insights

Welcome to Cryostat! 👋
Before contributing, make sure you have:

[x] Read the contributing guidelines
[x] Linked a relevant issue which this PR resolves
[x] Linked any other relevant issues, PR's, or documentation, if any
[x] Resolved all conflicts, if any
[x] Rebased your branch PR on top of the latest upstream main branch
[x] Attached at least one of the following labels to the PR: [chore, ci, docs, feat, fix, test]
[x] Signed all commits: git commit -S -m "YOUR_COMMIT_MESSAGE"

Related to: https://github.com/cryostatio/cryostat/issues/1763
Description of the change:
This change is expected to do nothing unless the environment variable INSIGHTS_ENABLED is set to true. If the variable is set to true, then the operator takes several actions:

Creates a secret containing an APICast configuration containing the cloud.openshift.com authentication token from the global pull secret.
Creates a corresponding APICast deployment and service that appends an authentication header using the credentials from the previous step, before forwarding requests to the Insights server.
Configures all Cryostat deployments to find the APICast proxy at the URL within the INSIGHTS_PROXY environment variable.

Motivation for the change:
Red Hat customers will automatically be able to integrate Red Hat Insights with their workloads by using the Cryostat Operator, Cryostat, and Cryostat Agent, from the downstream Red Hat build of Cryostat.
How to manually test:

make oci-build SKIP_TESTS=true ENABLE_INSIGHTS=true OPERATOR_IMG=quay.io/ebaron/cryostat-operator:insights-test-11
make deploy ENABLE_INSIGHTS=true OPERATOR_IMG=quay.io/ebaron/cryostat-operator:insights-test-11
Observe proxy deployment, service, and APICast config secret in cryostat-operator-system namespace
make cryostat_cr
Cryostat deployment should have INSIGHTS_PROXY set to http://insights-proxy.cryostat-operator-system.svc.cluster.local.
When deployed without ENABLE_INSIGHTS=true, none of the objects from step 3 should be present, and the INSIGHTS_PROXY environment variable should not be set.

Looks like it makes sense from a cursory reading - just checking that it lines up with my rough prototyping work.

/build_test

https://github.com/cryostatio/cryostat-operator/actions/runs/6776793816

I see errors like this in the log:
2023-11-07T18:52:36Z INFO controllers.Insights Reconciling Insights Proxy {"Request.Namespace": "insights-proxy", "Request.Name": "insights-proxy"}
2023-11-07T18:52:36Z INFO Starting workers {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "worker count": 1}
2023-11-07T18:52:36Z INFO Starting workers {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "worker count": 1}
2023-11-07T18:52:36Z INFO controllers.Insights Secret created {"name": "apicastconf", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Deployment created {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Service created {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Reconciling Insights Proxy {"Request.Namespace": "insights-proxy", "Request.Name": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Secret updated {"name": "apicastconf", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Deployment updated {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Service updated {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Reconciling Insights Proxy {"Request.Namespace": "insights-proxy", "Request.Name": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Secret updated {"name": "apicastconf", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z ERROR Reconciler error {"controller": "insights", "namespace": "insights-proxy", "name": "insights-proxy", "reconcileID": "9e7f8f65-c596-4cd7-8248-8ebac6b1e724", "error": "Operation cannot be fulfilled on deployments.apps \"insights-proxy\": the object has been modified; please apply your changes to the latest version and try again"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.7/pkg/internal/controller/controller.go:329
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.7/pkg/internal/controller/controller.go:274
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.7/pkg/internal/controller/controller.go:235
2023-11-07T18:52:36Z INFO controllers.Insights Reconciling Insights Proxy {"Request.Namespace": "insights-proxy", "Request.Name": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Secret updated {"name": "apicastconf", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Deployment updated {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Service updated {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Reconciling Insights Proxy {"Request.Namespace": "insights-proxy", "Request.Name": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Secret updated {"name": "apicastconf", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Deployment updated {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:52:36Z INFO controllers.Insights Service updated {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:53:06Z INFO controllers.Insights Reconciling Insights Proxy {"Request.Namespace": "insights-proxy", "Request.Name": "insights-proxy"}
2023-11-07T18:53:06Z INFO controllers.Insights Secret updated {"name": "apicastconf", "namespace": "insights-proxy"}
2023-11-07T18:53:06Z INFO controllers.Insights Deployment updated {"name": "insights-proxy", "namespace": "insights-proxy"}
2023-11-07T18:53:06Z INFO controllers.Insights Service updated {"name": "insights-proxy", "namespace": "insights-proxy"}

but the Insights Proxy Deployment and Service still get created, so maybe they're harmless. I tried this both with an insights-proxy namespace as well as cryostat-operator-system. The following is the complete log output from the operator controller in cryostat-operator-system after deploying it, waiting for the Insights Proxy stuff to come up, and then make create_cryostat_cr:
I1107 18:55:25.542231 1 request.go:690] Waited for 1.044843786s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/machine.openshift.io/v1beta1?timeout=32s
2023-11-07T18:55:26Z INFO setup detected OpenShift environment
2023-11-07T18:55:26Z INFO setup found cert-manager installation
2023-11-07T18:55:26Z INFO setup Config Map for Insights created {"name": "insights-proxy", "namespace": "cryostat-operator-system"}
2023-11-07T18:55:26Z INFO setup starting manager
2023-11-07T18:55:26Z INFO Starting server {"kind": "health probe", "addr": "[::]:8081"}
I1107 18:55:26.659742 1 leaderelection.go:248] attempting to acquire leader lease cryostat-operator-system/d696d7ab.redhat.com...
I1107 18:55:26.668700 1 leaderelection.go:258] successfully acquired lease cryostat-operator-system/d696d7ab.redhat.com
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1beta1.Cryostat"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Deployment"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Service"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Secret"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "insights", "source": "kind source: *v1.Secret"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "insights", "source": "kind source: *v1.Deployment"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "insights", "source": "kind source: *v1.Service"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.PersistentVolumeClaim"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.ServiceAccount"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Role"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.RoleBinding"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Ingress"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Route"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Issuer"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat", "source": "kind source: *v1.Certificate"}
2023-11-07T18:55:26Z INFO Starting Controller {"controller": "cryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "Cryostat"}
2023-11-07T18:55:26Z INFO Starting Controller {"controller": "insights"}
2023-11-07T18:55:26Z DEBUG events cryostat-operator-controller-manager-868b7d79cd-ssbvj_cbe9ff59-923c-4435-aa31-ec9a1a1c6bda became leader {"type": "Normal", "object": {"kind":"Lease","namespace":"cryostat-operator-system","name":"d696d7ab.redhat.com","uid":"6504839e-ffee-46c7-b2fb-32deedd27806","apiVersion":"coordination.k8s.io/v1","resourceVersion":"70133"}, "reason": "LeaderElection"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "source": "kind source: *v1beta1.ClusterCryostat"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "source": "kind source: *v1.Deployment"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "source": "kind source: *v1.Service"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "source": "kind source: *v1.Secret"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "source": "kind source: *v1.PersistentVolumeClaim"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "source": "kind source: *v1.ServiceAccount"}
2023-11-07T18:55:26Z INFO Starting EventSource {"controller": "clustercryostat", "controllerGroup": "operator.cryostat.io", "controllerKind": "ClusterCryostat", "source": "kind source: *v1.Role"}

When I do make create_cryostat_cr the Operator controller doesn't seem to respond to it. I don't see any new log output indicating that it has even seen the Cryostat CR appear, and there are no Deployment/Service/etc. corresponding to the CR.

The "object has been modified" errors are indeed harmless. This can happen from things like Kubernetes modifying a field in the deployment in between us doing a get and update. The changes are retried on the next iteration of the reconcile loop.
For the second problem, I may have broken the controller watches. I'll take a look.

For the second problem, I may have broken the controller watches. I'll take a look.

Fixed now. The controller watches weren't handling the empty WATCH_NAMESPACE properly for AllNamespaces install mode.


Error: socket hang up v20.10.0 => v20.11-14.0

Problem:
For sport, I sent a get request with a json body (of course, I know that this not allowed, but for sport)
In version v20.14.0, I receive a response from the server one by one: (this happens cyclically)

Everything is ok for the first time
The second time I get an error (in my case in postman) (Error: socket hang up)

In version v20.10.0 everything works fine, I get a response every time.
After testing other versions, I realized that this problem appeared with version v20.11.0
It's normal?
Test code:
Tested on Windows, Node.js 18.
With:

uWebSockets.js (v20.10.0)
uWebSockets.js (v20.11.0)
uWebSockets.js (v20.14.0)

import  { App }  from  "uWebSockets.js";

App()

    .get("/",  (res, req)  => res.end("hi"))

    .listen(9000,  ()  =>  {

        console.log("Server start");

    });

You are hitting an edge case that is fixed in the main repo. This JS wrapper is lagging a bit behind but it will be fixed whenever next release drops

Please try v20.15.0 should be fixed


Not compatible with Bokeh 2.x

Hi Patrick,
Sliders and dropdowns are not working with Bokeh 2.x .

Hi @manisekhar-kothuri ,
Thanks for reporting this. I will have a look at the issue .
Best Patrik

Hi @manisekhar-kothuri,
I fixed the slider and dropdown. again thanks for reporting. I will try to get the release out as soon as possible.
Best Patrik

Hi Patrik,
Can you tell me why slider is not working?

Hi @manisekhar-kothuri,
The following commit https://github.com/PatrikHlobil/Pandas-Bokeh/commit/39f6a40aa76d8965335cdef6185442e02b01471b fixed the issue. there was a Problem with the JavaScript That defines the callback of the slider.
Best Patrik


Vscode prepare publishing

Purpose
_Describe the purpose of the pull request, link to issue describing the problem, etc.
Changes
_Describe the changes that were needed.
Checklist

[ ] My code follows the style of this project.
[ ] The code compiles without warnings.
[ ] I have performed a self-review of the changes.
[ ] I have documented my code, in particular the intent of the
hard-to-understand areas.
[ ] (If necessary) I have updated the CHANGELOG.

CLA acceptance
_Remove if not applicable.
By submitting the contribution I accept the terms and conditions of the
Contributor License Agreement v1.0

link: https://developers.concordium.com/CLAs/Contributor-License-Agreement-v1.0.pdf

[ ] I accept the above linked CLA.

@Thahara I asked for your review as well. If you can do a pass of the Jenkinsfile to make sure it looks reasonable.

It looks like you could just parametrize this by the location of the binary for the relevant platform, and just have the one job build everything.
Or does the extension build step depend on the platform as well?

@abizjak
We could, but I think it becomes a bit wonky to use then.
When packaging using vsce, we have to specify which target this is for, so we would need an additional variable for that.
When targeting windows, we need to append .exe in some places.
When targeting macos we need to use the signed executable

@abizjak We could, but I think it becomes a bit wonky to use then. When packaging using vsce, we have to specify which target this is for, so we would need an additional variable for that. When targeting windows, we need to append .exe in some places. When targeting macos we need to use the signed executable

Right. I was thinking that we would just supply the platform + version and the rest would be derived, something like this https://github.com/Concordium/concordium-node/blob/main/jenkinsfiles/ubuntu.Jenkinsfile#L10


Strip query strings before parsing URL parameters

Lots of 500 errors have been generated on ot.com by junk query strings and other garbage characters at the end of the URL, mostly because of URLs that end in resource IDs:
http://originaltrilogy.com/topic/id/9999999&highlight_key=y&keyword1=bond
Results in the following, which causes the db query to fail:
url: {
  id: 9999999&highlight_key=y&keyword1=bond
}

Since citizen doesn't parse the query string, it should be stripped before parsing the URL, and possibly redirected with a 301.

This is a malformed URL and it should throw an error. The proper fix is to put a check in the app to verify the URL parameter is the proper format/type.


[Backport]refactor(handler): trying to make reconfigure more atomic

The original PR https://github.com/Kong/kong/pull/9494
FTI-4369

Need to get the tests passing.


Exposing PhysX, OpenVR, and other libraries to the web

As mixed reality matures, it is increasingly evident that physics will play a big role in how developers create influential experiences. Whether it's basic collision detection, IK, or breakable walls, physics is one of the mainstays of MR.
I think the best physics engine will tend to win, and right now that appears to be PhysX. It was a bit hard to determine, but PhysX is in fact free to use and to incorporate into products, even though you have to jump through a couple hoops to get the source code. You also have to notify them whenever you're incorporating it into a commercial product, but you're still able to use it for free. I think the only requirement is including their branding somewhere in your product. I'm fine with that.
That said, I want to create mixed reality games powered by PhysX. There are a few ways to do this:

Incorporate PhysX directly into exokit, and expose it directly to the web.

Define an XRPhysics spec, and implement it in terms of PhysX / other physics engines.

Allow websites to tell Exokit "Download this node module and expose it to my website."

I think option #3 is the most attractive. It's impossible in general to prevent people from doing this, except by establishing a lot of inertia and becoming yet another gatekeeper. And it's the most flexible approach when security isn't a concern.
It seems like a losing battle to define a specification for every aspect of mixed reality -- the specs are usually lowest common denominator functionality, and exokit proves it's no longer necessary to tolerate such things.
We plan to incorporate PhysX into our fork of exokit in some fashion. If I were to write it as a node binding (similar to the magicleap binding), and exokit were to implement strategy #3, then all forks would be able to use the Physx binding rather than creating a balkanized race-you-to-acquire-users situation per fork.
There are other situations I've wanted this strategy too, e.g. to get some more advanced functionality out of OpenVR than what WebVR/WebXR is willing to provide. If a website could indicate "download and require this node module, then expose it to me," then that would solve the problems in a way that benefits everyone.
History shows that it's a bad bet to try to prevent developers from doing the most flexible thing -- see Apple's early attempts to ban dynamic languages from the app store, for example. Preventing a site from saying "Require this module" seems in a similar vein.
As a closing point, exokit currently exposes dgram to user sites. But this is a symptom of a more general situation: the dgram library is sufficiently useful that people want to incorporate it into their sites. Ditto for PhysX, OpenVR, Magic Leap, and many others.

I think you hit the nail on the head. Extensions are a general pain point Exokit's had as well with adding e.g. XRMultiplayer.
But there's a lot to unpack here.
Prior art
There is already a "Browser Exensions" spec for cross-browser extensions but it seems to be solving a different problem (that of reigning in UI/UA decorators i.e. what people call "extensions").
This is kind of different than that; it's basically allowing sites to decide to download extra code to the browser, kind of like a <script type=binary src="https://physx.org/physx.bin"/> that exposes a function which takes addExtension(window), with necessary auto-caching.
I guess the main problem here isn't implementing this-- that's very easy, at least for Exokit (measured in days).
Potential problems
The main problems are security and ABI management. Security and process isolation are their own cans of worms.
Node has gotten better in terms of a standard ABI in recent months but it's still something that needs consideration.
A lesser problem is speccing it out to meet all cases with consideration for e.g. event loops, contexts.
Alternate approaches
One alternative I think that's missed above is just using WASM for such things. That doesn't require a new spec, or security thought, or implementation, or coordination with anyone. That's all supported in both Node and Exokit already.
So I'd try just building PhysX with emscripten or something first. Creating JS bindings is of course going to be required anyway.
But, the WASM approach doesn't add a permanent extension to the browser; it would be sites-specific like any other script. It could still be equally cached, but the runtime feel and DX would be a little bit different. 🤔

I’ve been giving security some thought.
The central problem isn’t that it’s insecure — it’s that some people are malicious, and some have nothing to gain by being malicious. Theoretically npm installing some code could act maliciously, but it almost never happens. Why is it different just because it’s the web? What if we could make it the same, somehow?
One pitfall with wasm is that it’s mostly unknown right now. For example, if I want to write a site that uses the fs module, how would I do that if I can only use wasm? I’m not saying you can’t, just that I have no idea.
Supporting npm install would also be a form of caching + updating, and in general it might solve a lot of problems. Would it make sense to just prompt the user whether they’re ok with a site installing certain packages? This needs more thought to be a realistic option though.
I’m not sure a module needs to be mounted or unmounted though. dgram is exposed as dgram, and that seems fine. What’s the benefit of the added complexity?

Hey @shawwn - I am working on a project using Exokit and I really could use PhysX 3.4 and the [origin shift]https://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/OriginShift.html) feature found in PhysX. Ideally It would be nice to have this function exposed to Java Script.
Ideally It would be great to have it exposed as a function that I could call in code to shift the origin of world as needed.


RM - porting over derived table invoice_lines_adjustments for Metadb

@sbeltaine This PR may need more work.

Closes #559


Fix(manifests): fix helm install charts

What this PR does / why we need it:
Fix(manifests): fix helm install charts
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):
Fixes #
Reference to #

Special notes for your reviewer:
/cc @simon-cj @hewenguang

Release note:

NONE

/lgtm


docs: Update the stale links in "Set up Git" docs.

PR updates the stale links in Set up Git docs:

Updated docs link

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @prakhar1144!


Switch Windows gradle check runner from C524large to M58xlarge matching LINUX

Description
Switch Windows gradle check runner from C524large to M58xlarge matching LINUX
Issues Resolved
https://github.com/opensearch-project/opensearch-build/issues/3816
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

https://build.ci.opensearch.org/job/packer-build/70/console


Editing the schedule

What's new

The editing of an event within the calendar is allowed.
Cells are blocked so that no event can be created from them.
Only cells with events are enabled.
The task can be edited (category, priority, etc.) as well as the schedule (days, time, etc.).
The user can:

Edit a single event, which causes that event to be removed from the task to which it belonged and another task is created with that single schedule.
Edit the entire series, deleting the entire schedule and recreating it, keeping the task.

Separate the scheduling logic from the task-app file.
Custom hooks are created for later reuse.

The video shows the full functionality. As well as the use of the property "ends on".
Screencast from 09-14-2023 02:08:07 PM.webm
Self-checks

[ ] I have prototyped this new feature (if necessary) on Figma
[ ] I'm familiar with and follow this Typescript guideline
[ ] I added unit-tests for new components
[ ] I tried testing edge cases
[ ] I tested the behavior of the components that interact with the backend, with an e2e test

Discussion

I think the new schedule time is not being propagated to the schedule editing dialog, it is still using the current time
simplescreenrecorder-2023-09-19_12.39.28.mp4

Done 37610d66dfde76ab21fceadfc00d25e86747f65d !
Thanks, Aaron!
Screencast from 09-19-2023 09:36:28 AM.webm


Use headers for requestGet, retrieve, identity, find and describe calls

#507

When would this show up in the npm?
Are you planning a release soon?
Tim

Thanks @stomita  for the merge and fix of request() options. Will you give a new release number for these changes so we can integrate soon?


flawed logic in the new visualization timeout

Make sure these boxes are checked before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if any
[x] I have reproduced the issue with at least the latest released version of superset
[x] I have checked the issue tracker for the same issue and I haven't found one similar

Superset version
0.18.5
Expected results
adhere to webserver/worker's timeouts e.g. as per the -t flag to superset runserver, or if superset is behind a reverse-proxy to that proxy's timeout
Actual results
adhere to hardcoded value in javascript client - 45 seconds
Steps to reproduce
superset runserver -t 300 will still show that a 60s query times out, because the timeout is set to 45 seconds in constants.js, despite 60 < 300
NOTE problem stems from https://github.com/airbnb/superset/pull/2763 which, for reasons that I cannot see nor guess, did not address the core problem: handle the 504 Gateway Time-out status code of the ajax call and instead implemented a client-side timeout / ping @graceguo-supercat

@graceguo-supercat can you take a look? We may just need to clarify/document what each one of these timeouts actually do. -t is a web server timeout, constants.js's timeout is the client's timeout, and there's at least one or two more timetouts (celery/sqllab) timeouts in the app...

@andreineculau, please see updated faqs. please let me know if you have more concerns.

@graceguo-supercat @mistercrunch while it's always good to have behaviours documented, in this case the timeout behaviour https://github.com/apache/incubator-superset/blob/master/docs/faq.rst#why-are-my-queries-timing-out , I would like to rephrase my concern via a couple of questions, hoping that this will clarify either the limitation that you addressed via the client-side timeout, either my goal in normalizing the behaviour across the board and not have a special client-side timeout.

If I do not run superset behind a proxy, thus hypothetically no way to get a 504 response, but having data retrieval happening in more than 45 seconds, the client-side timeout will still kick in, not allowing the users to get queries that might have ended in 50 seconds, just 5 seconds after the timeout. Is this correct (=intended) behaviour?

If I do run behind a proxy, which has a gateway timeout set to 10 seconds, the current behaviour is still to show 504 Gateway Time-out, instead of the "warning message". Is this correct (=intended) behaviour?

Why is it that you cannot handle the 504 Gateway Time-out in a generic fashion, without having a client-side timeout?

As it is now, the current behaviour introduced a warning message, which hides a perfectly fine HTTP error message (I believe other HTTP errors are still displayed), with a magic constant, that can only be configured by monkey-patching code. Where is the improvement?

If I do not run superset behind a proxy, thus hypothetically no way to get a 504 response, but having data retrieval happening in more than 45 seconds, the client-side timeout will still kick in, not allowing the users to get queries that might have ended in 50 seconds, just 5 seconds after the timeout. Is this correct (=intended) behaviour?

If I do run behind a proxy, which has a gateway timeout set to 10 seconds, the current behaviour is still to show 504 Gateway Time-out, instead of the "warning message". Is this correct (=intended) behaviour?

If you are not behind proxy, or the proxy itself has a shorter timeout limit and you don't want user see the 504 Gateway time-out, currently you have to change js file and rebuild js package.

Why is it that you cannot handle the 504 Gateway Time-out in a generic fashion, without having a client-side timeout?

This article might be helpful. I have limited control on proxy server.

As it is now, the current behaviour introduced a warning message, which hides a perfectly fine HTTP error message (I believe other HTTP errors are still displayed), with a magic constant, that can only be configured by monkey-patching code. Where is the improvement?

Client-side timeout limit is just a quick fix. Ideally I am thinking we should provide a configuration webpage for admin user, so that he can easily configurate instead of hard-code it. If this feature has a good amount of request, I am happy to implement it. Also I am open to any suggestion to resolve this issue.

Why is it that you cannot handle the 504 Gateway Time-out in a generic fashion, I.E. CODE THE CLIENT TO SHOW THE WARNING MESSAGE WHENEVER THE BACKEND RESPONDS WITH 504, without having a client-side timeout?

Client-side timeout limit is just a quick fix.

The first question is more important  but would you be so kind to tell also what does it quick fixes, beside showing a hard-coded message instead of the raw 504? Thanks

Given the browser's implementation for XMLHttpRequest object, unfortunately when 504 happened, there is no build-in event being triggered. In dashboard/explore view, we use jQuery.ajax to fetch slice data. Here is a good example for how to handle request timeout. Using native XMLHttpRequest or other framework is pretty much the same way.
For your second question: quick fix means it only takes 2 hours, then users waiting for long-running queries won't see bold and ambiguous 504 error message any more. Hard-coded limit is not perfect for this problem, admin's configuration page is one of things in my mind, and I am open to any better solution.

Given the browser's implementation for XMLHttpRequest object, unfortunately when 504 happened, there is no build-in event being triggered.

What? Clearly the 504 error surfaces, because otherwise users wouldn't see the 504 literal in the first place, before this "fix". https://jsfiddle.net/654yLt7j/ shows unambiguously that you do get access to the 504 error, thus you can handle it gracefully.

In dashboard/explore view, we use jQuery.ajax to fetch slice data. Here is a good example for how to handle request timeout. Using native XMLHttpRequest or other framework is pretty much the same way.

Then why are we talking about jQuery? And why are we talking about the client-side timeout? I'm highlighting the fact that you do not need any client-side timeout. What is needed is handling the 504 error.

Strictly to the point,
https://github.com/apache/incubator-superset/pull/2763/files#diff-d9a47bda12ab9d33eb61f5be2d924d51R250
should be
if (err.status === 504) {
  dispatch(chartUpdateTimeout(err.statusText));
} else {

and all references to QUERY_TIMEOUT_THRESHOLD should be removed.
Result: "nicer" text for timeouts, no client-side hardcoding.

i see your point: instead of checking err.statusText === 'timeout', i can use err.status === 504 to handle 504 response. It seems when 504 happens, err.statusText is still error, that's why i feel there is no way to identify 504 from any other type of errors.
But without client-side timeout limit, for users not behind proxy, they will wait either server timeout or browser timeout, whichever comes first. So we still need to handle browser timeout (assume we allow server timeout 5 minutes). Browser timeout doesn't have err.status === 504, but i think i can still use err.statusText === 'timeout'.
I think set ajax 'timeout' parameter is still necessary, but it doesn't need to be shorter than proxy timeout limit.

I don't know if you and @mistercrunch talked on other channels but the way that I read his issue https://github.com/apache/incubator-superset/issues/2734 is that he wants the 504 handled, not that the client should time out.
The client cannot know why the timeout occurs, it could very well be that the proxy server has high CPU usage, or that there is high network latency on some end, etc etc etc anything but my data set being large. From that perspective, the message itself is even more confusing and hedging with "Perhaps" doesn't help one bit. Just to be clear, that timeout will occur also if the backend already sent 200 OK, and partial headers/body but didn't yet signal the end of the HTTP message. Heck, it can even be that the browser pool of connections is filled and that the request doesn't even get sent from the queue - see definition of jquery.ajax' timeout.
But what is worse is that all of a sudden, superset instances become trapped by a magic 50s timeout. If indeed, @mistercrunch or someone else wanted/wants a client-side timeout instead of a world-wide known spinner that almost anyone knows it's either slow network or file too large or too much processing, then why not have it optional ? You show a friendly error message on all 504 errors, and optionally on a client-side timeout IFF the admin or maybe individual users in the future opt-in.
FWIW 1. I have lived through these times https://productforums.google.com/forum/#!topic/chrome/gb_bZzmCnm4
FWIW 2. the current http response timeout in browsers, or at least in Firefox is 5 minutes - quite a difference from superset's 50 seconds

As mentioned by @graceguo-supercat, the faq says:

to change client-side timeout limit settings from /superset/superset/assets/javascripts/constants.js file and rebuild js package

Please, can anyone explain me how to "rebuild js package"? because I already changed this file and I still see the message: "Query timeout - visualization query are set to time out at 45 seconds."

What about having the timeout setting on the client side be aligned with the timeout set on the backend? We could just align it with SUPERSET_WEBSERVER_TIMEOUT. Then it's a matter of passing that from the backend to the frontend when first loading the app(s).
@graceguo-supercat will be back from vacation in a few weeks and we can fix that up. In the meantime you'll have to follow the instructions in the CONTRIBUTING.md to make your own build.

@mistercrunch you don't need a client setting in the first place...

There's a bit more to it though. Proxy and web servers have timeouts for a reason. With 5 minutes timeouts we potentially enable users to hammer the database(s) pretty heavily and allow for a not-so-interactive experience in the dashboard and explore view. The timeout forces users to summarize their data upfront which arguably is a good thing. Also if the web server has timed out, the user should be informed of it, and I think that (from what I know) without a client timeout there's no way to know in some cases.
If pushing the logic of long timeout to the extreme, you end up having to provision a lot of web workers to support hung-up database queries. When all web worker slots are taken by a poorly designed dashboard (or a database that is brought to its knees), you can't even serve the basic assets and pages anymore. I'm speaking from experience here where we experience flat out 504 on all pages when Presto comes to a crawl for whatever reason.
I've been thinking that it would be best to leverage the Celery worker infrastructure for all database interactions (when available), as opposed to increasing the timeouts and number of web worker slots.
I agree Superset shouldn't force you to define a specific timeout though. If you want to make it 10 minutes timeouts and however how many web workers you need to support that you should be able to.


EKF2 doesn't fuse rangefinder measurements

I am facing a problem trying to integrate the rangefinder measurement into the EKF2 estimate.
Following the documentation, I set up the system to use the LL40LS as primary source of information for the hight estimation, but the EKF2 still use the barometric sensor.
Then I tried all the possible parameter combinations, but still, EKF2 use the barometer.
Here what I got in a test flight:
INFO  [ecl/EKF] 9801942: EKF aligned, (baro height, IMU buf: 22, OBS buf: 14)
Is there a bug that prevents EKF2 to use the rangefinder to estimate the drone altitude?
here the log file for a more detailed picture: https://review.px4.io/plot_app?log=216a2be0-6655-4a49-a462-f7b03d68e036
Thanks in advance.

Solved
The sensor was wrongly initialized (in horizontal position)

in particular, it works as a distance sensor to the ground, initializing with the following command:
ll40ls start -X -b 5 -R 25
The default value ( equal to 0) doesn't work in my case

fixed by https://github.com/PX4/Firmware/pull/15639


[RPI-PICO] Failed to load module

Can't load a builtin module
> require('gpio')
Error: Failed to load module: gpio

The root cause of this issue is array.indexOf() function always return -1
if (process.builtin_modules.indexOf(id) >= 0) is always fails.


Unconditional sampling for latent diffusion

Thanks for the nice work. The current code works for conditional sampling for latent diffusion. Is is also possible to provide script for unconditional sampling for latent diffusion?
Thanks

Thanks for the advice. I will add it as soon as possible

Thanks again for this nice paper


Version 3.13.2 and later results in application crash and memory leaks

Reproducible repository here: https://github.com/Baune8D/listr2-clone-failure
v3.13.5 memory usage spins out of control and the application crashes as more and more tasks fail.
v3.13.2 no issues with memory usage, but the application gets completely unresponsive as more and more tasks fails.
v3.13.1 works as it should, no problems here at all.
I guess this is related to cloning introduced in v3.13.2
Included in the example repository is 3 npm scripts:

npm run memoryleak triggers the memory leak issue with version 3.13.5
npm run crashes triggers application crash with version 3.13.2
npm run works runs without problems with version 3.13.1

This has only been tested on Windows 11 using Windows Terminal and Node.js 16.13.0

Hello @Baune8D ,
Thank you so much for this exclusive report. Yes, it makes sense to memory goes crazy for tasks like this because it copies a lot of errors in the memory over and over again with each failure to the error caching mechanism. What I want to do is make the error collection optional. If somebody is not using it should be definitely disabled.
So that would be my plan what do you think about this?

I do also think that trying to copy circular variables is the cause of the memory leak, so I could just put that in the option because there were people that did want that.

Sound good to me. Im not really sure what the cloning solves in this case, our application works just fine with v3.13.1, so a switch to revert to something like that behavour would be sufficient for our use case 🙂

:tada: This issue has been resolved in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Compile error on GHC 7.10.3

I was trying to install this using stack, by the command stack install vector-th-unbox, using GHC 7.10.3, on stack lts-5.1.
Here is the error I encountered:
Run from outside a project, using implicit global project config
vector-th-unbox-<IP_ADDRESS>: configure
vector-th-unbox-<IP_ADDRESS>: build

--  While building package vector-th-unbox-<IP_ADDRESS> using:
      /home/username/.stack/setup-exe-cache/x86_64-linux/setup-Simple-Cabal-<IP_ADDRESS>-ghc-7.10.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-<IP_ADDRESS> build --ghc-options " -ddump-hi -ddump-to-file"
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/username/.stack/global/.stack-work/logs/vector-th-unbox-<IP_ADDRESS>.log

    Configuring vector-th-unbox-<IP_ADDRESS>...
    Building vector-th-unbox-<IP_ADDRESS>...
    Preprocessing library vector-th-unbox-<IP_ADDRESS>...
    /home/username/.stack/snapshots/x86_64-linux/lts-5.1/7.10.3/pkgdb/package.cache: GHC.PackageDb.readPackageDb: inappropriate type (Not a valid Unicode code point!)

Is this the right place to report this error?

Looks like this was a problem with Stack. Sorry for the noise!


Update hello-world.md

Hie how are you filing

Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Thank you github

Hello a,m new in a github

Hi guys

Hi

Hi