doco-cd tries to run test.compose.yml after triggering webhook

First of all, this is my docker-compose.yml:
user@server::~/docker/gitops$ cat docker-compose.yml
services:
  app:
    container_name: doco-cd
    image: ghcr.io/kimdre/doco-cd:latest
    restart: unless-stopped
    ports:
      - "82:80"
    environment:
      GIT_ACCESS_TOKEN: my_github_token
      WEBHOOK_SECRET: my_webhook_secret
    group_add:
      - "996"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Behind port 82 is a reverse proxy which is listening for webhooks on a subdomain. Lets call it sub.domain.com
This is my docker log for doco-cd:
{"time":"2024-10-11T19:06:48.19927499Z","level":"debug","msg":"repository cloned","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b","repository":"Staubgeborener/gitops","path":"/tmp/Staubgeborener/gitops"}
{"time":"2024-10-11T19:06:48.199332994Z","level":"debug","msg":"retrieving deployment configuration","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b","repository":"Staubgeborener/gitops"}
{"time":"2024-10-11T19:06:48.199745173Z","level":"debug","msg":"deployment configuration retrieved","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b","repository":"Staubgeborener/gitops","stack":"test","reference":"refs/heads/main","config":{"Name":"test","Reference":"refs/heads/main","WorkingDirectory":".","ComposeFiles":["test.compose.yml"],"RemoveOrphans":true,"ForceRecreate":false,"ForceImagePull":false,"Timeout":180,"BuildOpts":{"ForceImagePull":false,"Quiet":false,"Args":null,"NoCache":false}}}
{"time":"2024-10-11T19:06:48.211445635Z","level":"info","msg":"deploying stack","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b","repository":"Staubgeborener/gitops","stack":"test","reference":"refs/heads/main"}
{"time":"2024-10-11T19:06:49.183027377Z","level":"error","msg":"failed to deploy stack","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b","repository":"Staubgeborener/gitops","stack":"test","reference":"refs/heads/main","error":"container test-hello_world-1 exited (0)","compose_files":{"files":["test.compose.yml"]}}
{"time":"2024-10-11T19:06:49.18309603Z","level":"error","msg":"deployment failed","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b","repository":"Staubgeborener/gitops"}
{"time":"2024-10-11T19:06:49.183212713Z","level":"debug","msg":"cleaning up","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b","repository":"Staubgeborener/gitops","path":"/tmp/Staubgeborener/gitops"}

My triggered webhook gets the error code 500 in GitHub
Headers:

Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 8d11211cbcd77ffd-IAD
Content-Length: 154
Content-Type: application/json; charset=utf-8
Date: Fri, 11 Oct 2024 19:06:49 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=FXqXYR%2FQcOuLQzTCxu8ndZlaB3nhQ6%2F%2BXzFaFLBkpNp%2FL%2BrQ1RWkS%2BIaN5%2FQh8sHWzWrp%2BhlI5Htb95Ec8XBCIjlM%2FXC6X4Y%2BXwu1x2edo%2B2VaY3l4LW0N10Hkt%2BM5lcEVC8JJCwN1fokw0l"}],"group":"cf-nel","max_age":604800}
Server: cloudflare
X-Content-Type-Options: nosniff

Body:

{"error":"failed to deploy stack: container test-hello_world-1 exited (0)","details":"deployment failed","job_id":"1b53aced-0fc7-4fae-89ef-29e97d6a680b"}

.doco-cd.yml:
name: test
reference: refs/heads/main
compose_files:
  - gatus-compose.yml

gatus-compose.yml is my "test compose" file.
All files, docker-compose.yml (doco-cd), gatus-compose.yml, .doco-cd.yml are in the same directory. I can't see any connection to test.compose.yml.

whoops my mistake, my .doco-cd.yml has pointed to the test.compose.yml.

Huh that's weird, I cant recreate the issue. :/
Could you please tell me which url you specified in the webhook settings?

I found the issue, there was an old .doco-cd.yml in my GitHub (remote!) repository, which has this "test config". In my local repository was the correct .doco-cd.yml. I updated the remote one with the content i mentioned above and it seems to work more or less. I thought doco-cd is just using the local one, my bad.
New issue:
Like i said i am using a gatus-compose.yml for testing. The content is very basic:
version: "3.9"
services:
  gatus:
    container_name: gatus
    image: twinproduction/gatus:v5.1.0
    restart: always
    network_mode: host
    volumes:
      - ./config:/config

When i change the version number (like from gatus:v5.5.0 to gatus:v5.1.0) i would expect doco-cd to get this new version number from my remote repo and update the gatus-copmpose.yml on my local repository. But wat actually happens:
user@server:~$ docker logs --since 1h doco-cd
{"time":"2024-10-12T07:14:35.231535779Z","level":"debug","msg":"received webhook event","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5"}
{"time":"2024-10-12T07:14:35.231942414Z","level":"info","msg":"preparing stack deployment","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops"}
{"time":"2024-10-12T07:14:35.231960162Z","level":"debug","msg":"cloning repository to temporary directory","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops","url":"https://github.com/Staubgeborener/gitops.git"}
{"time":"2024-10-12T07:14:35.231971452Z","level":"debug","msg":"repository is private","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops"}
{"time":"2024-10-12T07:14:35.799740785Z","level":"debug","msg":"repository cloned","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops","path":"/tmp/Staubgeborener/gitops"}
{"time":"2024-10-12T07:14:35.799781207Z","level":"debug","msg":"retrieving deployment configuration","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops"}
{"time":"2024-10-12T07:14:35.800159658Z","level":"debug","msg":"deployment configuration retrieved","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops","stack":"test","reference":"refs/heads/main","config":{"Name":"test","Reference":"refs/heads/main","WorkingDirectory":".","ComposeFiles":["gatus-compose.yml"],"RemoveOrphans":true,"ForceRecreate":false,"ForceImagePull":false,"Timeout":180,"BuildOpts":{"ForceImagePull":false,"Quiet":false,"Args":null,"NoCache":false}}}
{"time":"2024-10-12T07:14:35.807146283Z","level":"info","msg":"deploying stack","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops","stack":"test","reference":"refs/heads/main"}
{"time":"2024-10-12T07:14:45.918802237Z","level":"info","msg":"deployment successful","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops"}
{"time":"2024-10-12T07:14:45.918945369Z","level":"debug","msg":"cleaning up","job_id":"3201f85f-c1c5-4562-9067-f53b15b391f5","repository":"Staubgeborener/gitops","path":"/tmp/Staubgeborener/gitops"}

checking the gatus-compose.yml locally:
user@server:~$ cat ./gatus-compose.yml
version: "3.8"
services:
  gatus:
    container_name: gatus
    image: twinproduction/gatus:v5.5.0
    restart: always
    network_mode: host
    volumes:
      - ./config:/config

Still the old gatus:v5.5.0 and not gatus:v5.5.0 like in my remote repository.

When a job gets triggered, doco-cd clones the remote repository, then reads the config file(s) and deploys from the branches you specified there. So if you need changes to be deployed, you need to push them first to your remote.
There is also the force_image_pull option in the deploy settings, that tells docker to always pull the image, even if the tag is the same as the deployed state (useful if you use e.g. latest), otherwise it gets skipped.

Ok thanks, what about the config question? No chance to pull a config from a remote repository so i always need the config itself on my local repository?

It depends, if you only need read access, you could use it like you specified it or docker configs:
services:
  gatus:
    container_name: gatus
    image: twinproduction/gatus:v5.5.0
    restart: always
    network_mode: host
    configs:
      - source: my_config
        target: /config

configs:
  my_config:
    file: ./config

Otherwise you need to use docker volumes
services:
  gatus:
    container_name: gatus
    image: twinproduction/gatus:v5.5.0
    restart: always
    network_mode: host
    volumes:
      - config:/config

volumes:
  config:

Since the entire repo is cloned and used for deployments.

Sorry for deleting the post, that was bad timing.
I will close this issue and play around with doco-cd.

I need to reopen this issue as i don't get the config section to work. In my remote repository is a folder "gatus" which has a docker-compose.yml and a config.json file.
This is my .doco-cd.yml:
name: gatus
reference: refs/heads/main
working_dir: gatus
compose_files:
  - docker-compose.yml

This is the compose file:
services:
  gatus:
    container_name: gatus
    image: twinproduction/gatus:v5.5.0
    restart: always
    network_mode: host
    volumes:
      - config:/config

volumes:
  config:

This is working, doco-cd pulls the content and deploys the container.
Nope nothing, if i check the docker logs i see that there is a error regarding "no config file found".
Do i need the config file local? Or remote? Or both?

Seems like there is a weird bug/behavior in docker when files are mounted from inside a container to another. I maybe know why and how to work around that issue, but let me investigate it further.

This also happens when I try to mount a file from my host to a container.


Allow type definition for public class methods without specifying a method name.

Search Terms
Class method signature typing.
Function signature typing.
Contract class methods.
Interface function method signature.
Suggestion
It would be useful to create a method (a function, not arrow function) signature without having to define the method name, allow typing for arguments and return types in interfaces. Currently you can only define such signatures for arrow functions, see below:
type Adapter<T, U extends Message> = {
    [P in keyof T]: () => Promise<U>
};

Which can be implemented for method declaration such as:
class ExampleAdapter1 implements Adapter<ExampleAdapter1, MessageTypeOne> {
    public readonly getExamples = async (): Promise<MessageTypeOne> => {
        return Promise.resolve(new MessageTypeOne());
    }
}

A function cannot be typed, only arrow functions can.
The issue arises if you wish to define a return type for your methods with AsyncGenerator<U>, arrow functions cannot be defined as a generator. Hence you are unable to define a method signature contract for your classes.
Use Cases
To be able to create an interface to a class which allows only a single (or more) yielding or returning datatypes for all methods, regardless of method name.
This allows for a stricter class definition, which can be used as a interface against an implementor or user of the class. For example, you may wish to have a service which all methods should respond with a specific extendable datatype. Meaning that the service class can be dropped inbetween two layers of an architecture. This should allow tslint/typescript to warn the developer of invalid service method definitions.
This new defintion should only apply to public methods in a class.
Examples
Example of implementation:
class Message {
    payload: any;
}

class MyMessage extends Message {}

/**
 * Example of possible syntax for type declaration
*/
type AdapterMethod<T extends Message> = function(): AsyncGenerator<T>;

type Adapter<T, U extends Message> = {
    [P in keyof T]: AdapterMethod<U>;
};

class MyAdapter implements Adapter<MyAdapter, MyMessage> {
    public async * getStuff(): AsyncGenerator<MyMessage> {
        yield new MyMessage();
    }
}

class MyIterator {
    public async iterate(method: AdapterMethod<MyMessage>): Promise<void> {
        for await (const message of method()) { // message is a MyMessage type
            //... doSomethingWithMessage(message);
        }
    }
}

const it = new MyIterator();
const ad = new MyAdapter();
it.iterate(async function* (): AsyncGenerator<MyMessage> {
    /**
     * Pipe generator yield to Iterator
     */
    yield* ad.getStuff();
});

Examples of definitions
type AdapterMethod<T extends Message> = function(): AsyncGenerator<T>;
type AdapterMethod<T extends Message> = function(arg: string): AsyncGenerator<T>;
type AdapterMethod<T extends Message> = function(): Promise<T>;
type AdapterMethod = function(): string;

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

A function cannot be typed, only arrow functions can.

There seems to be some conceptual confusion here; the type system already works the way you want it to. The syntax () => string in a type position refers to any function returning a string, not just arrow functions. It's the same as writing { (): string; } which similarly has no implications around arrow functions vs non-arrow function expressions.

@RyanCavanaugh You're completely correct, I must of do something wrong. Here is my new test which is completely workable. Thank you and sorry for the confusion.
interface Message {}

class MessageTypeOne implements Message {
    payload: string;
}

type MooFunc<U> = () => AsyncGenerator<U>;

type Adapter<T, U extends Message> = {
    [P in keyof T]: MooFunc<U> | number | boolean | string | any[];
};

class ExampleAdapter1 implements Adapter<ExampleAdapter1, MessageTypeOne> {
    public bar = 'no'; // All Good
    protected foo = 'hello'; // All Good

    /**
     * All Good - correctly throws:
     *
     * Property 'getCats' in type 'ExampleAdapter1' is not assignable to the same property in base type 'Adapter<ExampleAdapter1, MessageTypeOne>'.
     * Type '() => Promise<MessageTypeOne>' is not assignable to type 'string | number | boolean | any[] | MooFunc<MessageTypeOne>'.
     * Type '() => Promise<MessageTypeOne>' is not assignable to type 'MooFunc<MessageTypeOne>'.
     * Type 'Promise<MessageTypeOne>' is missing the following properties from type 'AsyncGenerator<MessageTypeOne, any, unknown>': next, return, throw, [Symbol.asyncIterator]ts(2416)
     */
    public getCats = async (): Promise<MessageTypeOne> => {
        return Promise.resolve(new MessageTypeOne());
    }

    // All Good
    public async *mooCats(): AsyncGenerator<MessageTypeOne> {
        yield new MessageTypeOne();
    }

    // All Good
    protected internalMethod(): void {
    }

    // All Good
    private veryInternalMethod(): string {
        return 'wooo';
    }
}


tablerow columns on other properties of object?

In the example given on tablerow with "cols: 2":

  {{~ tablerow $p in (products | array.sort "title") limit: 4 cols: 2 -}}
    {{ $p.title -}}
  {{ end ~}}

This will give me the title of a second object in the second col. This doesn't seem like a useful feature. Is there a way to make col 2 (and 3, 4, and so forth) reflect other properties of the object? Something like this:

  {{~ tablerow $p in (products | array.sort "title") limit: 4 cols: 2 -}}
    {{ $p.title -}}
    {{ $p.count-}}
    {{ $p.id-}}
  {{ end ~}}

It is mostly here to be backward compatible with how liquid is handling tablerow so not sure we can change this behavior here without a breaking change.
Besides, I don't fully understand what do you propose instead. You have to explicitly select the properties to display with tablerow. It would be less useful to have an hazardous selection of the properties (e.g dictionary are not ordered, so what would be the order for them?)


error of waymore on resolved subdomains

I have this issue with waymore when I run it on the resolved subdomains of the target.
root@ubuntu:~/tools/waymore# cat resolved-subs.txt  | python3 waymore.py
Each line of the input file must contain a domain only (with no schema) to search for all links, or a domain and path (with no schema) to just get archived response for that URL. Do not pass a query string or fragment in any lines. The first line that seems invalid is: extweb-LIM.host.tld
If you believe this is flagged in error, please raise an issue on Github :)

Hi @Otaku95
I have tested this again and it works ok for me. Can you share the first few lines of the resolved-subs.txt file so I can see it might be raising that error?
Thanks

Hi @Otaku95. are you able to share that so I can look into the issue?
Thanks
Xnl

Hi @xnl-h4ck3r. sorry for being late. I checked your source code and found out what my problem was. I had a number of uppercase and invalid subdomains which resolved to private range IPs (i.e 10.0.0/8). so I removed them. now it works. Thank you Xnl.

Thanks for letting me know! Are you able to give me or examples of invalid subdomains so I can handle the errors better?
Thanks

Sure. A part of my large resolved subdomains list which leads to this problem is here. some of them has capital letters in subs section, others resolved to private IP ranges and 3 of them has extra dot at the end of subdomain which happened in my subdomain discovery process and when I checked the file I understood my problem.
I had another problem when I was using this tool, which was the lack of resources on my VPS. I execute your tool on the main domain (dell.com) and after one hours, the process was killed.
abidr09.us.dell.com
81sw-i29.us.dell.com
abi10.us.dell.com
academy-apm-pc1.dell.com
abidr08.us.dell.com
ac05cmsha.us.dell.com
aacgsi2db-cname.us.dell.com
abi12.us.dell.com
abhays.us.dell.com
accessories-ux-p20.ux.dell.com
access-ebi.us.dell.com
account-svc-p61svc.dell.com
academy.ins.dell.com
agileatlas.us.dell.com
extweb-LIM.dell.com
support.euro.dell.com.
Password-emea.dell.com
83sw-b37.us.dell.com
53sw-b32.us.dell.com
22pstmnad0-okta-config.smtptest2.onetest.dell.com

Hi @Otaku95
My apologies for such a long delay in resolving this. The issue with uppercase letters and domains ending in fullstops has been resolved in v1.22 now.
Thanks for using waymore and taking the time to raise an issue.
Regards
Xnl


Multi-Level Yield on Parent's Ready Resumes in Incorrect Order

I am trying to have a portion of the node tree wait until their parents are ready before executing code. My goal is to have a hierarchy of nodes that wait until their parent (or owner) is ready before grabbing a reference to them. It is for a Finite State Machine in the style of GDQuest's FSM Tutorial. I am extending it, however, to allow arbitrarily nested FSMs, in order to create more complex AI.
I know that yield is undergoing a major rewrite in 4.0, so if this isn't going to be fixed before then, I would like some ideas on how to work-around the issue.
Godot version:
v3.3.2.stable.mono.official
OS/device including version:
Windows 10 Pro x64 v 1909 build 18363.1500
Issue description:
Yielding on parent's ready signal works for one level, but if there are more than one level of nodes that yield on parent's ready signal, the children stop waiting before the parent has finished waiting on their parent.
I expect that the parents would finish waiting on their parents before the children return from yielding on parent's ready.

Add this script to each child node.
  func _ready() -> void:
	print("%s waiting on parent %s" % [name, get_parent().name])
	yield(get_parent(), "ready")
	print("%s finished waiting on parent %s" % [name, get_parent().name])

When run, the scene should produce the following in the output window.
A1 Waiting on parent A
A2 Waiting on parent A
A Waiting on parent MVP
B1 Waiting on parent B
B2 Waiting on parent B
B Waiting on parent MVP
MVP Ready
A Finished Waiting on parent MVP
A1 Finished Waiting on parent A    # A1/A2 waits until after A is finished its ready function
A2 Finished Waiting on parent A
B Finished Waiting on parent MVP
B1 Finished Waiting on parent B    # B1/B2 waits until after B is finished its ready function
B2 Finished Waiting on parent B

Instead, it produces the following:
A1 Waiting on parent A
A2 Waiting on parent A
A Waiting on parent MVP
A1 Finished Waiting on parent A     # A1/A2 resume prematurely, as A has just started waiting for MVP
A2 Finished Waiting on parent A
B1 Waiting on parent B
B2 Waiting on parent B
B Waiting on parent MVP
B1 Finished Waiting on parent B     # B1/B2 resume prematurely, as B has just started waiting for MVP
B2 Finished Waiting on parent B
MVP Ready
A Finished Waiting on parent MVP
B Finished Waiting on parent MVP

As can be seen, the nodes A1 and A2 return from yielding on A's ready as soon as A yields on MVP's ready.
Steps to reproduce:

Create a node structure where you have a base node and children node.
To each child created, add another child node.
Attach a script to all children that yields on their parents ready
run the game

Minimal reproduction project:
godot-parent_ready_mvp.zip

This is not a problem with yield, ready signal is emitted independently from the _ready() method. If you want to wait until _ready() method finishes, use a custom signal.

I don't really find it obvious at all. Is there some reading somewhere that could make it more intuitive to me? The timings of the engine notifications, signals, and callback functions are a little fuzzy for me about creating nodes, adding/removing them from the tree, and such.
Looking at the documentation for the signal, it states Emitted when the node is ready. Looking at the _ready method, it again states that it is called when the node is ready. When does the signal fire in relation to the _ready callback?
Inside the _ready() documentation, it mentions that the parent node will receive the ready notification after the children's _ready callbacks get triggered. Does that mean that the ready notification for the parent is triggered before the child _ready function finishes? Is that way it normally happens but yielding in the _ready function causes the parent to receive the notification?
If we cannot rely on the specific order of the ready signal being fired, I'm struggling to see the use cases for this signal.

Well, here's the relevant code:
https://github.com/godotengine/godot/blob/da12086ceb21454aa505847ce4c3c1478c5a4ea6/scene/main/node.cpp#L186-L190
NOTIFICATION_READY will also cause _ready() method to be called. Nowhere inside _ready() method you emit the ready signal, so it should lead to assumption that they are independent. (the signal is emitted from C++ and a script method can't possibly affect it)

Does the _ready function operate in the same thread as the signal? I know that yielding technically causes another thread to spin up, so that probably complicates things.
I'm still confused about how the ready signal seems to be fired after the _ready function is called on the parent consistently when there is only one level. Adding additional levels causes it to lose it's consistency. Unless yielding causes it to begin executing in another thread, in which case it's anybody's guess as to when things will fire in relation to each other.
(Thanks for popping the relevant code!)

yield is a GDScript-only construct. GDScript functions are executed in a completely different way than C++ functions. C++ functions are called natively, i.e. as machine code. GDScript has a higher level of abstraction, it's more similar to Java bytecode and its execution is independent and more flexible (this is also why debugging GDScript is so easy). What yield does is pause a function mid-way and return a function state. The object/signal arguments are optional btw (not in 4.0 tho); if you use them, the signal is connected behind the scenes to resume the function from that state.
So yielding doesn't need any new thread, it just pauses GDScript call, but the main program continues normally.

I appreciate the explanation. I don't think it will help me hammer down the timings of this situation specifically, but it does help me better appreciate just how decoupled GDScript and the C++ for the engine are.
Thanks so much for taking the time to help me understand! If you don't have anything else, I will close the issue.


Provide a way to change orbit attractor

See for example https://gist.github.com/Juanlu001/0a730a29c6aadf69638f909b2895a006

As I wrote in #679:

The original intent of the function was to change the attractor for the Galilean moons from the Sun to Jupiter. This makes sense, because the real attractor of these moons is Jupiter. In fact, if one takes the data of .from_horizons and just .propagate, the results are completely wrong, because the propagation happens as if Jupiter does not even exist.

I think having the possibility to change the attractor of any orbit in this way is quite dangerous. I should have thought about the problem when writing the issue.

However, there is one place where we would benefit from a way to change the attractor:
https://docs.poliastro.space/en/stable/examples/Catch that asteroid!.html
We changed from an heliocentric orbit to a geocentric orbit to study the osculating orbit with respect to the Earth. The important thing to note here is that, while the object of study is within the sphere of influence of the Earth, this makes total sense, and is in fact the basis of the patched conics method.
Therefore, this is a tricky issue because sometimes it makes sense to change the attractor, and sometimes it doesn't. We need to discuss in detail what cases are there before providing an error-prone API.

Let's imagine the Sun and any planet, and some body in the Solar System.

If the body is in a closed orbit around the planet, it always make sense to have the planet as the attractor.

Propagating around the planet ignores the influence of any other body of the Solar System unless explicitly accounted through perturbations, and therefore gives almost perfect results.
Propagating around the Sun ignores the influence of the planet and therefore transforms a spiral heliocentric orbit into a elliptic orbit.

If the body is in an open orbit around the planet, it does make sense to have the planet as the attractor up to a certain point, and it does make sense to have the Sun as the attractor.

Propagating around the planet is correct until the body escapes the planet sphere of influence, and therefore gives correct results which start degrading from that point.
Propagating around the Sun assumes the body already escaped the planet sphere of influence, which gives correct results within the patched conics assumption.

If the body is in an orbit around the Sun (regardless of its nature), it almost always makes sense to have the Sun as the attractor.

Propagating around the Sun correctly assumes that the main gravitational influence is the Sun, but it ignores any flybys the object might make around nearby planets, and therefore it gives correct results within the patched conics assumption.

Almost there in #679. We should simplify the Florence notebook accordingly.

@jorgepiloto said offline that precisely the Florence notebook is an example where the asteroid was outside of the sphere of influence of the Earth, therefore our new APIs will fail. Perhaps we would need an extra parameter, force=False or fail_outside_soi=True, that the user could override if they really wanted to.

Sure! I think the force=True key argument is really explicit

We fixed this in #729!


Access in Router

I've tried many ways to access this.$snotify in Vue 3 router beforeEach.
If you can provide a how-to or find a way to enable this feature, that would be amazing. :)

After you mount the app you could do window.$snotify = app.config.globalProperties.$snotify;
Then call $snotify in your router. (without 'this')

Hi liamrota, thanks for responding.
Here is my main.js:

great, you're welcome


[terraform] Disable container logs in CloudWatch by default

People are finding it difficult to work with logs in CloudWatch, and
they don't seem to provide that much value. Make this configurable and
default to off.
Test Plan: Created mgorven workspace with cloudwatch_logs both on and
off.

Awesome thanks
@bors-libra r+

:pushpin: Commit e46b5e6 has been approved by opsguy

:hourglass: Testing commit e46b5e6f5adb12b22eb8135333cf16f2999d68fe with merge 975580b08328576cb51a40f35ef8f3d1029efdda...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: opsguy
Pushing 975580b08328576cb51a40f35ef8f3d1029efdda to master...


⚠ Bofrost.lu has degraded performance

In f09465e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1310 ms

Resolved: Bofrost.lu performance has improved in 40ad0db after 22 minutes.


Injection of window object

I'm submitting a...

[ x ] Bug report
[ ] Feature request
[ ] Documentation issue or request

In package

[ ] @ng-toolkit/init
[ ] @ng-toolkit/serverless
[ x ] @ng-toolkit/universal

Current behavior
The issue is related to the injection of window object in the constructor. When you inject window object in the constructor it doesn't add  ' , ' to separate other injected objects.
Expected behavior
It can be resolved by injecting window object at the end of all other injected objects or you can add  ' , '  for separation of injected objects.

Hello. Thank you for this report. That will be quick fix. :)

@Kalpesh300 I would never move adding params at the end of params list. The reason is simple. TypeScript will allow you to compile code like that:
constructor(something: string, somethingOther: string,) {}

While to compile this, not:
constructor(something: string,, somethingOther: string) {}

So adding param at the end, must be involved with checking if there is comma or not. It is much easier to just add it at the beginning.


Dependencies in installation

Hello,
Your plugin seems interesting. I struggled a bit to make it run so I am giving you my feedback on this here. Maybe some errors are related to my computer configuration or maybe you could change some dependencies in the conda environments.
I tried with the conda environment provided and I had an error : libGL error: MESA-LOADER: failed to open iris that I have fixed with conda install -c conda-forge libstdcxx-ng.
But then when trying to open the plugin I had this error : RuntimeError: Failed to import command at 'alveoleye._widget:WidgetMain': partially initialized module 'torchvision' has no attribute 'extension' (most likely due to a circular import). I do not know how to fix this.
So I tried to use the other conda environment, the dev one provided in the git. And I had this error when creating the environment but somehow it still was created so I could run napari and open the plugin.
      /tmp/pip-build-env-rlamab7a/overlay/lib/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-bj4lw2_p/pycocotools_275ff1b0863e40cf84285d8ad27f3214/pycocotools/_mask.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling pycocotools/_mask.pyx because it changed.
      [1/1] Cythonizing pycocotools/_mask.pyx
      building 'pycocotools._mask' extension
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/common
      creating build/temp.linux-x86_64-cpython-312/pycocotools
      gcc -pthread -B /home/burgunder/anaconda3/envs/alveolEyeDev/compiler_compat -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/burgunder/anaconda3/envs/alveolEyeDev/include -fPIC -O2 -isystem /home/burgunder/anaconda3/envs/alveolEyeDev/include -fPIC -I/tmp/pip-build-env-rlamab7a/overlay/lib/python3.12/site-packages/numpy/core/include -I./common -I/home/burgunder/anaconda3/envs/alveolEyeDev/include/python3.12 -c ./common/maskApi.c -o build/temp.linux-x86_64-cpython-312/./common/maskApi.o -Wno-cpp -Wno-unused-function -std=c99
      error: command 'gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pycocotools
ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects

failed

CondaEnvException: Pip failed

When I tried to use it with an image, I had to install opencv in the environment so maybe you can add it to the list of dependencies. My error was Failed to import command at 'alveoleye._widget:WidgetMain': No module named 'cv2'.
Thank you for sharing your work

Thank you for the feedback! Making the install process smoother is something we really want to achieve, although anything with pytorch as a dependency is always a little tricky.
It looks like you're running this on a mac - what OS version is this being installed on? We have included opencv-python-headless as one of the dependencies, but perhaps that version of opencv isn't available for your specific mac OS?

I am using Ubuntu 22.04.4 Wayland and conda version : 23.11.0 ; conda-build version : 3.27.0 ; python version : 3.11.5.final.0.
I tried again to create the conda dev environment to see if opencv-python-headless was installed correctly and this time I do not have the long error cited in my previous message. opencv-python-headless was said to be installed correctly.
However this time when I try to activate the plugin, I obtain a similar (but not the same) error that was a blocking point for me last time with the non-dev environment : RuntimeError: Failed to import command at 'alveoleye._widget:WidgetMain': operator torchvision::nms does not exist.


🐛 fix: Optional email service proper handling

Same PR as this but I fixed the git branch history

Thanks for updating. I'd like to use this as an opportunity to refactor the Env parsing to use zod. I assigned myself to this, since the scope of work is smaller and isn't dependent on other things. This way, I can focus on the less critical aspects and you can keep working on the deeper technical FE issues

Closing, as this commit was moved and merged as part of #205


isConnectionDead logs warnings when the connection should simply be closed

We recently encountered an increased number of warnings from hikari, all about failing to validate a connection before borrowing it from the pool. The log line in question is HikariPool-2 - Failed to validate connection org.mariadb.jdbc.Connection@294613b0 ((conn=55230) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
This appears to come from Poolbase.isConnectionDead, which does 2 setNetworkTimeout calls (both before validation to the validationTimeout and afterward to reset the network timeout back to what it was). If the connection was closed due to errors (at least for the mariadb 3.x driver) the setNetworkTimeout call itself results in an SQLException, which is then logged as a warning. The result is a large number (thousands/day) of warnings about the connection being closed from a method that is supposed to determine whether the connection is closed.
This method should not log warnings (maybe info or debug?) when a return value of false is an expected result (e.g. the connection should not be used, evict it).
I think there are 2 ways to fix this:

lower the log level, which is low-impact
do not call setNetworkTimeout before and after the validation, as these calls will throw an SQLException if the connection is closed, while isValid simply returns false. I see this validation was added in #867 (9e9a97508ca12d00dbe7b016f3912d01b096eea5), to guard against network timeouts turning connect timeouts into socket timeouts which are much longer. It seems the mariadb driver mostly ignores this timeout value (see https://github.com/mariadb-corporation/mariadb-connector-j/blob/7f2ff7eb1cfbd74f511eb235ae7fda8936c22810/src/main/java/org/mariadb/jdbc/Connection.java#L704), and if they do it many other drivers will likely do so too. This does not seem like a good option.

Well we found the underlying error: very high system load, likely causing network issues. I'll close this.


tag 1 f/ RandomString t/Tag1 adds tag without error/reference of RandomString (not mentioned added or not)

Perhaps could reference/mention RandomString is discarded, or throw an error

Put in UG for extraneous inputs


Registration troubleshooting

From Jesse:

Just an FYI that this is happening to the new group of sennet members requesting access.

From: Qaurooni, Dan<EMAIL_ADDRESS>Date: Tue, Sep 19, 2023 at 10:55 AM
Subject: Registration Issue
To: SenNet Help<EMAIL_ADDRESS>Hello,
I have been trying to register to the SenNet portal twice and after I enter my info and click submit, I get the error message below and apparently my registration doesn’t go through, since I cannot enter the portal. Please let me know how to proceed.
Thanks!
-Dan

This member had registered and approved. Turned out the email service had issues and failed to generate those confirmation emails to the Admins.
I regenerated the Gmail smtp app password and verified the email notifications are working fine.


[1.10.2] Server Crash with Solar Flux Reborn Infinit Cables (Induction Matrix)

Hey there.
I used the Solar Flux Reborn infinit cable to transfer energy from my mekanism fusion reactor to my mekanism induction matrix. Right after the induction matrix was full, the server crashed.
Its possible to start the server but after a few minutes the server is crashing again.
I dont know if that problem is on the side of mekanism, but i reported it on both sides.
Crashlog: http://pastebin.com/pFucZ3gu
Solar Flux Reborn Issue: https://minecraft.curseforge.com/projects/solar-flux-reborn/issues/10
If you need any other informations, let me know!

It was my problem with not knowing math, oh well... :/
And I fixed it.


Provide example of how to use

I would love to use this, but don't see any documentation how. cargo run --release outputs
USAGE:
    txt2png --color <color> --output <file> --font-size <font-size>

Which appears helpful. But I still can't seem to get it to run after attempting to enter those options.
Can a Usage or Examples section be added to the readme, that shows a complete list of steps to get this to run?

Totally. I was working this project over the weekend, but I didn’t check to see if the binary was working. The cli is using clap, so it should give you some usage info if you run it with no args. I’ll check it out this weekend and add the usage to match. Thanks!

Hey, I just pushed a new version to cargo with some updated features and some changes to the cli output. I just remembered that there is a good usage doc in the cli's folder, so I made that easier to find. For future reference, it's here
https://github.com/RookAndPawn/text-to-png/tree/main/text-to-png-cli
Thanks again for your feedback. I hope you can get some use out of this library :)


Fix build failure on iOS with pnpm and use_frameworks!

Summary:
Fix build failure on iOS with pnpm and use_frameworks! due to cocoapods copying symlinked headers to wrong paths
When using pnpm all packages are symlinked to node_modules/.pnpm to prevent phantom dependency resolution. This causes react-native iOS build to fail because Cocoapods copies headers to incorrect destinations when they're behind symlinks. The fix resolves absolute paths to the header_mappings_dir at pod install time. With absolute paths cocoapods copies the headers correctly.
This commit also adds a few missing header search paths in use_frameworks! mode.
Fixes https://github.com/facebook/react-native/issues/38140
Changelog:

Test Plan:

pnpm pnpx react-native@latest init AwesomeProject
cd AwesomeProject
rm -rf node_modules yarn.lock
mkdir patches
copy<EMAIL_ADDRESS>to patches/
Add patch to package.json

"pnpm": {
    "patchedDependencies": {
<EMAIL_ADDRESS><EMAIL_ADDRESS>    }
}

pnpm install
cd ios
NO_FLIPPER=1 USE_FRAMEWORKS=static pod install
cd ..
pnpm react-native run-ios

Hopefully an automated test of building with pnpm can be added to CI. I don't know how to make that happen, hopefully someone at facebook can do it.

Hopefully an automated test of building with pnpm can be added to CI. I don't know how to make that happen, hopefully someone at facebook can do it.

This would be great. I have the knowledge of how to set up the CI, but no knowledge on how to run pnpm. :P
What is required to set up a simple app with pnpm?

@cipolleschi Just the instructions on the reproduction above. pnpm is a drop in replacement for yarn or npm. Create a react-native app, remove package-lock.json or yarn.lock, then run pnpm install and that's it.

Sorry about that, somehow my patch didn't get fully applied when I made the commit for this PR. I've fixed it now.

@cipolleschi Just the instructions on the reproduction above. pnpm is a drop in replacement for yarn or npm. Create a react-native app, remove package-lock.json or yarn.lock, then run pnpm install and that's it.

I understand... I'm not sure that package is available on CircleCI. How do you install pnpm the first time?

@cipolleschi Just the instructions on the reproduction above. pnpm is a drop in replacement for yarn or npm. Create a react-native app, remove package-lock.json or yarn.lock, then run pnpm install and that's it.

I understand... I'm not sure that package is available on CircleCI. How do you install pnpm the first time?

npm install -g pnpm is the easiest
There are a number of other install methods if they might be more appropriate for CI https://pnpm.io/installation


Property order

This PR is aimed at enforcing the propertyOrder rule of jsonSchema to be able to display the various properties in an object schema according to the propertyOrders.

I have problems examining this PR because it includes changes of another pull requests. It also conflicts with current master (it conflicts with previous PR from you). Could you have a look, please?

I have closed this because I have added the code for propertyOrder to master, that is what this PR is about.
There is a lot of other code that is included in this PR that is not related to this issue. I think that all of it has been included in previous PRs or commits. If it is not the case, please isolate it. Thanks for this, @gastonche.


Add Tung Fam blog on Medium to blogs.json

This PR adds a blog of Tung Fam on Medium to blogs.json

Thanks!


IMPORTANT: the hash of SWaT_Dataset_Normal_v1.csv has changed from the expected hash, meaning process_SWaT.py will no longer function correctly.

Greetings,
I am experiencing a hash mismatch issue with both the normal and attack SWAT data CSV files after downloading and saving them on Ubuntu Linux. I am unsure if the mismatch is due to changes in the data itself or potentially from the way the files are being saved as CSVs. There is also a possibility that the inclusion or exclusion of headers in the CSV files could be affecting the hash values.
Should the CSV headers be included or excluded when saving the files to ensure the hashes match?
Is a specific method or tool recommended for saving the files as CSVs on Ubuntu to prevent hash mismatches?
The described procedure works with WADI data, so I believe there is some issue in transforming SWAT data from xlsx to csv.
I would appreciate guidance on how to correctly handle the file saving to ensure the hashes match. Thank you for your assistance!

Hello! Thank you for noticing this. process_SWaT.py expects that the headers are included, and should be able to handle small things like spaces in column names. But you are right that these discrepencies are affecting the hash matching, and throwing errors when the data is actually the same.
I am also using Ubuntu. If you just downloaded the xlsx, opened it with LibreOffice, and saved it as a CSV such that the first row is the column names, the format should be correct.
I will update the hash script to be more robust and to only check the data values after processing, and I'll close this issue once that update is made. But for now, you should be fine to proceed even if the hashes don't match.

I had the same issue however I use windows. Make sure not to use the UTF-8 encoding when saving. Once I saved as a non encoded CSV it worked just fine.


analog: add configuration option to set DAC FIFO size

Summary
DAC driver uses CONFIG_DAC_FIFOSIZE, but this is not configurable from Kconfig. This adds the missing option and allows to set DAC FIFO size from the configuration.
Impact
New config option. No change in C code.

The CI should be fixed by apache/nuttx-apps#2406


Documention: Hierarchical merge metadata requirement

The documention states:

Note: To perform a hierarchical merge all BOMs need the subject of the BOM described in the metadata component element.

There are no details here as to what this should look like.
When I go to the Python command cyclonedx-bom, I don't see any options for adding this:
usage: cyclonedx-bom [-h] (-c | -cj | -e | -p | -pip | -r) [-i FILE_PATH] [--format {xml,json}] [--schema-version {1.4,1.3,1.2,1.1,1.0}] [-o FILE_PATH] [-F] [-pb] [-X]

CycloneDX SBOM Generator

options:
  -h, --help            show this help message and exit
  -c, --conda           Build a SBOM based on the output from `conda list --explicit` or `conda list --explicit --md5`
  -cj, --conda-json     Build a SBOM based on the output from `conda list --json`
  -e, --e, --environment
                        Build a SBOM based on the packages installed in your current Python environment (default)
  -p, --p, --poetry     Build a SBOM based on a Poetry poetry.lock's contents. Use with -i to specify absolute path to a `poetry.lock` you wish to use, else we'll look for one in the current working directory.
  -pip, --pip           Build a SBOM based on a PipEnv Pipfile.lock's contents. Use with -i to specify absolute path to a `Pipfile.lock` you wish to use, else we'll look for one in the current working directory.
  -r, --r, --requirements
                        Build a SBOM based on a requirements.txt's contents. Use with -i to specify absolute path to a `requirements.txt` you wish to use, else we'll look for one in the current working directory.
  -X                    Enable debug output

Input Method:
  Flags to determine how this tool obtains it's input

  -i FILE_PATH, --in-file FILE_PATH
                        File to read input from. Use "-" to read from STDIN.

SBOM Output Configuration:
  Choose the output format and schema version

  --format {xml,json}   The output format for your SBOM (default: xml)
  --schema-version {1.4,1.3,1.2,1.1,1.0}
                        The CycloneDX schema version for your SBOM (default: 1.4)
  -o FILE_PATH, --o FILE_PATH, --output FILE_PATH
                        Output file path for your SBOM (set to '-' to output to STDOUT)
  -F, --force           If outputting to a file and the stated file already exists, it will be overwritten.
  -pb, --purl-bom-ref   Use a component's PURL for the bom-ref value, instead of a random UUID

Same with the Node equivalent, @cyclonedx/cyclondedx-npm:
Create CycloneDX Software Bill of Materials (SBOM) from Node.js NPM projects.

Arguments:
  <package-manifest>        Path to project's manifest file. (default: "package.json" file in current working directory)

Options:
  --ignore-npm-errors       Whether to ignore errors of NPM.
                            This might be used, if "npm install" was run with "--force" or "--legacy-peer-deps". (default: false)
  --package-lock-only       Whether to only use the lock file, ignoring "node_modules".
                            This means the output will be based only on the few details in and the tree described by the "npm-shrinkwrap.json" or "package-lock.json", rather than the contents of "node_modules"
                            directory. (default: false)
  --omit <type...>          Dependency types to omit from the installation tree.(can be set multiple times) (choices: "dev", "optional", "peer", default: "dev" if the NODE_ENV environment variable is set to
                            "production", otherwise empty)
  --flatten-components      Whether to flatten the components.
                            This means the actual nesting of node packages is not represented in the SBOM result. (default: false)
  --short-PURLs             Omit all qualifiers from PackageURLs.
                            This causes information loss in trade of shorter PURLs, which might improve digesting these strings. (default: false)
  --spec-version <version>  Which version of CycloneDX spec to use. (choices: "1.2", "1.3", "1.4", default: "1.4")
  --output-reproducible     Whether to go the extra mile and make the output reproducible.
                            This requires more resources, and might result in loss of time- and random-based-values. (env: BOM_REPRODUCIBLE)
  --output-format <format>  Which output format to use. (choices: "JSON", "XML", default: "JSON")
  --output-file <file>      Path to the output file.
                            Set to "-" to write to STDOUT. (default: write to STDOUT)
  --mc-type <type>          Type of the main component. (choices: "application", "firmware", "library", default: "application")
  -V, --version             output the version number
  -h, --help                display help for command

I also can't see a way in this tool to add this metadata information to an existing BOM.
Any guidance greatly appreciated. It would be good to turn it into documentation (and/or added to BOM generation tools).

"Subject" just refers to the metadata.component element of the BOM. metadata.component should be populated by every SBOM generator per default. It will have the details of the project you generated the SBOM for.
The reason for this requirement is that you can't create a hierarchical structure out of two things that do not have an identity themselves.

Thanks - I can try and add it in manually. Now I know what to look for, I can see the NPM tool does it, but the Python tool doesn't.
The Python metadata:
% cat cyclonedx.json | jq '.["metadata"]'
{
  "timestamp": "2023-03-09T09:45:00.033550+00:00",
  "tools": [
    {
      "vendor": "CycloneDX",
      "name": "cyclonedx-bom",
      "version": "3.11.0"
    },
    {
      "vendor": "CycloneDX",
      "name": "cyclonedx-python-lib",
      "version": "3.1.5",
      "externalReferences": [
        {
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib/actions",
          "type": "build-system"
        },
        {
          "url": "https://pypi.org/project/cyclonedx-python-lib/",
          "type": "distribution"
        },
        {
          "url": "https://cyclonedx.github.io/cyclonedx-python-lib/",
          "type": "documentation"
        },
        {
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib/issues",
          "type": "issue-tracker"
        },
        {
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/LICENSE",
          "type": "license"
        },
        {
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md",
          "type": "release-notes"
        },
        {
          "url": "https://github.com/CycloneDX/cyclonedx-python-lib",
          "type": "vcs"
        },
        {
          "url": "https://cyclonedx.org",
          "type": "website"
        }
      ]
    }
  ]
}

Given the above, I think I'd suggest two changes:

make the documentation slightly clearer on what's required - I can probably raise a PR to do this
make the error message from this tool slightly less opaque - it looks like this:

Processing input file fe.cyclonedx.json
   Contains 694 components
Processing input file cyclonedx.json
   Contains 58 components
Unhandled exception: CycloneDX.Utils.Exceptions.MissingMetadataComponentException: Required metadata (top level) component is missing from BOM urn:uuid:6cb39f39-bd95-401a-ac13-0176b71db09a.
  at CycloneDX.Utils.CycloneDXUtils.HierarchicalMerge(IEnumerable`1 boms, Component bomSubject)
  at CycloneDX.Cli.Commands.MergeCommand.Merge(MergeCommandOptions options)
  at System.CommandLine.Invocation.CommandHandler.GetExitCodeAsync(Object value, InvocationContext context)
  at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
  at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass27_0.<<UseVersionOption>b__1>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass25_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__24_0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseDebugDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
  at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseExceptionHandler>b__0>d.MoveNext()
%

Noticed this is an open bug in the library repo: https://github.com/CycloneDX/cyclonedx-python/issues/391

Noticed this is an open bug in the library repo: CycloneDX/cyclonedx-python#391

not a bug, but a feature nobody was ever willing to contribute. pullrequests are welcome.


Add ibc-setup ics20

Performs the same work as #53 and #54 but automated. You can do those first to get a feel for the steps, or do this first with just one workflow. Ensure the flow is tested, both with creating a new connection, and reusing an existing connection. (Queries from #54 are helpful for testing, but can be done in TS as well)
Implement the workflow defined here

This was done quite some time ago but never closed


aos.js:122 Uncaught TypeError: Cannot read property 'setAttribute' of null

Hi,
I'm trying to use AOS but I can't make it work.
The divs disappear completely from the webpage and I get this error in the console:
'aos.js:122 Uncaught TypeError: Cannot read property 'setAttribute' of null'
I'm referencing the JS file to:

I've tried to do it locally and I get the same error. I'm quite new with CSS and JS so I wonder if this is some kind of bug in AOS or I'm simply doing something wrong.
I wonder if this is a know issue and if you could guide me to the appropriate way to solve it.
Thanks

Hi @alopez25
I answered recently the same question here #42
Let me know if that was the case, so I can close this issue.
And in the future please take a look at closed issues first, it's possible that someone already had similar problem :)

Hi Michalsnik,
Yes it seems to be the same issue. You can close it now.
Sorry for not checking other issues before hand I'll definitely do it next time.
Thanks for your time and your wonderful script. Very useful!!
Andres


Plugin getting stuck in a loop

Hi,
Trying to convert my install of Piwigo to use this plugin. My provider (SimpleSamlPHP with OIDC plugin) works fine with other applications.
Piwigo with this plugin seems to just get stuck in an infinite loop.  Where can I start with troubleshooting this? Is there a log?
Sam

For context - we previously had LDAP-generated users. Both OIDC and LDAP are configured to return the same information. These accounts are pre-created either way in the users table. The "Test authorization code flow" returns "Successful!"

Enabled plugins:


when use 	protected $cacheCooldownSeconds = 300; // 5 m not expire

i set  $cacheCooldownSeconds = 300 but after edit database manually  after 5 minute cache not rest

@vahidalvandi Please provide more information:
Eloquent Query
Please provide the complete eloquent query that caused the bug, for example:
$model->with('otherModel')->get();
Stack Trace The full stack trace from your log file.
Environment
PHP: [e.g. 7.1.0]
OS: [e.g. Ubuntu 18.04]
Laravel: [e.g. 5.6.15]
Model Caching: [e.g. 0.2.61]
Additional Context
Add any other context about the problem here.

try this
public $cacheCooldownSeconds = 300;


Section titles not wrapping

Issue
When creating sections in descriptions, if the section title is too long, it will not wrap.
[[This is a very long section title that will not wrap]] {
See, no wrapping.
}

Resolved in PR #100


Changes related to keycloak version 24 and up

There are few changes related to latest keycloak version

Upgrade to 0.4.0, thanks for your PR~


network-manager-l2tp: 1.2.4 -> 1.2.8

Motivation for this change
Bump version.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@ilpianista are you still working on this?


ConnectivityTypeChanged not available on 2.2.12

Bug (incorrect usage?)
Version Number of Plugin: 2.2.12 (NuGet)
Device Tested On: Windows10 & Android
Expected Behavior
I want to use the mentioned event as below:
CrossConnectivity.Current.ConnectivityTypeChanged += OnConnectivityTypeChanged;
Actual Behavior
I can't use it!
The ConnectivityChanged is working, but the other is not.
The IDE says that Current does not have this event.
I've checked that this feature is implemented in the tag 2.2.12 so I think it should be available but i'm not sure.
Thanks!

It is probably in the beta build.

So, how I can use it?
Thanks!

Update all the nugets to latest pre-release: https://github.com/jamesmontemagno/ConnectivityPlugin/blob/master/tests/app/ConnectivityTest/ConnectivityTestPage.xaml.cs#L27-L62

https://www.nuget.org/packages/Xam.Plugin.Connectivity/<IP_ADDRESS>-beta


refactor: simplify isAsyncFunction function with optional chaining

Description
I worked on this issue
captured test results test-results.md

it make code easier to understand and read.

/rtm


dotnet test on multi-project solution retains only last project in the log

Description
When I run dotnet test command on the solution that contains multiple test projects and use trx (or other logger) the test log file contains only data from the last test project that was run.
This issue is similar to the one described in https://github.com/microsoft/vstest/issues/1603 , but it is for multiple projects within a solution instead of multiple targets.
Steps to reproduce

Have a solution that has more than one test projects (NUnit test projects in my case).
Run the following test command

dotnet test <PathToSolutionFile> --test-adapter-path:. --logger:"trx;LogFileName=Regression.trx" --results-directory "<PathToResultsDirectory>"
Command I'm running:
dotnet test <PathToSolutionFile> --test-adapter-path:. --logger:"junit;LogFileName=Regression.xml" --logger:"trx;LogFileName=Regression.trx" --logger:"console;verbosity=normal" --results-directory ".\test-result"
Example repository:
https://github.com/gkalnytskyi/MultiTestSolutionExample
Command for example repository:
dotnet test .\MultiTestSolutionExample.sln --test-adapter-path:. --logger:"trx;LogFileName=Regression.trx" --results-directory ".\test-results"
Expected behavior
I expect that results will be collated into a single trx log file arranged by namespace as with the case of single project with multiple TestFixtures.
Actual behavior
Projects in the solution are executed, but log file Regression.trx contains only test results from the last project executed.
Diagnostic logs
Environment
Relevant subset of package references for all test projects:
<ItemGroup>
    <PackageReference Include="FluentAssertions" Version="5.10.3" />
    <PackageReference Include="JunitXml.TestLogger" Version="3.0.98" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
    <PackageReference Include="NUnit" Version="3.13.2" />
    <PackageReference Include="NUnit3TestAdapter" Version="4.0.0" />
</ItemGroup>

Operating system: Windows 10 Enterprise 10.0.17134
Solution target: netcoreapp3.1
Dotnet Core: 5.0.301
Microsoft.NET.Test.Sdk: 16.11.0
VSTest.Console.exe: 16.10.0

It looks like you need to use logFilePrefix instead. Check this thread https://github.com/microsoft/vstest/issues/1951 and code here https://github.com/microsoft/vstest/blob/main/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxLogger.cs#L499

I confirm that either replacing LogFileName with LogFilePrefix or removing the --results-directory fixes the issue.


How to prevent "floatingChild" widget float outside the "child" widget

I need to float the floatingChild widget only inside the child widget, It's working fine for three edges Top, Left and Right but not for the Bottom (see the below video)
https://github.com/FMorschel/floating_overlay/assets/91250232/95c6ec58-5307-463d-bd92-f0407b74c8bc
Code is:
FloatingOverlay(
controller: _floatingController,
floatingChild: Container(height: 50, width: 50, color: Colors.red,),
child: Container(height: 300, width: 500, color: Colors.green,) );

How to restrict to don't go outside from the bottom as well?

The controller has a parameter called constrained:
    /// If the floating child's space to float will be limited by the maximum
    /// size that the FloatingOverlay can be.
    bool constrained = false,

I want, the floating widget (red container) should not go to outside the child widget (green container) that's why i used
bool constrained = true  But why it's allowing to go outside from the bottom side (see in the video)?

Sorry for the really long delay! You're doing it the wrong way around. The green Container should be the FloatingOverlay parent for it to constrain the size.


Describe scenario 1.10 - SSL Configuration

Documentation links

securing jetty: https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.2.1/html/Security_Guide/WebConsole.html
A-MQ ssl https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_A-MQ/6.2/html-single/Managing_and_Monitoring_a_Broker/index.html#AMQSSL
about X.509 certificates https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.2.1/html/Security_Guide/ManageCerts.html


email from DG to ADM acquisitions program (procurement) (PSPC)

Email sent from DG to ADM at PSPC on Aug 5 2020


Datepicker never triggers the "opened" event.

Expected result: The component triggering an event named "opened" whenever the datepicker opens.
Actual result: The event never triggers, and could not find the string "opened" in the source code.

Expected result: The component triggering an event named "opened" whenever the datepicker opens.
Actual result: The event never triggers, and could not find the string "opened" in the source code.

Any solutions?

Expected result: The component triggering an event named "opened" whenever the datepicker opens.
Actual result: The event never triggers, and could not find the string "opened" in the source code.

Any solutions?

I guess something is happened with the author.. Because there is no activity for last 5 months..

Expected result: The component triggering an event named "opened" whenever the datepicker opens.
Actual result: The event never triggers, and could not find the string "opened" in the source code.

Any solutions?

I guess something is happened with the author.. Because there is no activity for last 5 months..

2 Month ago I asked him if the company where i work could take over the project but he refused 🤷♂
https://github.com/charliekassel/vuejs-datepicker/issues/764

There is actually no mention of "opened" in the code.
I ended up monkey patching the component.
For anyone interested:
Datepicker.methods.showCalendar = function() {
    if (this.disabled || this.isInline) {
        return false;
    }
    if (this.isOpen) {
        return this.close(true);
    } else if (!this.isInline) {
        this.$emit('opened');
    }
    this.setInitialView();
};

"vuejs-datepicker": "1.5.3", has "opened". Gone in "1.5.4"


autosuggestion

It would be possible that when you write +, @, due: ... all the options to be selected appear, to register tasks faster and not make mistakes when writing them.
Very good application. I like very much
Thank you

Oh yeah, I absolutely agree! Currently there’s a bigger refactoring on-going which will make this easier.
So, it’ll happen, but not very soon.
Not quite sure about the due: completion though; since it’s very dynamic what you could write there (2022-02-02, +4d, tue, +1y2w-2d) it would almost require a calendar selection, but even that wouldn’t quite cut it.
Any ideas?

One is idea is to make an option to specify the date format, and use it as the basis of converting to/from.
In khal, for example, you can set the format for both the short date and the long date. I have the following in my ~/.config/khal/config:
[locale]
timeformat = %H:%M
dateformat = %m.%d.
longdateformat = %Y-%m-%d
datetimeformat = %Y-%m-%d %H:%M
longdatetimeformat = %Y-%m-%d %H:%M

So, maybe pter could detect that if I started writing due:2021 and I have %Y-%m-%d configured as the format, so pressing tab could complete the date as due:2021-10-17.

Not quite sure how it would complete the date though, if I only type due:2021 and Tab… would it show a completion option for month and day?
Just curious: are you using absolute dates in due: and t: more often than relative dates? I keep finding myself rather settings tasks up to be at due:sat or due:+1w.

Autocompletion is implemented in 2.1.0.
I was a bit too eager to push it out of the door, so the documentation is not great (i.e. missing). It’ll come later.
For now: Tab, ^N, and arrow key down will select the next available option, ^P, and arrow key up will select the previous option. Enter is used to select the completion option, Esc and ^C will close the completion box.
Completion works for contexts (@) and projects (+).

Thank you very much!


Fix "Only booleans are allowed" PHPStan errors

Not quite confident the changes are correct in places where there is no test coverage.

Nice! Way to chip away at the baseline file!

Not quite confident the changes are correct in places where there is no test coverage.

@spawnia can you point at them?

Not quite confident the changes are correct in places where there is no test coverage.

@spawnia can you point at them?

https://github.com/webonyx/graphql-php/pull/834/files shows me inline Codecov comments on some specific lines, can you see those?

Ah yes, opened it again and some appeared, they were not there before 😄 . Will review it.


Name tags

BTW-Community/BTW-Source#18

Name tags added. Recipe disabled until renaming functionality is available in survival.


jira connector first implementation without timesheet on 20161215

ira connector first implementation without timesheet on 20161215

Closing as it was replaced by PR #2


WIP: aqt tool improvements

This allows commands such as aqt tool windows desktop tools_openssl_x64 --spec ">=1.1".
This adds a command line argument to aqt tool called --spec that allows the user to specify constraints on the version number of the tool being installed, using a SimpleSpec. When arch is not specified, aqt tool will install the highest version of the tool available that fits the specified SimpleSpec. This argument is '*' by default, so if neither arch nor --spec is specified, aqt tool will select the highest version of the tools available in tool_name.
This feature will work on all tools, but it will not necessarily produce the intended results. Some tool_names include several different tools whose versions are not comparable. For example, tools_conan includes Conan 1.33 and Conan.cmake 0.16.0. These are completely different tools with different version histories. To install them properly, it only makes sense to install both variants qt.tools.conan.cmake and qt.tools.conan by name. --spec would only install one of them. Additionally, tools_vcredist and tools_mingw come in 32-bit and 64-bit flavors, and this tool does not distinguish between them.
So far, only two tests have been added for this feature, but I think they cover the most important parts of this code. However, this will require some additions to the Azure pipelines tests that have not been implemented yet.
Addresses #233 and #282.

I think that this PR might be a mistake. At present, the only tool for which the --spec argument has any relevance is QtIFW. I've taken a look at all the other tools, and none of them appears to have an auto-incrementing version number in the module name, other than QtIFW. If a user were to use --spec on any of the other tools, they most likely will not get what they wanted. I think that our users would be better served by being told to look up the modules in an Updates.xml file, or using the tool in #304, to figure out which modules they want to install.
In the case of QtIFW, this PR might be more useful. However, it looks like https://download.qt.io/online/qtsdkrepository only keeps one or two copies of QtIFW around at a time, and using the --spec argument will always fail eventually, unless you use '*'. I don't think there's much point in merging this.
The only really useful think that this PR does, for QtIFW, is choose the newest version available, rather than simply picking the first item in the list. For that reason, I'm not going to delete this branch.


Are point group symmetries working for PBCs?

I have been playing around with the symmetry=True argument for the Cell object, in the kpoints_symm branch, for the NV- center in diamond (with PBCs). I'd like to enforce its C3v point group symmetry on the MOs for an SCF calculation. My question is: is usage of the symmetry argument tested for PBCs, or is there any expectation it will work?
Second question: When symmetry = True for the NV- center, it correctly finds the C3v point-group symmetry but states:
point group symmetry = C3v, use subgroup Cs

I'm wondering why it uses a subgroup rather than the full point-group. Is there a difficulty in using the full group, or is using the subgroup somehow just as good in a way I don't understand?

Hi Brian, obviously kpoints_symm is prerelease still, but what is happening is that Cs is the Abelian subgroup of C3v. I think not all spacegroup symmetries can be fully exploited. Otherwise, the subgroup should work at the mean-field level and MP2 level, although YMMV currently. @fishjojo please respond.

Hi @bbusemeyer , thanks for the question. @fishjojo @bbusemeyer, has this been resolved?


Suggestions for search function in vscode

it's very convenient for me to search keywords in vscode , but When I clear the search keywords, it does not clear the search result .

We leave the search results because you might want to start a new search based on some results. There is still an action to clear the search results in the top right corner.


REFACTOR implement products as pages

@korthjp17 here's my thought for the admin icon: https://fontawesome.com/v5.15/icons/cash-register?style=solid

I think that's a good icon for it!

Cool, I'll work on getting all these different PR's across the few foxy modules merged so we don't have to run off of vcs's anymore.


Trying to connect to pubchem.ncbi.nlm.nih.gov when testing packages?

Hello,
As I am trying to build openfermion for openSUSE Linux, when the test is running it tries to connect to pubchem.ncbi.nlm.nih.gov to fetch some packages?
Since building on openSUSE Linux is headless and no internet connection, the test thus fail?
Package in openSUSE must build with no connection because it must be self contain with provided dependencies.
What package is it trying to download? I could make it as another dependency instead.
Full log here: https://build.opensuse.org/package/live_build_log/home:andythe_great/python-openfermion/openSUSE_Tumbleweed/x86_64
There are many other connection request, I give one example below.
[  272s] host = 'pubchem.ncbi.nlm.nih.gov', port = 443, family = 0
[  272s] type = <SocketKind.SOCK_STREAM: 1>, proto = 0, flags = 0
[  272s]
[  272s]     def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
[  272s]         """Resolve host and port into list of address info entries.
[  272s]
[  272s]         Translate the host/port argument into a sequence of 5-tuples that contain
[  272s]         all the necessary arguments for creating a socket connected to that service.
[  272s]         host is a domain name, a string representation of an IPv4/v6 address or
[  272s]         None. port is a string service name such as 'http', a numeric port number or
[  272s]         None. By passing None as the value of host and port, you can pass NULL to
[  272s]         the underlying C API.
[  272s]
[  272s]         The family, type and proto arguments can be optionally specified in order to
[  272s]         narrow the list of addresses returned. Passing zero as a value for each of
[  272s]         these arguments selects the full range of results.
[  272s]         """
[  272s]         # We override this function since we want to translate the numeric family
[  272s]         # and socket type values to enum constants.
[  272s]         addrlist = []
[  272s] >       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
[  272s] E       socket.gaierror: [Errno -3] Temporary failure in name resolution
[  272s]
[  272s] /usr/lib64/python3.8/socket.py:918: gaierror

It looks like you have pubchem installed so the test attempts to use the pubchem package to download the geometry of water.
Here's the culprit.
There is currently a pytest skip if the package is not detected.  Skipping logic should be expanded to include when a connection to the NIH server can't be made.

I pass the --ignore flag to pytest to src/openfermion/utils/_pubchem_test.py and the failure is gone now, but there are other failures that look for internet connection I am not sure about. What is the culprit test file for this one?
Thanks.
[  432s] =================================== FAILURES ===================================
[  432s] _____________ ExamplesTest.test_can_run_examples_jupyter_notebooks _____________
[  432s]
[  432s] self = <urllib.request.HTTPSHandler object at 0x7f8524305dc0>
[  432s] http_class = <class 'http.client.HTTPSConnection'>
[  432s] req = <urllib.request.Request object at 0x7f852432e3a0>
[  432s] http_conn_args = {'check_hostname': None, 'context': None}
[  432s] host = 'pubchem.ncbi.nlm.nih.gov'
[  432s] h = <http.client.HTTPSConnection object at 0x7f8524305df0>
[  432s]
[  432s]     def do_open(self, http_class, req, **http_conn_args):
[  432s]         """Return an HTTPResponse object for the request, using http_class.
[  432s]
[  432s]         http_class must implement the HTTPConnection API from http.client.
[  432s]         """
[  432s]         host = req.host
[  432s]         if not host:
[  432s]             raise URLError('no host given')
[  432s]
[  432s]         # will parse host:port
[  432s]         h = http_class(host, timeout=req.timeout, **http_conn_args)
[  432s]         h.set_debuglevel(self._debuglevel)
[  432s]
[  432s]         headers = dict(req.unredirected_hdrs)
[  432s]         headers.update({k: v for k, v in req.headers.items()
[  432s]                         if k not in headers})
[  432s]
[  432s]         # TODO(jhylton): Should this be redesigned to handle
[  432s]         # persistent connections?
[  432s]
[  432s]         # We want to make an HTTP/1.1 request, but the addinfourl
[  432s]         # class isn't prepared to deal with a persistent connection.
[  432s]         # It will try to read all remaining data from the socket,
[  432s]         # which will block while the server waits for the next request.
[  432s]         # So make sure the connection gets closed after the (only)
[  432s]         # request.
[  432s]         headers["Connection"] = "close"
[  432s]         headers = {name.title(): val for name, val in headers.items()}
[  432s]
[  432s]         if req._tunnel_host:
[  432s]             tunnel_headers = {}
[  432s]             proxy_auth_hdr = "Proxy-Authorization"
[  432s]             if proxy_auth_hdr in headers:
[  432s]                 tunnel_headers[proxy_auth_hdr] = headers[proxy_auth_hdr]
[  432s]                 # Proxy-Authorization should not be sent to origin
[  432s]                 # server.
[  432s]                 del headers[proxy_auth_hdr]
[  432s]             h.set_tunnel(req._tunnel_host, headers=tunnel_headers)
[  432s]
[  432s]         try:
[  432s]             try:
[  432s] >               h.request(req.get_method(), req.selector, req.data, headers,
[  432s]                           encode_chunked=req.has_header('Transfer-encoding'))
[  432s]
[  432s] /usr/lib64/python3.8/urllib/request.py:1350:
[  432s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[  432s]
[  432s] self = <http.client.HTTPSConnection object at 0x7f8524305df0>, method = 'POST'
[  432s] url = '/rest/pug/compound/name/JSON?record_type=3d', body = b'name=methane'
[  432s] headers = {'Connection': 'close', 'Content-Length': '12', 'Content-Type': 'application/x-www-form-urlencoded', 'Host': 'pubchem.ncbi.nlm.nih.gov', ...}
[  432s]
[  432s]     def request(self, method, url, body=None, headers={}, *,
[  432s]                 encode_chunked=False):
[  432s]         """Send a complete request to the server."""
[  432s] >       self._send_request(method, url, body, headers, encode_chunked)
[  432s]
[  432s] /usr/lib64/python3.8/http/client.py:1240:
[  432s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[  432s]
[  432s] self = <http.client.HTTPSConnection object at 0x7f8524305df0>, method = 'POST'
[  432s] url = '/rest/pug/compound/name/JSON?record_type=3d', body = b'name=methane'
[  432s] headers = {'Connection': 'close', 'Content-Length': '12', 'Content-Type': 'application/x-www-form-urlencoded', 'Host': 'pubchem.ncbi.nlm.nih.gov', ...}
[  432s] encode_chunked = False
[  432s]
[  432s]     def _send_request(self, method, url, body, headers, encode_chunked):
[  432s]         # Honor explicitly requested Host: and Accept-Encoding: headers.
[  432s]         header_names = frozenset(k.lower() for k in headers)
[  432s]         skips = {}
[  432s]         if 'host' in header_names:
[  432s]             skips['skip_host'] = 1
[  432s]         if 'accept-encoding' in header_names:
[  432s]             skips['skip_accept_encoding'] = 1
[  432s]
[  432s]         self.putrequest(method, url, **skips)
[  432s]
[  432s]         # chunked encoding will happen if HTTP/1.1 is used and either
[  432s]         # the caller passes encode_chunked=True or the following
[  432s]         # conditions hold:
[  432s]         # 1. content-length has not been explicitly set
[  432s]         # 2. the body is a file or iterable, but not a str or bytes-like
[  432s]         # 3. Transfer-Encoding has NOT been explicitly set by the caller
[  432s]
[  432s]         if 'content-length' not in header_names:
[  432s]             # only chunk body if not explicitly set for backwards
[  432s]             # compatibility, assuming the client code is already handling the
[  432s]             # chunking
[  432s]             if 'transfer-encoding' not in header_names:
[  432s]                 # if content-length cannot be automatically determined, fall
[  432s]                 # back to chunked encoding
[  432s]                 encode_chunked = False
[  432s]                 content_length = self._get_content_length(body, method)
[  432s]                 if content_length is None:
[  432s]                     if body is not None:
[  432s]                         if self.debuglevel > 0:
[  432s]                             print('Unable to determine size of %r' % body)
[  432s]                         encode_chunked = True
[  432s]                         self.putheader('Transfer-Encoding', 'chunked')
[  432s]                 else:
[  432s]                     self.putheader('Content-Length', str(content_length))
[  432s]         else:
[  432s]             encode_chunked = False
[  432s]
[  432s]         for hdr, value in headers.items():
[  432s]             self.putheader(hdr, value)
[  432s]         if isinstance(body, str):
[  432s]             # RFC 2616 Section 3.7.1 says that text default has a
[  432s]             # default charset of iso-8859-1.
[  432s]             body = _encode(body, 'body')
[  432s] >       self.endheaders(body, encode_chunked=encode_chunked)
[  432s]
[  432s] /usr/lib64/python3.8/http/client.py:1286:
[  432s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[  432s]
[  432s] self = <http.client.HTTPSConnection object at 0x7f8524305df0>
[  432s] message_body = b'name=methane'
[  432s]
[  432s]     def endheaders(self, message_body=None, *, encode_chunked=False):
[  432s]         """Indicate that the last header line has been sent to the server.
[  432s]
[  432s]         This method sends the request to the server.
  Connect to *address* (a 2-tuple ``(host,
[  432s]         port)``) and return the socket object.  Passing the optional
[  432s]         *timeout* parameter will set the timeout on the socket instance
[  432s]         before attempting to connect.  If no *timeout* is supplied, the
[  432s]         global default timeout setting returned by :func:`getdefaulttimeout`
[  432s]         is used.  If *source_address* is set it must be a tuple of (host, port)
[  432s]         for the socket to bind as a source address before making the connection.
[  432s]         A host of '' or port 0 tells the OS to use the default.
[  432s]         """
[  432s]
[  432s]         host, port = address
[  432s]         err = None
[  432s] >       for res in getaddrinfo(host, port, 0, SOCK_STREAM):
[  432s]
[  432s] /usr/lib64/python3.8/socket.py:787:
[  432s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[  432s]
[  432s] host = 'pubchem.ncbi.nlm.nih.gov', port = 443, family = 0
[  432s] type = <SocketKind.SOCK_STREAM: 1>, proto = 0, flags = 0
[  432s]
[  432s]     def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
[  432s]         """Resolve host and port into list of address info entries.
[  432s]
[  432s]         Translate the host/port argument into a sequence of 5-tuples that contain
[  432s]         all the necessary arguments for creating a socket connected to that service.
[  432s]         host is a domain name, a string representation of an IPv4/v6 address or
[  432s]         None. port is a string service name such as 'http', a numeric port number or
[  432s]         None. By passing None as the value of host and port, you can pass NULL to
[  432s]         the underlying C API.
[  432s]
[  432s]         The family, type and proto arguments can be optionally specified in order to
[  432s]         narrow the list of addresses returned. Passing zero as a value for each of
[  432s]         these arguments selects the full range of results.
[  432s]         """
[  432s]         # We override this function since we want to translate the numeric family
[  432s]         # and socket type values to enum constants.
[  432s]         addrlist = []
[  432s] >       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
[  432s] E       socket.gaierror: [Errno -3] Temporary failure in name resolution
[  432s]
[  432s] /usr/lib64/python3.8/socket.py:918: gaierror
[  432s]
[  432s] During handling of the above exception, another exception occurred:
[  432s]
[  432s] self = <_examples_test.ExamplesTest testMethod=test_can_run_examples_jupyter_notebooks>
[  432s]
[  432s]     def test_can_run_examples_jupyter_notebooks(self):
[  432s]         print("Examples folder ", self.examples_folder)
[  432s]         for filename in os.listdir(self.examples_folder):
[  432s]             if not filename.endswith('.ipynb'):
[  432s]                 continue
[  432s]
[  432s]             path = os.path.join(self.examples_folder, filename)
[  432s]             notebook = nbformat.read(path, nbformat.NO_CONVERT)
[  432s]             state = {}
[  432s]
[  432s]             for cell in notebook.cells:
[  432s]                 if cell.cell_type == 'code' and not is_matplotlib_cell(cell):
[  432s]                     try:
[  432s] >                       exec(strip_magics_and_shows(cell.source), state)
[  432s]
[  432s] examples/_examples_test.py:86: ```

Looks like it is running the examples/_examples_test.py. which runs the _openfermion_tutorial.ipynb.  Cell 14 calls pubchem to import the geometry for methane.  The correct fix for this would be to separate pubchem functionality from the main tutorial.

Looks like it is running the examples/_examples_test.py. which runs the _openfermion_tutorial.ipynb. Cell 14 calls pubchem to import the geometry for methane. The correct fix for this would be to separate pubchem functionality from the main tutorial.

If I make pytest ignore examples/_examples_test.py the test would all fail. But it seems that there are no good way to get around this at the moment? So if I want to package this on a headless server with no internet connection is to just not test?

Not sure what you mean the test would all fail. But I mentioned the correct fix in the previous comment.  Another option could be to set up a mock for the test.  Are you interested in taking this fix?

I think it is related to this issue. #481


Onboarding ui feb20

Description
UI changes to onboarding

added back button (NavigateBack) to each screen
next button (NavigateButton) on each screen

Checklist

[ ] I have performed a self-review of my own code
[ ] I have removed the expo files from my commit
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works AND the tests pass

Remember to merge master into this branch plz

Sure. Thanks for the  reminder.
-Ari
Sent from my iPhone

On Feb 25, 2020, at 9:21 AM, Katie Rose<EMAIL_ADDRESS>wrote:

Remember to merge master into this branch plz
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Add support for k8s OIDC auth

Marking as draft until OIDC changes in capi-helm-charts are part of an official release. Will then need to update here and here to point to the correct capi-helm-charts version.

@sd109
A release is out now that supports this. Can you rebase and then we can merge?


How to parse xml using "http url" containing .cms extension ?  Or How to parse rss feeds ?

Download file via HTTP, pass it to xml2js as a string as shown in the README.


How to zoom programatically?

I've looked for in the code base to try and figure out how to programmatically zoom. I have seen cam_update! and I think I could get that to work.  However, I can clearly see that the functionality is already done with zooming when scrolling with the middle mouse button. I was expected to find some function that processes this event and then calls a convenient zoom function. So far haven't found it. Closest thing is maybe this:
https://github.com/JuliaPlots/Makie.jl/blob/73bde6a0663ef58b7da9a04858a158f51183c9b6/src/glbackend/events.jl#L205
This is starting to make me think this functionality is not built into Makie but one of its dependencies? I have searched GLFW and ModernGL but haven't found it there either. In the meantime I might try and make my own.

Okay I finally found it in AbstractPlotting.jl. Unfortunately I couldn't find the zoom functionality there for the mouse button in 3D. Saw it for 2D but I don't think it applies.
Here is some code I wrote that seems to perform okay.
function zoom_scene(scene, zoom=1.0f0)
    camera =cameracontrols(scene)
    @extractvalue camera (fov, near, projectiontype, lookat, eyeposition, upvector)
    dir_vector = eyeposition - lookat
    new_eyeposition = lookat + dir_vector * (2.0f0 - zoom)
    update_cam!(scene, new_eyeposition, lookat)
end


HttpMethod.valueOf hot spot

Motivation:
HttpMethod.valueOf shows up on the hot path and can be optimized.
Modifications:

Change the underlying storage mechanism backing HttpMethod.valueOf

Result:
HttpMethod.valueOf is more efficient.

I will do a bit more digging to see if this is necessary and provide a summary of results.
@nmittler @normanmaurer - FYI

benchmarks? :)

@nmittler https://github.com/netty/netty/pull/4424#issuecomment-152599754 on it :)

I think this was just an artifact of profiler sampling capturing valueOf when HashMap was used and coincidentally not catching it in the next few runs after changed to TreeMap.  Looks like HashMap is faster for these size inputs...
Benchmark                            Mode  Cnt          Score   Error  Units
HttpMethodBenchmark.testValueOfNew  thrpt       85501496.424          ops/s
HttpMethodBenchmark.testValueOfOld  thrpt       126710559.488          ops/s


Issues/83

Thank you for contributing to sewer.
Every contribution to sewer is important to us.
You may not know it, but you have just contributed to making the world a more safer and secure place.
Contributor offers to license certain software (a “Contribution” or multiple
“Contributions”) to sewer, and sewer agrees to accept said Contributions,
under the terms of the MIT License.
Contributor understands and agrees that sewer shall have the irrevocable and perpetual right to make
and distribute copies of any Contribution, as well as to create and distribute collective works and
derivative works of any Contribution, under the MIT License.
Now,
What(What have you changed?)

for cnames example.com and *.example.com create 2 TXT records for _acme-challenge.example.com with different values(WORK IN PROGRESS)

Why(Why did you change it?)

fix https://github.com/komuw/sewer/issues/83

ref:
https://community.letsencrypt.org/t/certificate-issuance-order/56464/

This issue is instructive ; https://github.com/letsencrypt/boulder/issues/3405
I solved the problem with multiple loops over the challenges: (1) add DNS records for all challenges (2) trigger verification of all challenges.


write voxel to idfs fuction

In GitLab by @tessodk on May 2, 2019, 16:46

In GitLab by @Huite on May 6, 2019, 19:35
To explain a little bit:
For the variable density modelling, we use voxel models (constant z per layer) fairly extensively.
Currently, idf.save will write top and bot have been set in the DataArray attrs. This is not a very natural place to do so. Rather, tops and bottoms should be stored as a coordinate (depending on dimension z or layer).
I would like this data to be written automatically by SeawatModel.write. A pragmatic solution perhaps is storing an optional value in attrs which can be set True when you want to save to voxel IDFs.
Have to check whether the attrs are preserved properly when setting in the pkg objects.

In GitLab by @Huite on Jul 22, 2019, 16:31
Completed in 40f06b74a6a5352d7877e17b702c88252504e137, by using coordinates, which is the right and proper way.

In GitLab by @Huite on Jul 22, 2019, 16:31
closed


@Reference(lazy = true) still loading all references

I have the following User class referenced members:
@Entity
public class User extends Model
{
    @Indexed @Reference(lazy = true) public Organization organization;
    @Reference(lazy = true)  public List<Team> coachedTeams = new ArrayList<Team>();
    @Reference(lazy = true) @Lazy public List<Notification> userNotifications = new ArrayList<Notification>();

When I simply lookup the user by email it then queries for the organization and all of the organization's @References (which are lazy as well). Thank you in advance for any help and please let me know if there is any further code you will need.

From what I can see from org.mongodb.morphia.mapping.ReferenceMapper, it looks like even if you do lazy loading, if you are lazy loading a list, it query's the DB for _id and className, so lazy loading on lists really just makes the request smaller, it's not actually "lazy loading".
                if (dbVal instanceof List) {
                    final List<Object> refList = (List) dbVal;
                    final List<DBRef> dbRefList = (List) dbVal;
                    final DatastoreImpl dsi = (DatastoreImpl) mapper.getDatastoreProvider().get();
                    final List<Key<Object>> keys = refAnn.idOnly()
                                                   ? dsi.getKeysByManualRefs(referenceObjClass, refList)
                                                   : dsi.getKeysByRefs(dbRefList);

                    if (keys.size() != refList.size()) {
                        final String msg = "Some of the references could not be fetched for " + mf.getFullName() + ". " + refList + " != "
                                           + keys;
                        if (!refAnn.ignoreMissing()) {
                            throw new MappingException(msg);
                        } else {
                            LOG.warning(msg);
                        }
                    }

                    referencesAsProxy.__addAll(keys);
                } else {
                    if (!exists(mf.getSubClass(), dbVal, cache, mapper, refAnn.idOnly())) {
                        final String msg = "The reference(" + dbVal.toString() + ") could not be fetched for " + mf.getFullName();
                        if (!refAnn.ignoreMissing()) {
                            throw new MappingException(msg);
                        } else {
                            LOG.warning(msg);
                        }
                    } else {
                        referencesAsProxy.__add(refAnn.idOnly()
                                                ? mapper.manualRefToKey(referenceObjClass, dbVal)
                                                : mapper.refToKey((DBRef) dbVal));
                    }
                }

Looks like this is an issue with Morphia itself:
https://groups.google.com/forum/#!topic/morphia/OEQtZLII8tI


problem with main.py

PS C:\Windows\system32\ecoute> python main.py
C:\Users\pppp\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\whisper\timing.py:57: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
@numba.jit
Traceback (most recent call last):
File "C:\Windows\system32\ecoute\main.py", line 3, in
from GPTResponder import GPTResponder
File "C:\Windows\system32\ecoute\GPTResponder.py", line 2, in
from keys import OPENAI_API_KEY
ImportError: cannot import name 'OPENAI_API_KEY' from 'keys' (C:\Windows\system32\ecoute\keys.py)

me too

@markomeyyer @saiggs hi guys. Create keys.py file manually.


Added Cloud Convert

Please, some noob help here, I'm not sure what's the best way to apply suggestions. Should I make the changes in my repo and make another pull request?

I see you pushed to your own repo, on the master branch (as noted above with hebinzin:master. If you do another commit there applying those suggestions, they will be automatically pulled into this pull request, because a pull request means "apply all changes from this branch onto your branch", in your case "apply all changes from my master into jdm-contrib:master"
So short answer: just fix then in your repo and it'll be fine.

Nice, thank you! I think they're all fixed now.

Looks good, thanks for your contribution.
Just a tip for the future: when you work with git, always make sure you make your changes on a new branch, not on master or main, it might prevent some headaches

Thanks for the advice!


The Twitter counter on our website does not update

Not only we have this problem, it is also on your web-site: http://sapegin.github.io/social-likes/ru/

https://github.com/sapegin/social-likes/blob/master/Readme.md#counters-dont-work


[Bug]: Some output.copy glob patterns fail

Version
System:
    OS: macOS 14.5
    CPU: (11) arm64 Apple M3 Pro
    Memory: 239.06 MB / 36.00 GB
    Shell: 3.7.1 - /opt/homebrew/bin/fish
  Browsers:
    Chrome: 126.0.6478.127
    Safari: 17.5
  npmPackages:
    @rsbuild/core: 1.0.1-beta.3 => 1.0.1-beta.3
    @rsbuild/plugin-react: 1.0.1-beta.3 => 1.0.1-beta.3

Details
Hello hello!
I've been waiting for https://github.com/web-infra-dev/rspack/pull/6668 for some time hoping for it to solve this issue, but looks like it didn't.
When using ! within a glob pattern in output.copy, the build fails to compile.
I'm attaching a minimal repo (boostrapped by running npm create rsbuild@latest, adding a public dir with a couple of random files, and setting the output.copy glob to { from: "*.!(html)", context: "public", to: "." }).
Reproduce link
https://github.com/matteom-synth/rsbuild-issue-repro-2
Reproduce Steps
Clone the repo, run pnpm install, and then run pnpm dev, which will fail with:
» pnpm dev

><EMAIL_ADDRESS>dev /Users/matteo.mazzarolo/workspace/rsbuild-repro
> rsbuild dev

  Rsbuild v1.0.1-beta.3

  > Local:    http://localhost:3000/
  > Network:  http://<IP_ADDRESS>:3000/
  > Network:  http://<IP_ADDRESS>:3000/
  > Network:  http://<IP_ADDRESS>:3000/

start   Compiling...
error   Compile error:
Failed to compile, check the errors for troubleshooting.
× unable to locate '/Users/matteo.mazzarolo/workspace/rsbuild-repro/public/*.!(html)' glob

× unable to locate '/Users/matteo.mazzarolo/workspace/rsbuild-repro/public/*.!(html)' glob

@matteom-synth The output.copy capability is powered by the CopyRspackPlugin, which uses Rust's glob crate for implementation. However, the glob crate does not support the pattern *.!(html). Instead, you might try using !*.html.

@SyMind how about negations capturing multiple elements !(*.html|frame.js|frame.wasm)?

[
  '**/*',
  '!**/*.html',
  '!**/*.frame.js',
  '!**/*.frame.wasm'
]