Compilation error with MSVC 19.37

From https://github.com/snitch-org/snitch/actions/runs/6781475887/job/18431859675.
The Windows pipeline worked fine last week, with MSVC 19.35.32217.1.
Now, running the CI pipeline with MSVC 19.37.32825.0, we get this:
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(36,1): error C7595: 'std::_Literal_zero::_Literal_zero': call to immediate function is not a constant expression [D:\a\snitch\snitch\build\tests\snitch_runtime_tests.vcxproj]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(36,1): message : failure was caused by a read of a variable outside its lifetime [D:\a\snitch\snitch\build\tests\snitch_runtime_tests.vcxproj]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(36,1): message : see usage of 'rhs' [D:\a\snitch\snitch\build\tests\snitch_runtime_tests.vcxproj]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(156,30): message : see reference to function template instantiation 'bool snitch::impl::operator_not_equal::operator ()<T,U>(const T &,const U &) noexcept const' being compiled [D:\a\snitch\snitch\build\tests\snitch_runtime_tests.vcxproj]
          with
          [
              T=std::strong_ordering,
              U=int
          ]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(151,26): message : while compiling class template member function 'snitch::impl::expression snitch::impl::extracted_binary_expression<true,T,snitch::impl::operator_not_equal,int>::to_expression(void) noexcept const' [D:\a\snitch\snitch\build\tests\snitch_runtime_tests.vcxproj]
          with
          [
              T=std::strong_ordering
          ]
D:\a\snitch\snitch\tests\runtime_tests\check.cpp(544,13): message : see the first reference to 'snitch::impl::extracted_binary_expression<true,T,snitch::impl::operator_not_equal,int>::to_expression' in 'DOCTEST_ANON_FUNC_81' [D:\a\snitch\snitch\build\tests\snitch_runtime_tests.vcxproj]
          with
          [
              T=std::strong_ordering
          ]
D:\a\snitch\snitch\tests\runtime_tests\check.cpp(544,13): message : see reference to class template instantiation 'snitch::impl::extracted_binary_expression<true,T,snitch::impl::operator_not_equal,int>' being compiled [D:\a\snitch\snitch\build\tests\snitch_runtime_tests.vcxproj]
          with
          [
              T=std::strong_ordering
          ]
  cli.cpp
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(36,1): error C7595: 'std::_Literal_zero::_Literal_zero': call to immediate function is not a constant expression [D:\a\snitch\snitch\build\tests\snitch_runtime_tests_self.vcxproj]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(36,1): message : failure was caused by a read of a variable outside its lifetime [D:\a\snitch\snitch\build\tests\snitch_runtime_tests_self.vcxproj]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(36,1): message : see usage of 'rhs' [D:\a\snitch\snitch\build\tests\snitch_runtime_tests_self.vcxproj]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(156,30): message : see reference to function template instantiation 'bool snitch::impl::operator_not_equal::operator ()<T,U>(const T &,const U &) noexcept const' being compiled [D:\a\snitch\snitch\build\tests\snitch_runtime_tests_self.vcxproj]
          with
          [
              T=std::strong_ordering,
              U=int
          ]
D:\a\snitch\snitch\include\snitch/snitch_expression.hpp(151,26): message : while compiling class template member function 'snitch::impl::expression snitch::impl::extracted_binary_expression<true,T,snitch::impl::operator_not_equal,int>::to_expression(void) noexcept const' [D:\a\snitch\snitch\build\tests\snitch_runtime_tests_self.vcxproj]
          with
          [
              T=std::strong_ordering
          ]
D:\a\snitch\snitch\tests\runtime_tests\check.cpp(544,13): message : see the first reference to 'snitch::impl::extracted_binary_expression<true,T,snitch::impl::operator_not_equal,int>::to_expression' in 'test_fun_34' [D:\a\snitch\snitch\build\tests\snitch_runtime_tests_self.vcxproj]
          with
          [
              T=std::strong_ordering
          ]
D:\a\snitch\snitch\tests\runtime_tests\check.cpp(544,13): message : see reference to class template instantiation 'snitch::impl::extracted_binary_expression<true,T,snitch::impl::operator_not_equal,int>' being compiled [D:\a\snitch\snitch\build\tests\snitch_runtime_tests_self.vcxproj]
          with
          [
              T=std::strong_ordering
          ]

Minimal reproduction of the issue:
#include <compare>

struct operator_not_equal {
    template<typename T, typename U>
    constexpr bool operator()(const T& lhs, const U& rhs) const noexcept(noexcept(lhs != rhs))
        requires(requires(const T& lhs, const U& rhs) { lhs != rhs; })
    {
        return lhs != rhs;
    }
};

int main() {
    operator_not_equal{}(1 <=> 1, 0);
    return 0;
}

Yields:
<source>(9): error C7595: 'std::_Literal_zero::_Literal_zero': call to immediate function is not a constant expression
<source>(9): note: failure was caused by a read of a variable outside its lifetime
<source>(9): note: see usage of 'rhs'
<source>(14): note: see reference to function template instantiation 'bool operator_not_equal::operator ()<std::strong_ordering,int>(const T &,const U &) noexcept const' being compiled
        with
        [
            T=std::strong_ordering,
            U=int
        ]

Seems like a compiler bug:

The error message is incorrect; there is no lifetime issue.
If there was really a problem compiling the != expression, the requires() should have prevented instantiation of the function. Instead it passed, and the error occurred on instantiation.

I will tag this as "not our bug" since the ball is in the camp of the MSVC team now. In https://github.com/snitch-org/snitch/pull/144 the offending test is disabled specifically for the affected MSVC compiler version.

This is not actually bug, but rather consequence of an intended change.

I agree, but some people don't 🤷
I am currently trying to convince libc++ maintainers not to make the same change.

In testing the other branches I am working on I am hitting this failure with MSVC2022 build tools
Microsoft (R) C/C++ Optimizing Compiler Version 19.39.33523 for x64
Just FYI. Maybe best to just remove the upper limit on MSVC version?

Thanks. I guess that'll keep failing until the bug report is addressed... I had left an explicit upper limit to avoid the risk of forgetting that the test is disabled. My hope was that it would be fixed quickly, but if not, as it appears, this may prove indeed to be a nuisance.
Next time GitHub bump the compiler version, we can remove the upper limit. Perhaps also reopen this ticket as a reminder thar the problem still exists.

For the test/bug to be fixed, MSVC has to implement P2564 which was a late DR against C++20. Supposedly it was pretty hard to implement for Clang, and MSVC's constexpr engine is much more of a mess, so it might take a long while.
For the compilation check, you probably want to guard the test on __cpp_consteval >= 202211L, rather than MSVC version.

MS STL refuses to back out the change, because the issue is in the compiler and e.g. clang-cl does have the required behaviour.


Update localization resource files

This only updates the resource files as with #6283

Pull Request Test Coverage Report for Build 590577070

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 43.269%

Totals

Change from base Build 590552607:
0.0%

Covered Lines:
25007

Relevant Lines:
52979

💛  - Coveralls

@smartguest please confirm the CI builds are passing prior to merging.  Thanks!


get_many()?

As @glyph mentioned to me, having many services can get unnecessarily verbose and even slow.
We should consider:
db, web_api, working_q = svcs.get_many(Database, WebAPI, WorkingQueue)

It's still a for loop, but saves boilerplate and reduces business code from 3 lines to 1.
Better names appreciated.

… just give .get an @overload?  It's a little ugly type-wise, but you can easily make
db = svcs.get(Database)
# or
db, web_api = svcs.get(Database, WebAPI)

(I would not blame you for finding the single-element special-case kind of gross, but I think as a user this is what I'd want)

Hmmm, so there's been thought of allowing to pass arguments to factories, but we totally could just say kwargs only and posargs are always the getter. 🤔
What do you mean by "ugly type-wise"? Will I have to send @tinche to the typing salt mines or is does it just look ugly?


Add the username in the header for signed-in TIs.

Description
If the user is signed in as a TI, show the name of the user they're currently applying on behalf of.
Checklist

[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Issue(s)
Fixes #1104.

Hmm. Those tests pass on my machine...

Okay, just a flake.


Language: Improve Dutch translations

Add missing lines that were added to recent Bludit versions
Correct the leading spacing
Change the leading spacing from spaces to tabs
Improve existing translated lines

I've used the English language file as example for the new lines and correct spacing.

Hi,
there is an error on the line 221.

It's fixed now, I forgot a comma.

Added translations for the default plugins and theme.
Also fixed a small typo in the English Disqus plugin.

Thanks!


Planning: Centralize CUPS localization

To ease the updating of translations, I suggest using Weblate, either its SaaS ("Hosted") instance or a dedicated server install.

@fitojb Several solutions for this have been proposed, but so far none of them have panned out even for test projects. I'll leave this open for now, as I know that most Linux distributions have their own contributed localizations that are added to their CUPS packages. Ideally those should be merged to OpenPrinting CUPS so we have everything in one place.
Complicating matters is the fact that CUPS has both gettext-style "po" files as well as web interface templates that need to be localized.

I totally understand your point, so the situation is this:
Contributing to the CUPS package on Ubuntu is managed via Launchpad (Rosetta), a web translation platform.
Fedora's translation (although there's no CUPS override) are managed via their own Weblate instance.
A web localization platform will ease the contribution so that translators with lots of lingual experience and less technical experience will be able to contribute upstream.
BTW Canonical are encouraging the contributors to upload their changes upstream, they're not doing it automatically becuase it may lead to some conflicts but they are offering the localization files for download, that way you can merge the localization back if required but doing it automatically is just too complicated.
I've managed to set up Crowdin for this task, it's working pretty good for me but it's not open source so I'm against this solution sadly.
I have some really good connection with the Weblate management team and I'm guessing it would be a great honor for them to host the CUPS localization efforts officially, should I make the connection between the two of you?
Thanks!

@yarons I appreciate the offer and will circle back when we are ready to tackle this after 2.4.0 is out.

I heard the news about 2.5.0 and 3.0 (Phoronix snitched 😄), thank you so much for this wonderful system! We'll keep in touch.

Ok, once we are on the same page whether we use the same Weblate, I'll reach for help on Fedora translations mailing list.

@zdohnal Thanks for the offer, @nijel is the guy behind Weblate, I'm hoping we'll see some progress in the next couple of days.

Ok, since Mike used the Hosted Weblate instead of Fedora version, I don't have any connections there. But since Mike was able to set the project there, it probably has more free conditions.

OK, things are now setup via a hosted Weblate project.

Hello,
Is anyone actually syncing translations from Weblate, please?

@NorwayFun Investigating, something has definitely f'd up on the Weblate side (should be auto-merging updates from Github...)

Any news, please?

@NorwayFun Sorry, I've been trying to coax the Weblate repository to update things but because some localization has happened there and some here, it has gotten confused. The only remaining option appears to be to nuke the Weblate localizations repository which I am hesitant to do since there is work there that is not yet reflected in the CUPS repository.

Investigating, something has definitely f'd up on the Weblate side (should be auto-merging updates from Github...)

Weblate is not receiving notifications of repository updates, so it can't auto-merge them. Needs to be configured on GitHub side, see https://docs.weblate.org/en/latest/admin/continuous.html#github-setup
Moreover, you might want to configure automatic pushing changes from Weblate, see https://docs.weblate.org/en/latest/admin/continuous.html#push-changes
Both these are suggested at https://hosted.weblate.org/guide/cups/cups/
I've now merged upstream changes into Weblate repository manually (this caused discarding some changes in the Polish translation in Weblate because different changes were done in the repository), so it should be possible to merge the changes back. But without automating this (see above), things will diverge again.

@nijel I've updated the CUPS repository with the specified changes. Seems like things are still stuck on a conflict in the German translations... :(

Rebase will not work, but the changes are merged with a merge commit. Fixing rebase would need more work.

Hello everyone,
Any update on this, please? :)


Consider support for Task lists in GFM

https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments
Not sure how exactly as there is an interface needed to work with the information externally.

We also needed this, so we built a trait for it you can easily use.
Get your copy right here: https://packagist.org/packages/kirra/markdown-task-lists.


Filter Drop Down For Evidence Level In Browse Evidence Grid Doesn't Contain "C" or "D"

The odd part about this is that it appears to only be a display bug. Clicking where "c" or "d" would be filters the grid appropriately.

Yeah, I had accidentally used 'name' instead of 'label' in the definition object for the dropdown contents.


Properly set the 'tests' classifier for gatlingEnterprisePackage task

I think the code with conventionMapping is outdated? It certainly doesn't work in my tests using Gradle 7. But anyway, we can directly configure the classifier on the ShadowJar task which we extend.

We can't require gradle 7. Currently, the minimum requirement is gradle 5.

We can't require gradle 7. Currently, the minimum requirement is gradle 5.

It does work with Gradle 5.0 in my test project, but the test that checks compatibility with different versions of Gradle fails, so I'm not sure what's going on... I'm going to try to investigate that.

I have no idea what I did in my manual test to make it work with Gradle 5.0, because from what I read the archiveClassifier property is supposed to be available starting from Gradle 5.1... 🤷
I switched to using the classifier field, which is deprecated since 5.1 (in favor of archiveClassifier) but at least still available in the latest version (7.3), so for now it should work for all supported versions. Note however that it may get removed in the future Gradle 8.0 version.

Let's raise requirement to 5.1+ when 8 is out then :)


adding help text to field group

Monday May 30 @6:47 pm.  Tried to add help text to field group.

I think there is a length limit for the input text, default 255 characters.
On Mon, May 30, 2016 at 6:48 PM, VickyS08<EMAIL_ADDRESS>wrote:

Monday May 30 @6 https://github.com/6:47 pm. Tried to add help text to
field group.
[image: screen shot 2016-05-30 at 6 46 06 pm]
https://cloud.githubusercontent.com/assets/18540289/15659342/0d571e50-2697-11e6-8f59-f1edcb92093b.png
[image: screen shot 2016-05-30 at 6 46 20 pm]
https://cloud.githubusercontent.com/assets/18540289/15659341/0ae6bd60-2697-11e6-829e-5116ca4d21fb.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rsmithlal/ClimateDataRescue/issues/10, or mute the
thread
https://github.com/notifications/unsubscribe/ACMy5szEs_d8UDCdBArw4DqxMD9luteuks5qG2lOgaJpZM4IqEM2
.

--
Jin Xing
Ph.D Candidate
McGill University
Montreal, QC, Canada

I cut and pasted the text from the help field under "observed barometer", to make that one a little shorter.  I also edited the other help fields to add in the expected range.
I'll put this into onenote later when I get to my computer, but I was thinking this morning about some of the remaining technical challenges:

symbols in drop down menus for weather - so far we have 1/2 of one page out of two : how to design the remaining fields? All in tabs in one bar, or separate bars?

associating the transcription bar with the ledger type

having a test page/evaluate accuracy of typing page.  As a possible tutorial and to help users get used to the handwriting, I thought we could also have an example page somehow, where they could look at the page and see the typed values

French version

Vicky

On May 30, 2016, at 9:31 PM, jinxingster<EMAIL_ADDRESS>wrote:
I think there is a length limit for the input text, default 255 characters.
On Mon, May 30, 2016 at 6:48 PM, VickyS08<EMAIL_ADDRESS>wrote:

Monday May 30 @6 https://github.com/6:47 pm. Tried to add help text to
field group.
[image: screen shot 2016-05-30 at 6 46 06 pm]
https://cloud.githubusercontent.com/assets/18540289/15659342/0d571e50-2697-11e6-8f59-f1edcb92093b.png
[image: screen shot 2016-05-30 at 6 46 20 pm]
https://cloud.githubusercontent.com/assets/18540289/15659341/0ae6bd60-2697-11e6-829e-5116ca4d21fb.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rsmithlal/ClimateDataRescue/issues/10, or mute the
thread
https://github.com/notifications/unsubscribe/ACMy5szEs_d8UDCdBArw4DqxMD9luteuks5qG2lOgaJpZM4IqEM2
.

--
Jin Xing
Ph.D Candidate
McGill University
Montreal, QC, Canada
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I can easily add a preview of the transcription bar to the ledger page, but it actually would belong on the page type detail page. The field groups are linked to the page types, as ledgers can have many different page types.
Regarding the French versions of the help text, I already have one of the two components in place for localized text on the site, and putting in localized attributes for the data will be trivial, I've done a lot of work with that module in the past.


fix(controller): Tolerate PDB delete race. Fixes #3706

Checklist:

[x] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[x] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[x] I've signed the CLA.
[x] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
[x] My builds are green. Try syncing with master if they are not.
[x] My organization is added to USERS.md.

Fixes #3706

@sarabala1979 I made a couple of changes - so I'd like to ask you if you want to re-review them?

Available in v2.10.0-rc7.


a seeded sample not working properly when an index is present

I have a somewhat sparse tsv file with 45m rows, 24 columns - about 4.3 gb.
When I run xsv sample --seed 42 1000 file.tsv -o output.csv without an index, it takes about 15 seconds and produces a reproducible sample.
However, when I create an index (xsv index file.tsv - takes about 12 seconds, producing a 350mb IDX file), and run a sample using the same seed, it is fast (2 seconds), but produces a different sample for each run, as if I didn't specify a seed.

After looking at the code, this partially explains the issue
https://github.com/BurntSushi/xsv/blob/3de6c04269a7d315f7e9864b9013451cd9580a08/src/cmd/sample.rs#L17-L19
basically, short circuiting the seed parameter.
I ran a bigger sample( more than 10% ) using the same tsv file (xsv sample --seed 42 5000000 file.tsv -o output2.csv), and I can confirm its now reproducible, with and without an index.
However, why does it ignore the seed parameter only when an index is present when the sample size is less than 10%?  Shouldn't seed always takes precedence over the <10% sample size check?


Can't locate Fasta/Parser.pm

Dear  thackl ,
First of all thank you for the program.
It is a very useful program to build genomes with few resources available.
Im working on cluster, centos 7, 512Gb ram and 32 cpus.
I tried to run the "make sample-yeast" to test the installation of the program, without success.
Seems to have all programs in the bashrc, but give me always the error below, and the mp files are empty.
#5 Log.file
make sample-yeast
hash bwa || { echo "bwa required in PATH" 1>&2 && exit 1; }
hash curl || { echo "curl required in PATH" 1>&2 && exit 1; }
hash fastq-dump || { echo "fastq-dump required in PATH" && exit 1; }
cd samples/yeast && ../../bin/cross-mates -s -t 4 -i 500,2000,5000,10000 S228c.fa CLIB324.fq
[18:30:39] bwa .. ok
[18:30:39] samtools .. ok
[18:30:39] bcftools .. ok
[18:30:39] vcfutils.pl .. ok
[18:30:39] seq-frag .. ok
[18:30:39] interleaved-split .. ok
[bwa_index] Pack FASTA... 0.14 sec
[bwa_index] Construct BWT for the packed sequence...
[bwa_index] 7.06 seconds elapse.
[bwa_index] Update BWT... 0.09 sec
[bwa_index] Pack forward-only FASTA... 0.07 sec
[bwa_index] Construct SA from BWT and Occ... 2.26 sec
[main] Version: 0.7.17-r1198-dirty
[main] CMD: bwa index S228c.fa
[main] Real time: 12.414 sec; CPU: 9.628 sec
[M::bwa_idx_load_from_disk] read 0 ALT contigs
[M::process] read 396040 sequences (40000040 bp)...
[M::process] read 396040 sequences (40000040 bp)...
[M::mem_process_seqs] Processed 396040 reads in 36.060 CPU sec, 8.922 real sec
[M::mem_process_seqs] Processed 396040 reads in 36.115 CPU sec, 8.918 real sec
[M::process] read 396040 sequences (40000040 bp)...
[M::process] read 396040 sequences (40000040 bp)...
[M::mem_process_seqs] Processed 396040 reads in 36.844 CPU sec, 9.019 real sec
[M::mem_process_seqs] Processed 396040 reads in 37.512 CPU sec, 9.280 real sec
[M::process] read 396040 sequences (40000040 bp)...
[M::process] read 396040 sequences (40000040 bp)...
[M::mem_process_seqs] Processed 396040 reads in 38.666 CPU sec, 9.490 real sec
[M::mem_process_seqs] Processed 396040 reads in 36.277 CPU sec, 8.954 real sec
[M::process] read 396040 sequences (40000040 bp)...
[M::process] read 396040 sequences (40000040 bp)...
[M::mem_process_seqs] Processed 396040 reads in 36.093 CPU sec, 8.841 real sec
[M::process] read 396040 sequences (40000040 bp)...
[M::mem_process_seqs] Processed 396040 reads in 36.962 CPU sec, 9.055 real sec
[M::process] read 126279 sequences (12754179 bp)...
[M::mem_process_seqs] Processed 396040 reads in 36.274 CPU sec, 8.939 real sec
[M::mem_process_seqs] Processed 126279 reads in 11.582 CPU sec, 2.864 real sec
[main] Version: 0.7.17-r1198-dirty
[main] CMD: bwa mem -t 4 S228c.fa /dev/fd/63
[main] Real time: 100.592 sec; CPU: 344.304 sec
[bam_sort_core] merging from 0 files and 4 in-memory blocks...
[warning] samtools mpileup option u is functional, but deprecated. Please switch to using bcftools mpileup in future.
[mpileup] 1 samples in 1 input files
Note: none of --samples-file, --ploidy or --ploidy-file given, assuming all sites are diploid
bash -c seq-frag pe -p -s -i 500 -l 100 -c 10 <cross-mates-2019-05-03/target-cns.fq | interleaved-split 1>cross-mates-2019-05-03/CLIB324-pe-500_1.fq 2>cross-mates-2019-05-03/CLIB324-pe-500_2.fq
bash -c seq-frag mp -p -s -i 2000 -l 100 -c 10 <cross-mates-2019-05-03/target-cns.fq | interleaved-split 1>cross-mates-2019-05-03/CLIB324-mp-2000_1.fq 2>cross-mates-2019-05-03/CLIB324-mp-2000_2.fq
bash -c seq-frag mp -p -s -i 5000 -l 100 -c 10 <cross-mates-2019-05-03/target-cns.fq | interleaved-split 1>cross-mates-2019-05-03/CLIB324-mp-5000_1.fq 2>cross-mates-2019-05-03/CLIB324-mp-5000_2.fq
bash -c seq-frag mp -p -s -i 10000 -l 100 -c 10 <cross-mates-2019-05-03/target-cns.fq | interleaved-split 1>cross-mates-2019-05-03/CLIB324-mp-10000_1.fq 2>cross-mates-2019-05-03/CLIB324-mp-10000_2.fq
Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
[18:40:59] Generated the following libraries:
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-mp-2000_1.fq
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-mp-2000_2.fq
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-mp-5000_1.fq
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-mp-5000_2.fq
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-mp-10000_1.fq
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-mp-10000_2.fq
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-pe-500_1.fq
/home/amachado/SW/cs-scaffolding/samples/yeast/cross-mates-2019-05-03/CLIB324-pe-500_2.fq
[18:40:59] Possible SOAP-denovo config for libraries:
[LIB]
avg_ins=500
reverse_seq=0
asm_flags=2
rank=4
q1=cross-mates-2019-05-03/CLIB324-pe-500_1.fq
q2=cross-mates-2019-05-03/CLIB324-pe-500_2.fq
[LIB]
avg_ins=2000
reverse_seq=1
asm_flags=2
rank=5
q1=cross-mates-2019-05-03/CLIB324-mp-2000_1.fq
q2=cross-mates-2019-05-03/CLIB324-mp-2000_2.fq
[LIB]
avg_ins=5000
reverse_seq=1
asm_flags=2
rank=6
q1=cross-mates-2019-05-03/CLIB324-mp-5000_1.fq
q2=cross-mates-2019-05-03/CLIB324-mp-5000_2.fq
[LIB]
avg_ins=10000
reverse_seq=1
asm_flags=2
rank=7
q1=cross-mates-2019-05-03/CLIB324-mp-10000_1.fq
q2=cross-mates-2019-05-03/CLIB324-mp-10000_2.fq
Thank you in advance for all help.
André

I'm assuming you did not use make dependencies to install the external programs. That would have also downloaded the perl libraries you are missing. The easiest fix should be to go into you cross-species-scaffolding install directory and run the following lines
mkdir -p lib
cd lib
git clone https://github.com/BioInf-Wuerzburg/perl5lib-Fastq.git Fastq
git clone https://github.com/BioInf-Wuerzburg/perl5lib-Fasta.git Fasta

Let me know if that doesn't work

Hi thackl,
During the instalation of software i used the make dependencies instruction.
Now i deleted the folder and applied again the commands that you recommended.
" mkdir -p lib
cd lib
git clone https://github.com/BioInf-Wuerzburg/perl5lib-Fastq.git Fastq
git clone https://github.com/BioInf-Wuerzburg/perl5lib-Fasta.git Fasta
"
but the error continues to happen.
"Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
Can't locate Fasta/Parser.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8.
BEGIN failed--compilation aborted at /home/amachado/SW/cs-scaffolding/bin//../util//seq-scripts/bin/seq-frag line 8."
In the basch i have the paths..
export PATH=/home/amachado/SW/cs-scaffolding:/home/amachado/SW/cs-scaffolding/util/bcftools:/home/amachado/SW/cs-scaffolding/util/htslib:/home/amachado/SW/cs-scaffolding/util/samtools:/home/amachado/SW/cs-scaffolding/util/seq-scripts/bin:/home/amachado/SW/cs-scaffolding/util/seqtk:/home/amachado/SW/cs-scaffolding/util/bcftools/misc:/home/amachado/SW/cs-scaffolding/lib
I should include other path's of cs-scaffolding?
Thank you again for all the support.
André

Hi again dear thackl,
Apparently i solved the problem.
I moved the /lib/Fastq and /lib/Fasta folders  to /usr/share/perl5 directory.
The test, runned without problems and generate all the outputs.
Thank you again for all the support.
André

Hello, I am having the same problem. @INC contains the folder with those perl modules (full install done) and still says it is not loaded. I have added to perl5 directories (all listed in @INC), with no success. I also tried changing the use line in the seq-frag script to:
use lib '/path/to/lib/fasta/';
Nothing has worked so far. Anything else I can try?
Thanks,
Hugh

Hm. I don't really have an idea. This sounds like it's a general perl issue, and how libraries are loaded on your system. I can't think of anything that would make this an issue with my libraries specifically. Can you run the following and send me the output?
find /path/to/where/you/installed/Fasta -name "*.pm"
perl -e 'print @INC; use Fasta::Parser'

The Bash Script is not exporting the env Variable $PERL5LIB
If you export it manually, ut fixes it, like so:
export PERL5LIB=/path/to/cross-species-scaffolding/lib/Fasta/lib:/path/to/cross-species-scaffolding/lib/Fastq/lib:$PERL5LIB
You can also edit the shell script cross-mates to export that variable every time it run.


Add automated tests

I got Claude 3.5 Sonnet to write the initial tests: https://gist.github.com/simonw/a1c51e3a4f30d91eac4664ba84266ca1#response
Then I poked at them with the help of https://pytest-django.readthedocs.io/en/latest/managing_python_path.html until I got them to run. Then I modified them a bit to add some extra assertions.


"links" instead of file name in subtitle download dialog

Expected Behavior

Name of the video file should be displayed in the search dialog
Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

open video
open download subtitle dialog

Context

Your Environment

Version used: 0.0.70

Environment name and version: kodi 18

Operating System and version: android 8

Link to Kodi debug log:

https://paste.ubuntu.com/p/BkZVnJNMtP/

It is not a bug. When Kodi starts plugin - it starts an url - in this case like plugin://plugin.video.elementum/movie/12345/links . And so shows last url part in that title.
I tried different variants to overcome that, but it added much more bugs with starting playback.
And this "links" does not influence anything.
If anyone finds good way to fix this, I will appreciate a PR.

this is funny :-)
thank you very much for the clarification

Please try with 0.1.25.

Thank you
Name looks urlencoded  - Supernatural%20S14E18 for example, but better than "links" :-)
Do i understand correctly that this is a cosmetic change and it does not affect #196 ?
(As i can see other subs plugins still don't work with elementum in kodi 18)
Thanks.

Name cannot be unencoded.
I have tested with Opensubtitles addon and it's working perfectly with finding episodes and movies.

Official OS addon shows me 500 random results.
Ok, i will create a log.

Use built-in osdb client. It searches correctly for show and episode.

I do use it.
It just good to have everything in working state :-)
Btw, there are 2 version of OS official plugin: 5.2.14 (from site, without mandatory login) and 5.0.16 (from repo, with mandatory login)
Which one you used for test?

@antonsoroko tested with 5.0.16.
Elementum does not need login now.

Interesting, the same addon gives me random results in kodi 18 (tested on Supernatural S14E18).

0.1.27, same episode, OS official addon 5.0.16
Nothing found
https://paste.ubuntu.com/p/qCF2Bc2Zpx/

0.1.27, same episode, OS official addon 5.0.16
Now it gives me "Nothing found"
https://paste.ubuntu.com/p/qCF2Bc2Zpx/
Also addic7ed plugin stopped working with this version of elementum (present in log file).

2019-04-16 10:53:56.695 T:8108  NOTICE: service.subtitles.rvm.addic7ed: Searching for subs...
2019-04-16 10:53:56.751 T:8108   DEBUG: service.subtitles.rvm.addic7ed: Using filename: Supernatural S14E18
2019-04-16 10:53:56.752 T:8108   DEBUG: service.subtitles.rvm.addic7ed: Filename Supernatural S14E18 failed. Trying ListItem.Label...
2019-04-16 10:53:56.752 T:8108   DEBUG: service.subtitles.rvm.addic7ed: Using filename: Эпизод #18
2019-04-16 10:53:56.752 T:8108   ERROR: service.subtitles.rvm.addic7ed: Unable to determine episode data for Эпизод #18

Elementum is providing proper data. It's not in scope of Elementum.
Fix for "not found" will be included in the next version.

Please, try version 0.1.28.

from tv series menu:
name: Supernatural%20S14E18
OS - nothing found
addic7ed (use search by file name) - nothing found
from torrent menu:
name: play <---
OS - nothing found
addic7ed (use search by file name) - works

https://paste.kodi.tv/ebudupiyov

@antonsoroko  I have modified torrents list, to have movie/show titles in the url, if you start playback from torrents list.
Please, try v0.1.30.

Summary:
now in tv series list and in torrent list name looks the same, e.g. Supernatural%20S14E18
Also I notices that 0 is removed from name, e.g. The%20Umbrella%20Academy%20S1E1 instead of The Umbrella Academy S01E01, not sure if it is important for search.
OS plugin still does not work.
addic7ed works on some episodes (see below).
https://paste.ubuntu.com/p/gmz8RzpSvT/
0) skip, some network issues on my side

from tv series list:
Supernatural%20S14E18
OS - nothing found
addic7ed (use search by file name) - nothing found
from torrent list:
Supernatural%20S14E18
OS - nothing found
addic7ed (use search by file name) - nothing found
series/torrents list
Supernatural%20S14E18
addic7ed (search by episode name) - nothing found
series/torrents list
The%20Umbrella%20Academy%20S1E1
addic7ed (use search by file name) - by some reason works. ???

Thank you.

Small changes in 0.1.32 regarding S1E1 instead of S01E01.

I'm only having this when I manual add a torrent (via URL).
It's says ''Now playing: Add Torrent'' and in the subtitle downloader it's searching on ''play'' (see pictures)

so i did some research:
play is just a title that kodi UI grab from url that is internally used in elementum to play added torrent.
it will not be used for subtitles search. and i don't see a good way to override it in code (only for beauty reason) since you can add torrent as local file or as remote url (so it will be either name of torrent file like something.web.720p.myteam.torrent or last part of url like 436sd3452g43564hh2352.torrent).
the real issue is that search will be done for "Add Torrent'' title.
and the funny thing is that this name is dependent on what is currently hovered in elementum's interface. e.g. if you will use web ui to add torrent and in kodi you will hover on "Settings" - then VideoPlayer.Title (label from kodi) will be also "Settings" and search will be done using this name.
and again i don't really see a good way to avoid this, since sometimes it is useful info (e.g. in torrents list - it will use name of torrent if this torrent is not associated with any tmdb item).
so i guess this UI thing (play) will remain as a know inconvenience and for "Add Torrent'' as a title - the best way is to use "assign torrent" functionality - assign torrent to tmdb item, so search will be done by using proper name.


Pasted images

Hey,
It seems that any pasted/uploaded images don't appear for me in IRC. Is this expected behaviour? Or am I missing some configuration?
Cheers,
Furai

I see the same issue and would like to try do a fix for this but not sure where to start. Any pointers to protocol for the images or where in the implementation one would start would be great.

Seems like this behaviour changed since mattermost 3.5.0 when they changed from Filenames to FileIds.
I've fixed this so matterircd behaves the same again for public links (public links have to be enabled on mattermost instance).
This will not work for private links.
@maxandersen are you willing to look into this to get it to work for private links ?

by private links you mean files shared in private groups / direct messages ?

In your PR #89 for this issue you said:

doing the same as was done for filenames, but fileid instead and using direct links rather than public ones.

I thought you meant using private links (when the public links option hasn't been enabled in the mattermost console).
I haven't tested anything yet with public links option disabled

ah - I haven't tried fiddling with the console, just using the instance we got at work for which public links didn't work so I had to print out the private links. I guess I should just check if get public info works, if yes - print that, if not - print the private ones.

I'm going to close this for now, if you're going to look further into public links, feel free to open a PR


net_exfil

detections for data exfiltration through network:
detections/endpoint/dns_exfiltration_using_nslookup_app.yml
detections/endpoint/excessive_usage_of_nslookup_app.yml
detections/network/multiple_archive_files_http_post_traffic.yml
related also on trickbot:
detections/network/plain_http_post_exfiltrated_data.yml

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
DNS Exfiltration Using Nslookup App :white_check_mark:

diskUsage: 512000
runDuration: 1.942s
scanCount: 88

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Excessive Usage of NSLOOKUP App :white_check_mark:

diskUsage: 409600
runDuration: 2.6430000000000002s
scanCount: 2904

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Multiple Archive Files Http Post Traffic :x:

diskUsage: 131072
runDuration: 0.6970000000000001s
scanCount: 92

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Plain HTTP POST Exfiltrated Data :x:

diskUsage: 126976
runDuration: 0.665s
scanCount: 260

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Multiple Archive Files Http Post Traffic :x:

diskUsage: 131072
runDuration: 0.873s
scanCount: 92

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Multiple Archive Files Http Post Traffic :x:

diskUsage: 131072
runDuration: 0.672s
scanCount: 92

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Multiple Archive Files Http Post Traffic :x:

diskUsage: 131072
runDuration: 0.712s
scanCount: 92

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Plain HTTP POST Exfiltrated Data :x:

diskUsage: 126976
runDuration: 0.7020000000000001s
scanCount: 260

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Plain HTTP POST Exfiltrated Data :white_check_mark:

diskUsage: 131072
runDuration: 0.665s
scanCount: 92

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Multiple Archive Files Http Post Traffic :white_check_mark:

diskUsage: 135168
runDuration: 0.659s
scanCount: 260


Invoke-DbaDbDataMasking - Leftovers when running datamasking

Verified issue does not already exist?
Yes
What error did you receive?
when running Invoke-DbaDbDataMasking the command creates a column: MaskingID in the table that is masked if it does not have a primary key.
This column seems not to be removed when datamasking is done
it also creates this column when using the -WhatIf parameter.
Expected behavior 1:
When using -WhatIf no changes to the db/table should be done
Expected behavior 2:
Temporary columns to be dropped just like the temporary indexes created
Steps to Reproduce
# provide your command(s) executed pertaining to dbatools
# please include variable values (redacted or fake if needed) for reference

PS D:\Applications\PowerShell\Scripts\DBATOOLS_commands> Invoke-DbaDbDataMasking -SqlInstance SASSOAPPTEST02 -Database testdb -FilePath
D:\Applications\PowerShell_DataMasking_Data2\SASSOAPPTEST01.testdb.DataMaskingConfig_Person_all.json -WhatIf
What if: Performing the operation "Masking 171423 row(s) for column [lastname, firstname] in testdb on target "SASSOAPPTES
T02".
Are you running the latest release?
Yes
Other details or mentions
I have chatted with @sqlstad about this issue
What PowerShell host was used when producing this error
Windows PowerShell (powershell.exe)
PowerShell Host Version
Name                           Value

PSVersion                      5.1.17763.2183
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.2183
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
SQL Server Edition and Build number
SQL 2019 Dev Edtition:
Microsoft SQL Server 2019 (RTM-CU13) (KB5005679) - 15.0.4178.1 (X64)
Sep 23 2021 16:47:49
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Windows Server 2019 Standard 10.0  (Build 17763: ) (Hypervisor)
.NET Framework Version
PS D:\Applications\PowerShell\Script_Center> .\DetermineNetframeworkVersion.ps1
.NET Framework 4.8

Thanks for reporting this! @sanderstad can you please take a look?

It's on my radar, Alex and I already talked about it.

This got a bit stale. So let me bring this issue to you attention again...


No content for reverse proxy

Hello all,
I have set up frontail in docker. When I call the internal IP with port, then the web page appears without error.
If I forward this page via reverse proxy, the page appears but the content is empty.
The debugger displays:
Firefox cannot connect to the server at wss:/example.com/socket.io/?EIO=3&transport=websocket.
GET	wss://example.com/socket.io/?EIO=3&transport=websocket
Status is: blocked
What's going wrong?
Here are my settings:
docker-compose.yml:
version: '3.9'

services:
  frontail:
    image: mthenw/frontail:4.9.2
    container_name: frontail
    restart: unless-stopped
    volumes:
      - /var/log:/log:ro
    ports:
      - 8093:9001
    command: >
      /log/syslog

/etc/apache2/sites-available/030-frontail.conf:
<VirtualHost *:80>
	ServerName example.com
	ProxyPreserveHost On
	ProxyPass / http://<IP_ADDRESS>:8093/
	ProxyPassReverse / http://<IP_ADDRESS>:8093/
</VirtualHost>

Thanks a lot

<VirtualHost *:80>
	ServerName example.com
	ProxyPreserveHost On
	ProxyPass / ws://<IP_ADDRESS>:8093/
	ProxyPassReverse / ws://<IP_ADDRESS>:8093/
</VirtualHost>

Same for :443


If statement should consider ASI (Automatic Semicolon Insertion)

think below code:
if(!a)a++
;[b]=c

the if statement should considered end just in EOL of first line, since the ASI And IfStatement
Expected Result:
there should be if(!a)a=1; just the semicolon is ignored, so the IfStatement node should end with 9
Actual Result
The ASI rule is omitted, so the IfStatement node end with 11, which is not right.
This will lead to issue like in buble

Per the section in ECMA-262 you linked, Acorn's behavior is correct here IMHO. The ; can be parsed w/o error when regarded as a continuation of the previous line, so no ASI is in play here.

What about this?
if(!a)throw 1
;[b]=c

The spec here
The throw statement always has ASI, never consider the next line. but acorn parsed result, the IfStatement end with 15, which should be 13

I don't see how ThrowStatements should be parsed any differently.

Please see below:
https://stackoverflow.com/a/2846298/4612829
Rule 3 on page: http://www.bradoncode.com/blog/2015/08/26/javascript-semi-colon-insertion/
throw
1

will become
throw;
1

so
throw 1

will never take consider to next line

@futurist I'm afraid you misread the rule. [NoLineTerminator] is explicitly between throw and its argument, so yes,
throw
1

would be parsed as
throw;
1

but if there was no line terminator between them, following semicolon still belongs to the statement as no ASI kicks in.

@RReverser Yes, you are right, acorn worked in the right way. thank you for point out.


PANIC: GraphDiscovery::Tenant().oauth() under Tokio

If you run the following test:
    #[tokio::test(core_threads = 4)]
    async fn get_tennant_disco_tokio() {
        let oauth: GraphOAuth =
            match GraphDiscovery::Tenant(TST_MSGRAPH_TENNANT.to_owned()).oauth()
            {
                Ok(tmpoauth) => tmpoauth,
                Err(err) => {
                    let msg = format!("[get_tennant_disco_tokio()]:, {:?}", err);
                    panic!(msg);
                },
            };
        println!("[get_tennant_disco_tokio()]:, {:?}", oauth);
    }

It fails in
MicrosoftSigningKeysV2 = Commons::signing_keys :

let client = reqwest::blocking::Client::builder().build()?;
------------------------^^^^^^-------
The Client is using the reqwest blocking client...
Is there a flag to force async / non-blocking ?

@JRAndreassen Great question. The signing keys is actually one of the remaining things I need to add async for. Thanks for pointing this out. I added a ticket to get this done here: https://github.com/sreeise/graph-rs/issues/272

@sreeise ..
That s great... Thanks
If you could add an example on the correct way to get a token using "[client creds grant flow](// https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow)"
and issue a call all async...
That would be of tremendous help...
Thanks
JR

The error: "invalid type: string "3599""
caused by
	"expires_in": "3599",

can be solved by:
diff --git a/graph-oauth/src/accesstoken.rs b/graph-oauth/src/accesstoken.rs
index 78276f67a8bbbacaba346f10f3bf097e16d18f39..dadd1ced5eb237a42b368cc8bf0f92f97923ec7a 100644
--- a/graph-oauth/src/accesstoken.rs
+++ b/graph-oauth/src/accesstoken.rs
@@ -50,6 +50,7 @@ use std::fmt;
 pub struct AccessToken {
     access_token: String,
     token_type: String,
+    #[serde(deserialize_with = "from_str")]
     expires_in: i64,
     scope: Option<String>,
     refresh_token: Option<String>,
@@ -61,6 +62,17 @@ pub struct AccessToken {
     jwt: Option<JsonWebToken>,
 }

+use std::str::FromStr;
+use serde::de::Deserialize;
+fn from_str<'de, T, D>(deserializer: D) -> Result<T, D::Error>
+    where T: FromStr,
+          T::Err: std::fmt::Display,
+          D: serde::de::Deserializer<'de>
+{
+    let s = String::deserialize(deserializer)?;
+    T::from_str(&s).map_err(serde::de::Error::custom)
+}
+
 impl AccessToken {
     pub fn new(token_type: &str, expires_in: i64, scope: &str, access_token: &str) -> AccessToken {
         let mut token = AccessToken {

The error: "invalid type: string "3599""
caused by
	"expires_in": "3599",

can be solved by:
diff --git a/graph-oauth/src/accesstoken.rs b/graph-oauth/src/accesstoken.rs
index 78276f67a8bbbacaba346f10f3bf097e16d18f39..dadd1ced5eb237a42b368cc8bf0f92f97923ec7a 100644
--- a/graph-oauth/src/accesstoken.rs
+++ b/graph-oauth/src/accesstoken.rs
@@ -50,6 +50,7 @@ use std::fmt;
 pub struct AccessToken {
     access_token: String,
     token_type: String,
+    #[serde(deserialize_with = "from_str")]
     expires_in: i64,
     scope: Option<String>,
     refresh_token: Option<String>,
@@ -61,6 +62,17 @@ pub struct AccessToken {
     jwt: Option<JsonWebToken>,
 }

+use std::str::FromStr;
+use serde::de::Deserialize;
+fn from_str<'de, T, D>(deserializer: D) -> Result<T, D::Error>
+    where T: FromStr,
+          T::Err: std::fmt::Display,
+          D: serde::de::Deserializer<'de>
+{
+    let s = String::deserialize(deserializer)?;
+    T::from_str(&s).map_err(serde::de::Error::custom)
+}
+
 impl AccessToken {
     pub fn new(token_type: &str, expires_in: i64, scope: &str, access_token: &str) -> AccessToken {
         let mut token = AccessToken {

Great catch! I will look at changing to this soon.

@sreeise ..
That s great... Thanks
If you could add an example on the correct way to get a token using "client creds grant flow"
and issue a call all async...
That would be of tremendous help...
Thanks
JR
something like this:
    #[test]
    fn get_calendars_sync() {
        log_init();
        let mut oauth  = GraphDiscovery::Tenant(TST_MSGRAPH_TENNANT.into())
            .oauth()
            .unwrap();
        let mut request = oauth
            .client_id(TST_MSGRAPH_CLIENTID)
            .client_secret(TST_MSGRAPH_CLIENTSEC)
            .build()
            .client_credentials();
        println!("[get_calendars_sync]OAuth:, {:?}", oauth);
        let access_token =
        match request.access_token().send() {
            Ok(acctok) => acctok,
            Err(err) => panic!("Error: {:?}", err),
        };
        let token = access_token.bearer_token();
        if !token.is_empty()
        {
            let client = Graph::new(&token);
            let cal_res = client.v1().me().calendar().get_default().send();
            println!("[get_calendars_sync]Calendars returned:, {:?}", cal_res);
        } else {
            panic!("[get_calendars_sync]Failed to get token")
        }
    }

This yeild:
[get_calendars_sync]OAuth:, OAuth { access_token: None, scopes: {}, credentials:
{	"access_token_url": "https://login.microsoftonline.com/TST_MSGRAPH_TENNANT/oauth2/token",
	"authorization_url": "https://login.microsoftonline.com/TST_MSGRAPH_TENNANT/oauth2/authorize",
	"client_id": "TST_MSGRAPH_CLIENTID", "client_secret": "TST_MSGRAPH_CLIENTSEC",
	"logout_url": "https://login.microsoftonline.com/TST_MSGRAPH_TENNANT/oauth2/logout",
	"refresh_token_url": "https://login.microsoftonline.com/TST_MSGRAPH_TENNANT/oauth2/token"} }
thread 'sensor_msgraph::tests::get_calendars_sync' panicked at
'Error: ReqwestError(reqwest::Error { kind: Decode, source: Error("invalid type: string \"3599\", expected i64", line: 1, column: 42) })', src\msgraph.rs:716:25

It would also be awesome, if the debug "{:?}" did not dump secrets...
So it would output: "client_secret": "*Redacted"

For the client credentials flow you need to do admin consent through the browser first before being able to get access tokens. The good thing is you only need to do that once and then afterward you can just get access tokens. The is an example here: https://github.com/sreeise/graph-rs/blob/master/examples/client_credentials.rs
Basically you just need to set your client id, redirect uri, scopes, token url, and then set the authorization url to https://login.microsoftonline.com/common/adminconsent. After this do browser authorization using an admin login and then request an access token like normal.

@JRAndreassen  The async methods have been added to the master branch. You can now do:
GraphDiscovery::Tenant("TENANT").async_oauth()

@JRAndreassen The async methods have been added to the master branch. You can now do:
GraphDiscovery::Tenant("TENANT").async_oauth()

Sweet... Thanks :)

@sreeise ...

I do have a question about whats causing this for you though. It looks like your going to get the access token and it fails because the response has expires_in as a String right, and the AccessToken struct is set to i64? I am just wondering why its failing for you. There are many tests that I use the OAuth crate for to get access tokens and dont see this issue currently.

After some serious head-banging, I figured out that the issues stem from using the
discovery, which uses "https://login.microsoftonline.com/TENANTID/oauth2/authorize"
as opposed to "https://login.microsoftonline.com/TENANTID"

@sreeise ...

I do have a question about whats causing this for you though. It looks like your going to get the access token and it fails because the response has expires_in as a String right, and the AccessToken struct is set to i64? I am just wondering why its failing for you. There are many tests that I use the OAuth crate for to get access tokens and dont see this issue currently.

After some serious head-banging, I figured out that the issues stem from using the
discovery, which uses "https://login.microsoftonline.com/TENANTID/oauth2/authorize"
as opposed to "https://login.microsoftonline.com/TENANTID"

Well head banging always seems to get the job done :+1: Let me know if you have any other issues that need to be looked at. I appreciate the feedback.

@sreeise
This issue popped up again...
Not sure why...
I'm making a PR utilizing "serde_aux::deserialize_number_from_string"
it will take either...
You OK with that ?

@sreeise
This issue popped up again...
Not sure why...
I'm making a PR utilizing "serde_aux::deserialize_number_from_string"
it will take either...
You OK with that ?

Sure, as long as existing functionality works (also there might be some tests that need to be changed).

Also, because some tokens do come in as a number your solution will need to account for whether it will be a string or an i64.

Hi...
PR: https://github.com/sreeise/graph-rs/pull/291/files
And serde_aux::deserialize_number_from_string should ...
(https://github.com/vityafx/serde-aux/blob/master/src/field_attributes.rs)
I tested, and included a test at the end of the file...
It can be moved to your tester dir..
(I usually put them at the end.


Improve Admin project view navigation

Motivation:
Navigating features in the Admin project view is fairly confusing. We'll introduce a streamlined tabbed header to navigate between project features. This will also allow to more easily park new features such as graph statistics.
Acceptance Criteria:

When a user accesses the admin project view, he or she is presented with:

A header with the org name and project name
A tabs navigation to the following elements:

Browse
Query
Create and Upload
Studios (direct link to the list of studios for this project in the studio sub-app)
Workflows (direct link to the list of workflows for this project in the workflow sub-app)
Settings

The "Browse" tab will collect all the default query (resource list) functionalities
The "Query" tag will collect all the query functionalities (select a view, write the query, execute it, see results)
The "Create and Upload" tab will allow users to create a new resource (incl. from templates) and upload one or more files
The "Settings" tab will include all features that are currently in the "Settings" pane in the project listing views

Notes:

visually show that studios and workflows open/redirect to another part of the app

Not in scope:

The "Statistics" tab will be addressed separately #2557

Hey team! Please add your planning poker estimate with ZenHub @adulbrich @bogdanromanx @dhaneshnm @imsdu @nicwells @wwajerowicz


BREAKING CHANGE(web-twig): Remove old Modal and rename ModalComposed …

…to Modal #DS-616
Also remove ModalFooter alignment deprecation.
Migration Guide

Discontinue the old Modal component: The old Modal component has been entirely removed and is no longer available for use.

Adopt the new Modal in place of ModalComposed: The ModalComposed component has been renamed to Modal. Thus, replace all instances of ModalComposed in your codebase with Modal.

Update Component Tags: Make sure to modify the component tags in your codebase as outlined below:

<ModalComposed …> → <Modal …>
<ModalComposedBody …> → <ModalBody …>
<ModalComposedDialog …> → <ModalDialog …>
<ModalComposedFooter …> → <ModalFooter …>
<ModalComposedHeader …> → <ModalHeader …>

Rename ModalFooter Align prop: Instead of align use alignmentX.

<ModalFooter align="left" …> → <ModalFooter alignmentX="left" …>

Please refer back to this guide or reach out to our team if you encounter any issues during migration.
Issue reference
#DS-616

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Follow the PR Title/Commit Message Convention.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

coverage: 96.552%. remained the same when pulling 65492d3d525b1b1cd2d8c1685a488b33198230e0 on bc/twig-modal-composed into d5026967f13392b6675d69747605c35b39bae503 on integration/bc-version-1.


#3598 - Correct Linux command

Corrects the syntax for the tar step

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for letting us know about this. We've run the changes to our docs internally and the changes should now be live, so we can close this.


adding Maryland medicare exclusions crawler

Looks like there's an excel file that's more up to date than the PDF - any reason we can't use that?


Improve code readability on README code examples

Code blocks were missing the language specifiers, so they weren't nicely highlighted.
Result:

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

Thanks, merged.


Add service label values for Nexus

Enable use of custom service labels for the Nexus chart.

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)
- fixes #
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @rjkernick

/assign

/ok-to-test

Had a PR get merged ahead of yours. Please resolve/update the Chart.yaml.

Merge conflict resolved

/lgtm

thanks for the quick turnaround on the feedback


Drag & Drop E-Mail message does not show correct link

Hi @abo629. Generally thanks for your input, but I think this is nothing I would actually regard a bug report. Feel free to create a proper one, otherwise I'm going to close here.


how to force fzf to don't follow symbolic link ?

Category

[x] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Hi,
In a folder, I have a symbolic link to a folder upstream so if I run fzf -e in this folder it include the folder multiple time like:
foo/bar/symlink_to_foo
foo/foo/bar/symlink_to_foo

So, how to force fzf to don’t follow symbolic link?

You might want to read through the README page and learn about FZF_DEFAULT_COMMAND environment variable.
Related:

https://github.com/junegunn/fzf#usage
https://github.com/junegunn/fzf#tips
man find


Unknown connection type: Microsoft.Data.Sqlite.SqliteConnection

Hi,
My OrchardCore tests started breaking in a non-deterministic way after updating from 1.0.0-rc2-15309 to 1.0.0-rc2-15457.
Throws this error: Unknown connection type: Microsoft.Data.Sqlite.SqliteConnection
The YesSql version was updated, might it have something to do with that?
I found a commit related to this: sebastienros/yessql@ed59267
More info on the tests - out of 400 tests, about 5 start breaking. On a re-run, they succeed and others start breaking.

Probably some concurrency issue. Looking into it ...


Get support for ServerSentEvent (SSE)

The use of SSE is minimal and very specific.
I do not intend to support this feature for the time being, perhaps in the future.


[bug] Objects from inactive organizations are visible to the user

The User.organizations_dict remains unaffected even when the status of the Organization.is_active attribute is modified. As a result, users can continue to access items from deactivated organizations until the cache expires. Conversely, if a previously disabled organization is reactivated, users are unable to retrieve objects associated with that organization.
Proposed Solution:
When the is_active status of an Organization changes, the User.organizations_dict cache should be invalidated for the related users.

django-organizations provides ActiveOrgManager (queryset manager) that only returns active organizations in the queryset.
For all non-admin views, we should use this querset manager. In the admin views, Organization.objects.filter(user.organizations_managed must take care of everything.

would like taking this up!


Alert question

If the image does not exist, it will display alert. I hope I can remove the alert. Can I do it?

I'll update this in the near future to give more control over error handling. Having a hard coded English alert is definitely not the best way to go about it.
In the meantime, you can disable the alert by changing the line below. It should say only return
https://github.com/henrygd/bigpicture/blob/e1813bee18a7116f75432c47a2971eb5dee0271b/dist/BigPicture.js#L526
Feel free to leave this issue open until I update.

Thank you

Updated with custom error handling. See readme for instructions.
a3568ab6c2839a603e933a23eb8957813575c57a


Problem compiling on Windows 7

I receive the following error when I try to compile a project I have inherited. Same project compiles on Mac using your extension without problems:
> Executing task: C:\Program Files\Common Files\Oracle\Java\javapath\java.exe -jar c:\Users\xxxx\.vscode\extensions\bowlerhatllc.vscode-nextgenas-0.14.1\bin\asconfigc.jar --sdk c:\flex_sdk_3.6a --debug=true --project c:\Users\xxxx\projects\project.Flexv1.vscode\asconfig.json <

Loading configuration file C:\flex_sdk_3.6a\frameworks\flex-config.xml
C:\Users\xxxx\projects\project.Flexv1.vscode\manufacturer\scorecard.mxml(206):  Error: Type was not found or was
not a compile-time constant: HitData.

                        private function fmtDataTip( item:HitData ):String {

The terminal process terminated with exit code: 1

Below is my asconfig.json:
{
	"config": "flex",
	"compilerOptions": {
		"output": "bin/manufacturer.swf",
		"source-path": [
			"."
		]
	},
	"files":
	[
		"./manufacturer.mxml"
	]
}

Note that the source files are located in the root of the project and so is manufacturer.xml. I wonder if on Windows source-path cannot be specified in this way.

Here is the code in scorecard.mxml. Line 206 is where private function fmtDataTip is declared. Note how import statement is right above it in the same block.
	<mx:Script>
		<![CDATA[
      ...

      import mx.charts.HitData;

      ...

			private function fmtDataTip( item:HitData ):String {
				var s:String;
				var bSI:BarSeriesItem = item.chartItem as BarSeriesItem;

				s = "" +Series(item.element).displayName + "
" +" => "  +bSI.xValue ;
				return s;
			}

I'm guessing that it's not an issue with the extension, but some difference between the SDKs that you are using to compile the project. Are you using the exact same version of the Flex SDK on both platforms? I see that you're compiling with Adobe Flex 3.6A on Windows. Is that the same version of the SDK that you're using on Mac?
It's worth mentioning that the Adobe Flex data visualization components (including charts) used to be a premium feature that required an extra compiler option to unlock. Depending on which version of the Flex SDK you are using, this may or may not be necessary.

Thanks for the hint. Indeed the visualization components where not part of 3.6 SDK. I had to download Adobe Flex 3.6 Data Visualization Components for Flex Builder separately from https://www.adobe.com/devnet/flex/flex-sdk-download.html and then grab the following two files from it and move them to their corresponding locations in 3.6 SDK:
/frameworks/libs/datavisualization.swc
/frameworks/locale/en_US/datavisualization_rb.swc
For some unknown reason the files were present in the 3.6 SDK folder on Mac that's why it compiled there.
Thanks again.

Happy to help!


Validaton selector

The .selectpicker class may not exist on the select element if it's initialized directly via javascript, which breaks the validation styling.  Changing the selectors to look for the select element directly fixes it.

Released in v1.13.12!


Feature/fix memory leaks

This is just a small fix against some memory leaks.
Some System.Drawing Objects were not disposed.

Thanks for your help!

Thanks for merging!
could you please release a nuget package with the latest changes?

Hi @marcelhintermann - I'll add one, two more changes this evening and then release a new version of the package.


Invaild or corrupt jarfile

I am getting the error. Error: Malformed version number string Error: Invalid or corrupt jarfile /usr/local/bin/apktool.jar
I installed the latest version of apktool and I am getting this.

Please double check hash, with around 30k downloads. This so far is just you.


Add gumroad

Gumroad is a shopping website for digital products. Issue is, each seller has their own subdomain, so the list would need to read: *.gumroad.com, which is currently not supported.

This can be added once wildcard support is available.


APY issue during test round

Subject of the issue
The APY skill failed on this CI run, because the test task returned without any data. This could be an issue either with the training (corrupted models) or with the test methods utilized during the test task.

Moved to https://github.com/valory-xyz/apy-oracle/issues/14.


danga zone added

Description
danja zone
Checklist
Essentials

[x] Changes are complete (i.e. I finished coding on this PR)

This was a test. 😆 Was teaching a class for other writers and editors to contribute to MXNet.


Change Dropdown in dialog is not working

I am trying to change state dropdown to canceled but its not working

salmanaashish Please provide code that you tried, a screenshot, and page source screenshot with control.


Always fail to verify smart contract after upgrading foundry.

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (03aa926 2023-06-05T09:38:42.448503000Z)
What command(s) is the bug in?
forge create --rpc-url "https://matic-mumbai.chainstacklabs.com" \     --constructor-args "AAAA" "AA" "https://gateway.pinata.cloud/ipfs/     ...     --verify \     src/AAAA.sol:AAAA
Operating System
macOS (Apple Silicon)
Describe the bug
Try to deploy my smart contract, always fail to verify the contract after running foundry up.
before that everything works fine.
here is the log I got:
[⠢] Compiling...
No files changed, compilation skipped
Deployer: 0x540b47fc7957bd6C16d5BDF41bed97B9f8b33C13
Deployed to: 0xa7D86a510bE9E3C4BAC144A92C83853d7146369b
Transaction hash: 0x53b8cdc00f9bee488cbf9705b655f710a8873d1e0b79c0bd8670a80f8a9f866b
Starting contract verification...
Waiting for etherscan to detect contract deployment...
Start verifying contract `0xa7d86a510be9e3c4bac144a92c83853d7146369b` deployed on mumbai

Submitting verification for [src/AxeLandNFTToken1.sol:AxeLandNFTToken1] "0xa7D86a510bE9E3C4BAC144A92C83853d7146369b".

Submitting verification for [src/AxeLandNFTToken1.sol:AxeLandNFTToken1] "0xa7D86a510bE9E3C4BAC144A92C83853d7146369b".

Submitting verification for [src/AxeLandNFTToken1.sol:AxeLandNFTToken1] "0xa7D86a510bE9E3C4BAC144A92C83853d7146369b".
Submitted contract for verification:
	Response: `OK`
	GUID: `q3gtjhgqaqkyrvxmrrz1sq9bvqcpemyxa23cvcfevmvmgy9xug`
	URL:
        https://mumbai.polygonscan.com/address/0xa7d86a510be9e3c4bac144a92c83853d7146369b
Contract verification status:
Response: `NOTOK`
Details: `Pending in queue`
Contract verification status:
Response: `NOTOK`
Details: `Fail - Unable to verify`
Contract failed to verify.

Hmm this shouldn't be the case—I'll give it a look cc @mattsse

I second this being an issue. But in my case it doesn't verify on etherscan even when I upload the whole flattened file, so I don't exactly know what's going on.
On a related note, if I have more advanced compiler settings (optimizer true, constantOptimizer false), will forge create --verify still be able to send etherscan the correct compiler settings?

Update: here is a concrete contract which failed to verify no matter what I did using foundry --version nightly. After doing foundryup --commit 8bbde620ab39246f3c89700a19dfe6f347e99f4f the verify worked fine.

I experienced the same verification issue on forge 0.2.0 (08a629a 2023-06-03T00:04:22.625130135Z), but was not able to validate the workaround from @jonathanpwang due to running into the foundry config error: Unknown evm version: paris for setting evm_version`` when trying to run at the foundry version specified above.
Response I got was this:
Start verification for (1) contracts
Start verifying contract `0xa519457b3d3734a6ca54e3b8be7f408ac87feb0b` deployed on goerli

Submitting verification for [src/Preseller.sol:Preseller] "0xa519457b3d3734a6CA54e3B8be7f408ac87feB0B".
Submitted contract for verification:
        Response: `OK`
        GUID: `kmewdcmqcmrduuqhcfipyffqrspxhkh19vrzxfdpqza8tpznc1`
        URL:
        https://goerli.etherscan.io/address/0xa519457b3d3734a6ca54e3b8be7f408ac87feb0b
Contract verification status:
Response: `NOTOK`
Details: `Pending in queue`
Contract verification status:
Response: `NOTOK`
Details: `Fail - Unable to verify. Please check if the correct constructor argument was entered.`
Contract failed to verify.

I experienced the same issue on forge 0.2.0 (08a629a 2023-06-03T00:04:22.625130135Z), both with verification and with using foundry-zksync. Any workaround?

foundryup --commit 8bbde620ab39246f3c89700a19dfe6f347e99f4f

I trid this but still fail.

Hmm right now it's impossible to test on goerli to reproduce, but I can't reproduce the mumbai issues and Sepolia and other testnets (L2s) work properly—this might be an API issue with mumbai and ZKSync.

We're on it folks - pls send us repros if possible.

Tried deploying to Sepolia with a private repo, and tried Goerli with this repo of mine. Both failed to verify with
Details: Fail - Unable to verify. Please check if the correct constructor argument was entered.
being the culprit here.
https://github.com/mergd/6551-gift-cards

I was able to resolve this by using foundryup --commit 577e8b8d. From my testing it seems that any contract that uses constructor arguments can no longer be verified. I believe this is a regression. To reproduce the issue, attempt to deploy and verify any contract with constructor args.

Hey all, a fix is on the way with https://github.com/gakonst/ethers-rs/pull/2468 — we'll let you know when this is upstreamed to foundry!

Thanks Team!
Just ran into a similar issue on my first time ever verifying a contract from @Patricks course, herewith my repo if you'd like to take a look, https://github.com/0xPublicGoods/Foundry-FundMe-F23, it also happens to be a constructor argument issue
Start verification for (1) contracts
Start verifying contract `0x98d67f24558f78588386c5372f5a023b19b735a1` deployed on sepolia

Submitting verification for [src/FundMe.sol:FundMe] "0x98D67f24558F78588386c5372F5A023B19b735a1".

Submitting verification for [src/FundMe.sol:FundMe] "0x98D67f24558F78588386c5372F5A023B19b735a1".

Submitting verification for [src/FundMe.sol:FundMe] "0x98D67f24558F78588386c5372F5A023B19b735a1".

Submitting verification for [src/FundMe.sol:FundMe] "0x98D67f24558F78588386c5372F5A023B19b735a1".
Submitted contract for verification:
        Response: `OK`
        GUID: `tk4ia76s1qgfv8kv2fdsme11jvfmuxfwzycxlvxp7n1bwgycpr`
        URL:
        https://sepolia.etherscan.io/address/0x98d67f24558f78588386c5372f5a023b19b735a1
Contract verification status:
Response: `NOTOK`
Details: `Pending in queue`
Contract verification status:
Response: `NOTOK`
Details: `Fail - Unable to verify. Please check if the correct constructor argument was entered.`
Contract failed to verify.

Replicating this on my end also (and going a bit crazy thinking I had bad constructor args).
Sorry for the ping but any updates or workarounds atm @Evalir  ?

Replicating this on my end also (and going a bit crazy thinking I had bad constructor args).
I'm seeing the problem with any contract that has constructor args.
Command ran
forge verify-contract 0xdC4E3E75F444f4A83C02740fc0014c1D6F05570F SingleTokenPortfolio --constructor-args<PHONE_NUMBER>0000000000000094106ca9c7e567109a1d39413052887d1f412183000000000000000000000000ae78736cd615f374d3085123a210448e74fc639300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000746a52880000000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f526f636b6574706f6f6c2045544820506f7274666f6c696f20536861726573000000000000000000000000000000000000000000000000000000000000000007724554482d505300000000000000000000000000000000000000000000000000 --chain-id mainnet --watch

With output
Contract verification status:
Response: `NOTOK`
Details: `Fail - Unable to verify. Please check if the correct constructor argument was entered.`
Contract failed to verify.

Sorry for the ping but any updates or workarounds atm @Evalir  ?

gakonst/ethers-rs#2468

Any update?  and how to build forge with special ethers version? Thanks

@kuncle we recently released a patched foundry version—could you try foundryup?

@kuncle we recently released a patched foundry version—could you try doing foundryup and trying verification?

Thanks. But still got same error "expected value at line 1 column 1" after done foundryup.
.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx
╔═╗ ╔═╗ ╦ ╦ ╔╗╔ ╔╦╗ ╦═╗ ╦ ╦         Portable and modular toolkit
╠╣  ║ ║ ║ ║ ║║║  ║║ ╠╦╝ ╚╦╝    for Ethereum Application Development
╚   ╚═╝ ╚═╝ ╝╚╝ ═╩╝ ╩╚═  ╩                 written in Rust.
.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx
Repo       : https://github.com/foundry-rs/
Book       : https://book.getfoundry.sh/
Chat       : https://t.me/foundry_rs/
Support    : https://t.me/foundry_support/
Contribute : https://github.com/orgs/foundry-rs/projects/2/
.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx
foundryup: installing foundry (version nightly, tag nightly-1a1d6532c4da2105e871054208d606192ed695f9)
foundryup: downloading latest forge, cast, anvil, and chisel
########################################################################################################################################## 100.0%
foundryup: downloading manpages
########################################################################################################################################## 100.0%
foundryup: installed - forge 0.2.0 (1a1d653 2023-06-14T00:06:18.409597000Z)
foundryup: installed - cast 0.2.0 (1a1d653 2023-06-14T00:06:18.409597000Z)
foundryup: installed - anvil 0.1.0 (1a1d653 2023-06-14T00:06:29.034672000Z)
foundryup: installed - chisel 0.1.1 (1a1d653 2023-06-14T00:06:29.176105000Z)
foundryup: done!
Verify ERROR:
Start verifying contract xxx deployed on goerli
Error:
expected value at line 1 column 1

@Evalir Can confirm latest foundryup: installed - forge 0.2.0 (1a1d653 2023-06-14T00:06:18.409597000Z) worked for me, thanks!

@kuncle are you sure your error is this one? it seems like a different thing. Could you file another issue with your specific trouble and a minimal repro?

Hello everyone, yesterday I ran into the same problem with the deployment on sepolia and binance testnet
I went through the broadcast reports and found one embarrassing moment
Here is a list of arguments for the deployment from my last attempt (unable to verify), after large values in uint256 for some reason there is an abbreviated spelling (we can see it in the console logs from verbosity). Could it be that the same values (with an appendage on the right) are passed as arguments for verification?
"arguments": [
        "1686830400 \u001b[2;49;39m[1.686e9]\u001b[0m",
        "1697407200 \u001b[2;49;39m[1.697e9]\u001b[0m",
        "1697507200 \u001b[2;49;39m[1.697e9]\u001b[0m",
        "10000 \u001b[2;49;39m[1e4]\u001b[0m",
        "225"
      ]

Here are the same arguments, but from the previous version of the contract, which I deployed with successful verification a few weeks ago
"arguments": [
        "1686830400",
        "1697407200",
        "1697507200",
        "10000",
        "225"
      ]

Alright, will do a bit of issue management here—as this has received a few people that might have had their issue solved with the latest foundry releases, I will close this. We'll handle the separate deserialization issue here: https://github.com/foundry-rs/foundry/issues/4865 and @episqol we'll file a new issue

foundryup resolved my issue.

forge 0.2.0 (https://github.com/foundry-rs/foundry/commit/8bbde620ab39246f3c89700a19dfe6f347e99f4f 2023-11-03T09:29:47.566294Z)
So, i don't verify that
cmd: forge script script/Test.s.sol:Test --fork-url https://data-seed-prebsc-2-s2.binance.org:8545/ --broadcast --etherscan-api-key 34UZWJC71ISRNKG45K8RR759KUFCBSYRJP -vv --via-ir --verify


Define a convention for parsing command-line flags

Resolves https://github.com/tiny-pilot/style-guides/issues/3
Looking at the shell scripts in our repo's, we seem to parse command-line flags in basically four different ways. This PR compares these methods and picks a convention based on our preference.
1. Using getopts
Pros:

Uses bash built-in getopts command
Can chain short flag names (e.g. script.sh -abcd)
Built-in error handling
Code is compact
Currently, the majority of our shell scripts parse command-line flags in this way

Cons:

Only supports short flag names
Need to learn the options syntax (e.g. getopts 'ht:f')

Example:
TARGET_FILE=''
FORCE='false'
# Parse command-line flags.
# One colon indicates that the previous flag expects a required value, while
# two colons to indicate an optional value.
while getopts 'ht:f' opt; do
  case "${opt}" in
    h)
      echo 'Help is on its way'
      exit
      ;;
    t)
      TARGET_FILE="${OPTARG}"
      ;;
    f)
      FORCE='true'
      ;;
    *)
      >&2 echo 'Sorry, invalid option'
      exit 1
  esac
done
readonly TARGET_FILE
readonly FORCE

2. Using getopt
Pros:

Supports both short and long flag names
Can specify flag values using = (e.g. script.sh --target-file=/tmp/file)
Built-in error handling

Cons:

Uses GNU based getopt command (i.e., not available on macOS)
Need to learn the options syntax
Performs unexpected flag matching
For example, script.sh -target /tmp/file results in TARGET_FILE=arget.
This isn't an issue in the other parsing methods.

Example:
# Parse command-line flags.
# One colon indicates that the previous flag expects a required value, while
# two colons to indicate an optional value.
OPTIONS="$(getopt \
  --options 'ht:f' \
  --longoptions 'help,target-file:,force' \
  -- \
  "$@")"

# Process command-line flags.
eval set -- "${OPTIONS}"

TARGET_FILE=''
FORCE='false'
while true; do
  case "$1" in
    -h|--help)
      echo 'Help is on its way'
      exit
      ;;
    -t|--target-file)
      TARGET_FILE="$2"
      shift # For flag name.
      shift # For flag value.
      ;;
    -f|--force)
      FORCE='true'
      shift # For flag name.
      ;;
    --)
      shift
      break
      ;;
    *)
      >&2 echo 'Sorry, invalid option'
      exit 1
  esac
done
readonly TARGET_FILE
readonly FORCE

3. Using custom implementation A
Pros:

Code is easier to read and write

Cons:

Completely custom implementation
No built-in error handling
Can't specify flag values using =

Example:
TARGET_FILE=''
FORCE='false'
while [[ "$#" -gt 0 ]]; do
  case "$1" in
    --help)
      echo 'Help is on its way'
      exit
      ;;
    --target-file)
      TARGET_FILE="$2"
      shift # For flag name.
      shift # For flag value.
      ;;
    --force)
      FORCE='true'
      shift # For flag name.
      ;;
   *)
      >&2 echo 'Sorry, invalid option'
      exit 1
  esac
done
readonly TARGET_FILE
readonly FORCE

4. Using custom implementation B
Pros:

Code is easier to read and write
Requires little extra work to support both long and short flag names

Cons:

Completely custom implementation
No built-in error handling
Can't specify flag values using =
Can't chain short flag names

Example:
TARGET_FILE=''
FORCE='false'
while [[ "$#" -gt 0 ]]; do
  case "$1" in
    -h|--help)
      echo 'Help is on its way'
      exit
      ;;
    -t|--target-file)
      TARGET_FILE="$2"
      shift # For flag name.
      shift # For flag value.
      ;;
    -f|--force)
      FORCE='true'
      shift # For flag name.
      ;;
   *)
      >&2 echo 'Sorry, invalid option'
      exit 1
  esac
done
readonly TARGET_FILE
readonly FORCE

Source material

https://stackoverflow.com/a/402410/3769045
https://stackoverflow.com/a/34531699/3769045
https://stackoverflow.com/a/7069755/3769045

I think we should go with the  GOOD - parses only long flag names option.
The main reason for short flags is to make it easier on users who have to type the command names a lot, but none of our scripts are things that users would regularly type. They're called by other scripts, where we'd want long flags anyway, or they're called by users who are probably copy/pasting an example we gave them.

Apologies for the unprompted comment! I stumbled across this and thought it was worth mentioning that we also use getopt - which is different to getopts - in a few of our scripts, such as the one to set a static IP address for example.
The benefit of getopt is that that it supports both short and long options simultaneously, can enforce mandatory arguments, allows for optional arguments, and can detect invalid options. Our existing scripts that use it are based on the reference implementation and seem easy to understand.
@mtlynch / @jdeanwallace - Would it be worth considering getopt for this convention?

@cghague - Good point! We should consider getopt here, as the less we're rolling our own, the better.

Thanks @cghague, my eyes just glazed over that one.
I've updated the doc with an example using getopt, along with some pros/cons.
For me, this has slightly changed my preferences. If our heart is set on implementing long flag names then I would still stick with using custom implementation #1, but seeing how compact the code for using getopts can be I wouldn't mind using that either.
I'll leave the final decision to @mtlynch (if it's changed since https://github.com/tiny-pilot/style-guides/pull/10#issuecomment-1579019649)

@jdeanwallace - Yeah, I'd rather re-use existing tools, but reading the write-up, getopt doesn't seem to save us much code, and the fact that it's not cross platform kind of kills the deal.
Can we move the discussions of pros/cons to the PR description and update the style to just be the convention we're choosing?
Since this is a style PR, it'll go to whole team for review, but I want to have one clear proposal.

@mtlynch - I've updated the PR description to outline our discussion and reduced the code change to only detail the convention chosen.

Hey team, when you each get a chance could you review this style proposal for parsing shell command-line flags?
@cghague @jotaen4tinypilot @db39

Automated comment from CodeApprove ➜
⏳ @jotaen4tinypilot please review this Pull Request

Automated comment from CodeApprove ➜
⏳ @cghague please review this Pull Request

Automated comment from CodeApprove ➜
⏳ @db39 please review this Pull Request


router: improve test coverage, fix some bugs

Started adding tests to cover some untested edge cases in the router. Turns out that 2 of the first 3 tests I wrote found bugs introduced by #781.
/cc @benburkert

LGTM


automatic tests in browserstack

There's been a few issues with running the code in IE11, it would be good to get tests running in IE, with eg karma+BrowserStack (or similar) I think it's free for open source?

There are some caveats, but yes it looks like BrowserStack has an open source program if a maintainer wants to sign up: https://www.browserstack.com/open-source
Based on a cursory glance at package.json it looks like the bigger project would just be setting up Karma.


Remove a Required() Flag in MediaFolderDefinition

PHP Version
7.4
Shopware Version
<IP_ADDRESS>
Expected behaviour
Since Shopware apps with own upload features have to create own folders in the media manager. I need to inherit the confgurationId from any other folder (like products) to create a new folder. In some situations my customers deleted this folder, and the plugin crash on installation.
The property configurationId has a required flag. It's not necessary but I can't create new "Folders" without a configurationId.
Just let the configuration be optional to avoid errors.
Actual behaviour

How to reproduce

@shyim
Thank you. In this case a new configuration is created. But I can deal with it :)


Does this only work for promises constructed with the Promise global?

I just discovered that an error from rollup was being swallowed, even though I was using loud-rejection.
It looks like rollup uses es6-promise instead of the builtin Promise. Does this mean loud-rejection only works for promises constructed from the Promise global, and can't be made to work for other ones?

It works for any Promise library that emits unhandledRejection on process. Ask the es6-promise folks to implement.

Both pinkie-promise and bluebird supports it. Unsure about others. pinkie-promise is tiny and fully compliant. Just do a pull request on Rollup to use that instead.

:+1: Better idea. It looks like es6-promise has a browser focus, so they may not be interested in supporting Node events.

@callumlocke Bluebird is better. Pinkie fails on windows

Bluebird is better. Pinkie fails on windows

That's news to me. File an issue with a reproduction and we will fix it.

@TrySound Bluebird is different. It's better if you have a large project and needs lots of utilities. Pinkie is tiny and great for use in small modules. As for the Windows comment, please provide some proof, preferably as a ticket on the pinkie issue tracker.

@sindresorhus https://ci.appveyor.com/project/davidtheclark/cosmiconfig/history
Something wrong was with ava in those tests. There was 22 at all. But 22 was passed and 9 was failed on node 0.10. Bluebird is passed fine there.

@jamestalmage We couldn't reproduce it :) But appveyor was failed.

@TrySound Still better to open an issue than to complain elsewhere without any actual proof. AppVeyor is consistently flaky, the fact that the switch fixed it could have just been a coincidence.

And as I recall, you were using https://github.com/floatdrop/pinkie/pull/11 before we decided to go with https://github.com/floatdrop/pinkie/pull/12

@jamestalmage You are right. Seems like it was cache:  - node_modules appveyor settings.
https://github.com/davidtheclark/cosmiconfig/pull/19
Maybe remove it at all?

@TrySound Yes, not worth the possible trouble. And you would always want to test on latest sub-dependencies anyways.

There are only two hard things in Computer Science: cache invalidation and naming things.
- Phil Karlton.

@sindresorhus True. Thanks!


sslc s_server command prompts for password even when it is provided in the command line itself using -pass.

sslc s_server command prompts for password even when it is provided in the command line itself using -pass. This issue we're facing in OpenSSL 3.1.* versions. We’re not seeing this in older versions like 1.0.2 or 1.1.1k.
Note: * includes all the minor and letter releases.
One workaround provided by OpenSSL which worked for us is below:
"" This bug happens if you have the encrypted key in the same file as the
certificate. A simple workaround is to put the key in a separate file
and use the -key option to load it and have only the unencrypted
certificate in the file loaded with the -cert option.
But nevertheless it is a regression.
Kind regards,
Tomas Mraz, OpenSSL ""

@levitte could you please inviestigate this and propose a solution to the issue as described?

sslc s_server command prompts for password even when it is provided in the command line itself using -pass. This issue we're facing in OpenSSL 3.1.* versions. We’re not seeing this in older versions like 1.0.2 or 1.1.1k. Note: * includes all the minor and letter releases.
One workaround provided by OpenSSL which worked for us is below:
"" This bug happens if you have the encrypted key in the same file as the certificate. A simple workaround is to put the key in a separate file and use the -key option to load it and have only the unencrypted certificate in the file loaded with the -cert option.

Would it be possible to provide more information about the structure of the key + cert file?  Without disclosing any of the sensitive content you can paste the output of:
$ keycertfile=/some/where.pem
$ grep ' ' $keycertfile

Which will show the PEM headers without the base64 data of the key or certificate.
I ran into what might be the same issue (1.0.2 and 1.1.1 are fine, but 3.0 or later prompt for a password) with the 'dsa-pca.pem' file in the 1.0.2 source distribution:
$ grep ' ' certs/demo/dsa-pca.pem
-----BEGIN DSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,F80EEEBEEA7386C4
-----END DSA PRIVATE KEY-----
-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

Running x509 to view the certificate unexpectedly prompts fro the private key password:
$ OPENSSL_CONF=./apps/openssl.cnf ./util/shlib_wrap.sh ./apps/openssl x509 -in certs/demo/dsa-pca.pem -noout -subject
subject= /C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=PCA

$ /opt/openssl/1.1.1/bin/openssl x509 -in certs/demo/dsa-pca.pem -noout -subject
subject=C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = PCA

$ /opt/openssl/3.0/bin/openssl x509 -in certs/demo/dsa-pca.pem -noout -subject
Enter pass phrase for certs/demo/dsa-pca.pem:<ENTER>
subject=C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = PCA

Note however, that with a PKCS#8 password-protected private key, there is no prompt:
$ /opt/openssl/3.0/bin/openssl x509 -in /tmp/bar.pem -noout -subject
subject=CN = <hostname was here>
$ grep  ' ' /tmp/bar.pem
-----BEGIN ENCRYPTED PRIVATE KEY-----
-----END ENCRYPTED PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

Cc: @levitte @t8m

Reproducer with traditional encrypted RSA keys:
$ openssl genrsa -traditional -aes128 -passout pass:foobar -out /tmp/bar.pem 2048
$ openssl req -new -x509 -key /tmp/bar.pem -days 30 -subj / -passin pass:foobar >> /tmp/bar.pem
$ openssl x509 -in /tmp/bar.pem -noout -dates
Enter pass phrase for /tmp/bar.pem:<ENTER>
notBefore=Oct 14 00:50:22 2024 GMT
notAfter=Nov 13 00:50:22 2024 GMT


Update FileSystemInfo.Attributes details

Update FileSystemInfo.Attributes details
Summary
The returned value is -1 when the file doesn't exist. This is important to document as that means all flags are set.
Details
As stated, this property returns -1 when the file doesn't exist. It doesn't throw File/DirectoryNotFound when retrieving, but does when setting. (File.GetAttributes conversely does throw.) As the behavior varies between the two entry points and flag checking is impacted this is important to document. Also clarified that access of other properties will cache the state.
Suggested Reviewers
I'm the dev on this.

@JeremyKuhne,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@JeremyKuhne please let me know if you'll address my comments. Otherwise, I can make the edits for you. Thanks!

@JeremyKuhne do you want to take a look at the changes I made? Thanks.


Feature request:

Very often I encounter that I need not only if, but also else, while combination of two ifs is quite ugly and violates DRY principle.
I suggest to add <dom-if-else> for such cases.
Namely, instead of:
<template is="dom-if" if="{{condition}}">

P1

</template>
<template is="dom-if" if="{{!condition}}">

P2

</template>

I'd like to have:
<template is="dom-if-else" if="{{condition}}">

P1

P2

</template>

More complex cases can be handled in such way:
<template is="dom-if-else" if="{{condition}}">
    <template>

P1

sub-P1

    </template>
    <template>

P2

sub-P2

    </template>
</template>

<template> or any other element can be used to wrap more than one element, rule is simple:

[is=dom-if-else] > :nth-child(1): if branch
[is=dom-if-else] > :nth-child(2): else branch

+1

See: https://github.com/Trakkasure/dom-else

@Trakkasure, I remember it, probably, from Slack channel, but it doesn't have as compact syntax as described here.
It does allow to avoid condition duplication, but still very verbose in simple cases.

Ok. You asked for it.. so here it is:
https://github.com/Trakkasure/dom-if-else

@Trakkasure Thanks!

Just tried to use it today. Doesn't work well in Polymer 1.0 at least.

 Let me know what is going wrong so I can test better.

Leave issues on the dom-if-else repo: https://github.com/Trakkasure/dom-if-else/issues

Tests added to it.

:+1:

+1

What about this kind of syntax where "else if" could be introduced:
<template is="dom-if" if="{{condition1}}">

P1

</template>
<template is="dom-else-if" else-if="{{condition2}}">

P2

</template>
<template is="dom-else">

P3

</template>

this is no different than negating the original condition with another
dom-if template.
On Thu, Nov 12, 2015 at 8:31 AM, Pascal Gula<EMAIL_ADDRESS>wrote:

What about this kind of syntax where "else if" could be introduced:

—
Reply to this email directly or view it on GitHub
https://github.com/Polymer/polymer/issues/2165#issuecomment-156116396.

+1

+1
On Dec 29, 2015 10:28 PM, "kunhimohamed"<EMAIL_ADDRESS>wrote:

+1
—
Reply to this email directly or view it on GitHub
https://github.com/Polymer/polymer/issues/2165#issuecomment-167944904.

--
[image: CHI Logo]Cultural Homestay International (CHI)Toll Free:
1-800-432-4643Website: chinet.orgCHI Blog https://chinet.org/blog/ |
Facebook https://www.facebook.com/CulturalHomestayInternational | YouTube
https://www.youtube.com/user/chinetorg | Twitter
https://twitter.com/CHI_News

+1

+1

+1

+1

+1

Is there any progress on this?

+1

I don't think the team has any intention of adding this to Polymer itself. The template helper elements are fairly complex and adding a new one would add weight and maintenance cost to the core library. The first proposal here (https://github.com/Polymer/polymer/issues/2165#issue-97821923) only saves two lines of code and would add significant complexity (because you can no longer assume that the stamped content of the dom-if is the same as the template content, which is the case for all other template helpers).
That said, Custom Elements v1 is going to force a refactor of the template helpers. Perhaps this feature would make more sense then? Looking at you, @kevinpschaaf

I think the main benefit of this element is the performance improvement. The condition only has to be computed once instead of twice. Moreover, the element knows that it will swap in different content and possibly optimize this behavior too. The reading and maintenance benefits are a nice addition too.

:+1:
I agree that it will make template parsing more complex than it already is, however on a page with multiple polymer elements you would probably see a performance improvement when the number of conditions need to be checked reduces as a result of using elses. Although once you implement this, then someone's going to suggest adding a dom-switch :laughing:

+1

+1

+1

That suggested syntax looks an awful lot like iron-pages. Perhaps iron-pages would work as a short-term solution while an official solution is being worked on? Just an idea.

+1

👍

+1

(y)

I don't think this is a good idea, <dom-if> already does what it's intended to do
It's more obvious implementing a <dom-switch>
Remember, do only one thing... and do it well

+1

+1

+1

+1

Please, no more +1. If you want to express support click 👍 button under the first comment. Thanks.

Yes please for the love of god lol.

+1

+1

<template is="dom-switch">
    <template is="dom-case" case="{{condition1}}">
      ...
    </template>
    <template is="dom-case" case="{{condition2}}">
       ...
    </template>
    <template is="dom-default">
       ...
    </template>
</template>


Discrepency in Boulling and Wood

Very large offset between Boulling and Wood and ONeill. HAve confirmed it is log base 10, have sent email asking for other suggestions... (4 log orders of mag offset)

Matt has sent a notebook, its because one is in ppm and one is wt%, also discrepency about SO42- vs. S for Wood and Boulling.