Map download failed. Trying again.

Can't get it to work, I've put in the api key and installed the req but it doesn't work.
https://i.gyazo.com/ffaee6bb4d636665da1b098700a77208.png
https://i.gyazo.com/f1ba1ca73ead3bc0e18afc74f040bf3b.png

remove -c at the end of the command, it works for me that way

@TraumFabriK79 isn't that the thing that makes it faster?

It's a very weird bug. The niantic server refuses the connection when using pycurl until it times out.
It happens for some of my machines on some networks. (It doesn't work with my home network, but it does in my university). I suspect it has something do with SSL/TSL quirks.
There's no problem without the -c flag.

@nborrmann So if I try on another network there's a slight possibility that it might work?

Different OS, different network, etc.
I don't know what causes it.

Also having the same issue here with -c producing map download failed errors.

I had the same issue when using a Google account, -c failed. Using a PTC account afterwards worked fine with -c.

@jimdrie Wow, this is getting weirder by the minute.

@nborrmann Not sure if that's what caused it, though, but that was my observation.

@jimdrie Is that behaviour reproducible? What happens if you switch back to a Google account?

Alright I fixed it.
The issue was with the DNS lookup. It sometimes takes ages which caused it to timeout. I pointed at the Google DNS server now, which fixes this.

@nborrmann Nice. It was reproducible here: http://imgur.com/eZqSZhd


IgDiscover crashes with pandas 2.0.0

pandas 2.0.0 just came out a few days ago, and it looks like there must be some compatibility-breaking changes compared with the previous major version; IgDiscover crashes with pandas 2.0.0 but works with 1.5.3.  I don't think you'll catch this with the current tests because it's pinned at 1.5.3 in conda-linux-64.lock.
A minimal reproducible example with the test dataset starting from scratch (just with mamba instead of conda, since conda uses an obscene amount of RAM for dependency resolution):
if [ ! -e mambaforge ]; then
        wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
        bash Mambaforge-Linux-x86_64.sh -b
        ~/mambaforge/bin/conda init
        source ~/.bashrc
        conda --version
        conda config --add channels defaults
        conda config --add channels bioconda
        conda config --add channels conda-forge
        mamba create -y -n igdiscover igdiscover
fi
conda activate igdiscover
conda list | grep -E 'pandas|igdiscover'
if [ ! -f igdiscover-testdata-0.5.tar.gz ]; then
        wget https://bitbucket.org/igdiscover/testdata/downloads/igdiscover-testdata-0.5.tar.gz
        tar xvf igdiscover-testdata-0.5.tar.gz
fi
igdiscover init --db igdiscover-testdata/database/ --reads igdiscover-testdata/reads.1.fastq.gz discovertest
cd discovertest && igdiscover run

I get this IgDiscover and pandas:
igdiscover                0.15.1             pyhdfd78af_0    bioconda
pandas                    2.0.0           py310h9b08913_0    conda-forge

And it fails on the rule plot_errorhistograms with:
INFO: Wrote 'iteration-01/errorhistograms.pdf'
Traceback (most recent call last):
  File "/home/test/mambaforge/envs/igdiscover/bin/igdiscover", line 10, in <module>
    sys.exit(main())
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/igdiscover/__main__.py", line 92, in main
    to_run()
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/igdiscover/__main__.py", line 90, in <lambda>
    to_run = lambda: module.main(args)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/igdiscover/cli/errorplot.py", line 98, in main
    g = sns.catplot(x='v_call', y='V_SHM', kind='boxen', order=genes, data=table,
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/_decorators.py", line 46, in inner_f
    return f(**kwargs)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/categorical.py", line 3847, in catplot
    g.map_dataframe(plot_func, x=x, y=y, hue=hue, **plot_kws)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/axisgrid.py", line 777, in map_dataframe
    self._facet_plot(func, ax, args, kwargs)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/axisgrid.py", line 806, in _facet_plot
    func(*plot_args, **plot_kwargs)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/_decorators.py", line 46, in inner_f
    return f(**kwargs)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/categorical.py", line 2642, in boxenplot
    plotter.plot(ax, kwargs)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/categorical.py", line 2065, in plot
    self.draw_letter_value_plot(ax, boxplot_kws)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/categorical.py", line 2024, in draw_letter_value_plot
    self._lvplot(box_data,
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/categorical.py", line 1918, in _lvplot
    box_ends, k = self._lv_box_ends(box_data)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/seaborn/categorical.py", line 1847, in _lv_box_ends
    with pd.option_context('mode.use_inf_as_null', True):
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/pandas/_config/config.py", line 441, in __enter__
    self.undo = [(pat, _get_option(pat, silent=True)) for pat, val in self.ops]
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/pandas/_config/config.py", line 441, in <listcomp>
    self.undo = [(pat, _get_option(pat, silent=True)) for pat, val in self.ops]
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/pandas/_config/config.py", line 135, in _get_option
    key = _get_single_key(pat, silent)
  File "/home/test/mambaforge/envs/igdiscover/lib/python3.10/site-packages/pandas/_config/config.py", line 121, in _get_single_key
    raise OptionError(f"No such keys(s): {repr(pat)}")
pandas._config.config.OptionError: No such keys(s): 'mode.use_inf_as_null'
[Thu Apr  6 11:19:13 2023]
Error in rule plot_errorhistograms:
    jobid: 2
    output: iteration-01/errorhistograms.pdf, iteration-01/v-shm-distributions.pdf
    shell:
        igdiscover errorplot --multi=iteration-01/errorhistograms.pdf --boxplot=iteration-01/v-shm-distributions.pdf iteration-01/filtered.tsv.gz
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

Removing output files of failed job plot_errorhistograms since they might be corrupted:
iteration-01/errorhistograms.pdf
Job failed, going on with independent jobs.
Exiting because a job execution failed. Look above for error message
Complete log: /home/test/discovertest/.snakemake/log/2023-04-06T111908.380212.snakemake.log
Total CPU time: 0h 0.18m
ERROR:

If I instead force it to pandas 1 like this:
        mamba create -y -n igdiscover igdiscover pandas=1

I get these packages:
igdiscover                0.15.1             pyhdfd78af_0    bioconda
pandas                    1.5.3           py310h9b08913_1    conda-forge

...and it all works as expected.  Maybe for the time being pandas should be pinned at version 1 in environment.yml?  (Unless it's an easy update for new pandas; I just have no idea.  Looks to me like it might be seaborn's fault based on that mode.use_inf_as_null thing in the traceback.)

Thanks a lot for reporting! I have opened https://github.com/bioconda/bioconda-recipes/pull/40289 for the time being until I have time to investigate this further.

BTW, you can now set Conda to use the Mamba solver with these commands:
conda install -n base conda-libmamba-solver
conda config --set solver libmamba

(I hope they make it the default soon.)

Oh wow, I had no idea conda had yielded to mamba to that extent.  Thanks!
Also pretty sure it's seaborn's problem here.  I'm not familiar with seaborn but for what it's worth this crashes with pandas 2.0.0 but works with 1.5.3:
import seaborn
import pandas
table = pandas.DataFrame(data = {
    "x": ["A", "A", "A", "B", "B", "B"],
    "y": [5, 7, 6, 2, 3, 2.5]})
seaborn.boxenplot(data=table, x="x", y="y")

Oh wow, I had no idea conda had yielded to mamba to that extent. Thanks!

I think the intention by the Mamba folks was from the beginning to get the fast solver back into Conda. Good to see it happening.

Also pretty sure it's seaborn's problem here. I'm not familiar with seaborn but for what it's worth this crashes with pandas 2.0.0 but works with 1.5.3:
[...]

Ah, thanks for the reproducer. I’ll see whether I can get IgDiscover to use the most recent seaborn version. I saw some commits regarding pandas 2 compatibility.


krill: 0.10.0 -> 0.11.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/NLnetLabs/krill/releases.
meta.description for krill is: "RPKI Certificate Authority and Publication Server written in Rust"
meta.homepage for krill is: "https://github.com/NLnetLabs/krill"
meta.changelog for krill is: "https://github.com/NLnetLabs/krill/blob/v0.10.1/Changelog.md"
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.10.1 with grep in /nix/store/y27fdyzcfv68m6wksgmdzqplv49351l7-krill-0.10.1
found 0.10.1 in filename of file in /nix/store/y27fdyzcfv68m6wksgmdzqplv49351l7-krill-0.10.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
krill

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/y27fdyzcfv68m6wksgmdzqplv49351l7-krill-0.10.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A krill https://github.com/r-ryantm/nixpkgs/archive/6dad2f2fb0ea13268644738969034797b666b73f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/y27fdyzcfv68m6wksgmdzqplv49351l7-krill-0.10.1
ls -la /nix/store/y27fdyzcfv68m6wksgmdzqplv49351l7-krill-0.10.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

krill

Maintainer pings
cc @steamwalker for testing.

@steamwalker The changelog url doesn't work anymore

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/NLnetLabs/krill/releases.
meta.description for krill is: "RPKI Certificate Authority and Publication Server written in Rust"
meta.homepage for krill is: "https://github.com/NLnetLabs/krill"
meta.changelog for krill is: "https://github.com/NLnetLabs/krill/blob/v0.10.2/Changelog.md"
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.10.2 with grep in /nix/store/pj643xj5dal65pz5dk0lnkllll384xav-krill-0.10.2
found 0.10.2 in filename of file in /nix/store/pj643xj5dal65pz5dk0lnkllll384xav-krill-0.10.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
krill

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/pj643xj5dal65pz5dk0lnkllll384xav-krill-0.10.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A krill https://github.com/r-ryantm/nixpkgs/archive/79d81b8bb83b16f294941f31ea93111373563432.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/pj643xj5dal65pz5dk0lnkllll384xav-krill-0.10.2
ls -la /nix/store/pj643xj5dal65pz5dk0lnkllll384xav-krill-0.10.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

krill

Maintainer pings
cc @steamwalker for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/NLnetLabs/krill/releases.
meta.description for krill is: "RPKI Certificate Authority and Publication Server written in Rust"
meta.homepage for krill is: "https://github.com/NLnetLabs/krill"
meta.changelog for krill is: "https://github.com/NLnetLabs/krill/blob/v0.10.3/Changelog.md"
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.10.3 with grep in /nix/store/m8w7bv7ynx6arlqv9rs8yzn1jyl19v9y-krill-0.10.3
found 0.10.3 in filename of file in /nix/store/m8w7bv7ynx6arlqv9rs8yzn1jyl19v9y-krill-0.10.3

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
krill

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/m8w7bv7ynx6arlqv9rs8yzn1jyl19v9y-krill-0.10.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A krill https://github.com/r-ryantm/nixpkgs/archive/102d15bfa419533ad09fb2a6e68efb1c14003636.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/m8w7bv7ynx6arlqv9rs8yzn1jyl19v9y-krill-0.10.3
ls -la /nix/store/m8w7bv7ynx6arlqv9rs8yzn1jyl19v9y-krill-0.10.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

krill

Maintainer pings
cc @steamwalker for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/NLnetLabs/krill/releases.
meta.description for krill is: "RPKI Certificate Authority and Publication Server written in Rust"
meta.homepage for krill is: "https://github.com/NLnetLabs/krill"
meta.changelog for krill is: "https://github.com/NLnetLabs/krill/blob/v0.11.0/Changelog.md"
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.11.0 with grep in /nix/store/5886rw3b566ny2vgq5v6knx2a2lhpalm-krill-0.11.0
found 0.11.0 in filename of file in /nix/store/5886rw3b566ny2vgq5v6knx2a2lhpalm-krill-0.11.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
krill

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5886rw3b566ny2vgq5v6knx2a2lhpalm-krill-0.11.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A krill https://github.com/r-ryantm/nixpkgs/archive/c9ea0b96f6dabd11e9d45c1d0b7eb9d4eddadb2d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5886rw3b566ny2vgq5v6knx2a2lhpalm-krill-0.11.0
ls -la /nix/store/5886rw3b566ny2vgq5v6knx2a2lhpalm-krill-0.11.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

krill

Maintainer pings
cc @steamwalker for testing.

The changelog url doesn't work anymore

Looks like it is not a regression so I guess it is okay not to block this update with this reason :thinking:
Builds on x86_64-darwin using github-actions, took me 1h so not surprised if ofborg timeout


V6: Remove deprecated options for spo listitem list. Closes #3365

Targets the v6 branch
Closes #3365

Thanks @Jwaegebaert, will review asap!

Thank you. Manually merged


Add platform specific FilePicker methods with typed return type

When using FilePicker in platform specific modules like androidMain or iOSMain, it would be easier to access the typed file directly without needing to check the type of MPFile.platformFile.
I suggest here to add a platform specific method for each target, returning MPFile with typed platformFile.
Example for JVM target:
FilePickerJvm(show, fileExtensions = listOf("jpg", "png")) { file: JvmFile? ->
    if (file != null) {
        // Easy access to java.io.File methods
	println("File chosen: ${file.platformFile.name}")
    }
}

Here are the new methods:

Android: FilePickerAndroid
iOS: FilePickerIOS
JS: FilePickerWeb
JVM: FilePickerJvm
MacOSX64: FilePickerMacOS

The method FilePicker continues to work everywhere with MPFile<Any>.
I updated and tested all examples.
Can fix #69 by adding typed platform MPFile.

There must be a better way. Adding those functions for all platforms just looks wrong... Also I have never seen such pattern in other libraries which are multiplatform.
If I add a dependency like implementation("com.darkrockstudios:mpfilepicker-jvm:3.0.0") I would expect it to only include JVM dependencies and the received file will have java.io.File type.
I think there is something wrong with the library API. The JVM function type has FileSelected which is same as (MPFile<Any>?) -> Unit.  I tried to write (JvmFile?) -> Unit, which I think is a subtype of (MPFile<Any>?) -> Unit, but it did not work...
public expect fun FilePicker(
	show: Boolean,
	initialDirectory: String? = null,
	fileExtensions: List<String> = emptyList(),
	title: String? = null,
	onFileSelected: FileSelected, // this should change in JVM
)

Maybe it is possible with subtypes somehow.  I will ask this on Kotlin Slack

I agree with you. We can provide a better API without adding those functions.
I've updated the PR with an improved solution and less code by introducing an expected class called PlatformFile.
Here is an example for Android:
FilePicker(showFilePicker) { platformFile ->
   val uri = platformFile?.uri
   // Do something with the uri
}

And here for Desktop:
FilePicker(showFilePicker) { platformFile ->
   val file = platformFile?.file
   // Do something with the file
}

@shalva97 What do you think?

Honestly I think the API is a mess and it is getting worse. There is path, which is just a file name on Web, there is now a title argument, which does not work on all platforms and it is included in all functions....
The best decision for me seems to be to not write common code, but to delete all that we have. There is an idea I have right now to archive this repo, create another library, which will have 0 common code and libraries with different targets will be published as separate libraries
Because there are so many different cases to support I can't imagine all the cases to be covered in common code. My initial idea was that there would be a function that would return a path with a type of String and everyone would be happy. Unfortunately this is not that simple, for example on Web you don't get path of a file, on other platforms it is different objects, same kinds of arguments have different effects on different platforms.
what are your thoughts? @Wavesonics maybe you have some ideas? Im not sure if it is correct way to have common code for all targets

okay, I have asked about this here https://kotlinlang.slack.com/archives/C3PQML5NU/p1703772541744629 let's see what others say.

I have changed my mind once again. The best variant for me seems to have platform specific functions, yes I know I called them ugly, but I don't see a better way.
Could you please revert the latest commits and fix conflicts?

For me, it is still a good option.
Here we have the flexibility to:

Use FilePicker in each individual platform source code and easily access to the file of the platform
Use FilePicker in the common source code and handle the returned file with something like this

expect fun handlePlatformFile(platformFile: PlatformFile)

FilePicker(...) { platformFile ->
    handlePlatformFile(platformFile)
}

We are in full control of what we want to do on each platform with the file while using FilePicker in the common source code, that's great imo.

Agree we do have control of returned type on each platform. Another issue is the arguments, for example title argument, which is in common code but does not work on all platforms, so that's why I said that your first solutions was better. Anyways, this is another issue...
okay, I will approve this a bit later, need to run all examples and see if they all work. Also I will create an issue for the argument I mentioned above.


Fixed Hungary bank codes to be numeric

Hello @mdomke,
I'm sorry, but I made a mistake in my previous PR with Hungarian bank codes #96, this PR corrects it.
I've checked the Hungarian IBAN format https://bank.codes/iban/structure/hungary/, where bank codes are in 3n format, which I've corrected in the generator script and generated valid bank_codes.

Thank you for the fix! I think it would be good if we could create a test next time. In tests/test_bic.py::test_bic_from_bank_code we could add a parametrization over country code and bank code, in order to check if the BIC can be properly derived.


Update Docker base image version

Use latest eclipse-termurin:11-jdk image to minimise exposure to security vulnerabilities in the base image.
Also:

Change permissions for Gradle publishing workflow to allow publish to GitHub Packages.
Update Bouncy Castle dependency to latest patch release (1.78 to 1.78.1).

@bestbeforetoday I approved this one, but then noticed integration tests are failing in chaincode build due to
Could not resolve org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.5.2

@denyeart I realised that the versions numbers need to be updated since the last release. Doing that seems to cause issues with the integration tests since they pull from Maven Central, where the new version has not yet been published. It seems that something needs to change in the build so that the integration tests run against the current development code, not previously published code.

The branch protection rules really should not have allowed the merge to happen with a failing build either. I'll look into that.

Pull request #344 reverts the version of fabric-chaincode-shim dependency on one of the integration test chaincodes so that the tests pass again. Really they should work with the current development version but that needs some more work on the build to resolve.


feat(auto-instrumentation): PHP support

What does this PR do?
This PR adds PHP support to the cluster-agent.
https://datadoghq.atlassian.net/browse/APMON-1295
Motivation
Additional Notes

This is currently just a scaffolding because we have open questions and requirements for this to actually go out, tests are failing, etc.

The injector (v2) has the ability to do env detection so it's better poised to do env-var merging.

Possible Drawbacks / Trade-offs

Not sure if we want to turn this on for everyone with SSI or have this be opt-in support yet.

Describe how to test/QA your changes

There's no published PHP tracing library image for us to use yet, so there's nothing to test. Which means this is currently unshippable.

Superseded by https://github.com/DataDog/datadog-agent/pull/29890


Typing context manager for Hacktober cogs

Went through the hacktober cogs and added the with_typing() context manager where appropriate.
Fixed some minor syntax issues & cleaned some syntax where immediately noticeable.
Resolves #68

Looks great. I'm just gonna merge that in and we can sort out flake8 in my PR after I update that branch.


Clarify and simplify ARM term

Ping.  I still need approval from a dev on aztools.

Superseded by #290


Minor typo

I have noticed it when working on https://github.com/oliviertassinari/react-swipeable-views/pull/148.
I'm basically using the same API.

Thanks for the typo fix. 😄 I'll merge as soon as I get the v8 branch merged so as to avoid conflict.
It's a shame you had to re-invent a windowed view. I'm guessing lack of a good animation solution within RV prevented it from being an option?

Current coverage is 98.03% (diff: 100%)

Merging #394 into master will increase coverage by 2.30%

@@             master       #394   diff @@
==========================================
  Files            35         61     +26
  Lines          1287       4367   +3080
  Methods         109        940    +831
  Messages          0          0
  Branches        272        326     +54
==========================================
+ Hits           1232       4281   +3049
- Misses           55         86     +31
  Partials          0          0

Powered by Codecov. Last update 91660ae...2172999

No rush 🐌 .
Yeah, I wish I could have been using RV! I have now idea where I should have been started.
At lease, that's was fun 😄 .
I can share the two constraints I had when designing it:

I'm targeting react-dom as well as react-native. I don't have much other choice than to implement it with an HOC.
The displayed slide is defined by a combination of the children and the index property.

Conflicts with master now that version 8 has been merged. Just spot-fixed it. Thanks! 😉


[Enhancement] Unbreakable upgrade for Dark Steel Armor

I love the Dark Steel Armor and all of it's upgrades.  The only thing I hate about the armor is how it still gets damaged so easily after spending so many levels and resources on adding all of the upgrades.  What do you think about maybe adding an upgrade that negates the durability for the armor 100%.  So that after the upgrade the armor takes only hits to the power in the armor instead of damaging the armor.  Of course this means that the armor would use more power to deflect the damage due to the upgrade....so instead of it only taking 1/2 the durability damage it would now take 2x the power it did but the armor would remain unharmed as long as it had power to deflect the damage.  What do you think?

Was that implement deleted?

the energy settings for dark steel items just got moved to capacitor.xml.


This project is NOT dead. Read for details!

Due to the relative inactivity of this repo, you might think that this project is dead or abandoned. However, that couldn't be further from the truth - I'm working on the massive 200th update, which will come with loads of improvements (mainly a directory restructure, scripting overhaul, new home pages, and more!)
Oh, and here's a small sneak peek ;)

Thank you all for your interest in this project! Feel free to ask questions in the comments below.

hey yo. wtf is this code 💀
window.doAlert = function(text){
var taunt = ['nice try lmfao', 'inspect element ain't gonna work here kid', 'you are a big mac from McDonald's kid'];
dialogMessage.textContent = text;
openDialog();
function checkDialogState(){
if (dialogMessage.textContent !== text && !taunt.includes(dialogMessage.textContent) && dialogMessage.textContent !== '') {
dialogMessage.textContent = taunt[Math.floor(Math.random() * taunt.length)];
console.error('nice try fucker');
setTimeout(function(){dialogMessage.textContent = text;},190);
}
}
intervalId = setInterval(checkDialogState,10);
window.resetDialogChecker = function(){
clearInterval(intervalId);
dialogMessage.textContent = text;
};
};

@Eduardo7881 that was removed long ago lmfao

any updates?
🤔

@home-gihub to be honest, not really. The update probably isn't going to release with all the features I had anticipated, but I'll try to finish as much as I can within a reasonable amount of time.
I've been distracted with other life stuff too, so that definitely doesn't help either :P

@home-gihub to be honest, not really. The update probably isn't going to release with all the features I had anticipated, but I'll try to finish as much as I can within a reasonable amount of time. I've been distracted with other life stuff too, so that definitely doesn't help either :P

okay 😜

Gonna close this since I've updated the repo recently. Merry Christmas!


Path needs to be updated.

This post needs to be updated. The correct path to enable OpenSSH Server, at least on Windows 11, is Settings ==> System ==> Optional features.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 18a5a4e5-2604-23c2-1374-68a6974170bc
Version Independent ID: f93809cc-eb5e-6b9b-ed58-c8811a8ee21f
Content: Get started with OpenSSH for Windows
Content Source: WindowsServerDocs/administration/OpenSSH/OpenSSH_Install_FirstUse.md
Product: windows-server
Technology: administration
GitHub Login: @robinharwood
Microsoft Alias: roharwoo

#assign:christking246

Thanks again for contacting Microsoft, we value your feedback.
A documentation change has been made updating the instructions for installing and uninstalling OpenSSH on your Windows devices and will be live after the next business day. We will now be closing this thread.
Thank you and have a most pleasant day.


[DOC] Kafka-Connect - comparaison unclear

     Ease of use: Firehose is easier to install, and using different sinks only requires changing a few configurations. When used in distributed mode across multiple nodes, it requires connectors to be installed across all the workers within your Kafka-Connect cluster.
I don't understand that sentence , what is easier ?

 Filtering: Value-based filtering is much easier to implement as compared to Kafka-Connect. Requires no additional plugins/schema-registry to be installed.
same there are pre existing filter , transformation in kafka connect -> https://kafka.apache.org/documentation/#connect_included_transformation
and you can add other open source or create your own transformation , what is easier with firehose ?

    Extensible: Provides a comprehensible abstract sink contract making it easier to add a new sink in Firehose. Firehose also comes with an inbuilt serialization/deserialization and doesn't require any converters and serializers when implementing a new sink.
again kafka-connect come by default with some serializers example org.apache.kafka.connect.json.JsonConverter
and if you need others you can add them , what is different with firehose ?
if I have confluent schema-registry then I will need avro deser/ser also in firehose

Connectors: Some of the Kafka connect available connectors usually have limitations. Its usually rare to find all the required features in a single connector and so is to find documentation for the same
this is not relating to kafka-connect itself , your firehose connectors will also be opinionated

    Fully open-source: Firehose is completely open-source while separation of commercial and open-source features is not very structured in Kafka Connect and for monitoring and advanced features, confluent control center requires an enterprise subscription
kafka-connect is  fully open-source: , the fact that confluent is not open sourcing all the connectors they build is not related to kafka-connect itself
and for monitoring ( like debezium ) all specific connectors metrics are available in JMX
also they are multiple great open source UI for kafka-connect like https://github.com/provectus/kafka-ui

conclusion :  many confusions between kafka-connect and some not open source code from confluent
A fair comparison would be great  where you simply and factually list the differences
like
firehose is a kafka-connect sink server alternative

not capable of doing source
not compatible with existing kafka-connect sink connectors
is not using kafka topics to store configurations of the cluster but ...
not using JMX to expose metrics but ...
...

Unlike kafka connector firehose does not require you to manage connect plugins and only a configuration change is required to switch ot configure different sinks. Which makes it easy to use when you need for multiple sinks.
Same as first one.

Unlike kafka connector firehose does not require you to manage connect plugins
You mean firehose can dynamically download a new plugging without restarting the process?
In all case it's a bad practice, it's better to have all the source code in the static container image, that mean you can restart you container without any side effect of a plugging repository not answering

I meant Firehose packs all available sinks. So users do not have to manage plugins on their own. All sinks are packed in a single jar and single container.
I closed the issue because for now, we have removed the comparison from the documentation page. We will add the comparison again when we are finished with the benchmarks.

You can create a custom connector in firehose but it does not require any other system to work. Consumer, Serde, filters, DLQ, sinks, and other features are bundled together and the same binary can be used to confirm any of the sinks you want. Firehose is built with ease of use in mind for sinks that are already there in it. And extensible when sinks are not available already.

I'm lost, your not precise in your vocabulary
It's probably clear on your mind but it's very confuse for me.
I still don't understand what is offering this project
And I'm tired to try, bye

No issue. Thanks for your effort and contribution :) Feel free to connect again.


[QUESTION] Remove 3D Sky

I was wondering what's the difference between calling this in 'DoPostScreenEffects' instead of in 'FrameStageNotify' at the RENDER_START?

No difference.


[android] Add more changes to build the compiler

I just built the Oct. 14 trunk source snapshot natively in the Termux app on Android and cross-compiled the Oct. 27 trunk snapshot from linux to Android using these changes, finagolfin/termux-packages@374754b06.
@drodriguez, please review.

@bnbarham, calling in a CI run. 😄

@swift-ci please test

@swift-ci please build toolchain

Alright, linux and mac CI passed. Windows CI is broken right now, but both the CI and toolchain build got to the compiler validation suite before failing, showing this change didn't break building the compiler and I checked the Windows CI log to make sure it is still choosing the pure C++ bridging mode instead. Mac toolchain build failure appears spurious.
@drodriguez, if you would just approve, I'll make sure this passes the CI in the coming week.

Rebased and simply renamed a variable.

@swift-ci please test

Linux and mac CI passed again, Windows CI failed at source checkout.

@egorzhdan, please schedule a Windows CI run, should pass now.

@al45tair, please run the Windows CI on this.

@swift-ci please test windows platform

@drodriguez, ready for review, passed all CI. It works fine on the Windows CI too, with pure bridging still set there, so changing that CMake variable you were worried about had no effect.

@drodriguez, this passed all CI, let me know what you think.

@bnbarham, can you run CI again and review? I think Daniel is too busy to get to this.
Other than the single lld change, which benefits all ELF platforms using lld, this pull only affects the Termux app for Android, including the CMake variable change discussed above which worked fine on the Windows CI before break, so should be fine to merge.

@bnbarham, would you review and merge? I've addressed all the concerns about the single CMake variable change, including showing it works fine on the Windows CI, and the rest of the pull other than the lld change only affects building the compiler for the Termux Android app, so should be fine.

@al45tair, would you review this small pull?

As far as I can tell, the main issue here was with the change that involves Windows. Given it passes there, I'll merge for now. If any issues come up, we can revert.


chore: adds gated NFT paymaster tutorial

What :computer:

Adds a new tutorial "Gated NFT Paymaster"
Formats repository
Adds applicable images to /assets

Why :hand:

The tutorial demonstrates how to build a simple dApp that makes use of a custom paymaster

Evidence :camera:

Checkout out the branch db/nft-gated-tutorial
Run: yarn install
Run: yarn docs:dev

Notes :memo:

Any notes/thoughts that the reviewers should know prior to reviewing the code?

Overall, this is great!! Can't wait to add the video recording from last week 😄


excludes deleted services from being considered for target generation

We still seem to have issues with deleted clusters paging on KVM. There is an exception implemented in the kvm-operator. I am wondering if we could just drop that since other providers should have the same problem. Maybe? Uncertain. Anyway, I think it is safe to exclude deleted services from the target generation here.

I would merge this PR regardless the implications in the kvm-operator. My question was rather if we should remove the exception in the kvm-operator regardless. The implication there would be that the deletion process is not that graceful and takes longer due to the drainer timeout of currently half an hour. I think the change here fixes the actual issues already though.

After some testing I think this helps improving the situation. Going with it.


Proxy list error on all bots.

Without using proxy bot says index is out of range.

While using proxy list;

getting that error 3 times and stops.
My proxy list looks like that;

And im using tokens.txt, i have tried upgrading dscum discum==1.0.0 to discum==1.0.1 nothing changed. Also installed lastests dep.
bs4==0.0.1
discum==1.0.0 =>> discum==1.0.1
selenium==3.8.1
requests==2.21.0
nothing changes. still same error while using account creating, spam bots and joiner.
Desktop (please complete the following information):

OS:  Windows 10
Python Version: 3.7.8

And i have tried to install bot on 3 pc one of them Windows Server 2019 two of them w10 all of them got same error.

i have the same problem in ticket #89

Seems last push really messed up the start, I’ll look into it

thanks mate i really grateful about your work.


Tutorial Page vora-ova-install.md Issue. PROD

Tutorial issue found: https://github.com/SAPDocuments/How-Tos/blob/master/tutorials/2017/02/vora-ova-install/vora-ova-install.md contains invalid primary tag.
Your tutorial was not updated. Please double-check primary tag property.
Each tutorial md-file shall have primary tag provided above. Example:
---
title: teched 2016 08
description: Create a Destination to allow HANA Cloud Platform to read/write data
primary_tag: tutorial>HANA
tags: [tutorial>mobile]
---
Affected server: PROD

It has been fixed already.


Use constructor attribute instead of +load objc method

Summary
Xcode 10.2 forbids creating categories for swift class that uses +load method. In react-native categories like this are used to register swift classes as modules (macro RCT_EXTERN_MODULE) This PR changes it to use __attribute__((constructor)) instead of objc +load method.
I introduced new macro for this purpose, RCT_EXPORT_MODULE_NO_LOAD, it expands in something like:
void RCTRegisterModule(Class);

+ (NSString *)moduleName {
  return @"jsNameFoo";
}

__attribute__((constructor)) static void initialize_ObjcClassFoo{
  RCTRegisterModule([ObjcClassFoo class]);
}

Functions marked with __attribute__((constructor)) are run before main and after all +load methods, so it seems like correct thing to do.
Fixes https://github.com/facebook/react-native/issues/24139
Doc about loading order https://developer.apple.com/documentation/objectivec/nsobject/1418815-load?language=objc
Changelog
[iOS] [Fixed] - Fix runtime crash in xcode 10.2 when using RCT_EXTERN_MODULE for swift classes.
Test Plan
Builds and runs successfully.

Should we change all registration to use that?
LGTM, but I think Ramanpreet @RSNara should bless it.

Should we change all registration to use that?
New style requires objc_name, so it can be not so convenient as old style, and will require a lot of changes from users.

This fix worked well for me. Thanks!

@shergin @RSNara test_android failed, and I don't think it is because of my changes, what can I do about it?

Is there a reason why +load must be used in some cases? Would it be better to simply change the old method to the new method? It would be best not to force changes on a lot of not just apps but library authors just to support new version of Xcode (while breaking compatibility with old version of React Native).
I get that since you can't do RCTRegisterModule(self), you need objc_name, but in most cases it's the same as js_name. If it's not, we already have RCT_EXTERN_REMAP_MODULE

Is there a reason why +load must be used in some cases? Would it be better to simply change the old method to the new method? It would be best not to force changes on a lot of not just apps but library authors just to support new version of Xcode (while breaking compatibility with old version of React Native).
I get that since you can't do RCTRegisterModule(self), you need objc_name, but in most cases it's the same as js_name. If it's not, we already have RCT_EXTERN_REMAP_MODULE

Change that I'm introducing is non-destructive, that means that no code will be broken. Changing the way RCT_EXPORT_MODULE works by adding the objc_name argument or assuming that it will be equal to js_name is destructive. There are dozens of places even in react-native code itself that calls RCT_EXPORT_MODULE without arguments (for example RCTDataRequestHandler, RCTHTTPRequestHandler), that means it will broken and should be fixed. In fact there are much more uses of RCT_EXPORT_MODULE without arguments than with specified js_name. Also there are many places that js_name and objc_name are different (RCTPlatform.m).
So, as I'm seeing this, changing RCT_EXPORT_MODULE to use constructor attributed c functions instead of objc's +load is far more debatable thing to do. And as I'm not very familiar with react native, I'm not competent enough to make this change :)

Also there are many places that js_name and objc_name are different

Alright, that convinces me 👍

I found a similar issue in one of the iconic-team repo. They just deleted all "load" methods in their code to avoid this problem.
I searched inside the react-native folder and found THREE files with +(void)load method for ios. They are:
React/Base/RCTBridgeModule.h
Libraries/WebSocket/RCTReconnectingWebSocket.m
RNTester/Swizzle_RCTFabricSurface.m
Hope it helps.

@zienag I will land it on Monday.

Hm, actually NativeModules.UserEventEmitter becomes undefined.

No, my bad. Sorry guys.
It's working fine.


Update VSMEF001PropertyMustHaveSetter.cs

Codecov Report

Merging #345 (be05d75) into main (b655a40) will decrease coverage by 0.34%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #345      +/-   ##
==========================================
- Coverage   76.17%   75.82%   -0.35%
==========================================
  Files         110      110
  Lines        7194     7194
==========================================
- Hits         5480     5455      -25
- Misses       1714     1739      +25

Impacted Files
Coverage Δ

...sition.Analyzers/VSMEF001PropertyMustHaveSetter.cs
97.14% <100.00%> (ø)

....Composition.AppDomainTests/OpenGenericExport`1.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...mposition.AppDomainTests/ExternalExportOnMember.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...mposition.AppDomainTests/ExternalExportWithLazy.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...osition.AppDomainTests2/CustomMetadataAttribute.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...dTypeReceiver/PartThatImportsLazyOfEmbeddedType.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...rtThatLazyImportsExportWithMetadataOfCustomType.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...atLazyImportsExportWithTypeMetadataViaTMetadata.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...tLazyImportsExportWithTypeMetadataViaDictionary.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...ft.VisualStudio.Composition/LazyMetadataWrapper.cs
68.71% <0.00%> (-3.07%)
:arrow_down:

... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


MessageController and UI for message added

/migrate new tables
Check MessageController
Check  dashboard/messages
Add web message and click Save
after saving click send button which is near Save btn
It will redirect to specific message page.
Needs to improve:
Unable to save other messages like AR, RSVP etc. It gives error while adding
NA btn on messages page indicates status of the msg

Everything is good. But for chosing the guests, it's better to display it as a table with checkbox for every row like you implemented for vivekananda quiz
Also multiple filters can be added later


docs: Add GitHub action to run checks on Markdown content during pull-request

What does this PR do?

Add GitHub action to run checks on Markdown content during pull-request

You can see it in action here https://github.com/bryantbiggs/boop/pull/1 (after merge I can follow up with a PR to resolve the linting issues its caught)

Motivation

Keep things in check to avoid changes with lots of whitespace noise due to formatting (https://github.com/aws-ia/terraform-aws-eks-blueprints/pull/424)

More

[ ] Yes, I have tested the PR using my local account setup  (Provide any test evidence report under Additional Notes)
[ ] Yes, I have added a new example under examples to support my PR
[ ] Yes, I have created another PR for add-ons under add-ons repo (if applicable)
[ ] Yes, I have updated the docs for this feature
[ ] Yes, I ran pre-commit run -a with this PR

Note: Not all the PRs required examples and docs except a new pattern or add-on added.
For Moderators

[ ] E2E Test successfully complete before merge?

Additional Notes

just saw we have super-lint so closing until I see what we already have in place that might cover


Update tealr description

Lots of stuff has changed since I wrote that, so feels right to finally update this description as well.

merged, thank you!


fix: jq to select latest version

Related to #48 ... was testing against artifactory-pro, but it failed due to "sha256" tags, so this is a better pattern match for "version" like tags.
Now it works with artifactory-pro:
[tmcneely@local artifactory-secrets-plugin]$ ARTIFACTORY_IMAGE=artifactory-pro ARTIFACTORY_VERSION=latest ./scripts/run-artifactory-container.sh
ARTIFACTORY_IMAGE=artifactory-pro
ARTIFACTORY_VERSION=7.55.4
Unable to find image 'releases-docker.jfrog.io/jfrog/artifactory-pro:7.55.4' locally
7.55.4: Pulling from jfrog/artifactory-pro
#...

On a side note, I am 99% sure we are using 7.55.10, but the latest published image tag in the jfrog docker repo shows 7.55.4?
I find that a bit strange :)
~tommy

I am not sure why all the links for artifactory-jcr repos in releases.jfrog.io are returning 404's now (suspicious?), but Artifactory-pro would be the same release versions, so I am parsing that output. I have also had success with artifactory-oss...
[tmcneely@local artifactory-secrets-plugin]$ export ARTIFACTORY_IMAGE=artifactory-oss
[tmcneely@local artifactory-secrets-plugin]$ make artifactory
ARTIFACTORY_IMAGE=artifactory-oss
ARTIFACTORY_VERSION=7.55.10
Unable to find image 'releases-docker.jfrog.io/jfrog/artifactory-oss:7.55.10' locally
7.55.10: Pulling from jfrog/artifactory-oss

For what it's worth, the reason I am messing around is that I got a new computer and arifactory-jcr is failing to start up on Apple Silicon. The only thing I can tell that is different is that the OSS and PRO images show up as native to the platform (arm64) while the jcr shows up as amd64 (emulated) :-/

My guess is that jcr hasn't been updated for Apple Silicon yet.


Added Freewallet.org wallet

I don't think promoting custodial wallets is in the benefit of the community.

Let's be honest: a lot of people use custodian wallets (like Freewallet or Coinbase) because what we offer isn't just a wallet. We offer an exchange as well, commission-free transactions and flash transfers between accounts. Users consider a lot of factors before choosing a custodian wallet. Some people are convenience driven. Cryptos make you take the responsibility for own finances.  We appreciate it, but it's not for everyone!

I have seen far too many complaints about this wallet to add it in good faith. I would need other people to vouch for this to be added. This is not something I am willing to endorse.


[Everywhere] Unable to load vehicle layouts at the first time playing game

Game Account storage had different Unregistered accounts objects. We did an update for the account that didn't exist


Disable view hiding for the remote explorer

Fixes #86039

@sandy081 this involves only changes in ViewContainerViewlet. I've just moved the adding of the "Hide" context menu element out of onContextMenu and into getContextMenuActions.

LGTM


Chip group alignment

The "more" alignment is off in Firefox. The alignment in Chrome is OK.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


AA | Design ideas to verify the initdata

Background
Currently, we are promoting the initdata mechanism in the community. The core idea is to leverage initdata field (HOSTDATA for SNP, MRCONFIGID for TDX, etc.) to bind the hash value of any data injected into the guest. One of the most critical design is how AA exposes an interface for kata-agent to verify the binding between the hash of initdata plaintext and the corresponding initdata field inside TEE evidence.

Overall, we should take a way to do the following things:

launch AA by being forked in kata-agent's main function or by systemd.
receive the initdata plaintext/hash into AA from kata-agent
AA gets the TEE attestation report. This process must be without network, as AA is a service launched at a very early stage in guest where network is not prepared. The codes for TDX and SNP
are finished by @danmihai1  perfectly in https://github.com/kata-containers/kata-containers/pull/8469/files#diff-df928933d70fb4e5616a6ecb3d8a1340adbf328dd3d6973b3a00ce5c75aae23aR1 which we can reuse in AA.
AA compares the hash of the initdata plaintext and the one inside evidence.

The step 2 is now to be designed. This issue aims to collect ideas upon this.
@fitzthum @danmihai1 and I have been discussing this and let's continue publicly.
Design Concerns and Different Ways
There are some design concerns

Although TDX, SNP, CCA, etc have initdata field like HOSTDATA, MRCONFIGID, s390x and AMD SEV do not.
The KBS url, KBS public key together with some other parameters should be part of AA's configuration file. Those are all things provided via initdata.

Thus, we need a mechanism

Allow s390x and SEV to not verify initdata without blocking AA from launching. While on other platforms AA should panic/raise error if initdata is not matched.
The configurations should be correctly configured and used if initdata binding check passes.

A. Initdata as a launch parameter
Initdata check will be part of AA's launch parameter.
attestation-agent --config-file conf.json --initdata MDAwMDAwMAo=

The parameter --initdata item is optional. If it is given, it will check the binding against an evidence report as soon as AA is launched.
For s390x/sev, AA will do nothing but only raise a warning On XXX platform initdata is not support, thus ignore --initdata parameter when it is given.
This is difficult for systemd scenarios, as we should have a caller before AA that knows the initdata and the configuration of AA. Also, if the AA fails to start, the caller (e.g. kata-agent) cannot know that.
B. Initdata as an AA API parameter
Let's temporarily call the api CheckInitdata.

After receiving the initdata, kata-agent will call CheckInitdata of AA to check the binding.
After checking the binding, extract AA's configuration file and update the configuration dynamically by calling new UpdateConfigurations of AA.

cc @jiazhang0 @jialez0

Thanks, that's an interesting scenario. If I understand it correctly this means the kata-agent is applying an untrusted policy initially. But why should the kata-agent do that? Shouldn't everything be locked down and only endpoints selectively opened using a verified policy?

I am not a master of this. Let me try to explain.
Now the policy is injected by pod yaml's annotation, and this will happen in a same context where the pod VM is created. During the same time, network set-up APIs will also be called and filtered by the policy. So before we can verify the policy by remote attestation, the policy is already in-use within a guest where the network is not prepared.
If we want a way to use a new policy after attestation and before that a strict & verified policy is used, we might need to store the policy in KBS and specify the resource id of KBS in the initdata/launch parameter of kata-agent.
Hi @danmihai1 please correct me if any.

I remembered, this was also discussed in the peerpod context a while ago and @katexochen suggested to only allow SetPolicy() initially. Is this something that would work?
https://github.com/confidential-containers/cloud-api-adaptor/issues/1369#issuecomment-1772811130

what dan and I were saying is that the Kata Agent / AA must check the binding of the policy and the initdata before using the policy i.e. when the policy is set. it can't wait until remote attestation to do it.. if we wait until remote attestation to check that the hash of the policy matches the initdata, there is a possible attack.

Notice that this is not true in situations where we can do measurements at runtime (vTPM, for example with peerpods). In this case, we can policy when it is set, and we don't need to know the policy value upfront. Even if the attacker sets a malicious policy, they cannot influence the measurement of the policy that is done before the policy takes effect. A verifier can then later check the measurement and the attacker cannot prevent the verifier form discovering the malicious policy.
However, I agree that in situations where we only have an initial launch measurement, we must validate the policy hash before the policy takes effect.

I lean towards option B because it avoids the difficulty with systemd and in the non-systemd case it makes the changes needed in kata simpler.
One potential drawback with option B is that adding a dynamic configuration update endpoint might make the attack surface of the AA larger. I don't think it creates any obvious security issues, but it might make it a little bit easier for an attacker to tamper with the AA. Maybe we should only allow this endpoint to be called once?
The tricky part is making sure this will still work with static platforms like SEV and s390x. For other guest components, this will be easier. For example, the CDH will simply expect a config file in a certain location. Either this will be added to the initrd ahead of time or provisioned dynamically via InitData. This won't work for the AA because the config contains more dynamic data.
Currently we configure the AA via the AA_KBC_PARAMS kernel parameter. We probably want to keep this mechanism for the static platforms. I would like to minimize the amount of overhead in the Kata Agent so maybe we can add a check to the AA. For instance, when the AA starts, it could check the kernel command line to see if AA_KBC_PARAMS is set. If it is, the config would be built from there. If not, the config would be expected via the UpdateConfiguration endpoint. It's a little weird to have these two different code paths, but I'm not sure how to avoid it.
Another question is how we make this work for peer pods. I would like to keep the peer pods case as similar to the normal case as possible. One way to do this is to make the CheckInitData endpoint work with runtime measurements. For platforms with runtime measurements, the endpoint would simply extend one of the PCRs with the hash of the policy. I think if we did this peer pods could just call SetPolicy/SetInitData from the host. Maybe they actually want to get their configurations from somewhere else though? cc @mkulke @bpradipt

One way to do this is to make the CheckInitData endpoint work with runtime measurements.

If I understood it correctly the endpoint would imply a fn check_init_data(init_data_hash: &[u8], evidence: &Evidence) on AA's Attester trait. the TEE specific implementations would perform an assertion like init_data_hash == evidence.host_data for SNP. That fn would be local to the TEE, since only after that we'd be able to bootstrap a connection to an attestation-service using parameters from init_data.
Intuitively I'd think such a fn would be implemented as a no-op on TEEs which are not able to perform this assertion, because there is no field in the HW evidence that would hold the initdata hash.
On TEEs that are able to perform runtime measurements (TPM, tdx via rtmr?) init_data_hash would be part of the TEE evidence (to be verified in remote attestation). So, in theory there could be an implementation that performs init_data_hash == evidence.runtime_measurement. Not sure if that assertation yields anything?

What I envision is a function fn check_init_data(init_data_hash: &[u8]) where
SNP/TDX
Gets the report, compares host_data to init_data_hash.
For TDX we could use an RTMR, but I think it's best to keep these implementations similar.
SEV/s390x
Return an error. Init data is not supported on these platforms. Maybe in the future we could try to support some kind of signature for init data hashes where we could pre-provision or inject the public key. This is low priority.
vTPM
On platforms that don't have have already consumed the init data field but that provide  vTPM, we extend some PCR with init_data_hash.
Maybe check_init_data isn't the best name since it would actually do a couple different things. It's also possible that we could have this distinction happen at a different level and simply have peer pods use a different codepath that calls the runtime measurement update directly.

Maybe check_init_data isn't the best name since it would actually do a couple different things. It's also possible that we could have this distinction happen at a different level and simply have peer pods use a different codepath that calls the runtime measurement update directly.

Right. IMO, for scenarios where vTPM is not provided, kata-agent will try to call check_init_data of AA. For scenarios where vTPM is usable, kata-agent will try to record the event by runtime measurement with vTPM.
This logic of checking the existance of vTPM might be deterimined by kata-agent in runtime to avoid complex compilation features.

This logic of checking the existance of vTPM might be deterimined by kata-agent in runtime to avoid complex compilation features.

I am a bit wary of adding attestation-specific code to the agent. The vTPM case is mainly for peer pods for now. I don't know what flow they want to use for provisioning config stuff.

I am a bit wary of adding attestation-specific code to the kata agent. The vTPM case is mainly for peer pods for now. I don't know what flow they want to use for provisioning config stuff.

You are right. The requirements are

AA should have straightforward API semantics. Up to now, there should be get_evidence(), get_token(), extend_runtime_measurement() and proposed check_init_data().
There should not be any attestation related code inside kata-agent.

After some thinking I realize that we just need to do two things.

Add the check_init_data() API to AA, and kata-agent will always call it.
Add extend_runtime_measurement() call to some components like process-user-data (functionally) in peerpod.

The difference between peerpod and kata-cc is the whole design ways. kata-cc uses initdata field inside evidence to bind the integrity of initdata and therefore should leverage AA's check_init_data() to prevent untrusted host from pollute the initdata.

Peerpod uses vTPM's runtime measurement ability to bind the integrity. So extend_runtime_measurement() should be used to extend PCR register to record the integrity.

We can always let kata-agent call check_init_data() to AA. Like @mkulke once said

Intuitively I'd think such a fn would be implemented as a no-op on TEEs which are not able to perform this assertion, because there is no field in the HW evidence that would hold the initdata hash.

On vTPM based platforms, it hints that a component like process-user-data has already bound the integrity of initdata things to vTPM runtime measurement. This is also based on an assumption -

If the current environment supports setting initdata/hostdata field, the initdata things is already injected by the mechanism. Like TDX/SNP/..
If the current environement does not support setting initdata/hostdata field, vTPM should be supported. Like azure-snp/...
If neither initdata nor vTPM is supported, like SEV-ES and IBM SE. They have their special methods to inject information, e.g. secure module for SEV-ES and contract for SE.

Did I ignore anything important?
This way, we do not break/extend any semantics of the APIs.

@Xynnn007 thanks for the write up, that's a good summary. Logically this all makes sense to me, in the concrete implementation aspects we'll have to see, what we have to adjust. At the moment process-user-data (PUD) is a one-off service unit required by kata-agent (peerpod images use systemd) and kata-agents spawns AA as a subprocess.
So PUD wouldn't be able to call AA, since there's no AA process yet. I'm not entirely sure about the plans for subprocessing attestation-agent in kata#main (whether we want to keep it or have some sort of init system), so it might not be a problem in the future.
kata-agent depends on PUD, because PUD is templating the aa_kbc_param string into the agent-config. Even if we start AA independently from kata-agent and AA has its own configuration file. If we use PUD to provision the config (UserData => AA.cfg), there would still be a cyclic dependency (PUD => AA => PUD).
So, how and if peerpod would be able to use the extend_runtime_measurement() endpoint in a vTPM setup, we have to see. but I don't think it's a crucial question for this design. We can just assume that some component is measuring the init_data hash into a PCR, so it will be a legitimate part of the evidence and can be treated similar as a HOSTDATA/MRCONFIGID field on the atttestation-service/verifier side.

kata-agent depends on PUD, because PUD is templating the aa_kbc_param string into the agent-config. Even if we start AA independently from kata-agent and AA has its own configuration file. If we use PUD to provision the config (UserData => AA.cfg), there would still be a cyclic dependency (PUD => AA => PUD).

Right. Seems that the cyclic denepdency could be handled by adding an extra API UpdateConfiguration() for AA on both kata-cc and peerpod. That means that AA should be launched at a very early time with default configs. At that time, AA only provides ability without network like check_init_data() and extend_runtime_measurement(). Then, PUD/kata-agent will call extend_runtime_measurement()/check_init_data() and update the real configuration to AA, thus providing AA more abilities like remote attestation. The above assumption is AA is launched by systemd, where peerpod could easily apply.
The reason why I mentioned PUD call AA to leverage PCR, is a) AA already has the ability to do runtime measurement extending b) putting all attestation functionalities to one component seems more "clean".

The reason why I mentioned PUD call AA to leverage PCR, is a) AA already has the ability to do runtime measurement extending b) putting all attestation functionalities to one component seems more "clean".

Yes, as we have the endpoint, we should use it if possible, I agree.

network set-up APIs will also be called and filtered by the policy

ok, this might be the key to understanding the reasoning behind that assertion, as the policy doesn't just apply to container workloads but also to the "infrastructure tier" in the guest to some degree.
Hrm yeah it's tricky, kata cannot be fully-locked down fully, since SetPolicy(), CreateSandbox(), CreateContainer() cannot be locked down really, since this is how we receive the pod spec, the policy and the init-data to bootstrap remote-attestation.
it just feels odd, it appears like there is untrusted code (unverified kata-agent + OPA bins) verifying an untrusted policy (received via SetPolicy) using untrusted data (field in an unverified TEE report). And we can only state retroactively, after verifying each of those components via remote attestation, that the first verification was valid (some kind of higher-order verification ♻)

I doubt if the init_data also includes the KBS service url, how can we assure the remote attestation is trusted? The kbs could also be a malicious endpoint.

I doubt if the init_data also includes the KBS service url, how can we assure the remote attestation is trusted? The kbs could also be a malicious endpoint.

I would assume the situation for setting a hash of the KBS endpoint to the report's hostdata field is logically not very different from passing the endpoint to the guest via kernel cmdline. In both cases the KBS endpoint (directly or as a derived hash) is part of a signed TEE report.
Now, a malicious, privileged actor could tamper with either one of those and inject a new KBS  endpoint. That KBS  endpoint could fake remote attestation. Consequences: The fake KBS  is not able to provide secrets, but it might deliver the wrong ones. It would seem that a workload is running encrypted in a TEE, when it's not.
The former (malicious secret) is an issue that deserves attention IMO, because there's a practical use case that comes to mind with Azure's SAS or AWS' Presigned URLs. Those are often used as an alternative to specific IAM privileges enabling a workload to push/retrieve data from an Object Store.
The latter (masquerading a non-encrypted workload as a running in a TEE) is a fundamental issue with CoCo, i think. With confidential pods a kubernetes user cannot trust what the control plane is reporting anyway. The consequence might be that only a workload whose execution is depending on a secret stored in a trusted KBS can be trusted itself (like an encrypted image).
This topic is discussed at length in Tobin's gist, but I'm afraid there's no clear answer yet.


Changing parameters

Hi thanks for hibersap, the product works really well.
However I wanted to know if we can use CHANGING parameters with it, indeed I didn't found how to do it, thanks for your help.

Support for changing parameters will be added as soon as possible.


Failure to delete containers (with delete references) using CLI command 'delete'

Error rise when attempting delete metadata  using CLI command 'delete'
Same with all flags --soft, --hard, --force
Failed to execute operation
java.lang.UnsupportedOperationException: Only upsert operation is supported

To Reproduce
Steps to reproduce the behavior:

Setup Datahub CLI
Set env via datahub init
run datahub delete --urn "urn:li:container:5f38c5bcfb279844c5471dd926da13e7"
See error

Expected behavior
Metadata deleted
Desktop:

OS: [e.g. Linux Mint 20.2 Uma 64-bit]

Server:

Datahub [0.8.43]

Type of entity:

Container

Additional context
datahub-gms.log
In attach gms log with error trace

I've run into same error.
Datahub v0.8.38

also have the same problem with delete

@shirshanka any updates?

If I run datahub delete --env PROD --entity_type=dataset --hard, I get the following warning and it is unable to delete the entities. I tried this on latest v.0.10.0.
WARNING  {datahub.cli.cli_utils:440} - Discrepancy in entities yielded 0 and num entities 589. This means all entities may not have been deleted.

This should be fixed by some previous changes and https://github.com/datahub-project/datahub/pull/8709

So https://github.com/datahub-project/datahub/pull/8709 is merged, so I'm gonna call this one done!


Number of points in pointcloud is not available in the Run DVC tab

Once the pointcloud is created/loaded the total number of points is available in the Point Cloud tab, but not in the Run DVC tab, so that if someone wants to run over the whole pointcloud needs to go to the other tab to get the right number.
We should add a checkbox in the Run DVC tab with "Run on the whole pointcloud"

Once https://github.com/vais-ral/CCPi-DVC/pull/159 is merged, we could also delete most of the sorting that happens here
https://github.com/TomographicImaging/iDVC/blob/281ae170d77c1b45a5ad3155cb5e9863551762ac/src/idvc/dvc_runner.py#L253-L278


bug: Tab content width on Safari

What version of daisyUI are you using?
4.5.0
Which browsers are you seeing the problem on?
Safari
Reproduction URL
https://play.tailwindcss.com/Ihh18j8vI5
Describe your issue
Tab content  does not take all available width on Safari.  But, it works on Chrome.
Safari

Chrome

As workaround I am using for now  class=“tabs tabs-bordered block”

As workaround I am using for now  class=“tabs tabs-bordered block”

No. block breaks the layout.
It will be fixed by tomorrow.

Hum. It did not for me. I am using it here
https://mary-ui.com/docs/components/tabs

You placed tab-content after all the tabs, which makes sense when you can target elements using JS,
But this example will break using block because the content comes right after the tab itself. https://daisyui.com/components/tab/#radio-tab-bordered--tab-content

It will be fixed by tomorrow.

It's going to take more time. The grid template I had in mind as a fix, would create other issues.
I'm working on it...

same issue safari on me

I'm getting a similar error. I'm waiting for support.


Fix markdown export

Hi! Thank you for creating such a great service.
I tried to fix issue #59 .
I hope this helps!😊

Looks solid, will check it out today!

Good work, what behaviour do we want when assistant's markdown is not auto closed?
e.g. json
Dividing Complex Numbers in JavaScript.json
and exported markdown
Dividing Complex Numbers in JavaScript.md

@animalnots
Thank you for checking my code and pointing out that issue!

what behaviour do we want when assistant's markdown is not auto closed?

To handle such cases, I use remark and remark-stringify packages.
remark converts Markdown to mdast (AST), and through this process, Markdown is essentially normalized, meaning any irregularities in the structure are resolved, IMO🤔.
remark-stringify converts mdast back to Markdown.

@animalnots
I apologize for not addressing the comments earlier.
Thank you for fixing the issue and merging the changes!


fix: correctly parse buffers

Fixes #782

Pull Request Test Coverage Report for Build 614411817

6 of 27 (22.22%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.07%) to 18.869%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/ZwaveClient.js
0
4
0.0%

lib/utils.js
6
23
26.09%

Totals

Change from base Build 614317448:
0.07%

Covered Lines:
2017

Relevant Lines:
10969

💛  - Coveralls

This doesn't affect the zwave-js-server, right?

Nope, they have their own event listeners I only pass the driver instance to them :)


Foundational Reference Implementation | Connected links broken

Describe the bug
Foundational Reference Implementation | Connected links are broken on README.md
https://github.com/azure/alwayson-foundational-connected

This repo is not yet Public - but very close to being :) should happen in the next few days. Hence the link appears broken for you.
I'll update the issue once done

The Foundational-Connected repo is now public! :)


Failed to start C/C++ language server. IntelliSense features will be disabled

Does this issue occur when all extensions are disabled?: No

VS Code Version:
版本: 1.78.2
提交: b3e4e68a0bc097f0ae7907b217c1119af9e03435
日期: 2023-05-10T15:00:40.428Z
Electron: 22.5.2
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 21.3.0
沙盒化: Yes
OS Version:
MacOS Monterey 12.2
Apple M1 Pro

Recently, my vscode suddenly cannot perform code navigation anymore, error log as below, i try to reinstall c/c++ plugin with old version, it still can't work.
[Error - 17:13:07] Sending request cpptools/queryCompilerDefaults failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097
[Error - 17:13:07] 语言服务器崩溃。正在重新启动...

无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: Error: Pending response rejected since connection got disposed

relative plugin version:
C/C++ v1.15.4
C/C++ Clang Command Adapter v0.2.4
C/C++ Extension Pack v1.3.0
C/C++ Themes v2.0.0

感谢您创建此问题！
然而，由于您没有使用英语，我们很难进行处理。如果可能，请您将此问题描述修改为英文。请您直接编辑此问题，不要提交回复或新问题。
请注意，机器翻译服务通常无法处理用于讨论软件问题所需的技术性语言，所以我们推荐您寻找一位熟悉相关技术的人来协助翻译。
如果您无法做到，没有关系。此问题已经被标记为需要翻译，等待社区成员志愿进行翻译。

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

/extCpp

It looks like this is caused by the C++ extension. Please file the issue to the C++ extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!

relative issue: https://github.com/microsoft/vscode-cpptools/issues/11013


[FLINK-20418][core] Fixing checkpointing of IteratorSourceReader.

What is the purpose of the change
IteratorSourceReader fails checkpointing when assignment has not yet happened with NPE.
Furthermore, if the last element of a split has been pulled just before checkpointing, then a split would be created with (to+1, to) leading to an IllegalArgumentException: 'from' must be <= 'to'.
Brief change log

Fixed checkpointing of IteratorSourceReader.

Verifying this change
Added ITCase in flink-tests (since we cannot really test checkpointing integration in flink-core).
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks for fixing this. For simplicity, can we merge this with https://github.com/apache/flink/blob/master/flink-tests/src/test/java/org/apache/flink/api/connector/source/lib/IteratorSourcesITCase.java ?
That is where the tests are so far. Otherwise we have two classes and redundant tests...

Sure, I haven't found the test in the nick of time. Do you want to merge it or can I do it?


Update folder file structure to match HackerRank's new problem structure

The file structure should match the "tracks" structure on HackerRank

Yes sir I can do


Submit to crates.io

original.

A lot has happened since the last comment on this thread. Any status update? What needs to be done before this can be put on crates.io?

I think they mean that this library will change rapidly these days so they may want to wait for a while before the library become relatively stable.

I wait the new signal infrastructure but it will be very soon, don't worry !

This is done now, right?

For a while now. Here's the link : https://crates.io/crates/gtk.


diode / matrix

Interesting project! A minor issue is, I believe the diodes / matrix shouldn't be required because of the small number of keys.

Thank you for your comment and I'm sorry for the late reply.
You are right that a key matrix is not required at this size. However, when someone creates another implementation based on this project, they will need it.
That's why Cookpad Pad uses a key matrix.


Linker limit workaround on Darwin causes buildEnv environments to conflict

In commit 7131e06214560625cc85b89d93df3764d223a6e6, a workaround was introduced to link all Haskell dylibs from a lib/links directory. However, this directory is installed into any environment that builds a Haskell executable, causing environments made with buildEnv to conflict in those files.
Since I have many such environments in my configuration, this change forces me to maintain a set of priorities.  It would be better if the links directory was somehow made local to the buildEnv.

Note that using this throughout my configuration provides a workaround:
    (haskell.lib.justStaticExecutables haskellPackages.bench)

I ran into the same problem, merely trying to upgrade my user environment which contained the following:
haskellPackages.ghc
haskellPackages.cabal-install
haskellPackages.cabal2nix

which results in:
building path(s) ‘/nix/store/cs1vaznndfaivhklhv6pbni9n0l41zmj-user-environment’
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between ‘/nix/store/jl3nflpnn9lmnwk0ap6r0rfx9pr0m0hq-cabal2nix-2.2/lib/links/libHShashable-<IP_ADDRESS>-AQZDze8miOYLRSXNmI0CCc-ghc8.0.2.dylib’ and ‘/nix/store/4b2i5k6s2cllgzr2r6hfq00g0g93cj86-cabal-install-<IP_ADDRESS>/lib/links/libHShashable-<IP_ADDRESS>-AQZDze8miOYLRSXNmI0CCc-ghc8.0.2.dylib’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages

I too worked around the problem by overriding cabal2nix with (haskell.lib.justStaticExecutables haskellPackages.cabal2nix).
I can't help but wonder if there's some way that paths could be merged to avoid this problem.
Ref: #22810

Any news on this issue?


V2 alpha

Alpha development for version 2. Full refactor of many processes at the core of Episimlab, such as:

Force of infection
Compartmental model runner

The following model uses the contact partitioning workflow with the new compartmental model:
https://github.com/eho-tacc/episimlab/blob/deb2b77b1c01e53400ce5c068ca9c0e38d8860ca/episimlab/models/partition_v1.py#L313-L313
To test:
tox -- tests/test_models.py

and optionally uncomment the line that plots the results:
https://github.com/eho-tacc/episimlab/blob/deb2b77b1c01e53400ce5c068ca9c0e38d8860ca/tests/test_models.py#L36-L36


fix:import package json

:tada: This PR is included in version 1.33.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


AWS Linux-Ubuntu - and Layers

@Andrea-Scuderi - came over to your repo from your earlier update from tonisuter/aws-lambda-swift.
Your doc says AWS Linux does not support Swift ... but Ubuntu does.
Do you have a quick start to upload the Layer into Lambda to start using this without all the building required before use ?

Yes, I prepared this tutorial:
https://medium.com/better-programming/how-to-work-with-aws-lambda-in-swift-28326c5cc765
I hope this can help you.
Look also at all the section of the README.
If you find something unclear, please point it out, so we can improve the documentation.
The tool overcame this issue by building the layer and the lambda in Ubuntu and then packaging the build to run on AWS Lambda.

If you don't have much time I have prepared a video: https://youtu.be/C8eE10HbK-I

Awesome - I will take a look at these things - thanks !


Against the async/await approach

Bob Nystrom, What Color is Your Function?
Coroutines belong in a TS — on not having coroutines in C++71

Ron Pressler's talk on scoped continuations: http://blog.paralleluniverse.co/2015/08/07/scoped-continuations/

General argument:

why use stack-less continuations when we could use scoped continuations?

The limitations of the stack-less approach are known, and people seem to still use it profitably in many languages. Plus, see #35 for more details

This is no longer applicable to current Kotlin's design since "what color is your code" problems are much less pronouced in Kotlin, since it does not follow async/await design of other languages


[FEATURE] Make sure we can stream our GUI to the MATE people

Is your feature request related to a problem? Please describe
We have to stream a view of our GUI to the judges (?) during competition.
Describe the solution you'd like
Figure out how to do this. Read the rules. HDMI capture? They have an HDMI cable?

Info from the livestream coordinator: There will be an HDMI cable (Type A standard male) at the product demo station for you to plug into your HDMI splitter (or device).
My pitch: Plug the hdmi cable straight into the laptop and treat it as a third independent monitor. Make a third gui with the two camera feeds, our logo and a version of the timer with no start and reset buttons. Investigate making this automatically start in fullscreen on the third monitor.

This should include automatically detecting when two external monitors are plugged in and sending the appropriate gui (fullscreen) to each monitor, because it would be difficult to manually drag the appropriate window to the livestream and fullscreen it


Browserify support

Does not work with browserify.  Underlying issue is here https://github.com/sindresorhus/resolve-from/issues/10
Some context on how that gets called:
resolveFrom is called with these values
resolveFrom(path.dirname(callerPath()), moduleId)
resolveFrom(path.dirname(undefined), moduleId)
resolveFrom(".", "./foo")

resolveFileName is called with these values
const resolveFileName = () => Module._resolveFilename(moduleId, {
  id: fromFile,
  filename: fromFile,
  paths: Module._nodeModulePaths(fromDir)
});
const resolveFileName = () => Module._resolveFilename("./foo", {
  id: "/http:/localhost:9966/noop.js",
  filename: "/http:/localhost:9966/noop.js",
  paths: Module._nodeModulePaths("/http:/localhost:9966")
});

Same answer as https://github.com/sindresorhus/resolve-from/issues/10#issuecomment-447524553.


Feature: Misaligned design

What feature or improvement do you think would benefit Files?
These two details bother me a lot!

Requirements

This proposal will accomplish X
This proposal will accomplish Y
This proposal will accomplish Z

Files Version
<IP_ADDRESS>
Windows Version
23h2
Comments
No response

Thanks for the feedback, you can change the sidebar width by dragging the divider, The extra space on the right is used for dropping to that folder if you have the columns maximizing the space

Thanks for the feedback, you can change the sidebar width by dragging the divider, The extra space on the right is used for dropping to that folder if you have the columns maximizing the space

I can't make the width down to what I want. The app minimizes the sidebar.

Thanks for your feedback! These are different areas of the app, and aligning them just for visuals would make the sidebar too narrow. However, you can enable the 'Home' button (Settings > Appearance) to offset the address bar. Hope this helps!

Thanks for your feedback! These are different areas of the app, and aligning them just for visuals would make the sidebar too narrow. However, you can enable the 'Home' button (Settings > Appearance) to offset the address bar. Hope this helps!

👍 👍


Develop

Hello @EdinsonRequena! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file algoritmos-y-poo-python/modulo_IV/complementos/covid_grafico.py:

Line 12:12: E225 missing whitespace around operator


Label Projection

Task motivation
Accurate identification of cell types and subtypes is necessary for interpretation of any single-cell dataset. Currently, as of 2022, most studies go through the time-consuming and subjective process of manual cell type annotation—leveraging the analyst’s biological expertise to resolve cell types in the data. Automating this process would substantially speed up the analysis of single-cell data. A number of tools have recently been published that address this task. These tools enable accurate and automatic domain-specific cell type annotation by allowing to project cell type labels from high-quality reference dataset to another dataset. An additional benefit of such an approach is an increased power to detect rare cell types due to the use of auxiliary data. The label projection task in open problems aims to benchmark the performance of such methods.
Task description
To benchmark label projection methods, each dataset is divided into reference and query subsets. Methods are trained on the reference data subset and predict cell type labels for the query data subset. This prediction is evaluated against the true labels to quantify method performance. Different train and test splits are evaluated on several datasets.
Proposed ground-truth in datasets
We included diverse datasets annotated at different levels of granularity to test performance across several species (human, mouse, zebrafish, C. elegans).
The Pancreas dataset is a collection of 6 datasets of transcriptomes from human pancreatic cells obtained with 6 different single-cell technologies: CelSeq, CelSeq2, Fluidigm C1, SMART-Seq2, inDrop and SMARTer. This dataset is collected and prepared in Luecken et al., Nat Methods, 2022, see github. We added a version of this dataset with 20% label noise. Dimensions: 16382 cells, 18771 genes. 14 cell types (avg. 1170±1703 cells per cell type).
Tabula Muris Senis Lung18 includes all lung cells from Tabula Muris Senis, a 500k cell-atlas from 18 organs and tissues across the mouse lifespan. The lung cells are all collected via 10X sequencing, yielding 24540 cells and 16160 genes across 3 time points. Dimensions: 24540 cells, 17985 genes. 39 cell types (avg. 629±999 cells per cell type).
CeNGEN19 is an atlas of the C. elegans nervous system, with neurons isolated by fluorescence-activated cell sorting from L4 stage larvae. Single-cell gene expression libraries were prepared with 10x 3’ v3 chemistry and sequenced on Illumina NovaSeq6000. Dimensions: 100955 cells, 22469 genes. 169 cell types (avg. 597±800 cells per cell type).
Zebrafish20 contains transcriptomes from several time points of zebrafish development during the first day. Dimensions: 26022 cells, 25258 genes. 24 cell types (avg. 1084±1156 cells per cell type).
Initial set of methods to implement
We assessed standard classification methods (k-nearest neighbour classification, logistic regression, multilayer perceptron), as well as general algorithms (xgboost) and specific single-cell solutions (Seurat reference mapping, scANVI, scArches). Because k-nearest neighbour classification, logistic regression, multilayer perceptron and xgboost depend on data normalisation, we included two versions of this step (see below). For scANVI and scArches we included two versions of the highly-variable gene selection step. As a simple test benchmark we also included the Majority vote method which predicts each cell to belong to the most abundant cell type.
Normalisation methods
LogCP10k normalisation is the most commonly used normalisation method for single-cell data, that normalises all cells to have 10,000 counts and then transforms each count with log(count+1).
Scran normalisation21 method estimates size factor for each cell relative to average cell size in the dataset, with a trick to reduce stochastic gene dropout contribution to these size factor estimates.
Classification methods
K-neighbours classifier22 uses the "k-nearest neighbours" approach, which is a popular machine learning algorithm for classification and regression tasks. The assumption underlying KNN in this context is that cells with similar gene expression profiles tend to belong to the same cell type. For each unlabelled cell, this method computes the k labelled cells (in this case, 5) with the smallest distance in PCA space, and assigns that cell the most common cell type among its k nearest neighbours.
Logistic Regression23 estimates parameters of a logistic function for multivariate classification tasks. Here, we use 100-dimensional centred and scaled PCA coordinates as independent variables, and the model minimises the cross entropy loss over all cell type classes in the training data.
MLP24 or "Multi-Layer Perceptron" is a type of artificial neural network that consists of multiple layers of interconnected neurons. Each neuron computes a weighted sum of all neurons in the previous layer and transforms it with nonlinear activation function. The output layer provides the final prediction, and network weights are updated by gradient descent to minimise the cross entropy loss. Here, the input data is 100-dimensional centred and scaled PCA coordinates for each cell, and we use two hidden layers of 100 neurons each.
scANVI25 or "single-cell ANnotation using Variational Inference" is a semi-supervised variant of the scVI26 algorithm. Like scVI, scANVI is a variational autoencoder, which models cellular count data as a zero-inflated negative binomial distribution conditioned on cell batch, size factor and latent representation. Additionally to scVI, scANVI also leverages cell type labels in the generative modelling. In this approach, scANVI is used to predict cell type labels of the unlabelled test data from cell latent representations.
scArches+scANVI27 or "Single-cell architecture surgery" is a deep learning method for mapping new datasets onto a pre-existing reference model, using transfer learning and parameter optimization. It first uses scANVI to build a reference model from the training data, and then freezes the reference model parameters and fine-tunes so-called adaptor weights that relate only to the test portion of the data. It then uses the latent cell representations to predict cell labels via scANVI.
Seurat reference mapping28 is a cell type label transfer method provided by the Seurat package. Gene expression counts are first normalised by SCTransform before computing PCA. Then it finds mutual nearest neighbours, known as transfer anchors, between the labelled and unlabelled part of the data in PCA space, and computes each cell’s distance to each of the anchor pairs. Finally, it uses the labelled anchors to predict cell types for unlabelled cells based on these distances.
XGBoost29 is a gradient boosting decision tree model that learns multiple tree-based weak learners. Tree-predictions are aggregated in a weighted manner to produce a label prediction. Here, input features are normalised gene expression values.
Proposed control methods
Majority vote is a baseline-type method that predicts all cells to belong to the most abundant cell type in the dataset.
Random Labels serves as a negative control, where the labels are randomly predicted without training the data.
True Labels serves as a positive control, where the solution labels are copied 1 to 1 to the predicted data.
Proposed Metrics
Performance metrics include global accuracy, as well as weighted and unweighted F1 scores to balance prediction and recall over cell types and let the user assess cell type imbalance performance.
Accuracy measures the correct predictions in relation to the total predictions.
The F1 score measures the performances of the classification taking into account the precision and the recall of the model. This is preferred over the accuracy when the dataset is unbalanced. Here, we use a weighted average F1 score, where the F1 score for each cell type is weighted by the number of cells of this cell type.
Macro F1 score is a simple average of F1 scores per each of the cell types. It penalises methods that make mistakes on cell types with few cells.

This task was migrated from github.com/openproblems-bio/openproblems by the migration team and can be found at src/tasks/label_projection


AttributeError: 'NoneType' object has no attribute 'id' when accessing SkypeMsg.deleted

An error occurred upon accessing SkypeMsg.deleted:
Traceback` (most recent call last):
  File "<input>", line 1, in <module>
    if msg.deleted:
  File "C:\Program Files (x86)\Python\lib\site-packages\skpy\msg.py", line 260, in deleted
    return self.html == ""
  File "C:\Program Files (x86)\Python\lib\site-packages\skpy\msg.py", line 670, in html
    conTag = makeTag("part", identity=user.id)
AttributeError: 'NoneType' object has no attribute 'id'

The offending message:
SkypeCallMsg(id=u'1593784617947', type=u'Event/Call',
    time=datetime.datetime(2020, 7, 3, 13, 56, 57, 949000),
    clientId=u'3666747505059875266',
    userId=u'live:someliveuser', chatId=u'8:live:someliveuser',
    content=u'<partlist type="ended" alt="" callId="1593784540478"><part identity="live:someliveuser"><name>Some Live User</name><duration>84.82</duration></part><part identity="8:someusername"><name>Some Name</name><duration>84.82</duration></part></partlist>',
    state=SkypeCallMsg.State.Ended,
    userIds=[u'live:someliveuser', u'8:someusername'],
    userNames=[u'Some Live User', u'Some Name']
)

Looks like the problem is that '8:someusername' is not the actual plain username but has the magic "8:" prefix, and so self.skype.contacts[id] in util.py:userObjs returns None.

Two issues here, I think:

We're not doing any processing of the user ID list, which makes it seem like a bug on Skype's end that Live users are non-prefixed but legacy users are (live: is a valid user type, unlike 8: which is a chat type).  Wrapping with noPrefix() should handle that though, as it copes with IDs with or without a prefix.
Checking if a message is deleted shouldn't depend on the HTML parsing.