Incorrect version of provider referenced

What happened?
I followed the step to install the terraform package vercel/vercel. Everything was installed ok, but failed when I ran pulumi up with the following message:

Diagnostics:
pulumi:providers:vercel (vercel):
error: Could not automatically download and install resource plugin 'pulumi-resource-terraform-provider' at version v0.0.0-dev, install the plugin using pulumi plugin install resource terraform-provider v0.0.0-dev --server github://api.github.com/pulumiverse: error downloading provider terraform-provider to file: failed to download plugin: terraform-provider-0.0.0-dev: 404 HTTP error fetching plugin from https://api.github.com/repos/pulumiverse/pulumi-terraform-provider/releases/tags/v0.0.0-dev. If this is a private GitHub repository, try providing a token via the GITHUB_TOKEN environment variable. See: https://github.com/settings/tokens

As you can see the version v0.0.0-dev is not correct. I changed it manually to 0.5.4 in the utilities.ts file in the sdks/vercel folder, and also in the package.json file in the same folder.
Example
I did the following:

pulumi package add terraform-provider vercel/vercel
pnpm add vercel@file:sdks/vercel
pulumi up

My code was simple:
import * as pulumi from "@pulumi/pulumi";
import { ProjectEnvironmentVariable } from "@pulumiverse/vercel";
import * as vercel from "vercel";

const vercelConfig = new pulumi.Config("vercel");
const config = new pulumi.Config();

const teamId = vercelConfig.get("team");
const projectId = config.require("projectId");

// Firewall
const whiteListedIps: string[] = [];
const blackListedIps = ["<IP_ADDRESS>"];

const provider = new vercel.Provider("vercel", {
  apiToken: vercelConfig.requireSecret("apiToken"),
  team: teamId,
});
new vercel.FirewallConfig(
  "exampleFirewallConfig",
  {
    projectId: projectId,
    teamId: teamId,
    ipRules: {
      rules: [
        ...whiteListedIps.map((ip) => ({
          action: "bypass",
          ip: ip,
          hostname: "*",
        })),
        ...blackListedIps.map((ip) => ({
          action: "deny",
          ip: ip,
          hostname: "*",
        })),
      ],
    },
  },
  {
    provider: provider,
  }
);

Output of pulumi about
CLI
Version      3.144.1
Go Version   go1.23.4
Go Compiler  gc
Plugins
KIND      NAME                VERSION
language  nodejs              3.144.1
resource  terraform           5.13.4
resource  terraform-provider  0.5.4
resource  terraform-provider  0.5.4
resource  vercel              1.14.3
Host
OS       darwin
Version  14.6.1
Arch     arm64
This project is written in nodejs: executable='/Users/tomas/.nvm/versions/node/v20.14.0/bin/node' version='v20.14.0'
Current Stack: elkjopnordic/vercelpulumidemo.infra/dev
TYPE                                                                URN
pulumi:pulumi:Stack                                                 urn:pulumi:dev::vercelpulumidemo.infra::pulumi:pulumi:Stack::vercelpulumidemo.infra-dev
pulumi:providers:vercel                                             urn:pulumi:dev::vercelpulumidemo.infra::pulumi:providers:vercel::vercel
pulumi:providers:vercel                                             urn:pulumi:dev::vercelpulumidemo.infra::pulumi:providers:vercel::default_1_14_3_github_/api.github.com/pulumiverse
vercel:index/projectEnvironmentVariable:ProjectEnvironmentVariable  urn:pulumi:dev::vercelpulumidemo.infra::vercel:index/projectEnvironmentVariable:ProjectEnvironmentVariable::exampleProjectEnvironmentVariable
vercel:index/firewallConfig:FirewallConfig                          urn:pulumi:dev::vercelpulumidemo.infra::vercel:index/firewallConfig:FirewallConfig::exampleFirewallConfig
Found no pending operations associated with elkjopnordic/dev
Backend
Name           pulumi.com
URL            https://app.pulumi.com/tomasja
User           tomasja
Organizations  tomasja, elkjopnordic
Token type     personal
Pulumi locates its logs in /var/folders/lc/1vq3t0hn7hz8ttyv1_pf9p_h0000gn/T/ by default
warning: Failed to get information about the Pulumi program's dependencies: no package-lock.json or yarn.lock file found (searching upwards from /Users/tomas/git/elkjopnordic/vercelpulumidemo/operations/infra)
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@WassimBenzarti , I changed the files manually. I think it is fine since the code is checked in the repo.

I've got the same issue as well. i was trying to use the airbytes terraform module on linux.

Hi @mastoj - thank you for filing this issue, and thank you for providing a workaround.
This isn't the experience we want you to have. We'll take a look.


State key naming convention not applied when persisting state via input binding response

In what area(s)?

/area runtime
What version of Dapr?

edge
Expected Behavior
When the endpoint of an input binding returns a response to persist some state into a state store, the key should be prefixed with the App ID.
Actual Behavior
The BulkSet function of the state component is being invoked without composing the name according to the key naming convention of the State Management building block.
Steps to Reproduce the Problem

Create an input binding component
Create an HTTP endpoint that handles the trigger from the input binding and responds with content similar to the following:

{
    "storeName": "statestore",
    "state": [
        {
            "key": "key1",
            "value": [
                {
                    "label": "laptop",
                    "count": 6
                }
            ]
        }
    ]
}

The key key1 has been created in the state store.
Then it cannot be retrieved via the State management API as it is not prefixed with the App ID.

Release Note
RELEASE NOTE: FIX The key naming policy was not applied when persisting state directly from an input binding.

Thanks for raising this.

The feature of being able to interpret the response and do another action, will be removed from the V1.0 release. Hence will not be adding any new capabilities to this.

The feature of being able to interpret the response and do another action, will be removed from the V1.0 release. Hence will not be adding any new capabilities to this.

This makes sense. I like it! Feel free to close the issue. @msfussell

This makes sense. I like it! Feel free to close the issue. @msfussell

@yaron2 @msfussell
Is it reasonable to expect and possible to implement Dapr feature which will enable us to switch off default state store key naming convention with app prefix?
From my point of view, not having app prefix in the key can be useful in some cases. For example, I would be able to use state store as a regular data store for small services, and also I would be able to retrieve key from any service.
Is it already possible but I am not aware of that? Or, is it unapropriate usage which you would not suggest?
Thanks in advance, Vedran.

@yaron2 @msfussell
Is it reasonable to expect and possible to implement Dapr feature which will enable us to switch off default state store key naming convention with app prefix?
From my point of view, not having app prefix in the key can be useful in some cases. For example, I would be able to use state store as a regular data store for small services, and also I would be able to retrieve key from any service.
Is it already possible but I am not aware of that? Or, is it unapropriate usage which you would not suggest?
Thanks in advance, Vedran.


Feature request: add jpg render options

It would be really great if it was possible to add arguments for the jpg scaling. I'm creating two jpg versions from my pdf pages, one medium resolution file and one thumbnail.
The thumbnail is created like this:
pdfium render input.pdf output.jpg --max-height 120 --max-width 120 --file-type jpeg
The 120px jpg files are quite "blotchy". My current workaround is to not use pdfium-cli for this, and instead scale the medium jpg file with the Sharp library. If I could add parameters to the jpg rendering (I suppose those should just be forwarded to libjpg), I'm guessing that I could get nicer thumbnails.
This is a thumbnail from pdfium-cli:

This is the same input pdf, but this file is scaled down with Image Magic:

I have now done some testing with different interpolation engines. I'm not able to reproduce the blotchy look of the pdfium rendered thumbnail with any other engine.
I suppost this problem has nothing to do with choosing Lanczos3 over Nearest neighbor. I think the pdfium renderer is simply a bit naive when scaling down vector graphics to lower resoutions.
I'm good with my solution to resize the thumbnail outside of pdfium (with Sharp). If there is a simple fix to pdefium-cli, I think it would be good for the project. But I don't need this function so please go ahead and close this issue if you want.

I think this has to do with the vector graphics rendering in pdfium that might have some minimum thickness for lines? If you want you can open an issue with pdfium, I'll close this one here for now.

No need for me. I'm using Sharp for other stuff, so I'm fine without pdfium thumbnails.
But thumbnails for PDF pages is a quite common use case. I'm surprised that pdfium doesn't handle this better.

Yeah me too, still might be good to just drop it by them to see what they think.


[GHSA-7r88-wjhj-jr8m] RaspAP Command Injection vulnerability

Updates

Affected products
References

Comments
Add patch commit for v2.8.8: https://github.com/RaspAP/raspap-webgui/pull/1303/commits/1fabc481690e008279113e18d0642c5279e3b56e,
belongs to pr: https://github.com/RaspAP/raspap-webgui/pull/1303
they are mentioned in release note v3.8.8: "Security: Sanitize post data w/ escapeshellcmd() by @billz in #1303 thanks @buglloc"

I think these vulnerabilities are unrelated, just similar.
GHSA-7r88-wjhj-jr8m related to CVE-2022-39987 and, as far as I known, it is fixed in v2.9.5:

commit: https://github.com/RaspAP/raspap-webgui/commit/e87e7d1d3a61617430851f2a040379de1ff3dd9d
PR: https://github.com/RaspAP/raspap-webgui/pull/1395

In https://github.com/RaspAP/raspap-webgui/pull/1303 which you mention fixed another but similar vulnerability. it allows an unauthenticated attacker to execute arbitrary OS commands

Hi,@buglloc. Thanks for the correction. I made the mistake. I will correct the info and open a new PR for this CVE.
Besides, the patch commit I mentioned above seems like the fix for https://github.com/advisories/GHSA-7c28-wg7r-pg6f, which "allows unauthenticated attackers to execute arbitrary commands via the cfg_id parameter in /ajax/openvpn/activate_ovpncfg.php and /ajax/openvpn/del_ovpncfg.php".  is it correct?

Besides, the patch commit I mentioned above seems like the fix for https://github.com/advisories/GHSA-7c28-wg7r-pg6f, which "allows unauthenticated attackers to execute arbitrary commands via the cfg_id parameter in /ajax/openvpn/activate_ovpncfg.php and /ajax/openvpn/del_ovpncfg.php". is it correct?

Yeah, looks correct! :)


Why pySCF is not supported on Windows?

I am new to this. Got into quantum chemistry simulation where I needed pySCF but found out that it is impossible. I first installed cmake as a perquisite but showed error for BLAS API which I couldn't find a way to install (if possible kindly mention how). I guess my solution will be use a VM for linux. If I use WSL (Windows Subsystem for Linux), install pyscf in it, run code editor from it and use other libraries (python, qiskit) from windows, will it work?

Hi Bronze7, thank you for your interest in using PySCF.
Yes, it is recommended to install WSL provided by the Windows App shop, and then install PySCF as you would do on a Linux system. I am actually also using PySCF on a Windows 11 system!
Hope this helps! Chong

Thank you for replying. Do I have to install all the python libraries and use the code files in linux sub system while the code editor runs in windows?


Fix: Enhance typing of the tasks attribute in the User class

Description
This PR fixes a minor typing issue in the User class, it is related to the issue #2256.
The change
The code is changed from:
from
    tasks: List[TaskSet | Callable]  = []
to
    tasks: List[TaskSet | Callable | Tuple]  | dict[Callable, int] = []

Okay so I saw that mypy runs now into an error in the assign_equal_weights function in the env.py.
If I understood it correctly then somewhere in the code the Dict[Callable, int] is being converted into a List[Callable]. Therefore I added a isinstance(tasks_frontier, list) to give mypy the information that it doesn't need to be confused by the other types.
Hope that's fine :)

@cyberw there is one mypy error left could you take a look at it?
locust/env.py:222: error: Argument 1 to "filter_tasks_by_tags" has incompatible type "Type[User]"; expected "Type[TaskHolder[Any]]"

I needed to add a type: ignore to one line. If needed I can elaborate why. 😊


refactor(logs): zerolog introduced

fixes #283

Added zerolog as dep
Used zerolog includes instead of log
Where the build failed I changed;

PrintLn to

Error().Err(err).Stack().Msg() if it logged an err
Error().Msg() if it contained the word error:
Warning().Msg() if it contained the word warning:
Info().Str().Msg() if it had params
Print otherwise

Fatal to Fatal().Err(err).Stack().Msg()
Panic to Panic().Err(err).Stack().Msg()

I added the needed line.

The only complaint I have for now is an unsigned commit. Please sign it! Awesome work you did there! :+1:

done, and I had nothing to rebase to


Problem with Plex

Home Assistant release with the issue: 0.84.3

Operating environment: Hass.io on Raspberry Pi 3 and Plex Server on Windows 10

Component/platform: https://www.home-assistant.io/components/media_player.plex/

Description of problem:
Hi all,
I’m trying to configure Home Assistant to interact with my Plex Media Server.
First, I followed this procedure and I had no issues: I rebooted HA and all seems ok with no errors in the log.
Then, as I first test, I tried to play a song in one of my GoogleMini speaker, so I created a trigger with this action:
action:
  service: media_player.play_media
    data:
      entity_id: media_player.GoogleMiniSpeaker1
      media_content_id: { \“library_name\” : \“Music\”, \“artist_name\” : \“Muse\”, \“album_name\” : \“Black Holes and Revelations\”, \“track_name\” : \“Starlight\”, \“shuffle\”: \“0\” }
      media_content_type: MUSIC

But when I activate the trigger nothing happened, and I have this error in the log:
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/service.py", line 277, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/switch/template.py", line 154, in async_turn_on
    await self._on_script.async_run(context=self._context)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/script.py", line 130, in async_run
    await self._handle_action(action, variables, context)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/script.py", line 172, in _handle_action
    action, variables, context)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/script.py", line 261, in _async_call_service
    context=context
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/service.py", line 81, in async_call_from_config
    domain, service_name, service_data, blocking=blocking, context=context)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/core.py", line 1101, in async_call
    processed_data = handler.schema(service_data)
  File "/usr/local/lib/python3.6/site-packages/voluptuous/schema_builder.py", line 267, in __call__
    return self._compiled([], data)
  File "/usr/local/lib/python3.6/site-packages/voluptuous/schema_builder.py", line 589, in validate_dict
    return base_validate(path, iteritems(data), out)
  File "/usr/local/lib/python3.6/site-packages/voluptuous/schema_builder.py", line 427, in validate_mapping
    raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: value should be a string for dictionary value @ data['media_content_id']

What's wrong?
Thank you in advance
Riky
Problem-relevant configuration.yaml entries:
media_player:
  - platform: plex

Problem-relevant plex.conf entries:
{
    "<IP_ADDRESS>:32400": {
        "ssl": false,
        "token": "---MYTOKEN---",
        "verify": false
    }
}

Your quotes looks off at first glance. Also, you need to quote the whole entry.

Hi @fabaff , I change the code in this way:
action:
  service: media_player.play_media
    data:
      entity_id: media_player.GoogleMiniSpeaker1
      media_content_id: "{ \“library_name\” : \“Music\”, \“artist_name\” : \“Muse\”, \“album_name\” : \“Black Holes and Revelations\”, \“track_name\” : \“Starlight\”, \“shuffle\”: \“0\” }"
      media_content_type: MUSIC

but I get an error immediately from the compiler
unknown escape sequence at line 9, column 33:
              media_content_id: "{ \“library_name\” : \“Music\”, \“a ...
                                    ^

I would also like to apologize to everyone if my questions are very banal, but I'm just a beginner and I couldn't find anywhere a simple example how to properly use the syntax.

I changed the code again in this way
(quotation marks " everywhere, and not “ ” as suggested in the component page example ):
action:
  service: media_player.play_media
    data:
      "entity_id": "media_player.GoogleMiniSpeaker1"
      "media_content_id": "{ \"library_name\" : \"Music\", \"artist_name\" : \"Muse\", \"album_name\" : \"Black Holes and Revelations\", \"track_name\" : \"Starlight\", \"shuffle\": \"0\" }"
      "media_content_type": "MUSIC"

Now I get no errors in the log and hear the "pling" sound of the google mini speaker activation, but the song is not played.
Any idea of what I'm still doing wrong?
May I take this opportunity to wish you all a Happy Christmas!

Unfortunately the issue still persists.
I have not understood yet which is the correct syntax.


refactor: remove WifiManager from global context

Description
This moves the WifiManager from global to setup() context. This on one side saves about 500 bytes of heap. On the other side it gives the possibility to enter the config AP also by holding the AP button on power up if for whatever reason the main loop has an issue.
How Has This Been Tested?

[ ] Not applicable

Inverter type

[x] Simulated inverter
[X]  Growatt 3000 TL-X

Stick type

[X] Shine X
[ ] Shine S
[x] Lolin32
[ ] Nodemcu32

When applying this. The double reset detection seems to fail in most cases (on lolin32):
Double reset detected
setupWifiHost: hostname Growatt-test
Opened serial web server on http://<IP_ADDRESS>:8080
Configuring WDT...
Setting up WiFiManager menu
*wm:AutoConnect
*wm:Connecting to SAVED AP: xxxx
*wm:AutoConnect: SUCCESS
*wm:STA IP Address: <IP_ADDRESS>
WIFI connected...yeey :)
...
init_growatt124: input registers 54 holding registers 1ShineWiFi-X (USB) found
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13192
load:0x40080400,len:3028
entry 0x400805e4
setupWifiHost: hostname Growatt-test
Opened serial web server on http://<IP_ADDRESS>:8080
Configuring WDT...
Setting up WiFiManager menu
*wm:AutoConnect
*wm:Connecting to SAVED AP: xxxx
*wm:AutoConnect: SUCCESS
*wm:STA IP Address: <IP_ADDRESS>
WIFI connected...yeey :)
....
init_growatt124: input registers 54 holding registers 1ShineWiFi-X (USB) found
MqttServer: homeassistant.fritz.box
MqttUser: mqtt
....

With the current master I cannot get this to fail.

@crasu can you check if ba80827 restores drd functionality for you?

Works! Thank you!


Add ability to process CA Bundles

One of the options that's missing from pip-compile that pip allows for is --cert, which has been around longer than --client-cert (at least since pip 5).
These commits attach the cert to the PipSession in the same way that pip does and also exposes the option in the CLI.

Closing, #612 is the rebased version.
Thanks for your original PR, I'm sorry it stayed there for so long.


Real-time player language update

When changing the language through the player menu or through the command "global.language" on the client side, Oxide/uMod accepts the changes immediately.

Merged, thanks.


[FEA] Detect CPU fall-back for special-cases for left join SMJ

Is your feature request related to a problem? Please describe.
Qualification tool does not catch some of the special cases with SMJ as reported in the following two RAPIDS issues:

https://github.com/NVIDIA/spark-rapids/issues/11213 : [FEA] Support AST in a left join(SMJ) when casting a string to date
https://github.com/NVIDIA/spark-rapids/issues/11214 : [FEA] Support AST in a left join(SMJ) when lower(String)

We need to investigate the minimum repr case mentioned in those issues and see if Q tool can do better until the RAPIDS plugin implements the fix.

I created eventlogs based on the sample queries mentioned in the above issues:

For SMJ with LeftOuterJ casting string to date, the SMJParser will get the string as below:

            SortMergeJoin [name#29], [name#55], LeftOuter, ((cast(birthday_str#33 as date) >= birthday_dt#60) AND (cast(birthday_str#33 as date) <= date_add(birthday_dt#60, 1)))

There isn't a way to tell if the column_name that is being casted to date is of string type. One thing we could do is mark all the SMJ's as not supported if we come across cast ( * as date) but this could lead to some false positives.

For SMJ with lower and IN being part of JOIN condition.

SortMergeJoin [name#94], [name#107], LeftOuter, lower(id#95) IN (1,2)

Currently we only parse the functions in join columns  and don't parse  in join conditions. I think for 2 we can parse the join condition and check if there is lower function followed by IN and mark it as not supported.
@amahussein - I think 2. can be marked as unsupported by making changes in parser function but it will be specific to the condition i.e lower and IN.  For point1, I am not certain if we want to mark everything as unsupported if we see "as date"  within cast operation. Currently we don't parse it. Please let me know  your thoughts on it.


Merge /u/nbatman's streaming sites list

/u/nbatman has given me permission to merge his list into awesome-piracy.

I'll merge it when i get home, and make a pull request.

I dont have anything better. I'll add bits and pieces

Possibly Fixed: https://github.com/Igglybuff/awesome-piracy/pull/110

This has been completed :)


When using kubeadm, CNIs calico and canal are configured with wrong kubeconfig.

BUG REPORT
When using kubeadm (kubeadm_enabled is set) the kubeconfig file used by kubelet is {{ kube_config_dir }}/kubelet.conf, while {{ kube_config_dir }}/node-cubeconfig.yaml is used when not using kubeadm. This can be seen in kubespray/roles/kubernetes/node/templates/kubelet.kubeadm.env.j2 and kubespray/roles/kubernetes/node/templates/kubelet.standard.env.j2.
When using the Calico and Canal CNIs, the files /etc/cni/net.d/10-calico.conflist and /etc/cni/net.d/10-canal.conflist are not configured to reflect this difference between kubeadm and standard mode.
Environment:

Cloud provider or hardware configuration:
ESXi virtual machines

OS (printf "$(uname -srm)\n$(cat /etc/os-release)\n"):

Linux 4.15.0-32-generic x86_64
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Version of Ansible (ansible --version):

ansible 2.6.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/magne/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]

Kubespray version (commit) (git rev-parse --short HEAD):
7a2cfb85

Network plugin used:
Calico

Me and a co-worker are also facing this issue.
+1

Fixed in #3086
/close


Anyone found a way to avoid the watermarked images? (getty, stock, etc.?)

When I download a bunch of images, a large number of them come from sources where the actual google preview image has watermarks. Anyway to avoid this? I understand that it's to protect IP but for research purposes and since sometimes non-watermarked images are available after clicking through, is there a flag for avoiding or skipping those images?

@NanoMeko the images are retrieved from the URL that the search provides and hence it is not possible to gather images without watermarks. I will look into the PR for blacklisting domains so you can avoid URLs that commonly have watermarks as @krissdap suggested :)


increase clarity around ObjectiveModel type

Make our current type conversion more explicit and transparent, to aid developer understanding.
Currently, there are some useful things to know which are not self evident from the code. These changes attempt to remedy that, and I think it will help us judge whether we actually want the current behaviour or not.
These useful things are:

we have one DB table that stores all objectives in the union type Objective. We also have a single ORM class called ObjectiveModel. It is not possible to make a union of classes. This implies that the correlations in the union type are washed out when we deal with ObjectiveModels. As an example, we could have an ObjectiveModel with type: 'OpenChannel' but the incompatible data: submitChallengeData. The static insert method is typed in such a way as to prevent that, but otherwise it is not impossible because no such typing is enforced by the db itself. For example, we can just write a query that inserts such a "bad" objective.
The instance method toObjective() (which is heavily used) does some typecasting to convert back to a proper union type with the correlations, but this isn't as obvious as it might be.
we drop the participants property when storing an objective, and add it back again (using []) when reading an objective

Other changes:
I added a generic type to the toObjective() function, so that it will be possible to easily narrow the type even further if we want to. I anticipate this will be useful for future refactors. I can split that change onto a different PR if the reviewer prefers.

Checklist:
Code quality

[x] I have written clear commit messages
[x] I have performed a self-review of my own code
[ ] This change does not have an unduly wide scope
[x] I have separated logic changes from refactor changes (formatting, renames, etc.)
[x] I have commented my code wherever necessary (can be 0)
[x] I have added tests that prove my fix is effective or that my feature works, if necessary

Project management

[x] I have applied the appropriate labels
[x] I have linked to all relevant issues (can be 0)
[x] I have added all dependent tickets (can be 0)
[x] I have assigned myself to this PR
[x] I have chosen the appropriate pipeline on zenhub

* we have one DB table that stores all objectives in the _union type_ `Objective`. We also have a single ORM class called `ObjectiveModel`. It is not possible to make a union of classes. This implies that the correlations in the union type are washed out when we deal with `ObjectiveModels`. As an example, we could have an `ObjectiveModel` with `type: 'OpenChannel'` but the incompatible `data: submitChallengeData`.

Classes can be generic over a type, which means we Can prevent this in the type system. It will still be a bit of a lie, because the data in the DB can be arbitrary

Yeah you are right about the generic class thing. Perhaps we should give that a go?

This was mostly a discussion piece, and will be superseded by #3315  and #3320 .


[WIP] Initial commit for smart probe implementation

This PR intends to have the basic implementation of SCSI commands named as SMART package which will include getting the basic attributes of SCSI disks such as vendor,model,serial number,version, logical size, Firmware revision, capacity, etc.
It will implement smart(smart is the name of the package which will expose various functions to get the various disk attributes, but this PR will only implement the retrieval of basic disk attributes,not smart attributes) as a secondary probe in node-disk-manager which will be used to populate etcd with the following disk details -

Version
Logical size
Firmware revision and
capacity

This probe would be responsible for filling the above defined disk details for a particular SCSI disk after udev probe fills its own specified set of disk attributes.
It will take device path (devPath) of a disk as an argument in order to fill the required details for a particular SCSI disk.
It makes use of various SCSI commands and ATA device struct page to get the following information for a SCSI and ATA disk respectively.
Changes committed:
modified:   cmd/controller/disk.go
new file:   cmd/probe/smartprobe.go
modified:   cmd/probe/udevprobe.go
modified:   pkg/apis/openebs.io/v1alpha1/types.go
new file:   pkg/smart/ataidentify.go
new file:   pkg/smart/diskinfo.go
new file:   pkg/smart/ioctl.go
new file:   pkg/smart/satdevice.go
new file:   pkg/smart/scsicommands.go
new file:   pkg/smart/scsidevice.go
new file:   pkg/smart/types.go
modified:   pkg/udev/common.go
modified:   pkg/util/util.go

The output after integrating smart with node-disk-manager is -
sagar@sagar-ThinkPad-L470:~/gows/src/github.com/openebs/node-disk-manager$ kubectl logs -f node-disk-manager-nk97k
I0709 14:37:15.962472       1 probe.go:54] starting probe
I0709 14:37:15.962537       1 server.go:39] Starting HTTP server at http://localhost:9090/metrics for metrics.
I0709 14:37:15.963385       1 controller.go:113] started the controller
I0709 14:37:15.963445       1 probe.go:82] configured udev probe
I0709 14:37:15.965844       1 probe.go:82] configured smart probe
I0709 14:37:15.965860       1 udevprobe.go:173] starting udev probe listener
I0709 14:37:16.205107       1 eventhandler.go:41] processing data for disk-bcfc622a64c1d7e30f278e0f7762b5c7
I0709 14:37:16.205163       1 eventhandler.go:46] disk details filled by udev probe
I0709 14:37:16.206341       1 eventhandler.go:46] disk details filled by smart probe
I0709 14:37:16.503863       1 diskstore.go:30] created disk object : disk-bcfc622a64c1d7e30f278e0f7762b5c7
I0709 14:37:16.503936       1 eventhandler.go:41] processing data for disk-9e194a67207a9ccbfb40e041e4154597
I0709 14:37:16.503971       1 eventhandler.go:46] disk details filled by udev probe
I0709 14:37:16.505362       1 eventhandler.go:46] disk details filled by smart probe
I0709 14:37:16.534167       1 diskstore.go:75] updated disk object : disk-9e194a67207a9ccbfb40e041e4154597

sagar@sagar-ThinkPad-L470:~/gows/src/github.com/openebs/node-disk-manager$ kubectl describe disk disk-bcfc622a64c1d7e30f278e0f7762b5c7
Name:         disk-bcfc622a64c1d7e30f278e0f7762b5c7
Namespace:
Labels:       kubernetes.io/hostname=sagar-thinkpad-l470
Annotations:  <none>
API Version:  openebs.io/v1alpha1
Kind:         Disk
Metadata:
  Cluster Name:
  Creation Timestamp:             2018-07-09T14:37:16Z
  Deletion Grace Period Seconds:  <nil>
  Deletion Timestamp:             <nil>
  Initializers:                   <nil>
  Resource Version:               4581
  Self Link:                      /apis/openebs.io/v1alpha1/disk-bcfc622a64c1d7e30f278e0f7762b5c7
  UID:                            93944429-8385-11e8-97f2-54e1adef61ac
Spec:
  Capacity:
    Storage:<PHONE_NUMBER>2
  Details:
    Firmwarerevision:  1.00
    Logicalsize:       512
    Model:             Ultra
    Serial:            4C530001050110123422
    Vendor:            SanDisk
  Path:                /dev/sdb
Status:
  State:  Active
Events:   <none>

Signed-off-by: sagarkrsd<EMAIL_ADDRESS>

Codecov Report

Merging #58 into master will decrease coverage by 4.41%.
The diff coverage is 22.22%.

@@            Coverage Diff             @@
##           master      #58      +/-   ##
==========================================
- Coverage   73.12%   68.71%   -4.42%
==========================================
  Files          16       17       +1
  Lines         521      553      +32
==========================================
- Hits          381      380       -1
- Misses        111      147      +36
+ Partials       29       26       -3

Impacted Files
Coverage Δ

pkg/udev/common.go
100% <ø> (+17.94%)
:arrow_up:

pkg/udev/mockdata.go
73.33% <ø> (+1.45%)
:arrow_up:

cmd/probe/smartprobe.go
10% <10%> (ø)

cmd/controller/disk.go
100% <100%> (ø)
:arrow_up:

cmd/probe/udevprobe.go
67.67% <100%> (ø)
:arrow_up:

pkg/util/util.go
60.34% <25%> (-18.61%)
:arrow_down:

Continue to review full report at Codecov.

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

@gila @AmitKumarDas @shovanmaity @kmova I have updated the PR with the changes suggested till now !


Request for more widgets

I would like to see more widget designs especially in category

sales
financial and
statistics

It would be pretty cool to have designs for something like

top 5 or top N [customers, suppliers, products, etc...]
sales figures in comparison to previous year
sales by region, countries, quarters
highest cost
etc...

Thanks

Thanks for your ideas. I think these would be great as extensions, as the ideas are very focussed on a particular kind of website. I am closing this now, as this is not a request for the Pagekit core.


What is the backward driving stuck issue

Hi,
I noticed a bug fix from pull requests #7913.  What is the backward driving stuck issue here? Does it happen when backing a car?
Thanks!

this may be caused by control parameters, the PR fix the acceleration direction issue due to vehicle gear.
Your question may require more information to debug


[Request] Official template for JWT auth

The current authentication+authorisation template, which uses Identity, is great - but it's for cookies.
Many of us are using Angular/React/Vue. For us, setting up auth is hard - not because it can't be done, but because there are no docs, and the cookie docs are completely irrelevant.
There is also repeated advice (everywhere from here to StackOverflow to blogs) to use IdentityServer. That is completely unnecessary. It is not needed for cookies, it is not needed for JWT. It is overkill for most projects.
It took me a week to set up auth using JWT, mostly through trial-and-error. It should have taken 10 minutes (that is how long it takes for cookies, because there is a great template for that scenario).
What is needed is an official example so we can get going quickly without reinventing the wheel.

This is how projects are broken down:

hobby/simple projects: excellent support for Identity+cookies, lots of templates and examples
middle-tier projects: no support
enterprise projects: support via Identity+IdentityServer

I assume most businesses are in the middle. And we shouldn't have to deploy IdentityServer just for auth support.

Hello @lonix1 ... If you're asking for a dotnet new template, close here and re-open over on the engineering repo, since we only handle docs on this repo. aspnet/AspNetCore issues. The engineers and managers are :ear: listening :ear: over there.

I'm not sure what is best? Right now there's not much at all.
Maybe basic docs would be good (would have helped me), but later a full template would be considered.
I hoped @RickAndMSFT would say whether this could be "backlogged".

Sure ... I wasn't sure what you were asking for. An ask for a template would to to the product unit. An ask for docs does go here.

I'm also not sure what I'm asking for... :stuck_out_tongue:
Maybe both. But lets start with docs, because an official template could thereafter be built on that.

Thanks for contacting us.
We don’t have the resources to invest in this area, so we are closing the issue. Should your request generate enough  👍 responses, we’ll reconsider.


evaluate_subcircuits issue after the 1st march 2024 update

Issue/Error:-
Sample code snippet:-
#qc is any circuit
cuts = cut_circuit_wires(
        circuit=qc, method="manual", subcircuit_vertices=list(...)
    )

--------------error is raised in below line------------------------
_subcircuit_instance_probabilities = evaluate_subcircuits(cuts, **kwargs)_
reconstructed_probabilities = reconstruct_full_distribution( qc, subcircuit_instance_probabilities, cuts, num_threads=1 )

(backend used is any real ibm hardware , and rest parameters are passed from the code)
After Cutting the circuit  when we pass the subcircuits and its complete path map generated i.e(cuts) by cut_circuit_wires function ,
evaluate_subcircuits is throwing an error shown below

Reason for the Error:-
Update to Qiskit Runtime Primitives | IBM Quantum Platform
As of 1 March 2024, circuits and observables need to be transformed to only use instructions supported by the system (referred to as instruction set architecture (ISA) circuits and observables) before being submitted to the Qiskit Runtime primitives.
Update Requested:-
Hence in evaluate_subcircuts function provided by cutting knitting toolbox , updates need to be done so that while running the circuits inside that function  it won't throw the above error.

Thank you for the report.   I do think this is worth fixing even though cutqc is the legacy interface (#494).

I opened #504 but am currently unsure how to fix the ValueError I am now seeing.

I opened #504 but am currently unsure how to fix the ValueError I am now seeing.

Along with the above errror, Even I was facing value error issue for large circuits as numpy array's dimension is exceeding while calculating probability.

I am still facing with the same issue even after the update:-
It gives the following error :-
line 92, in validate_isa_circuits
raise IBMInputValueError(
qiskit_ibm_runtime.exceptions.IBMInputValueError: 'The instruction h on qubits (5,) is not supported by the target system. Circuits that do not match the target hardware definition are no longer supported after March 4, 2024. See the transpilation documentation (https://docs.quantum.ibm.com/transpile) for instructions to transform circuits and the primitive examples (https://docs.quantum.ibm.com/run/primitives-examples) to see this coupled with operator transformations.'

I am still facing with the same issue even after the update:-

Could you provide a full code snippet, with any explicit circuit that triggers that error?  Are you using the main version of ckt?  (The PR that supposedly fixed this has not made it to a release yet.)

I am still facing with the same issue even after the update:-

Could you provide a full code snippet, with any explicit circuit that triggers that error? Are you using the main version of ckt? (The PR that supposedly fixed this has not made it to a release yet.)

Thankyou for the clarification , I believed that release has been made but I will definitely wait for the release too,
The code  used is:-
from circuit_knitting.cutting.cutqc import verify,cut_circuit_wires,evaluate_subcircuits,reconstruct_full_distribution
#circuit_knitting version is 0.6.0

qc=QuantumCircuit.from_qasm_file('MQTBench_2023-12-18-09-22-43/ghz_indep_qiskit_9.qasm')
cuts = cut_circuit_wires(circuit=qc, method="manual", subcircuit_vertices=list(...))
subcircuit_instance_probabilities = evaluate_subcircuits(circuit_cut, **kwargs)
reconstructed_probabilities = `reconstruct_full_distribution(` circuit = qc, subcircuit_instance_probabilities =subcircuit_instance_probabilities, cuts = circuit_cut, num_threads=10 )

Can you please confirm if this issue will be solved after the release of circuit knitting toolbox or update will be expected in validate_isa_circuits function present in another file/library (as per the above error).

Can you please confirm if this issue will be solved after the release of circuit knitting toolbox or update will be expected in validate_isa_circuits function present in another file/library (as per the above error).

I don't think I have access to the qasm file that would allow me to test this code, but if you want to install the current development version of CKT and test for yourself, you can run pip install git+https://github.com/Qiskit-Extensions/circuit-knitting-toolbox.git.

Can you please confirm if this issue will be solved after the release of circuit knitting toolbox or update will be expected in validate_isa_circuits function present in another file/library (as per the above error).

I don't think I have access to the qasm file that would allow me to test this code, but if you want to install the current development version of CKT and test for yourself, you can run pip install git+https://github.com/Qiskit-Extensions/circuit-knitting-toolbox.git.

Thanks I will try updating the library.
Also to test the circuit you can download the above qasm circuit from https://www.cda.cit.tum.de/mqtbench/


Enable per tab instead of for regular outlook.

I'd like the ability to enable/disable OWAFull per tab if possible.
I'm using OWAFull to access outlook for work, but would like my personal outlook to use the default layout.

Please feel free to create a PR with the changes you desire, or you may close this ticket if it no longer applies.


Error to reload a Adapter in the NiceSpinner

Hello guys, I found an error when I tried to reload data to a same NiceSpinner. With the regular spinner I can reload the data.

Hello @javie129, can you be more specific?


[SPARSE] Add support for sparse gemv

Description
Based on the changes from https://github.com/oneapi-src/oneMKL/pull/374. The new changes are visible in the last commit.
Add support for sparse gemv using MKLCPU backend and add a test for it.
Checklist
All Submissions

[x] Do all unit tests pass locally? Attach a log.
[x] Have you formatted the code using clang-format?

New features

[x] Have you provided motivation for adding a new feature?
[x] Have you added relevant tests?

Tests running locally using the 2023.2.0 oneapi package: tests_cpu.txt

Tests log using a recent nightly build of oneMKL: tests_cpu_nightly.txt
Complex are supported and passing now.

Closing in favor of https://github.com/oneapi-src/oneMKL/pull/374


Update Partial MMR to add a single node to it

<pls add description @bobbinth > and please add @hackaugusto as the assignee

We need to add a method to PartialMmr to enable adding of a single leaf - something similar to Mmr::add. I think add would be an appropriate method name here as well (and it would more consistent with naming in the Mmr) - but we already have PartialMmr:add. So, I think we can do the following:

Rename current PartialMmr::add into PartialMmr:track.
a. This would also mean we should rename PartialMmr::remove into PartialMmr::untrack (or something like that).
Add PartialMmr::add method, which could look like so:

pub fn add(&mut self, leaf: RpoDigest, track: bool) -> Vec<(InOrderIndex, RpoDigest)>

When track parameter is set to true, the PartialMmr would start tracking authentication path for the new leaf, and would also return new nodes added to the PartialMmr as a result of this update.
The new implementation of PartialMmr::add could probably be pretty close to the current ChainMmr::add_block in `miden-base.

When track parameter is set to true, the PartialMmr would start tracking authentication path for the new leaf, and would also return new nodes added to the PartialMmr as a result of this update.

I'm adding this in, could you add a bit of information on how it is used? It seems we started returning the tracked elements with https://github.com/0xPolygonMiden/crypto/pull/242, so it seems it is needed by the client?

The client stores the nodes of the partial MMR in a table. This table needs to be updated as the in-memory structure is updated. The way the client does it now is:

Hold the entire partial MMR in memory.
Run apply_delta() and get the newly-added nodes (the returned vector).
Insert these nodes into the table.

This does require us to load the entire partial MMR into memory - but I think this is fine for now (and in the future, we can figure out a more optimal way to do this).

@bobbinth okay, so from what I got, this is done to save the PartialMmr state to disk, so that it can be restore on a subsequent run. Right?
What about deleting nodes that are no longer necessary? For example, if we have a forest with value 7 or 0b111, there are 3 peaks in the PartialMmr, if we add with track=false, these 3 entries will be merged, and effectively deleted form the PartialMmr, the new forest will be 8 or 0b1000 and will only have the merged peak.

this is done to save the PartialMmr state to disk, so that it can be restore on a subsequent run. Right?

Correct.

What about deleting nodes that are no longer necessary? For example, if we have a forest with value 7 or 0b111, there are 3 peaks in the PartialMmr, if we add with track=false, these 3 entries will be merged, and effectively deleted form the PartialMmr, the new forest will be 8 or 0b1000 and will only have the merged peak.

Peaks are stored separately - in the block_headers table. So, for every block header of interest, the client saves the peaks.
The chain_mmr_nodes table stores only the authentication notes (i.e. PartialMmr.nodes) and I don't believe we remove any nodes from there on apply_delta(). The only way to remove noes is to use the current remove() function (or untrack() in the future), but this is not implemented yet.
Thinking about the future, it would be good if remove/untrack, returned a set of nodes deleted from PartialMmr.nodes so that we could use it accordingly in the future.

Thinking about the future, it would be good if remove/untrack, returned a set of nodes deleted from PartialMmr.nodes so that we could use it accordingly in the future.

Created https://github.com/0xPolygonMiden/crypto/issues/262.

done with #263


JSON error when trying to parse plain text response body

I was hitting rate limits with api requests to getUsers and getting back the following:
invalid character 'Y' looking for beginning of value as the error message.
Since we can't rely on a JSON response in all cases this bugs out if we see anything but a 200 and returns a more useful status code instead Slack server error: 429 Too Many Requests.

https://github.com/nlopes/slack/pull/121


Revert "Reland "Measure iOS CPU/GPU percentage (#41234)""

Reverts flutter/flutter#41426
Reason: it broke device lab.
TBR: @goderbauer

LGTM


Select prints Aria Warning Messages to console

Using the Select component, you get the warning
If a Dialog does not contain a <Heading slot="title">, it must have an aria-label or aria-labelledby attribute for accessibility.

inside console. Even if setting the Prop on the Select component, the warning persists. Seems like the aria-label Prop is not passed throw to the Dialog.

This was fixed in 458dc7599077ed4a46eedb55bb74611dfc4d0388


When color profile is set to 'use color profile... operating system,' Atom displays an incorrect background.

Prerequisites

[X ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
The operating system palate causes very odd graphical issues on my system. The background color is only found in specific 256-pixel chunks.
Steps to Reproduce

Install Atom
Set color profile to 'Use profile configured in the operating system' (see additional information to see exactly how I go this profile). Switching to SRGB fixes this issue.
Switch to any screen where there are spaces without text.

Expected behavior: Background should be one unified color. How it looks on srgb mode:

Actual behavior: There are 256x256 pixel chunks where the color is different. See images bellow.

Reproduces how often: 100%
Versions
$ atom --version
Atom    : 1.32.0
Electron: 2.0.12
Chrome  : 61.0.3163.100
Node    : 8.9.

$ apm --version
apm  2.1.3
npm  6.4.1
node 11.0.0 x64
atom 1.32.0
python 2.7.15
git 2.19.1

Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.
Some other users had similar issues but solutions (like forcing rasterization) didn't have any effect. The only solution I found was to change to sRGB.
I am running a Manjaro Linux system with Budgie-desktop as the DE. The theme is Arc-darker, a very popular system theme, and the icon theme is Papyrus.
Screenfetch information:
$ screenfetch

 ██████████████████  ████████     appins@B-Arch
 ██████████████████  ████████     OS: Manjaro 18.0.0 Illyria
 ██████████████████  ████████     Kernel: x86_64 Linux 4.19.0-3-MANJARO
 ██████████████████  ████████     Uptime: 23m
 ████████            ████████     Packages: 1159
 ████████  ████████  ████████     Shell: bash 4.4.23
 ████████  ████████  ████████     Resolution: 1920x1080
 ████████  ████████  ████████     DE: Budgie
 ████████  ████████  ████████     WM: BudgieWM
 ████████  ████████  ████████     WM Theme: Adwaita
 ████████  ████████  ████████     GTK Theme: Arc-Darker [GTK2/3]
 ████████  ████████  ████████     Icon Theme: Papirus-Adapta
 ████████  ████████  ████████     Font: Cantarell Regular 12
 ████████  ████████  ████████     CPU: AMD Athlon X4 860K Quad Core @ 4x 4.23GHz
                                  GPU: AMD/ATI Ellesmere [Radeon RX 470/480/570/570X/580/580X]
                                  RAM: 3528MiB / 7999MiB

Thank you,
AppIns

Oh, I forgot to mention that issue happens with all UI and syntax themes as well. The only way around it is to change to sRGB.

I am experiencing the same issue in a fresh install of Ubuntu 18.10.
Changing to sRGB does indeed solve the issue.

Thanks for the report!

Atom : 1.32.0
Electron: 2.0.12

We've determined that you are currently using an unofficial build or distribution of Atom. Often these customized versions of Atom are modified versions of the Stable branch of Atom with mismatched versions of built-in components. These updated components are taken from the Beta channel or master branch and then injected into the Stable version and a new Atom package is generated. Because of the way Atom is constructed, using these mismatched components can cause mysterious and hard-to-diagnose problems. You can find out more about why we chose to not support unofficial distributions here.
You can find instructions for installing an official version of Atom in the Flight Manual. If you are still seeing this problem on an official build please file a new issue, thanks!


Convert to npm package

Working pretty well standalone. Could be made into an npm package, but it's not too bad doing npm install -g blitzrk/asciidoc-blog and using ablog update to handle updates.


Microsoft Visual C++ 2015 Redistributable - 64 bit or 32 bit

I assume I can take the 64 bit if the system supports it - correct?

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

ID: f92a99a8-6ffa-e5f9-b7ef-f13fa1e0f17b
Version Independent ID: 51273790-5178-875b-010e-15d7725da535
Content: Publish an ASP.NET Core app to IIS
Content Source: aspnetcore/tutorials/publish-to-iis.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @guardrex
Microsoft Alias: riande

@joeloff, do you know why the hosting bundle installer requires the Microsoft Visual C++ 2015 Redistributable? We were discussing this on another issue yesterday, but engineering didn't know why the installer was installing it. How does the hosting bundle installer handle this? Does it install both x86 and x64?

This was only part of the 1.0/1.1 hosting bundles. The .NET Core runtime bundle that we shipped back then downloaded and installed the C++ runtime if it wasn't installed on the machine. We listed it explicitly because enterprise customers in locked down environments ran into problem when the servers didn't have outside internet connections so their admins had to manually download and copy the c++ redists to the servers, install it and only then could they install the hosting bundle.

Thanks @joeloff ... time to 🔪 this remark.


Change C++ standard handling

Playing around with using the standard CMake ways of handling C++ standards flags.
The way I've set it up at the moment is to discourage setting any standard explicitly which means that HPX would by default be built in C++14 mode. This is to allow dependent projects to use any standard from 14 upwards. If HPX is built with 17 dependent applications can't be built with 14.
The standard can still be set explicitly with CMAKE_CXX_STANDARD and HPX_USE_CMAKE_CXX_STANDARD=ON (OFF by default, leads to error to discourage setting CMAKE_CXX_STANDARD). The required standard is propagated to dependent projects using the cxx_std_ab compile feature.
The HPX_WITH_CXXAB options are also still there but produce warnings when used.

Opening this up to hear suggestions and possible problems with this approach. The goal is to use as much vanilla CMake as possible and avoid handling things by ourselves if not necessary.

LGTM thanks!

In the process I've attempted to (somewhat) clean up the handling of compiler flags. Let me know if you'd prefer to have these in a separate PR (the changes are in separate commits). I've kept the hpx_add*flags/definitions macros but set the flags and definitions to the interface targets hpx_private_flags (previously hpx_internal_flags) and hpx_public_flags. HPX targets should link privately and publicly, respectively, to those targets.

The cxx_std_ab features require CMake 3.8 by the way, but I've bumped it up in #4246 so I'll leave the minimum unchanged in this PR.

This should be ready to go together with #4246. Any remaining comments?


py_cpu_nms import error

When the nms_wrapper imports cpu_nms, there is no cpu_nms.py. It seems like you renamed the module to py_cpu_nms and also its main function. If we change the name back to cpu_nms or the import statement to py_cpu_nms, then the code works again. I'm running this on CPU mode only.

Hi @mwang29  , did you have any problem in compiling the nms using ./make.sh ?
I use Python 3.7 and it did not build for me. How did you get it to work? Any help is appreciated.


Add make deploy-sd-dev

[x] Add make deploy-sd-dev to remotely deploy sd-dev clusters
[x] Add instructions to README.md
[x] Test make deploy-sd-dev

/lgtm

@dgoodwin sorry, I made a quick change. Mind re-adding a lgtm please?

/test unit

/lgtm


#345: bundle intermediate certificates

fixes warnings and gives generated certs an A rating on ssl labs
Fixes #345

Thanks @stongo !
LGTM
/cc @vdemeester

LGTM :angel:


Please port to Python3.12

Describe the bug
The test suite does not pass when using Python3.12 as it is reported in a Debian bug report.  It results in
E       AttributeError: 'TestApplication' object has no attribute 'assertNotEquals'. Did you mean: 'assertNotEqual'?
tests_core/test_application.py:56: AttributeError
E       AttributeError: 'TestApplication' object has no attribute 'assertNotEquals'. Did you mean: 'assertNotEqual'?
tests_core/test_application.py:35: AttributeError
E           AttributeError: 'TestCommandRegistration' object has no attribute 'assertDictContainsSubset'
tests_core/test_command_registration.py:96: AttributeError
E           AttributeError: 'TestCommandRegistration' object has no attribute 'assertDictContainsSubset'
tests_core/test_command_registration.py:564: AttributeError

While fixing the assertNotEquals can be easily fixed with this patch assertDictContainsSubset is not supported any more as you can read in the Python3.12 documentation.
(BTW, the patch is against the Debian packaged version 2.50.0 so not the latest release but it should be pretty easy to adapt sind the replacement is simple.)
Related command
Simply run the test suite under Python3.12.
Errors
E       AttributeError: 'TestApplication' object has no attribute 'assertNotEquals'. Did you mean: 'assertNotEqual'?
tests_core/test_application.py:56: AttributeError
E       AttributeError: 'TestApplication' object has no attribute 'assertNotEquals'. Did you mean: 'assertNotEqual'?
tests_core/test_application.py:35: AttributeError
E           AttributeError: 'TestCommandRegistration' object has no attribute 'assertDictContainsSubset'
tests_core/test_command_registration.py:96: AttributeError
E           AttributeError: 'TestCommandRegistration' object has no attribute 'assertDictContainsSubset'
tests_core/test_command_registration.py:564: AttributeError

Issue script & Debug output
See above
Expected behavior
The unittest should be passed when using Python3.12.
Environment Summary
azure-cli 2.50.0
Additional context
No response

Thank you for opening this issue, we will look into it.

Hi @tillea,
2.50.0 is not the latest Azure CLI(2.56.0).
If you haven't already attempted to do so, please upgrade to the latest Azure CLI version by following https://learn.microsoft.com/en-us/cli/azure/update-azure-cli.

I'm perfectly aware that this is not the latest version.  However, I've seeked for the string assertNotEquals inside the Github web interface and found the according hits so I expect the problem to persists even in the latest release.
Kind regards, Andreas.

3.12 is not supported yet.
I've added this item in https://github.com/Azure/azure-cli/issues/27673


add Palora.vercel.app

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[x] I used the uncompressed size of the site
[x] I have included a link to the GTMetrix report
[ ] The domain is in the correct alphabetical order
[x] This site is not a ultra lightweight site
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[ ] Check to confirm

- domain:
  url:
  size:
  last_checked:

GTMetrix Report: https://gtmetrix.com/reports/palora.vercel.app/qpTsAkfC/

Missed this during the review, but the domains should be ordered alphabetically.

done!

LGTM!


Helm upgrade takes a long time for frequently upgraded apps that have large values

For apps that have a large values file upgrades are taking a lot time and memory when they have been upgraded quite a few times.
Repro

Create a helm release for a sample application doesn't need to have too many resources, just having a large values file (~2000 lines) should be enough.

Each time you try to do helm upgrade, helm will use more memory because it loads up all the revisions that have been made before doing an upgrade, this is a lot of data.

Potential Solution

Since revisions are stored as kubernetes secret and there is no way of limiting the data coming from kubernetes, we can try to introduce something that cleans up old revisions in the helm upgrade itself. For example, having the ability to keep the latest 20 past revisions would be great.

helm upgrade has the --history-max flag for this. It defaults to 10.

I am using the golang package but that seems to have this as well. Thanks for the responding to this. I'm closing this.


Thoughts on a getDataBindings method for React components?

I was wondering if you'd thought of providing finer grained subscriptions to data change events?
As it stands the current approach
let app = new Microcosm()

// Add a callback
app.listen(callback)

would require a complete render of your entire application from the root React component.
This works for simple applications but once you start buildings larger applications or have a high
frequency of change events it will struggle.
Have you seen how nuclear-js handles this case? It has a getDataBindings method on the
React components that specify what the components are interested in. This is similar to GraphQL.
The approach of having view controller components declare what data they need seems a sensible
one.

This sort of a system could be provided by using Baobab btw.

Yes! This has definitely been on my mind. My answer at first was just to use smart shouldComponentUpdate methods with immutable data structures, however that's not satisfactory for every use case.
It's definitely a concern, I just haven't figured out the right way to handle it yet. I really need to dig deeper into NuclearJS. We share a lot of similar ideas and I have a lot of respect for it.

Okay. I like getDatabindings quite a bit. We don't have any answer for Nuclear's getters, but I've definitely played around with the idea of passing a "change set" with every event emission. This would look something roughly like:
app.listen(function(state, changeset) {
    // changeset = { user: { id_hash : { name: 'Fiz' }
})

You could then operate upon that change set to make a decision about how to update state.
However this requires pretty intimate knowledge of the underlying data layer. We could do this quite easily with Foliage, which Microcosm uses as a data layer out of the box. However we'd need to handle non-traditional data libraries too. This is why I've more or less punted on the idea. Additionally, you basically end up doing the same comparison as shouldComponentUpdate.
Back to "getters". This is a very cool idea. If we added a DSL for that, only updating when the computed values change,  would that be sufficient?
I think either way, this would be a pretty cool addition, one that we could layer on without too many ramifications.
What is the most attractive option for you?

I'm not currently using microcosm I'm just evaluating what I believe are the best libraries of the new crop of Flux implementations. I've nuclear-js, redux, microcosm and cerebral in that list but I haven't yet made a decision as to which is best. I think part of the problem is that I haven't fully specified the features I'd want from the best of breed modern flux implementation. So maybe I'm opening this issue prematurely.
I think what would be most helpful to each of the maintainers of these implementations is a clear specification and reasoning for the choices in the specification. I might just go a write up something and get back to you once I've done that.
For what it's worth I would recommend against the changeset idea (ugly code to check if the data you are interested in has changed).

Back to "getters". This is a very cool idea. If we added a DSL for that, only updating when the computed values change, would that be sufficient?

I'm not sure what you mean by a DSL but the getters approach is what I'd prefer from a flux implementation. The view controller explicitly listing it's data dependencies is a nice idea and resonates with how GraphQL/Relay works.

I don't understand why Foliage exists, is there a problem with Baobab?

Thank you for your thoughts and I'm thrilled that Microcosm has made your short list.
DSL was a poor (and inaccurate) choice of words. "Plumbing", or mimicking NuclearJS might have been more accurate. I am particularly excited to dig into this, it's one of the final problems we haven't really stated an opinion on.
What I'm about to say is something I should probably really document better. I'll make a note to do it after this comment.
Microcosm's original goal was to provide state isolated flux in a way that was easily embeddable in libraries. I found myself wanting a flux on complicated React component libraries (like photo galleries or rich text editors), and found the framework space lacking. I did not anticipate that the concepts within Microcosm (stateless stores, centralized application data) would grow to be very attractive for larger applications.
This brings me into one of the opinions of Microcosm, which is to keep it small and extendable. This is to mitigate conceptual overhead, "framework expertise", and (less importantly) bloat as much as we can. I want to lean on JavaScript as much as I can so that; to enforce patterns in Microcosm instead of framework specific specific code. One of the great things about Microcosm right now is that you can completely remove it and you are still left with the majority of your code as pure JavaScript.
This has a tremendous benefit benefit for embeddability, but it runs against feature parity with other frameworks and out-of-the-box support for larger apps. It's definitely on our radar, particularly after witnessing the success of the Microcosm's concepts on small to medium sized apps (and greater acceptance in the community as "good ideas".
That sort of brings me into Foliage, which is currently the "data layer" for Microcosm.  I created Foliage because I found myself wanting an extremely lightweight immutable data store that behaved loosely similarly to a cursor library such as Baobab. It has been very useful in the libraries we've built it with.
This is not to say anything against Baobab. I think it is a fantastic library; the first I would consider if taking a cursors approach.
As we generalize Microcosm for larger, stand-alone applications, Foliage's utility quickly diminishes. ImmutableJS pretty much replaces all use cases for Foliage on medium+ projects. I'd like to decouple Foliage from Microcosm in a future release.
Sort of as a final note, specifying data needs, similarly to GraphQL or otherwise, is not a problem we have attempted to solve yet, although it is being discussed at Viget quite a bit as the desire to use Microcosm on larger projects is becoming more frequent.
That was a longer comment than I anticipated, however I love to talk about this stuff. If you are willing to share, I would greatly appreciate learning more about the needs you have for your particular project. Having more information about how to accommodate real world demands on larger applications (outside of our own) is important for making the best Flux implementation we can.

I figured you didn't mean DSL. Now I understand.
Interesting that you were looking for a flux implementation that would work for complex components, I blogged a bit about the problems (old blog so of low value now) with flux in such a context. It looks to me like many others came across the same issues and took similar paths to solve them.
I don't know if using a single Microcosm for large applications is an approach I'd take, I can envision clashes between instances of the same component when triggering actions.
I like the fact that Microcosm doesn't expect you to write code that is coupled to the framework.
Sadly I won't be able to use any of these flux implementations for my current project as it's already shipping and there is no interest in creating new components or in rewriting old ones. I just wanted to make sure I understood the pros and cons of these flux implementations. Hence my comment about a specification.
When I get enough flesh on it so that it might explain the use cases I have in mind for complex applications I'll create a new issue in the repo to see what your thoughts are on it. Until then I'll close this issue as it's not fully fleshed out yet.


Create ZS

测试使用，无需查看，如有打扰，敬请谅解

Please don't test on public repos!  Not helpful to anyone 😟


snapmirror dashboard bugs

As Reported in slack by Gaël CANTARERO.
the count of SVM-DR relationship is not correct. It must be specified :group_type="vserver" and not "svm".
For the volume, its's not group_type="vol" but group_type="none"
And for the relationship status, is_healthy="false" must be replaced by healthy="false"

Reopening to solve another bug as reported on slack by Gael.
One more thing, in the same dashboard I edited the "last transfert panel" because all the relationships were seen twice (once for the duration and once for the lag time). I modified the A query like this : avg(snapmirror_last_transfer_size{datacenter="$Datacenter",cluster="$Cluster"}) by (relationship_id) so all the relationships are seen once with the correct values for all the fields.

is_healthy changed to healthy, svm changed to vserver and vol changed to none.
build: harvest-21.11.0-1.x86_64
[root@scspb2569484001 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep healthy
          "expr": "count (count by (relationship_id) (snapmirror_labels{datacenter=\"$Datacenter\",cluster=\"$Cluster\",is_healthy=\"false\"}))",
      "title": "Unhealthy",
                    "text": "Unhealthy",
              "is_healthy": false,
              "is_healthy": 14,
              "unhealthy_reason": 15
              "is_healthy": "Health",
              "unhealthy_reason": "Error"

[root@scspb2569484001 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep group_type | grep vol
          "expr": "count (count by (relationship_id) (snapmirror_labels{datacenter=\"$Datacenter\",cluster=\"$Cluster\",group_type=\"vol\"}))",

[root@scspb2569484001 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep group_type | grep svm
          "expr": "count (count by (relationship_id) (snapmirror_labels{datacenter=\"$Datacenter\",cluster=\"$Cluster\",group_type=\"svm\"}))",

build:  harvest-22.02.0-2.x86_64
[root@scspb2569456002 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep healthy
          "expr": "count (count by (relationship_id) (snapmirror_labels{datacenter=\"$Datacenter\",cluster=\"$Cluster\",healthy=\"false\"}))",
      "title": "Unhealthy",
                    "text": "Unhealthy",
              "healthy": false,
              "healthy": 14,
              "unhealthy_reason": 15
              "healthy": "Health",
              "unhealthy_reason": "Error"

[root@scspb2569456002 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep group_type | grep svm
[root@scspb2569456002 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep group_type | grep vserver
          "expr": "count (count by (relationship_id) (snapmirror_labels{datacenter=\"$Datacenter\",cluster=\"$Cluster\",group_type=\"vserver\"}))",

[root@scspb2569456002 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep group_type | grep vol
[root@scspb2569456002 harvest]# cat grafana/dashboards/cmode/harvest_dashboard_snapmirror.json | grep group_type | grep none
          "expr": "count (count by (relationship_id) (snapmirror_labels{datacenter=\"$Datacenter\",cluster=\"$Cluster\",group_type=\"none\"}))",


Fixed #34787 -- Fixed autoreloader crash when run from installed script on Windows.

@jp-larose can you confirm whether this change would fix the issue as described in your ticket? https://code.djangoproject.com/ticket/34787 :pray:

Yes, this fixes the issue I reported.  The exe works with the runserver subcommand.
The new Django version broke something in wagtail, but I'm not convinced it has anything to do with this patch.

Yes, this fixes the issue I reported. The exe works with the runserver subcommand.

:partying_face: whoo hoo! Thank you for testing :star:

The new Django version broke something in wagtail, but I'm not convinced it has anything to do with this patch.

I also wouldn't expect it to be driven by this change. Django 5.0 alpha will be released Sept 18th (so a couple of weeks) and it might make sense for someone from the Wagtail team to do some testing (cc @laymonage - sorry if you're not the right person to ping :heart:). It might be expected stuff based of deprecations but if it's a bug in Django, I'm sure they'll let us know :bird:

@sarahboyce Many thanks :+1:


Integrate light emission

This draft serves to integrate the functionality to simulate light sources with the LightEmission package of sim_telarray within simtools.

Running the example with two different configs:

% Configuration file for a NectarCam MST in Prod-3 (CTA-ULTRA6 setup).
% ModelVersion: 2024-02-01 % TelescopeModelName: MSTN-design North

Preprocessor command: /workdir/sim_telarray/sim_telarray/bin/pfp -v -I. -DNUM_TELESCOPES=1 -DWITH_LOW_GAIN_CHANNEL -DMAX_GAINS=2 -DWITH_GSL_RNG -DSIMTEL_VERSION=1709915244 -DSIMTEL_RELEASE=20240780 -I../cfg/CTAiobuf_maximum=1000000000 -I. -I/workdir/sim_telarray/sim_telarray/cfg -I/workdir/sim_telarray/sim_telarray/cfg/common -I/workdir/sim_telarray/sim_telarray/cfg/hess -I/workdir/sim_telarray/sim_telarray/cfg/hess2 -I/workdir/sim_telarray/sim_telarray/cfg/hess3 -I/workdir/sim_telarray/sim_telarray/cfg/hess5000 -I/workdir/sim_telarray/sim_telarray/cfg/CTA -I/workdir/sim_telarray/sim_telarray/cfg/MAGIC -DMAX_GAINS=2 -DTELESCOPE=4 - < /workdir/external/simtools/simtools-output/light_emission/model/CTA-North-MSTN-design-2024-02-01_light_emission.cfg
Applying 0 weak command-line configuration parameter(s).
Check additional configuration for telescope 4 from /workdir/external/simtools/simtools-output/light_emission/model/CTA-North-MSTN-design-2024-02-01_light_emission.cfg.
Configuration for MSTN-design - TELESCOPE 4
132 configuration lines were processed.
Applying 12 forced command-line configuration parameter(s).

Compraing the output of simtel_array command += super()._config_option("show", "all") below: (Not comparing camera settings as these are different analog_sum and majority) and ignoring lower part of configs (up to line 350 approx).

   Element name      Type    Elements  Lower b. Upper b.  Initial  Current
    ARRAY_TRIGGERs    Text     4095                        none                           Current:   none and     ARRAY_TRIGGERs    Text     4095                        none                           Current:   array_trigger_prod6_lapalma_4_26_0.dat
    IOBUF_OUTPUT_MAXimum                     Long     1        100000             20000000 400000000
    TRIGGER_CURRENT_LIMIT                       Double   1                           20.0     20 (2000)
    TRIGGER_PIXELs    Int      1        1                  4        4  (3)
    TRIGGER_TELESCOPES                       Int      1        1                  2        1 (2) - set to 1 with -C now
    TELTRIG_MIN_TIME  Double   1        0.       10.       1.5      0.5 (1)
    TELTRIG_MIN_SIGSUM                       Double   1        0.       1000.     7.8      7.8 (0) - can't overwite with -C option

If I set the   -C option command += super()._config_option("ARRAY_TRIGGERs", "None") it gets ignored. If I remove the line in the config manually it gets updated before running the application.
If I add a function within the light-emission code to remove the line, the telescope triggers, as previously when using the remove_paramter:

Event 100 has triggered!
Camera offset from nominal source = 0.00 cm, 0.00 cm
E= 0.000 TeV, r=   0.00 m; Size= 2540.6 (193 pix.); width= 1.3903, length= 1.5293, dist= 0.1404, miss= 0.1365, alpha= 76.355 deg., Xmax=800.000, hmax=2241.71
...
Telescope 1 triggered (1/0/0/0, mask 1), summation from 41 to 100 of 128
Event end data has been found.
Shower of 0.0000 TeV energy was seen in 1 of 1 cases.
Photon statistics:
All photons:                35136
Used photons:               35136
Not absorbed/max. Q.E.:     11085
Reflected on mirror:         1599
Camera hit:                  1567
Pixel hit:                   1567
Detected:                    1313
Trigger statistics:
Tel. triggered:             1
Tel. + array:               1
Early readout:              0
Late readout:               0
Finish data conversion ...
Writing 13 histograms to output file.
Closed output file.
Finished.
Writing histograms to file 'ctsim.hdata'.
Histograms saved to 'ctsim.hdata'.

However the output still looks different to previous results, and the trigger is not catching correctly the light emission. TELTRIG_MIN_SIGSUM set to 0 is correct?
The camera seems now to record mainly nsb (too large integration window etc.). Compare for instance the photon statistics for the light source at 4km distance:

Photon statistics:
All photons:                35136
Used photons:               35136
Not absorbed/max. Q.E.:     11085
Reflected on mirror:         1599
Camera hit:                  1567
Pixel hit:                   1567
Detected:                    1313
Trigger statistics:
Tel. triggered:             1
Tel. + array:               1
Early readout:              0
Late readout:               0
Finish data conversion ...

to the total p.e. in the camera :
total p. e. reco: 7352746.0

Running the example with two different configs:
1. % Configuration file for a NectarCam MST in Prod-3 (CTA-ULTRA6 setup).

What does this mean? How and where do you set Prod3? This is very very outdated.

2. % ModelVersion: 2024-02-01 % TelescopeModelName: MSTN-design North

Preprocessor command: /workdir/sim_telarray/sim_telarray/bin/pfp -v -I. -DNUM_TELESCOPES=1 -DWITH_LOW_GAIN_CHANNEL -DMAX_GAINS=2 -DWITH_GSL_RNG -DSIMTEL_VERSION=1709915244 -DSIMTEL_RELEASE=20240780 -I../cfg/CTAiobuf_maximum=1000000000 -I. -I/workdir/sim_telarray/sim_telarray/cfg -I/workdir/sim_telarray/sim_telarray/cfg/common -I/workdir/sim_telarray/sim_telarray/cfg/hess -I/workdir/sim_telarray/sim_telarray/cfg/hess2 -I/workdir/sim_telarray/sim_telarray/cfg/hess3 -I/workdir/sim_telarray/sim_telarray/cfg/hess5000 -I/workdir/sim_telarray/sim_telarray/cfg/CTA -I/workdir/sim_telarray/sim_telarray/cfg/MAGIC -DMAX_GAINS=2 -DTELESCOPE=4 - < /workdir/external/simtools/simtools-output/light_emission/model/CTA-North-MSTN-design-2024-02-01_light_emission.cfg

Thanks Gernot for the review and the comments. I have adressed the remaining ones. Going to merge then as soon as the tests have passed.


Suggestion: Click on text to edit and click on the checkbox to set done

At the moment, when i click on the list of a list item it sets the whole item as done. When i want to edit the item, i have to use the button.
So what do you think about the following:

To mark an item as done, the user has to click on the checkbox.
To edit the text of an item the user has to click on the text. (i would maybe throw out the edit button afterwards? )

I agree, such usability improvement makes sense. it happens that unintentionally I marked item as done. It shouldn't be so easy ;)

To mark item as done - use checkbox. Text of item can be selected. To edit item press edit button. This is how it works in v1.7.0. I think it's optimal :) I encourage to check it out 👍


Hide custom registry Key/Value and Task Scheduler Tasks

Hi
i made registry key/value and task in task scheduler without $77 in their names
i was not able to hide them by adding their path to "HKLM\SOFTWARE$77config\paths"
as you know there is some keys in registry that can't name them ourselves
but we maybe want to hide them (without losing their functionality)
will this be possible in future updates?

Hiding registry keys or values has medium to critical performance impact depending on how long it takes to process one item.
Let's say your registry key has 10 values, then the HookedNtEnumerateKey hook is triggered 10 times. Each time the hook is triggered, we need to iterate through the parent registry key up until the currently enumerated value is reached. This is due to the way the NT api handles registry enumeration.
Now, there is only a string comparison for the prefix. If we added string comparison for a list of names in addition, then the cost for each iteration would bring down OS performance, because registry queries are executed thousands of times per second by many processes.
Since r77 is designed to be stealth to the user, I prioritize performance in this case. But if you like to contribute, you could take a run and try out adding a registry key/value list in the configuration system, and hiding those. The right place in the code should be fairly easy to find and modify.
By the way, scheduled tasks are hidden implicitly by hiding their files. So, finding the full path and hiding that should do the trick. But it has to be the full absolute path to the job file.

If we added string comparison for a list of names in addition, then the cost for each iteration would bring down OS performance, because registry queries are executed thousands of times per second by many processes.

as you know many people are using process hacker or process explorer instead of task manager
but i guess nobody uses something else instead of windows default registry editor (regedit / regedt32)
you can set that ability to only hide the value / key from registry editor!
then system performance will not be slowed anymore


docs: Create language-specific pages

I'm marking this as draft because it should be merged last, as it removes the Go, Python, TypeScript categories from the sidebar. However it can be reviewed and approved.

Noting that after this merge, the sidebar will be slightly weird because it will have these single pages, plus "Develop with Go/Python/TypeScript" categories. So this PR should be immediately followed by another one to remove those categories, assuming they are fully converted. Alternatively this could be the last PR merged after all other pages are converted, and in this case the sidebar could be updated (after rebase) to remove those categories from the tree.

We decided not to have any language-specific pages. This information will be transferred to common pages in separate PRs.


Initial version of pfs-swift-load tool... only PUT case supported

I don't intend on merging this into development until the aforementioned remaining options are implemented... those shouldn't take too long fortunately now that the framework is in place and the PUT case is already complete (save for sending non-zero Content-Length of course).


Stop ctrl-v from propagating to parent canvas in [messbox]

uses bindtags and break to stop ctrl-v from propagating to parent canvas. also gives focus to/from messbox and parent canvas appropriately. closes #1013

Thanks for the PR :) It seems this also fixed an annoying issue I had, when typing into the object and then creating a new object with a shortcut and typing into the new object. In this case the messbox would be active and still respond to the keys when I typed into the new object.
What happens now, on the other hand, is that I have a new object and can't type into it like I normally do when creating the object with a shortcut. I'm still typing into the message box and that is not intuitive. What I have to do is explicitly click into the new box I created with the shortcut and start typing into it.
Now, this behaviour is actually exactly the same as if I have an active symbol box that I'm typing into, or an atom box or number box. So this is fine!
What is good is that atom boxes and the number GUI have a visual cue to tell us they are active. Well, [messbox] also has one, but it is quite modest I'd say, it's just the cursor blinking. Maybe I'll add something else like a thicker border.

Now,  I may have other issues I'm struggling with in this object and I could ask for your help, what do you think? :)

Actually, here's one already... https://github.com/porres/pd-else/issues/1017

Actually, here's one already... #1017
Like I say there, an enter key gets you to a new line and this could be done with "shift + enter". But I'm just having a hard time achieving this :/


Unable to invoke angular cli from locally built version

Describe the problem that you experienced
After following the instructions on https://github.com/angular/angular/blob/main/docs/DEVELOPER.md#building-and-serving-a-project, the project builds and links as expected. But when moving to the other project and running BAZEL_TARGET="1" node --preserve-symlinks node_modules/.bin/ng serve, I get the following error:
Error: Cannot find module<EMAIL_ADDRESS>Please verify that the package.json has a valid "main" entry
    at tryPackage (node:internal/modules/cjs/loader:436:19)
    at Module._findPath (node:internal/modules/cjs/loader:678:18)
    at Module._resolveFilename (node:internal/modules/cjs/loader:1061:27)
    at Module._load (node:internal/modules/cjs/loader:920:27)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/Users/rafasiqueira/Work/angular-cli/dist/releases/angular/cli/src/utilities/config.js:34:16)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32) {
  code: 'MODULE_NOT_FOUND',
  path<EMAIL_ADDRESS>  requestPath: '@angular-devkit/core'

Indeed inside that folder I only see a index.ts, no index.js.
Enter the URL of the topic with the problem
https://github.com/angular/angular/blob/main/docs/DEVELOPER.md

Please use
node --preserve-symlinks-main --preserve-symlinks<EMAIL_ADDRESS>serve


Tighten is_port()

is_port() should, from its name, validate a single port. A separate function is_portrange(), exists and validates colon-separated port ranges such as 1000:1999. However this function has severe issues. This PR fixes three of the main issues - the rest may need coming back to later:

is_port() validates any ':' separated list of ports as "a port", even if the calling routine wants to validate that the data represents one single port. This can cause errors in $config[], pf or the calling code.

is_port() also treats ':' ambiguously. If '1:6' means a port range, what does '1:6:9' mean, which is also validated by is_port() if entered in the GUI at many points? (Obviously malformed but validates)

is_port() returns false for port 0.  While undefined, port 0 exists and has well-known security implications and users must be able to specify it where appropriate (if the OS or s/w blocks it that's a different issue, but the user needs to be able to refer to it or specify packet capture or logging rules on it!)

Eg:
http://www.pcworld.com/article/2061080/spike-in-traffic-with-tcp-source-port-zero-has-some-researchers-worried.html
https://tools.cisco.com/security/center/viewAlert.x?alertId=19935
http://grc.com/port_0.htm
I've searched the codebase for calls to is_port().  There are only about ~30 or so instances, and none of therm seem to obviously expect to test anything except one, single port. So I think the explode/foreach part is an error, it makes sense in is_portrange() but not in is_port(). I've cut is_port right down to simply validate one numeric port (0-65535) or hard-coded definition, which seems to be what this function is actually meant to be doing.

After one year it was not changed, closing it.


Update dependencies

Motivation and Context

~TypeScript target ES2018 -> ES2022~
Support<EMAIL_ADDRESS>
TODO:

Investigate TypeScript Node16 / NodeNext configurations

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Refactor (no bug fix and new feature but improvements)

Checklist:

[ ] My change requires new tests.
[ ] I have added tests to cover my changes.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Now investigate ESLint plugin support for imports field so as to get rid of .js extension again.
(TypeScript 4.7 already supports that)

Depends on:
https://github.com/microsoft/TypeScript/issues/49308


Fix Rank > 1 Display Strings for Natvis

This PR fixes the display string for ArrayItems with Rank > 1 when the "[More...]" is expanded.
Before "[More...]" will expand starting at [0,0] instead of [0,50] for the first expansion since the offsets are at 50.
This change updated the call to GetDisplayNameFromArrayIndex from just index which would always start at 0, to startIndex + index to include the offet.
Added a test to cover this case and refactored the Matrix Natvis syntax to use rol/col instead of random behavior.
Fixes: #1403

Flaky test failing.


Unable to create regional cluster

<EMAIL_ADDRESS>export const k8sCluster = new gcp.container.Cluster('gke-cluster', {
  initialNodeCount: 1,
  nodeVersion: 'latest',
  minMasterVersion: 'latest',
  nodeConfig: {
    machineType: 'n1-standard-1',
    oauthScopes: [
      'https://www.googleapis.com/auth/compute',
      'https://www.googleapis.com/auth/devstorage.read_only',
      'https://www.googleapis.com/auth/logging.write',
      'https://www.googleapis.com/auth/monitoring',
    ],
  },

  // regional cluster
  location: 'us-central1',
  nodeLocations: ['us-central1-f', 'us-central1-b'],
})

  gcp:container:Cluster (gke-cluster):
    error: gcp:container/cluster:Cluster resource 'gke-cluster' has a problem: : invalid or unknown key: location
    error: gcp:container/cluster:Cluster resource 'gke-cluster' has a problem: : invalid or unknown key: node_locations

This should be possible based on #119

I'm also using location in node pool, and that seems to error as well.
new gcp.container.NodePool(
      name,
      {
        cluster: this.instance.name,
        project,

        location,

        nodeCount: (1 + nodeLocations.length) * initialNodeCount,
        nodeConfig: {
          machineType: config.get('machineType') || 'n1-standard-1', // prod: n1-standard-2
          oauthScopes: [
            'https://www.googleapis.com/auth/devstorage.read_only',
            'https://www.googleapis.com/auth/logging.write',
            'https://www.googleapis.com/auth/monitoring.write',
            'https://www.googleapis.com/auth/pubsub',
            'https://www.googleapis.com/auth/service.management.readonly',
            'https://www.googleapis.com/auth/servicecontrol',
            'https://www.googleapis.com/auth/trace.append',
            'https://www.googleapis.com/auth/monitoring',
            'https://www.googleapis.com/auth/cloud-platform',
            'https://www.googleapis.com/auth/devstorage.full_control',
            'https://www.googleapis.com/auth/sqlservice.admin',
            'https://www.googleapis.com/auth/userinfo.email',
          ],
        },
        management: {
          autoRepair: true,
          autoUpgrade: true,
        },
      },
      { parent: this, dependsOn: [this.instance] },
    )

I can't reproduce either of these using the latest plugins. I suspect what is happening is that you have both the latest and an older version of the plugin installed, and the older one is getting selected. This manifests as a runtime error since the TypeScript is compiled against the intended target. In other words, it would be resolved by pulumi/pulumi#2389.
To work around this in the short term, I think all components throughout the entire stack need to be using the latest version of the GCP provider SDK.

Confirmed the cause is https://github.com/pulumi/pulumi/issues/2389, thank you.
From slack

check plugins pulumi plugin ls (many old versions)
rm -rf node_modules
pulumi plugin rm --all

check plugins again - should be latest pulumi plugin ls

Reopening because I am unable to workaround the plugin versioning.
After a rebuild with initial yarn, the plugins are confirmed good:
~/p/advisorIntake ❯❯❯ pulumi plugin ls
NAME        KIND      VERSION  SIZE   INSTALLED       LAST USED
gcp         resource  0.18.2   64 MB  54 seconds ago  now
kubernetes  resource  0.22.0   45 MB  54 seconds ago  now
random      resource  0.5.1    27 MB  54 seconds ago  now

Then I ran pulumi up on a stack with the following dependencies:
"@pulumi/gcp": "^0.18.2",
"@pulumi/kubernetes": "^0.22.0",
"@pulumi/pulumi": "^0.17.4",
"@pulumi/random": "^0.5.1"

I then notice that pulumi up installed the older<EMAIL_ADDRESS>plugin:
pulumi plugin ls
NAME        KIND      VERSION  SIZE   INSTALLED       LAST USED
gcp         resource  0.18.2   64 MB  1 minute ago    now
gcp         resource  0.18.0   64 MB  13 seconds ago  7 seconds ago
kubernetes  resource  0.22.0   45 MB  1 minute ago    now
random      resource  0.5.1    27 MB  1 minute ago    now

What is bizarre is this originally worked briefly (a few hours), then stopped working.  Now I cannot use the code written for the regional cluster.

@rosskevin Could you share what is in the manifest header of the results of pulumi stack export?  Does it include references to 0.18.0 of the GCP provider?  If so, I believe this is caused by https://github.com/pulumi/pulumi/issues/2576.

Yes, it has it.  The stack was up previously, I've just been omitting/adding back the cluster.
        "manifest": {
            "time": "2019-04-03T15:23:13.414846-05:00",
            "magic": "4c9e3af950abf0bb06246576f7dddc0b09f84e5b925a0be3d28d7b943f3cfe41",
            "version": "v0.17.4",
            "plugins": [
                {
                    "name": "nodejs",
                    "path": "/usr/local/bin/pulumi-language-nodejs",
                    "type": "language",
                    "version": "0.17.4"
                },
                {
                    "name": "gcp",
                    "path": "/Users/kross/.pulumi/plugins/resource-gcp-v0.18.0/pulumi-resource-gcp",
                    "type": "resource",
                    "version": "0.18.0"
                }
            ]
        },

I'll try a full destroy and see if that allows me to workaround for the moment.

Okay - sounds like this is directly caused by https://github.com/pulumi/pulumi/issues/2576 then.

I hand edited manifest and imported, I'll see if that works

Hand edit + import then pulumi up made the plugin come back.  I'll destroy and start with 0.18.2

Hand edit + import then pulumi up made the plugin come back. I'll delete the stack and start with 0.18.2

Can you provide some more details on this? In particular, if you run pulumi preview --logtostderr -v 7 2> err.txt, err.txt should contain logs that indicate exactly why the engine needed a particular plugin. If you could do that and provide the logs, that would be super helpful for understanding why the plugin comes back.

I deleted the stack already.  It is clear that hand editing the manifest + import had no impact.  The next pulumi up had manifest back at the older 0.18.0.

It is clear that hand editing the manifest + import had no impact. The next pulumi up had manifest back at the older 0.18.0.

Right - the log gathering is to understand why that happened. I'll try to work on a repro, but what is supposed to happen is that the plugins required by the language host (i.e. the ones in your package.json) override everything else for the purposes of new resources.

I think I'm having the same/similar issue as @rosskevin .  I was getting messages about 'region' being deprecated.  So I went through our cluster code, updated references to region to the new location.  Running preview against 3 different stacks gives me 3 different outcomes.  One, no changes.  Another 'missing key' like @rosskevin .  Yet another, it wants to replace a node pool and shows the change as deleting the region attribute and adding the location.

Current state of my stack:
 pulumi preview
Previewing update (MINDBODY-Platform/alpha):

     Type                             Name            Plan     Info
     pulumi:pulumi:Stack              viserion-alpha
 >   ├─ pulumi:pulumi:StackReference  identityStack   read
     └─ gcp:container:Cluster         alpha                    1 error

Diagnostics:
  gcp:container:Cluster (alpha):
    error: gcp:container/cluster:Cluster resource 'alpha' has a problem: : invalid or unknown key: location

After reviewing the stack file there is a reference to gcp provider 0.16.6.  So I removed it - why not.  Imported the file then it does this:
Previewing update (MINDBODY-Platform/alpha):

     Type                             Name                      Plan        Info
     pulumi:pulumi:Stack              viserion-alpha
 >   ├─ pulumi:pulumi:StackReference  identityStack             read
 +-  ├─ gcp:container:Cluster         alpha                     replace     [diff: +enableBinaryAuthorization,enableTpu,location-region~addonsConfig,ipAllocationPolicy,masterAuthorizedNetworksConfig,networkPolicy,privateClusterCon
 +-  ├─ gcp:container:NodePool        k8s-node-pool-private     replace     [diff: +location-region~autoscaling,management,name,nodeConfig]
 +-  └─ gcp:container:NodePool        k8s-node-pool-monitoring  replace     [diff: +location-region~autoscaling,management,name,nodeConfig]

Resources:
    +-3 to replace
    26 unchanged

Changed it back but this is making migrating the provider untenable.

I was looking for an old issue I created and bumped into this one and saw it was open.  I'm no longer having problems with regional clusters so I'm going to close this for now, until I bump into it again.  https://github.com/pulumi/pulumi/issues/2576 is resolved so perhaps that was indeed the cause.


[Feature][python] Implementing java interfaces from python callback

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
According to https://www.py4j.org/advanced_topics.html#implementing-java-interfaces-from-python-callback, we can add some interface we already define in Java code, so maybe we could add some {datasource, task, alert} plugin in python side
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I am interested in implementing this task