Better process for reducing, reviewing, and locking down dependencies

I really like what you've done with this library, and would really like to use it to replace some hand-rolled crypto I wrote. My biggest concern however is how to verify the build.
If I am not mistaken, the current build process involves at least 1251 unique packages, any of which could potentially subvert the build.
However, fortunately the vast majority of those libraries have no purpose outside of development. I propose that the dependencies are split between those that are essential for reproducing a build, and those for developer convenience.

Thanks for opening this issue @madeken! I'm closing #19 in favor of this issue, since you've described some of the concerns really well here.
I'm hoping to work out a process for really locking down dependencies for this project and make it easier to review dependency updates. I also really like the idea of isolating the "build" dependencies from other development related ones (e.g. testing infrastructure). Have you seen this in any other projects? Any recommendations for how we should go about implementing that here?


use correct option in readme: skip_tags -> skip_tag

Hi there!
It appears the primary maintainer is currently preoccupied and hasn't been responding (https://github.com/windwp/nvim-ts-autotag/issues/163#issuecomment-2107013155). Not a dig against them, they've provided a great plugin at no charge.
In the meantime, I'll be maintaing a fork until they're back @ https://github.com/PriceHiller/nvim-ts-autotag/.
I may be incorporating your PR at that repository. If you have any issue with me doing this, please let me know 🙂.

Hello! Since my last comment, I've now become a maintainer to help out in this repo. This was merged into main as a co-authored commit from my fork as part of #173.
Commit can be found here: https://github.com/windwp/nvim-ts-autotag/commit/d635afb54615c14da58ed2969e54320f014c98cd
I'll be closing this out, please ping me if it shouldn't have been closed.
Thanks!


[Indexing] Fix #43 & Copy DataFrame for view

What do these changes do?
Replace PR #45. This PR make less breaking changes.

Related issue number
#43

[x] passes git diff upstream/master -u -- "*.py" | flake8 --diff

df.iloc[0:5, :] is going to be "Dataframe View". And the repr for this is currently broken. It will take some time to fix it.

@devin-petersohn done!


Update an account in the service

As a developer
I need Update an account in the service
So that the information is up to date
Details and Assumptions
* [document what you know]

Acceptance Criteria
gherkin
Given [some context]
When [certain action is taken]
Then [the outcome of action is observed]


Block type indication and ordering rules (fixed or repeating) not in JSON schema

This might be a misunderstanding on my part but I need some clarity on something.  In the XML schema, every block had a type which defaulted to fixed.
When you look at a model like 132 (volt-watt curve) it is very obvious how it works:

a 10-word fixed block
followed by a repeating list of curves

The JSON equivalent of that isn't like that.  Its structure is:
   group: {
      groups: [
         /* one group, which describes what a curve looks like */
      ],
      points: {
           /* description of the fixed block
      }
    ]
  }

I find this far, far more confusing and am wondering if somebody can set the record straight on how to generate code implementations based on this structure.  The implication as I understand it is that the group.points is the start of the model (in register space), and that the group.groups[] follow that.  I don't know if "L" includes the length of the entire thing (fixed + repeating), or do I have to look into the repeating block(s) to determine and follow their lengths.  I think it's implied that the group named 'curve' is meant to be a repeating block, and as such, it must appear at the end.
To me, many of these rules aren't obvious, and the json schema doesn't tighten them down.  You need outside semantics to understand what is going on.  With the XML it was more obvious to me... the only "outside informatino" I felt I needed was the knowledge that repeating blocks must follow the fixed block.
Can somebody help me tighten up my understanding of this?  Then, following that, I want to start a discussion on what we do about supporting code generation.  For simple models it is easy, for these tables less so.
I know there is a lot to unpack here.  Sorry.

Here are the semantics of the definition content:
A group can contain a set of 0 or more points and a set of 0 or more groups. Points come before groups in any context where there is a concept of order such as Modbus.
Models have a single top-level group that represents the model content.
All models start with an ID point and L point in the top-level group. The L point contains the remaining length of the model in any context where length has meaning such as Modbus.
The group ‘count’ attribute indicates if the group repeats. The following cases apply for repeating group count:
If the value of count is 0, it is a legacy model where the number of repeating instances of the group are calculated by using this formula: ( L – points length)/group length. In the legacy case, the group can only contain points and no groups.
If the value of count is a number > 0, there are always that many instances of the group in a model instance.
If the value of count is a point name in the top-level model group, the number of group instances in the model instance is contained in the point for that model instance.
I don’t think any of these usage semantics can be represented in the JSON schema. All these statements are in the SunSpec Device Information Model Specification but perhaps they should be restated together in this way to make it clearer.
Does this clarify it for you, or are there still pieces missing? Is there a way to express this better to make it more clear?

I meant to emphasize that the contents of the L point is the remaining length after the L point.

I meant to emphasize that the contents of the L point is the remaining length after the L point.

Just to be certain, this means the length of ALL of the components of this model including the fixed block, and n * repeated blocks (or groups or whatever you call them), correct?  Put in alternative terms: you can look at the current address, plus L and you'll find the Model ID of the next model down?  I'm pretty sure that's the case because experimentally I was able to walk all the models on an SMA SB-3.0 US and get results that generally make sense:
Found model 1 len 66 -- common model
Found model 11 len 13 at 40070 – information about the ethernet interface
Found model 12 len 98 at 40085 – information about the IP networking layer
Found model 102 len 50 at 40185 – split-phase inverter monitoring, integer data
Found model 120 len 26 at 40237 – nameplate ratings
Found model 121 len 30 at 40265 – basic settings
Found model 122 len 44 at 40297 – extended measurements and status
Found model 123 len 24 at 40343 – immediate inverter controls
Found model 124 len 24 at 40369 – basic storage controls
Found model 126 len 64 at 40395 – static volt-var arrays
Found model 127 len 10 at 40461 – parameterized frequency/watt parameters
Found model 128 len 14 at 40473 – dynamic reactive current curve
Found model 131 len 64 at 40489 – watt-powerfactor curve
Found model 132 len 64 at 40555 – volt-watt curve
Found model 160 len 128 at 40621 – mppt
No more models

I don’t think any of these usage semantics can be represented in the JSON schema.

I agree.  I don't think there is, either.  I can't really think of a great way to improve this.  You could put back an attribute fixed or repeated that might make it more obvious the intent there, because the understanding that repeated blocks come after fixed blocks is prior knowledge you already have to possess.

If the value of count is 0, it is a legacy model where the number of repeating instances of the group are calculated by using this formula: ( L – points length)/group length. In the legacy case, the group can only contain points and no groups.

Let me pick on model 132 again as my example:
{
    "group": {
        "desc": "Volt-Watt ",
        "groups": [
            {
                "count": 0,
                "name": "curve",
                "points": [
                    { ... }
                ]
           }
       ]
   }
}

Count is 0.  The 'groups' has one 'group' which contains only points.  So in addition to what you said, is it true that the outer list of groups must contain exactly one entry (one group) an an additional rule?
In this specific example, the fixed block contains two parameters - Ncrv and Npt - that also give you some information here, so the way I interpret this is that ( L – points length )/group length  is giving me an overall length, but to figure out the geometry (i.e. it's 1 table of 20 points, or it's 4 tables of 5 points each) I really need to look at Ncrv and Npt ?  The trouble with that is just that you have to have knowledge in order to be able to generically parse.  (In my case I'm parsing to generate code, but I think the same rules apply even if you're trying to parse to a Map<String,Object>)
Does it seem like I have all of this right?

You are expressing the usage of the contents of the L point correctly. For SunSpec Modbus, the ability to locate each of the models in the way you describe is the foundation for finding specific content in SunSpec Modbus maps that vary across implementations due to different models being present with different ordering.
The only time the contents of points should be used for model length determination is when they are specified in the model definition as containing the group count. In the case where the group count is set to 0 in the definition, only the formula should be used to determine model length: ( L – points length )/group length.
The “legacy” models that use the count = 0 mechanism have always been required to allocate all the space in the Modbus register map based on that formula. This was one of the issues with the previous modeling. In model 132, for example, for each curve instance supported needs to allocate the Modbus registers for 20 points, even only if 2 point are used. The NCrv and NPt points in those cases are indications of what curves and points are being used out of the ones present in the Modbus map. The NCrv and NPt points in those cases may not necessarily relate to the actual model instance length.


Push basic functionality to production

Users can:

Register
Log in
Update their profile
Change their password
Add and update their children's records
Define what relationships they have with their children
View their children's records

Staff can:

Update children information
Add or update children's temperature records
View all children's temperature records

Pull Request Test Coverage Report for Build 974541533

631 of 682 (92.52%)  changed or added relevant lines in 25 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-4.3%) to 95.652%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

records/models.py
17
18
94.44%

children/models.py
43
46
93.48%

accounts/models.py
16
22
72.73%

records/views.py
32
39
82.05%

accounts/views.py
36
50
72.0%

children/views.py
77
97
79.38%

Totals

Change from base Build 959770899:
-4.3%

Covered Lines:
1122

Relevant Lines:
1173

💛  - Coveralls


trans rights are human rights

Tested versions
trans rights are human rights
System information
trans rights are human rights
Issue description
trans rights are human rights
Steps to reproduce
trans rights are human rights
Minimal reproduction project (MRP)
trans rights are human rights

Being a piece of software, Redot does not have any human rights nor gender.

Tested versions
trans rights are human rights
System information
trans rights are human rights
Issue description
trans rights are human rights
Steps to reproduce
trans rights are human rights
Minimal reproduction project (MRP)
trans rights are human rights

People like you are the most toxic individuals. Who do you think cares about what you like to shove up yours? What exactly makes you think it's acceptable social behavior to use a game engine or git as an outlet of your perversion or political views?

  If Godot was pushing my beliefs and banning people if they don’t follow I would still go to Redot.

Tested versions
trans rights are human rights
System information
trans rights are human rights
Issue description
trans rights are human rights
Steps to reproduce
trans rights are human rights
Minimal reproduction project (MRP)
trans rights are human rights

People like you are the most toxic individuals. Who do you think cares about what you like to shove up yours? What exactly makes you think it's acceptable social behavior to use a game engine or git as an outlet of your perversion or political views?

If You do not care Why the Creator of the projects is so Openly anti-trans?

even get a side with the fake news over Imane

Believe that trans is an ideological conspiracy.

If You do not care Why the Creator of the projects is so Openly anti-trans?

Because he's based, people don't like hearing the truth.

Tested versions
trans rights are human rights
System information
trans rights are human rights
Issue description
trans rights are human rights
Steps to reproduce
trans rights are human rights
Minimal reproduction project (MRP)
trans rights are human rights

Nah, Go back to Twitter, This is not a place for people who are frustrated with life

If You do not care Why the Creator of the projects is so Openly anti-trans?

Because he's based, people don't like hearing the truth.

 Who do you think cares about what you like to shove up yours? What exactly makes you think it's acceptable social behavior to use a game engine or git as an outlet of your perversion or political views?

If You do not care Why the Creator of the projects is so Openly anti-trans?
 even get a side with the fake news over Imane
 Believe that trans is an ideological conspiracy.

Because he's based, the truth he speaks,
Yet few will listen, silence peaks.
In comfort’s veil, they hide away,
Afraid of truths that pierce the day.

His words cut deep, but not unkind,
A mirror to the blindest mind.
Yet in the noise, they turn aside,
For truth and fear cannot collide.

Though some may flee, his voice won’t bend,
For in the truth, there is no end.
A steady flame in winds that blow,
His light remains, though few may know.

If You do not care Why the Creator of the projects is so Openly anti-trans?

It's not anti-trans to recognise we males, because of our hormones, have a clear unfair biological advantage against women in most competitions, and that's why we should not compete with women.

 I find it needs to be said at least once. I do intend to contribute actual code. Right now I just want to express that I care.
I find it a tragedy that people do not value the way they were lovingly created, so much they try to modify it, pretend to be something they are not, and when denied that ability, they decide their very life and existence on this earth is less important and less valued than their "rights". The fact people take their life for that reason, is awful, like any reason to do that.   Your right to be alive is far more important than your desire to be something you are not. Choose life. You will thank me later.


Nodegroup update_default_version config should be parameterized

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?
When create_launch_template=true is set at the nodegroups, they are 'upgraded' every time that the launch_template is updated.
I would like to be able to set the update_default_version so we could update the launch template without need to force nodegroups updates, so we could have more control on 'when' do we want to perform that.
Describe the solution you would like
update_default_version should be set by a TF var
Describe alternatives you have considered
Couldn't find any workaround to above approach
Additional context

# module.eks_blueprints.module.aws_eks_managed_node_groups["<nodegroup>"].aws_launch_template.managed_node_groups[0] will be updated in-place
~ resource "aws_launch_template" "managed_node_groups" {
    ~ default_version         = 3 -> (known after apply)  # I would expect this to be skipped so nodegroup below is not updated
      id                      = "lt-<id>"
    ~ image_id                = "ami-0d9781fbca2991de5" -> "ami-0e1597f2056965cab"
    ~ latest_version          = 3 -> (known after apply)
      name                    = "<myawasomelaunchtemplate>"
      tags                    = {}
      # (10 unchanged attributes hidden)
      # (7 unchanged blocks hidden)
  }

# module.eks_blueprints.module.aws_eks_managed_node_groups["<nodegroup>"].aws_eks_node_group.managed_ng will be updated in-place
~ resource "aws_eks_node_group" "managed_ng" {
      tags                   = {
          "Name"                                        = "<nodegroup>"
          "k8s.io/cluster-autoscaler/<clustername>" = "owned"
          "k8s.io/cluster-autoscaler/enabled"           = "TRUE"
          "kubernetes.io/cluster/<clustername>"     = "owned"
          "managed-by"                                  = "terraform-aws-eks-blueprints"
      }
      # (17 unchanged attributes hidden)
    ~ launch_template {
          id      = "lt-<id>"
          name    = "<myawasomelaunchtemplate>"
        ~ version = "3" -> (known after apply)
      }
      # (4 unchanged blocks hidden)
  }

I can create a PR for it if you think the change makes sense

closed in #1590


Try to re-enable testParse.test.ts

Fixes https://github.com/sourcegraph/cody/issues/2088
Test plan
Green CI

Closing for now. Waiting to hear if Valery has ideas why this error is happening.


[Bug] Set the platform to NULL for challenge that don't use a registered platform

Is there an existing issue for this?

[X] I have searched the existing issues

What product(s) are you seeing the problem on?
OpenChallenges
Current behavior
The OC Data sheet registers a platform named "other". A first issue is that counting the platforms from the list of challenge platform returns currently 14 while we technically capture information only about 13 platforms. Other issues may arise as we plan to create a challenge platform search page.
Instead, we should no longer create a platform for "other" and set the property challenge.platform to null / undefined when no known challenge platform is used by the challenge. This approach implies changes at the following levels:

[x] OC Data sheet (@vpchung )
[x] OC data model (SQL) (@vpchung )
[x] OC API model (openchallenges-api-description) (@rrchai )
[ ] Challenge service (@tschaffter )
[ ] Web app (@rrchai )

The above tasks should be performed in this order, and this will be reflected on the person assigned to this ticket. Let's try to do everything in a single feature PR that Verena will create as the first contributor to keep thing simple.
Cc: @vpchung @rrchai
Expected behavior
No response
Anything else?
No response
Commit ID
No response
Are you developing inside the dev container?

[X] I am using the dev container

Code of Conduct

[X] I agree to follow this project's Code of Conduct

PR started in #2393.
🏀  passing it to you now, @rrchai !

Working on updating the API description so that it works well with code generation
A challenge without known platform is 67 (for testing).

An DTO object freshly created comes with falsy values:
challenge dto initial: class ChallengeDto {
    id: null
    slug: null
    name: null
    headline: null
    description: null
    doi: null
    status: null
    difficulty: null
    platform: null
    websiteUrl: null
    avatarUrl: null
    incentives: []
    submissionTypes: []
    inputDataTypes: null
    startDate: null
    endDate: null
    starredCount: 0
    createdAt: null
    updatedAt: null
}

nullable is replaced by null type in OpenAPI 3.1

Note
we are still using OpenAPI 3.0.3

See https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0


Safe.get_contract() is replaced with Safe.contract cached_property in safe-eth-py 4.4.0

https://github.com/safe-global/safe-eth-py/commit/4f1e009f0e6ad23363b16dbc7a3052b3a73a3c1a

@penandlim want to do a PR with the fix?

So I went down the rabbit hole of trying to find the dependency versions for ape-safe and it seems like it requires specific versions of web3 and eth-brownie packages to successfully use it, and supporting safe-eth-py 4.4.0 would require us to ditch istanbul hardforks / ganache v6.
Couple reasons that cause this is

By default brownie uses istanbul hardfork, which is not supported by web3>5.24.0

This causes such that we cannot use web3>5.24.0 due to the istanbul blocks not returning baseFeePerGas
 File "brownie/_cli/run.py", line 51, in main
    return_value, frame = run(
  File "brownie/project/scripts.py", line 110, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File "./scripts/2022_09_28_66_bridge_1MM_SDL_arbitrum.py", line 38, in main
    multisig.preview(safe_tx)
  File "/Users/limjs/IdeaProjects/ape_safe/ape_safe.py", line 342, in preview
    return self.preview_tx(safe_tx, events=events, call_trace=call_trace)
  File "/Users/limjs/IdeaProjects/ape_safe/ape_safe.py", line 320, in preview_tx
    payload = tx.w3_tx.build_transaction()
  File "web3/contract.py", line 1099, in build_transaction
    return build_transaction_for_function(
  File "web3/contract.py", line 1672, in build_transaction_for_function
    prepared_transaction = fill_transaction_defaults(web3, prepared_transaction)
  File "cytoolz/functoolz.pyx", line 249, in cytoolz.functoolz.curry.__call__
  File "web3/_utils/transactions.py", line 114, in fill_transaction_defaults
    default_val = default_getter(web3, transaction)
  File "web3/_utils/transactions.py", line 64, in <lambda>
    web3.eth.max_priority_fee + (2 * web3.eth.get_block('latest')['baseFeePerGas'])
  File "web3/datastructures.py", line 51, in __getitem__
    return self.__dict__[key]  # type: ignore
KeyError: 'baseFeePerGas'
Terminating local RPC client...

safe-eth-py 4.4.0 requires web3>5.29.2

web3 was updated sometime 7 months ago and has changed some of the function names to be more pythonic.
https://github.com/ethereum/web3.py/commit/0896611f140fdd8e2737dcc076012d7908e08e38
So seems like the best way is to stay with istanbul forks and older versions of web3 and safe-eth-py.

fixed in #48


preprocessing part

We want to know which path did you  replace at  in preprocess_embedding.sh with real path?
thanks

Did you figure out which path works?

For people who are lost, you are supposed to download a 2GB (unzipped 5GB) labels: https://nlp.stanford.edu/projects/glove/  Common Crawl (840B tokens, 2.2M vocab, cased, 300d vectors, 2.03 GB download): glove.840B.300d.zip

Would be nice to add this part in the readme


Helm Chart with 2 different versions of the Sensors

Hello,
is there a way to have a helm chart with 2 versions of the Sensors?
The problem is that there are too many people using version 22.1 to change to 22.2 in one day, so the idea is to have at the same time 2 versions of the Sensors.
Is it possible?
Thanks,
Tarrinho

Hi,
assuming this issue is related to Scancentral SAST chart, yes, it is posible to add 2 types of sensors using the values file. Check the comments at the workers: section (https://github.com/fortify/helm3-charts/blob/e7931adfb658f5516aeead0ff0cd2a989107db0b/charts/scancentral-sast/values.yaml#L135). You need to copy the contents of the worker type you want use (linux or windows) and use the docker image tag for the previous version at the image: section. Something like this:
 image:
      repository: fortifydocker/scancentral-sast-sensor
      pullPolicy: IfNotPresent
      # Overrides the image tag whose default is the chart appVersion.
      tag: "22.1"

Remember to give a unique key to the worker type (it can't be linux or windows).

Thanks, we managed to have it working with 2 different sensors (22.1 and 22.2)
By the way, don't give names to your workers with dots - "." ... it won't work ! 💪


FFMPEG Volume option not working.

While testing the Indev branch, the volume option for FFMPEG is no longer passed.
The commit in question where it still works is ca873ac36ea9c1f5c974f407f20d158c1a405689
The commit where it no longer works is 3c64cfce4a387cba695be37f3214845d1139c7b7

Well, the volume wrapper replaces the ffmpeg volume option - it's superior because it allows changing the volume while something is playing, rather than setting the volume once and never being able to change it.

Could you give me an example on it's usage please?

Pass the volume as normal as an option to playXYZ, or use voiceConnection.setVolume(0.5) (or any other value you would use as an option) after starting playback.

Thank you very much, I will use that.


expose VM actions in VM list view and tabs view

📝 Description
exposing actions to UI in VM list view and in the details tabs header
🎥 Demo

@glekner @metalice @yaacov @pcbailey @upalatucci @hstastna please review :)
Signed-off-by: Aviv Turgeman<EMAIL_ADDRESS>

/lgtm


Wrong order of operation when using a context manager and python function

Describe the bug
For some reason, having some operations run from a context manager and some other encapsulated in a python function raise a wrong order of operations.
It is not clear yet if this is due to the context manager or not.
See non working and working example below, notice the only difference is the fact that the command is put in a python function.
To Reproduce
DOES NOT WORK:
import os
from pyinfra import host
from pyinfra.operations import files, server

class TmpDir:
    def __init__(self, name):
        self.tmp_dir_name = f"tmp_{name}"
        self.tmp_dir_path = os.path.join(os.sep, "home", host.data.ssh_user, "tmp", self.tmp_dir_name)
        self.create_tmp_dir = None

    def __enter__(self):
        self.create_tmp_dir = files.directory(name=f"Create temporary directory [{self.tmp_dir_name}]", path=self.tmp_dir_path, recursive=True)
        return self.tmp_dir_path

    def __exit__(self, type, value, traceback):
        files.directory(name=f"Destroy temporary directory [{self.tmp_dir_name}]", path=self.tmp_dir_path, present=False, assume_present=self.create_tmp_dir.changed)

def run_command(path):
    server.shell(name="Test ls", commands="ls .", _chdir=path)

with TmpDir("test") as tmp_dir_path:
    run_command(tmp_dir_path)

--> Loading config...
--> Loading inventory...

--> Connecting to hosts...
    No host key for *** found in known_hosts
    [***] Connected

--> Preparing operations...
    Loading: tasks/cm.py
    [***] Ready: tasks/cm.py

--> Proposed changes:
    Groups: ** / ***
    [***]   Operations: 3   Commands: 3

--> Beginning operation run...
--> Starting operation: Create temporary directory [tmp_test]
    [***] Success

--> Starting operation: Destroy temporary directory [tmp_test]
    [***] Success

--> Starting operation: Test ls
    [***] sh: line 0: cd: /home/***/tmp/tmp_test: No such file or directory
    [***] Error
No hosts remaining!
--> pyinfra error:

WORKS:
import os
from pyinfra import host
from pyinfra.operations import files, server

class TmpDir:
    def __init__(self, name):
        self.tmp_dir_name = f"tmp_{name}"
        self.tmp_dir_path = os.path.join(os.sep, "home", host.data.ssh_user, "tmp", self.tmp_dir_name)
        self.create_tmp_dir = None

    def __enter__(self):
        self.create_tmp_dir = files.directory(name=f"Create temporary directory [{self.tmp_dir_name}]", path=self.tmp_dir_path, recursive=True)
        return self.tmp_dir_path

    def __exit__(self, type, value, traceback):
        files.directory(name=f"Destroy temporary directory [{self.tmp_dir_name}]", path=self.tmp_dir_path, present=False, assume_present=self.create_tmp_dir.changed)

with TmpDir("test") as tmp_dir_path:
    server.shell(name="Test ls", commands="ls .", _chdir=tmp_dir_path)

--> Loading config...
--> Loading inventory...

--> Connecting to hosts...
    No host key for *** found in known_hosts
    [***] Connected

--> Preparing operations...
    Loading: tasks/cm.py
    [***] Ready: tasks/cm.py

--> Proposed changes:
    Groups: ** / **
    [***]   Operations: 3   Commands: 3

--> Beginning operation run...
--> Starting operation: Create temporary directory [tmp_test]
    [***] Success

--> Starting operation: Test ls
    [***] Success

--> Starting operation: Destroy temporary directory [tmp_test]
    [***] Success

--> Results:
    Groups: ** / **
    [***]   Successful: 3   Errors: 0   Commands: 3/3

Steps to reproduce the behavior (include code & usage example):
Expected behavior
I would expect the order of operations remain unchanged whether I put them in python functions or not.
Meta

Include output of pyinfra --support.

--> Support information:

    If you are having issues with pyinfra or wish to make feature requests, please
    check out the GitHub issues at https://github.com/Fizzadar/pyinfra/issues .
    When adding an issue, be sure to include the following:

    System: Linux
      Platform: Linux-3.10.0-1160.59.1.el7.x86_64-x86_64-with-glibc2.17
      Release: 3.10.0-1160.59.1.el7.x86_64
      Machine: x86_64
    pyinfra: v2.0.1
    Executable: /home/**/.local/bin/pyinfra
    Python: 3.9.4 (CPython, GCC 4.8.5 20150623 (Red Hat 4.8.5-44))

How was pyinfra installed (source/pip)? pip

I can see the issue comes from the way operation are ordered by line number.
Could you clarify why we are sorting operations by line number instead of appending them one by one in the order in which they are created ? I seems to me the creation order is already the correct order, by I am probably missing something.

I can make that specific example work by performing following changes ( which are probably wrong but just for the sake of the discussion).
state.py
def init(...):
    ...
    self.op_line_numbers_to_hash = []
    ...
    def get_op_order(self):
        return self.op_line_numbers_to_hash

operation.py
def decorated_func(*args, **kwargs):
    ...
    # state.op_line_numbers_to_hash[op_order] = op_hash
    state.op_line_numbers_to_hash.append(op_hash)

Wider discussion on why line number ordering exists in #805.
https://github.com/Fizzadar/pyinfra/pull/824 changes order to use a DAG initially and only reverts to line-numbers to solve tie-breaks. Tested with this example and it correctly handles this case!

ok

This should now be fixed in v2.2!


Generic interfaces on examples

Part of #399.
This PR deals with the "Interfaces" part of the issue above.
It also makes the affected contracts and tests use cosmwasm_std::Empty for their different implementations of the now generic interfaces.

In general looks ok, but I see couple CosmosCustomMsg and I don't know what are they about. Do we need those?

It seems like it's needed for now or else it won't compile. @jawoznia and @kulikthebird think it might be a bug in Sylvia


Show user qualification values

On the qualifications page on the user profile, show the values that belongs to the quali.
Currently we only show the qualifications icon if the user has it.
Qualifications now also have value property in the userquali table, this should be displayed as well.

I would like to work on this issue. Please assign it to me.

Sure, let me know if you need help to get started
On Tue, 27 Dec 2022, 14:52 Tarun Samanta, @.***> wrote:

I would like to work on this issue. Please assign it to me.
—
Reply to this email directly, view it on GitHub
https://github.com/effectai/force-frontend/issues/196#issuecomment-1365917318,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAITTH3PACVIHLPG4VD7NO3WPLYC5ANCNFSM6AAAAAATKJ6XNA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Database Size Increasing faster than expected

Description
On 9/21 The free space on the production database changed from 60GB free to 43 GB in the course of less then 12 hours. We investigated because of diskqueue warnings that seemed to happen every hour (4 diskqueue spikes at 10:52, 11:46, 12:46, and 13:47 ET).
Trying to determine the size increase in the database of "projects" only showed an increase in 650MB range for 500-700 new projects created.  We expect to be able to see the same disk usage with psql commands to what AWS RDS reports.
Also, the log size was very large (2 above 1 GB, and many in the hundreds of MBs) which is mostly geo data that isn't useful to log.  If that log data counts to our IO usage that might be reducing our performance.
We are looking to do some combination of:

[ ] Limit how long paramaters that get logged will be via log_parameter_max_length and/or log_parameter_max_length_on_error
[x] Reduce log verbosity - all logs show up as errors right now
[ ] Reduce what gets logged - don't log the raw geographic data - not sure how

Logs do count to instance free/used space - .  this would imply that they also impact IO usage.
Dropping (but worth considering in a future issue)

[ ] Just increasing the size of the database again
[ ] Reduce when we get alerted to DiskQueue
[ ] Datatype changes (compression?)
[ ] - [ ] A way to automatic cleanup (or somehow reduce the space) of old unused maps

The only bit that we have decided to do from the  possibilities is in #1273


About metadata.py.

in metadata.py, if phase==2, shots=shots3. I don't understand why shots3. Is this will cause an unfair performance comparison?

about metaclass, when finetuning, why specify all_classes_first/second/third, is these three the same? Does the order matter?

In the second phase, shots*3 objects per class are created for each class. However, a roidb filter is used to make sure there are only shots objects kept for each novel class. This is an operation borrowed from Meta R-CNN.

The class order actually matters for the evaluation since we needs a class structure like [base_classes, novel_classes] for reporting respectively the performance on base and novel classes.

Thank you for your reply.


Grpc ruby switch to new call api

Closes #770
Closes #547
Closes #118
There will be more related cleanup in a follow-up PR; this one is big enough as-is.

Why did you close this?


Increased the Limit of maximum Domain length from 24 to 47.

Increased the Limit of maximum Domain length from 24 to 47, because it gives us a whole new World of Possibilities to create beautiful Domains.

Is this really necessary? 24 is quite long and whose gonna remember a name longer than like 12 characters

Why not. xD


Join multicast group error: An invalid argument was supplied. (os error 10022)

Log from mikekgr in discussion https://github.com/rustdesk/rustdesk/discussions/844#discussioncomment-3111117
OS: Win10
IPv4 addrs: [<IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>]
new socket bind to <IP_ADDRESS>:5353
new socket bind to <IP_ADDRESS>:5353
join multicast group on addr <IP_ADDRESS>: An invalid argument was supplied. (os error 10022),

The code.
I can't reproduce on my PC. I'm not sure if the problem is <IP_ADDRESS>.
I'll contact him later for more tests.

join multicast group on addr <IP_ADDRESS>: An invalid argument was supplied. (os error 10022),

It seems that Windows has some special remarks in their docs:

Do not call IP_ADD_MEMBERSHIP with the same group more than once on the same network interface.

But the error code does not match (WSAEADDRNOTAVAIL 10049 vs WSAEINVAL 10022). And it's not clear what the same group means in Windows.  So I'm not sure, just a thought.

After the above PR #48 merged, could you please check if this issue still exists?

Ok, I'll contant mikekgr for help. Also I'll ask him if his email can be shared to you.

I don't think this problem exist any longer. If you found otherwise, please re-open this issue, or create a new issues. Thanks!


Merge hierarchical pipeline

Before submitting (must do checklist)

[ ] Did you read the contribution guide?
[ ] Did you update the docs? We use Numpy format for all the methods and classes.
[ ] Did you write any new necessary tests?
[ ] Did you update the CHANGELOG?

Proposed Changes

Closing issues

There is CHANGELOG.md?

Codecov Report

Merging #1083 (70154ff) into master (c04bf64) will decrease coverage by 18.08%.
The diff coverage is 31.75%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##           master    #1083       +/-   ##
===========================================
- Coverage   86.51%   68.44%   -18.08%
===========================================
  Files         164      170        +6
  Lines        8901     9304      +403
===========================================
- Hits         7701     6368     -1333
- Misses       1200     2936     +1736

Impacted Files
Coverage Δ

etna/datasets/datasets_generation.py
55.22% <3.33%> (-44.78%)
:arrow_down:

etna/datasets/hierarchical_structure.py
22.01% <22.01%> (ø)

etna/datasets/utils.py
45.97% <23.68%> (-49.95%)
:arrow_down:

etna/datasets/tsdataset.py
74.83% <30.55%> (-15.91%)
:arrow_down:

etna/reconciliation/bottom_up.py
35.29% <35.29%> (ø)

etna/pipeline/base.py
79.15% <37.50%> (-15.50%)
:arrow_down:

etna/pipeline/hierarchical_pipeline.py
40.38% <40.38%> (ø)

etna/reconciliation/top_down.py
42.37% <42.37%> (ø)

etna/reconciliation/base.py
53.33% <53.33%> (ø)

etna/datasets/__init__.py
100.00% <100.00%> (ø)

... and 67 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


java.lang.IllegalStateException: zip file closed

When using version 9.12 on kubernetes 1.15 with spring boot 2.2.4 we get following error.
When using version 9.11 we do not have this issue.
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [x.x.x.SerializedTypeNameResolver]: Factory method 'serializedTypeNameResolver' threw exception; nested exception is java.lang.IllegalStateException: zip file closed
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.2.3.RELEASE.jar!/:5.2.3.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651) ~[spring-beans-5.2.3.RELEASE.jar!/:5.2.3.RELEASE]
	... 95 common frames omitted
Caused by: java.lang.IllegalStateException: zip file closed
	at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:915) ~[na:na]
	at java.base/java.util.zip.ZipFile.stream(ZipFile.java:647) ~[na:na]
	at java.base/java.util.zip.ZipFile$1.stream(ZipFile.java:1131) ~[na:na]
	at java.base/java.util.jar.JarFile.stream(JarFile.java:534) ~[na:na]
	at org.reflections.vfs.ZipDir.lambda$getFiles$2(ZipDir.java:21) ~[reflections-0.9.12.jar!/:na]
	at org.reflections.Reflections.scan(Reflections.java:260) ~[reflections-0.9.12.jar!/:na]
	at org.reflections.Reflections.scan(Reflections.java:216) ~[reflections-0.9.12.jar!/:na]
	at org.reflections.Reflections.<init>(Reflections.java:137) ~[reflections-0.9.12.jar!/:na]
	at org.reflections.Reflections.<init>(Reflections.java:182) ~[reflections-0.9.12.jar!/:na]
	at org.reflections.Reflections.<init>(Reflections.java:155) ~[reflections-0.9.12.jar!/:na]
	at x.x.x.serializedTypeNameResolver.getTypesForName(SerializedTypeNameResolver.java:44) ~[integration-axondb-11.369.0.jar!/:11.369.0]
	at x.x.x.serializedTypeNameResolver.<init>(GSerializedTypeNameResolver.java:23) ~[integration-axondb-11.369.0.jar!/:11.369.0]
	at x.x.x.serializedTypeNameResolver(AxonServerSharedConfiguration.java:115) ~[integration-axondb-11.369.0.jar!/:11.369.0]

Our config is as follows:
private Map<String, Class<?>> getTypesForName() {
        Reflections reflections = new Reflections("x.x.x");
        return reflections.getTypesAnnotatedWith(JsonTypeInfo.class).stream()
            .map(clazz -> clazz.getAnnotationsByType(JsonSubTypes.class))
            .flatMap(Arrays::stream)
            .flatMap(annotation -> Arrays.stream(annotation.value()))
            .filter(type -> isValidType(type.value()))
            .collect(toMap(JsonSubTypes.Type::name, JsonSubTypes.Type::value, (name1, name2) -> name1));
    }

"edit"
It runs on adoptOpenJdk 11.0.6_10

I have the same issue with 9.12 in springboot

I got the same issue when running a packed jar from spring boot, but starting the same application from the source-code with maven spring plugin, run without any related issue

take a look at this : https://github.com/sebastianarnold/TeXoo/issues/20#issuecomment-478532837

When using the springboot jar, you can rewrite the org.reflections.vfs.zipfile class and implement it with org.springframework.boot.loader.jar.JarFile.

org.springframework.boot
spring-boot-loader

I have the same issue with 9.12 in springboot

Could this be related to multi threading issue that's been around since 0.9.10 release as described in https://github.com/ronmamo/reflections/issues/81? A common "solution" is to downgrade to 0.9.9 until it's fixed. :(

I have the same issue after upgrading to reflections 9.12.
I use spring framework version 5.2.1.RELEASE
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.bmc.cm.command.cm_actuators.ClassFinder]: Factory method 'getClassFinder' threw exception; nested exception is java.lang.IllegalStateException: zip file closed
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:640)
... 81 more
Caused by: java.lang.IllegalStateException: zip file closed
at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:915)
at java.base/java.util.zip.ZipFile.stream(ZipFile.java:647)
at java.base/java.util.zip.ZipFile$1.stream(ZipFile.java:1131)
at java.base/java.util.jar.JarFile.stream(JarFile.java:534)
at org.reflections.vfs.ZipDir.lambda$getFiles$2(ZipDir.java:21)
at org.reflections.Reflections.scan(Reflections.java:260)
at org.reflections.Reflections.scan(Reflections.java:216)
at org.reflections.Reflections.(Reflections.java:137)
at org.reflections.Reflections.(Reflections.java:182)
at org.reflections.Reflections.(Reflections.java:155)
at com.bmc.cm.command.cm_actuators.ClassFinder.init(ClassFinder.java:20)
at com.bmc.cm.aft.cfg.AftConfiguration.getClassFinder(AftConfiguration.java:100)
at com.bmc.cm.aft.cfg.AftConfiguration$$EnhancerBySpringCGLIB$$3eca469e.CGLIB$getClassFinder$7()
at com.bmc.cm.aft.cfg.AftConfiguration$$EnhancerBySpringCGLIB$$3eca469e$$FastClassBySpringCGLIB$$a0a818a6.invoke()
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363)
at com.bmc.cm.aft.cfg.AftConfiguration$$EnhancerBySpringCGLIB$$3eca469e.getClassFinder()
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)

#me_too --> downgraded to 0.9.11 as suggested.

Facing the same issue ... any updates?

This is still an issue, is there something we can do to help figure this out ?

Same issue since Spring Boot upgrade from 2.3.3 to 2.3.4 (spring-boot-starter-parent)

We've seen the same with egeria (link above) which affects both 2.3.4 and 2.3.5 of spring boot. 2.3.3 is working fine.

This seems to have been fixed now in Spring boot 2.3.6.RELEASE

"java.lang.IllegalStateException: zip file closed" when call JarFileWrapper.stream() of spring-boot-loader #23821

https://github.com/spring-projects/spring-boot/releases/tag/v2.3.6.RELEASE

This seems to have been fixed now in Spring boot 2.3.6.RELEASE

"java.lang.IllegalStateException: zip file closed" when call JarFileWrapper.stream() of spring-boot-loader #23821

https://github.com/spring-projects/spring-boot/releases/tag/v2.3.6.RELEASE

As far as I understood spring fixed a similar problem, but not the same. At least I still have the problem with spring-boot 2.4.0 and reflections 0.9.12. Downgrading to 0.9.11 soles it.

0.9.11 has the same error popping up  for us randomly (we are not using spring), with exactly same message. Could it be that there is something unfortunate in openjdk 11? We are mixing things built with java 11 and java 8, don't know if this is important.

0.9.11 has the same error popping up  for us randomly (we are not using spring), with exactly same message. Could it be that there is something unfortunate in openjdk 11? We are mixing things built with java 11 and java 8, don't know if this is important.

When using the springboot jar, you can rewrite the org.reflections.vfs.zipfile class and implement it with org.springframework.boot.loader.jar.JarFile.
org.springframework.boot spring-boot-loader

I'm trying (after some time digging) but I'm still getting same issue,
Vfs.addDefaultURLTypes(new Vfs.UrlType()
{
    @Override
    public boolean matches(final URL url) throws Exception
    {
        return url.getProtocol().equals("jar") && isInsideBootInf(url);
    }

    private boolean isInsideBootInf(final URL url)
    {
        return url.toExternalForm().matches("^.*\\.jar\\!\\/BOOT-INF\\/lib\\/my-fancy-lib(?:-\\d+\\.\\d+\\.\\d+)?\\.jar\\!\\/$");
    }

    @Override
    public Vfs.Dir createDir(final URL url) throws Exception
    {
        return new ZipDir(new org.springframework.boot.loader.jar.JarFile(Vfs.getFile(url)));
    }
});
final Reflections reflections = new Reflections(baseClassPackage);

Can a 0.9.13 patch version be released to fix this issue ?
Do you need help to make this happen ? What can we do to help ?

Does this issue still persist in latest releases?

downgraded to 0.9.11 and worked for me. issue was only when i was running as docker container.

I have checked different versions of Spring and I can confirm what @bmaehr already mentioned. The library throws this exception when it is used with spring-boot of version 2.3.5 or earlier. Switching to 2.3.6 solves the issue.
With the latest spring-boot version 2.7.4 it also works.


Update controlling-your-data-using-customer-key.md

Multi-geo is generally available.

@KCCross - PR is ready for final review.
Thank you.
cc: @kenwith

#523

Thanks for the update. We are about to publish a total overhaul of this content. I've rolled in the feedback from this PR into that rewrite so I'm closing this PR. Thanks everyone!


crash

It should crash if the queue  std::deque< states::iterator > aborted has more than 2 elements .
Your Code is useful , Thank you very much !

hey,
can you paste a code snippet that crashes? i will take a look into it
thx

hey,
my crash code like this , may be it is logic unreasonable , but your attention is to delete all aborted
elements in function command , crash message : deque iterator not decrementable
cd_player cd;
cd.fsm.push(fsm::state(play));
cd.fsm.push(fsm::state(open));
cd.fsm.command(close);

forgive my poor english !

in order to avoid error , i try to change code like this :
// user commands
bool command(const fsm::state &trigger) {
size_t size = this->size();
if (!size) {
return false;
}
current_trigger = fsm::state();
std::deque< states::iterator > aborted;
for (auto it = deque.rbegin(); it != deque.rend(); ++it) {
fsm::state &self = *it;
if (!call(self, trigger)) {
aborted.push_back(it.base() - 1);
continue;
}
for (auto it = aborted.begin(), end = aborted.end(); it != end; ++it) {
call(**it, 'quit');
deque.erase(*it);
}
current_trigger = trigger;
return true;
}
return false;
}

@powerpeng
your code can`t build

@shafeng  , i builded the code and it works , would you paste the code snippet  please .

@powerpeng  sorry , maybe my C++ compiler without  C++11 support


Turn on ci, add linting step

Preliminary linting step.

Linting step uses the Docker tflint image.

Yes, let's experiment with it here for a while, taking it upstream if it's solid will be very easy. Thanks for chiming in so quickly!

Added a simple step to check boilerplate (and spotted 3 files missing it). The script is simple, but it reflects what our presubmit checks usually do, so it should be good enough (and less prone to breakage).


[sbt 1.0] Bump to Scala 2.11.8

There are also 2.11 and maven resolver things in Travis. But LGTM.


Scripts to commit state root to both sides

We built a minimalistic version for ETH-India which commits from o2a but runs on sealer node
Move away from this temporary keystore file on geth node solution for key management for worker key which would perform transactions
Run a similar instance for a2o also and move o2a instance to a non sealer node (may be facilitator node ?)

Open questions around the repo in which this code should go. Moving it to parking lot for now

We are continuing to use the old code from mosaic-anchor.js


Updating a sound file makes the FileExplorer ignore display mode

Tested on Godot 2.1, Windows 10 64 bits

Repro steps:

Make sure the FileExplorer is in icons mode
Import a sound, see it in the FileSystem
Set the FileSystem display mode to "list"
Modify the sound and overwrite its file
Go back to Godot, see it auto-re-imports the updated sound
Notice the FileExplorer now shows an icon for the sound, making its line a lot bigger than others. It should not show an icon here because the selected mode is still "list".

Note: this issue probably affect other resource types.
Note 2: I noticed that hitting the "Play game" button, the UI refreshes and the FileExplorer shows the list correctly.

I reproduced this with script files too. Hit Ctrl+S while having the list display mode, and poof

all this code is gone, so closing this


ci: update the cilium cli version to stable

Reason for Change:

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[x] relevant PR labels added

Notes:

https://github.com/Azure/azure-container-networking/pull/2365 addresses the change. Closing the PR.


Add Docker support

⚠ Pull Requests not made with this template will be automatically closed 🔥
Prerequisites

[x] Have you read the documentation on contributing? https://github.com/bee-san/pyWhat/wiki/Adding-your-own-Regex

Why do we need this pull request?
This PR adds Docker support so that one can choose to use pyWhat in Docker instead of installing it. A GH action should probably be added to automatically push to Docker Hub and the README.md file should be updated.
What GitHub issues does this fix?
None.
Copy / paste of output
Please copy and paste the output of PyWhat with your new addition using an example that tests this addition below:
$ docker run --rm mavnt/pywhat "0x52908400098527886E0F7030069857D2E4169EE7"
...
Matched on: 0x52908400098527886E0F7030069857D2E4169EE7
Name: Ethereum (ETH) Wallet Address
Link:  https://etherscan.io/address/0x52908400098527886E0F7030069857D2E4169EE7
...

$ cat file.txt
0x52908400098527886E0F7030069857D2E4169EE7
$ docker run --rm -v $(pwd):/workdir mavnt/pywhat:latest file.txt
...
Matched on: 0x52908400098527886E0F7030069857D2E4169EE7
Name: Ethereum (ETH) Wallet Address
Link:  https://etherscan.io/address/0x52908400098527886E0F7030069857D2E4169EE7
...

Nice! I should push this to Dockerhub :D

Codecov Report

Merging #242 (6fdad3d) into main (1e843aa) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #242      +/-   ##
==========================================
- Coverage   92.60%   92.59%   -0.01%
==========================================
  Files          15       15
  Lines        1217     1216       -1
==========================================
- Hits         1127     1126       -1
  Misses         90       90

Impacted Files
Coverage Δ

pywhat/printer.py
77.69% <0.00%> (-0.16%)
:arrow_down:

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 1e843aa...6fdad3d. Read the comment docs.


[Proposal] Handle "docker run --rm" inside the daemon instead of the client

The problem
Currently, docker handles the "--rm" on the client side, which means that the client will do the appropriate API calls to the daemon when it exits to remove the image on exit. This works great when you work locally in a simple setup, but may result in "garbage" containers existing forever under some circumstances. This may for example happen when:

You connect through the TCP endpoints, either directly or through a tunnel, and loose the connection. (see #16546 for example)
Your docker client crashes
Your docker client gets killed for whatever reason

The problem in our environment (CI)
Especially the last point hits me hard at the moment. We currently implement CI builds based on docker. The CI system calls a simple shell script, which builds the "builder" image and then runs it. The "builder" container is meant to be temporary and should vanish in case the build is finished or forcefully stopped (e.g. from the CI systems UI). We tried to use "run --rm" to accomplish this, which works fine when the build exits by itself. In case we externally stop the build, the CI system simply kills the script, which results in the "docker run --rm" process to die as well, but leaves the container running until it exits by itself. This leaves us with 2 problems:

The container is still running. This is already bad, but will get even worse in case one of our builds gets stuck, resulting in the container to run forever.
The container won't be deleted on completion.

We also want to spawn temporary containers (e.g. databases for testing) on the host docker daemon from inside the "builder" container, which makes the problem even worse, as all these containers would live forever.
Proposal/Feature request
When using "docker run", it should be possible to instruct the docker daemon what to do in case it looses the connection to the docker client. For example, we should be able to instruct the daemon to stop or kill and optionally rm the container on connection loss. This could for example look like:
docker run -ti --on-connection-loss=stop,rm myimage mycommand

I don't know much about the daemon internals or the API, so I can not really say how to implement it in a good way. One thing that I could imagine is an API call that says "do action X with name Y after Z seconds", where future calls to the same API with the same name Y would overwrite the old action and timeout Z. This would be comparable to TTL in services like etcd. The client could then do the following for the above "docker run" example:

Create and start the container as usual
After start, do an API call that says "stop and rm container after 30 seconds"
Wait 15 seconds and do the API call again. Repeat forever, until exit.

"docker rm" supports the -v flag to also delete the container volumes. I would expect that the proposed feature would also support something like "rm -v".

Thanks for writing down the proposal! Defiantly want to see that this becomes reality. :+1:

#6003 #10545

/cc @estesp @duglin who did some investigation into this (iirc)

if I'm remembering correctly, I don't think the issue is whether or not the daemon can be told that the container should go away when its done, rather I think the issue was more around how the daemon persists that information. For example, take an extreme case where the daemon itself dies while the container is running, and the client is still connected. When the daemon restarts it should remove that container.
I'm not really sure why we don't just add a flag to the container's metadata to indicate that it should be deleted when stopped, other than there may be some concern about modifying that config file to add a new field. Then we can check it as each container stops, and upon daemon startup we can check each container for potential cleanup. I don't think this is that different from a 'restart' policy field.

@duglin, the parallel with the restart policy is very interesting! You could view the current restart policy setting as a subset of a hypothetical "exit policy" setting, and just add one (or two) cases:

Restart policy
Exit policy
Action on container exit

never
do-nothing
do nothing

on-failure
restart-if-failed
if clean exit, do nothing, else restart container

always
restart
restart container

n/a
remove
remove container

n/a
remove-with-volumes
remove container and volumes

Just a thought.

@duglin @jonathanperret This would only fix the issues when the container exits by itself or the daemon dies. Containers would still continue running in case connection is lost or the client dies. This is not so bad if you run the container by yourself, as you may be aware that you just left some "garbage" containers running and can kill them by yourself. It gets problematic in case you are in some form of automated environment, e.g. in a CI system or comparable that automatically runs containers.

@ablock84 You're correct that an "exit policy" does not handle the use case of a disconnecting client. I guess I see that as somewhat orthogonal, though both would be useful on a CI server.
I'm not sure about an "exit after 30 seconds" API; it seems to me, this would still require a client to sit around to keep the container running, even in cases where you'd just like to fire a process and have it be killed after a set amount of time if it hasn't exited by then. One way to see that is as a new kind of resource limitation: wall clock time?
For the (perhaps more common) case of a client disconnecting, SIGHUP comes to mind. Perhaps sending SIGHUP to the container upon client disconnection would be a good start (if not already done)? Though you'd want to kill it anyway after a grace period…

I view the disconnected client as a different case as well.  The description of the --rm flag says Automatically remove the container when it exits - which to me is more about what action to take based on the container's state, and not about any CLI's connection to it. Which is why the use of the -d flag on docker run wouldn't change how --rm would work.
I'd prefer for the disconnected client case to be a new flag (if we wanted to support it at all). This flag could control whether or not the container is stopped upon CLI disconnect.  Having its own flag gives it a clear scope and doesn't get confused with some other flag/semantics.  You could then combine this new flag with the --rm flag to control not just whether the container stops but then also control whether it is deleted.

Any progress on this?
I suggest adding Attachers to /containers/(id)/json as the following.
https://github.com/docker/docker/issues/20171#issuecomment-182275740
Proposal
Proposal: add Attachers to /containers/(id)/json for detection of "garbage" containers
Example
Terminal 1:
$ docker run -it --rm ubuntu
root@foobar:/#

Terminal 2:
$ docker inspect foobar | jq .[0].State.Attachers
['<IP_ADDRESS>:4242']
$ kill -9 $TERMINAL1_DOCKER_CLIENT
$ docker inspect foobar | jq .[0].State.Attachers
[]

If .[0].State.Attachers is empty even when .[0].Config.AttachStdout is true, you can find that the container is now "garbage".
Maybe returning the number of the attachers is enough rather than returning all the ip:port list.
Pros and Cons
Pro:

Easy to implement
Can keep the current API semantic
User can control how to handle "garbage" containers.

Con:

User has to write a script for handling "garbage" containers.

Implementation Issue (not specific to my proposal, also affects others' proposals)
For Go >= 1.6, I think we can use the new-designed http.CloseNotifier that supports http.Hijacker used in daemon/attach.go.
But I'm not sure how we can easily detect closes for Go < 1.6, because http.Hijacker.Hijack() fails with an error http: Hijack is incompatible with use of CloseNotifier.
I suggest using the null value as Attachers for Go < 1.6.
https://github.com/docker/docker/blob/da58ee42bb1d4e17c5b525d161f29ad8efc0569e/daemon/attach.go#L41
https://github.com/golang/go/commit/99fb19194c03c618c0d8faa87b91ba419ae28ee3

If I can receive positive reactions to my proposal (or even others' proposal; I don't stick to my proposal), I can work on it.

Is there anyway to incorporate either a time based gc mechanism into the daemon or better yet a hook that fires when the attachers list changes to run gc procedures?

It's hard to implement robust GC because we cannot tell a temporary connection loss from a real client crash.
So my opinion is to split GC from the Docker daemon.
User can write his/her own GC "hook" as an external script like this:
while true; do
  # WARNING: foobar will be removed even when network partition happened temporarily
  if [ $(docker inspect foobar | jq .[0].State.Attachers) -eq "[]" ]; then
    docker rm -f foobar
  fi
  sleep 30
done

https://github.com/docker/docker/issues/20334#issuecomment-186843350
I withdraw my proposal https://github.com/docker/docker/issues/16575#issuecomment-182298779, unless there is another need for .[0].State.Attachers.


[FLINK-9888][release] Remove unsafe defaults from release scripts

What is the purpose of the change
This PR removes several unnecessary and unsafe *_VERSION defaults from the release scripts.
The scripts should never be called without explicitly setting these values.

+1


Add option for build more python tests in Cmake

Add option tensorflow_BUILD_MORE_PYTHON_TESTS for testing some major packages under contrib directory
Tested, fixed and enabled some UTs on Windows/Linux

Can one of the admins verify this patch?

@mrry could you take a look at this, please?

Thanks @rmlarsen @mrry

@tensorflow-jenkins test this please

Hi @mrry
As I check the jennkins i found failure message as below:
//tensorflow/contrib/keras:core_test                                     FAILED in 6.9s
  /var/lib/jenkins/workspace/tensorflow-pull-requests-cpu/bazel-ci_build-cache/.cache/bazel/_bazel_jenkins/eab0d61a99b6696edb3d2aff87b585e8/execroot/workspace/bazel-out/local-opt/testlogs/tensorflow/contrib/keras/core_test/test.log

Executed 1182 out of 1182 tests: 1181 tests pass and 1 fails locally.

Parameterized build ends with FAILURE at: Wed Aug  9 18:35:12 UTC 2017 (Elapsed time: 2116 s)
Build step 'Execute shell' marked build as failure
[Set GitHub commit status (universal)] ERROR on repos [] (sha:19cad03) with context:tensorflow-pull-requests-cpu
Unable to get pull request builder trigger!!
Setting status of 49e83b063f14167577fdd440950ecba22db8a36a to FAILURE with url https://ci.tensorflow.org/job/tensorflow-pull-requests-cpu/6245/ and message: 'FAILURE
 '
Using context: Linux CPU Tests
Finished: FAILURE

Not sure what happened.. and cannot re-produce on local/own jennkins bazel build.. would you help me look into the log or help me getting the detailed info?

@tensorflow-jenkins test this please
@raymondxyang the failure you saw was most likely a tool failure unrelated to your PR.

Hi @rmlarsen I've added a missing module related to the failure. May I have it re-tested by jenkins?
Thanks again for following up the request J

@tensorflow-jenkins test this please.

The test tensorflow/python/training/server_lib_test.py   started but never finished.. killed for over time limit. touched nothing related to it and it passed in the previous Windows run both locally and on the jenkins.. Can jenkins re-test it? Thanks J

@tensorflow-jenkins test this please

@tensorflow-jenkins test this please

Thanks for the contribution!


Link is not working in README.md

Prerequisites

[X] I am an Open Source Contributor
[X] I checked to make sure that this issue has not already been filed

Description
After clicking on this live project link ,this page is being shown. I want to fix this issue. Can you please assign it to me under JWOC?
Screenshots

Code of Conduct

[X] I follow Contributing Guidelines of this project.

Assigned @Daffodilgithub


feat(mango): extend _explain with candidate indexes and selector hints

Execution of _find queries is often considered opaque by the users.  They do not have enough insights about which index was selected and why, which can make hard to compose better queries.  To address these problems, the change proposes to extend the /{db}/_explain endpoint with the following:

index_candidates: This attribute contains the list of all the other indexes that were not chosen for serving the query.  The items in the list tell whether the given index is usable, what the reason was for its exclusion, and how "far" it is from being selected.
selector_hints: This attribute shows which fields are indexable and unindexable in the selector per each (available) index kind.

Warning:

The covered attribute in the _explain output has been changed to covering so that it now matches the attribute name used in the analysis.
The _explain will return HTTP 200 even if there is no usable index.  This makes it different from how _find would respond to the same set of parameters.

Samples, index_candidates:
  "index_candidates": [
    {
      "index": {
        "ddoc": null,
        "name": "_all_docs",
        "type": "special",
        "def": {
          "fields": [
            {
              "_id": "asc"
            }
          ]
        }
      },
     "analysis": {
        "usable": false,
        "reasons": [
          {
            "name": "unfavored_type"
          }
        ],
        "ranking": 1,
        "covering": null
     }
    },
    {
      "index": {
        "ddoc": "_design/age",
        "name": "age",
        "type": "json",
        "partitioned": false,
        "def": {
          "fields": [
            {
              "age": "asc"
            }
          ]
        }
      },
      "analysis": {
        "usable": false,
        "reasons": [
          {
            "name": "field_mismatch"
          }
        ],
        "ranking": 2,
        "covering": false
      }
    }
  ]

and selector_hints:
  "selector_hints": [
    {
      "type": "json",
      "indexable_fields": [],
      "unindexable_fields": [
        "name.first"
      ]
    },
    {
      "type": "text",
      "indexable_fields": [
        "name.first"
      ],
      "unindexable_fields": []
    },
    {
      "type": "nouveau",
      "indexable_fields": [
        "name.first"
      ],
      "unindexable_fields": []
    }
  ]

Based on this information, Fauxton could display more useful hints and tips for the users on building the queries.
As an extra, the unit test coverage is increased throughout the Mango modules.  Brief stats (excerpt from make eunit apps=mango):

number of tests: 173 ⟶ 195
mango_cursor: 20% ⟶ 87%
mango_special: 0% ⟶ 100%
mango_idx: 20% ⟶ 56%
mango_idx_special: 0% ⟶ 48%
mango_idx_text: 63% ⟶ 65%
mango_idx_view: 40% ⟶ 52%
total: 47% ⟶ 55%

Checklist for the review

[x] Code is written and works correctly
[x] Changes are covered by tests
[x] Documentation changes were made in the src/docs folder

I do not think that there was a CouchDB release with this property.  It was introduced to main on April 19 and since then only patch-level releases were made for the 3.2 and 3.3 branches for which the corresponding feature was not backported.

I noticed two failures in the full CI failure, both on ppc64le (Power) platform:
[2023-09-01T17:10:20.217Z] module 'mango_cursor'
[2023-09-01T17:10:24.962Z]   mango_cursor:561: create_test_ (t_create_regular)...*timed out*
[2023-09-01T17:10:24.962Z] in function proc_lib:sync_start/2 (proc_lib.erl, line 293)
[2023-09-01T17:10:24.962Z] in call from meck_proc:set_expect/2 (src/meck_proc.erl, line 110)
[2023-09-01T17:10:24.962Z] in call from meck:expect/4 (src/meck.erl, line 272)
[2023-09-01T17:10:24.962Z] in call from mango_cursor:t_create_regular/1 (src/mango_cursor.erl, line 587)
[2023-09-01T17:10:24.962Z] in call from eunit_test:run_testfun/1 (eunit_test.erl, line 71)
[2023-09-01T17:10:24.962Z] in call from eunit_proc:run_test/1 (eunit_proc.erl, line 531)
[2023-09-01T17:10:24.963Z] in call from eunit_proc:with_timeout/3 (eunit_proc.erl, line 356)
[2023-09-01T17:10:24.963Z] in call from eunit_proc:handle_test/2 (eunit_proc.erl, line 514)
[2023-09-01T17:10:24.963Z]   undefined
[2023-09-01T17:10:34.455Z] mango_cursor:562: create_test_ (t_create_user_specified_index)...[4.819 s] ok
[2023-09-01T17:10:43.255Z] mango_cursor:563: create_test_ (t_create_invalid_user_specified_index)...[4.833 s] ok

It looks like the surrounding tests are close to 5 seconds and the Power runner is usually the slowest runner. So it maybe that we need a longer timeout for those tests.


Custom input controller

We want to connect our chair (the Limbic Chair) that can be used as an input device to neuroglancer as an additional input device in order to enhance workflow. Our initial aim is to globally control opacity of the colored-segmented view, so that you can switch between original image and segmentation view without having to move mouse or keyboard. My issue is now to get the data from the chair into neuroglancer, ideally that would be done via UDP stream. Is that even possible? And how would that be wisest to implement. I am currently trying to use node.js's native UDP support, would that also work non-locally? Is there a better/smarter way to do it? Alternatively I can send the data to PC over virtual COM port.
Thanks!

I'm not aware of any way to send/receive UDP packets from web client javascript, except for WebRTC which is a particular UDP protocol.  I see several options for getting events from the chair into neuroglancer:

Create a server (e.g. in Python) that proxies between the chair and neuroglancer by talking to the chair over UDP and to neuroglancer over websockets (which works over TCP).
If you are on Linux, create a program that talks to the chair over UDP and creates a regular linux input device via uinput into which it injects key/mouse events that are translated from whatever is sent from the chair.  That way neuroglancer will get the events through the browser as regular input events and they can be handled normally.  The translation might prove annoying, but maybe it could be made to work, and it might be more efficient than the websockets approach.

Does Neuroglancer support joystick input? Because I would like to have the chair in parallel with the mouse and keyboard, as a "third hand" so to speak. So I'd need up to 4 additional (unused) axes. If I could somehow access mouse axes beyond x,y, and scrollwheel would be ideal, but I have not encountered any instance of this anywhere yet. However, e.g. the 2 analog sticks of a gamepad would work instead.
I am running Windows now (thanks for the bug fix!). But the chair is actually connected through an mbed LPC 1768 and I have an HID connector through which I can simulate joystick/gamepad output (or standard mouse, or keyboard outputs).
I think using a TCP connection over WebSockets is cleaner from an implementation point of view. But it may not be ideal for compatibility and performance, especially when used over a remote server?

Neuroglancer doesn't itself have any joystick support, but it looks like the Web Gamepad API already supported by most browsers will do exactly what you need:
https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API


 The phone just sits at a black screen with the screen on. Must use hard reset to turn the phone off.
Steps to reproduce the behavior:

Jailbreak with Unc0ver.
After respring, press and hold volume up and lock button to open "slide to power off".
Slide power off slider.
iPhone sits at black screen and will not actually turn off. Back light stays on.

NOTE: Also reproducible with tweaks that give option to restart phone (Poweroptions)

Device (please complete the following information):**

iOS Version: 12.1
iOS Device: iPhone XR
unc0ver Version: 3.7.0~b1

Place an "x" between the brackets if true:

[x] this is a bug others will be able to reproduce
[x] this issue is present with all tweaks uninstalled(except for default packages) or disabled
[x] this issue is present after a rootfs restore
[x] this issue is present on the latest version of unc0ver

Same to me

Same here, ios 12.4 latest unc0ver version 11,6 iphone xs max

So far about 1 out of 3 the phone will eventually hard-reset after a power-off instead of just hanging indefinitely.  When hanging the CPU will get noticeably hot.  Phone remains on the network (via wifi), pingable, and ssh still connects.  Issuing a reboot from shell prompt will result in phone going offline and eventually (after about two-three minutes) hard-resetting.

Same to me

sometimes it happens and I'm second guessing that it is actually not hanging, just takes too long to shut down because once or twice I waited long enough it eventually shut down or rebooted.

Issue fixed on b2 & b3 if I remember.


Initial setup procedure/script not complete

Description
The initial setup step make checkout:
https://github.com/epfl-si/wp-dev/blob/e7d17b0cc036a3cc97721bc2dfc3e2b2d2d02b5b/README.md?plain=1#L17
needs to have (I believe) as a prerequisite:

eyaml installed >= 3.2.0
The 'suitcase' installed

In fact, having the suitcase should be enough, as it provides the necessary eyaml

Hello dear colleagues, would you be so kind as to schedule a 1-hour meeting with me to sort this out together?

Do we get this message out of a fresh `make checkout`, or not?

Do we get this message out of a fresh make checkout, or not?
To my memory i don't think so

Btw, in case, I have added some information about this problem directly in the readme Ln 11 https://github.com/epfl-si/wp-dev/commit/4ff17be09e34677ef5ea7e4a6c81003d6c7b16ac

I can reproduce the issue, and in my case it was due to a broken /usr/local/bin/eyaml (caused by upgrading Ruby without reinstalling all the gems).

@obieler what's the follow up on this?


Update to latest Gamelift SDK

We (StrangeQuest) have an open support issue with Gamelift that we can’t take any further now until we’ve updated our Gamelift SDK/wrapper. They claim/hope that updating will help resolve some SDK disconnects.

Andreas found out that Ted forked your repo and made a change to gamelift.cpp:GameLift_OnHealthCheck(), basically commented out the whole impl and always return true.
You can find it here, tho I'm not sure what to do with this information...
https://github.com/strangequest/defold-gamelift/blob/master/gamelift/src/gamelift.cpp

Created a branch: https://github.com/britzl/defold-gamelift/tree/update_to_gamelift_3.3.0
The branch contains the latest version of the Gamelift SDK (3.3.0) with libs built for OSX.
I'd appreciate if you could download the SDK and build for Linux and make a PR once you've verified that it works
Building on OSX and Linux is super simple. It should be enough to follow the basic build instructions from the readme:
mkdir out
cd out
cmake ..
make

And then copy the libs from out/prefix/lib/ to the gamelift extension

Upgraded to 3.3.0, merged and released:
https://github.com/britzl/defold-gamelift/releases/tag/1.1.0


docs(p2p/conn): fixed links and comments regarding our STS protocol implementation

As per title.

PR checklist

[ ] ~Tests written/updated~
[ ] ~Changelog entry added in .changelog (we use unclog to manage our changelog)~
[x] Updated relevant documentation (docs/ or spec/) and code comments

Related to this discussion: https://github.com/cometbft/cometbft/issues/4350


[FLINK-10918][rocks-db-backend] Fix incremental checkpoints on Windows.

What is the purpose of the change
This solves the bug that Paths are handled wrong on Windows, breaking incremental checkpoints.
The bug manifests in errors like
org.rocksdb.RocksDBException: Unexpected error for: /C:/Users/ewens/AppData/Local/Temp/... ...-77c716fd2ade/chk-682375462378: The filename, directory name, or volume label syntax is incorrect.

The bug was caused by wrong path handling logic on Windows. RocksDB's initial native checkpoint (flush/hardlink) needs to go lo the local filesystem anyways, so we can directly use local path class for that, which does not suffer from cross-platform escaping issues.
Brief change log

Replace use of org.apache.flink.core.fs.Path with java.nio.file.Path in RocksDB incremental checkpoint classes.

Verifying this change
This change is already covered by the tests for RocksDB checkpointing.
Does this pull request potentially affect one of the following parts:

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

Documentation

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

Urg, that a nasty "gotcha". Will move this as a helper into FileUtils.

Interestingly, with proper eager closing of the directory streams, this workaround is also no longer necessary: https://github.com/apache/flink/pull/11095/files#diff-718b96155a7544f30a64f3f389faea3fR67

@carp84 @Myasuka @klion26 Let me know if you are interested in reviewing this. Otherwise I would merger this in the next days.

Thanks for the note @StephanEwen, checking now.

Thanks you for the reviews.
Merging this...

Cherry-picked to release-1.10 and made sure the travis build could pass. Pushing the commit to release-1.10 now.


[BUG] secrets not ignored in .infisicalignore on subsequent scans

Description
I may be misunderstanding how Infisical works due to a lack of experience with the tool, but when I place the fingerprints of the secrets that I need to be ignored in the .infisicalignore file, they are not ignored on subsequent runs of the check (which produces a different fingerprint).
Logs
Example:
In a PR the first scan may have these results:
5:22PM INF scanning for exposed secrets...
5:23PM INF 1 commits scanned.
5:23PM INF scan completed in 51.6s
5:23PM WRN leaks found:15

sample:
1234567890abcdef1234567890abcdef12345678:wp-content/plugins/akismet/class.akismet-rest-api.php:generic-api-key:396
1234567890abcdef1234567890abcdef12345678:wp-content/plugins/genesis-blocks/src/blocks/block-author-profile/deprecated/2.0.0/utils/migrate.test.js:generic-api-key:16
1234567890abcdef1234567890abcdef12345678:wp-content/plugins/genesis-blocks/src/blocks/block-author-profile/deprecated/2.0.0/utils/migrate.test.js:generic-api-key:36
...

After updating the .infisicalignore file, subsequent updates in the PR that trigger the check again have a different fingerprint for the same files:
5:39PM INF scanning for exposed secrets...
5:40PM INF 1 commits scanned.
5:40PM INF scan completed in 51.6s
5:40PM WRN leaks found: 15

sample:
87654321fedcba0987654321fedcba0987654321:wp-content/plugins/akismet/class.akismet-rest-api.php:generic-api-key:396
87654321fedcba0987654321fedcba0987654321:wp-content/plugins/genesis-blocks/src/blocks/block-author-profile/deprecated/2.0.0/utils/migrate.test.js:generic-api-key:16
87654321fedcba0987654321fedcba0987654321:wp-content/plugins/genesis-blocks/src/blocks/block-author-profile/deprecated/2.0.0/utils/migrate.test.js:generic-api-key:36
...

Screenshots
No response
Additional information
No response

Hi @cpritchett, how did you run the check the second time? Were they part of the same GIT baseline?
If the commits with the secrets differ each time, you should not use the fingerprint but another method to ignore the "false positive" secret leak.
Here, you can understand better how the Infisical CLI works and ignores secrets:

https://infisical.com/docs/cli/scanning-overview#creating-a-baseline
https://infisical.com/docs/cli/scanning-overview#infisical-scan-ignore
https://infisical.com/docs/cli/scanning-overview#infisicalignore

Hi @guibranco thank you for the clarification.  I believe I was using .infisicalignore how I needed to be using infisical-scan.toml and establishing the baselines.  I have some repositories that include upstream dependencies that unfortunately will always have some code being pulled in that includes "example" api keys and such, so I'll just need to exclude those files/paths.


"type" at the top of loot_table is missing

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


siibra cache is not thread-safe

I just encountered an error while running parallel siibra calls from many different processes (through snakemake):
[Errno 2] No such file or directory: '/home/cschiffer/.cache/siibra.retrieval/56458555fc977a3234ba8523b554bc2eced8d2594e2efe52462e52e23638de6b_temp.lock'
  File "/mnt/ssd1/code/bigbrain_dl_feature_analysis/snakemake/bigbrain_features/Snakefile", line 172, in __rule_cortical_layer_meshes
  File "/mnt/ssd1/code/siibra-python/siibra/__init__.py", line 26, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/core/__init__.py", line 16, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/core/atlas.py", line 16, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/core/space.py", line 20, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/locations/__init__.py", line 17, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/locations/point.py", line 16, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/locations/boundingbox.py", line 16, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/locations/pointset.py", line 18, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/retrieval/__init__.py", line 16, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/retrieval/repositories.py", line 16, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/retrieval/requests.py", line 16, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/retrieval/cache.py", line 136, in <module>
  File "/mnt/ssd1/code/siibra-python/siibra/retrieval/cache.py", line 66, in instance
  File "/mnt/ssd1/code/siibra-python/siibra/retrieval/cache.py", line 82, in run_maintenance
  File "/mnt/ssd1/code/siibra-python/siibra/retrieval/cache.py", line 82, in <listcomp>
  File "/home/cschiffer/mamba/envs/atlas/lib/python3.11/concurrent/futures/thread.py", line 58, in runRuleException:

The same error occurred for multiple parallel processes at the same time. This makes me assume that the file-based cache that siibra uses internally is probably not thread-safe. I had a quick look at the code of the cache, in particular the run_maintenance function. This function seems to delete some previously identified files from the cache. However, there is no check to handle the case where another process deletes a file after it was found in the folder. As I see it, this is indeed not safe to use from multiple processes/threads.
Checking whether a file still exists before deleting it, or putting a lock around cache modifications in general could solve this issue (although the latter probably would have some performance implications).

Hey @AhmetNSimsek , just wanted to check what the status here is. #496 was not merged as far as I understood, so was anything implemented to address thread safety? My ancient siibra version (0.4a77) is not thread-safe, but before (finally) going through the effort of updating, I wanted to be sure that it is worth it wrt. thread safety.

For future reference, setting export SKIP_CACHEINIT_MAINTENANCE=True to disable the cache maintenance altogether works as a workaround.


support GOMAXPROCS env variable

Issues associated with this PR
Sign the CLA
Solutions
GOMAXPROCS 优先级最高，其次配置项"processor"， 最后是默认值 runtime.NumCPU()
UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases.
And you need to show the ut result.
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result
Code Style

Make sure Goimports has run
Show Golint result

LGTM


Add support for Python 3.8, drop EOL 3.4

sudo: no longer has any effect in .travis.yml, and the default is Xenial, so the matrix can be simplified.

thank you!


Add Listeners API

Fixes #7
Add a simple API for "listening" to events and triggering a callback function when an event happens. The API is particularly useful for extension/plugin authors who might trigger extra logic when an event fires.
This could be achieved by adding a handler and routing it to some stream, then listening to that stream. But that is quite complicated for most usecases. Also, handlers are really reserved for consumers of the eventloggers parent application. This listeners API is meant to be used by extension authors looking to hook into events and extend them.
Todo:

[x] Unit tests
[x] Documentation

This is ready for a review 😎. This should be merged after #12 and will need to be rebased before merging. Otherwise, the main logic is in place.

Thanks! Merging!


[tool_crash] ArgumentError: Invalid argument(s): Invalid type for "path": null

Command
flutter create --template app --overwrite .

Steps to Reproduce

...
...
...

Logs
ArgumentError: Invalid argument(s): Invalid type for "path": null
#0      FileSystem.getPath (package:file/src/interface/file_system.dart:160:7)
#1      LocalFileSystem.directory (package:file/src/backends/local/local_file_system.dart:23:41)
#2      ErrorHandlingFileSystem.directory (package:flutter_tools/src/base/error_handling_io.dart:130:24)
#3      _templateImageDirectory (package:flutter_tools/src/template.dart:369:21)
<asynchronous suspension>
#4      Template.merged (package:flutter_tools/src/template.dart:129:16)
<asynchronous suspension>
#5      CreateBase.renderMerged (package:flutter_tools/src/commands/create_base.dart:428:31)
<asynchronous suspension>
#6      CreateBase.generateApp (package:flutter_tools/src/commands/create_base.dart:447:23)
<asynchronous suspension>
#7      CreateCommand.runCommand (package:flutter_tools/src/commands/create.dart:292:31)
<asynchronous suspension>
#8      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1140:27)
<asynchronous suspension>
#9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#10     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#11     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#13     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
<asynchronous suspension>

[✓] Flutter (Channel stable, 2.8.1, on macOS 12.2.1 21D62 darwin-x64, locale en-TH)
    • Flutter version 2.8.1 at /Users/staff/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (4 months ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/staff/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)

[✓] VS Code (version 1.66.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 100.0.4896.60

• No issues found!

Flutter Application Metadata
No pubspec in working directory.

Duplicate of #56811


use initializer through config file

Hi,
Thanks a lot for creating this project, it's very helpful.
At the moment I have a db initializer that inherits from SqliteCreateDatabaseIfNotExists. If I create this custom initializer in db context OnModelCreating() and pass in DbModelBuilder, everything's working fine. However, if I specify this initializer in app.config:
<databaseInitializer type="..." />

It throws exception, since SqliteCreateDatabaseIfNotExists doesn't have default constructor. Is there anyway to config this in config file? I like the flexibility of config file approach, since I can change initializer without re-compiling the code
Thanks

Hello
Unfortunately, the constructor parameter is necessary because of the approach which I use to generate the SQLite-SQL to create the database. So thats the reason why you have to set the initializer in the "OnModelCreating" method of the context, where you have access to the DbModelBuilder.
However you are free to write your own config to determine the initializer to use but you can not use the default configuration to achiev this goal.
Regards


Experimental needs update

it is getting hung up on veryifying installation for 15 min already, not sure if it is due to the new engine Coffee Stain is using but cant make a server in experimental. i would try and fix it but i don't even know where to begin.

In addition, it provides
<Fail to install [ERROR] Exit code: 0>

which I've been unable to find reference to

Place Update Plugin vor 1.23.1


Unable to use all parameters in automation

Some of the parameters provided, mainly the ones that do not contain numerical values, can be used in Home Assistant automations.
Example:
Would like to build an automation to alert me when the car has been charged. I can create an automation and set an initial variable of battery level (the system gives me an above and below field),

but when I want to set an additional (and) variable for charge cable status (which van be connected or not connected), there is no way to select these options and the system trows an error.

i'll take a look on it

I tested with using the entity instead of device and can confirm this is indeed working, thanks for the hint.
Reasoning for this additional if statement in the automation is to prevent situations  when the API times out or is not available whilst the charging happens and then trowing the notification at a random moment whilst driving with a charge of above 80%. Had this already happen a couple of times with the unreliable Polestar backend/connectivity. Now it should at least not do this when there is no cable connected.


[REF-2111] ~x versus x==False gives different result

Describe the bug
I expected ~x to behave like NOT x, but it seems it gives undefined result. x==False gives correct result. It also seems to freeze frontend without error messages, I need to restart backend and open new browser tab.
BTW all frontend JS errors forces me to restart backend and open new tab, it is quite trying during development. If I remember well, this was not like this with 0.4.0, but I am not sure.
To Reproduce
def comp() -> rx.Component:
    x=True
    return rx.vstack(
        rx.text(rx.cond(~x,"true","false")),
        rx.text(rx.cond(x==False,"true","false"))
    )

Python Version: 3.11.2
Reflex Version: 0.4.2
OS: debian 12

REF-2111

Yikes here is the difference in the compiled output
export function Text_eef7389a7d4169ca9241a296ec8b3a89() {
  return (
    <RadixThemesText as={`p`}>
      {`not x`}
      {isTrue(-2) ? `true` : `false`}
    </RadixThemesText>
  );
}

export function Text_f9aa3d5157d07f79983bbece59b54027() {
  return (
    <RadixThemesText as={`p`}>
      {`x == False`}
      {isTrue(false) ? `true` : `false`}
    </RadixThemesText>
  );
}

It seems that ~x is turning the False into -2...
>>> ~True
-2

Because x is just a bool at compile time, and not an rx.Var, the special override for ~ operator is not applied.
Changing the code sample provided to x = rx.Var.create(True) seems to produce the expected behavior.
Not sure if there is a fix in the framework that can accomodate this, but thanks for raising it and we'll consider our options.

It doesn't seem there is anything that we could do on our end. Some thoughts:

You can force a python primitive into a Var with rx.Var.create as noted above, which would handle things fine. It also accepts a Var just fine, so it's safe to always pass the value to it in case it could be int | Var.
If you want to use python primitives directly, use not instead.


Refused to answer several times a basic cuda question

Type: Bug
Refused to answer, and no even with vs insiders not restarting the program allows me. I feel I am paying for nothing.
Extension version: 0.22.2024100702
VS Code version: Code 1.94.2 (384ff7382de624fb94dbaf6da11977bba1ecd427, 2024-10-09T16:08:44.566Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info

Item
Value

CPUs
Intel(R) Pentium(R) CPU G4560 @ 3.50GHz (4 x 3504)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
undefined

Memory (System)
23.89GB (9.58GB free)

Process Argv
--crash-reporter-id dc00ab32-bd38-4d43-9791-c064ad6c5af7

Screen Reader
no

VM
0%

This issue does not satisfy the minimal quality standards for an issue that we would like to see in this repository.
Reproducible steps using English with latest VS Code are what helps us a lot. So please feel free to open a new issue with steps.
Thus I will go ahead and close this one.
Thank you


Error when running ./semi-party.x -F -N 3 -I -p 0 vfl_decision_tree

When I run ./semi-party.x -F -N 3 -I -p 0 vfl_decision_tree in Docker, I get the following error: qemu: uncaught target signal 4 (Illegal instruction) - core dumped Illegal instruction. Any idea what's causing this?

I also have this problem. Is there any solution

If you can compile the program but failed to run it, you may check the machine's configuration and the OS you are using. Please refer to this issue https://github.com/data61/MP-SPDZ/issues/136 under MP-SPDZ for more information.

邮件已收到

邮件已收到


Add Grades Attribute for person

Add Attribute to classes
Add unit tests
//TODO:
Add to Read Only Person,
Update addcommand add unit test
Update editcommand and unit test
Add attribute to the UI to be displayed

Coverage decreased (-0.6%) to 91.936% when pulling bbc5931af2bf2d9b5185d4f6a3a0a9790132c4fd on lincredibleJC:feature/AddGradesAttribute into af671b2cae9d33b6e6e29bf7312d92384d52d169 on CS2103AUG2017-T16-B2:master.

Coverage increased (+0.08%) to 92.689% when pulling 87f52153bb330f0f02441ca8349509b677eb8ac5 on lincredibleJC:feature/AddGradesAttribute into ab7dd4d9eadbf4e5b41fcad84bbd418920e90be1 on CS2103AUG2017-T16-B2:master.


[Support] Firewall enabled by default?

Hi there, first of thanks for the great work.
I have a rather simple question I couldnt find an answer to. Is there a firewall (uf) enabled by default? Meaning I install pivpn on a naked Ubuntu Server. Even though I am only forwarding 443 from my router to the pivpn machine, I am not fully sure, how much additional hardening is reuqired (e.g. enable ufw, disable ssh) etc.
Additional question, when installing it on a standard raspbian, would there be any security issue leaving standard pi credentials? (Of course I change them, I am more asking to understand the security concepts behind).

Is there a firewall (uf) enabled by default?

On a clean install of Raspbian (and many other distros), the firewall permits everything. PiVPN only adds the minimum amount of rules required to poke into the firewall (also supports ufw).

I am not fully sure, how much additional hardening is reuqired (e.g. enable ufw, disable ssh) etc.
Additional question, when installing it on a standard raspbian, would there be any security issue leaving standard pi credentials? (Of course I change them, I am more asking to understand the security concepts behind).

https://wiki.ubuntu.com/BasicSecurity and https://www.raspberrypi.org/documentation/configuration/security.md. Please note that if you install ufw AFTER PiVPN you will need to manually add several rules.

Thank you for the answer! This means harden the system and then install pivpn, thanks also for the links, maybe a little hint on the download page would be good, I could imagine some noobs opening their Pis to the internet :-)
Overall I am really amazed by pivpn - it is such a charm to have both (openVPN and Wireguard) installed in the blink of an eye


[VS Code] [Audio] HTTPS request failed for SkypeToken: Parse Error: JS Exception

Error:
HTTPS request failed for SkypeToken: Parse Error: JS Exception
Steps to Reproduce:

Restart VS Code because it won't start a live share session (#3431)
Start a new live share session
Try to start an Audio Call within the new session

Live Share Logs.zip

Version Data

extensionName
VSLS-Audio

extensionVersion
0.1.84

applicationName
VSCode

applicationVersion
1.44.2

platformName
MacOS

platformVersion
18.7.0

We released a fix for this issue. Now available in the Marketplace Live Share Audio v 0.1.85. Please let us know if you're still hitting this after an update. Thanks for the help!