Add filter, map and reduce to Array

Closes #17268
Example code:
func _ready() -> void:
	var array = [1, 2, 3, 4, 5, 6, 7, 8]

	print(array.filter(filter_test))
	print(array.map(map_test))
	print(array.reduce(reduce_test))

func filter_test(element: int) -> bool:
	return element < 4

func map_test(element: int) -> String:
	return str("element ", element)

func reduce_test(accum: int, element: int) -> int:
	return accum + element

The result is:
[1, 2, 3]
[element 1, element 2, element 3, element 4, element 5, element 6, element 7, element 8]
36

EDIT:
Here's lambda version btw:
func _ready() -> void:
	var array = [1, 2, 3, 4, 5, 6, 7, 8]
	print(array.filter(func(i): return i < 4))
	print(array.map(func(i): return str("element ", i)))
	print(array.reduce(func(i, accum): return accum + i))

Ok, added error checking (not sure if I did it correctly) and docs.

If we are adding this, how about
Take(n) / TakeWhile(predicate)
Skip(n) / SkipWhile(predicate)
Any(predicate)
All(predicate)
Basically just implement part of C# linq lol.
Would be interested in working on that in a separate pr.

@EricEzaM These should be implemented in a separate PR. Note that Any and All are also called some and every in other languages like JavaScript.

I done the requested changes. Also in another commit I optimized the filter method.

I pushed some changes. When doing the Tween PR I learned the proper way of handing Callable calls (by seeing how callv does it), so I changed the error handling. Should be more correct now.

Rebased and updated documentation with lambda functions (also edited OP with lambda examples).

Thanks!

I see it's already merged but gonna write it in here anyway: docs descriptions for filter and map suggest these methods modify the original array. It should be explicitly stated that these methods return a new array with the results (and do not modify the original array they was called for). There's also a typo in reduce's docs.

very nice, thanks a lot


The Install command fails for zsh

Is there a installation script for zsh as from catalina onwards zsh is being used instead of bash...right?

I replaced source ~/.bash_profile; with:
if [ -n "$ZSH_VERSION" ]; then
   source ~/.zshrc;
elif [ -n "$BASH_VERSION" ]; then
   source ~/.bash_profile;
else
   echo 'unknown shell'
fi

This allows me to bootstrap from both shells.

I replaced source ~/.bash_profile; with:
if [ -n "$ZSH_VERSION" ]; then
   source ~/.zshrc;
elif [ -n "$BASH_VERSION" ]; then
   source ~/.bash_profile;
else
   echo 'unknown shell'
fi

This allows me to bootstrap from both shells.

Thanks for the suggestion.
Though your fork looks scary (very elaborate) , I followed your suggestions and now have a customised version of the same for my use cases.
Hoping to see a more detailed documentation some time.


Fixed vote pubkey whitelisting in validator_rewards

Wait wait. I think I might have confused myself - sorry, quite a few of those actually do use node pubkeys!


NEW REQUEST name length is not limited

Rename request names are limited to 50 characters, but new request names are unlimited in length

Please assign.

Can this limit also please be considered when importing requests from OpenAPI? Currently, the import creates very long names and too long filenames to even be handled by git and other tools.


NTR: cellular response to pulsatile (and: oscillatory) fluid shear stress

Dear Biocurators,
I am writing to request a new GO term, which arose whilst annotating paper PMID: 21768538 (Wu et al., 2011).
It is demonstrated in Figures 3 and 4 in this paper that the type of fluid shear stress, which endothelial cells are exposed to, affects the expression of miR-92a and, consequently, its target: the transcription factor Kru¨ppel-like factor 2 (KLF2).
I was able to capture the data presented in Figure 3 using term GO:0071499: ‘cellular response to laminar fluid shear stress’.
I order to capture the information from Figure 4, I wish to request two sibling terms:

‘cellular response to pulsatile fluid shear stress’
‘cellular response to oscillatory fluid shear stress’

Like their existing sibling, these terms would be is_a child terms to two parents:
GO:0071498: ‘cellular response to fluid shear stress’; and
GO:0034616: ‘response to laminar fluid shear stress’.
DbxREFs: GOC:BHF, GOC:BHF_miRNA, GOC:bc
I will look forward to hearing from you with regard to my request.
Thank you,
Barbara
cc: @RLovering
cc: @rachhuntley

Hi Barbara,
I will add your terms. Just a couple of notes, for future reference in case anyone questions these terms:

The paper abstract says “…atheroprotective laminar flow downregulated the level of miR-92a precursor to induce KLF2, and the level of this flow-induced KLF2 was reduced by miR-92a precursor. Furthermore, miR-92a level was lower in human umbilical vein endothelial cells exposed to the atheroprotective pulsatile shear flow than under atheroprone oscillatory shear flow.”

I checked the paper Methods to see how these different flows were generated: “A parallel-plate flow system was used to impose shear stress on ECs cultured in flow channels by established methods. Laminar flow, pulsatile shear flow (PS), and oscillatory shear flow (OS) were applied to ECs with shear stress of 12, 12±4, and 0±4 dyne/cm2, respectively.”
Are these assays representative of real physiological processes, and is it fine to use the same terminology? The paper Introduction confirms: “The vascular endothelium, located at the interface between the circulating blood and the vessel wall, is exposed to shear stress resulting from blood flow. The endothelium in straight parts of the artery tree is subjected to pulsatile shear stress with a significant forward direction, which is an important physiological stimulus enhancing vessel compliance and conferring antithrombotic, antiadhesive, and anti-inflammatory effects. In contrast, disturbed flow patterns at the arterial bifurcations and curvatures can cause endothelial dysfunction, which initiates atherosclerosis.”
I checked the references listed in support of the paragraph above, and this one in particular seems to confirm that ‘oscillatory’ is ok to use instead of ‘disturbed’:
http://atvb.ahajournals.org/content/5/3/293.abstract?ijkey=566e4eff542084b0f17b57dfd3eafde36980e656&keytype2=tf_ipsecsha

I am a bit wary of creating new terms for
response to pulsatile fluid shear stress
response to oscillatory fluid shear stress
because they wouldn’t be needed immediately (and GO:0034616: ‘response to laminar fluid shear stress’ has no annotations), but I guess they might be useful for placement purposes if/when we add logical axioms to ‘cellular response’ terms and/or map to a stress ontology of some sorts.

I’ll hold on to adding the new terms for a day or so, in case there are any comments.
Thanks,
Paola

Hi Paola,
Thank you very much for looking into this. I agree that these terms will probably not be used too often. In fact I was slightly surprised when I found the term GO:0071499: ‘cellular response to laminar fluid shear stress.’
My intention was to use this term and one of the requested term in the AE field.
For example I made the following annotation re: Figure 2D and E and Figure 3A, B and C:
Entity ID: URS00003768C5_9606 (hsa-miR-92a); GO:0035195: gene silencing by miRNA; AE1: regulates_expression_ ENSEMBL: ENSG00000127528 (KLF2); linked AE2: part_of GO:0071499 cellular response to laminar fluid shear stress.
I.e. Gene silencing by hsa-miR-92a regulates expression of KLF2 and is a part of cellular response to laminar fluid shear stress.
This is a PRIV annotation atm, which is due to be checked by Rachael, but, assuming that it is correct, my intention was to make an analogous annotation based on Figure 4, which would include oscillatory stress in AE2 rather than the laminar stress.
However, the pulsatile fluid shear stress triggers a reduction in miR-92a expression levels, which in turn results in increased levels of KLF2, and I would not be able to capture these correlations. I admit I requested this additional term just for completeness. Perhaps I am a little overenthusiastic as a newbie (!), but I felt confident to do so because the term GO:0071499: ‘cellular response to laminar fluid shear stress’ exists. In the future, when prompted by such logic, I will first aim to check how many times a term has been used.
Re: your question whether the assays are representative of real physiological processes and whether it is fine to use the same terminology: I trusted the authors on this one. However, just by looking at abstracts that I randomly searched for now, I can tell that experimental conditions, which other groups use to create the effect of oscillatory stress, are very similar (0±4 dyne/cm2 vs. 0±5 dyne/cm2), e.g.
http://circres.ahajournals.org/content/82/5/532.long
http://circres.ahajournals.org/content/82/10/1094.full
Whereas the criteria for creating the pulsatile shear stress seem somewhat less uniform and the numbers are higher in the first two papers, which I came across:
http://www.ncbi.nlm.nih.gov/pubmed/16036314
http://hyper.ahajournals.org/content/59/6/1232.full.pdf
Let’s see whether anyone else has any comments or suggestions regarding this, and in the meantime I will be waiting to hear from Rachael with regard to the annotations (and AEs!), which I created for this paper so far.
Thank you once more for your notes on this, Paola!
Barbara
cc: @RLovering
cc: @rachhuntley

Dear Paola,
Rachael, Ruth, David OS and I just had a discussion about these various types of shear stresses and their role in vascular biology.
The consensus, which we reached, is that perhaps new terms, which are even more specific, should be created. Specifically, I wish to request the following terms:

endothelial cell response to laminar fluid shear stress
endothelial cell response to pulsatile fluid shear stress
endothelial cell response to oscillatory fluid shear stress

These processes are of key importance in vascular homeostasis and they are associated with differential expression of different genes affected by them as a part of the responses to specific shear stress types.
It has also been brought to my attention that within our team we are planning to annotate these processes more widely, therefore, these terms will probably be used more frequently in the future than the related terms have been used so far.
With regard to the new parent terms, which would need to be created for the requested siblings, they would be useful for grouping and term enrichment analysis.
I will look forward to hearing from you.
Thank you,
Barbara
cc: @RLovering
cc: @rachhuntley
cc: @dosumis

Hi Barbara et al,
All done. Added:
GO:0097699 endothelial cell response to fluid shear stress
GO:0097700 endothelial cell response to laminar fluid shear stress
GO:0097701 response to pulsatile fluid shear stress
GO:0097703 cellular response to pulsatile fluid shear stress
GO:0097705 endothelial cell response to pulsatile fluid shear stress
GO:0097702 response to oscillatory fluid shear stress
GO:0097704 cellular response to oscillatory fluid shear stress
GO:0097706 endothelial cell response to oscillatory fluid shear stress
Closing now, thanks,
Paola

Looking at the new terms:
+[Term]
+id: GO:0097706
+name: endothelial cell response to oscillatory fluid shear stress
+namespace: biological_process
+def: "Any response to oscillatory fluid shear stress that occurs in an endothelial cell." [GOC:bc, GOC:BHF, GOC:BHF_miRNA, PMID:21768538]
+is_a: GO:0097699 ! endothelial cell response to fluid shear stress
+is_a: GO:0097704 ! cellular response to oscillatory fluid shear stress
+relationship: occurs_in CL:0000115 ! endothelial cell
+created_by: paola
+creation_date: 2016-01-27T14:25:34Z
enodothelial cell is very general.  I think ideally these terms would be defined for the process occurring in vascular endothelial cells - perhaps: http://www.ebi.ac.uk/ols/beta/ontologies/cl/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FCL_0000071

Barbara, please see David's comment and advise.
Thanks both,
Paola

Hi Paola,
I admit I must agree with David's advise. Thank you both for pointing this out.
Could I please request that the newly-created terms are amended to include the word 'vascular'?
GO:0097699 endothelial cell response to fluid shear stress -->
GO:0097699 vascular endothelial cell response to fluid shear stress
GO:0097700 endothelial cell response to laminar fluid shear stress -->
GO:0097700 vascular endothelial cell response to laminar fluid shear stress
GO:0097705 endothelial cell response to pulsatile fluid shear stress -->
GO:0097705 vascular endothelial cell response to pulsatile fluid shear stress
GO:0097706 endothelial cell response to oscillatory fluid shear stress -->
GO:0097706 vascular endothelial cell response to oscillatory fluid shear stress
I will look forward to hearing from you.
Thank you,
Barbara
cc: @RLovering
cc: @rachhuntley
cc: @dosumis

See obophenotype/cell-ontology/issues/420 for related CL tracker request.

Thank you, David, for submitting the CL tracker request.
cc: @RLovering
cc: @rachhuntley

Ok thanks. I'll change the 4 epithelial terms as suggested above, point to CL_0000071 blood vessel endothelial cell, and keep the CL name strings as (exact) synonyms.

Hi Paola, thank you for taking care of this.
You mean the four 'endothelial' (rather than 'epithelial') terms? I just thought I should check so that no further amendments will be required.

Yes of course. Sorry my mistake, it's been a long day!
Cheers,
Paola

It has been indeed.
Thanks again!
Barbara

Hi Barbara,
There is an ongoing discussion in the CL tracker, based on which I can't rule out that the term CL_0000071 blood vessel endothelial cell will stay exactly the same. Therefore, I'd rather not modify the GO terms until I'm sure what CL term they should link to (and what their name should be). I'm monitoring the CL ticket so I'll be aware of any update promptly. In the meantime, I think you have two options -

annotate to the endothelial terms now, and move your annotations to the more granular new terms later (your annotations wouldn't be wrong, just not as specific as they could)
make a note and hold on to annotating.
I'm not sure what procedure @RLovering or @rachhuntley would advise; I'd have a slight preference for the first one.

Thanks. I'll comment again when the CL issue is solved.
Paola

Hi Paola,
Thank you for the update.
@rachhuntley and I decided to hold on for the moment.
I hope the CL resolution will be reached soon.
Thanks again,
Barbara
@RLovering

Hi Paola,
I hope you are well. I have been wondering whether the editors may have made any changes re: cell ontology term 'vascular endothelial cell'? ( obophenotype/cell-ontology#420 )
This is a term, which would be linked to an additional NTR re: paper PMID:23897866. #12276
I will look forward to hearing from you.
Thank you,
Barbara
cc: @RLovering
cc: @rachhuntley

Hi Barbara,
As far as I can tell, no update was made in the Cell Ontology re. vascular endothelial cell.
I commented on the CL ticket to ask if there's any news.
As I mentioned, if you wish to annotate sooner rather than (wait for updates) later, you could annotate to the existing endothelial terms now, and then move your annotations to the more granular new terms when they become available after the CL update (your annotations wouldn't be wrong, just not as specific as they could). Let me know if I may help in any way.
Thanks,
Paola

Hi Paola,
Thank you for the update. I'll discuss this with Ruth and Rachael again, and we'll take it from there.
Thanks,
Barbara
@rachhuntley
@RLovering

Wondering whether we need to wait for a CL edit here.  I'd use CL:'blood vessel endothelial cell'.  If this is merged at some point, we should get a warning from Jenkins.  I don't think you need to track the CL term name precisely in the new GO term name.  Better to go with community usage (vascular endothelial cell) and have 'blood vessel endothelial cell' be part of a synonym.

OK, done. Here are the revised stanzas:
[Term]
id: GO:0097699
name: vascular endothelial cell response to fluid shear stress
namespace: biological_process
def: "Any response to fluid shear stress in a vascular endothelial cell." [GOC:bc, GOC:BHF, GOC:BHF_miRNA, PMID:21768538]
synonym: "blood vessel endothelial cell response to fluid shear stress" EXACT []
is_a: GO:0071498 ! cellular response to fluid shear stress
relationship: occurs_in CL:0000071 ! blood vessel endothelial cell
[Term]
id: GO:0097700
name: vascular endothelial cell response to laminar fluid shear stress
namespace: biological_process
def: "Any response to laminar fluid shear stress in a vascular endothelial cell." [GOC:bc, GOC:BHF, GOC:BHF_miRNA, PMID:21768538]
synonym: "blood vessel endothelial cell response to laminar fluid shear stress" EXACT []
is_a: GO:0071499 ! cellular response to laminar fluid shear stress
is_a: GO:0097699 ! vascular endothelial cell response to fluid shear stress
relationship: occurs_in CL:0000071 ! blood vessel endothelial cell
[Term]
id: GO:0097705
name: vascular endothelial cell response to pulsatile fluid shear stress
namespace: biological_process
def: "Any response to pulsatile fluid shear stress that occurs in a vascular endothelial cell." [GOC:bc, GOC:BHF, GOC:BHF_miRNA, PMID:21768538]
synonym: "blood vessel endothelial cell response to pulsatile fluid shear stress" EXACT []
is_a: GO:0097699 ! vascular endothelial cell response to fluid shear stress
is_a: GO:0097703 ! cellular response to pulsatile fluid shear stress
relationship: occurs_in CL:0000071 ! blood vessel endothelial cell
created_by: paola
creation_date: 2016-01-27T14:22:44Z
[Term]
id: GO:0097706
name: vascular endothelial cell response to oscillatory fluid shear stress
namespace: biological_process
def: "Any response to oscillatory fluid shear stress that occurs in a vascular endothelial cell." [GOC:bc, GOC:BHF, GOC:BHF_miRNA, PMID:21768538]
synonym: "blood vessel endothelial cell response to oscillatory fluid shear stress" EXACT []
is_a: GO:0097699 ! vascular endothelial cell response to fluid shear stress
is_a: GO:0097704 ! cellular response to oscillatory fluid shear stress
relationship: occurs_in CL:0000071 ! blood vessel endothelial cell
Closing now, thanks, Paola

Thank you, Paola, for revising these terms!
And thank you, David, for pointing out that there is no need to wait for a consensus re: the CL term.
Thanks a lot,
Barbara


BugFix: Broken Mask Options

In commit 5deaa867494df811aa5d8e2c6b82f7f32e396608 when using Prettier to update the text-input.blade.php, a bug was introduced.
When using the mask option on a TextInput, the field will fail to apply the mask and will throw this error in the console. Re-introduction of the parens will fix this bug.
Errant Commit:
https://github.com/filamentphp/filament/commit/5deaa867494df811aa5d8e2c6b82f7f32e396608#r120141338
Error in Console:

Thanks


runtimeResolution Does not appear to work

Summary
I am trying to understand when to use runtimeResolution in the templateRef configuration. It would appear that this would allow you to provide {{inputs.parameters.workflowtemplate-ref}} as the name: "" of the templateRef, and skip validation (which currently breaks, due to either placeholder or interpolation issues). When I set runtimeResolution: true, I get a panic exit on the CLI.
Diagnostics
What version of Argo Workflows are you running? (tried in 2.4.3, 2.8.0 and 2.10.0)
This produces a panic:
---
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: test-templateref-
spec:
  entrypoint: entrypoint
  templates:
    - name: entrypoint
      steps:
        - - name: generate
            template: generate
        - - name: dynamic
            templateRef:
              name: "{{steps.generate.outputs.result}}"
              runtimeResolution: true
              template: entrypoint
    - name: generate
      script:
        image: alpine
        command:
          - "echo"
          - "someworkflowtemplateref"

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xe0 pc=0x10ab4f8]

goroutine 1 [running]:
github.com/argoproj/argo/workflow/validate.(*templateValidationCtx).addOutputsToScope(0xc00066a908, 0x0, 0xc0003b3360, 0xd, 0xc0005a5170, 0xc0003b0000)
	/go/src/github.com/argoproj/argo/workflow/validate/validate.go:631 +0x78
github.com/argoproj/argo/workflow/validate.(*templateValidationCtx).validateSteps(0xc00066a908, 0xc0005a5170, 0xc0005a8140, 0xc0004c1d40, 0xc0005b6548, 0x1)
	/go/src/github.com/argoproj/argo/workflow/validate/validate.go:577 +0xa04
github.com/argoproj/argo/workflow/validate.(*templateValidationCtx).validateTemplate(0xc00066a908, 0xc0004c0d80, 0xc0005a8140, 0x1683a40, 0xc0004492c8, 0xc00066a8d8, 0x0, 0x218)
	/go/src/github.com/argoproj/argo/workflow/validate/validate.go:223 +0x821
github.com/argoproj/argo/workflow/validate.(*templateValidationCtx).validateTemplateHolder(0xc00066a908, 0x168c3c0, 0xc0004c0000, 0xc0005a8080, 0x1683a40, 0xc0004492c8, 0xc00066a8d8, 0x0, 0x0, 0x0)
	/go/src/github.com/argoproj/argo/workflow/validate/validate.go:296 +0x350
github.com/argoproj/argo/workflow/validate.ValidateWorkflow(0x167ede0, 0xc000274dc0, 0xc000449180, 0x16ad700, 0x0, 0x0, 0xc00043ae00, 0xc000598000)
	/go/src/github.com/argoproj/argo/workflow/validate/validate.go:129 +0x724
github.com/argoproj/argo/workflow/util.SubmitWorkflow(0x16ad840, 0xc0003a5ea0, 0x1683bc0, 0xc000237e40, 0x7fffb548da27, 0x4, 0xc000449180, 0xc0001e4280, 0xc0003c6820, 0xc00066b7d0, ...)
	/go/src/github.com/argoproj/argo/workflow/util/util.go:257 +0x557
github.com/argoproj/argo/cmd/argo/commands.SubmitWorkflows(0xc0003e2c60, 0x1, 0x6, 0xc0001e4280, 0xc0002f8880)
	/go/src/github.com/argoproj/argo/cmd/argo/commands/submit.go:162 +0x587
github.com/argoproj/argo/cmd/argo/commands.NewSubmitCommand.func1(0xc000204280, 0xc0003e2c60, 0x1, 0x6)
	/go/src/github.com/argoproj/argo/cmd/argo/commands/submit.go:45 +0xc5
github.com/spf13/cobra.(*Command).execute(0xc000204280, 0xc0003e2ba0, 0x6, 0x6, 0xc000204280, 0xc0003e2ba0)
	/go/src/github.com/spf13/cobra/command.go:766 +0x2cc
github.com/spf13/cobra.(*Command).ExecuteC(0xc0001fcc80, 0xc0000df680, 0xc0000df400, 0xc0000df180)
	/go/src/github.com/spf13/cobra/command.go:852 +0x2fd
github.com/spf13/cobra.(*Command).Execute(0xc0001fcc80, 0x0, 0xc0001d1ec0)
	/go/src/github.com/spf13/cobra/command.go:800 +0x2b
main.main()
	/go/src/github.com/argoproj/argo/cmd/argo/main.go:17 +0x27

If you remove the runtimeResolution: true you get:
2020/09/22 14:38:54 Failed to submit workflow: templates.entrypoint.steps[1].dynamic template reference {{steps.generate.outputs.result}}.entrypoint not found

Alternatively I've tried the following:
---
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: test-templateref-
spec:
  entrypoint: entrypoint
  templates:
    - name: entrypoint
      steps:
        - - name: generate
            template: generate
        - - name: run
            arguments:
              parameters:
                - name: "workflowtemplate"
                  value: "{{steps.generate.outputs.result}}"
            template: run
    - name: run
      inputs:
        parameters:
          - name: workflowtemplate
            value: "somethinghere"
      steps:
        - - name: dynamic
            templateRef:
              name: "{{inputs.parameters.workflowtemplate}}"
              template: entrypoint
    - name: generate
      script:
        image: alpine
        command:
          - "echo"
          - "someworkflowtemplateref"

and get the message below:
2020/09/22 14:43:30 Failed to submit workflow: templates.entrypoint.steps[1].run templates.run.steps[0].dynamic template reference placeholder.entrypoint not found

I would like to be able to submit a job that determines the WorkflowTemplate ref based on some step's output. Is this possible?

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

Unfortunately, we don't currently support parametrized template referencing. See https://github.com/argoproj/argo/issues/2905#issuecomment-642140321.
However, we should return an explicit error, instead of panic. Will fix.

It would appear you receive a panic whenever you use the runtimeResolution: true parameter. Is this even a supported field anymore? Maybe that could just be removed if it doesn't work at all?

It would appear you receive a panic whenever you use the runtimeResolution: true parameter. Is this even a supported field anymore? Maybe that could just be removed if it doesn't work at all?

You're correct, the field as is right now does not work at all. In my view the only way to get this to work is by addressing the concerns found in https://github.com/argoproj/argo/issues/2905#issuecomment-642140321. We may do so at a later date, but as of now the field is not usable.
Will explore deprecating it.

@dtaniwaki Would you like to comment on this since you wrote this feature?


PHP 8.0 support - update dependencies

Make this package usable with the most recent version of phpspec and phpunit.

Thanks, @TiMESPLiNTER !


Addressing issue #52, connection string can be passed via the cli

new cli switch -c:<connection string> to allow you to override it
Avoids writing it to disk

@random82 can you test this PR against your desired for #52?

There's a pre-release build up on NuGet (suffixed with -cli-connec-*). I'm having some issues with pushing the symbols package to SymbolSource, which is why the build keeps failing on AppVeyor 😢.


Implement method to get data for edit page

Description

Create logic to fetch data from the database and display it on the screen for the edit page.
Criteria

[ ] Fetch data from Category table based on share_house_id
[ ] Fetch data from Task table based on share_house_id
[ ] Fetch data from TenantPlaceHolder table based on share_house_id
[ ] Fetch data from Tenant table based on share_house_id
[ ] Fetch data from RotationAssignment table based on share_house_id

I'm closing this issue because it was already resolved by PR #181 .


apple_sdks: init with 11.1, 11.3, 12.1, 12.3, 13.1, and 13.3

What's new?
Adds a new directory for apple-sdks and refactors Xcode directory. Both use a “builder” and “releases” pattern where a nix configuration file stores information about each release and a separate nix file contains the function to build each release. This pattern has proven useful in the CUDA work I’ve done where we need to support multiple SDKs.
Default Apple SDK for aarch64 has been bumped from 11.0 to 11.1.
Apple SDK versions 11.3, 12.1, 12.3, 13.1, and 13.3 are now available.
In addition, we now have a script to track Apple SDK releases (by parsing their sucatalog). The gen-frameworks.py script has been updated to accept command line arguments as well as support generating a public.nix file for each SDK release in the file generated by gen-apple-sdk-releases.py.
Current problems?

The 13.3 SDK is mean to be paired with Xcode 14.3, which is in turn backed by LLVM/Clang 15, so there are some compile errors when using old versions of LLVM/Clang.
Cleanly overriding the compiler used by stdenv and ensuring linking against the correct libc/libcxx.

See https://github.com/NixOS/nixpkgs/issues/222717 and https://github.com/NixOS/nixpkgs/pull/229786

There's a chance that jobs which have to rebuild perl for various stages of bootstrapping the stdenv compiler will fail if run in parallel. The specific error mentions miniperl. If encountered, limit the number of jobs to one until the bootstrapping is complete.

Docs

Please see pkgs/os-specific/darwin/apple-sdks/README.md for the beginnings of some documentation around how frameworks are generated.

Miscellaneous notes
Notes on the SDK's mkStdenv in default.nix, courtesy of @reckenrode:

While the minimum version of Darwin supported by the 13.3 SDK is 13.0, it’s possible to build against a newer SDK while targeting older platforms as long as you use an older deployment target and avoid (or dynamically check for) APIs specific to the newer SDK, so it's fine to set darwinMinVersion = "10.12".
Although the 13.3 SDK expects Xcode 14.3, we don't need to specify xcodeVer = "14.3". Nor do we need to override the default Xcode set in pkgs/os-specific/darwin/Xcode/default.nix because it only serves to copy the Xcode into the store and there aren't any derivations in Nixpkgs which seem to use it.
Because the 13.3 SDK is mean to be paired with Xcode 14.3, which is in turn backed by LLVM/Clang 15, there are some compile errors when using old versions of LLVM/Clang.

This is an open problem and requires further investigation

We specify darwinSdkVersion = "13.3" so our SDK is chosen instead of the default when building stdenv.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

ofborg bot requested review from fgaz

I wonder where did it get my username from. I don't see any change involving me and I don't have any darwin machine

Okay! Did some fairly major refactoring of the 13.3 SDK to genericize it and make it easier to sub in other versions. I've also added a releases.nix with different versions of the SDK. @reckenrode what do you think? Thoughts on the direction it took?

Should releases.nix be in the SDK or up a level? I like the idea of making the SDK more generic, so new versions can be added more easily, but how would this work with other SDKs? Did you have to do a lot of manual manipulate of the files from the generated ones?

Should releases.nix be in the SDK or up a level?

It should, but I'm hesitant to refactor all of the SDKs at the moment, so I'm trying to keep changes localized to the SDK for 13.

I like the idea of making the SDK more generic, so new versions can be added more easily, but how would this work with other SDKs? Did you have to do a lot of manual manipulate of the files from the generated ones?

Thankfully, all of the 11.0+ releases seem to follow a similar pattern. I imagine each will have its own nix expression for public and private frameworks, as well as fixups, but that they'll have a lot in common.
If we wanted to move away from checking in the auto-generated public dependencies, we could instead make use of lib.optionals to conditionally add different frameworks depending on the SDK version.
I just updated the PR description with a bit of documentation for what the frameworks dir is for currently. Let me know if that's at all coherent!

I want to note that I was also able to get rid of some recursion and switch over to using callPackage more consistently -- not sure what kind of breakages that will cause (if any at all) because I can't build things for the SDK right now.

Should releases.nix be in the SDK or up a level?

It should, but I'm hesitant to refactor all of the SDKs at the moment, so I'm trying to keep changes localized to the SDK for 13.

Can it be at the top level without refactoring the other SDKs? That would allow them to be refactored later. Ideally, the SDKs should share as much of the build infrastructure to make adding new ones as painless as possible.

I like the idea of making the SDK more generic, so new versions can be added more easily, but how would this work with other SDKs? Did you have to do a lot of manual manipulate of the files from the generated ones?

Thankfully, all of the 11.0+ releases seem to follow a similar pattern. I imagine each will have its own nix expression for public and private frameworks, as well as fixups, but that they'll have a lot in common.
If we wanted to move away from checking in the auto-generated public dependencies, we could instead make use of lib.optionals to conditionally add different frameworks depending on the SDK version.

Would each dependency use lib.optionals? I’d fear that could get hard to read. Instead of using lib.optionals, could we adopt the override pattern? Each SDK would have an override function that receives the final set of dependencies and the unmodified set, then it returns a new set with whatever modifications it would need to make.

I just updated the PR description with a bit of documentation for what the frameworks dir is for currently. Let me know if that's at all coherent!

Looks good!
One other thing that comes to mind is making sure the system ncurses is excluded from the SDK. That’s not the case for the 11.0 SDK currently. It’s one of a few things that prevent Apple’s upstream cctools from building on aarch64-darwin. I grepped the current PR and don’t see it, so it appears it’s not excluded. Ideally, the 11.0 SDK would be updated/refactored and drop the system ncurses framework. Everything in nixpkgs should use the packaged ncurses.
There are a few private frameworks that also aren’t included. See https://github.com/NixOS/nixpkgs/issues/149692#issuecomment-1409604806. If those could also be included, it might be possible to build the upstream cctools and fix the linker crash.

cc @thefloweringash

I like the new organization. If this means adding new SDKs is a lot easier, that would be fantastic.
As discussed on Matrix, MoltenVK is well-behaved and can be built against the latest SDK. It uses dynamic feature detection to run on older systems. It supports a couple of macOS versions (10.11 and 10.12) for which it is impossible to build using those platforms’ SDKs.

I was able to remove the bundled ncurses from Libsystem and use ncurses.dev from Nixpkgs when building cctools-apple. Unfortunately, the problem is now ld64. I was able to fix the missing corecrypto header files by adding Libsystem to buildInputs, but now I see errors like the following:
ld64> In file included from /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/__hash_table:18:
ld64> /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/cmath:321:9: error: no member named 'signbit' in the global namespace
ld64> using ::signbit;
ld64>       ~~^
ld64> /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/cmath:322:9: error: no member named 'fpclassify' in the global namespace
ld64> using ::fpclassify;
ld64>       ~~^
ld64> /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/cmath:323:9: error: no member named 'isfinite' in the global namespace
ld64> using ::isfinite;
ld64>       ~~^
ld64> /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/cmath:324:9: error: no member named 'isinf' in the global namespace
ld64> using ::isinf;
ld64>       ~~^
ld64> /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/cmath:325:9: error: no member named 'isnan' in the global namespace
ld64> using ::isnan;
ld64>       ~~^
ld64> /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/cmath:326:9: error: no member named 'isnormal' in the global namespace
ld64> using ::isnormal;
ld64>       ~~^
ld64> /nix/store/f8pjkgjvbgb1q5wsmpfyfb5v9s1l5354-libcxx-11.1.0-dev/include/c++/v1/cmath:327:7: error: no member named 'isgreater' in the global namespace; did you mean '::std::greater'?
ld64> using ::isgreater;
ld64>       ^~

Is it possible this is a problem with the default standard we're using to compile with? I know that there were changes involved in a compiler version or language standard at some point which removed common things from the global namespace (or how things were transitively included?). For example, I had a PR for a different project which failed to compile with GCC 12 because array was removed from a file's namespace and had to be explicitly included.

The issue is probably that Libsystem is conflicting with the C++ headers in nixpkgs. Instead of adding Libsystem to buildInputs, try manually symlinking corecrypt and add that path to env.NIX_CFLAGS_COMPILE. See btop (for libproc.h), webkitgtk (also for libproc.h), and MoltenVK (for the simd stuff) for examples of this workaround.

Thinking out loud a bit. I think this should be a follow up PR, but I’d also like to see the 10.{12, 13, 14, 15} SDKs added to this, and the source-based SDK defined as an overlay over the upstream frameworks.

There are different attributes between source-based and non-source SDKs. Harmonizing them would get rid of some of the friction when having to work with both SDKs (e.g., different sdk / MacOSX-SDK attributes).
An overlay should facilitate an incremental approach to “ensourcifying” the SDK. The current approach seems to be all or nothing, which makes the barrier to bumping too high.
Removal of __propagatedImpureHostDeps. The newer SDKs don’t seem to have any __propagatedImpureHostDeps, which I assume is because they use .tbd files instead of linking against the frameworks.

The last point is a pretty big assumption about whether we can put all the SDKs in this framework. Having them all work and build roughly the same way would go a long way towards making it easier to work with Darwin, bump the SDKs, and add more source-based components.

Rebased and squashed!

Made a first pass at generating information for OSS distributions using https://github.com/NixOS/nixpkgs/blob/7713b3235abf54d8b5cdc25576df3917134cc76f/pkgs/os-specific/darwin/apple-source-releases/generate-distribution-releases.py.
Haven't tried building any of the actual distributions with that, but should be doable using the releases/generic builder pattern.

This PR already adds 50k lines of vendored json and so far we lived a long time without every minor version.

That’s my bad; the OSS stuff should really be done in a separate PR. When I get a chance I’ll revert those changes. That should drop it down by a lot.

Rebased and reverted the commit dealing with OSS stuff.

@ConnorBaker fyi, https://github.com/NixOS/nixpkgs/pull/241692 has been merged into staging and should hopefully make 23.11.

@ConnorBaker #234710 is complete. The Darwin stdenv update has been merged into master.

Any updates on the >= 12.x versions? This seems to be the new target architecture for many packages in the Python ecosystem and if i remember correctly the first official version to support Arm64 macs.

Any updates on the >= 12.x versions?

I will be picking this up after I get the cctools and ld64 updates successfully building the Darwin blockers channel and take a look at the Darwin cross-compilation issue after those and the recent LLVM changes. The plan is to land an SDK refactor into a common pattern first then add the missing SDKs (10.13 through 14.x) with as many source-based components as possible without regressing compatibility.
Once newer SDKs are available, packages that need one can use overrideSDK to change the SDK version used to build them.

This seems to be the new target architecture for many packages in the Python ecosystem and if i remember correctly the first official version to support Arm64 macs.

11.0 was the first release of macOS to support Apple Silicon. There are no plans to change the default SDK on aarch64-darwin, but x86_64-darwin will be updated to 10.13 or 10.14 (but most likely 10.13).

@reckenrode did I read that correctly that you continue on this PR?
If so, that would be awesome! An update to the apple sdk system would be much appreciated! If you need some testing, let me know!

@gador That’s right (more or less). The first iteration will be just the current SDKs in the common pattern. I’d like to do it without causing rebuilds, but I’m doubtful it’s possible. It may be a continuation, or it may just incorporate some of the approach. I’ll post an update to the Darwin updates news thread on Discourse once I have something to test.

Hey @reckenrode, I didn't mean to step on any toes with that flake. It was for an experiment, but I never managed to make it actually work. It'd definitely be better being part of nixpkgs, and we don't have any grand plans to maintain an apple sdk flake long term. Just trying to get out of a jam.

Hey @reckenrode, I didn't mean to step on any toes with that flake. It was for an experiment, but I never managed to make it actually work. It'd definitely be better being part of nixpkgs, and we don't have any grand plans to maintain an apple sdk flake long term. Just trying to get out of a jam.

It’s not about whether it’s a flake or an alternative. It’s the lack of communication and roadmap, especially in light of recent controversies. Is this going to be the solution? Is DetSys going to drive that? What’s going on?

There is no roadmap, and we're definitely not the people to decide if this is the solution, and we're not driving it, lol. Like I said: Just trying to get out of a jam where we needed a newer SDK for a Swift program, but couldn't wait for a future merge, and it wasn't working as-is in the PR.

@grahamc Thanks for the clarification. I think if I had known the context when I saw the repo, I’d have reacted better. It’s understandable that you needed a solution when the soonest anything could possibly land is after the 24.05 release. The current SDK situation is definitely not great.

The zed-editor package will require the 12.3 SDKs to fix darwin because of ScreenCaptureKit. I'll open a draft PR for the zed-editor fixes this week, if there's any way I can help please let me know. 😄

Closed by https://github.com/NixOS/nixpkgs/pull/346043


add nahor.is-local.org

Requirements

[x] You have completed your website.
[x] The website is reachable.
[x] The CNAME record doesn't contain https:// or /.
[x] There is sufficient information at the owner field.
[x] There is no NS Records (Enforced as of Sepetember 4th, 2024)

I would like NS records, I have donated under email<EMAIL_ADDRESS>today as requested in README. I don't understand the requirement for no NS records and can't find documentation on this. Please explain.
Description
Per json description, for non-commercial use in test and development of online services. Currently working on something sports related, full stack, frontend client side JS/Angular based, backend AWS API gateway/Java lambda based.
Link to Website
http://88bceea7-22c7-4b31-81bd-695f0c936d51.s3-website.eu-west-2.amazonaws.com/#/

I have read the CLA Document and I hereby sign the CLA

recheck


Environment variables from conda activate.d not available

Taking this for a test drive, I'm noticing that environment variables set by conda activate aren't accessible in the ganymede jlab in the same way they are if I launch jlab after activating the env in a terminal.

If you launch using the command line interface ganymede /path/to/directory from a terminal with the right environment, that should propagate. Otherwise, the app doesn't have access to your user environment unfortunately!


Special characters should be encoded before sent out

Rollbar specifically has issues with emojis in the body

Is this fixed?


cache Cargo artifacts

@homunkulus try

:hourglass: Trying commit 5653bb8 with merge 5653bb8...

:broken_heart: Test failed - status-travis

@homunkulus try

:hourglass: Trying commit b8b25a1 with merge b8b25a1...

:broken_heart: Test failed - status-travis

@homunkulus try

@homunkulus try

:hourglass: Trying commit c6ebeca with merge c6ebeca...

:sunny: Test successful - status-travis
State: approved= try=True

@homunkulus try

@homunkulus try

:hourglass: Trying commit 2e205b4 with merge 2e205b4...

:sunny: Test successful - status-travis
State: approved= try=True

@homunkulus r+

:pushpin: Commit 2e205b4 has been approved by japaric


Network watcher automatically created when I create a VM

Describe the bug
When I create my VM new group 'NetworkWatcherRG' is automatically created.
To Reproduce
root@Alexey-HP:~# az group list | grep -i NetworkWatcherRG
root@Alexey-HP:~#
root@Alexey-HP:~# az group create \

--name centosresourcegroup
--location northeurope
Location     Name

northeurope  centosresourcegroup
root@Alexey-HP:~# az vm create \

--name centos-ent10-prepare
--resource-group centosresourcegroup
--image OpenLogic:CentOS:7.5:7.5.20180815
--location northeurope
--size Standard_DS1
--ssh-key-value ~/.ssh/id_rsa.pub
--admin-username azureuser
--authentication-type ssh
--public-ip-address-dns-name centos-ent10-prepare-dnsname
--os-disk-name centos-ent10-prepare-osdisk
--storage-sku Standard_LRS
ResourceGroup        PowerState    PublicIpAddress    Fqdns                                                        PrivateIpAddress    MacAddress         Location     Zones

centosresourcegroup  VM running    <IP_ADDRESS>     centos-ent10-prepare-dnsname.northeurope.cloudapp.azure.com  <IP_ADDRESS>            00-0D-3A-B1-69-B6  northeurope
root@Alexey-HP:~#
root@Alexey-HP:~# az group list | grep -i NetworkWatcherRG
NetworkWatcherRG     northeurope  Succeeded
root@Alexey-HP:~#
Expected behavior
New group 'NetworkWatcherRG' should not be created.
Environment summary
Bash on Windows 10
root@Alexey-HP:~# az --version | head -1
azure-cli (2.0.54)
Microsoft Windows [Version 10.0.18309.1000]
(c) 2018 Microsoft Corporation. All rights reserved.
Additional context
I didn't happen earlier.

In my case is see the resource group is created as Network watcherRG but inside this i do not see the resource which is network-watcher.

Is it possible to set the name of the NetworkWatcherRG resource group via the Azure CLI or ARM/Bicep template?


added button in login page and sign up page

🛠 Fixes Issue
Fixes: #508
👨💻 Description
What does this PR do?
added button like google facbook and X in logi  page and X
📄 Type of Change

[ X] Bug fix (non-breaking change which fixes an issue)
[ X] New feature (non-breaking change which adds functionality)
[X ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

📷 Screenshots/GIFs (if any)
Include screenshots or GIFs to demonstrate your changes

https://github.com/user-attachments/assets/7cd10071-2654-44c8-9029-3bd86dc3a6f2
https://github.com/user-attachments/assets/0b350e1d-3b55-44c3-b3da-d3811d1776e2
✅ Checklist

[ X] I am a participant of GSSoC-ext.
[ X] I have followed the contribution guidelines of this project.
[X ] I have made this change from my own.
[X ] I have taken help from some online resources.
[ X] My code follows the style guidelines of this project.
[X ] I have performed a self-review of my own code.
[X ] I have added documentation to explain my changes.

Mandatory Tasks

[X ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

🤝 GSSoC Participation

[X ] This PR is submitted under the GSSoC program.
[X ] I have taken prior approval for this feature/fix.

@YadavAkhileshh merged this issue fix #508


ToDo

use venv to create envs
support py2 like hatch
track path-envs in ~/.virtualenvs as well
"coil doctor" - remove duplicated paths, fix env broken links (py upgrades), etc

coil doctor done in #6 and #5

closing as py2 support no longer matters


Surface Move always enabled

Describe the bug
When surface move is not enabled Dragging (middle click) and Placements use Surface Move even when its disabled.
To Reproduce
Steps to reproduce the behavior:

Disabled Surface Move setting
Drag or Place an element, it will lock to the surface move grid

Might be my doing? #662


update long running route handling in demisto 5.5

Status
Ready
Related Issues
fixes: https://github.com/demisto/etc/issues/22038
Description
Document the option to route http traffic to Long Running http integrations via the Demisto server.
Screenshots
Paste here any images that will help the reviewer

@kirbles19 are we ok to merge?

@glicht Done.


Sarama is not working with SASL_SSL authentication to Kafka

Our Kafka cluster is authenticated with SASL_SSL
we are using Jaeger tracing with Kafka as intermediate buffer, Jaeger tracer uses Sarama as client to connect to Kafka. Jaeger Collector will connect to Kafka here
But jaeger collector is failing with
"level":"fatal","ts":1620725724.2804399,"caller":"command-line-arguments/main.go:75","msg":"Failed to init storage factory","error":"kafka: client has run out of available brokers to talk to (Is your cluster reachable?)","stacktrace":"main.main.func1\n\tcommand-line-arguments/main.go:75\ngithub.com/spf13/cobra.(*Command).execute\n\tgithub.com/spf13/cobra@v0.0.7/command.go:838\ngithub.com/spf13/cobra
Looks like Sarama doesn't support SASL/SSL.
https://godoc.org/github.com/Shopify/sarama#GSSAPIKerberosAuth.Authorize
// SASL based authentication with broker. While there are multiple SASL authentication methods
// the current implementation is limited to plaintext (SASL/PLAIN) authentication
Jaeger Collector to Kafka :
docker run --net=abcd --name jaeger-collector -e SPAN_STORAGE_TYPE=kafka -p 14267:14267 -p 14268:14268 -p 9411:9411 -p 14250:14250 hboyina/jaegercollector:latest --kafka.producer.topic=jaeger-spans --kafka.producer.brokers=:9093 --kafka.producer.authentication=kerberos --kafka.producer.kerberos.config-file=/etc/krb5.conf --kafka.producer.kerberos.keytab-file=/root/hboyina.keytab --kafka.producer.kerberos.use-keytab=true --kafka.producer.kerberos.username=hboyina --kafka.producer.kerberos.realm=*.COM
Expected behavior
Jaeger Collector should connect with Kafka , if the Kafka has SASL_SSL Authentication
Version :
OS: [e.g. Linux] Rhel
Jaeger version: 1.22
Deployment: Docker

SASL_SSL is how kafka describes a network listener (SASL authentication with SSL transport). The SASL mechanism is defined via the sasl.enabled.mechanisms broker property. Possible values supported by Sarama are OAUTHBEARER, PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 and GSSAPI. From your jaeger cmdline args it looks like you are trying to use GSSAPI (Kerberos)?
In the future, when raising issues, please use the provided issue template that is shown on the New issue page as that helps you provide us with version and configuration information as well as client-side debug logs. As a minimum we'd need to know what version of Sarama client is being used and what your backend Kafka cluster configuration looks like

thanks @dnwe for the reply ,  sasl.enabled.mechanisms will be asked as --kafka.producer.plaintext.mechanism by Jaeger , by default the value will be PLAIN , as i haven't specified this property it is PLAIN , now even i have tried by specifying the property as GSSAPI but still the error is same
   In the future, when raising issues, please use the provided issue template that is shown on the New issue page as__

sorry , sure will follow the same

I'm going to close this as assumed to have been fixed, as from the last comment it sounded like the broker configuration wasn't matching the client configuration. Please re-open if this is not the case


bpf: host: sanitize whole skb->cb in to-netdev

We can't trust the cb if a packet passed through the network stack. Instead of selectively clearing cb slots, just clear the whole array.

/test


run-docker.sh has Pip dependency conflict on wsl2 ubuntu 22.04

Prerequisites
Please make sure to check off these prerequisites before submitting a bug report.

[√] Test that the bug appears on the current version of the dev-branch. Make sure to include the commit hash of the commit you checked out.
[√ ] Check that the issue hasn't already been reported, by checking the currently open issues.
[ ] If there are steps to reproduce the problem, make sure to write them down below.
[ ] If relevant, please include the ONNX files, which were created directly before and/or after the bug.

Quick summary
I used the main branch of this repo.
I just run the ./run-docker.sh notebook  on my wsl2 ubuntu 22.04,and this error occurs.
Found Vitis HLS at /mnt/d/xilinx//Vitis_HLS/2023.1
Traceback (most recent call last):
  File "/opt/conda/bin/jupyter-notebook", line 5, in <module>
    from notebook.app import main
  File "/opt/conda/lib/python3.8/site-packages/notebook/app.py", line 9, in <module>
    from jupyter_server.base.handlers import JupyterHandler
  File "/opt/conda/lib/python3.8/site-packages/jupyter_server/base/handlers.py", line 23, in <module>
    from jupyter_events import EventLogger
  File "/opt/conda/lib/python3.8/site-packages/jupyter_events/__init__.py", line 3, in <module>
    from .logger import EVENTS_METADATA_VERSION, EventLogger
  File "/opt/conda/lib/python3.8/site-packages/jupyter_events/logger.py", line 13, in <module>
    from jsonschema import ValidationError
  File "/opt/conda/lib/python3.8/site-packages/jsonschema/__init__.py", line 13, in <module>
    from jsonschema._format import FormatChecker
  File "/opt/conda/lib/python3.8/site-packages/jsonschema/_format.py", line 11, in <module>
    from jsonschema.exceptions import FormatError
  File "/opt/conda/lib/python3.8/site-packages/jsonschema/exceptions.py", line 14, in <module>
    from attrs import define
  File "/opt/conda/lib/python3.8/site-packages/attrs/__init__.py", line 3, in <module>
    from attr import (
ImportError: cannot import name 'AttrsInstance' from 'attr' (/tmp/home_dir/.local/lib/python3.8/site-packages/attr/__init__.py)

I have the same attr library issue. I could not solve it. https://github.com/Xilinx/finn/discussions/889

@gb16001 and @canxin121 Check #870 , we used dev branch for this issue and it solved.

it works for me, thanks a lot


Cannot execute an object member function call from Lua

Hi.
I have exported a class, its methods and the class' instance to Lua using the following example: http://sol2.readthedocs.io/en/latest/tutorial/cxx-in-lua.html
Here is how I did it: https://github.com/kornerr/cpp-callback-script/blob/master/main.cpp#L58
The script is a single line: env:call("module", {"One", "Two"})
However, I only get "Segmentation fault".
Any idea what I'm doing wrong?

{"One", "Two"} is a table. const Strings& is a std::vector<std::string>. C++ containers are not automatically serialized as tables unless explicitly requested., due to Long Standing Issues and Lots of Bikeshedding™.
If you would like sol2 to recognize something as a table, you need to wrap the arguments with sol::as_table or sol::nested, as demonstrated in this example.
Specifically, you can add a call to your binding that looks like:
void runSol(Environment *env, const char *fileName)
{
    sol::state lua;

    // Register environment instance.
    lua["env"] = env;
    // Register environment class.
    lua.new_usertype<Environment>(
        "Environment",
        "addClient", &Environment::addClient,
        "call", [](Environment& env, const String &key, sol::as_tableStrings> strings) {
            const Strings& values = strings;
            env.call(key, values);
        }
    );
    // Load and execute script.
    lua.script_file(fileName);
}

Thanks. That worked fine.


Spaces are added to empty for

-        for (;;)
+        for (; ; )

Similar:
-                for (size_t i = 0; i < se.len;)
+                for (size_t i = 0; i < se.len; )


Support DNS lookup in psinode config

This is especially helpful when, for example, we are running psinode inside a docker container and the host machine browser isn't the loopback address, so we need to configure psinode to authorize host.docker.internal for admin access

We solved the immediate problem in a different way (it turns out that looking up host.docker.internal doesn't work). Relying on DNS for a security check is risky.


Question: How to pass enum from external library to dart?

In the external crate I have enum that wraps structs from that crate. Can I mirror it to pass this enum between dart/flutter and rust?
Here is repo with an example that imitates external crate structure in external_lib folder. Basic idea is to have enum TransformedText for possible transformations represented by PrefixedText and SufixedText structures. To use this enum in dart I tried mirror it here but in generated code I have following error:
error[E0599]: the method `into_dart` exists for struct `external_lib::PrefixedText`, but its trait bounds were not satisfied
   --> rust/src/bridge_generated.rs:229:77
    |
229 |             TransformedText::Prefixed(field0) => vec![1.into_dart(), field0.into_dart()],
    |                                                                             ^^^^^^^^^ method cannot be called on `external_lib::PrefixedText` due to unsatisfied trait bounds
    |
   ::: /home/edyta/Pracka/frb_enum_problem/external_lib/src/lib.rs:50:1
    |
50  | pub struct PrefixedText {
    | -----------------------
    | |
    | doesn't satisfy `_: flutter_rust_bridge::IntoDart`
    | doesn't satisfy `external_lib::PrefixedText: Into<DartCObject>`
    |
    = note: the following trait bounds were not satisfied:
            `external_lib::PrefixedText: Into<DartCObject>`
            which is required by `external_lib::PrefixedText: flutter_rust_bridge::IntoDart`
            `&external_lib::PrefixedText: Into<DartCObject>`
            which is required by `&external_lib::PrefixedText: flutter_rust_bridge::IntoDart`
            `&mut external_lib::PrefixedText: Into<DartCObject>`
            which is required by `&mut external_lib::PrefixedText: flutter_rust_bridge::IntoDart`

and analogous error for SufixedText.
Is it possible to pass this enum between dart/flutter and rust? Any tips on how to do this?

Hmm I suspect it is a bug. (For example, a quick guess, maybe need to modify the codegen so it generates mirror_PrefixedText not PrefixedText?)
/cc @Unoqwy who implemented this great feature
You are also welcomed to make a PR!

one could probably simplify it to this:
impl support::IntoDart for SummaryObjectAFibV1 {
    fn into_dart(self) -> support::DartAbi {
        mirror_SummaryObjectAFibV1(self).into_dart()
    }
}

for now, for anyone having this issue here is the py code, but make sure to replace "Summary" with whatever u have to identify the objects else you will mirror everything:
implementations = []

# Open src/bridge_generated.rs for reading
with open("src/bridge_generated.rs", "r") as f:
    # Read each line in the file, if a line contains "impl support::" and "for mirror_SummaryObject" then add the line to the implementations list
    for line in f:
        if "impl support::" in line and "for mirror_SummaryObject" in line:
            implementations.append(line)

code_chunks_to_add = []
for implementation in implementations:
    # If the implementation contains "IntoDartExceptPrimitive" then add the same line to the code_chunks_to_add list
    # but remove "mirror_" from the start of the struct name
    if "IntoDartExceptPrimitive" in implementation:
        code_chunks_to_add.append(implementation.replace("mirror_", ""))
        continue

    # If the implementation contains "IntoDart" then
    if "IntoDart" in implementation:
        # Get the struct name from the implementation
        struct_name = implementation.split("mirror_")[1].split(" ")[0]
        # Add the code chunk to the code_chunks_to_add list
        code_chunks_to_add.append("""
impl support::IntoDart for {struct_name} {{
    fn into_dart(self) -> support::DartAbi {{
        mirror_{struct_name}(self).into_dart()
    }}
}}
""".format(struct_name=struct_name))
        continue

# Open src/bridge_generated.rs for appending
with open("src/bridge_generated.rs", "a") as f:
    # Write the code_chunks_to_add list to the file
    f.write("".join(code_chunks_to_add))

@alexthe2 basically speaking, you are writing down a (small) code generator while flutter-rust-birdge itself is a (big) code generator ;) thus, it would be great to directly fix the bug

@alexthe2 basically speaking, you are writing down a (small) code generator while flutter-rust-birdge itself is a (big) code generator ;) thus, it would be great to directly fix the bug

Ok, but then is the official way to just duplicate the Intodart? Because it seems to be a sketchy fix

@alexthe2 Feel free to PR and see what CI thinks :) If CI is happy (i.e. does not break anything else) then I guess that is reasonable.


Altering and Adding Flow types in types.js

With reference to issue #2052 ,the following changes were made to types.js

Flow types were added to routes in NavigationState
Flow type of NotificationCommon.content_truncated was changed from string to boolean
Obsolete code referring to sender_domain had been removed.

The comments below give a detailed description of the commits made and the purpose behind them.

Travis CI build passed with no Flow or eslint warning while maintaining the same coverage.

Tried adding types to LocalizableText. The changes were flagged by Travis Ci for issues regarding assignment of undefined incompatible with either of the types so reverted back by 2 commits.
Currently Flow type was added only to NavigationState.
The Previous stats still hold good.
Hope the code submitted is up to the standards of the organization (^_^)
I'll highly value any advice you give and make changes accordingly. Thank You.

Changed type of NotificationCommon.content_truncated from string to boolean as commented out next to it.
Travis CI build passed showing no errors with the code or the format with coverage remaining same.
As of now, Flow type was added to NavigationState and a Flow type was replaced with a better alternative for NotificationCommon.content_truncated

Flow type of EventReaction.user which was previously defined as any, was changed to string

It was known that params was an object but I failed to understand what it contained so i ended up using Object as the type. On further study, i realized it only contained only a single field, that was narrow.
Again type of narrow was unknown. The type of narrow was determined after going through src/message/fetchActions.js where the type of narrow was specified as Narrow.

Hi @flowkraD !
These look like good changes -- I'd like to merge them. But I see you've closed the PR and deleted your fork, so I'm not sure if you'd be unhappy with that.
Do you mind if I go ahead and merge these changes?
There's a few things I'd edit in them before merging -- I'd be glad for you to do these, but if you're not familiar with git rebase -i I'm happy to:

Drop the LocalizableText changes and the revert of them; no need to include the changes when ultimately we don't actually change anything.
Squash together the three NavigationState changes. They're easiest to understand that way.

Hello @gnprice , this felt a bit cluttered to me and the last commit had a merge conflict. I am working on a separate PR for these changes. You can hope for a pull request shortly.


feat(tutorial): complete step 5

https://carbon-tutorial-vnderlev.mybluemix.net/

Hi 👋 thanks for finishing the Carbon tutorial. Per instructions in the tutorial step 5, please include your mybluemix.net URL for your deployed app in your pull request description.

Here is the link: https://carbon-tutorial-vnderlev.mybluemix.net/
Thanks!


Hey, are we expecting future version updates here ?

What are you referring to exactly?

What are you referring to exactly?

I just want to check if there are any new version release plans are there for this package, as I see there have been no new updates in the last 2 years.

And I have one question though
$rateLimiter = new RedisRateLimiter(Rate::perMinute(100), new Redis());
When I tried this it throws an error and says the first parameter should be the Redis instance. can you please explain a bit about what I am doing wrong here?

Which version of the library you're using? There were certain changes and BC breaks in the latest, 3.0.0 version.

"nikolaposa/rate-limit": "^2.2"

Your example uses v3.0 syntax.


Fix search issue for skills when multiple keywords are used

Multiple keywords in a single skill were not recognised, now fixed

Codecov Report

Merging #160 (1c46603) into master (c809c5f) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #160      +/-   ##
============================================
+ Coverage     70.90%   70.97%   +0.07%
- Complexity      538      540       +2
============================================
  Files            88       88
  Lines          1636     1640       +4
  Branches        186      186
============================================
+ Hits           1160     1164       +4
  Misses          421      421
  Partials         55       55

Impacted Files
Coverage Δ

...icant/ApplicantContainsSkillKeywordsPredicate.java
92.00% <100.00%> (+1.52%)
:arrow_up:

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 c809c5f...1c46603. Read the comment docs.


schema definitions of type array fail validation

I use 'type: array' json schema to represent typed array responses from my API.
Schema validation chokes on this (and swagger-ui needs to render them correctly too)
{
	"level": "error",
	"domain": "validation",
	"keyword": "type",
	"message": "instance type (array) does not match any allowed primitive type (allowed: [\"object\"])",
	"schema": {
		"loadingURI": "http://swagger.io/v2/schema.json#",
		"pointer": "/definitions/schema"
	},
	"instance": {
		"pointer": "/definitions/required"
	}
}

Unfortunately, I can't do much with this without a sample.


fix: replace ToBytes calls with CanonicalSerialize

Requires: https://github.com/AleoHQ/snarkOS/pull/248 and https://github.com/AleoHQ/poly-commit/pull/2

Superseded by https://github.com/AleoHQ/marlin/pull/3


Feature Request: endpoint to pull environment

Situation
It would be beneficial to have an endpoint that returns the containers environment as a JSON object
There is a use case for this in for instance testing multi-backend routing (like canary deployments or blue/green deployments), it would be good to know when hitting the backend things like the hostname and any other identifying information that can be injected into the container to understand different patterns

I had some time, feel free to close the PR if you are not happy with it :smile:

Hey @Spazzy757, ensuring that I understand your use case, can you share how you're running Httpbun? Like, do you have multiple containers of Httpbun, as part of a larger docker-compose.yml file? If yes, can you give a minimal sample of this please? I'm just trying to understand the problem better, before I start to have an opinion on the proposed solution. 🙂
Thanks for reaching out, by the way. 🍻

Hi!
Yes we are currently using it in in Ingress Nginx for E2E testing as well as for our examples, there are some places we use echo server but I would like to migrate over to http un but we use echo with some env variables
https://github.com/kubernetes/ingress-nginx

I can get some examples for you on Monday

Oh okay, got it. We already have a /info endpoint that returns the hostname of the container like this:
https://github.com/sharat87/httpbun/blob/c07406ab38f055691b5cc18ee0f5b7e0dbdc9a0e/bun/bun.go#L490-L499
But this is disabled by default.
https://github.com/sharat87/httpbun/blob/c07406ab38f055691b5cc18ee0f5b7e0dbdc9a0e/bun/bun.go#L97-L99
Would this solve this problem of identifying the source of the response? If not, we can add the env map to this endpoint itself, and, make it enabled by default. I'm not sure why I disabled this endpoint by default. 🤷

I think there are cases when we need things like the POD IP (https://kubernetes.github.io/ingress-nginx/examples/canary/) I did like the info endpoint, but felt it was missing some other networking info. For instance, we do some hackery where we are using multiple services with the same name across different namespaces, this makes the hostname useless as they will all be something like canary-xxxx but the IP address information will be unique and we need to validate we are hitting the correct IP address. I would be happy if you added some more info to the /info endpoint but even then it makes it a bit difficult for instance when we want to know the namespace of the pod we are routing to (we can inject this as part of the environment without to many issues) and maybe some other edge case information (i.e what node the pod is running on).

Hey, sorry for the delay. Yes, that makes a lot much more sense now. Let's add env variables. But, instead of /env, let's add a "env" field in the response of /info itself? Like:
{
  "hostname": "httpbun-pod-0",
  "env": {
    "COLOR": "red"
  }

Would that work? What say? If yes, would can you make this API change in your PR please?


add context-based requests processing

The PR add support for new type of tasks - context-based tasks.
Motivation. Some tasks and CoT strategies may require knowing the answer of the model for the previous question to form the current request. Till now it is impossible to implement such tasks without changing evaluator.py (or models/*.py file) which leads to inability to use lm-evaluation-harness as an external library (user cannot directly pass new evaluator.py instead of the default one while running the task). This PR changes it.
How it works. All requests are split into two meta-groups: regular tasks and context-based tasks. Each group is processed separately. No changes in processing regular tasks. For context-based tasks after preparing requests each request is updated, processed through the model, the external storage is updated. If no context-based tasks claimed, the loop for processing them is not accessed. So, the workflow for all existing tasks has not been changed.
Also, to encompass new functionality a new instance class is added: ContextInstance. It inherits from regular Instance and adds only two new methods: update_request that takes storage and request and does something to the request right before passing it into the model so that the changes are available with --log_samples flag. Old tasks that use Instance are not affected. New class is meant to avoid confusion between regular and context-based tasks instances.
To indicate that task is context-based the new attr is used. It shouldn't be False by defalut, as while running all tasks the presence of this attr and its value is checked. So, no changes needed to run existing tasks, no way old tasks will be run through a new loop.
All tests are passed successfully. No need in changes for different models. The only problem that may happen: each time while calling the model a new progress bar apears. This can be solved by merging #1569
Closes: #1432 #1537

@uanu2002

It is also important to define the behaviour of ConfigurableTask so that user could define context-based task with yaml file, isn't it?

I have added support for yaml tasks format. Now context-based task can be passed via task.yaml file. ContextInstance is called only for context-based tasks, that are defined by specific flag inside the task. Old tasks are not affected and use original Instance class.

@haileyschoelkopf is there anything I can do to enhance the PR and speed up the merging process? If there is anything I can add to make the PR look better, the code work more efficiently or avoid any confusion I will do it. I am open for ideas and comments :)

@haileyschoelkopf merged recent updates from main so that it was easier to review the changes I'm proposing

Left a comment about this PR and the feature in discord!

Some tasks and CoT strategies may require knowing the answer of the model for the previous question to form the current request.

is this primarily about multi-step / multi-round problems?

@StellaAthena hi! Yes, when first introducing this changes I was thinking about multi-step prompting things. Like described here: https://arxiv.org/pdf/2305.14279.pdf
But I wanted to make the solution more flexible to handle multi-round (like here https://arxiv.org/pdf/2311.07689.pdf may be).
The main idea is to let users define theirselves the number of steps/rounds, the insides of requests passing the result for the previous request to the current one.

This PR is designed to accomodate primarily different variants of multi-step and multi-round tasks. This way it suggests flexible functions to update the internal storage (keeps info about previous requests of the dataset) and to update the currect request (takes info from storage). With minor changes can close #1816 issue (need to envisage managing the amount of requests so that user can add more requests following some condition for it without affecting other context-based tasks).
I see it working this way. Eample of yaml task:
# download the task
task: dataset_y
dataset_path: dataset
dataset_name: dataset_name
# define that it is multiple-choice to compute log-probs
output_type: multiple_choice
# have only train and test splits
training_split: train
test_split: test
# new flag indicating it is context-based task
context_based: true
# methods used to update requests and storage
request_updater: !function utils._update_request
storage_updater: !function utils._update_storage
# for this task process_docs ensures the order of the instances
process_docs: !function utils.process_docs
# doc['instruction'] has place to put context inside
doc_to_text: "{{doc['instruction']}}"
doc_to_target: "{{outputs}}"
doc_to_choice: ["1", "2"]
target_delimiter: " "
should_decontaminate: false
process_results: !function utils.process_results
metric_list:
  - metric: acc
    aggregation: mean
    higher_is_better: true
metadata:
  version: 1.0

Examples of funcs:
def _update_request(storage, request):
    if not len(storage) and request.doc["meta"]["q_id"] != 0:
        print("No previous responses logged in storage!")
        return request
    if request.doc["meta"]["q_id"] == 0:
        # no update for first request
        update_ctx = ""
    else:
    # take context from storage
        update_ctx = storage["string"]
    # create new args for request to pass in lm and be logged in jsonl file
    new_pair = (
        request.arguments[0].replace(CONTEXT_PLACEHOLDER, update_ctx),
        request.arguments[1],
    )
    request.arguments = new_pair
    return request

def _update_storage(storage, request):
    # check that the set is over to clear storage
    if (
        request.doc["meta"]["set_id"] == 0
        and request.doc["meta"]["q_id"] == 429
        and len(storage["candidates"]) == 1
    ):
        dataset_ends = True
    else:
        dataset_ends = False
    # clear storage after dataset ends and return
    if dataset_ends:
        return {}
    # update storage only after running 2 choices for the same req
    storage.setdefault("candidates", []).extend([request.resps[0][0]])
    if len(storage["candidates"]) == 2:
        # decide on the answer
        res = ["1", "2"][np.argmax(storage["candidates"])]
        # get string that includes the context
        storage["string"] = storage.get("string", "")
        # update the previous context with the new one and answer
        storage[
            "string"
        ] += "\n{question}\n1. {choice1}\n2. {choice2}\nОтвет: {result}".format(
            question=request.doc["inputs"]["question"],
            choice1=request.doc["inputs"]["choice1"],
            choice2=request.doc["inputs"]["choice2"],
            result=res,
        )
        # discard storage each time all choices of req are passed
        storage["candidates"] = []
    return storage

@haileyschoelkopf i would gladly incorporate my ideas in existing lm-harness features!

@artemorloff I like the general idea but I'm missing some context here. Could describe a few types of tasks that would benefit from this type of evaluation (I've seen a recent issue that provided an example, but I'm wondering if there are other types of tasks that would benefit from this pattern) Any literature would be great as well.

@lintangsutawika thank you for reply! there emerging a lot of works and tasks that use multi-step/multi-round strategy. The goal is to allow users right now start creating these tasks and find surely existing ways to enhance it. Some examples of tasks and ideas using this strategy:

arithmetic task described here - https://arxiv.org/pdf/2305.14279,
CoT for benchmerk tasks with two-step questions [first model generates rationale, then final answer being prompted with prev generated rationale] - https://arxiv.org/pdf/2311.12022
even multi-round stuff like this (https://arxiv.org/pdf/2311.07689) can be done with a few changes in code [the idea is in regenerating the answer for the same request without adding new requests to the list - run as many rounds as one may want and update instance resps with maybe the last try or the most successfull one]
even quite hard things like this (https://arxiv.org/pdf/2402.08702v2) i guess may be done though lm-harness [this tasks of prompt tuning seems more multi-round then multi-step, but the idea is that one can even train something with harness if he manages to cover backward and step in post processing of each round]
same idea of CoT that makes a model to think on the task - https://arxiv.org/pdf/2403.14312v1 [originally a few llms "discuss" the task, in my realisation one model can judge in its own previous "thoughts"]

all this works refer to other works, so I think multi-step (round) reasoning is quite important and may allow for new tasks in LM-harness.

my PR introduces a quite straightforward approach to the issue. All such tasks are processed one-be-one to avoid possible problems with batches failing GPU memory, multiple batch size computations.
I believe lm-harness may be a good tool to conduct such researches to develop CoT resoning through multi-step (round) strategy.

@lintangsutawika pushed update from main to actualise PR. What do you think about it? Is there something I can provide or push to make this PR look better for merging?))

Thanks. @haileyschoelkopf and I will take a look after we wrap up out the Neurips Datasets and Benchmark deadline.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: artemorloff:x: Chervyakov ArtemChervyakov Artem seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Empty drop down of Filter shows up, for unauthorized user

Empty drop down for Filter shows up for unauthorized user

PR #534 merged. Closing this bug.


structorizer: 3.32-12 -> 3.32-14

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for structorizer is: Create Nassi-Shneiderman diagrams (NSD)
meta.homepage for structorizer is: https://structorizer.fisch.lu
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.32-14 in filename of file in /nix/store/xq0c0cwyc5v3f36l0h5mnyvzgbvj9c73-structorizer-3.32-14

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
structorizer

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/592a07d9d566e10c0a76431986a4331eb3959d1b#structorizer

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

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

1 package built:

structorizer

Maintainer pings
cc @auroraanna for testing.

Didn't see any things in the changelog that would require a change of the derivation.


Compound index returns empty list on uniqueKeys

I am trying to get the unique keys for a compound index and am running into some situations where there are no keys returned at all even when data is in the index.
The code I am using is relatively simple:
table
	.orderBy('[prop+nested.prop]')
	.and(function (item) {
		// some filter condition regarding timestamps
	})
	.uniqueKeys(function (keys) {
		// this will be empty in some (not all strangely) cases, even
		// when calling `keys` will yield results
	})

Unfortunately I have a hard time finding out why this only happens on some datasets and not all, so I cannot really provide a reproducible example right now. I might simply be doing something wrong.

To further illustrate what I am trying to do, this is what gives me the results that I expect:
table
	.orderBy('[prop+nested.prop]')
	.and(function (item) {
		// some filter condition regarding timestamps
	})
	.keys(function (keys) {
		var pairs = keys.map(function (pair) {
			return JSON.stringify(pair)
		})
		var uniqueKeys = _.unique(pairs).map(function (string) {
			return JSON.parse(string)
		})
		// this gives me an array of unique key pairs now that
		// match with what's in the database
	})

I think the issue could be that the filter (and() callback) would not have access to the entire item when the collection.keys() is being used. This is of course not as expected and should be solved within Dexie. When using keys(), primaryKeys(), eachKey(), etc, filters do not work as expected because Dexie uses a keysOnly mode on the cursor so it does not have the value to provide it to the filter callback. I think the bugfix I would need to do is to disable the keysOnly mode when a filter is applied.
One workaround would be to use toArray() instead of keys() and then map out the keys from the result. That would practically have the same performance as if the issue was solved. Maybe better actually, because the native IDBIndex.getAll() method will be used instead of using a cursor.
table
  .orderBy('[prop+nested.prop]')
  .toArray(values => values.filter(v =>
    v.timestamp > someThing // ... or you custom filter
  ));

I you want to be sparse on memory consumption, you might still want to use the and()/filter() method on the Dexie collection instead of filtering the entire array afterwards.
table
  .orderBy('[prop+nested.prop]')
  .filter(v =>
    v.timestamp > someThing // ... or you custom filter
  ).toArray();

Sorry, I missed your point: You need to get the unique combinations of [prop+nested.prop].
So, I think the and() filter is the problem anyhow. If you want all unique combinations of [prop+nested.prop] without filter, the solution would be table.orderBy([prop+nested.prop]).uniqueKeys(). But that specific feature of IDB cannot be combined with a filter unless you have the timestamp as part of the query
table.where([timestamp+prop+nested.prop])
  .above([someTime, -Infinity, -Infinity])
  .uniqueKeys()

Problem with that query is that every new timestamp would invalidate the uniqueness of [prop+nested.prop].
In your case, there might be a need for a unique() method on Collection (not uniqueKeys()). This would be possible with IDB, but the result may not be what you'd expect. For example if you'd have the following data:
[{
  id: 1,
  prop: 1,
  nested: {prop: 1},
  timestamp: "2017-01-01"
}, {
  id: 2,
  prop: 1,
  nested: {prop: 1},
  timestamp: "2019-07-03"
}]

A unique iteration on [prop+nested.prop] would only yield the first entry. If your filter checks that timestamp > "2019-01-01", the key will be filtered away because the unique iteration will only land on the first row (by primary key) of each unique key.
So maybe you will still end up having to check the uniqueness using underscore. Maybe you could use IDB index to filter the timestamp instead?

Thanks a lot for these super detailed insights, that helped me a lot in order to understand what is happening. I think adding the timestamps to the index(es) is a good idea anyways as basically all queries I do will be scoped to some timerange.
I'll try to see where it takes me and add it to this issue so others can find it too.

So I got my counting of unique keys in the compound index working in a good way by doing this:
function uniqueKeysAt (index) {
  return function (keys) {
    return _.unique(keys.map(function (pair) {
      return pair[index]
    })).length
  }
}

var uniqueNestedProps = table
  .where('[timestamp+nested.prop]')
  .between([lowerBound, Dexie.minKey], [upperBound, Dexie.maxKey])
  .keys(uniqueKeysAt(1))

which feels ok from an API perspective as well as from a performance one. Thanks for your input on this.


⚠ Bofrost.be has degraded performance

In 7431a12, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 946 ms

Resolved: Bofrost.be performance has improved in 9fac76b.


Add ability to set a limit of total series/samples per scrape config

Proposal
Add ability to set a limit of total series/samples per scrape config. This would override any sample_limit set per scrape config target and set the limit of series instead proportional for each scrape target. This would be an optional field, so would be compatible with any current configuration. (Also exposing this value as a metric to potentially alert on this with the scrape_samples_scraped metric, might be a good idea.).
Feedback or alternative ideas welcome! :)
Use case. Why is this important?
Due to the dynamic nature of service discovery, it’s practically impossible to do accurate capacity planning, having an overall limit regardless of the number of scrape targets would be very helpful from an admin perceptive to prevent any accidental bad actor by limiting the number of ingested series.

Possibly a duplicate of https://github.com/prometheus/prometheus/issues/2137

This would only really make sense when targets within a scrape config are homogeneous, otherwise you have to set it so high to allow for a smaller number of massive targets that it'd not be of much use. Given that such a thing is likely niche I can see this causing more outages and confusion than cases where it'd help.

(Also exposing this value as a metric to potentially alert on this with the scrape_samples_scraped metric, might be a good idea.).

Let's not add more samples to be ingested on every single ingestion. The fact that up is 0 would be enough.

Possibly a duplicate of #2137

This builds on that.

@brian-brazil thanks for the feedback!

Given that such a thing is likely niche I can see this causing more outages and confusion than cases where it'd help.

Curious about the outage part, can you elaborate a bit more on that, thanks! Our actual use case would be in prometheus-operator, where we have homogeneous targets, and I sure there are other users who do it in the same way.

Let's not add more samples to be ingested on every single ingestion. The fact that up is 0 would be enough.

So that would already signal we stopped scrapping, I would like an alert that is warning saying you are about to hit your total limit of series/samples per target. But maybe this is an additional use case, more of a informational one, but goes hand in hand with the capacity planning aspect (you inform users that they should do something before the scrapping fails.)
I am trying to somehow limit the series/samples a scrape config can produce from an admin perspective, maybe limiting the number of targets would be another option?

Curious about the outage part, can you elaborate a bit more on that, thanks!

Both false positives and negatives could result in an outage, and taking out an entire scrape_config may not be what users expect/realise is the only way this could work.

But maybe this is an additional use case, more of a informational one, but goes hand in hand with the capacity planning aspect

You already have the target labels on scrape_samples_scraped to work off.

maybe limiting the number of targets would be another option?

That also came to mind, less math for users. In reality that's what the original proposal is limiting.

That would work, thanks! We can expose the limits in prom-operator as well and create alert based on the labels, thanks!

That also came to mind, less math for users. In reality that's what the original proposal is limiting.

Yes, my thinking as well here. Would this be something that Prometheus would consider having? Should I go ahead and update this issue here or close and open a new one?

And also how would that work?
It seems that would bring flapping scrapes that would be hard to debug
Job total limit: 4000
target1: t=1s 1000 t=5s 800 t=9s [1000]  t=13s 1000 t=17s 1000 t=21s [1100]
target2: t=2s 1000 t=6s 1000 t=10s 1000 1=14s 1100 t=18s 1000 t=22s 2000
target3: t=3s 1000 t=7s 1000 t=11s 1000 t=15s 900 t=19s [1100] t=23s [9000]
target4: t=4s [1100] t=8s 1100 t=12s [1100] t=16s 1000 t=20s 2000 t=24s 1000

@roidelapluie are you referring to introduction of the limit of total series/sample or the new suggestion of limiting the number of targets?

We already have that with sample_limit, and if your limit is that close to the actual value then you're already asking for trouble.

The idea seems sane, the question for me is mainly if users would end up using it and not realising that the only way such a thing could sanely work is basically disabling entire scrape configs at once.

We would be interested in using this in prometheus-operator, but I am not sure if one use case is enough here?

I wouldn't consider the operator itself as a use case, as it's your users who would have the use case.
My concern would be more if this ends up as an attractive nuisance, as using this correctly would be non-trivial - though fairly simple for the operator.

I recall from the last prometheus team meeting, that there seemed to be consensus on having this, or some version of this.

Oh I was not aware this was agreed to be implemented until Frederic told me, was not clear to me from above conversation. Is it not possible to contribute if I open an issue? Or how should I approach this in the future if I want to contribute? 🤔 In any case happy to see there is an PR for this, but still wish I could help out with the actual work :)

It is of course possible to contribute if you open an issue, and based on the above conversation I was expecting that you'd send in a PR. Someone else has sent in a PR in which is under active review, however you can if you wish assist in the code review and there is at least one open design question (do we treat hitting this as a failed scrape) where your input would be useful.

Thanks, was not clear to me, just wanted to know when I should contribute after opening an issue so I know for next time. :)
Will have a look at the PR! 👍


Problem loading image with last version OHIF (with react-cornerstone-viewport 4.0.5)

Hi,
I tried the new version. I produced my version like this:
yarn config set workspaces-experimental true
yarn install --force
yarn build
I run dist with apache (and rewrite mod) or nginx (same problem)
I kept server.dcmjs.org for test.
This screenshot show problem

Thanks for help

I have similar issues with TCIA data.

I ran into the same issue.
It happens with some CT studies served from the latest version of DCM4CHE, when I tried using a different DCM4CHE server running an older version (5.22.4-secure) the same studies loaded just fine 😕
Will verify tomorrow but maybe something changed in the way DCM4CHE serves CT studies which breaks cornerstone.

Please review the latest code in the master branch. This issue might have been resolved. If it persists, kindly reopen the issue with updated details.
Try viewer-dev.ohif.org instead of viewer.ohif.org
Could you kindly provide the data if it has been anonymized and you can confirm that there is no patient health information present in any of the headers or embedded within the pixel data?
Our viewer.ohif.org is deployed from release branch while viewer-dev.ohif.org is our master  branch
Read more about branch explanations here https://docs.ohif.org/development/getting-started#developing


Fix zoneCleanup state not working

Vacuum was leaving the dock, saying "Zonecleanup finished" and returning back to the dock without cleaning the specified area..

This PR is fixing #35

Thank you!


Invalid authentication when add Tapo C210 camera

Description
Cannot add Tapo C210 camera with 1.3.11 firmware into integration. Error occurs:
Invalid authentication data. Make sure you have created your 3rd party account via Tapo app. You can also test if these credentials work via rtsp stream, for example VLC using link rtsp://username:password@IP Address:554/stream1
iOS application update to the latest version and Third-Party Compatibility is enabled
Checked RTSP with credentials and stream is working
Reproduction Steps

Go to Settings
Go to Devices and services
Click Add integration
Choose Tapo: Cameras Control
Set camera's IP, port 443
Click next
Insert camera account
Error occurs

Expected behavior
Camera is added to integration
If applicable, add error logs.
No response
Device Firmware
1.3.11
Integration Version
6.0.1
Using stream component
Yes
Does camera work via official integrations?
Yes
Camera has all attributes filled out in developer tools
Yes
HASS Environment
virtual machine on QNAP
Search for similar issues
Yes
Additional information
No response

same for me for a C100 and a C200 camera.
Also when leaving the cloud password field empty (as the description says you can leave it blank if you do not need recordings) i get an error that this field is required.
Maybe this field is not marked as optional ?
best regards,
godot

you need cloud password for control on the most recent firmwares.
if rtsp check is failing (the account part) follow faq, also check logs for any errors related to that


WIP handwritten properties

This is a work in progress list of properties for the Shelley ledger. We can add it to the latex spec when it's ready.
#776

Agreed. OK for Circulation and Deposits to decrease?

yes! if I send you ADA, I pay a fee and circulation decreases.

Agreed. OK for Circulation and Deposits to decrease?

yes! if I send you ADA, I pay a fee and circulation decreases.

Maybe be explicit about this? Can help with understanding :)

From the Jormundgandr docs:
Transaction have fees that are defined by the blockchain settings and the following invariant hold:
∑Inputs=∑Outputs+fees
∑
I
n
p
u
t
s
∑
O
u
t
p
u
t
s
+
f
e
e
s
Transaction need to be authorized by each of the inputs in the transaction by their respective witness. In the most basic case, a witness is a cryptographic signature, but depending on the type of input can the type of witness vary.

Consistency property for boundary case. Is there some property on minimal return of rewards too (was discussing this with Polina yesterday)? Will a live system always return some reward?

There are a couple ways a stake poor can fail to get any rewards, namely not meeting the pledge and also failing to produce blocks.

"nearly" - be formal about this, e.g. define a term and show that it is satisfied. Is it still possible to make future progress from this state? Is there some kind of rebooting, or would the genesis key holders need to e.g. delegate?

Sorry, yes, what was meant by "nearly" was what was explained next, namely that the named maps are empty and that the cs map has size num-genesis-nodes.  I will make this clearer.
The system can indeed make progress from this state, it just requires folks registering stake keys and stake pools.

the number of something times the Blocksmade mapping? Or a sum of something?

good catch! it is the sum of the values in the Blocksmade mapping. thanks!

The Praos doc suggests that each transaction will produce at least k blocks. Am I misunderstanding something?

Would you be able to point me to a particular paragraph/page in the Praos spec?

But if a pool meets those conditions will it receive a minimum guaranteed deposit?
Sent from my iPhone

On 17 Sep 2019, at 17:49, Jared Corduan<EMAIL_ADDRESS>wrote:
"nearly" - be formal about this, e.g. define a term and show that it is satisfied. Is it still possible to make future progress from this state? Is there some kind of rebooting, or would the genesis key holders need to e.g. delegate?
Sorry, yes, what was meant by "nearly" was what was explained next, namely that the named maps are empty and that the cs map has size num-genesis-nodes. I will make this clearer.
The system can indeed make progress from this state, it just requires folks registering stake keys and stake pools.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

But if a pool meets those conditions will it receive a minimum guaranteed deposit?

I think it is still possible to get no rewards. You could pledge zero, have no stake, and get no delegations :) or if the monetary expansion is small, and there were little/no fees, due to rounding you could get nothing.

Ok. That would come out through the types.
Sent from my iPhone

On 17 Sep 2019, at 18:54, Jared Corduan<EMAIL_ADDRESS>wrote:
But if a pool meets those conditions will it receive a minimum guaranteed deposit?
I think it is still possible to get no rewards. You could pledge zero, have no stake, and get no delegations :) or if the monetary expansion is small, and there were little/no fees, due to rounding you could get nothing.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.