Support for Elasticsearch "flattened" Field Data Type

Operating System: Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-96-generic x86_64)
PGSync version: 2.1.10
Postgres version: 13.5
Elasticsearch version: 7.16.3
Redis version: 5.0.7
Python version: Python 3.8.10
Problem Description:
I have a lot of custom fields and would like to use the Elasticsearch flattened field data type.
If I don't use the flattened field data type, I get the error:
'error': {
        'type': 'mapper_parsing_exception',
        'reason': 'failed to parse',
        'caused_by': {
          'type': 'illegal_argument_exception',
          'reason': 'Limit of total fields [1000] has been exceeded while adding new fields [1]'
        }
      },

However, I get an error when I set the schema to:
"transform": {
  "traits": {
      "type": "flattened"
    }
}

Error Message (if any):
Traceback (most recent call last):
  File "~/.local/bin/bootstrap", line 68, in <module>
    main()
  File "~/.local/lib/python3.7/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "~/.local/lib/python3.7/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "~/.local/lib/python3.7/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "~/.local/lib/python3.7/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "~/.local/bin/bootstrap", line 58, in main
    document, verbose=verbose, repl_slots=False, **kwargs
  File "~/.local/lib/python3.7/site-packages/pgsync/sync.py", line 102, in __init__
    self.create_setting()
  File "~/.local/lib/python3.7/site-packages/pgsync/sync.py", line 244, in create_setting
    routing=self.routing,
  File "~/.local/lib/python3.7/site-packages/pgsync/elastichelper.py", line 244, in _create_setting
    mapping: dict = self._build_mapping(node, routing)
  File "~/.local/lib/python3.7/site-packages/pgsync/elastichelper.py", line 274, in _build_mapping
    f"Invalid Elasticsearch type {column_type}"
RuntimeError: Invalid Elasticsearch type flattened

I think this is all that's needed to solve the issue?

Yes there is a validation for valid field types. Can you add it and verify it does what you want?
If so I can add this, thanks

@toluaina Yep it works for me when I make the change in the screenshot

I have added this now thanks

Thanks man, appreciate the help a lot!


images are not responsive

If I insert images larger than the page width, rather than resizing responsive to the resolution, it loads the image with its original resolution.

@regisphilibert should we use Hugo Resize functions here?


TypeLoadException Load in FSharpProjectReferece

I can't get the samples to run.
My current setup is:
Microsoft .NET Execution environment
 Version:      1.0.0-rc2-16453
 Type:         Clr
 Architecture: x86
 OS Name:      Windows
 OS Version:   6.3.9600
 Runtime Id:   win81-x86

the error message I'm getting is
System.TypeLoadException: Method 'Load' in type 'FSharp.Dnx.FSharpProjectReferece' from assembly 'FSharp.Dnx, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' does not have an implementation.

Hi. DNX is going away with rc2, thus fsharp-dnx has not been updated. Check out the dotnet cli which is taking over (I believe F# support is already there).


Removal mosh

General troubleshooting steps

[x] I have checked the instructions for reporting bugs (or making requests) before opening the issue.

[x] None of the templates was appropriate for my issue, or I’m not sure.

[ ] I ran brew update-reset && brew update and retried my command.
[ ] I ran brew doctor, fixed as many issues as possible and retried my command.
[ ] I understand that if I ignore these instructions, my issue may be closed without review.

Description of issue
Mosh cask is a duplicate of the mobile-shell Homebrew formula, which is proposed to be renamed to mosh. See https://github.com/Homebrew/homebrew-core/pull/18636

https://github.com/caskroom/homebrew-cask/pull/39065


expose release note in index page/home page per each version of docs

Users would expect to see what's added/new for a certain version of the release, they may not know the keyword: "release note" thus it could be hard for them to reach out to such chapter/info.
It'll be better to expose/highlight this in the index page of the doc.

https://github.com/vesoft-inc/nebula-docs-cn/pull/2807

https://github.com/vesoft-inc/nebula-docs-cn/pull/2807


Update Pages “the-role-of-digitalization”

Automatically generated by Netlify CMS

👷 Deploy Preview for famous-kulfi-ae21db processing.

Name
Link

🔨 Latest commit
6d3faffd7c4963e332d62893b93faf7073eade95

🔍 Latest deploy log
https://app.netlify.com/sites/famous-kulfi-ae21db/deploys/657f1f6edb740a0008238169


GitHub Permissions for TODO Group Repos

Org-level

[ ] Enforce 2FA
[ ] Default to read
[ ] Create process for requesting repo creation

[ ] Disable repo creation for non-org owners

[ ] Add Steering members as org admins
[ ] Create process for becoming an org admin
[ ] Enable Allstar to report compliance with the following:

[ ] repo has branch protection
[ ] repo does not have checked-in binaries
[ ] repo does not have outside collaborators
[ ] repo has a SECURITY.md

Repo permissions

[ ] Create teams to administer repos:

repo-name-admins: has admin role
repo-name-maintainers: has maintain role

[ ] Enable branch protection for all repos: https://github.com/todogroup/governance/issues/69
[ ] Add CODEOWNERS with newly-created repo teams
[ ] Disable outside collaborators once they have been reflected in repo-name-maintainers or repo-name-admins

(Original text from @gtback)
👋🏻 Hi!
We started talking about this at the Work Day today, but these are questions best answered by the Steering Committee. I think most of these can be set here. I get a 404 error because I'm not an owner of the TODO Group org, but that matches what it is for other orgs I'm an owner of.

What should the "Base Permissions" be set to for all repos in the org? I'm guessing it's "Read" now, but could possibly be changed to "Write"? Are there repos that we don't want members to be able to push to (like governance, perhaps)? Or would branch protection rules (requiring a review from someone in the @todogroup/steering-committee team or via CODEOWNERS) be OK? If not, I think we'd need to create a team for "All Members" and give that team Write permissions on repos we want people to be able to edit.
Should anyone in the organization be able to create new repos ("Repository creation")? That seems to the be the current setting, and I think it's fine, but wanted to be explicit.
Should the "Owners" of the org be all the Steering committee members, or does it make sense to keep these lists separate?
Are there other Teams that make sense to add to manage permissions? I generally think Team permissions (either for the whole organization via Base Permissions or via teams added to specific repos) are more scalable than adding people individually to repos.

(I don't mind helping out with some of these permission/maintenance issues, once things are decided.)

Thanks for the issue @gtback
Context for SC, I didn't think we should make any of these changes during Work Day without discussing in the SC.

Thanks, @gtback! I'll add this topic for the upcoming SC meeting (Dec 13th)

I'll make some suggestions based on previous experiences with GitHub org management...
Org-level

Enforce 2FA
Default to read
Create process for requesting repo creation

Disable repo creation for non-org owners

Add Steering members as org admins
Create process for becoming an org admin
Enable Allstar to report compliance with the following:

repo has branch protection
repo does not have checked-in binaries
repo does not have outside collaborators
repo has a SECURITY.md

Repo permissions

Create teams to administer repos:

repo-name-admins: has admin role
repo-name-maintainers: has maintain role

Enable branch protection for all repos: https://github.com/todogroup/governance/issues/69
Add CODEOWNERS with newly-created repo teams
Disable outside collaborators once they have been reflected in repo-name-maintainers or repo-name-admins

Managing org membership
Use peribolos to enforce org settings and allow adding org members via pull request.
Example:
name: TODO Group
description: Org description
default_repository_permission: read
has_organization_projects: true
has_repository_projects: true
members_can_create_repositories: false
billing_email<EMAIL_ADDRESS>admins:
- admin1
- admin2
- admin3
- admin4
- admin5
members:
- member1
- member2
- member3
- bot1
- bot2
teams:
  bots:
    description: Bot service accounts
    maintainers:
    - bot1
    members:
    - bot2
    privacy: closed
  members:
    description: TODO Group members
    members:
    - member1
    - member2
    - member3
    privacy: closed
  steering-committee:
    description: Steering Committee members
    maintainers:
    - admin1
    - admin2
    - admin3
    - admin4
    - admin5
    privacy: closed
  repo1-admins:
    description: Admins for repo1
    members:
    - member1
    privacy: closed
  repo1-maintainers:
    description: Maintainers for repo1
    members:
    - member1
    - member2
    - member3
    privacy: closed

The Kubernetes Community manages multiple orgs with this tool --> https://github.com/kubernetes/org
I'm working on making this easier to use for non-Kubernetes orgs here: https://github.com/relengfam/peribolos/pull/9

Thanks for your help @justaugustus . I've left some comments below, but I think we should take a look at this issue next week during the SC meeting, to:

convert this issue into small action items
assign people for each of them

I'll make some suggestions based on previous experiences with GitHub org management...
Org-level
* Enforce 2FA

+1, If everyone agrees on this, I can make the required chances in settings

* Default to `read`

AFAIK, this is something we can do if we add the config.yaml document you have suggested a few lines below, right?

* Create process for requesting repo creation

This is being discussed in this issue: https://github.com/todogroup/governance/issues/111
And this is the related PR: https://github.com/todogroup/governance/pull/156

  * Disable repo creation for non-org owners

* Add Steering members as org admins

* Create process for becoming an org admin

* Enable [Allstar](https://github.com/ossf/allstar) to report compliance with the following:

  * repo has branch protection
  * repo does not have checked-in binaries
  * repo does not have outside collaborators
  * repo has a SECURITY.md

Repo permissions
* Create teams to administer repos:

  * `repo-name-admins`: has `admin` role
  * `repo-name-maintainers`: has `maintain` role

* Enable branch protection for all repos: [branch protection rules #69](https://github.com/todogroup/governance/issues/69)

* Add [CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) with newly-created repo teams

* Disable outside collaborators once they have been reflected in `repo-name-maintainers` or `repo-name-admins`

Managing org membership
Use peribolos to enforce org settings and allow adding org members via pull request.
Example:
name: TODO Group
description: Org description
default_repository_permission: read
has_organization_projects: true
has_repository_projects: true
members_can_create_repositories: false
billing_email<EMAIL_ADDRESS>admins:
- admin1
- admin2
- admin3
- admin4
- admin5
members:
- member1
- member2
- member3
- bot1
- bot2
teams:
  bots:
    description: Bot service accounts
    maintainers:
    - bot1
    members:
    - bot2
    privacy: closed
  members:
    description: TODO Group members
    members:
    - member1
    - member2
    - member3
    privacy: closed
  steering-committee:
    description: Steering Committee members
    maintainers:
    - admin1
    - admin2
    - admin3
    - admin4
    - admin5
    privacy: closed
  repo1-admins:
    description: Admins for repo1
    members:
    - member1
    privacy: closed
  repo1-maintainers:
    description: Maintainers for repo1
    members:
    - member1
    - member2
    - member3
    privacy: closed

The Kubernetes Community manages multiple orgs with this tool --> https://github.com/kubernetes/org
I'm working on making this easier to use for non-Kubernetes orgs here: relengfam/peribolos#9

Thanks for your help @justaugustus . I've left some comments below, but I think we should take a look at this issue next week during the SC meeting, to:
1. convert this issue into small action items

2. assign people for each of them

SGTM! I've added it to the agenda.

I'll make some suggestions based on previous experiences with GitHub org management...
Org-level
* Enforce 2FA

+1, If everyone agrees on this, I can make the required changes in settings

Before we enforce 2FA, we need to check how many org members already have 2FA enabled.
If everyone has 2FA enabled, we can turn on enforcement immediately.
If anyone DOES NOT has 2FA enabled, we need to:

set a consensus date for 2FA enforcement
send notice to all TODO Group org members that this will happen on/after the consensus date

(Otherwise, the 2FA enforcement will remove org members that do not have 2FA enabled.)

* Default to `read`

AFAIK, this is something we can do if we add the config.yaml document you have suggested a few lines below, right?

Yep, but I'd have to tweak a few things in https://github.com/relengfam/peribolos to support non-Kubernetes orgs first. :)
I'd suggest enabling this manually in the meantime.
I'd also like to explore (when time allows) https://github.com/github/safe-settings (suggested by @byjrack) for org policy enforcement.

* Create process for requesting repo creation

This is being discussed in this issue: #111 And this is the related PR: #156

I think the process of proposing an idea is a little different from guidelines for repo creation.
Ideas may require a repo, but the creation of a new repo may just be to support an existing process.
A "recent" example is https://github.com/todogroup/member-shares, which may have some really awesome content, but was created as a private repo, so members are unable to see the content.
The Kubernetes project has some great guidance for their repos that we could borrow from.

convert this issue into small action items

Added an initial task list to the issue description.
If SC is onboard with the suggested tasks (following next week's meeting), we can break them out into individual issues.

Thanks @justaugustus . Let me know if I can help with any of this.


Mercedes vehicle documentation

Describe the bug
I found a merged PR for Mercedes vehicle but the official documentation is not telling anything about it. How can I configure my Mercedes within evcc? I can also contribute the documentation part if I am aware how the configuration is done.
Steps to reproduce

Configuration details
-

Log details
-

What type of operating system are you running?
Linux
Version
No response

Siehe https://github.com/evcc-io/evcc/discussions/3150. PR wäre Klasse!


Tweak code for merge fastqs and VEP annotation

Hi,
Is it possible to tweak the code for:

bcbio_prepare_samples.py - I have a bunch of fastq files with extension .R1.fq and .R2.fq and I suspect that the code is failing because the "." in front of "R" is not recognised. Or am I doing something wrong?
Error:
[2017-09-28T08:06Z] Preparing 1414_010316_T files [['/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L001/fastqumifiles/20170303_Pool_1_1414_010316_T_20170228.R1.fq', '/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L001/fastqumifiles/20170303_Pool_1_1414_010316_T_20170228.R2.fq', '/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L002/fastqumifiles/20170303_Pool_2_1414_010316_T_20170228.R2.fq'], ['/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L002/fastqumifiles/20170303_Pool_2_1414_010316_T_20170228.R1.fq']] to merge into /mnt/projects/ngbhs/cirqseq/2017_bcbio/20170927_exome8lane/mergedtest/1414_010316_T.fastq.gz.
Traceback (most recent call last):
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/bin/bcbio_prepare_samples.py", line 163, in
samples = run_parallel("prepare_bcbio_samples", samples)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
return run_multicore(fn, items, config, parallel=parallel)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
for data in joblib.Parallel(parallel["num_jobs"], batch_size=1)(joblib.delayed(fn)(x) for x in items):
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 800, in call
while self.dispatch_one_batch(iterator):
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 658, in dispatch_one_batch
self._dispatch(tasks)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 566, in _dispatch
job = ImmediateComputeBatch(batch)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 180, in init
self.results = batch()
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 72, in call
return [func(*args, **kwargs) for func, args, kwargs in self.items]
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 50, in wrapper
return apply(f, *args, **kwargs)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 85, in prepare_bcbio_samples
return sample.prepare_bcbio_samples(*args)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/pipeline/sample.py", line 368, in prepare_bcbio_samples
out_file = fq_merge(sample['files'], sample['out_file'], sample['config'])
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/pipeline/fastq.py", line 112, in merge
pair2 = [fastq_file[1] for fastq_file in files]
IndexError: list index out of range

I'm not sure whether bcbio already supports this but I was wondering whether --ALLELE_NUM can be output as one of the fields when VEP is used for annotation. This is so that I can track the annotations for multiallelic easier especially when using --pick which changes the order occasionally.

Thanks much!

Hi,
I am working on the code, but the main reason this is a problem is because you have  Pool_1_ and Pool_2_ in your names, so sometimes R1 and R2 are detected as the separators and other 1 and 2. I will add an option in the script to set up custom separators, so you should use  --separators R. Meanwhile you can rename files if you want with rename command line and change Pool_1_ by Pool1r, the same for Pool_2_ . That maybe fixe it.
I let you know when I have the new code in place.
Cheers

On Sep 28, 2017, at 4:15 AM, phu5ion<EMAIL_ADDRESS>wrote:
Hi,
Is it possible to tweak the code for:
bcbio_prepare_samples.py - I have a bunch of fastq files with extension .R1.fq and .R2.fq and I suspect that the code is failing because the "." in front of "R" is not recognised. Or am I doing something wrong?
Error:
[2017-09-28T08:06Z] Preparing 1414_010316_T files [['/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L001/fastqumifiles/20170303_Pool_1_1414_010316_T_20170228.R1.fq', '/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L001/fastqumifiles/20170303_Pool_1_1414_010316_T_20170228.R2.fq', '/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L002/fastqumifiles/20170303_Pool_2_1414_010316_T_20170228.R2.fq'], ['/mnt/projects/ngbhs/cirqseq/2017_plasma/HS006-PE-R00136_AH7GCWBBXX/L002/fastqumifiles/20170303_Pool_2_1414_010316_T_20170228.R1.fq']] to merge into /mnt/projects/ngbhs/cirqseq/2017_bcbio/20170927_exome8lane/mergedtest/1414_010316_T.fastq.gz.
Traceback (most recent call last):
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/bin/bcbio_prepare_samples.py", line 163, in
samples = run_parallel("prepare_bcbio_samples", samples)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
return run_multicore(fn, items, config, parallel=parallel)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
for data in joblib.Parallel(parallel["num_jobs"], batch_size=1)(joblib.delayed(fn)(x) for x in items):
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 800, in call
while self.dispatch_one_batch(iterator):
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 658, in dispatch_one_batch
self._dispatch(tasks)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 566, in _dispatch
job = ImmediateComputeBatch(batch)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 180, in init
self.results = batch()
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 72, in call
return [func(*args, **kwargs) for func, args, kwargs in self.items]
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 50, in wrapper
return apply(f, *args, **kwargs)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 85, in prepare_bcbio_samples
return sample.prepare_bcbio_samples(*args)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/pipeline/sample.py", line 368, in prepare_bcbio_samples
out_file = fq_merge(sample['files'], sample['out_file'], sample['config'])
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/pipeline/fastq.py", line 112, in merge
pair2 = [fastq_file[1] for fastq_file in files]
IndexError: list index out of range
I'm not sure whether bcbio already supports this but I was wondering whether --ALLELE_NUM can be output as one of the fields when VEP is used for annotation. This is so that I can track the annotations for multiallelic easier especially when using --pick which changes the order occasionally.
Thanks much!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/2085, or mute the thread https://github.com/notifications/unsubscribe-auth/ABi_HAqEu8lTRTUhgxDWPgfKSuR4q-ieks5sm1WZgaJpZM4Pm4vG.

Hi again,
I changed the code to allow specifying the separator used to detect pairs. You need to update bcbio and try something like:
bcbio_prepare_samples.py --csv merge.csv --out fastq --separators R -
Let me know if you find any more errors.

Hi,
bcbio_prepare_samples.py --csv merge.csv --out fastq --separators R -
Works! Thanks a lot for your help.
Just in case this was missed, copying from my first post above:
I'm not sure whether bcbio already supports this but I was wondering whether --ALLELE_NUM can be output as one of the fields when VEP is used for annotation. This is so that I can track the annotations for multiallelic easier especially when using --pick which changes the order occasionally.
According to the VEP website (http://www.ensembl.org/info/docs/tools/vep/script/vep_options.html), the script just needs to specify a --allele_number flag, and an additional "ALLELE_NUM" under the --fields flag in the VEP command.

Thanks Lorena for the quick fix on the merging samples issues, and thanks for the suggestion on the useful VEP addition. I've added this as a default option in the latest development version (cc @matthdsm in case this affects anything he's doing downstream). Please let us know if you run into any issues.

Hi Brad, all,
No issue here, extra fields shouldn't pose any problem. The more the merrier!
Cheers
M

Hi Brad and all,
Thanks for the work! I'd like to enquire the default behaviour for "-canonical" in bcbio's VEP run - is it currently using --pick? If so, would it be possible to allow an option for --pick_allele instead so that one annotation is provided for each allele? This is because --pick only outputs a single annotation for all multiallelic positions in each row but I would prefer the annotations to correctly reflect that for each of the alleles...

Hi,
I don't suppose this will cause any issues. As you said, using the canonical option activates VEP's --pick option.
@chapmanb, correct me if I'm wrong, but I don't think there are any multiallelic sites left after decomposing? So changing to --pick_allele shouldn't change a thing.
Cheers
M

Hi @matthdsm ,
There's multiallelic output for scalpel calls when combined with mutect. Not sure whether this is intended...

Aha,
that's outside of our use case, so I don't think I'll be of any help here.
Perhaps Brad can help you further.
Cheers
M

Thanks for the discussion and heads up on --pick_allele. It does seem like that's a better option and the behavior we'd probably prefer to have. We only do full decomposition for vcfanno/gemini preparation so the standard callsets will have multi-allelics there where this can help. Matthias, would you have an objection to switching over? It sounds like you use the decomposed output so won't have any changes but wanted to check. Anyone else have thoughts/opinions on the change?

Hi Brad,
no objections here, as you said, we rely on the decomposed output, so this wouldn't affect us.
Cheers
M

Brilliant, thanks again for all the suggestions and feedback. The latest development version uses --pick_allele to replace the old behavior and provide a better default. Much appreciated.


Add method that returns values/pulsars given a logical condition

Add a function that, given a parameter, or set of parameters, and a logical condition string, returns values that conform to that condition.

Closed by #35.


[MENFORCER-481] BanDynamicVersions: make excludedScopes optional

Suggested commit message:
[MENFORCER-481] BanDynamicVersions: make `excludedScopes` optional

With these changes, omission of `excludedScopes` no longer causes an NPE.

[x] I hereby declare this contribution to be licenced under the Apache License Version 2.0, January 2004

@Stephan202 thanks


Fix cheatcodes args

i don't know if we can avoid the repetition when it comes to arrays, but overall looks good to me

https://github.com/software-mansion/protostar/issues/1644


ECO mode not functioning CZ-TACG1

I have just replaced a CZ-TACG1 with a ESP32 mini and am loving getting away from the cloud. Everything is working well apart from the eco mode selection. Each time I try and turn eco mode on the switch toggles on then straight back off again with no change in mode on the aircon unit itself.
Extract from log:
[12:57:19][D][switch:013]: 'Panasonic AC Eco Switch' Turning ON.
[12:57:19][D][switch:037]: 'Panasonic AC Eco Switch': Sending state ON
[12:57:20][D][switch:037]: 'Panasonic AC Eco Switch': Sending state OFF

Can you enable verbose logging (not very verbose) and toggle eco mode back and forth a few times via the IR remote?
Make sure to take not which log entries correspond to which eco state on the AC.

Ok so I started by turning eco on at 10:37:00 and toggling every 10sec for a minute. Seems to be associated with RX#13 although it does also seem to depend what mode it's in and the temperature target. While in heat mode and set at 24 eco on is 31 and eco off is 37.
As far as I can tell:
cool mode eco off = target * 2+ 2
cool mode eco on = target * 2 + 6
heat mode eco off = target * 2 + 7
heat mode eco on = target * 2 + 1
When in heat/cool mode it changes depending on whether it's actively heating or cooling and dry mode seems to be acting the same as cooling.
[10:36:59][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:36:59][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:36:59][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.18.17.FF.80.80.FF.80.C5.01.0C.<IP_ADDRESS>B (35)
[10:36:59][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 441.000000
[10:36:59][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 441.00000 W with 0 decimals of accuracy
[10:36:59][D][climate:385]: 'Panasonic AC' - Sending state:
[10:36:59][D][climate:388]:   Mode: HEAT
[10:36:59][D][climate:396]:   Custom Fan Mode: Automatic
[10:36:59][D][climate:402]:   Custom Preset: Normal
[10:36:59][D][climate:405]:   Swing Mode: BOTH
[10:36:59][D][climate:408]:   Current Temperature: 20.00°C
[10:36:59][D][climate:414]:   Target Temperature: 24.00°C
[10:36:59][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:36:59][V][component:200]: Components should block for at most 20-30ms.
[10:37:04][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:04][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:04][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.18.17.FF.80.80.FF.80.DB.01.0D.C0.00.00.E2 (35)
[10:37:04][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 462.000000
[10:37:04][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 462.00000 W with 0 decimals of accuracy
[10:37:04][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:04][D][climate:388]:   Mode: HEAT
[10:37:04][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:04][D][climate:402]:   Custom Preset: Normal
[10:37:04][D][climate:405]:   Swing Mode: BOTH
[10:37:04][D][climate:408]:   Current Temperature: 20.00°C
[10:37:04][D][climate:414]:   Target Temperature: 24.00°C
[10:37:04][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:04][V][component:200]: Components should block for at most 20-30ms.
[10:37:09][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:09][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:09][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.18.17.FF.80.80.FF.80.AF.01.0C.80.41.57.B7 (35)
[10:37:09][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 419.000000
[10:37:09][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 419.00000 W with 0 decimals of accuracy
[10:37:09][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:09][D][climate:388]:   Mode: HEAT
[10:37:09][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:09][D][climate:402]:   Custom Preset: Normal
[10:37:09][D][climate:405]:   Swing Mode: BOTH
[10:37:09][D][climate:408]:   Current Temperature: 20.00°C
[10:37:09][D][climate:414]:   Target Temperature: 24.00°C
[10:37:09][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:09][V][component:200]: Components should block for at most 20-30ms.
[10:37:14][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:14][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:14][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.18.17.FF.80.80.FF.80.9A.01.0B.C<IP_ADDRESS>F (35)
[10:37:14][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 399.000000
[10:37:14][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 399.00000 W with 0 decimals of accuracy
[10:37:14][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:14][D][climate:388]:   Mode: HEAT
[10:37:14][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:14][D][climate:402]:   Custom Preset: Normal
[10:37:14][D][climate:405]:   Swing Mode: BOTH
[10:37:14][D][climate:408]:   Current Temperature: 20.00°C
[10:37:14][D][climate:414]:   Target Temperature: 24.00°C
[10:37:14][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:14][V][component:200]: Components should block for at most 20-30ms.
[10:37:19][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:19][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:19][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.18.17.FF.80.80.FF.80.AF.01.0C.80.41.57.B1 (35)
[10:37:19][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 419.000000
[10:37:19][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 419.00000 W with 0 decimals of accuracy
[10:37:19][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:19][D][climate:388]:   Mode: HEAT
[10:37:19][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:19][D][climate:402]:   Custom Preset: Normal
[10:37:19][D][climate:405]:   Swing Mode: BOTH
[10:37:19][D][climate:408]:   Current Temperature: 20.00°C
[10:37:19][D][climate:414]:   Target Temperature: 24.00°C
[10:37:19][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:19][V][component:200]: Components should block for at most 20-30ms.
[10:37:24][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:24][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:24][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.80.C5.01.0C.C0.00.00.FA (35)
[10:37:24][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 441.000000
[10:37:24][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 441.00000 W with 0 decimals of accuracy
[10:37:24][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:24][D][climate:388]:   Mode: HEAT
[10:37:24][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:24][D][climate:402]:   Custom Preset: Normal
[10:37:24][D][climate:405]:   Swing Mode: BOTH
[10:37:24][D][climate:408]:   Current Temperature: 20.00°C
[10:37:24][D][climate:414]:   Target Temperature: 24.00°C
[10:37:24][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.08 s).
[10:37:24][V][component:200]: Components should block for at most 20-30ms.
[10:37:29][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:29][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:29][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.80.AF.01.0C.80.41.57.B8 (35)
[10:37:29][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 419.000000
[10:37:29][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 419.00000 W with 0 decimals of accuracy
[10:37:29][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:29][D][climate:388]:   Mode: HEAT
[10:37:29][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:29][D][climate:402]:   Custom Preset: Normal
[10:37:29][D][climate:405]:   Swing Mode: BOTH
[10:37:29][D][climate:408]:   Current Temperature: 20.00°C
[10:37:29][D][climate:414]:   Target Temperature: 24.00°C
[10:37:29][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:29][V][component:200]: Components should block for at most 20-30ms.
[10:37:34][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:34][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:34][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.80.9A.01.0B.C<IP_ADDRESS> (35)
[10:37:34][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 399.000000
[10:37:34][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 399.00000 W with 0 decimals of accuracy
[10:37:34][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:34][D][climate:388]:   Mode: HEAT
[10:37:34][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:34][D][climate:402]:   Custom Preset: Normal
[10:37:34][D][climate:405]:   Swing Mode: BOTH
[10:37:34][D][climate:408]:   Current Temperature: 20.00°C
[10:37:34][D][climate:414]:   Target Temperature: 24.00°C
[10:37:34][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:34][V][component:200]: Components should block for at most 20-30ms.
[10:37:39][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:39][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:39][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.80.AF.01.0C.80.41.57.B2 (35)
[10:37:39][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 419.000000
[10:37:39][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 419.00000 W with 0 decimals of accuracy
[10:37:39][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:39][D][climate:388]:   Mode: HEAT
[10:37:39][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:39][D][climate:402]:   Custom Preset: Normal
[10:37:39][D][climate:405]:   Swing Mode: BOTH
[10:37:39][D][climate:408]:   Current Temperature: 20.00°C
[10:37:39][D][climate:414]:   Target Temperature: 24.00°C
[10:37:39][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:39][V][component:200]: Components should block for at most 20-30ms.
[10:37:44][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:44][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:44][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.80.DB.01.0D.C0.00.00.E3 (35)
[10:37:44][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 462.000000
[10:37:44][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 462.00000 W with 0 decimals of accuracy
[10:37:44][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:44][D][climate:388]:   Mode: HEAT
[10:37:44][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:44][D][climate:402]:   Custom Preset: Normal
[10:37:44][D][climate:405]:   Swing Mode: BOTH
[10:37:44][D][climate:408]:   Current Temperature: 20.00°C
[10:37:44][D][climate:414]:   Target Temperature: 24.00°C
[10:37:44][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:44][V][component:200]: Components should block for at most 20-30ms.
[10:37:49][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:49][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:49][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.<IP_ADDRESS>E.<IP_ADDRESS> (35)
[10:37:49][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 501.000000
[10:37:49][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 501.00000 W with 0 decimals of accuracy
[10:37:49][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:49][D][climate:388]:   Mode: HEAT
[10:37:49][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:49][D][climate:402]:   Custom Preset: Normal
[10:37:49][D][climate:405]:   Swing Mode: BOTH
[10:37:49][D][climate:408]:   Current Temperature: 20.00°C
[10:37:49][D][climate:414]:   Target Temperature: 24.00°C
[10:37:49][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.08 s).
[10:37:49][V][component:200]: Components should block for at most 20-30ms.
[10:37:54][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:54][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:54][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.<IP_ADDRESS>E.C<IP_ADDRESS> (35)
[10:37:54][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 547.000000
[10:37:54][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 547.00000 W with 0 decimals of accuracy
[10:37:54][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:54][D][climate:388]:   Mode: HEAT
[10:37:54][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:54][D][climate:402]:   Custom Preset: Normal
[10:37:54][D][climate:405]:   Swing Mode: BOTH
[10:37:54][D][climate:408]:   Current Temperature: 20.00°C
[10:37:54][D][climate:414]:   Target Temperature: 24.00°C
[10:37:54][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.08 s).
[10:37:54][V][component:200]: Components should block for at most 20-30ms.
[10:37:59][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:37:59][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:37:59][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.<IP_ADDRESS>F.<IP_ADDRESS> (35)
[10:37:59][V][sensor:074]: 'Panasonic AC Power Consumption': Received new state 564.000000
[10:37:59][D][sensor:125]: 'Panasonic AC Power Consumption': Sending state 564.00000 W with 0 decimals of accuracy
[10:37:59][D][climate:385]: 'Panasonic AC' - Sending state:
[10:37:59][D][climate:388]:   Mode: HEAT
[10:37:59][D][climate:396]:   Custom Fan Mode: Automatic
[10:37:59][D][climate:402]:   Custom Preset: Normal
[10:37:59][D][climate:405]:   Swing Mode: BOTH
[10:37:59][D][climate:408]:   Current Temperature: 20.00°C
[10:37:59][D][climate:414]:   Target Temperature: 24.00°C
[10:37:59][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.09 s).
[10:37:59][V][component:200]: Components should block for at most 20-30ms.
[10:38:04][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:38:04][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:38:04][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.<IP_ADDRESS>F.C<IP_ADDRESS> (35)
[10:38:04][D][climate:385]: 'Panasonic AC' - Sending state:
[10:38:04][D][climate:388]:   Mode: HEAT
[10:38:04][D][climate:396]:   Custom Fan Mode: Automatic
[10:38:04][D][climate:402]:   Custom Preset: Normal
[10:38:04][D][climate:405]:   Swing Mode: BOTH
[10:38:04][D][climate:408]:   Current Temperature: 20.00°C
[10:38:04][D][climate:414]:   Target Temperature: 24.00°C
[10:38:04][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.07 s).
[10:38:04][V][component:200]: Components should block for at most 20-30ms.
[10:38:09][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:38:09][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:38:09][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.13.17.FF.17.17.FF.80.80.FF.<IP_ADDRESS>F.<IP_ADDRESS> (35)
[10:38:09][D][climate:385]: 'Panasonic AC' - Sending state:
[10:38:09][D][climate:388]:   Mode: HEAT
[10:38:09][D][climate:396]:   Custom Fan Mode: Automatic
[10:38:09][D][climate:402]:   Custom Preset: Normal
[10:38:09][D][climate:405]:   Swing Mode: BOTH
[10:38:09][D][climate:408]:   Current Temperature: 19.00°C
[10:38:09][D][climate:414]:   Target Temperature: 24.00°C
[10:38:09][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.07 s).
[10:38:09][V][component:200]: Components should block for at most 20-30ms.
[10:38:14][V][panasonic_ac.cz_tacg1:248]: Polling AC
[10:38:14][V][panasonic_ac:245]: TX: 70.0A.<IP_ADDRESS>.<IP_ADDRESS>.00.00.86 (13)
[10:38:14][V][panasonic_ac:247]: RX: <IP_ADDRESS>.80.A0.FD.<IP_ADDRESS>.00.4C.<IP_ADDRESS>.90.14.17.FF.17.17.FF.80.80.FF.<IP_ADDRESS>F.C<IP_ADDRESS> (35)
[10:38:14][D][climate:385]: 'Panasonic AC' - Sending state:
[10:38:14][D][climate:388]:   Mode: HEAT
[10:38:14][D][climate:396]:   Custom Fan Mode: Automatic
[10:38:14][D][climate:402]:   Custom Preset: Normal
[10:38:14][D][climate:405]:   Swing Mode: BOTH
[10:38:14][D][climate:408]:   Current Temperature: 20.00°C
[10:38:14][D][climate:414]:   Target Temperature: 24.00°C
[10:38:14][V][component:199]: Component panasonic_ac.climate took a long time for an operation (0.07 s).
[10:38:14][V][component:200]: Components should block for at most 20-30ms.


Deprecate non-authoritative information in the registry Publish API

Problem
The registry protocol takes a JSON with metadata when publishing crates: https://doc.rust-lang.org/cargo/reference/registry-web-api.html#publish
This metadata is meant to contain a summary of Cargo.toml metadata. The problem is that nothing stops rogue clients from sending different metadata that doesn't match the Cargo.toml. If the registry uses this JSON, and doesn't validate Cargo.toml in the tarball, this can be used to bypass policy checks done at publishing time, e.g. sneak in dependencies from other registries that wouldn't be allowed otherwise.
Fortunately, crates.io has already fixed this vulnerability: https://github.com/rust-lang/crates.io/pull/7238
The only potentially useful not-entirely-redundant field in this metadata was the readme, but that has been fixed in Cargo: #5911
Since a robust implementation of a registry has to extract the Cargo.toml and validate it anyway, the redundant metadata in the publish call is just a footgun. It's not an authoritative source of data. Validating that it matches Cargo.toml is just an unnecessary work for a registry, since doing that requires obtaining the authoritative data from Cargo.toml anyway, and at that point it's easiest to just ignore the uploaded JSON. Generating and sending redundant data that should be ignored is also wasteful for the clients. The data is also in a different format than Cargo.toml with bug-prone quirks like explicit_name_in_toml that has its logic backwards compared to the package field in the manifest.
Steps
No response
Possible Solution(s)
For backwards compatibility with other registries Cargo will probably have to continue sending this JSON for a while, but at least the documentation can be updated to instruct registry implementers to ignore the submitted JSON and read the Cargo.toml from the tarball instead (there are crates for this, so it's easy).
https://doc.rust-lang.org/cargo/reference/registry-web-api.html#publish
Notes
No response
Version
No response

Might be good for us to also provide conversion functions in a low level crate between the relevant types.  This would require pulling our IndexPackage out from cargo into cargo-util-schemas (which we would like to do along with all of our other schemas, just need someone to do it).

Helping with conversion would suggest that's legitimate useful data. I don't think anybody should be using it, because it's a bug or vulnerability waiting to happen. I've discovered it by messing up data in my own registry implementation, and realized I've wasted so much effort on generating and parsing data that I must not use, and which has zero value.

Sorry, I meant conversion from TomlManifest to IndexPackage which is what we are asking them to do with the proposed documentation update and involves more work than NewCrate to IndexPackage (even though that has some gotchas).

I've noticed that there actually is a non-redundant bit of information in the JSON blob: the registry field in dependencies is a full URL. In Cargo.toml it's a custom nickname that is meaningless without a config.toml. It's not necessary to have this field if allowing only crates.io and one alternative registry, but when using 3 or more registries this becomes a key information.
So unfortunately this bit will need to stay, unless Cargo.toml is changed to supply that information.

I agree that we should maintain a library for converting from a crate file to the index row. Certainly by the time we've done that, if not before, the documentation should recommend reading the crate file directly.
If your registry is not written in Rust, then the official crate doesn't do you much good. Similarly, if militias upload is not part of your threat model, then the metadata blob can be trusted. Not including this in your threat model is reasonable for private registries, if the attacker can publish malicious code to the registry there is much worse they can do. If both apply, the metadata is a reasonable choice over trying to reimplement the crate file to index row logic.


[Civl] Add a reader-writer lock example

This example is about showing how to model a reader-writer lock, not
about implementing one.

@bkragl : This PR has been sitting for a while. Should it be abandoned?

@bkragl : This PR has been sitting for a while. Should it be abandoned?

Applied the two minor suggestions. Should be good to merge.


Program Change as option for buttons

Would you think, that it is possible to have a python script, that changes the channel for a partial set?
In my usecase I would like to let the python host (zynthian.org) send SYSEX commands to the V25 so that the keys, wheels and knobs would listen to  a new channel.
Is it performing fast enough while playing?
I have the vision, that the buttons send a Program Change (AH...that is missing as option in your tool, btw) to the host (zynthian), that is triggering a python script which changes those midi channels.
But I wouldn't do it if the script would take more than a second to perform.

As far as reconfiguring the keyboard under script control goes, for at least the V25 the windows utility save file format (and the format for my fork of alesisvsysex) is a "raw" sysex message containing the configuration as sent to the controller. The configuration needs to be sent to the "second" MIDI channel (it's probably marked as being for "Editor" in the USB descriptors, but this doesn't seem to be reflected anywhere else), and a test can probably be done via something as simple as "cat savefile.v25 > /dev/snd/midiC2D1" (these paths likely to vary).  This is unlikely to work for a VI-series controller and will not work with the save files for the windows VMini editor.


Allow the plugin to work when Elastic has the authentication on

https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html
https://www.elastic.co/guide/en/elasticsearch/reference/8.6/security-minimal-setup.html

Implemented for the main branch in #4

and for 8.x in #6


Proof of Monotony refers to Compactness

The Proposition 8.14 of Sequent Calculus, refers to Proposition 8.17 It would be nice if we either refer to that or introduce Monotony after compactness.
It was kind of sudden when it talks about finite subsets of the Sigma.

I'm not sure why you think Pop 8.14 refers to proposition 8.17. It just refers to Def 8.11 -- but maybe we should make that explicit.

Amend https://github.com/OpenLogicProject/OpenLogic/blob/89c647423489cf2ac3c4e23b546b7be6a85e4a5c/content/first-order-logic/sequent-calculus/proof-theoretic-notions.tex#L92 to refer to definition of \Proves to make clear that \Proves is trivially compact and this does not need Compactness.

Fixed in commit 0cda459


Additional IP ranges for @AussieParlEdits

Hey,
Assuming that the shared hosting is still running on a VPS and not somewhere I can directly access, are you able to add the following?
"Transport for NSW": [
    "<IP_ADDRESS>/16"
]

Sidenote, if we refactor config to separate credentials from other config, then we could keep the bot configs (ranges, whitelists, etc) versioned in git, which would make it easier for others to see & suggest changes.

Yes, it's running on my VPS now ... I couldn't seem to make things work at Wikimedia :-(
I don't have the cycles to split off the keys from the config, but I am willing to set up an account to ssh in and update it as needed as we had with Wikimedia if you are interested.

Either option works for me. I don't anticipate a lot of updates, someone reached out to me with this new range many months ago and I've been terrible at actioning it 😅


blurred text

Parts of the text look pretty bad. They look blurry. This makes it difficult to understand.

Run nwg-hello -t and show me a screenshot.

The problem only occurs when I log in, when I run it as you told me, everything looks perfect. When I run it with the provided wayland configuration it looks ugly
@nwg-piotr thanks

I know nothing about your system (e.g. are you on NVIDIA?), but there must be something in your sway or Hyprland config that allows the nwg-hello window to look properly. My greeter by default runs on Hyprland with its own, simple config, which you'd need to modify the same way that you modified your compositor config. Alternatively, you could run nwg-hello on sway.

when I run it as you told me, everything looks perfect

On sway or Hyprland?

Hyprland and NVIDIA. Thanks


QEMU emulator detection

Description
Currently, the default path to the QEMU is hardcoded in the vmm_exec_kvm.conf :
https://github.com/OpenNebula/one/blob/6230e2d7c6ff5f037bad17684fda94beb116f3ed/src/vmm_mad/exec/vmm_exec_kvm.conf#L31
and, adjusted for each build platform during the packaging to

CentOS / RHEL: /usr/libexec/qemu-kvm
Fedora: /usr/bin/qemu-kvm
Debian / Ubuntu: /usr/bin/qemu-system-x86_64

This introduces following problems in

heterogenous environments (e.g., F-E CentOS, HV mixed Debian and CentOS) - and requires to a symlink incompatible systems to provide emulator on a same path within all platforms

different architectures, where that (e.g., OS=[arch="aarch64"]) requires a completely different emulator (e.g., /usr/bin/qemu-system-aarch64).

Vague proposal is to:

extend probes fetching current KVM_CPU* and KVM_MACHINES to return

list supported architectures
emulator for each architecture
KVM_CPU/MACHINES specific for each architecture

Use a VM defaults specific for planned host.

Use case

Simplify configuration for heterogenous environments.
Front-end container deployment is is fixed to a single platform no matter what's running on HVs
Improve support for non-x86 architectures.

Interface Changes
Monitoring, oned, Sunstone.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

PRs to merge into master as a workaround which uses unified /usr/bin/qemu-kvm-one symlink:

https://github.com/OpenNebula/one-ee/pull/529/
https://github.com/OpenNebula/packages/pull/193
https://github.com/OpenNebula/docs/pull/1379

The issue should be left opened for a proper solution, which inteligently takes emulator and respects the guest VM architecture,


cannot request bundle.js while running with multiple service using same domain

For example:
I have 2 service with corresponding url:
Service A start with: mydomain.com/a
Service B start with: mydomain.com/b
So if Bull-board on service A, the bundle request expected is: mydomain.com/a/bundle.js. But instead mydomain.com/bundle.js
Thanks a lot

Pls check if v2.0.0 which supports multiple instances solves your issue.
I will close for now, if it doesn't solved the issue feel free to reopen.


Executing newInstance on every job when restarting Jenkins

I'm not sure if others face this issue.  We have over 3000 jobs configured in our Jenkins instance.  A restart takes longer than 5 minutes because on every job we get:
INFO: Starting the ghprb trigger for the folder/some-job job; newInstance is false

That seems to indicate that GHPRB is doing something for every job during startup.
Plugin version: GHPRB <IP_ADDRESS>
I checked the changelogs and there didn't appear to be notes relating to this issue.

Experiencing same issue

This has actually been solved by a recent merged PR and should be available in the next release.  Fixed by #543.  Add the following property to Jenkins startup options after GHPRB 1.39.1 release; -Dorg.jenkinsci.plugins.ghprb.GhprbTrigger.disableRegisterOnStartup=true.

I tried this plugin and it can work and the related Jenkins job can be triggered successfully when I create a pull request.
But when I merge a pull request, the related Jenkins job cannot be triggered although the event was posted from Github to Jenkins successfully.
Could you please let me how to make it can work when merging a pull request?

I recommend asking for help in the jenkinsci-users mailing list https://jenkins.io/mailing-lists/
See Community for other forms of help.  There’s also a jenkinsci reddit.
This is mainly used to track bugs and fix them.


fix snackbar: snackbar shows below image's recycler view

Description:
When user click to photo icon on toolbar the snackbar isn't showing correctly, if camera permission had been denied earlier.
Resolution
Put snackbar over image's recyclerview

@Ponomarev-A already fix the issue in 2.3.1
Thanks for the PR :+1:


Final coverage takes into account only 1 run destination

(this might be an issue on xcresult instead/as well, sorry I don't know enough about it yet)
I'm on Xcode 11.4.1 and running my tests via fastlane on 2 destinations, so that my code is covered on both iOS 12 & iOS 13.
If I use Apple's xcrun xccov over the generated xcresult file, I can see the covered lines number increasing from 1 to 2 destinations, meaning Apple's tool is merging the 2 results.
However when using xcov, the numbers don't increase as I increase the run destinations, and per xcov logs it seems to take only 1 of the reports into account:
Copying .xccovarchive to ./fastlane/xcov_report/action_0.xccovarchive
Copying .xccovarchive to ./fastlane/xcov_report/action_1.xccovarchive
Copying .xccovreport to ./fastlane/xcov_report/action_0.xccovreport
Copying .xccovreport to ./fastlane/xcov_report/action_1.xccovreport
...
▸ Opening .xccoverage file at path: .../fastlane/xcov_report/action_0.xccovreport

edit: this line is where only the 1st report is taken

Here's something that would work as a middle step between obtaining the xccovreports and generating the report:
xcrun xccov merge --outReport out.xccovreport action_0.xccovreport action_0.xccovarchive action_1.xccovreport action_1.xccovarchive

now, if I specify the new file out.xccovreport in xccov_file_direct_path, the reported coverage takes into account the 2 destinations

This PR fixes this issue for me. @gobetti would it be possible for you or another xcov contributor to review that PR and help get it into a future release?

https://github.com/fastlane-community/xcov/pull/173 closed this issue 👍 thanks everybody!


Support For Allowing Streams and Buffers

Support to allow for streams and buffers would be awesome. This allows something like scissors to be used in a preview service since something like a preview service would otherwise be making disk accesses to grab binaries off disk, which is the current case since scissors only takes a file path.

+1

+1

Should be doable. I'll look into it, but if anyone with more expertise on this issue has a suggestion, create a PR!

+1


Bluetooth: Host: Fail to initiate a connection to a synced paired device from a PAwR train if BT_PRIVACY=y

Describe the bug
Do pairing before initiating a connection to a synced paired device from a PAwR train will lead to the connection v2 failing to be established. The reason is that on the synced device, the device address is the resolvable private address, while the local identity address is used as the peer address by the controller when establishing a connection from PAwR.
To Reproduce
Steps to reproduce the behavior:

both devices create new identity with device address and IRK pairs
both devices call bt_enable()
connect the two devices and set security level 2 for adding peer device to resolving list
on device starting PAwR adverting while the other syncs to it
the PAwR advertiser initiates a connection to the synced device

Expected behavior
The connection v2 initiation will get 0x3E (Failed to be established) error
Impact
This will affect the establishment of PAwR connection v2 with privacy enabled

@laxiLang moved to low as this is still experimental in Zephyr.

@hermabe FYI if you are still working on PAwR :)

Is this related to PR https://github.com/zephyrproject-rtos/zephyr/pull/57668?

Is this related to PR #57668?

That is a separate issue.
I am aware of this but have not looked too much into it.


Fix Google Login Validation and Enhance KYC/Withdrawal Flow

This issue focuses on resolving critical bugs and implementing enhancements for user authentication, KYC verification, and withdrawal processes.
Tasks:
Fix Google Login Validation:
    Address User validation failed: password: Path \password` is required` error during Google login.
    Ensure that users authenticated via Google do not require a password.

KYC Verification Enhancements:
    Fix logic to correctly verify the KYC status.
    Ensure KYC updates after user completes onboarding via Stripe.
    Align KYC button with consistent styling and behavior.

Withdrawal Process Improvements:
    Prevent withdrawal if KYC is not verified.
    Refactor the Stripe integration to handle account creation and verification cleanly.

UI Enhancements:
    Ensure consistent layout between "Account" and "Transaction" tabs.
    Fix alignment and spacing for buttons and input fields.


Avoid doing string concat when not needed

I noticed this OOM exception and saw string concat in the call stack.
No need to do concat when we are putting the result into a JsonWriter anyway.
I can see that you have improved the serialization in other branches, but I guess that is not coming in the near future.

Inner exception System.OutOfMemoryException handled at Elasticsearch.Net.Transport1+<RequestAsync>d__151.MoveNext:
at System.String.Concat (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Nest.BulkRequestJsonConverter.WriteJson (Nest, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=96c599bbe3e70f5d)

Thanks! Yes we are working on making major improvements but this a super quick win.
The serialization improvements should land soon but for now target 7.x only.

This will not make into 6.6, right?
Do you have a release plan or is it just on demand when there is enough meaningful changes?


crf token issue

"message": "CSRF token mismatch.",
"exception": "Symfony\Component\HttpKernel\Exception\HttpException",
"file": "D:\xampp\htdocs\example-app\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php",
"line": 428,
"trace": [
{
"file": "D:\xampp\htdocs\example-app\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php",
"line": 399,

You seem to be using a custom domain name for local development instead of just localhost, in that case check this comment and see if it solves your issue.


OutlinedTextField doesn't produce PressInteraction.Press interactions on desktop and ios

I am building an expense app in compose multiplatform (1.5.0) but I have an issue with this
@Composable
fun ExposedDropdownMenu(
    state: MutableState<String>,
    items: List<String>,
    selected: String = items[0],
    onItemSelected: (String) -> Unit,
    colors: TextFieldColors = TextFieldDefaults.textFieldColors(
        focusedIndicatorColor = Color.Transparent,
        unfocusedIndicatorColor = Color.Transparent,
        disabledIndicatorColor = Color.Transparent
    ),
    textStyle: TextStyle = MaterialTheme.typography.body1.copy(
        fontWeight = FontWeight.Normal,
        fontSize = 14.sp
    ),
) {
    var expanded by remember { mutableStateOf(false) }
    val interactionSource = remember { MutableInteractionSource() }
    LaunchedEffect(interactionSource) {
        interactionSource.interactions
            .filter { it is PressInteraction.Press }
            .collect {
                expanded = !expanded
            }
    }

    ExposedDropdownMenuStack(
        textField = {
            OutlinedTextField(
                value = if (state.value == "") selected else state.value,
                onValueChange = {
                    state.value = it
                },
                interactionSource = interactionSource,
                readOnly = true,
                colors = colors,
                singleLine = true,
                textStyle = textStyle,
                trailingIcon = {
                    val rotation by animateFloatAsState(if (expanded) 180F else 0F)
                    Icon(
                        rememberVectorPainter(Icons.Default.ArrowDropDown),
                        contentDescription = "Dropdown Arrow",
                        Modifier.rotate(rotation),
                    )
                },
                modifier = Modifier.fillMaxWidth()
            )
        },
        dropdownMenu = { boxWidth, itemHeight ->
            Box(
                Modifier
                    .width(boxWidth)
                    .wrapContentSize(Alignment.TopStart)
            ) {
                DropdownMenu(
                    expanded = expanded,
                    onDismissRequest = { expanded = false }
                ) {
                    items.forEach { item ->
                        DropdownMenuItem(
                            modifier = Modifier
                                .height(itemHeight)
                                .width(boxWidth),
                            onClick = {
                                expanded = false
                                state.value = item
                                onItemSelected(item)
                            }
                        ) {
                            Text(
                                text = item,
                                style = textStyle,
                                modifier = Modifier.fillMaxWidth()
                            )
                        }
                    }
                }
            }
        }
    )
}

@Composable
private fun ExposedDropdownMenuStack(
    textField: @Composable () -> Unit,
    dropdownMenu: @Composable (boxWidth: Dp, itemHeight: Dp) -> Unit
) {
    SubcomposeLayout { constraints ->
        val textFieldPlaceable =
            subcompose(ExposedDropdownMenuSlot.TextField, textField).first().measure(constraints)
        val dropdownPlaceable = subcompose(ExposedDropdownMenuSlot.Dropdown) {
            dropdownMenu(textFieldPlaceable.width.toDp(), textFieldPlaceable.height.toDp())
        }.first().measure(constraints)
        layout(textFieldPlaceable.width, textFieldPlaceable.height) {
            textFieldPlaceable.placeRelative(0, 0)
            dropdownPlaceable.placeRelative(0, textFieldPlaceable.height)
        }
    }
}

private enum class ExposedDropdownMenuSlot { TextField, Dropdown }

In Android, it's working fine but on iOS it does not work on clicking. But also I have trouble hiding the keyboard as items appear to be hidden under the keyboard in Android the manifest file I can adjust resize to that when the keyboard appears then it pushes content upwards.
@Composable
    fun DropDownField(
        label: String = "",
        onValueChange: (String) -> Unit,
        state: MutableState<String>,
        items: List<String>
    ) {
        ExposedDropdownMenu(
            state = state,
            items = items,
            selected = label,
            onItemSelected = onValueChange
        )
    }

Here is my list
CustomTextField.DropDownField(
            state = category,
            label = "Category",
            items = categories.keys.toList(),
            onValueChange = {
                category.value = it
            })

        categories[category.value]?.toList()?.let {
            CustomTextField.DropDownField(
                state = subcategory,
                label = "Sub-Category",
                items = it,
                onValueChange = {
                    subcategory.value = it
                })
        }

and here is the list
 val category = remember { mutableStateOf("") }
    val subcategory = remember { mutableStateOf("") }
    var amount by remember { mutableLongStateOf(0L) }
    var description by remember { mutableStateOf("") }

    // Map of categories to their subcategories
    val categories = mapOf(
        "Transport" to listOf("Fuel", "Public Transit", "Maintenance"),
        "Groceries" to listOf("Food", "Household Items"),
        "Entertainment" to listOf("Movies", "Concerts", "Games"),
    )

Simplified a reproducer (https://github.com/eymar/repr_ios_subcompose_layout_click):
@Composable
internal fun App() = MaterialTheme {
    Column {
        Spacer(modifier = Modifier.height(200.dp))

        val interactionSource = remember { MutableInteractionSource() }
        LaunchedEffect(interactionSource) {
            interactionSource.interactions
                .collect { println("Interaction = $it") }
        }

        OutlinedTextField(
            value = "Try click me",
            onValueChange = {},
            interactionSource = interactionSource,
            readOnly = true,
            singleLine = true,
            modifier = Modifier.fillMaxWidth()
        )
    }
}

On iOS and desktop it never prints androidx.compose.foundation.interaction.PressInteraction$Press, only androidx.compose.foundation.interaction.FocusInteraction$Focus.
But on android it prints both.

It means the issue is not with subcompose layout, but with OutlinedTextField.
You can try to change your code to not rely on PressInteraction.Press to workaround the issue for now.

Note for our team: For the reproducer in mpp:demo have a look at https://github.com/JetBrains/compose-multiplatform-core/commit/3e390ddf9893f1360f85936f553b512ab34384f3#diff-d39ddc7e61fa5922223e673e2c9a3a82682d808f3394404b7250d302b3a25327R28

Thank you Sir.

Any updates on this issue?

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Added troubleshooting instructions for app crash issue when using a personal developer account

…a personal developer account

@anatarnousk : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Use plugin-graphql with SSR

Hello, I'm trying to use plugin-graphql with fresh nuxt.js app but details about that are not sufficient. I can see in FAQ that i need to use node-fetch and global.fetch = fetch but where exactly should i put that? In the store file definition? So far, my store/index.js looks as follows:
import VuexORM from '@vuex-orm/core'
import VuexORMGraphQL from '@vuex-orm/plugin-graphql'
import database from '~/db'
import fetch from 'node-fetch'

global.fetch = fetch

VuexORM.use(VuexORMGraphQL, { database })

export const plugins = [VuexORM.install(database)]

but app freezes (loading till infinity) when i'm trying to reach it in browser. Any tips much appreciated!
I'm using plugin-graphql ^1.0.0-rc.33

Hi!
My store/index.js:
import Vuex from 'vuex';
import VuexORM from '@vuex-orm/core';
import VuexORMGraphQL from '@vuex-orm/plugin-graphql';
import { HttpLink } from 'apollo-link-http';
import database from './database';
import fetch from 'node-fetch';

const options = {
  database,
  debug: process.env.NODE_ENV === 'development' && process.client,
  url: process.env.BACKEND_URL + '/api/v2',
};

if (process.server) {
  options.link = new HttpLink({ uri: options.url, fetch });
}

VuexORM.use(VuexORMGraphQL, options);

export default function createStore () {
  const plugins = [VuexORM.install(database)];
  return new Vuex.Store({ plugins });
}

Seems you're right, setting global.fetch is deprecated and probably doesn't work. I've simply setup a HttpLink instance and pass fetch. I will update the docs :)
Please let me know if this fixes your problem.

That was it! Thank you :)

Nice, I'll update the docs :)

Done.

Work like a charm. Don't you think it would be worth adding this as a separate page into the documentation (or at least to the setup page) instead of only the F.A.Q? SSR is quite a fundamental part of modern web applications and it took me quite some time finding this issue here for the concrete solution.

That's exactly what I have done 😎
https://github.com/vuex-orm/plugin-graphql/blob/master/docs/guide/nuxt.md
It's just not deployed yet :)

🆒 🆒 🆒 :)

I can not use fetch, customQuery or customMutate on Nuxt. Any one same?
https://github.com/vuex-orm/plugin-graphql/issues/134

That's exactly what I have done 😎
https://github.com/vuex-orm/plugin-graphql/blob/master/docs/guide/nuxt.md
It's just not deployed yet :)

Hi. At this example you put check on process.server in plugin. And here this value will be always true. On client too. If make init is store as you show here: https://github.com/vuex-orm/plugin-graphql/issues/92#issuecomment-487260474 then process.server is right value.


MSID: 90750 Version: 2 DOI: 10.1101/2<IP_ADDRESS>4967

MSID: 90750
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>4967
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=90750
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>4967

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/90750v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>4967
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/90750/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Hi @acollings, there are some issues in the author response. Please could you take a look to see if these could be fixed?

Reference not listed as number 12:

"Where" should be on a new line:

Equations 3 and 4 and the paragraph in between are captured as one image. These should be separate images and the paragraph should be normal text (with an inline image for the equation within that):

Thanks @fred-atherden should be sorted now

Thanks!


ERROR Cannot start nuxt: The requested module 'node:module' does not provide an export named 'isBuiltin'

Environment
Cannot start nuxt:  The requested module 'node:module' does not provide an export named 'isBuiltin'             12:33:26 PM
at ModuleJob._instantiate (node:internal/modules/esm/module_job:128:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:194:5)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:409:24)
at async bundle (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4512:76)
at async Promise.all (index 1)
at async build (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4388:5)
at async Promise.all (index 1)
at async NuxtDevServer._load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:280:5)
at async NuxtDevServer.load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:185:7)
Reproduction
Cannot start nuxt:  The requested module 'node:module' does not provide an export named 'isBuiltin'             12:33:26 PM
at ModuleJob._instantiate (node:internal/modules/esm/module_job:128:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:194:5)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:409:24)
at async bundle (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4512:76)
at async Promise.all (index 1)
at async build (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4388:5)
at async Promise.all (index 1)
at async NuxtDevServer._load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:280:5)
at async NuxtDevServer.load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:185:7)
Describe the bug
Cannot start nuxt:  The requested module 'node:module' does not provide an export named 'isBuiltin'             12:33:26 PM
at ModuleJob._instantiate (node:internal/modules/esm/module_job:128:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:194:5)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:409:24)
at async bundle (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4512:76)
at async Promise.all (index 1)
at async build (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4388:5)
at async Promise.all (index 1)
at async NuxtDevServer._load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:280:5)
at async NuxtDevServer.load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:185:7)
Additional context
No response
Logs
Cannot start nuxt:  The requested module 'node:module' does not provide an export named 'isBuiltin'             12:33:26 PM

  at ModuleJob._instantiate (node:internal/modules/esm/module_job:128:21)
  at async ModuleJob.run (node:internal/modules/esm/module_job:194:5)
  at async Promise.all (index 0)
  at async ESMLoader.import (node:internal/modules/esm/loader:409:24)
  at async bundle (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4512:76)
  at async Promise.all (index 1)
  at async build (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxt/dist/index.mjs:4388:5)
  at async Promise.all (index 1)
  at async NuxtDevServer._load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:280:5)
  at async NuxtDevServer.load (/C:/Users/MonsterClaw-021/Desktop/Nuxt/nuxt-app/node_modules/nuxi/dist/chunks/dev2.mjs:185:7)

what version of node are you using?
You can find out by running node -v or running npx nuxi@latest info

let's track in https://github.com/nuxt/nuxt/issues/24402.

Try to use node v18.18.0 or latest one.

I just upgraded to the latest Nuxt and I got the same when running the app, below are the details on my end
`

Operating System: Linux
Node Version:     v18.0.0
Nuxt Version:     3.8.2
CLI Version:      3.10.0
Nitro Version:    2.8.0
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      app, modules, image, devtools, colorMode, sanctum, tailwindcss, googleFonts
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -`

Tried the latest node stable (21.2.0) and got the same
Thanks

node -v

v18.5.0


Keyboard sorting

Resolves #77
This PR introduces keyboard-accessible sorting. Users are now able to sort items using only their keyboard.
Devs can set tabIndex on their SortableElements. Once focused:

Space picks up an item
Arrow UP/LEFT moves the picked-up item backwards one place in the list
Arrow DOWN/RIGHT moves the picked-up item forwards one place in the list
Space again to drop the item
ESC to cancel a sort

Known issue(s)
On react-infinite, occasionally (every couple hundred items) it'll stop sorting prematurely, due to what I believe is the virtualized DOM not appending items to the list fast enough for the sorting to continue. The fix is simply to stop keyboard sorting, scroll down a bit with the mouse (or tab forward) and continue. Currently looking into possible solutions. The simplest fix that I found was just to increase the preload values passed to Infinite's props, specifically preloadBatchSize and preloadAdditionalHeight.

Just want to say it's super encouraging to see signs of life with this library. Thanks @clauderic!
I want to submit a PR that just moves to the new Context API (see: https://twitter.com/dan_abramov/status/1097866569701621763). I imagine it's a small PR but was worried it may not be accepted ever. Will try now!

First of all, I want to thank you for taking the time to review this PR 😄👍

You mentioned there were issues with react-infinite, have you been able to replicate similar issues with the react-virtualized or react-tiny-virtual-list examples?

Not that I know of, the issue I mentioned seems only to arise when reaching the 300th or so item in a react-infinite list. I seem to be able to shuffle through the entire length of a react-virtualized and react-tiny-virtual-list without any issues, but that may take some more scrutiny to confirm.

As an aside, I'm a bit worried about the amount of complexity and alternative code paths it introduces to the codebase

Good point 👍 I initially considered inserting the logic for some of the key sorting methods into the existing methods since most of the underlying structure was the same, but found that it was a little messy, so I opted to share the ones I could use with minimal modification and extract the rest into their own set of methods.

In the future, I'd like to refactor the translations to be based on deterministic state updates and only have one code path for translates using getBoundingClientRect to swap items around.

Makes sense, caching the initial getBoundingClientRect values would really simplify the positioning logic, for keyUpdatePosition at least 😄

Just tested this out locally - awesome work! Really excited about this. I didn't look too closely at the code - my only comments though would have been nitpicky style changes for the examples 🙃 nothing to worry about!

I am having trouble implementing this, and also hard to find examples on where tabIndex={0} should be. I am using this with react-virtualized. I tried the tabIndex on the SortableElement as well as the outermost
 within the SortableElement implementation.
Sorry for bringing up this PR, but docs are pretty minimal on accessibility support. Thanks in advance!

It won't work at all, emmm...
const GridItem = SortableElement(({ value }) => (

    {value}

))
const Grid = SortableContainer(({ items }) => (

    {items.map((col, index) => (
      <GridItem key={col.key} index={index} value={col.title} tabIndex={0} />
    ))}

))


Website Docker Run Command Out Of Date

Expected behaviour
The docker example at http://www.mbtest.org/docs/install should work.
Actual behaviour
The correct run command seems to be docker run --rm -p 2525:2525 -p 8080:8080 bbyars/mountebank:2.4.0 start --configfile imposters.ejs and not docker run --rm -p 2525:2525 -p 8080:8080 mountebank:2.4.0 mb start --configfile imposters.ejs.

I am also cannot find where to fix this one. @bbyars, could you point to the place where is this doc? There are no "install.ejs" view

Thanks both. While it's not released, I've removed the install page from
the next version, deprecating the old operating system installs. Instead of
documenting on instal.ejs, the Docker command will likely need to be added
to the getting started page.
On Mon, Aug 30, 2021 at 3:57 PM Egor Panfilov @.***>
wrote:

I am also cannot find where to fix this one. @bbyars
https://github.com/bbyars, could you point to the place where is this
doc? There are no "install.ejs" view
https://github.com/bbyars/mountebank/tree/master/src/views/docs
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bbyars/mountebank/issues/615#issuecomment-908689077,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAARFP3IPL6W4NHQDARNWKLT7PWE5ANCNFSM44H47INA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Crash on 'telegraph.co.uk'

Browsing to https://www.telegraph.co.uk/ causes WebContent to crash, failing the following assertion:
VERIFICATION FAILED: !height.might_be_saturated() at ~/ladybird/Userland/Libraries/LibWeb/Layout/LayoutState.cpp:563

I will see if I can help out with a smaller test case on this one.

FWIW, the call stack at the crash is something like this:
/home/onorio_developer/ladybird/Build/ladybird/libexec/../lib/liblagom-web.so.0 Web::Layout::LayoutState::UsedValues::set_content_height(Web::CSSPixels) 0x7d) [0x77ee8aad712d]
/home/onorio_developer/ladybird/Build/ladybird/libexec/../lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_box(Web::Layout::Box const&, Web::Layout::BlockContainer const&, Web::Layout::LayoutMode, Web::CSSPixels&, Web::Layout::AvailableSpace const&) 0x383) [0x77ee8aa9bc33]
But I cannot find a call to set_content_height inside layout_block_level_box so I'm really kind of puzzled.

Looking into this somewhat, it seems reasonable (to me) to handle the saturated conditions - similarly to how values less than 0 are handled).
Something like:
void LayoutState::UsedValues::set_content_height(CSSPixels height)
{
    if (height.raw_value() == NumericLimits<i32>::max()) {
        dbgln_if(LIBWEB_CSS_DEBUG, "FIXME: Layout calculated a max height for {}: {}", m_node->debug_description(), height);
        height = 1080;
    } else if (height.raw_value() == NumericLimits<i32>::min() || height < 0) {
        // Negative heights are not allowed in CSS. We have a bug somewhere! Clamp to 0 to avoid doing too much damage.
        dbgln_if(LIBWEB_CSS_DEBUG, "FIXME: Layout calculated a negative (or min) height for {}: {}", m_node->debug_description(), height);
        height = 0;
    }
    m_content_height = height;
}

I've followed the existing less than 0 handling for minimum, and used 1080 for maximum (although this is just a random figure). It would probably be worth checking other browsers to see what values they use.
I'm also unsure if this is the correct place to make the change - or if I'm patching the symptom rather than the cause.
This fixes The Telegraph.

I think we just shouldn't be producing such a big number in the first place. Maybe we're getting in a situation where the size continually grows.

Maybe we're getting in a situation where the size continually grows.

I presume The Telegraph has the same issue as GH-1249, where a SVG has a height outside of i32's bounds (in that case 1e30). I wonder if SVG specifies what to do if the number is silly.

If I am reading the standard correctly it looks like minimum is zero (no
negatives) so maybe the comparison should be against an unsigned int?
The other thing I see in the standard is something about the size being
specified as a percentage of the viewport. That feels as if it should be
even more tightly constrained. But a percentage of a large viewport may be
a large absolute number, right? I mean 50% of 1_000_000 is 500_000.
Just some thoughts on the issue.
On Mon, Sep 2, 2024 at 14:24 Jamie Mansfield @.***>
wrote:

Maybe we're getting in a situation where the size continually grows.
I presume The Telegraph has the same issue as GH-1249
https://github.com/LadybirdBrowser/ladybird/issues/1249, where a SVG
has a height outside of i32's bounds (in that case 1e30). I wonder if SVG
specifies what to do if the number is silly.
—
Reply to this email directly, view it on GitHub
https://github.com/LadybirdBrowser/ladybird/issues/1236#issuecomment-2325180104,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABFOFNEHKIOE65S6N66Z3LZUSUMRAVCNFSM6AAAAABNODE342VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRVGE4DAMJQGQ
.
You are receiving this because you commented.Message ID:
@.***>

I just checked the height on the other behavior (GH-1249) It crashes with the same value: 33554431.984375.  I'm sorry it's taking me so long to isolate a smaller repro case but I'm not deeply familiar with gdb and I'm learning as quick as I can :)

The issue still persists as of f80fca2deeb2b0ea5ffd0af714bcd79b3ad729dd

The issue still persists as of ea0e434d1d6b464ab0a56c4b7150950be78ae7d3


Kanban Board

Below is the link to the Kanban Board for this project:
Recipe App: Kanban Board
This is a 2-person project and the authors are:
@Santosh-Konappanavar
@david30-maker

Hi Team,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights 💯

Descriptive info✔
Tasks distributed equally ✔

Optional suggestions
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Fix decimalSymbol for forecast

With this, the decimalSymbol config also works at the forecast part of the new weather module.
This solves the issue #2530.

Codecov Report

Merging #2534 (5c2a0e5) into develop (f8769fc) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #2534   +/-   ##
========================================
  Coverage    39.90%   39.90%
========================================
  Files           21       21
  Lines         1629     1629
========================================
  Hits           650      650
  Misses         979      979

Continue to review full report at Codecov.

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


How do you actually use "Split into two"?

I've split a point into two, wanting to continue each individual line of a double line into a different direction. However, I can't actually select any of the two points to create a new line?
The interface looks like this:

I can only create a new line at the big center point, not at any of the two split points.
I then tried to go into the line UI and change the rule's "From" point:

That makes the 2 split points disappear and only shows me the main one again.
So yeah, how do I actually continue the 2 split lines in different directions?

You should choose alignment for line that start from this point

Yeah this didn't register at all for me!
Thanks a lot! Amazing mods you're making.