Add method to GetClassID

If you want to extend a built-in class you need it's class ID and there
is no robust way to get that without this accessor.

Isn't 0 a valid class ID?

No class IDs start at 1 (well actually higher) AFAIK

https://github.com/quickjs-ng/quickjs/blob/master/quickjs.c#L118
Class IDs explicitly start at 1

If it helps, I am happy to define a constant for INVALID_CLASS_ID
Honestly this whole project could use a lot more documentation (I would be happy to add more comments to header for stuff if that's desirable)

If it helps, I am happy to define a constant for INVALID_CLASS_ID

I like this idea!

Honestly this whole project could use a lot more documentation (I would be happy to add more comments to header for stuff if that's desirable)

Yes indeed. I started working in it but I need to get back to it. The idea is to get some scaffolding going so we can then gradually add more.

I like this idea!

Whoot! Done 😄

The idea is to get some scaffolding going so we can then gradually add more.

Are you talking about Doxygen? Honestly just comments in the header would be fine for me, but I understand other may prefer a web browser for docs.

I'm leaning towards Docusaurus indeed.

I'm leaning towards Docusaurus indeed.

Looks good indeed from the comments and it would be nice to use quickjs instead of node to run it and construct the website, but given the number of module dependencies, this seems impossible :)
Also I could not find in the guides how to generate documentation directly from C or javascript source code ala doxygen.

You would have to use doxygen to output XML then convert that into markdown or whatever format docusarus likes

https://github.com/sourcey/moxygen looks like a interesting project

I'm leaning towards Docusaurus indeed.

Looks good indeed from the comments and it would be nice to use quickjs instead of node to run it and construct the website, but given the number of module dependencies, this seems impossible :)
Also I could not find in the guides how to generate documentation directly from C or javascript source code ala doxygen.

You need Node indeed.
The idea is not to auto-generate docs, but to write comprehensive documentation.
The header file could indeed have a concise version.

The idea is not to auto-generate docs, but to write comprehensive documentation.

Not that I have really any weight in the matter, but I recommend checking out https://diataxis.fr/ if you're not familiar. There are 4 main use cases for technical documentation.
Tutorials, How tos, conceptual, and reference. I think conceptual isn't needed because there is plenty of good existing documentation on how javascript works conceptually. I think a tutorial and some how-tos on how to embed quickjs would be awesome (also personally what I've been trying to figure out). That's all great content for Docusaurus. There is a way to just do this all in Github, not that I'm advocating for that. For example, the examples today don't show how to embed quickjs - it'd be nice to have some simple tutorial/how to for that.
There is still a need for reference documentation, which for C is best (IMO) put in the header (you can also generate it, but I am not sure that's worth it). As I've needed and been learning about quickjs I'll send small patches for better documentation in quickjs.h - I hope that's OK. But certainly they all are useful.


DLE instance DNS record broken after instance stop/start needed to change intance size

additional Elastic IP should be introduced in TF templates

Hi @ypadlyak, could you please provide a step-by-step guide to reproduce the error?

But first, you must stop Putin, as he is killing us here in Ukraine as we speak. Running to the basement with my family and my 1y.o. daughter every now and then here in Lviv on air raid sirens. In other cities, there are rocket strikes killing civilians happening around the clock. Check it out here: https://t.me/UkraineNow, there are russians speaking. This is happening Kharkiv today: https://t.me/UkraineNow/3240

@ypadlyak hi, Postgres.ai founder here.
What's happening right now is absolutely terrible, it is, by all means, a crime against the world, humanity.
We're on your side, fighting with Putin's criminal regime (and it hasn't started last week, but now it's black and white, no more half-tones).
Please, stay strong and safe ❤

I am closing this issue as it no longer appears relevant. If this is not the case, feel free to reopen it.


URL Shortener

I would like to work on this issue.
Script Title - Shortening of the URL by taking URL from user.
what will change -
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md in your folder for program Instructions
add requirements.txt if needed

Please add/delete options that are not relevant.

[✓] Adding New Code
[✓] Improving Documentation
[✓] Bug Fix

Programming Language

[✓] Python

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server  - https://discord.gg/FXyh2S3
Happy Coding,

I would like to work on this issue.


fix tri stub unary method overload

What is the purpose of the change
fix https://github.com/apache/dubbo/issues/13142
and the https://github.com/apache/dubbo/pull/13155 can merge
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (6194b43) 69.58% compared to head (0aba551) 69.53%.
Report is 6 commits behind head on 3.2.

Additional details and impacted files
@@             Coverage Diff              @@
##                3.2   #13385      +/-   ##
============================================
- Coverage     69.58%   69.53%   -0.05%
  Complexity        2        2
============================================
  Files          1653     1653
  Lines         71621    71621
  Branches      10268    10268
============================================
- Hits          49839    49805      -34
- Misses        17084    17113      +29
- Partials       4698     4703       +5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Credstash not runnable as an application

Issue description
After installing credstash with nix-env, running it raises a SyntaxError. It looks like Python is attempting to import a module from one of the wrapper bash scripts.
The bin directory has shell scripts credstash and credstash.py, each of which execs actual python code held in .credstash-wrapped and .credstash.py-wrapped. In .credstash-wrapped, it tries to load a Python module from the credstash.py shell wrapper, causing a SyntaxError.
$ nix-env --install --attr nixos.python27Packages.credstash
$ credstash setup
Traceback (most recent call last):
  File "/nix/store/rd4l1qkpx4qfzamh08a701nxr34kgjzr-python2.7-credstash-1.14.0/bin/.credstash-wrapped", line 8, in <module>
    from credstash import main
  File "/nix/store/rd4l1qkpx4qfzamh08a701nxr34kgjzr-python2.7-credstash-1.14.0/bin/credstash.py", line 2
    export PATH='/nix/store/d3aa78jf7pm9lk6ad67x4f21a068dxn6-python-2.7.15/bin:/nix/store/rd4l1qkpx4qfzamh08a701nxr34kgjzr-python2.7-credstash-1.14.0/bin:/nix/store/m4w6rq47p317klmfiixh844jrj6l6wla-python2.7-setuptools-39.2.0/bin:/nix/store/1ahzxgr72vf1za50m34rc3m3vx79n9jq-python2.7-jmespath-0.9.0/bin:/nix/store/ps9mlc8zrd5w10im7pwd6vlfrzxbzbqv-python2.7-docutils-0.14/bin'${PATH:+':'}$PATH
              ^
SyntaxError: invalid syntax

bin/.credstash-wrapped
#!/nix/store/d3aa78jf7pm9lk6ad67x4f21a068dxn6-python-2.7.15/bin/python2.7

# -*- coding: utf-8 -*-
import sys;import site;import functools;sys.argv[0] = '/nix/store/rd4l1qkpx4qfzamh08a701nxr34kgjzr-python2.7-credstash-1.14.0/bin/credstash';functools.reduce(lambda k, p: site.addsitedir(p, k), ['/nix/store/rd4l1qkpx4qfzamh08a701nxr34kgjzr-python2.7-credstash-1.14.0/lib/python2.7/site-packages','/nix/store/4lf8as80xw6x6wpbp26grmj5dxvjfd6d-python2.7-idna-2.7/lib/python2.7/site-packages','/nix/store/m4w6rq47p317klmfiixh844jrj6l6wla-python2.7-setuptools-39.2.0/lib/python2.7/site-packages','/nix/store/3js1s9557gx8xhd1a50zyv5zwkzr2kcf-python2.7-asn1crypto-0.24.0/lib/python2.7/site-packages','/nix/store/qm1ajzfan3fzy39yl1wyx7shs693rj3f-python2.7-packaging-17.1/lib/python2.7/site-packages','/nix/store/kimmvi74dnyjbl8i8xwf60z29szmxmh2-python2.7-pyparsing-2.2.0/lib/python2.7/site-packages','/nix/store/v9fvkmqs3j0dw43bhbjmakapc74jdjny-python2.7-six-1.11.0/lib/python2.7/site-packages','/nix/store/ikzm75zqzjvzkfqjsgny638ga1zr8x3y-python2.7-enum34-1.1.6/lib/python2.7/site-packages','/nix/store/9xghys844gq1lvz091m4fn2ds620k2wc-python2.7-ipaddress-1.0.18/lib/python2.7/site-packages','/nix/store/i726wa1h1831xn7i5xvdirjqmwr0mihn-python2.7-pycparser-2.18/lib/python2.7/site-packages','/nix/store/6ph0pq9inpbjm09ad8yrzh3ghar89x56-python2.7-cffi-1.11.5/lib/python2.7/site-packages','/nix/store/655sdqhcc0h3367585qfw9n55b7186jz-python2.7-cryptography-2.2.2/lib/python2.7/site-packages','/nix/store/65gj2v27ry7pkykhlhnpb9r2mqgnw5sd-python2.7-boto3-1.7.48/lib/python2.7/site-packages','/nix/store/mhlgk1jws791kx3hw7gdjhcv1f0ki08h-python2.7-botocore-1.10.48/lib/python2.7/site-packages','/nix/store/g9l0dlgz006fpdvjlnizn5qxr3g574d0-python2.7-python-dateutil-2.7.3/lib/python2.7/site-packages','/nix/store/x24bh0z3wmjpj71bnffldxk3q4qjy8nj-python2.7-setuptools_scm-2.1.0/lib/python2.7/site-packages','/nix/store/1ahzxgr72vf1za50m34rc3m3vx79n9jq-python2.7-jmespath-0.9.0/lib/python2.7/site-packages','/nix/store/lr51nbn3qgwm7aq2pq4x3b63drk9j3ry-python2.7-ply-3.11/lib/python2.7/site-packages','/nix/store/ps9mlc8zrd5w10im7pwd6vlfrzxbzbqv-python2.7-docutils-0.14/lib/python2.7/site-packages','/nix/store/bwl99y7vhh77g695ni9i3yljznvbq9w6-python2.7-ordereddict-1.1/lib/python2.7/site-packages','/nix/store/jjibsz0ypvza72m13rl6k2jkp02i2fmk-python2.7-simplejson-3.15.0/lib/python2.7/site-packages','/nix/store/z9s4p6x8r0r2b3djpyf464fybbmpn2b9-python2.7-s3transfer-0.1.13/lib/python2.7/site-packages','/nix/store/9850dqiinkks72vyb3ysab8wgnj4wa7z-python2.7-futures-3.2.0/lib/python2.7/site-packages','/nix/store/a4samxpliaszak5hs25jad47vqlhharx-python2.7-PyYAML-3.12/lib/python2.7/site-packages'], site._init_pathinfo());
import re
import sys

from credstash import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

bin/credstash.py
#! /nix/store/8zkg9ac4s4alzyf4a8kfrig1j73z66dw-bash-4.4-p23/bin/bash -e
export PATH='/nix/store/d3aa78jf7pm9lk6ad67x4f21a068dxn6-python-2.7.15/bin:/nix/store/rd4l1qkpx4qfzamh08a701nxr34kgjzr-python2.7-credstash-1.14.0/bin:/nix/store/m4w6rq47p317klmfiixh844jrj6l6wla-python2.7-setuptools-39.2.0/bin:/nix/store/1ahzxgr72vf1za50m34rc3m3vx79n9jq-python2.7-jmespath-0.9.0/bin:/nix/store/ps9mlc8zrd5w10im7pwd6vlfrzxbzbqv-python2.7-docutils-0.14/bin'${PATH:+':'}$PATH
export PYTHONNOUSERSITE='true'
exec -a "$0" "/nix/store/rd4l1qkpx4qfzamh08a701nxr34kgjzr-python2.7-credstash-1.14.0/bin/.credstash.py-wrapped"  "${extraFlagsArray[@]}" "$@"

I've repro'd with the Python 3 version as well.
Steps to reproduce
nix-env --install --attr nixos.python27Packages.credstash
credstash setup

Technical details

system: "x86_64-linux"
host os: Linux 4.14.54, NixOS, 18.09pre145679.dae9cf6106d (Jellyfish)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 2.0.4
channels(root): "nixos-18.09pre145679.dae9cf6106d"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

I've also repro'd on Ubuntu 18.04

A quick thought - try building it with dontWrapPythonPrograms = true; and see if that does the trick.

@peterhoeg It looks like setting dontWrapPythonPrograms = true; breaks dependency lookups. I set up an overlay to try it:
self: super: {
  pythonX = self.python.override {
    packageOverrides = self': super': {
      credstash = super'.credstash.overridePythonAttrs(old: rec {
        dontWrapPythonPrograms = true;
      });
    };
  };
}

and installed:
$ nix-env --install --attr nixos.pythonX.pkgs.credstash

But now I get:
$ credstash setup
Traceback (most recent call last):
  File "/home/ivan/.nix-profile/bin/credstash", line 7, in <module>
    from credstash import main
  File "/nix/store/r4xwdkm0077c52dvqkrsrvshjl0kxq9g-python2.7-credstash-1.14.0/bin/credstash.py", line 26, in <module>
    import boto3
ImportError: No module named boto3

Offhand no idea, sorry. Maybe @FRidh can chip in?

The .py is a library and should be moved to a site packages folder.

Does that involve changing the credstash derivation or the way I'm using it? I'm not all that familiar with managing Python packages.

@ivanbrennan
It looks like I'm able to solve this with the following changes:

set dontWrapPythonPrograms = true;
replace buildPythonPackage with buildPythonApplication

Here's a minimal nix shell with that working, can you say whether it works for you?
shell.nix snippet:
{ pkgs ? import <nixpkgs> {} }:

with pkgs;

let
  my_credstash = callPackage ./credstash.nix {
    inherit python3;
  };
in
stdenv.mkDerivation {
  name = "credstash-test";
  buildInputs = my_credstash;
}

credstash.nix:
{ stdenv, python3 }:

with python3.pkgs;

buildPythonApplication rec {
  pname = "credstash";
  version = "1.15.0";

  src = fetchPypi {
    inherit pname version;
    sha256 = "814560f99ae2409e2c6d906d878f9dadada5d1d0a950aafb6b2c0d535291bdfb";
  };

  nativeBuildInputs = [ nose ];

  propagatedBuildInputs = [ cryptography boto3 pyyaml docutils ];

  # No tests in archive
  doCheck = false;

  # Wrapping credstash causes errors
  dontWrapPythonPrograms = true;

  meta = with stdenv.lib; {
    description = "A utility for managing secrets in the cloud using AWS KMS and DynamoDB";
    homepage = https://github.com/LuminalOSS/credstash;
    license = licenses.asl20;
  };
}

One question about this is how to upstream. I don't know enough about the Python nix machinery to know whether switching buildPythonPackage with buildPythonApplication will break things, since credstash is both a python module as well as a CLI application.

@sean-bennett112 Thanks for the example, it works!. Looking at the docs again I'm starting to understand the situation, and was able to write a shell.nix that references the original credstash derivation rather than re-writing it:
{ pkgs ? import <nixpkgs> {} }:

with pkgs;

let
  credstash = python3Packages.toPythonApplication (
    python3Packages.credstash.overridePythonAttrs (old: rec {
      dontWrapPythonPrograms = true;
    })
  );

in mkShell { buildInputs = [ credstash ]; }

and it still works:
$ nix-shell --pure --command 'credstash get my.secret.key'
supersecretvalue

All Python packages reside in pkgs/top-level/python-packages.nix and all applications elsewhere. In case a package is used as both a library and an application, then the package should be in pkgs/top-level/python-packages.nix since only those packages are made available for all interpreter versions.

A distinction is made between applications and libraries, however, sometimes a package is used as both. In this case the package is added as a library to python-packages.nix and as an application to all-packages.nix. To reduce duplication the toPythonApplication can be used to convert a library to an application.
The Nix expression shall use buildPythonPackage and be called from python-packages.nix. A reference shall be created from all-packages.nix to the attribute in python-packages.nix, and the toPythonApplication shall be applied to the reference:

We can see this by searching <nixpkgs> for assignments to a youtube-dl attribute:
$ cd $(grep -oP 'nixpkgs=\K[^:]+' <<< "$NIX_PATH")

$ grep --include='*.nix' --recursive 'youtube-dl = '
pkgs/top-level/python-packages.nix:  youtube-dl = callPackage ../tools/misc/youtube-dl {};
pkgs/top-level/all-packages.nix:  youtube-dl = with python3Packages; toPythonApplication youtube-dl;

And this corresponds to youtube-dl being available as both a library and an application:
$ nix-env -f '<nixpkgs>' --query --available --attr python3.pkgs.youtube-dl
python3.7-youtube-dl-2018.11.18

$ nix-env -f '<nixpkgs>' --query --available --attr youtube-dl
youtube-dl-2018.11.18

In contrast, credstash has only been provided as a library:
$ grep --include='*.nix' --recursive 'credstash = '
pkgs/top-level/python-packages.nix:  credstash = callPackage ../development/python-modules/credstash { };

$ nix-env -f '<nixpkgs>' --query --available --attr python3.pkgs.credstash
python3.7-credstash-1.15.0

$ nix-env -f '<nixpkgs>' --query --available --attr credstash
error: attribute 'credstash' in selection path 'credstash' not found

So maybe the fix is to change credstash/default.nix to include:
  dontWrapPythonPrograms = true;

and add a line to all-packages.nix:
  credstash = with python3Packages; toPythonApplication credstash;

I haven't been able to get this working in an overlay, however.
# credstash-overlay-1.nix
self: super: {
  credstash = super.python3Packages.toPythonApplication (
    super.python3Packages.credstash.overridePythonAttrs (old: rec {
      dontWrapPythonPrograms = true;
    })
  );
}

$ credstash get my.secret.key
Traceback (most recent call last):
  File "/run/current-system/sw/bin/credstash", line 7, in <module>
    from credstash import main
  File "/nix/store/8rmldlvlv1z1xl7w02dy7f5qhkzdrg8z-python3.7-credstash-1.15.0/bin/credstash.py", line 26, in <module>
    import boto3
ModuleNotFoundError: No module named 'boto3'

I've tried all combinations of self and super, as well as the more intricate approach mentioned here.

Well I think I figured out what was going on. I put up PR #51807 describing the issue and the fix in more detail. Maybe there's a cleaner solution, but I guess that's what the PR process is for :grin:
In the meantime, here's the solution rolled into an overlay:
self: super: {
  credstash = with super.python3Packages; toPythonApplication (
    credstash.overridePythonAttrs (old: rec {
      postInstall = "rm $out/bin/credstash.py";
    })
  );
}


Add branch sync for pipeline

Change description
Add Branch syncing for infra
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ x ] No

removed


Fixed RedisGears module path

Currently attempting to run docker run -p 6379:6379 redislabs/redismod fails because of incorrect RedisGears module path:
# Module /opt/redislabs/lib/modules/redisgears.so failed to load: /opt/redislabs/lib/modules/redisgears.so: cannot open shared object file: No such file or directory
# Can't load module from /opt/redislabs/lib/modules/redisgears.so: server aborting

This commit updates the module path according to https://github.com/RedisGears/RedisGears/blob/master/Dockerfile#L66

Thanks @GabiAxel 👍  merging


BEC coeffs to move from saber to a data version of GSIbec

GSIbec needs to be tested in standalone mode. It needs the input coeff files that are presently in nmcbalance under saber-data these really belong elsewhere that can access w/o saber stuff by this originating software.

After some back and forth discussions it seems like JEDI and the JCSDA approach is incompatible w/ the idea of not having redundant data floating around.
This issue is being closed.


Update documantation and include new features

Update documentation and include new features from R

Update images from the LWSS-23 branch to use default NaaVRE branding
Add more in-depth descriptions for component containerization, experiment manager, notebook search

migrated to vre_documentation


[RFC] Improve distribution of serverless-contracts

Why
@swarmion/serverless-contracts as a package is used by both frontend and backend services.
While our recommendations make sure everything is tree-shaken, we could benefit from a smarter split
Other related subjects

pnpm peerDependency resolution stability
quality gate on lambda bundle size (cdk-bundle-analyzer)
quality gate on dist contract size

Proposition
Split @swarmion/serverless-contracts into three packages

@swarmion/serverless-contracts-core: holds all the abstract definition of what a contract is, provides tool to create contracts, typically used by app's contract packages
@swarmion/serverless-contracts-consumer: holds all the abstract definition of what a contract is, provides tool to create contracts, typically used by app's contract packages

Hey @GuillaumeLagrange, regarding the yet undocumented proposition of keeping a single package with exports, this should interest you: https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#moduleresolution-bundler
Basically, with this new --moduleResolution: bundler, TypeScript users can benefit from the exports without all the previous cumbersome changes.


Adding data connector ASimDnsActivityLogs

Required items, please complete
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hey @oshezaf, the data connector is already there in the portal, we have just downloaded that and added in solution. Thanks.

@oshezaf, can you please approve the changes, thanks.

While I understand that the connector ID cannot be changed even if incorrect, can you remind me why aren't we changing the incorrect connectivity query?


File system recreated upon recoverable mount error, causing data loss

Version:
k3s version v1.17.4+k3s1 (3eee8ac3)
K3s arguments:
Just agent
Describe the bug
When a block device cannot be mounted as a filesystem because of an error during mount, the filesystem is wiped and a new filesystem is created. This causes data loss if the mount error was recoverable.
I am using OpenEBS for storage. OpenEBS creates iSCSI targets within the cluster, which offer block devices that are mounted back into the cluster as filesystems. Per Kubernetes specifications, k3s performs the creation of these filesystems on the block devices, and takes care of mounting the filesystems into Pods that specify them.
I have such an OpenEBS volume in my cluster, a block device that is mounted as a filesystem. I created it as a 400 GB block device, then resized it to 1500 GB. However, I forgot one of the resizing steps; when the iSCSI target was restarted, the block device was offered as 400 GB again, but the filesystem was 1500 GB.
A Pod was created that mounted the filesystem on the node karen. It contains this in its k3s-service.log:
I0614 19:07:52.218680    2407 operation_generator.go:1245] Controller attach succeeded for volume "pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7" (UniqueName: "kubernetes.io/iscsi/<IP_ADDRESS>:3260:iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7:0") pod "samba-548d78968d-lgpdn" (UID: "860610f1-ce88-44aa-81d2-6d94da06ff28") device path: ""
I0614 19:07:52.284937    2407 operation_generator.go:551] MountVolume.WaitForAttach entering for volume "pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7" (UniqueName: "kubernetes.io/iscsi/<IP_ADDRESS>:3260:iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7:0") pod "samba-548d78968d-lgpdn" (UID: "860610f1-ce88-44aa-81d2-6d94da06ff28") DevicePath ""
E0614 19:07:57.652618    2407 mount_linux.go:140] Mount failed: exit status 32
Mounting command: mount
Mounting arguments: -t ext4 -o defaults /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7-lun-0 /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7-lun-0
Output: mount: /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7-lun-0: wrong fs type, bad option, bad superblock on /dev/sdd, missing codepage or helper program, or other error.
I0614 19:07:57.918782    2407 mount_linux.go:322] Disk "/dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7-lun-0" appears to be unformatted, attempting to format as type: "ext4" with options: [-F -m0 /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7-lun-0]
[....]
I0614 19:13:05.766133    2407 mount_linux.go:326] Disk successfully formatted (mkfs): ext4 - /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7-lun-0 /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2016-09.com.openebs.cstor:pvc-df6179f9-d398-442e-b3fb-aa1f859d43f7-lun-0

The dmesg contains:
[Jun14 19:07] iscsi: registered transport (tcp)
[...]
[  +0.079672] sd 3:0:0:0: [sdd] Attached SCSI disk
[...]
[  +0.843691] EXT4-fs (sdd): bad geometry: block count 393216000 exceeds size of device (104857600 blocks)

To Reproduce
I think any mount error, on any block-device backing store would reproduce this. But, specifically:

Set up an iSCSI target limited to 10 GB. (see k8s volume docs / k8s volume examples.)
Start a Pod that mounts the PV. It's initialized to 10 GB. Stop the Pod.
Restart the iSCSI target limited to 5 GB.
Start the Pod again.
Observe k3s logs and dmesg: the filesystem is rewritten on the PV, because the mount fails with "bad geometry: block count .. exceeds size of device..".

Expected behavior
k3s should be very careful to create a new filesystem on the device, as this is something that easily causes data loss. If the device looks like it contains an existing filesystem, the pod should fail to start, instead of assuming that the data can be wiped. For example, it should only create a filesystem if the first kilobyte contains only zeroes.
This way, the error can be investigated and solved. If the user wants the filesystem to be recreated (which is rarely the case and indicates critical failure of storage), they can do so themselves, or create a new PV to replace the old one.
Actual behavior
Any mount error will cause filesystem to be recreated, causing data loss of everything that was on there.

Code actually seems to come from the Kubernetes upstream: https://github.com/kubernetes-csi/driver-registrar/blob/master/vendor/k8s.io/kubernetes/pkg/util/mount/mount_linux.go#L489

This was fixed in k3s 1.18. I'm on mobile so I don't have the issue number handy.

I believe this was fixed in k3s 1.18.2 - see #1682

Good to hear – I will refine the reproduction steps, so I can try to make this happen one more time; then, I will upgrade to k3s 1.18.2 and try the steps again to confirm it has been fixed. Thanks!

I have some reproduction steps. I'll upgrade to 1.18.2 to try them again and see if it's indeed resolved :-)
Start a pod & create a 10GB filesystem
$ kubectl run -ti --image ubuntu:bionic tgt bash

Unfortunately, there's no release of k3os with k3s 1.18+ yet, so I upgraded my k3os cluster using these steps:

SSH to your master (server) node. Or the first one, if you have multiple.
wget https://github.com/rancher/k3s/releases/download/v1.18.3%2Bk3s1/k3s-arm64
sudo mount -o remount,rw /k3os/system
sudo mkdir /k3os/system/k3s/v1.18.3+k3s1
sudo mv k3s-arm64 /k3os/system/k3s/v1.18.3+k3s1/k3s
sudo ln -s v1.18.3+k3s1 /k3os/system/k3s/current
sudo reboot
Repeat these steps on all other master node(s) if you have multiple.
Repeat these steps on all worker (agent) nodes.

After the upgrade was completed, I tried it again this morning, and it seems the issue has indeed been resolved in k3s 1.18+.
After the wipe-pod-test is started, this is visible in its events (kubectl describe pod):
  Warning  FailedMount             77s (x9 over 4m39s)  kubelet, karen           MountVolume.MountDevice failed for volume "testvol" : mount failed: exit status 32
Mounting command: mount
Mounting arguments: -t ext4 -o defaults /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2020-06.k3s-test:testvol-lun-0 /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0
Output: mount: /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error.
  Warning  FailedMount  47s (x2 over 3m3s)  kubelet, karen  Unable to attach or mount volumes: unmounted volumes=[testvol], unattached volumes=[testvol default-token-gd4nm]: timed out waiting for the condition

This is visible in the k3s-service.log:
I0616 07:31:08.481068    2391 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume started for volume "testvol" (UniqueName: "kubernetes.io/iscsi/<IP_ADDRESS>:3260:iqn.2020-06.k3s-test:testvol:0") pod "wipe-pod-test" (UID: "81fd0125-8d04-4dc4-951f-9c199db3f76f")
[...]
I0616 07:31:24.187536    2391 operation_generator.go:1332] Controller attach succeeded for volume "testvol" (UniqueName: "kubernetes.io/iscsi/<IP_ADDRESS>:3260:iqn.2020-06.k3s-test:testvol:0") pod "wipe-pod-test" (UID: "81fd0125-8d04-4dc4-951f-9c199db3f76f") device path: ""
I0616 07:31:24.263471    2391 operation_generator.go:558] MountVolume.WaitForAttach entering for volume "testvol" (UniqueName: "kubernetes.io/iscsi/<IP_ADDRESS>:3260:iqn.2020-06.k3s-test:testvol:0") pod "wipe-pod-test" (UID: "81fd0125-8d04-4dc4-951f-9c199db3f76f") DevicePath ""
Mounting arguments: -t ext4 -o defaults /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2020-06.k3s-test:testvol-lun-0 /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0
Output: mount: /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error.
E0616 07:31:35.598986    2391 iscsi_util.go:510] iscsi: failed to mount iscsi volume /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2020-06.k3s-test:testvol-lun-0 [ext4] to /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0, error mount failed: exit status 32
Mounting arguments: -t ext4 -o defaults /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2020-06.k3s-test:testvol-lun-0 /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0
Output: mount: /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error.
I0616 07:31:35.599270    2391 operation_generator.go:567] MountVolume.WaitForAttach succeeded for volume "testvol" (UniqueName: "kubernetes.io/iscsi/<IP_ADDRESS>:3260:iqn.2020-06.k3s-test:testvol:0") pod "wipe-pod-test" (UID: "81fd0125-8d04-4dc4-951f-9c199db3f76f") DevicePath "/dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2020-06.k3s-test:testvol-lun-0"
[...]
I0616 07:34:57.490862    2391 operation_generator.go:567] MountVolume.WaitForAttach succeeded for volume "testvol" (UniqueName: "kubernetes.io/iscsi/<IP_ADDRESS>:3260:iqn.2020-06.k3s-test:testvol:0") pod "wipe-pod-test" (UID: "81fd0125-8d04-4dc4-951f-9c199db3f76f") DevicePath "/dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2020-06.k3s-test:testvol-lun-0"
Mounting arguments: -t ext4 -o defaults /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2020-06.k3s-test:testvol-lun-0 /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0
Output: mount: /var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2020-06.k3s-test:testvol-lun-0: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error.

(It seems to keep retrying forever.)
 :-)

Glad to hear it. I spent a while tracking this one down - fortunately I was using xfs on OpenEBS so it failed rather than wiping the disk... but it was still fun to investigate.


[DEV] Removed Test executive dockers and buster debian

Port https://github.com/MinaProtocol/mina/pull/15908 to develop

!ci-build-me

!ci-nightly-me

!ci-build-me

!ci-build-me


Pass value from AuthService to ViewModel

Hi,
I want to make AuthCredential using Firebase PhoneAuth.

PhoneAuthView passes a phone number to its viewModel which trigger a Future function using FirebaseAuth.verifyPhoneNumber in AuthService. This Future function sends a SMS code and generates a verificationId.
Again, PhoneAuthView passes a SMS code that user put to the viewModel. The ViewModel has to make AuthCredential using both 'SMS code which user inserted' and 'verificationId which the Future function already generated'.

I would like to send the verificationId from AuthService to the ViewModel so that I can call a Future function in the ViewModel to make AuthCredential in AuthService.
In that case, which way would be the best to send verificationId from AuthService to the ViewModel?
I am also wondering if this behavior is okay for the Stacked ground rules. (passing value from Service to the ViewModel)

With this Future Function in AuthService, users can get sms code

Here the view send sms code to the ViewModel

Eventually the viewModel has to call this function in AuthService using 'verificationId' and 'code' but I don't know how to get verificationId value which was generated in AuthService.

Thanks,

You should use a Completer that you complete when the value is returned. then you can just do an await call in the Viewmodel on the AuthService


Metadata editor leaves field in error state following valid entry

Describe the issue
When triggering a required value error in the pipeline runtime editor, the field remains in an error state even after entering data.  This makes it confusing as to which fields still must be addressed.
To Reproduce
Steps to reproduce the behavior:

Go to the runtimes editor and enter a name.
Click on save and should be presented with required value errors on several fields that require a value
Enter "valid" information that should suppress the error state.
Can't easily determine which of the remaining error fields still need to be addressed.

Screenshots or log output

Expected behavior
I had expected the field error indicator to be removed once a "valid" entry has been entered.
Deployment information
Describe what you've deployed and how:

Elyra version: 2.1.0rc2
Operating system: macos
Installation source: PyPi
Deployment type: local installation

Just realized this is occurring in the metadata editor in general.  Code snippets show the same behavior.


feat(jellyfish-testing): add regtestcontainer support

What this PR does / why we need it:
Since we are moving our container testing to exclusively use jellyfish-testing package we need to enable support for RegTestContainer scenarios.
Which issue(s) does this PR fixes?:
Fixes #965
Additional comments?:
This PR adds two additional testing classes
TestingLight
Works the same way as Testing but facilitates containers using RegTestContainer instead of MasterNodeRegTestContainer. The secondary change is that TestingLight has an additional master property attached to it.
Sample
const testing = TestingLight.create(new RegTestContainer())

beforeAll(async () => {
  await testing.start() // starts both master and regtest container
  await testing.master.generate(1) // wait for master node to generate a block
})

afterAll(async () => {
  await testing.stop() // stops both master and regtest container
})

await testing.rpc.net.getConnectionCount()

TestingLightGroup
Same as TestingGroup but facilitates LightTesting containers.
Note
After some inquiry into the behavior and functionality in our test cases, without and with master node the ticket and PR aiming to introduce this testing layer may be moot.
Since the test cases without master node is essentially performing tests against containers that doesn't have master nodes, it may be moot to add a master node instance to a new Light testing container.

This is resolved by #1035


Support globbing in shjs

I'll do this.

@ariporad Could you give an example of where globbing should be that it already isn't?

shjs scripts/*.js

Also, while we're at it, shjs should append NODE_PATH, not override it.

^ appending to NODE_PATH might be better.
I'm not sure I understand the issue with the glob scenario you provided. Here's the steps I think would happen:
# assuming we're launching from bash, sh, zsh, or some similar **unix** shell (not cmd.exe)
$ shjs scripts/*.js # this is what you type in to the shell, manually
$ shjs scripts/foo.js scripts/bar.js scripts/baz.js # your shell expands the glob, so it looks
# exactly as if you typed this (assuming there are exactly 3 .js files, named as such)
# Then, shjs runs the first script (scripts/foo.js), and passes it some arguments (scripts/bar.js,
# scripts/baz.js)

Does this differ from what you would see for the following example?
$ bash scripts/*.sh # same thing, but the "bash version"

@nfischer: Hmm...
It doesn't, but it's counter-intuitive behavior.

It's not counter-intuitive for someone who wants to be able to write a script like:
#!/usr/bin/env node
require('shelljs/global');
config.silent = true;
echo(cat(process.argv[3])
  .exec('tr -cs A-Za-z \'\\n\'')
  .exec('tr A-Z a-z')
  .sort()
  .exec('uniq -c')
  .sort('-rn')
  .head('-n', process.argv[3]));

(note the process.argvs as a way of passing input to the script)

@nfischer: Good point. I'll close this.


Add GitHub Actions job to validate no code

GHA supports only configuration in YAML. Per definition YAML is YAML Ain't Markup Language. Because of the word language, I can conclude that yaml files contains 'a code', which is unacceptable for this repo.

We have reproduced this issue and agreed that YAML introduces undesirable code snippets into no-code.
We suggested trying JSON instead.

you broke the first rule of nocode club, you should be ashamed!


Iss324

closes #324 and #327
Data (field variables) of the LLC4320 have been copied into a single zarr store that is distributed across filedbs. Now,
path = '/home/idies/workspace/poseidon/data*/llc4320_tests/10dayhourly/velocities'
ds = xr.open_mfdataset(path, parallel=True, engine='zarr')

reads all data variables. The grid remains separate to avoid copies within each store.
There should be an improvement on how fast the od associated with LLC4320 gets created...

Actually, I am making a small change in the next 1/2 hr. Hold on before merging :)


[DRAFT] Experimental move only checker.

Just wondering - instead of having "move only" as a concept, is it perhaps better to track both whether a value is copyable and also whether it is movable?
Basically, what this comes down to is: is it useful to have values which are neither copyable nor moveable?
I'd ask on the forums, but this seems to be at a kind of prototyping phase, and it's maybe a bit impolite for me to draw attention to it. So I figured I'd just drop a comment and ask what your thoughts are.


Assignment 1- with classes 1-6 notes updates

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

Modified, please approve!

@Melokazz  Good day! I've reviewed and cross-checked all 6 class slides and recordings. Based on that, I've updated the notes for Visualizations 1-6, ensuring completeness as per the content covered in the live learning sessions. Everything should now be in order, and the assignment is ready for your approval. Thank you!


Bright blue legend is unreadable on bright blue sea

In geographic visualizations the blue legend text has very low contrast against the sea. It's not great against the land either.
(Thanks @Gabitany for reporting it.)

We experimented a bit and text-shadow: 1px 0 black, -1px 0 black, 0 1px black, 0 -1px black; doesn't look back!


Enable Bloom filter on big endian architectures

There are some problems with byte ordering in the Bloom filter's bit vector on Big endian machines. This needs to be debugged and enabled on Big endian.
Reporter: Sasha Krassovsky / @save-buffer
Note: This issue was originally created as ARROW-16591. Please see the migration documentation for further details.

Well, does this problem on arrow-compute's BloomFilter(arrow/compute/exec/bloom_filter, or parquet's bloom-filter (parquet/bloom_filter)? =_=

This is a problem when evaluating bloom filter in join. Nothing to do with parquet


Publish on Flathub

Is your feature request related to a problem? Please describe.
https://flatpak.org/
Even if a tarball is technically functional, having a proper package that can be installed universally in all linux distros is more convenient. In addition to user benefits such as the sandbox and autoupdates, Flexify can gain more visibility as flathub recently surpassed One million active users
Describe the solution you'd like
If you want, I can help you build a Flatpak manifest to submit to Flathub
Describe alternatives you've considered
N/A
Additional context
N/A

This basic manifest works, it needs the beta version of the sdk due to some incompatibility with glib. Now it only need a .desktop and a .metainfo.xml. It would be nice to also support aarch64 but I guess that is a separate issue.
{     "app-id" : "io.github.brandonp2412.Flexify",     "runtime" : "org.freedesktop.Platform",     "runtime-version" : "24.08beta",     "sdk" : "org.freedesktop.Sdk",     "command" : "flexify",     "separate-locales" : false,     "finish-args" : [         "--share=ipc",         "--socket=fallback-x11",         "--socket=wayland",         "--socket=pulseaudio",         "--device=dri"     ],     "modules" : [         {             "name" : "flexify",             "buildsystem" : "simple",             "build-commands": [             	"mv flexify-linux /app/flexify",             	"install -d /app/bin/", 		"ln -s /app/flexify/flexify /app/bin/flexify", 		"install -Dm644 /app/flexify/data/flutter_assets/assets/ic_launcher.png /app/share/icons/hicolor/512x512/apps/io.github.brandonp2412.Flexify.png"             ],             "sources" : [                 {                     "type" : "archive",                     "only-arches" : [                         "x86_64"                     ],                     "url" : "https://github.com/brandonp2412/Flexify/releases/download/1.1.86/flexify-linux.zip",                     "sha256" : "9183fdf8bf6978b859fb7d999323024e2c382b7f1ffc12bac5df0754e52203fa",                     "strip-components": 0,                     "dest": "flexify-linux"                 }             ]         }     ] }

Yeah I tried to do this when I first published the app on f-droid but had some errors.
If your one works as is then I'm happy to accept any PR for it.
I don't personally like flathub or snap packages I prefer system packages. Not against flexify supporting it though.


test issue for all-contributors

testing all-contributors bot

@all-contributors init

all-contributors check

@all-contributors check

all-contributors add @shawnrhoads for code, ideas

@all-contributors please add @shawnrhoads for code

@all-contributors check

@all-contributors add @shawnrhoads for ideas

@all-contributors check

@all-contributors fetch

@all-contributors please add @scovitz for design


Committer Nomination: Hans Knöchel

I nominate Hans Knöchel for commit access to all TiDev repos. He's been a former Appcelerator/Axway employee and long time contributor to Titanium. He's contributed to Titanium's iOS platform among other things.
His profile can be found here: https://github.com/hansemannn
Upon joining the TiDev committers, he can assist with tackling the roadmap.

+1

I vote yes on this.

+1

+1

+1

Voting has completed.
Yes: 5
No: 0
No vote: 1
Congratulation @hansemannn! Welcome to the TiDev committers!


Blazor Server-EF Core factory with Identity

Fixes #20101
Internal Review Topic
Thanks @CGuthrie72! :rocket:

Given the security concerns that you mentioned on the issue with EnableSensitiveDataLogging, I recommend that we don't show it in the normal course of examples. We know that readers like to cut-'n-paste our examples right into their apps without a care in the world. 😨 I create a section dedicated to it and show the use of a compiler directive for a higher level of safe use over just using it by environment (cc: @blowdart courtesy ping given that this is Blazor Server).
You said "call it out for identity server" ... you didn't mean the product "Identity Server," right? This is general ASP.NET Core Identity coverage, right? Plz unconfuse me if I went the wrong way with the focus of the added text here.
The added text here for the factory instances with Identity is for 3.x and 5.x ... is that correct?

@JeremyLikness ... ok ... try it now.
The Programming 101 lingo is something that I do with less common concepts, useful for new-to-development and new-to-Core crowds. Yes, definitely not necessary. I took your suggestion and 🔪 it.


Automatically turning off extension when the YT tab is in background

It is a great extension and it makes me want to use youtube a lot more because of the beautiful enhancements.
However, here is a suggestion for you.
Clearly, some of the settings are a little too resource-hungry for the system, so I think if the extension disables the light when the tab is in the background would help the resources to be utilized elsewhere.
In short, I would like to suggest to implement the ability to the extension to automatically turn off the light when the tab has been in background for some 'x' seconds.
x can either be something you think would be appropriate, or you can leave this to be user-specified.

These optimizations are already implemented. Could you tell me how you have detected that the light is too resource-hungry for your system in those situations?
Because the light already pauses when it is not visible:

scrolled off screen
the video fills the screen in fullscreen view

And the light already clears up after 3 seconds to release the used GPU memory in these situations:

When the browser tab is invisible
When you navigate away from the /watch page
When the light is disabled

the light already clears up after 3 seconds to release the used GPU memory in these situations
Ah alright. Apologies for adding this to the issues then. I will be closing the issue after this reply.
Could you tell me how you have detected that the light is too resource-hungry for your system in those situations?
Just after enabling some settings, like increasing the delay in time after which it readapts the colors, there is a bit of stutter in my pc.
Anyway, as I said earlier, this is an amazing extension that is one of my favorites now.
Thank you so much for the extension, and the quick response to this issue.
:)

Yes I am aware that I can change the settings to make the extension use less resources.
Thank you.
:)


nit: Remove unused stub function

resolves N/A

Problem
The _stub_relation function is not used anywhere. The increase in unused code increases the cognitive load on the developer.

Solution
Delete the _stub_relation function, which is not used anywhere.

Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] This PR has no interface changes (e.g. macros, cli, logs, json artifacts, config files, adapter interface, etc) or this PR has already received feedback and approval from Product or DX

The CI for Check Changelog Entry has failed, but since it only deletes unused code, I have decided that the ChangeLog can be skipped.

@syou6162 Thanks for the "maintenance" PR. Not everyone is keen to submit those, but they're just as valuable to us.

Integration tests didn't trigger. Re-opening to re-trigger CI.


replayId needs to be an integer

These examples show the contents of various event messages with the replayId field. Even though the replayId fields in the examples contain numbers, they’re opaque fields. We recommend that you don’t assume that they always contain numbers. It’s best that you store the replayId values as bytes.
https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/using_streaming_api_durability.htm


Build compilation error

there is a compilation error when target is ARM
below are the error's
opt/toolchains/rdk-glibc-x86_64-arm-toolchain/sysroots/x86_64-oesdk-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/9.5.0/real-ld: cannot find -lrmfAudioCapture
collect2: error: ld returned 1 exit status
Makefile:119: recipe for target 'test' failed
make[1]: *** [test] Error 1
make[1]: Leaving directory 'rdk-halif-rmf_audio_capture/ut/ut-core'
Makefile:67: recipe for target 'build' failed
make: *** [build] Error 2
make: Leaving directory 'rdk-halif-rmf_audio_capture/ut'

merged to develop


softmax_cross_entropy_with_logits to take integer labels / avoid giant dense one-hot matrix

Currently to compute this loss for a classifier you need to generate a big dense matrix of one-hot vectors to pass to softmax_cross_entropy_with_logits, as in the example at http://tensorflow.org/tutorials/mnist/tf/index.html#loss
This is kinda fiddly to do, but also rather wasteful of memory especially in the case of a larger multiclass softmax. Could we have a version of this function which accepts a list of indices, e.g. like Theano's: http://deeplearning.net/software/theano/library/tensor/nnet/nnet.html#tensor.nnet.categorical_crossentropy ?

This is a good suggestion -- (we named the existing op _with_logits because we anticipated this request, not because we like long function names ;).  I don't have a roadmap for exactly when this will be done though, but thanks for filing the feature request!

Cool, thanks!
Slightly confused by the logits thing -- in the docs that refers to the first argument (the input to the softmax) not the 'labels'/one-hot-vectors argument, no? Even then, the inputs to the softmax are unnormalized log-probabilities, but are they logits? I thought logits were log(p / (1-p)), rather than log p + const.

Is it possible to create a generic "select" function for tensor? Example usage:
def loss(logits, labels):
batch_size = tf.size(labels)
logits_selected = tf.select(logits, tf.range(0, batch_size), labels)
....

@chuanwen: I'm not sure what exactly you mean, is that some combination of tf.where and tf.gather?

sparse_softmax_cross_entropy_with_logits() is now available


Tequila supports Cirq

https://github.com/tequilahub/tequila#quantumchemistry

Did you mean to post this in the Cirq repository instead?

Nope, thought I'd mention the QC chemistry part of the problem.

TIL about Superfluidity and Quantum Qravity w/ Bernoulli's. https://news.ycombinator.com/item?id=31383784
OT. Anyway, cool work


Optimized code and implemented sys/auth interfaces in the system module.

Optimized code in the system module and implemented sys/auth interfaces.
Optimized code in the mount and router modules.
Fixed bugs in the auth module.
Optimized code in the kv module.

How to add a new type of auth in current architecture? For instance, if auth on X.509 certificate is needed someday in the future...

The credential module has not been implemented yet. After it is implemented, you can use the x509 certificate or account password to log in. If the login is successful, a token will be created, which can be used later to operate RustyVaule.


Internal connection  problem

https://github.com/SpacehuhnTech/WiFiDuck/blob/40456264ddff330b6c2c4310cfebbb472a0e6458/esp_duck/esp_duck.ino#L19
please update the delay to 1000ms to resolve the internal connection issue

https://github.com/SpacehuhnTech/WiFiDuck/blob/40456264ddff330b6c2c4310cfebbb472a0e6458/esp_duck/esp_duck.ino#L19
please update the delay to 1000ms to resolve the internal connection issue
Does not work...

Didnt work for me either :(

Didnt work for me either :(

try increasing delay. I am using nodemcu, for me worked. for other user 10000ms worked, who is using a d1 mini. not facing internal connection issue any more. Also scripts working super smooth.

i tried both of those times. I also have a dstike wifi duck V2 that has the same issue after updating.

Tried both the 1000 and 10000 and i am having the same issue.

Same issue for me.

I did some testing, and with debug enabled, I could reproduce the issue sometimes. Try disabling Debug if it isn't already.

I have tried with Debug enabled and disabled. I tried on my DSTIKE board and now that board is no longer working. It appears to be an issue with I2C. I can run scripts via Serial between ESP and 32U4, albeit very slow.

Using I2C (or serial given the right hardware) instead of the Auto mode also seems to make a difference sometimes. I have a growing suspicion that the atmega32u4 is partly responsible, as it seems to be very sensitive.

ok so that got me working... set both debugs to disable and both protocols to I2C.
Gonna play around but thanks for the info!

That seems to be working for me now too, thank you!

From: justusiv @.***>
Sent: Monday, January 24, 2022 4:07:27 PM
To: SpacehuhnTech/WiFiDuck
Cc: Jason Granat; Comment
Subject: Re: [SpacehuhnTech/WiFiDuck] Internal connection problem (Issue #99)
ok so that got me working... set both debugs to disable and both protocols to I2C.
Gonna play around but thanks for the info!
—
Reply to this email directly, view it on GitHubhttps://github.com/SpacehuhnTech/WiFiDuck/issues/99#issuecomment-1020675138, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFB2GSDFJTODFRF4ZEIIQGTUXXST7ANCNFSM5L53SJTQ.
You are receiving this because you commented.Message ID: @.***>

Hopefully, that's it 🤞 . I updated the Wifi Duck AVR boards so that these options are set by default from now on.

So far so good, I've reflashed a few times just to confirm and it's still working on both my DSTIKE board and DIY setup. Appreciate the help!

From: Stefan Kremser @.***>
Sent: Monday, January 24, 2022 4:14:54 PM
To: SpacehuhnTech/WiFiDuck
Cc: Jason Granat; Comment
Subject: Re: [SpacehuhnTech/WiFiDuck] Internal connection problem (Issue #99)
Hopefully, that's it 🤞 . I updated the Wifi Duck AVR boards so that these options are set by default from now on.
—
Reply to this email directly, view it on GitHubhttps://github.com/SpacehuhnTech/WiFiDuck/issues/99#issuecomment-1020679108, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFB2GSC5S6YDOBZSZMNT2ODUXXTP5ANCNFSM5L53SJTQ.
You are receiving this because you commented.Message ID: @.***>

I just tried on an ESP8266 connected to genuine Arduino Leonardo and it did not work, unfortunately. But the other setups are still working. Just wanted to let you know.

From: Jason Granat
Sent: Monday, January 24, 2022 4:19:14 PM
To: SpacehuhnTech/WiFiDuck; SpacehuhnTech/WiFiDuck
Cc: Comment
Subject: Re: [SpacehuhnTech/WiFiDuck] Internal connection problem (Issue #99)
So far so good, I've reflashed a few times just to confirm and it's still working on both my DSTIKE board and DIY setup. Appreciate the help!

From: Stefan Kremser @.***>
Sent: Monday, January 24, 2022 4:14:54 PM
To: SpacehuhnTech/WiFiDuck
Cc: Jason Granat; Comment
Subject: Re: [SpacehuhnTech/WiFiDuck] Internal connection problem (Issue #99)
Hopefully, that's it 🤞 . I updated the Wifi Duck AVR boards so that these options are set by default from now on.
—
Reply to this email directly, view it on GitHubhttps://github.com/SpacehuhnTech/WiFiDuck/issues/99#issuecomment-1020679108, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFB2GSC5S6YDOBZSZMNT2ODUXXTP5ANCNFSM5L53SJTQ.
You are receiving this because you commented.Message ID: @.***>

https://www.amazon.com/dp/B08BJTS2N8?ref=ppx_yo2_dt_b_product_details&th=1
https://www.amazon.com/dp/B07S5HL54T?psc=1&ref=ppx_yo2_dt_b_product_details
Mines not working either :(

https://www.amazon.com/dp/B08BJTS2N8?ref=ppx_yo2_dt_b_product_details&th=1 https://www.amazon.com/dp/B07S5HL54T?psc=1&ref=ppx_yo2_dt_b_product_details
Mines not working either :(

try disabling debug on both sketches and hard set protocol to I2C on both sketches. That got me working with the same hardware from Amazon.

https://www.amazon.com/dp/B08BJTS2N8?ref=ppx_yo2_dt_b_product_details&th=1 https://www.amazon.com/dp/B07S5HL54T?psc=1&ref=ppx_yo2_dt_b_product_details
Mines not working either :(

try disabling debug on both sketches and hard set protocol to I2C on both sketches. That got me working with the same hardware from Amazon.

I got it, i was dumb and had to use the "generic esp8266"  board

The solution works fine with disabling debug and selecting i2c. Also my board required generic esp8266 selection in ide before flash. works for both d1 wemos mini and esp8266.


common-utils: Remove project-wide lint disables

This PR updates the lint config for common-utils to remove project-wide disables. Most of the code changes were due to @typescript-eslint/strict-boolean-expressions.
Disabling rules project-wide is a bad practice that lets unlinted code slip through. Many of our packages, including this one, have unnecessary disables, too, for rules that aren't even being broken in the project.

@curtisman Thanks for reviewing!


Use of let vs const

Some variables declared using let make more sense as const. For instance, here:
if (!error && response.statusCode === 200) {
      let name = JSON.parse(body).results[0].name;
      let firstName = capitalise(name.first);
      let lastName = capitalise(name.last);
      return cb(null, `${firstName} ${lastName}`);
}

In this example, you are not reassigning any of those three variables, so may as well use const. It won't break your code to leave it as is, but would be better practice to change.

link to pull request: https://github.com/a-la-node/hapi-project/pull/74


on iOS repeating notifications get cancelled if displayed with app Paused

This issue only occurs on iOS.  It works properly in Android.  This makes repeating calendar notifications unusable for common purposes on iOS.
ISSUE:
-if a repeating Calendar notification is displayed while the app is in a paused state (i.e. minimized) the notification gets cancelled.  I expect the notification to be kept and repeated on subsequent day (which doesn't happen).  Note that if the notification is displayed while the app is in the foreground then it is kept and repeated.
TO REPRODUCE: (on iOS)
-Create a repeating calendar notification like this:
AwesomeNotifications().createNotification(
content: NotificationContent(
id: 1
channelKey: 'basic_channel',
title: 'some title'
body: 'notification body'
),
schedule: NotificationCalendar(repeats: true, hour: 11, minute: 10));
-Minimize the app (i.e. launch another app or go to the launcher)
-Examine the contents of AwesomeNotifications().listScheduledNotifications().  Notice that the previously scheduled repeating notification is no longer scheduled.
Is there a workaround?  My goal is to schedule a daily notification that fires at the same, predetermined time every day.

I'm having the same issue... any solution?

As a workaround, every time I schedule a notification using awesome_notifications I also save the info in Shared Preferences.  Then, every time the app starts or is resumed, I recheck to make sure all of the notifications are still enabled in awesome_notifications and recreated them if they got cancelled for some reason.

Hi! Sorry for taking so long to respond to your issue on GitHub. I was focused on releasing the new 0.7.0 version of awesome_notifications and awesome_notifications_fcm and i didn't had time enough to do both. But now I can answer all your questions.
So now i'm asking you to recreate this topic using the new issue template. There's a lot of missing informations that i need to understand your problem, and all the instructions are already in the new issue template. Also, remember to check beforehand if your issue was posted by another user.
So I will automatically close all previous issues so far.
Sorry for the inconvenience and i will be waiting for your new issue request.
Thank you so much for your support!


SplitterSide collapse prop change doesn't works anymore

SplitterSide collapse prop change doesn't works anymore. If "collapsed" property was set to false, and then set to true, SplitterSide is not collapsed. If initially set to true, it renders collapsed. It worked before as expected.
react-onsenui version: 0.7.7

Thanks for reporting @mishoboss !
I have fixed this so it will work in the next version. I will probably release a new version later today.


How to Aspire with 100s of services, Executables?

When creating an Aspire app host, I following this logic ...
builder.AddProject<Projects.NextWare_UI_Builder_EditServices_API>("nextwareuibuildereditservices");
For this I need to add a project reference to the NextWare_UI_Builder_EditServices_API project in the Aspire AppHost.
Does that mean that our Aspire AppHost project would need to have a project dependency on each of the 100+ service projects or is there another way to configure this?
And, what is meant by executables in the Dashboard?

In the next preview you'll be able to add projects without a project reference, by passing a path to a project file.
Executables can be composed in as resources to be launched by the AppHost, e.g. that's how the Node sample in this repo works, by running npm start.

@DamianEdwards and @davidfowl many thanks!
I think paths to each separate project file would be ideal, and by path I hope you mean Git path and File path??    Git support would be ideal, at least for our needs.
We have developed our own in-house DDD-based, Domain Modeling tool (screen shot below).  This tool includes a VS Code Ext. that we utilize to capture and model any business domain as Aggregates within Bounded Contexts (Services), complete with Command and Event definitions, Value Objects, Enums, all of which gets code generated into backing services via Rosslyn code-gen.
We publish every model into a separate  Meta-Model registry service.  this is so that within other domain models we can establish related references to Aggregates situated within external services outside of the domain being modeled.
We code generate REST, gRPC and GraphQL, the later of which participates within a GraphQL Gateway service, that composes across a myriad of these generated services.
The model below is from our UI Editor services project.  We are building an App Builder for Blazor and the aggregate showing is used to import 3rd party Blazor component libraries.

We code-generate Dapr integrations, and deploy to ACA.  We use GitHub Actions to trigger build/test upon check-in.
We used Tye extensively,  and thus further code-generate a Tye.yml file that contains all of the services within a given domain model which allows us to spin up each as named services, and hoping to replace with Aspire.
The GraphQL Gateways utilize Redis to synchronize the GraphQL Schema for each service, and we register both Core services and Application services using Named HTTP Clients, one per each service as per this code-generated sample ...
/// <summary>
///
/// CoreServicesEndPointConfiguration.cs
///
/// Generates a endpoint for each core domain service
///
///
/// *****************************  Warning  ********************************
///
/// Do not modify the contents of this file! Any changes made to this file
/// will be deleted upon next code generation.
///
/// ************************************************************************
///
///
/// </summary>
///
namespace NextWare.UI.Builder.EditServices.API.DependencyInjection
{
    public static class CoreServicesEndPointConfiguration
    {
        public static IServiceCollection AddEndPointsCoreServices(this IServiceCollection services, ConfigurationManager configuration)
        {
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.AuthorizationServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.AuthorizationServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.MetaModelServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.MetaModelServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.ValidationServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.ValidationServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.BusinessRuleDefinitionServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.BusinessRuleDefinitionServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.ReactionPolicyServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.ReactionPolicyServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.WorkFlowServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.WorkFlowServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.GatewayServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.GatewayServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.ACLServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.ACLServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownCoreServicesSchemaNames.CICDServices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.CICDServices}/graphQL");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            return services;
        }
    }
}

With respect to GraphQL Gateways, our Gateway generator, integrates with our Meta Model Services to retrieve all service definitions, that as the user selects, generate into a separate gateway project/solution service.
Below is and example of a Gateway that was derived from some of our ERP services to compose a GraphQL Gateway service for ERP services...
/// <summary>
///
/// EndPointConfiguration.cs
///
/// Generates a endpoint for each domain service in domain model for GraphQL Gateway
///
///
/// *****************************  Warning  ********************************
///
/// Do not modify the contents of this file! Any changes made to this file
/// will be deleted upon next code generation.
///
/// ************************************************************************
///
///
/// </summary>
///
namespace NextWare.Gateway.DependencyInjection
{
    public static class EndPointConfiguration
    {
        public static IServiceCollection AddEndPoints(this IServiceCollection services, ConfigurationManager configuration)
        {
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpafchatservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpafchatservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpafcommonservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpafcommonservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpafdocumentmgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpafdocumentmgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpaferpexternalservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpaferpexternalservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpafintegrationservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpafintegrationservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpafmetadatamodelservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpafmetadatamodelservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpbpapprovalroutingservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpbpapprovalroutingservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpbpbusinessprocessservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpbpbusinessprocessservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpbpdiagramservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpbpdiagramservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpbpreportingservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpbpreportingservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpbpsupportservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpbpsupportservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpecomdeliveryservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpecomdeliveryservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpecominventoryservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpecominventoryservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpecominvoiceservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpecominvoiceservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpecomorderservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpecomorderservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpecomorgmgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpecomorgmgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpecompaymentservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpecompaymentservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpecomstoreservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpecomstoreservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpftabcmgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpftabcmgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpftdimensionservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpftdimensionservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpftfixedassetsservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpftfixedassetsservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpftgeneralledgerservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpftgeneralledgerservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpftgrcservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpftgrcservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpfttaxservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpfttaxservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpfttransactionservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpfttransactionservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerphrcareermgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerphrcareermgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerphremployeeservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerphremployeeservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerphrhumanresourceservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerphrhumanresourceservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerphrpayrollservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerphrpayrollservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpkmknowledgemgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpkmknowledgemgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpkmresearchservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpkmresearchservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpplmindustryservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpplmindustryservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpplmproductlinemgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpplmproductlinemgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpplmstrategicmgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpplmstrategicmgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpproppropertymgmtservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpproppropertymgmtservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerppurchpurchaseservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerppurchpurchaseservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpsalescmsservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpsalescmsservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpsalescrmservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpsalescrmservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpsalesmarketingservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpsalesmarketingservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpsalespointofsaleservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpsalespointofsaleservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpsalessalesservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpsalessalesservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            services.AddHttpClient(WellKnownSchemaNames.nextwareerpsalessubscriptionservices, c =>
            {
                c.BaseAddress = new Uri($"http://{WellKnownSchemaNames.nextwareerpsalessubscriptionservices}");
            }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();
            return services;
        }
    }
}

I have yet to review your Dapr sample in depth, but I am hoping that since we already adopted a similar end-point naming approach, and are using Dapr, that we won't have too much trouble refactoring our code-generation solution to support Aspire.
BTW, I am in love with the tracing and metrics... WOW!!!
I am having one issue that I am trying to track down.   When I add a reference to one other API project (code-generated so these are similar in nature), I am getting a port (5001), already in use exception.   I noticed Scott's AZ Demo that we can turn generate synthetized BICEP files, showing the deployment configurations.
Are there similar hidden commands that we can run to determine in my case where this duplicate port issue is originating from?
For example, the following Aspire viewed/captured error (below), is occurring because I am not including our Reaction Policy Service,  which the service that is running attempts to connect with to retrieve Service Bus Event subscription and publications for that given service, however when I include that service or any other service, I get that 5001 exception.

Do these projects have a launchSettings? If they don't and they are ASP.NET Core projects, they will fallback to binding to 5000 by default. If you look at the dashboard, what is under Endpoints for each of those projects?

@davidfowl  yes, there are launchSettings shown below... however no endpoints are showing up...

Exception ...

launchSettings as follows
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:55257/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"NextWare.ProjectName.DomainName.API": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:55258/"
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/api/values"
}
}
}
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:55257/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"NextWare.ProjectName.DomainName.API": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:55258/"
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/api/values"
}
}
}
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:55269/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"NextWare.ProjectName.DomainName.API": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:55288/"
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/api/values"
}
}
}

... and for giggles, I when I run Tye  as per this ...

... and I do not see any references to port 5001 anywhere.  This is the exact set of services (excluding the Reaction Policy Service) which fail due to port 5001 already being defined.

It's picking the first launch profile. If you're not using IIS express, you can delete it, or you can use .WithLaunchProfile (e.g. WithLaunchProfile("NextWare.ProjectName.DomainName.API")) to pick the right one.

@davidfowl and @DamianEdwards
I reviewed the Dapr sample project but am still struggling with the Dapr side of things.
I followed the sample, however I think the issue I am having relates to the manner by which we integrate with Dapr sidecars within our current framework.
The following depicts the service composition that we currently are experimenting with, the services showing with dashes are not part of the current experiment ...

In the above diagram, we can run GraphQL queries on the Core Services GateWay that may span multiple Aggregates should they relate to one-another via Agg IDs.  The GraphQL Gateway does a great job at dispatching the correct queries to the respective aggregate locations.
As such, we use'Named HTTP clients', which previously worked with Tye.  With respect to intra-messaging between services we setup Named Clients so that it works with our GraphQL service provider (HotChocolate-HC), as HC only knows of the  Named Http client, and has no idea we bridge this over dapr.
In Tye, we would register a named client as follows ...
 services.AddHttpClient(WellKnownCoreServicesSchemaNames.ReactionPolicyServices, c =>
 {
     c.BaseAddress = new Uri($"http://{WellKnownCoreServicesSchemaNames.ReactionPolicyServices}/graphQL");
 }).AddHttpMessageHandler(() => new InvocationHandler()).AddHeaderPropagation();

... where in this example, WellKnownCoreServicesSchemaNames.ReactionPolicyServices  = ' nextwarecoreserviceseventintegrationreactionpolicyservices'.
Please note the use of **InvocationHandler()**.
This is a Dapr API that injects a Dapr side car for the given named client.
If I assume that the name passed in becomes both the named client that HC injects, and the DaprId, AppId for the Dapr SideCar, then  the following AppHost configuration should work (as per the diagram layout above), but it does not ...
var builder = DistributedApplication.CreateBuilder(args);

// Reaction Policy Services
var reactionPolicyService =
    builder.AddProject<Projects.NextWare_CoreServices_EventIntegration_ReactionPolicyServices_API>(
        "nextwarecoreserviceseventintegrationreactionpolicyservicesapi")
    .WithDaprSidecar("nextwarecoreserviceseventintegrationreactionpolicyservices");

// GraphQL Gateway Project that spans multiple Core Services (todo: add the other Core Services aside from ReactionPolicyServices)
var coreServicesGateWay =
    builder.AddProject<Projects.NextWare_GW_Core_Services_GraphQL_Gateway>("nextwarecoreservicesgwgatewayservicesapi")
        .WithReference(reactionPolicyService)
    .WithDaprSidecar("nextwarecoreservicesgwgatewayservices");

// UI Editor Services integrates with core services gateway to query ReactionPolicyServices

var editServicesAPI =
    builder.AddProject<Projects.NextWare_UI_Builder_EditServices_API>("nextwareuibuildereditservicesapi")
    .WithDaprSidecar("nextwareuibuildereditservices")
    .WithReference(coreServicesGateWay);

// GraphQL Gateway Project that spans Editor Services and UI Builder
builder.AddProject<Projects.NextWare_UI_Builder_GraphQLGateway>("nextwareuibuildergatewayapi")
    .WithDaprSidecar("nextwareuibuildergateway")
    .WithReference(editServicesAPI);

builder.Build().Run();

Questions:

In Tye, we use to see a separate SideCar per each service and Tye would randomize the port for that sidecar but in the case of   'WithDaprSidecar'  extension, where is that happening?

Should we be creating a profile per each SideCar inside the same launchsettings of each respective service?

Because of how I create the Name HTTP Client, do we need the WithDaprSideCar?

Sorry to be a pest but I feel I am super close and this would be awesome to get resolved for the community.
Cheers
John

Victory is mine!
From an running service in a back-ground task that resolves Service Bus Event subscription retrieval from another service indirect via a GraphQL Gateway service ... sweet jimmity-crickets it works!

In preview2, that line will be called implicitly with any call to WithDaprSideCar 😄

The final V1 design that illustrates where Aspire plugs in, which is just about everywhere.

The trace spans tell us so what truly is happening under the covers,  provides a more comprehensive understanding of how data flows through out our apps.
Many thanks Aspire Team, great job!


Why the keypoints whose coordinates are out of the input shape are reserved when generating the label heatmaps?

Hi,
I find when you generate the heatmaps, you throw away the points whose coordinates are less than 0, while how about those ones whose coordinates are bigger than the input shape, you replace them with the boundary's coordinates:
label[i][j << 1 | 1] = min(label[i][j << 1 | 1], ori_size[0] - 1)
label[i][j << 1] = min(label[i][j << 1], ori_size[1] - 1)
I wonder why you reserve these keypoints and generate the heatmaps different from the keypoints' original location.
Thanks!

I think that's a bug we overlooked. But this kind of case may occur rarely.

I agree with the author's opinion, this situation is so few that it won't make harm, I just want to make sure whether you have some reasons. @chenyilun95
May you explain more details, I'm not quite catch what you mean, how to choose the 'valid label'? @lilhope
Thanks a lot!

Sorry I did explain it clearly. In practice, I notice that keypoints out of boundary was mainly come from the rotate augmentation. In dataset.py, line 118 ~ 119, the author use a valid variable to label the out of boundary keypoints as Invisible. In network.py, line 128 and line 132, the 'valid' act as the mask to make label[i,:]=0 where valid[i] < 0, so the label of the out of boundary keypoint was all zero.
So I think the out of boundary label won't harm the performance.

@lilhope I get it, thanks!


Image Data QA Error: Could not find function "select"

Within the Image Data QA section, after I run the image_data_qa function, I cannot successfully run the select function: select(image_data_qa, root_folder, file, starts_with("QA_")) as the code is currently written.
I installed the package install.packages("dplyr") which resulted in R restarting. Once I got back to this step and loaded the library library(dplyr) I was able to successfully run the select function. I also retired and loaded this library at the very start along with bccamptrap and devtools and it worked.
This may be a user error on my end. Is there another way around this? Should the select function already be available or do we need to make note that dplyr needs to be installed and loaded as well?

Hey @btitaro thanks for the report! That was an oversight in the README. dplyr does need to be loaded via library(dplyr). Because it is a dependency of the bccamtrap package, it will be installed on your system when you install bccamtrap. I've added a bit of explanation and the library(dplyr) call to the README: https://github.com/bcgov/bccamtrap?tab=readme-ov-file#image-data-qa

As for when to load the library - when writing an analysis script, it's good practice to load all of the libraries you need at the top of script so that you can see at a glance what you're working with. In the README here I loaded them "just in time" to illustrate where in the workflow you could start to use them (i.e. ggplot2 gets loaded further down once we start demonstrating custom plotting).

Thanks @ateucher - that all makes sense! I'll keep working through the README from this point on and if anything else comes up will let you know.


NIFI-11545 Fix registry integration tests issued by 'mvn verify -Ptest-all-dbs'

Summary
NIFI-11545
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[x] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 11
[ ] JDK 17

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

This looks good overall, there is one checkstyle issue shown in the Static Analysis run by CI
[INFO] --- maven-checkstyle-plugin:3.2.1:check (check-style) @ nifi-registry-web-api ---
Warning:  src/test/java/org/apache/nifi/registry/web/api/UnsecuredITBase.java:[24,8] (imports) UnusedImports: Unused import - org.springframework.test.context.junit4.SpringRunner.


Update master after Sketch 59 release

This is to update the website.

Warnings

:warning:

Source/dom/export.js changed, but not:

🧪 its tests

That's OK as long as you're refactoring.

:warning:

Source/dom/layers/ShapePath.js changed, but not:

📚 its docs
🧪 its tests

That's OK as long as you're refactoring.

  Generated by :no_entry_sign: dangerJS against c7fc6af8f9052c0d560f62cd20cfae78843cf4a7