Container stopped working after system reboot

I had the container working with all the environmental variables the way I wanted them (Only changed the container to MKV and the encode to Matroska H.265 1080p30). I could use Intel QSV and it worked. Basically everything worked correctly. I rebooted my system and now the container starts but stops and exits with the following text in the console. I see that I don't have permission to access the Intel Quick Sync now but don't understand why. I am a total newb to Linux and to make it harder this is on a QNAP NAS in Container Station. Any assistance would be appreciated.
[cont-init.d] 95-check-optical-drive.sh: exited 0.
[cont-init.d] 95-check-qsv.sh: executing...
[cont-init.d] 95-check-qsv.sh: Processor: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz
[cont-init.d] 95-check-qsv.sh: Intel Quick Sync Video not supported: device /dev/dri/renderD128 owned
/var/run/s6/etc/cont-init.d/95-check-qsv.sh: line 51: by group 'root' and configured user doesn't have permissions. : not found
[cont-init.d] 95-check-qsv.sh: exited 127.
[services.d] stopping services
[services.d] stopping s6-fdholderd...
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Could you provide the output of the following commands (to be run in a terminal):
ls -l /dev/dri

find /dev/dri -type c

Could you provide the output of the following commands (to be run in a terminal):
ls -l /dev/dri

find /dev/dri -type c

Thanks for getting back so fast. I actually got it working in the wee hours of the morning but forgot to post. I reinstalled ubuntu on my system and I guess it found the driver. It seems instead of a permission issue it was the driver not being found.

Thanks for getting back so fast. I actually got it working in the wee hours of the morning but forgot to post. I reinstalled ubuntu on my system and I guess it found the driver. It seems instead of a permission issue it was the driver not being found.


Add support for Recurring Downtime

Recurring downtime is not yet supported (https://github.com/DataDog/datadog-cloudformation-resources/pull/119, https://github.com/DataDog/datadog-cloudformation-resources/pull/34, https://github.com/DataDog/datadog-cloudformation-resources/pull/21)...
But I see that it is (now?) supported by the API: https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api#recurring-downtime-on-the-nth-weekday-of-the-month
eg:
curl -X POST "https://api.<DATADOG_SITE>/api/v1/downtime" \
-H "Content-type: application/json" \
-H "DD-API-KEY: ${api_key}" \
-H "DD-APPLICATION-KEY: ${app_key}" \
-d '{"scope": "env:prod","start":"1613844000","end":"1613887200", "recurrence": {"type": "days","period": 1}}'

Does that now mean it can be added as a CF resource please?

Still valid and needed please!

+1 it would be great if recurring downtime could added as a CFN resource.

Can we remove the stale label for this please? It's still a wanted feature!

Can anyone from DataDog give us an idea if this is coming? We still think it would be a great (and simple?) feature to add.

+1

+1

We also need this feature because we establish a standard pf using Cloudformation to configure Monitors and Downtime. Please advice when this will be implemented.

Hello all, we have released 1.0.0 version of the new resource Datadog::Monitors::DowntimeSchedule which supports recurring downtimes: https://github.com/DataDog/datadog-cloudformation-resources/tree/master/datadog-monitors-downtimeschedule-handler#datadogmonitorsdowntimeschedule
Closing this issue as complete, thanks!


feat: add new RequestBuilder.ResolveRequestURL

Fixes arf/planning-sdk-squad#2152
This commit adds method ResolveRequestURL to the RequestBuilder struct
as a replacement for ConstructHTTPURL().

:tada: This PR is included in version 4.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


⚠ Fortnite has degraded performance

In ce389ab, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1573 ms

Resolved: Fortnite performance has improved in c0faf56.


504 Gateway Time-out

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
trying to redirect to site on same docker server.

I've tried various diffent destimation sites nextcloud, grafana, portainer.
I've tried addressing by public IP and also private docker IP

Nginx Proxy Manager Version
2.9.3
To Reproduce
Steps to reproduce the behavior:

setup simple http host(no SSL cert yet)
url to direct to http host on docker host using external Ip or docker IP.

Expected behavior
docker website (grafana, portainer or nextcloud) should be displayed.
Screenshots

Operating System
VPS Ubuntu version 18.04
Additional context
Also tried to setup on seperate Docker server with same error, so something i've doing consistantly wrong.

Ok i've followed my setup on yet another VPS but it's running Debian via OpenmediaVault.. All works as expected..
I suspect my Docker/Iptables setup on these other 2 VPS running Ubuntu.

So it looks like the "userland-proxy" setting i had used in my docker setup

same problem with you...


feat!: Update to acvm 0.12.0

Updates the ACVM dependency to current master of ACVM.
This has shown an unfortunate effect of https://github.com/noir-lang/acvm/pull/257 as we need to reconstruct the BlackBoxFuncCall which gets deconstructed in ACVM in order to call back into the solver functions.

I rebased this because I need it as a basis on my CRS changes that'll land in 0.12

Yep, I'm happy for anyone to update this to target the ACVM master as needed.

This can now be updated to target 0.12 on crates.io

A lot of folks have touched this, so I'm going to request reviews from folks that haven't (such as @kevaundray @kobyhallx and @vezenovm)


Plot.format helper?

What if instead of
(f => d => f(d / 1000))(d3.format("+.0%"))

you could say
Plot.format(d => d / 1000, "+.0%")

Where Plot.format(...formats) takes a list of functions and strings, converts the strings to functions by passing them to d3.format, and then returns a function that applies them in sequence.
Maybe it would even allow you to do stuff like
Plot.format("value", "+.0%")

where it would turn "value" into d => d.value because it knows that’s not a valid d3.format specifier.
(This is probably overkill but just writing down ideas to file away.)

can we infer which are number formats vs date formats?

We could assume that it’s a time format if it starts with %, I suppose.


proposal: allow access to goroutine IDs

In the Go FAQ it's clearly stated that having Goroutines do not have IDs due to various reasons. Nevertheless the x/net/http2 library makes use of Goroutine IDs in https://github.com/golang/net/blob/master/http2/gotrack.go#L51.
Having x/net/http2 use Goroutine IDs seems to be proving the case for having Goroutine IDs at least for debugging purposes, doesn't it?

the case for having Goroutine IDs at least for debugging purposes, doesn't it?

How do you prevent people from using it for non-debugging purposes?

the case for having Goroutine IDs at least for debugging purposes, doesn't it?

If you make this easy/officially supported, how do you prevent people from using it for non-debugging purposes?

It could be enabled by a runtime flag. Does it even have to be restricted to debugging purposes?
My main concern here is that the FAQ makes a pretty strong case against having such IDs in the first place. So probably the better way here is to change x/net/http2 to not use Goroutine IDs. As the FAQ states:

For those cases where a particular goroutine is truly special, the language provides features such as channels that can be used in flexible ways to interact with it.

My main concern here is that the FAQ makes a pretty strong case against having such IDs in the first place.

Not really. The FAQs just explains why goroutines IDs are not readily exposed to the programmer:

They expose no unique identifier, name, or data structure to the programmer.

The bottom reason is: to discourage certain usage patterns that the Go designers deemed unappealing; and to, on the other hand, encourage safer and simpler concurrency design patterns.
That doesn't mean that every single attempt to ID goroutines is misguided and undesirable. It's similar to the ternary operator situation: it's not in Go because the Go designers wanted to encourage programmers to use plain ifs and to avoid writing unreadable inline-conditions code. Nobody is saying that every single possible way to use the ternary operator would result in unreadable code. It can be used correctly. But it is often abused, so it was left out of the language.

So probably the better way here is to change x/net/http2 to not use Goroutine IDs

I'm not saying we should not, but... why? Is that specific piece of code causing anyone any issue? If yes, then please explain what the issue is.

Thanks for following up, @ALTree! IMHO it's a bad role model to not expose Goroutine IDs on the one hand but on the other hand make use of them in the (to be) stdlib. To pick up your example: The ternary operator doesn't exist at all in Go so there's really no way to use it (even when you know what you're doing). This is different with Goroutine IDs because they do exist but just are not exposed even though there are valid use cases for them as the x/net/http2 example clearly shows.

I don't quite see what the problem is here.  x/net/http2 only uses goroutine IDs for debugging purposes.  It uses a slow mechanism for computing the goroutine ID, one that would likely not be suitable for production code.  Other code can make the same choice.  The code is right there.
If we add an efficient mechanism for obtaining a goroutine ID, people will inevitably use it for production, not just for debugging.  And that will lead to a style of Go programming that I, at least, think would be inadvisable.

What is stopping you from using the code in x/net/http2?

My proposal is to extend https://golang.org/doc/faq#no_goroutine_id to name one or more edge cases and real-world examples where the usage of Goroutine IDs is valid, e.g. in x/net/http2. This would be truly transparent IMHO and lets people look at when (and only when) it's really useful to have the ID at hand.

@ianlancetaylor

If we add an efficient mechanism for obtaining a goroutine ID, people will inevitably use it for production, not just for debugging.

On the one hand, it is already possible to hand-patch the Go runtime to add such a mechanism — so motivated folks who have control of their full stack and want goroutine IDs in production can do that anyway.
It seems to me that the main effect of lacking such a mechanism today is that library authors cannot make use of it, since they can't assume that their users are carrying local patches.
But even they could already customize the code for local patches based on build tags — that's only a marginally higher impediment than, say, a runtime/debug hook that must be explicitly enabled using an option in the GODEBUG environment variable.

@makkes I think the FAQ should stay simple.  I don't think it's helpful to point to dreadful code like that in x/net/http2.
@bcmills We can only define what the standard library does.  In any case I don't think we want to encourage an ecosystem of standard library extensions attached to well known build tags.  That sounds complex.

@ianlancetaylor, I'm not suggesting that we define our own build tag for goroutine IDs. I'm suggesting that we define a function (in runtime/debug) that is always present (so no build tags required) but requires an explicit GODEBUG setting to activate (so that library authors can't make assumptions about goroutine IDs being available at run time).

@bcmills Ah, sorry, I misunderstood.

@makkes I think the FAQ should stay simple. I don't think it's helpful to point to dreadful code like that in x/net/http2.

As far as I understood x/net/http2 it's supposed to eventually end up in the stdlib. Do you think it's a good idea to have so-called "dreadful code" in the stdlib? People actually look at that for learning and best practices.

The top priority of the standard library is to provide functionality needed by Go programs.  Serving as an example of Go best practices is important but is a lower priority.

Fair enough. Thanks for all the clarifying comments!


added support for editorConfig

We should add .editorconfig file to define consistent coding style.
Refer here

Hi, thanks for the contribution! I think that .editorconfig is a bit too opinionated for this project, since we want to keep it as simple as possible.


Generate a CHANGELOG on release

Now that we're tagging versions so they appear as releases, we should generate a CHANGELOG so that releases automatically contain notes about what changed.

@with-heart - hey what's your Twitter handle?  Wanna give you a shout-out, follow, etc

Hi @arackaf, very cool! I'm @grow_love over there :)


Hierarchy Child Global Transforms are Not Updated When Spawned as a Child

Bevy version
af6723156782b5579c90b4eac1fa49b1646dbaf5
Operating system & version
Pop!_OS ( Ubuntu ) 20.04
What you did
Here is a complete, simple demonstration program. We spawn a parent sprite in the setup system, then in the load_child system, we spawn a child sprite with a (-50, -50) offset translation. We also have the move_parent system, which just moves the parent sprite.
use bevy::prelude::*;

fn main() {
    App::build()
        .add_plugins(DefaultPlugins)
        .add_startup_system(setup.system())
        // Comment out the move_parent line below to witness the bugginess 😜
        .add_system(move_parent.system())
        .add_system(load_child.system())
        .run();
}

struct TheParentEnt;
struct Loaded;

fn setup(
    commands: &mut Commands,
    asset_server: Res<AssetServer>,
    mut materials: ResMut<Assets<ColorMaterial>>,
) {
    // Spawn camera
    commands.spawn(Camera2dBundle::default());

    // Load parent sprite
    let texture = asset_server.load("textures/rpg/mobs/boss_bee.png");
    // Spawn parent
    commands
        .spawn(SpriteBundle {
            material: materials.add(ColorMaterial::texture(texture)),
            ..Default::default()
        })
        .with(TheParentEnt);
}

// Move the parent slowly to the left
fn move_parent(mut query: Query<&mut Transform, With<TheParentEnt>>) {
    for mut trans in query.iter_mut() {
        trans.translation.x -= 0.1;
    }
}

// Load the child sprite
fn load_child(
    commands: &mut Commands,
    query: Query<Entity, (Without<Loaded>, With<TheParentEnt>)>,
    asset_server: Res<AssetServer>,
    mut materials: ResMut<Assets<ColorMaterial>>,
) {
    for ent in query.iter() {
        // Spawn the child sprite
        let texture = asset_server.load("textures/rpg/chars/hat-guy/hat-guy.png");
        commands
            .spawn(SpriteBundle {
                material: materials.add(ColorMaterial::texture(texture)),
                transform: Transform::from_translation(Vec3::new(-50., -50., 0.)),
                ..Default::default()
            })
            .with(Parent(ent));

        // Prevent processing parent sprite again by marking it loaded
        commands.insert_one(ent, Loaded);
    }
}

What you expected to happen
When running the example below without changes, everything goes as expected, you have the child sprite moving along with the parent, but offset to the left and down from the parent sprite.
When commenting out the move_parent system, the only difference should be that the sprites aren't moving. The child sprite should still be offset to the left and down from the parent sprite.
What actually happened
When you comment out the move_parent system, when the child sprite is spawned, instead of being offset from the parent, it actually ends up in the center of the world.
Additional information
It seems that the GlobalTransform of the child sprite is not updated when it is spawned as a child, until the parent transform is actually changed. Thus, when the move_parent system is active, the child's transform is properly updated, but if the parent doesn't move, then the child's GlobalTransform is never updated and it remains in the center of the universe!

I verified that it is an update issue by modifying the transform propagation system to always consider a transform component as having "changed" and it fixes the issue. Now I just have to figure out why the added child is not being considdered as a Changed<Transform> or a Changed<Parent>.

I verified that it is an update issue by modifying the transform propagation system to always consider a transform component as having "changed" and it fixes the issue. Now I just have to figure out why the added child is not being considdered as a Changed<Transform> or a Changed<Parent>.

I think the issue comes from adding the Parent component directly. The system that automatically adds the corresponding Children component probably runs after the system that propagates the global transform, and that system relies on Children being properly set up.
When spawning a child entity, try to use the with_children function instead of spawn.

I think the issue comes from adding the Parent component directly. The system that automatically adds the corresponding Children component probably runs after the system that propagates the global transform, and that system relies on Children being properly set up.
When spawning a child entity, try to use the with_children function instead of spawn.

You could do this:
// Load the child sprite
fn load_child(
    commands: &mut Commands,
    query: Query<Entity, (Without<Loaded>, With<TheParentEnt>)>,
    asset_server: Res<AssetServer>,
    mut materials: ResMut<Assets<ColorMaterial>>,
) {
    for ent in query.iter() {
        // Spawn the child sprite
        let texture = asset_server.load("textures/rpg/chars/hat-guy/hat-guy.png");
        let child = commands
            .spawn(SpriteBundle {
                material: materials.add(ColorMaterial::texture(texture)),
                transform: Transform::from_translation(Vec3::new(-50., -50., 0.)),
                ..Default::default()
            })
            .with(Parent(ent))
            .current_entity()
            .unwrap();

        // as you've manually added the Parent component to the child, then
        // manually add the Children component to the parent
        commands.insert_one(ent, Children::with(&[child]));

        // Prevent processing parent sprite again by marking it loaded
        commands.insert_one(ent, Loaded);
    }
}

However, I believe the canonical way is:
// Load the child sprite
fn load_child(
    commands: &mut Commands,
    query: Query<Entity, (Without<Loaded>, With<TheParentEnt>)>,
    asset_server: Res<AssetServer>,
    mut materials: ResMut<Assets<ColorMaterial>>,
) {
    for ent in query.iter() {
        // Spawn the child sprite
        let texture = asset_server.load("textures/rpg/chars/hat-guy/hat-guy.png");
        let child = commands
            .spawn(SpriteBundle {
                material: materials.add(ColorMaterial::texture(texture)),
                transform: Transform::from_translation(Vec3::new(-50., -50., 0.)),
                ..Default::default()
            })
//            .with(Parent(ent))
            .current_entity()
            .unwrap();

        // Pushing takes a slice of children to add:
        // where parent: Entity, child: Entity
        commands.push_children(parent, &[child]);

        // Prevent processing parent sprite again by marking it loaded
        commands.insert_one(ent, Loaded);
    }
}

You could do this:
// Load the child sprite
fn load_child(
    commands: &mut Commands,
    query: Query<Entity, (Without<Loaded>, With<TheParentEnt>)>,
    asset_server: Res<AssetServer>,
    mut materials: ResMut<Assets<ColorMaterial>>,
) {
    for ent in query.iter() {
        // Spawn the child sprite
        let texture = asset_server.load("textures/rpg/chars/hat-guy/hat-guy.png");
        let child = commands
            .spawn(SpriteBundle {
                material: materials.add(ColorMaterial::texture(texture)),
                transform: Transform::from_translation(Vec3::new(-50., -50., 0.)),
                ..Default::default()
            })
            .with(Parent(ent))
            .current_entity()
            .unwrap();

        // as you've manually added the Parent component to the child, then
        // manually add the Children component to the parent
        commands.insert_one(ent, Children::with(&[child]));

        // Prevent processing parent sprite again by marking it loaded
        commands.insert_one(ent, Loaded);
    }
}

However, I believe the canonical way is:
// Load the child sprite
fn load_child(
    commands: &mut Commands,
    query: Query<Entity, (Without<Loaded>, With<TheParentEnt>)>,
    asset_server: Res<AssetServer>,
    mut materials: ResMut<Assets<ColorMaterial>>,
) {
    for ent in query.iter() {
        // Spawn the child sprite
        let texture = asset_server.load("textures/rpg/chars/hat-guy/hat-guy.png");
        let child = commands
            .spawn(SpriteBundle {
                material: materials.add(ColorMaterial::texture(texture)),
                transform: Transform::from_translation(Vec3::new(-50., -50., 0.)),
                ..Default::default()
            })
//            .with(Parent(ent))
            .current_entity()
            .unwrap();

        // Pushing takes a slice of children to add:
        // where parent: Entity, child: Entity
        commands.push_children(parent, &[child]);

        // Prevent processing parent sprite again by marking it loaded
        commands.insert_one(ent, Loaded);
    }
}

I think the issue comes from adding the Parent component directly. The system that automatically adds the corresponding Children component probably runs after the system that propagates the global transform, and that system relies on Children being properly set up.
When spawning a child entity, try to use the with_children function instead of spawn.

Almost, the problem is, that the two are in the same Stage: See here for further Information #1198

I think the issue comes from adding the Parent component directly. The system that automatically adds the corresponding Children component probably runs after the system that propagates the global transform, and that system relies on Children being properly set up.
When spawning a child entity, try to use the with_children function instead of spawn.

Almost, the problem is, that the two are in the same Stage: See here for further Information #1198

@tigregalis that worked!!! Thanks a lot! I spent all day yesterday wrestling with this, so it's really nice to get it working.
I think I'll go ahead and close this because there is a solution and the weirdness should be worked out with the new hierarchy system comming in: https://github.com/bevyengine/bevy/pull/1198#issuecomment-755781027.

@tigregalis that worked!!! Thanks a lot! I spent all day yesterday wrestling with this, so it's really nice to get it working.
I think I'll go ahead and close this because there is a solution and the weirdness should be worked out with the new hierarchy system comming in: https://github.com/bevyengine/bevy/pull/1198#issuecomment-755781027.

@alice-i-cecile This can probably be closed in favor of https://github.com/bevyengine/bevy/issues/1807 or https://github.com/bevyengine/bevy/pull/4197

Is this still an issue? #4197 has been merged. @zicklag if this is still happening and easy to run into despite these changes, please comment, otherwise please close this issue.


RuboCop: MacOS

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew tests with your changes locally?

Note to other reviewers: https://github.com/Homebrew/brew/pull/1125/files?w=1 makes this much easier.

Excuse me, have you read every change and make sure they're really equivalent? Because #1050 for instance (specifically https://github.com/Homebrew/brew/commit/52ff98853068c03b3bfa777932da1da69e35e583#diff-791b01b40fb03181802be9c2315258b2R153) seems to causing us audit errors which have at least been seen by three people so far:
$ brew audit --new-formula --display-cop-names --display-filename
Error: type mismatch: String given
Please report this bug:
    https://git.io/brew-troubleshooting
/usr/local/Homebrew/Library/Homebrew/cmd/search.rb:153:in `=~'
/usr/local/Homebrew/Library/Homebrew/cmd/search.rb:153:in `block in search_tap'
/usr/local/Homebrew/Library/Homebrew/cmd/search.rb:153:in `select'
/usr/local/Homebrew/Library/Homebrew/cmd/search.rb:153:in `search_tap'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/audit.rb:346:in `block (2 levels) in audit_formula_name'

If your answer to my question is no, can we stop these pointless, poorly-reviewed changes already?

If your answer to my question is no, can we stop these pointless, poorly-reviewed changes already?

To be fair, the variable causing the type mismatch is called rx, which most people would assume to be a Regexp, no? If CI didn't break, I see no reason why a reviewer wouldn't glance over that and think it looked fine.

called rx, which most people would assume to be a Regexp, no?

That's the right way to reason about code, yes.

If CI didn't break, I see no reason why a reviewer wouldn't glance over that and think it looked fine.

And I see no reason to make the change just to conform to some arbitrary style guide, especially when the change is made by a program that's not guaranteed to be correct, and the replaced version is not obviously equivalent (I'm not sure, not a Ruby programmer myself and don't know about the intricacies).
If nothing breaks, sure. But if things do break, the one who made the change should be held accountable (which isn't a big deal, because everyone makes mistakes), and we should stop and think about whether these mass changes are truly justified. The way I see it, these changes just makes git-blame useless while hardly making the code a bit more readable.

:-1:

Excuse me, have you read every change and made sure they're really equivalent? Because #1050 for instance (specifically 52ff988#diff-791b01b40fb03181802be9c2315258b2R153) seems to causing us audit errors which have at least been seen by three people so far

One or more of those people should have created an issue. I looked periodically for new issues and did not get one. If fixes need to be made in the short-term (e.g. when other maintainers are asleep) then it's worth creating a PR to fix them, even if you didn't introduce the bug.

If your answer to my question is no, can we stop these pointless, poorly-reviewed changes already?

You may not agree with the point but they are not pointless. They are investment in a consistent style which makes it easier to automatically review contributed PRs and lets people know what our style is rather than it being arbitrary. If they are poorly-reviewed: everyone has contributed to that. You are more than welcome to ask for a time period  (e.g. 24h, 48h) to give you personally more time to better review these changes.

If CI didn't break, I see no reason why a reviewer wouldn't glance over that and think it looked fine. If anything, the break simply exposed either a poorly named parameter or an improper use of the method, which would ideally be caught in tests to begin with.

I agree. We should add a failing test to handle this case. This is partly a process failure but also partly a CI coverage failure.

especially when the change is made by a program that's not guaranteed to be correct

It's not made by a program, it's made by a person and people make mistakes (you too, you know). We've all made mistakes in the last week and I'd like to you to think how you'd feel if your mistakes produced a similar reaction.

But if things do break, the one who made the change should be held accountable (which isn't a big deal, because everyone makes mistakes)

They are accountable but hitting on your hands waiting for a fix from them (particularly considering they are in a timezone when they are likely to be asleep) is your decision. A 24h turnaround on such a change is a reasonable expectation.

I agree. We should add a failing test to handle this case. This is partly a process failure but also partly a CI coverage failure.

People may disagree, but to me, "all tests pass => everything is good" is totally unrealistic, however good your tests are and coverage is. Plus the test directory is itself being fixed up by these RuboCop PRs too.

It's not made by a program, it's made by a person and people make mistakes (you too, you know). We've all made mistakes in the last week and I'd like to you to think how you'd feel if your mistakes produced a similar reaction.

I take full responsibility for any mistake I make, and if I deserve "a similar reaction" (pretty sure I did for one case) I'll take it. The reaction is just a cold wake up call; it's not ad hominem or anything.

Excuse me, have you read every change and made sure they're really equivalent?

Yes. SinceOS::Mac is a module, module_function does not break anything as it simply replaces instance methods with class methods.

People may disagree, but to me, "all tests pass => everything is good" is totally unrealistic, however good your tests are and coverage is.

It may be unrealistic but we should strive for a test suite where that's the case. We should aim to catch everything with CI that we can.

I take full responsibility for any mistake I make, and if I deserve "a similar reaction" (pretty sure I did for one case) I'll take it. The reaction is just a cold wake up call; it's not ad hominem or anything.

Wake up call is appropriate language as it was used while @reitermarkus and I were both asleep. You are entitled to take full responsibility and entitled to ask people to react to you in a certain way but this project has a Code of Conduct that aims to similarly spell out expectations of everyone's communications and, to me, that excludes cold wake up calls when the same information can be explained in a more diplomatic fashion.
It's also perhaps worth noting that when diplomacy is lacking it takes effort to deal with the consequences. This morning I had time to either try to smooth some of this over with people (including myself) who were unimpressed with the reaction or to try to fix the issue. As there was no issue filed with reproducible instructions on how to reproduce this I was unable to get a fix out before I had to rush out to a prearranged commitment.
To be clear, I'm not without fault either. I should have provided more in-depth review and encouraged waiting a bit longer for approval and holding off doing so until I could be around to clean up mistakes that may result. That's something I'll be doing more of going forward.

@whomeverconcerned Sorry, I'm too tired to argue and don't want to spend time on things that I (and probably most other team members too, judging from the lack of reviewers) don't care about, unless something actually breaks or if I happen to notice something too outrageous for me (which is highly unlikely because whenever I see such a PR the first and last thing I do is click unsubscribe). So proceed however you want and sorry for the wasted time and energy.
I have voiced my concerns about the necessity and legitimacy of this whole series of contributions and its impact to the whole team without explicit consensus, but the concerns have been dismissed as "exposing other problems" or "shut up if you won't provide or continue to provide anything specific". What else can I say?
By the way, reread my old comments if you will, when you calm down and feel less attacked.
This is my last comment on this series of issues (including those that are coming).

I've given this a reasonable review and we've just cut a new tag (1.0.5) so I'm going to merge this. I'm going to make sure in future I only merge style changes like this well before tagging.


Inconsistent highlighting for incrementing and decrementing variables

Hi, I found an inconsistency in syntax highlighting when incrementing and decrementing variables in loops.  If in the third part of a for-loop we decrement a variable, the -- signs are blue instead of white. Below you can find an example of this behavior:

package main

func main() {
    for i := 0; i < 10; i++ {
        // Stuff
    }

    for i := 0; i < 10; i-- {
        // Stuff
    }

    i++
    i--
}

I'm open to working with you to fix this issue, let me know if there's anything I can help you with.

Hi,
Thank you for your time and contribution.
Yes, you are right. Decrementing operator in the for loop should be white.
v0.2.6 - Dark+ Theme

This bug has been fixed in v0.2.6 thanks to you.

Thank you for the quick fix


Missing tooltips path

This fixes #8327.

@gfiorav CR this, please.
@matallo I'm 100% sure that the trace you sent me was caused by this (although I guess that JS errors are unrelated).
cc @xavijam

look 📦 to me!


[CT-396] [Bug] Generic tests aren't valid in BigQuery when the struct and table name are the same

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
In BigQuery if the table name and the struct within both have the same name the unique test is failing due to table aliases not being applied. This is happening due to the way BigQuery parses the test_data.id portion. BigQuery believes that the test_data part is the table and then looks for a column called id.

This also affects the accepted_values, not_null, and relationship tests. I'm not sure if this also affects other packages such as dbt_utils etc as I haven't looked at the code for them.
Expected Behavior
Instead, what it should be is similar to below where the table name is given an alias that is different to the name of any table, column, or struct. In the screenshot, since test_data is no longer the table name it is looking for a struct with that name. When it finds one, it then looks for a column called id. This now allows for the query to be valid as shown in the top right.

I believe changing it in these fours places will fix it:

accepted_values
not_null
relationships
unique

The alias will need to be random enough that no table or struct will have this name.
I'm not familiar with the intricacies of the code base but if you think it's limited to these four files I would be happy make the changes.
Steps To Reproduce
This code is the output of a compiled unique test, replacing the source with the test data
WITH test_data AS (
    SELECT
        STRUCT(
            1 AS id
        ) AS test_data
)
, dbt_test__target as (
  select test_data.id as unique_field
  from `test_data` AS some_alias_that_is_unlikely_to_be_a_table
  where test_data.id is not null
)
select
    unique_field,
    count(*) as n_records
from dbt_test__target
group by unique_field
having count(*) > 1;

Relevant log output
No response
Environment
- OS: dbt Cloud & Mac OS 11.6.3
- Python: 3.9.10
- dbt: 1.0.3

What database are you using dbt with?
bigquery
Additional Context
Not sure if this also applies to the other adapters. Looking at the documentation for postgres, redshift, and snowflake they all support the AS keyword so I don't think this will break them

I had the same issue. Is it really a bug or is it an expected behaviour in order to force the use of best practices, in this case not using the same table name for a column name? 😅

Thanks for the report @dgreen161 and @marianore-beepboop!
I'm not sure one way or another if this same scenario would affect databases other than BigQuery.
It doesn't feel great to try guessing an identifier that will be unique -- all that would do is just push the error case to be more rare.
Alternative idea
A possibility might be to add an optional alias parameter to the built-in tests you referenced.
Note: The following is completely untested!
{% macro default__test_not_null(model, column_name, alias=none) %}

{% set column_list = '*' if should_store_failures() else column_name %}

select {{ column_list }}
from {{ model }}{% if alias is not none %} as {{ alias }}{% endif %}
where {{ column_name }} is null

{% endmacro %}

Then you'd do the following when you hit that error case:
version: 2

models:
  - name: orders
    columns:
      - name: status
        tests:
          - not_null:
              alias: you_write_something_unique_here

Recommendation for workaround
I don't know the appetite for considering an update like this -- I'd recommend using one of the following workarounds:

use unique names between the relation and the structs contained within
implement custom generic test(s) within your project(s) that handle this edge case

Thanks @dbeatty10
I agree on the alias name attempting to be unique, it's likely to make it a more difficult thing to debug in the future.
With some slight tweaks to the alternative idea that you shared, I was able to adapt the not_null test to override the default with a table_alias. This SQL was placed into the tests/generic/ folder.
{% test not_null(model, column_name, table_alias=None) %}

{% set column_list = '*' if should_store_failures() else column_name %}

select {{ column_list }}
from {{ model }}{% if table_alias %} as {{ table_alias }}{% endif %}
where {{ column_name }} is null

{% endtest %}

The yml file remained similar to what you shared also
  - name: test_data
    columns:
      - name: test_data.id
        tests:
          - not_null:
              table_alias: some_alias_that_is_unlikely_to_be_a_table

Note that I used a different name instead of alias, I wonder if it's a reserved word as it wasn't working for me until I changed it to table_alias.
If it's unlikely to be updated in core, this workaround with the override would work for us.

@dgreen161 thanks so much for sharing your working solution!
It's very possible that alias is reserved in some capacity. We certainly have where as an internal keyword for generic tests, so maybe alias is similar.
Glad that this workaround handles your use case if this doesn't get updated in Core.


[HW]

Name: Vincenzo Pellecchia
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/ing-vincenzo-pellecchia/
Attach the homework screenshots below for both step II and step III:
<

Looks great Vincenzo, thank you.

Hey Vincenzo Pellecchia, great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/Z4Wdm06aTKKQZp6X6Fgq3A


Simple rename command

This will allow us to rename the virtual machine to something else. Should check for

If given machine exists
If the renamed machine should also exist.

Merged!


HTTP error! status: 500

Under WSL2 on a Windows 11 machine I have Docker serving up Ollama and on my host machine when I go to http://localhost:11434 I get the Ollama page coming up with 'Ollama is running'.
uMdali runs on the same Docker under Windows 11/WSL2. The web interface comes up on localhost:8080 OK, and I go in and choose ollama/mistral as the model (I have tested that the model is downloaded).
I entered a query "When was the Battle of Trafalgar" and hit Enter.  Immediately a line comes up that says "HTTP error! status: 500"
Screenshot attached

Replace localhost with your actual ip.

In what, the IP address for Ollama or the IP address for uMdali?


Scala Native support

Hi.
I'm wondering what would be a blocker for Scala Native support.
Thank you for this nice library and for your input.

Rocket man 🚀
This is amazing.

@david-bouyssie Thanks! Just cut a release for it: https://github.com/plokhotnyuk/fast-string-interpolator/releases/tag/v0.6.3


Add icon for Trade Republic

Description
Adding icon for Trade Republic
Type of change

:x: Bug fix (non-breaking change which fixes an issue)
:white_check_mark: Icon addition (non-breaking change that adds/modifies Lawnicons's icons)
:x: General change (non-breaking change that doesn't fit the above categories like copyediting)

Icons addition information

Icons added

App Name (de.traderepublic.app)

Icons linked

App Name (linked de.traderepublic.app to @drawable/traderepublic)

otherwise, the gap won't show. I wanted to keep the original ratio of the shapes.

True but you can just increase the spacing . I suppose I'll merge


Rewrite the database crate, and more!

Closes #141
Closes #134

This is an auto-generated message summarizing this pull request.
:pencil: — Rules

:speech_balloon: Title validation: valid! :heavy_check_mark:

Rule: None

:twisted_rightwards_arrows: Merge strategy: squash

:speech_balloon: — Status comment

:construction: WIP? No :heavy_check_mark:
:checkered_flag: Checks: running... :clock2:
:mag: Code reviews: passed! (0 given / 0 required) :heavy_check_mark:
:test_tube: QA: skipped. :heavy_check_mark:
:lock: Locked?: No :heavy_check_mark:
:twisted_rightwards_arrows: Mergeable?: Yes :heavy_check_mark:

:gear: — Configuration

:twisted_rightwards_arrows: Automerge: :x:

:scroll: — Current status

Pending: Waiting for checks

See checks output by clicking this link :triangular_flag_on_post:
Beep boop, i'm a bot! :robot:

bot help

bot help

Hello Srynetix ! I am a GitHub helper bot ! :robot:
You can ping me with a command in the format: bot <command> (<arguments>)
Supported commands:

noqa+: Skip QA validation
noqa-: Enable QA validation
qa+: Mark QA as passed
qa-: Mark QA as failed
qa?: Mark QA as waiting
nochecks+: Skip checks validation
nochecks-: Enable checks validation
automerge+: Enable auto-merge for this PR (once all checks pass)
automerge-: Disable auto-merge for this PR
lock+ <reason?>: Lock a pull-request (block merge)
lock- <reason?>: Unlock a pull-request (unblock merge)
req+ <reviewers>: Assign required reviewers (you can assign multiple reviewers)
req- <reviewers>: Unassign required reviewers (you can unassign multiple reviewers)
strategy+ <strategy>: Override merge strategy for this pull request
strategy-: Remove the overriden merge strategy for this pull request
merge <merge|squash|rebase?>: Try merging the pull request with optional strategy
labels+ <label>: Set specific labels
labels- <label>: Unset specific labels
ping: Ping me
gif <search>: Post a random GIF with a tag
is-admin: Check if you are admin
help: Show this comment

Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot strategy+ squash

bot strategy+ squash

Merge strategy override set to 'squash' for this pull request.
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot strategy-

bot strategy-

Merge strategy override removed for this pull request.
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot noqa-
bot qa-

bot noqa-
bot qa-

bot qa+

bot qa+

QA is marked as pass by Srynetix.
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot lock+ test

bot lock+ test

Pull request locked by Srynetix.
Reason: test.
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot req+ @FloZone

bot req+ FloZone

FloZone is now a required reviewer on this PR.
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot req- @FloZone

sorry autre test
bot req+ @FloZone

bot req+ FloZone

FloZone is now a required reviewer on this PR.
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot admin-sync

bot admin-sync

bot req- @FloZone

bot req- FloZone

FloZone is not anymore a required reviewer on this PR.
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

bot lock-
bot automerge+

bot lock-

Pull request unlocked by Srynetix.

bot automerge+

Automerge enabled by Srynetix
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)

Pull request successfully auto-merged! (strategy: 'squash')
Beep boop, i'm a bot! :robot: (github-scbot 0.19.0)


Auto close brackets/parentheses

I want to know how to close the parentheses in writing the code. I searched a lot, but to no avail. Here is the link to the question.
https://stackoverflow.com/questions/69721789/how-complete-the-closing-of-the-parentheses-in-edit-text-kotlin

Please have a look at the instructions.
val pluginSupplier = PluginSupplier.create {
    autoIndentation {
        autoIndentLines = true // whether the auto indentation enabled
        autoCloseBrackets = true // automatically close open parenthesis/bracket/brace
        autoCloseQuotes = true // automatically close single/double quote when typing
    }
}
editor.plugins(pluginSupplier)


Improve rate limiter API

Which problem is this PR solving?

#52

Short description of the changes

Adds DetermineWaitTime method to rate limiter API.

@yurishkuro the reason this is in jaeger-lib was to migrate it from jaeger-client-go. But @black-adder had said that using utils.RateLimiter from jaeger-lib instead of jaeger-client-go would be a potential issue for backwards-compatibility (he might remember details, I'm not sure at the moment), which is why utils.RateLimiter has not been removed from the client.
Regarding the reuse of this rate limiter, I believe it should be done once well, instead of ad-hoc in each library. One API change was discussed and ultimately dismissed in #38. For that reason, the throttler in https://github.com/jaegertracing/jaeger/pull/1079 uses a custom token bucket implementation. Not adding the wait time API here would mean implementing yet another custom token bucket implementation.

Build fix depends on #56.

It is much easier to make internal type public than vice versa. You are currently trying to solve exactly one use case, which does not meet the "rule of three" condition for being public type. Also, as Prithvi suggested, why can we not just use uber-go rate limiter, which already sleeps? Let's solve problems by writing less code, not more.

I didn't realize uber-go was an option (adding dependencies being frowned upon). Either way, I'm happy. Lol about "rule of three" (never heard outside of C++). But I think it does solve three unique cases:

Rate limiting sampler in client.
Throttler token bucket for tracking debug spans per service.
Sleeping between calls to ingester.

All three cases need the simple token bucket implementation, so I don't see why it is not just done full scale here.
Bottom line: what do you suggest?

I suggest either using uber-go limiter or an internal type. While we do have three use cases, they all have slightly different requirements and developing a single solution with a written-in-stone API is something I personally want to avoid. If anything, we can try to combine throttler with this one, but still as internal type where we don't have to worry about public API.

Got it. Thanks!

BTW uber-go/ratelimit only takes an integer credits per second.


Add workload/stress tests

We might use the same tools than in https://blog.feathersjs.com/http-vs-websockets-a-performance-comparison-da2533f13a77.

https://github.com/M6Web/websocket-bench is pretty old and we got some incompatibility issues when installing, started something based on https://github.com/rvagg/node-worker-farm & https://auk.docs.feathersjs.com/api/client.html instead.

See<EMAIL_ADDRESS>

Would be interesting to run https://github.com/nearform/node-clinic during workload testing.

Moved to https://github.com/kalisio/aktnmap/issues/21


moment.duration does not produce same values when converting units

I think I have found an inconsistency, converting a year to seconds, and then those seconds into years doesn't produce the expected value (1).
var duration_1year = moment.duration(1, 'year');
var seconds_1year = duration_1year.asSeconds();

var newDuration = moment.duration(seconds_1year, 'seconds');
var newDurationAsYears = newDuration.asYears();
console.log(
  "Moment",moment.version,
  "says that a year is", seconds_1year, "seconds, but again it claims that\n",
  seconds_1year, "seconds is", newDurationAsYears, "years");

This code produces the following output;
Moment 2.10.6 says that a year is 31536000 seconds, but,
31536000 seconds is 0.9993360575508053 years

Just confirmed the result is same with month as in year.
Tested in Firefox and Chromium.

This also looks like highly similar to #1867

The problem lies in calculating the ratios to convert days to months in ./src/lib/duration/bubble.js. Currently we assume there are 146097 days(taking in account the leap years), and thereby 12*400 = 4800 days in 400 years. So the conversion ratio for days to months = 4800/146097.
Say we have 365 days as days, then months = days * (4800/146097) = 11.992032690609664 and not 12.
So, on a deeper thought, it may be evident that when we are counting the number of days in 400 years we include 97 extra days due to leap years, but we neglect them in month calculation. This creates the issue because 97 days in itself add some quantity to the month total.
The question is how many months is 97 days?
If 30 days = 1 month, then as per the example above,
365 days = 365*(4800+(97/30))/146097 = 12.000110657074867 which is not again equal 12.Not only that, making this change leads to failures of 23 test cases defined out of 2514 tests.

I think we can call this a bug, but yeah, it's not obvious exactly what to do here.

there was a proposal to change the duration calculation here: https://github.com/moment/moment/issues/3209#issuecomment-248367814
Open to comments.

I think we will not make changes here. See https://momentjs.com/docs/#/-project-status/

365.2425 * (4800/146097)


A new site I'd like you to consider blocking (Piped - piped.kavin.rocks)

Here's a new site I'd like you to consider blocking:
piped.kavin.rocks
(please include any other relevant details)
What is Piped?
https://github.com/TeamPiped/Piped

An alternative privacy-friendly YouTube frontend which is efficient by design.

Thank you.

Extension's information:

Addon version: 1.6.5
Definitions version: 138
Environment

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/100.0.4896.127 Safari/537.36
Platform: macOS

Comments on that site are already being blocked, since any elements with a "comment" class applied to them are hidden by default. Is there a particular page where you're still seeing them?

Weird, on my side I see comments, for instance on this page:
https://piped.kavin.rocks/watch?v=bS4Q-WWyl3Q
And my whitelist is empty.

I don't see them on that page either. Hmm..

You're seeing the red "blocked" icon in the addon's popup window, right?

If you open the browser console and reload the page, do you see any errors?

On the "options" page for the addon, if you scroll down to the Info section there should be some stats about the addon.. posting those here might help.

Yes I see that icon, indicating comments should be blocked on that page.

Right, I forgot to check the console and look what I found.
Which is weird as, I can confirm you, the whitelist and blacklist textfields were empty, I never customised any settings for the extension.

The extension's information are already in my initial post

I ended up uninstalling and reinstalling the extension (especially after seeing the error in the console), and now I can see the comments are blocked. The extension was not out-of-date, all the setting page is exactly the same as it was before reinstalling it (and same information about the versions).
I have no idea what happened ¯_(ツ)_/¯ ...

Feel free to close the issue if you want, as I am not sure we can investigate further, sorry for the noise.

Sorry I missed the details in the original post. That's odd. You had the latest version of the addon but it was failing to download the file that tells it what to hide. I'll probably dig around in the code to see what might've caused it to behave like that, but glad reinstalling it worked!


Missing HTML highlights in nvim

Everything works but HTML highlights. Doesn't seem to happen to the Helix editor (which uses a fixed commit, perhaps some of the commit caused this?)

Parser/Features         H L F I J
  - astro               ✓ ✓ ✓ ✓ ✓
  - css                 ✓ . ✓ ✓ ✓
  - html                ✓ ✓ ✓ ✓ ✓
  - htmldjango          ✓ . ✓ ✓ ✓
  - tsx                 ✓ ✓ ✓ ✓ ✓
  - typescript          ✓ ✓ ✓ ✓ ✓

https://github.com/nvim-treesitter/nvim-treesitter/issues/3497

Sorry for not responding earlier, I was a bit busy.
This issue isn't caused by that one, as the Astro parser does not use HTML injections, but rather copies the grammar rules directly.

This works perfectly fine on my machine, so it appears to be a configuration issue on your end. What's the output of :checkhealth? Do highlights in .html files work properly?

Found the problem: The color scheme.
Indeed, .html has "no highlight" as well, but changing even to a built-in theme allows the highlighting to appear. Guess the colorscheme I am using is outdated.


[WASM] Add requestAnimationFrame to browser module

I also modified mandelbrot.py to use request_animation_frame as I discussed in #528.

Codecov Report

Merging #539 into master will decrease coverage by 0.08%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #539      +/-   ##
==========================================
- Coverage   48.08%   47.99%   -0.09%
==========================================
  Files          70       70
  Lines       14500    14533      +33
  Branches     3624     3630       +6
==========================================
+ Hits         6972     6975       +3
- Misses       5665     5695      +30
  Partials     1863     1863

Impacted Files
Coverage Δ

wasm/lib/src/browser_module.rs
0% <0%> (ø)
:arrow_up:

vm/src/stdlib/string.rs
27.74% <0%> (+1.73%)
:arrow_up:

Continue to review full report at Codecov.

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


type 'Null' is not a subtype of type 'String'

I have stream connection and all was good. After adding some extra logic and classes to endpoints I get this when I try to send stream message
type 'Null' is not a subtype of type 'String'
#0      Server._handleWebsocket (package:serverpod/src/server/server.dart:395:43)
<asynchronous suspension>

this exception lead me to serverpod lib to this line

so className property now is null, but why? this is database class and it was generated by serverpod from yaml so Idk what can cause this
I printed json that come to websocket right before it throw exception and I got this:
INFO: {"command":"ping","args":{}}
INFO: {"endpoint":"room","object":{"className":null,"data":{"id":null,"roomId":"","userId":2,"messageType":"message","text":"testMessage","createdAt":"2023-01-02T12:03:07.456407Z"}}}
type 'Null' is not a subtype of type 'String'
#0      Server._handleWebsocket (package:serverpod/src/server/server.dart:395:43)
<asynchronous suspension>

Finally I found issue, in one file of project_name_flutter part I made wrong import and it caused wrong serialization.
I imported
import 'package:project_name_server/project_name_server.dart';
instead of
import 'package:project_name_client/project_name_client.dart';
So, I changed import to second variant and it fixed my issue


Autoload and templates

This PR contains merge conflict fixes and minor changes to #28.

Self-approving this one.


[Feature Request]: Delete remote items

Feature Description
I know that there is the option to factory reset and then change the UUID on other clients to remove them but this risks leaving the server with a load of UUIDs and associated list items that will go stale over time/take up space. Unless you have a process to boot them after X days of non use/client not seen in X days.
The feature would be like the existing "remove local stored items" but would apply to the server items - i.e. a way to reset back to the beginning. This could speed up the processing of new items and not risk missing relisted items that had previously been marked as hide when hunting for the wheat amongst the chaff...

So to your first paragraph, yes the server has a way to garbage collect unused UUIDs.
If you do a factory reset, you will get a new UUID and start over. Unless you copy your old UUID to reuse it, but then you will be linked back to all your remotely stored items and pinned items, if you had remote storage enabled.
... when the UUID get purged on the server, the content associated wirh it will also be purged (ie: the remote hidden item and remote pinned items will be deleted).
I can see a benefit if you want to preserve your config but otherwise clear the memory from (mainly) hidden items.
I'll see what I can do.

So basically the button will now prompt you for 2 things:

Do you want to delete local hidden items?
Do you want to delete remote hidden items?

This should do it :) Will be available in the next release.


getting exception while using elasticsearch-river-jdbc plugin

I am very new to Elastic Search. I want to index MySql data into it. I have studied few links but i am not able to get through it. Actually, i am using Windows system. Here i am not able to run below command:
./bin/plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/<IP_ADDRESS>/elasticsearch-river-jdbc-<IP_ADDRESS>-plugin.zip
Alternatively, i downloaded a zip having "elasticsearch-river-jdbc-1.0.0.RC1.2.jar". Then i put this jar in lib folder of Elastic Search so while running "elasticsearch.bat" file it is giving me an exception saying : "plugin river-jdbc, failed to invoke custom onModule method".
Can anyone tell me how to solve this issue OR is there any alternate approach to index MySql data.

i have also same issue......... plz, any experts reply to us........

i have also same issue...... rahul, if u resolved above issue then plz, tell me how to solve this issue...


missing_configuration_properties

{"error":{"code":"missing_configuration_properties","message":"Neither ACCOUNT, nor REPOSITORY are defined"}}
Private git repo, added "TOKEN" environment variable in Vercel as instructed in README. Still seeing this error.

ACCOUNT is your github handle, and REPOSITORY is the repo you want to use for autoupdates, add them to the variables with the TOKEN


Style changes

Thanks a lot for picking up this project!
Just some small style changes and adding a CI that tests for the consistent style.
I can help you to enable it (or you can give me write access 😄)
I plan to make more changes and some simplifications soon, but I think that should go in another PR because this one doesn't change anything except the style.
In the next PR (when this is merged) I will make simplifications to the code (while retaining the functionality of course).

@bendavid, please let me know what you think!

Do you plan on merging this?
If so, I will solve the merge conflicts (again) 😅😉

ping @bendavid

@bendavid, I rebased on top of master 👍
(again 😉)

Since python 3.6 has already been deprecated in home assistant (and is being removed in 0.104 I believe) we should make the requirement python 3.7 rather (I guess the pyupgrade hook also needs to be modified accordingly.)
There are definitely some bits here which don't work in python 3.6
(asyncio.create_task for example was only introduced in 3.7, even if that would be trivial to work around if it were really needed.)

Good one, I thought that everything that was used was in Python >=3.6.
No need to depend on 3.6 though, however, it should support 3.7 because of Home Assistant.
I have updated and pushed the code accordingly.


Why is the  tag is needed in training json?

Hi @mmaaz60,
I am wondering why it is critical to include the video start tag start in one human conversation input and then the video end tag in the subsequent human input? I am currently in the process of creating my own dataset, so I was just wondering why these tags are needed and why the start and end tags are in two subsequent inputs?
https://github.com/mbzuai-oryx/Video-ChatGPT/blob/2e2fcf0e561b34ecc9271c3a8da49d63e891bd40/scripts/convert_instruction_json_to_training_format.py#L46C1-L50C111
Thanks for your response.
Quest2GM

Hi @Quest2GM,
I appreciate your interest in our work. The discussion at https://github.com/mbzuai-oryx/Video-ChatGPT/issues/10 would be helpful address your question.


Add contributors

@all-contributors add @DmytroHryshyn  for code and bug fixes.

@all-contributors add @alex-from-intuita  for code and docs.

@all-contributors add @hbjORbj  for code, bug fixes, and docs.

@all-contributors add @mohab-sameh  for code and docs.

@all-contributors add @kevtran2 for docs and code


Remove configuration targets and related documentation for Guardian

NonStop Guardian builds are not longer supported by the community maintainer(s) so the configuration targets
are removed.
The intermediate configuration items to support Guardian builds are left in place as a convenience for users who want to set up configurations for Guardian on their own.
Fixes: #22175
Checklist

[X] documentation is added or updated

This pull request is ready to merge

Merged to master. Thank you for your contribution!


Add @GetAll for list dependencies. Fixes gh-37

If a parameter is of type List, the default behaviour is to fill it with get(). Sometimes a getAll() is required instead. @GetAll provides this possibility.

Interesting proposal. Still wondering if we call it @GetAll, but seems right in the usage 🤔

No real other. proposal to change @GetAll for now 🤔  It follows up well with existing

I've just adjusted my commits (i.e. overwritten them) to ensure they are all signed. I hope this PR will soon be merged and released so this functionality can be used pretty soon. It would be very useful for some of my projects :-)

Any updates?

I will manage to merge it

After some thinking around, I believe that injecting a List<A> has more meaning by generating directly getAll().  Let's try like that without annotation: 5ae267527883be51ce7e7b5d53ff245e60682fa3
Else we will reopen this proposal 👍


Replacing 'Request' library with 'Node-fetch'

This started off as a simple replacement of Request with Fetch. There was quite a bit of debugging because of some nuanced logical differences between the two libraries. If you have any questions about some of my changes, I will try to explain them:
Three major notes:

We do NOT want to write coverage for the new lines we missed because it requires enabling AutoTest as a service in the tests and CircleCI. It looks like this was previously avoided in the code, so I will not change that directional approach.
The Options fetch and request objects are different types, so I had to change some logic there.
Forwarding the headers and body properties from the back-end to the AutoTest service requires that the headers are converted from their Map type to a JSON object and the body is converted to a stringified JSON object.
Request will throw errors on more than non-200 range responses. Fetch will only throw errors on 500 range responses, which requires that we add in a response.ok check to determine if the response is in the 200 range or not. This code cannot be reached in our tests without enabling AutoTest or mocking out functions.

Follow-up:
Decide if want to leave AutoTest service disabled in the back-end tests. Enabling the AutoTest service may be unnecessary complexity. Unless we hear of a demand to enable it, we are leaving it disabled in the tests.

I did a manual test on our end to see whether the Query String that was being sent to the Patch Tool service was the same, as I cannot test that logic:
Before, object being sent to RP in options:
Object {patch_id: "test_patch_ex", github_url: "null.git", dryrun: false, from_beginning: false}

After: "http://patchtool:3000/autopatch?patch_id=test_patch_ex&github_url=null.git&dryrun=false&from_beginning=false"
Should be "http://patchtool:3000/autopatch?patch_id=test_patch_ex&github_url=null.git&dryrun=false&from_beginning=false"


Root / Remove Typechain

This is the root branch where all efforts to fully remove TypeChain from the codebase will be gathered.

My only goal with this PR, now, is to get it merged cleanly, building, and running.
viem's batching can be turned off, let's worry about those strange issues we're seeing in a future PR.
main goal right now is to get this merged.

@decentdao/engineering
My only goal with this PR, now, is to get it merged cleanly, building, and running.
viem's batching can be turned off, let's worry about those strange issues we're seeing in a future PR.
main goal right now is to get this merged.

I'm working on these conflicts

Assuming there's no upcoming prod releases - I think we should be good to merge it now. If there will be something urgently needed for main - we can go through hot-fix branch targetting main branch @adamgall @DarksightKellar @Da-Colon WDYT?

You know what, yes let's do it

Let's do it

via GIPHY


Escape é in info.js

2 commits

I know...
I'm not in home, I will be back in 1 hour.

Updated.


Netflix support

Initial experiments dont allow netflix video playback even when changing user agent header.
This is due to widevine DRM plugin not working as expected on chrome webview.
Need to debug more.

Also attempted projecting the screen just like what AAmirror does, but Netflix video doesn't get mirrored, only subtitles do. It uses some sort of secure video flag I guess.

So there is no way out yet. One last attempt might be simulating a Chromecast host.

I've been looking for a way to make this work with Netflix or Xfinity Stream.  All other apps seems to mirror fine (well sort of, I have to keep unlocking them).  There is definitely something about the RM and Secure Video flag that's blocking the mirroring.  Have you found a way to do it by simulating a Chromecast host yet?


Merge remote repo by ollah666

this essentially unites the diverged git histories to fix https://github.com/RalphTro/checkDigitCalculator/issues/7 . No real code changes here.


Update sealed.md

Summary
Updated compiler error message.
Fixes #Issue_Number (if available)

Build is stuck; closing and reopening to begin new build.


Could you make this library work on Arduino UNO?

I want to use sensor XGZP_6867 on Arduino UNO, but Arduino IDE will report compiling erro.
Thank you.

I have the same issue, error is:
In file included from directory XGZP_6867-master/examples/readSensor/readSensor.ino:10:0:
directory/Arduino/libraries/XGZP_6867-master/src/XGZP.h:15:10: fatal error: esp32-hal.h: No such file or directory
#include <esp32-hal.h>
^~~~~~~~~~~~~
compilation terminated.
exit status 1
"Błąd kompilacji dla płytki Arduino Uno."
Error compiling for Arduino Uno board.

Very nice work, I'm searching the code for the ESP8266 or Arduino has anyone found it?


[BUG] __gc not working with UserType? | Windows

__gc metamethod in usertypes doesn't work at all
[ERROR] .NET Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at GmodNET.ManagedFunctionMetaMethods.ManagedDelegateExecutor(IntPtr lua_state) in D:\a\GmodDotNet\GmodDotNet\gm_dotnet_managed\GmodNET\ManagedFunctionMetaMethods.cs:line 31

To reproduce:
Push usertype
Create table, set its __gc field using PushManagedFunction
Set usertype's metatable to table created earlier
Push usertype to global table
Invoke __gc by doing something like GlobalUserdata = nil
???
Get exception
Maybe I'm doing something wrong. Though I'd like to hear how to do it correctly if that's the case!

@JenyaRostov can you provide a version of GmodDotNet you are using?

@JenyaRostov can you provide a version of GmodDotNet you are using?

Version 0.7.0-beta.2.32948499.better-xml-docs codename UstIlimsk

I'm creating usertype like this:
public class TestUserdataClass
{
    private int IntMember = 5;
}
public int __gcTestFunc(ILua lua)
{
    Console.WriteLine("GC\'ing!");
    return 0;
}

lua.PushSpecial(SPECIAL_TABLES.SPECIAL_GLOB);
GCHandle handl = GCHandle.Alloc(new TestUserdataClass());
lua.PushUserType(GCHandle.ToIntPtr(handl),130);
lua.CreateTable();
lua.PushManagedFunction(__gcTestFunc);
lua.SetField(-2,"__gc");
lua.SetMetaTable(-2);
lua.SetField(-2,"GUserdata");

Where did UserType index 130 come from?

Where did UserType index 130 come from?

Ah, just a random number I chose

This must not be a random number, but generated with Lua.CreateMetaTable (https://docs.gmodnet.xyz/api/GmodNET.API.ILua.html#GmodNET_API_ILua_CreateMetaTable_System_String__).
So in your case it must be something like this:
int type_id = lua.CreateMetaTable("MyType");
lua.PushManagedFunction(__gcTestFunc);
lua.SetField(-2, "__gc");
lua.Pop(1);
lua.PushUserType(GCHandle.ToIntPtr(handl), type_id);
...

Setting metatable for already created type is bad idea.

Here is how we use __gc metamethod for managed functions:
https://github.com/GmodNET/GmodDotNet/blob/7adfca9112728cda71570ad6665502b80585f2ae/gm_dotnet_managed/GmodNET/GloabalContext.cs#L29-L35
Maybe this will help you to figure out it a bit.

This must not be a random number, but generated with Lua.CreateMetaTable (https://docs.gmodnet.xyz/api/GmodNET.API.ILua.html#GmodNET_API_ILua_CreateMetaTable_System_String__).
So in your case it must be something like this:
int type_id = lua.CreateMetaTable("MyType");
lua.PushManagedFunction(__gcTestFunc);
lua.SetField(-2, "__gc");
lua.Pop(1);
lua.PushUserType(GCHandle.ToIntPtr(handl), type_id);
...

Setting metatable for already created type is bad idea.
Oh, it works now! Thank you very much, I was just doing it like I did in c++(setting TypeID manually)

Good! So your issue is resolved? May I close it?

Good! So your issue is resolved? May I close it?

Yep! Thanks again

Feel free to reopen the issue if you still have questions. You can also ask for help on our Discord server.


add a namespace for each configuration file

When doing create it is difficult to keep unique names across multiple runs when the previous runs are still active. also most  of the times, the simplest names are things like h1, n1, m1 etc. and repeating this in another config file causes problems.
it would be good to have the script, append or postpend some unique characters to these while still allowing the user to deal with the above names in the command line and conf file. probably just create a namespace per run and have that stored in the resources file.

Done

two things that would be nice to be fixed:

In the initialization if you can initialize the namespace with the pid rather than "", than in case the user does not specify a namespace, the PID gets added as a namespace that will ensure a fair level of uniquness

The bridge names also need to be put into this same namespace.

Done


Fix static content support

This aims to fix static content support i.e. contents of the simpla-text should be set to the Simpla buffer for saving later iff there's no content remotely, or already set in the buffer.

[x] Set content to buffer if no content remotely
[ ] Do not set content to buffer if buffer is dirty

Given text now uses simpla-element-behavior, its not text's responsibility to deal with static content, instead simpla-element-behavior should deal with when to set text's value to buffer for loading static content.


Add support for Laravel/Lumen 8.x

What is the feature?
Add support for Illuminate 8.x
What benefits will this change bring?
Allows people to use health check on the latest version of the framework.
Additional context
None.

Tagged at v1.3.0
https://github.com/ukfast/laravel-health-check/releases/tag/v1.3.0


Dumper Addon: make the number of printed lines configurable when using flow_detail = 3

I try to dump full traffic on stdout using mitmdump, but when response body has more than about 80 or 90 lines on stdout appear (cut off) and all other lines are lost,
I use this command:
mitmdump  --set flow_detail=3 --set content_view_lines_cutoff=2000
The exact behavior is described here on old mitmproxy forum: unfortunately there was no response
@debian-10:~$ Scaricati/mitmdump --version
Mitmproxy: 6.0.2 binary
Python:    3.9.1
OpenSSL:   OpenSSL 1.1.1i  8 Dec 2020
Platform:  Linux-4.19.0-14-amd64-x86_64-with-glibc2.28

I'm not sure why it's that way, but it happens here
https://github.com/mitmproxy/mitmproxy/blob/8178f6c77b715cd342f8be161d5ca5da8938645c/mitmproxy/addons/dumper.py#L110-L113
but all calls to _echo_message are already guarded with if ctx.options.flow_detail >= 3: so the else will never be reached.
It's been this way since the beginning https://github.com/mitmproxy/mitmproxy/commit/b0b3b19ad644afeb353cf6e02bd4aac61f2774c8
content_view_lines_cutoff is only for mitmweb, I guess we need to introduce a new option for the dumper and default to 0 (dump everything) I guess?
In either case 70 is currently a magic number. Magic number bad. Make programmer angry.

I changed my mind, sort of.
flow_detail = 4 is simply undocumented :thinking: . You can use it as a workaround :+1:

I've made a PR for the docs and updated this to be a feature request to make the 70 configurable when using flow_detail 3

content_view_lines_cutoff is only for mitmproxy ui, I guess we need to introduce a new option for the dumper and default to 0 (dump everything) I guess?

We should make it an option for all tools then and reuse it in mitmdump. :)


isSticky stays true even if i scroll back to the top

The sticky is at

...
If i scroll down, stickyClass is added to the dom node.
However if i scroll back to the top, the class is not removed because of the test at:
https://github.com/dollarshaveclub/stickybits/blob/72f3ece89320263b65bd1bf769a23d74ab03586c/src/stickybits.js#L269

@kapouer could you provide an example to reference? ...So we can work on this together.
~Thanks!

https://codepen.io/kapouer/pen/yzPWXG
I realized it's not only a matter of being the first child or not.


add PREMIX as an allowed datatier

as per new development in 10.3 data format, a new datatier : PREMIX needs to be included

dbswrite = DbsApi(url=dbs_url_writer)
l = dbswrite.insertDataTier( {'data_tier_name':'PREMIX'})


Fix 4.17.2 upgrade schema idempotent add column order

Description
This PR adds a fix for an upgrade issue found from 4.17.2 to 4.19.1.
The IDEMPOTENT_ADD_COLUMN procedure was not found and the upgrade has failed with the following error:
2024-07-21 15:23:22,706 DEBUG [c.c.u.d.ScriptRunner] (main:null) (logid:) -- Add type column to data_center table
2024-07-21 15:23:22,706 DEBUG [c.c.u.d.ScriptRunner] (main:null) (logid:) CALL `cloud`.`IDEMPOTENT_ADD_COLUMN`('cloud.data_center', 'type', 'varchar(32) DEFAULT ''Core'' COMMENT ''the type of the zone'' ')
2024-07-21 15:23:22,717 ERROR [c.c.u.d.ScriptRunner] (main:null) (logid:) Error executing: CALL `cloud`.`IDEMPOTENT_ADD_COLUMN`('cloud.data_center', 'type', 'varchar(32) DEFAULT ''Core'' COMMENT ''the type of the zone'' ')
2024-07-21 15:23:22,717 ERROR [c.c.u.d.ScriptRunner] (main:null) (logid:) java.sql.SQLSyntaxErrorException: PROCEDURE cloud.IDEMPOTENT_ADD_COLUMN does not exist
2024-07-21 15:23:23,069 ERROR [c.c.u.DatabaseUpgradeChecker] (main:null) (logid:) Unable to execute upgrade script
java.sql.SQLSyntaxErrorException: PROCEDURE cloud.IDEMPOTENT_ADD_COLUMN does not exist
        at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:185)
        at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
        at com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:236)
        at com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:320)
        at com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:435)
        at org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.java:64)
        at org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:54)
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI
[ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

to be frank, I like @DaanHoogland's idea in #9385 more, which will permanently fix all the similar issues

Thanks @weizhouapache - I haven't seen that PR, will close this one


feat: add openscad icon

openscad website: https://openscad.org/
their github: https://github.com/openscad/openscad
colors are based on the colors used with simple icons, pull request with more data is shown below:
https://github.com/simple-icons/simple-icons/pull/8691
Closes: #409

just as a clarification the program is called OpenSCAD but the file extension is .scad


[BUG] The actual LRO in Certificates.json is not marked as LRO

API Spec link
https://github.com/Azure/azure-rest-api-specs/blob/f14445d3b414c86ef608ac9c6750ff203702e1f2/specification/web/resource-manager/Microsoft.Web/stable/2023-12-01/Certificates.json#L207
API Spec version
2023-12-01
Describe the bug
Failed to create or update a certificate.
There are many actual LROs that are not marked as LROs.
It seems that the following code is missing.
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }

Expected behavior
No errors occurred
Actual behavior
Response Code: 202
JSON is empty
Reproduction Steps
Create a certificate and assign values to canonicalName and serverFarmId.
Environment
No response

@naveedaz Please help take a look, thanks.


add a flutter.yaml file to the init template

Add a flutter.yaml file to the init template. @abarth, are these now required for apps? Possibly became a requirement w/ the move to not using an http server.

It's not strictly required, but you'll need one if you want to use icons (or other assets) in your app.

Oops, I meant to type LGTM instead of merging your patch.  Sorry :(


Proposal to make test() behavior more explicit and optimize for the future

Continued from https://github.com/sindresorhus/ava/issues/133.

I've been thinking a lot about sync vs. async tests and I really would like to make it more explicit and optimize for the future. Currently when using test() it's ambiguous whether the test is sync or async. The reality is also that most tests are sync and it's annoying and easy to forget the t.end() in every test (even I forget it all the time).
I propose we change the interface:
Before

test(t => {}) - async/sync depending of whether you do any async operation
test(async t => {}) - promise async

After

test(t => {}) - sync (no longer required to use t.end())
test(async t => {}) - promise async (what you really should be using)
test.async(t => {}) - callback async (legacy)

The main change here is that test() goes from being async to being sync with async support through async functions.
I know it's a breaking change, but isn't now the time to do that?
This will make AVA more future friendly as we'll eventually just use async functions for async operations. We'll support test.async() for legacy, but have a nice main interface for the main use-cases.

// @vdemedes @jamestalmage @kevva @arthurvr @SamVerschueren @af @taylorhakes and anyone else with opinions.

:+1:

I'm ok with changing this. In one-line modules, most of the time you only have one test. But it still forces you to write t.end or t.plan.
test('result', t => {
    t.is(fn('foo'), 'bar');
    t.end();
});

With these changes, this can be written to
test('result', t =>  t.is(fn('foo'), 'bar'));

I never use t.end in a callback, because promises (await/async) all-the-way! Maybe sometimes when using streams if it's not possible to use get-stream.
So in general, good for me!

I approve, but I would drop the legacy support and release as a major. Why not go all-the-way?
The use of the async keyword keeps things clean and seems much more natural to me, personally. test() now remains an all-in-one method (of sorts) that can still show explicit sync/async tests.
:+1:

@Qix- I guess the legacy can't be dropped. How would one test something like this without t.plan or t.end support?

@Qix- test.async() is there for callback-based APIs which isn't going away anytime soon...

Oh I see, nevermind. :+1:

Does t.end() exist in the sync version? Might be easier to upgrade, but add confusion later.
Maybe test.callback might be a better name? I seems like async is still possible in the regular version.

Does t.end() exist in the sync version? Might be easier to upgrade, but add confusion later.

We can expose it there as a noop function.

Maybe test.callback might be a better name?

Even though the main use-case is for callback-style APIs doesn't mean that's the only. I'd rather name it for what it is.

I seems like async is still possible in the regular version.

No, it will finish at the end of the tick. So async operations will be ignored.

Makes sense. I would be a little confused by t.end being a noop. I'd rather have it not exist to make sure I didn't make a mistake.
I guess we disagree on what is async. I consider this async.
test(async () => {
...
})

This looks great!

I would be a little confused by t.end being a noop. I'd rather have it not exist to make sure I didn't make a mistake.

Yeah, good point. I agree that's better.

I guess we disagree on what is async. I consider this async.

Oh, I misunderstood you. Yes, async is possible with test() by using an async function.

:+1:
This is the problem I was trying to communicate with #199, and I think this change provides a great solution.

I'd rather have it not exist to make sure I didn't make a mistake.

Let's take that further:
Object.defineProperty(test, 'end', {
  get: function () {
    throw new Error("t.end is not supported in this context. To use t.end as a callback, you must explicitly declare the test asynchronous via `test.async(testName, fn)` ")
  }
);

Let's take that further:

@jamestalmage :+1:!

In the case of an a function that has not been explicitly declared async, what becomes of t.plan()?
I thoroughly dislike the use of t.plan as a shortcut for automatically ending tests, but a lot of people are used to that.
If we have an implied async function, I say t.plan is only used as another form of assertion ("this is how many assertions we had"). We do not shortcut the end of the test until the generator/promise/observable/whatever is resolved.
If we have a declared async function, my preference would be to behave the same (just another assertion validation how many assertions we had). However, I think there is room for debate given that declared async tests closely follow existing frameworks like tap, so mimicking t.plan behavior might be the least surprising thing to do.
I have made up some terms here:

declared async =>

test.async('title', fn)

implied async =>

test('tiltle', generatorFn) / test('title', promiseFn) / test('title', async t => {})

For the record, t.plan() is useful to catch loop bound errors, such as when you expect a loop to run X amount of times with Y amount of assertions (t.plan(X + Y)), and the loop runs too long/short.
Another, probably more relevant use of planned assertions are double-callback invocations. If a callback is called multiple times, the easiest and cleanest way to detect multiple assertions is with t.plan().
It's not "useless", it's just high maintenance.

@Qix-
I never said plan was useless. Just that I do not like using it as a means of auto ending your test.
It certainly has value for all the things you just described. With auto-ending, you can do this:
t.plan(3);
for (var i = 0; i < 3; i++) {
  t.pass();
}

With my proposed modification to plan, you would be required to do this:
t.plan(3);
for (var i = 0; i < 3; i++) {
  t.pass();
}
t.end(); // this is no longer assumed for you, just because you made it to 3 assertions.

The issue that arises is this:
t.plan(3);
for (var i = 0; i < 3; i++) { // oops - I'm only expecting this to execute twice
  t.pass();
}
setTimeout(() => t.end(), bigNumber); // I expect this to be my third and final assertion

In this case, we may "auto-end" the test because you reached your plan and kill the process before your assertion inside the setTimeout ever fires. This produces a false pass for you - and some really painful debugging when you place confidence in what you think this test is telling you and search elsewhere.

OK,
I took an initial stab at this in #253.
It depends on PR #243 - so it is best to focus on the commit where I actually implement this proposal.

@jamestalmage I agree t.plan in "implied async" should not auto-end the test. I already decided that, but forgot to write it down. With those we actually have the opportunity to catch "more than planned assertions async", which we previously couldn't (can you add a test for that in your commit?).
As for "declared async" (test.async), I'm not sure. I would like to change it, both because it's better and for consistency with "implied async", but not sure if it's worth it seeing as it's legacy anyways and lots of people would assume that's how it works. Happy to discuss it, though (hint hint, people express your thoughts). Would be a nice change.

If you're referring to test.async(() => vs test(async t =>, why not test.callback(t =>?

@Qix- Already answered in https://github.com/sindresorhus/ava/issues/244#issuecomment-158411625.

OK, next question:
What should happen if they are using "declared async" (test.async), and they return a Promise?
The current behavior is to auto-end with the Promise, but it seems to me that once you have declared test.async, you have bought into the legacy API, and should be required to call t.end() at that point.
Consider this scenario that might arise when you are forced to deal with a mix of both promisified and nodeback API's:
test.async('mixed api example', async t => {
  var a = await promiseReturningFuncA();
  var b = await promiseReturningFuncB();

  // the async function will fall through and return a resolved Promise
  // possibly before this callback is done.
  callbackFunction(a, b, (err, result) => {
    t.ifError(err);
    t.is(result, ...);
    t.end();
  });
});

I am aware that this contrived example is easy to promisify. But what if it wasn't

In that case, you have to call t.end because you explicitly "subscribed" for that behaviour.

OK, so when using callbacks, auto-ending with plan does have a use. Coordinating ending after two or more callbacks who will be called in indeterminate order:
t.plan(2);

setTimeout(function () {
  t.pass();
}, randomTime());

setTimeout(function () {
  t.pass();
}, randomTime());

That is pretty niche though. So what about an opt-in (or opt-out) auto-ending behavior:
t.plan(2, true); // automatically end after two tests

@jamestalmage I find optional boolean parameters to be an anti-pattern, would either prefer a string literal or an options object. :smile:
http://ariya.ofilabs.com/2011/08/hall-of-api-shame-boolean-trap.html

Good call!
String literal sounds less verbose, and I guess I don't see needing to shove a lot of options in there.
t.plan(2, 'auto-end');

Optionally, the plan function could return a chainable object:
t.plan(2).autoEnd();

What should happen if they are using "declared async" (test.async), and they return a Promise?

That should not be allowed. They should instead use test(). We should detect it and throw an helpful error message.

OK, so when using callbacks, auto-ending with plan does have a use. Coordinating ending after two or more callbacks who will be called in indeterminate order:

I think we should drop auto-ending. Not even an option for it. I want to keep AVA simple and consistent. Instead, we should document how to count callbacks and t.end() when reached and recommend instead just splitting up the test into multiple, which is better anyways.

@sindresorhus +1!

+1


Add resources to Bash scripting

Hi @Byte7
I would love to add the resources related to Bash Scripting in AlgoWiki/Bash_Scripting/resources.md if no one else is working on this issue

@Byte7 PR  #232 created ! :+1:

@Yash-Handa You can go forward and add the resources. Also, you can add to any other topic you like. Sorry for delayed reply, kinda busy!😅

Is this issue still open??


add axioms to analysis scope

Description of the issue
Make a list of terms that should be related to analysis scope via is about.
e.g. scenario year
Already existing axioms:

'analysis scope' 'is about' some 'study region'
'analysis scope' 'is about' some 'sector'

Ideas of solution
If you already have ideas for the solution describe them here
Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have a definition
[ ] classes should arise from concepts rather than from words

We can start by implementing these:

scenario year
scenario horizon
considered region
methodical focus (?)

To proceed with this issue, I'll implement what was already proposed. Further axioms can be added later.

In PR #1059 we implemented what was discussed so far. As everything was implemented what was discussed in the issue, I close this now. If we need further axioms, we can open a new issue.


Can you provide the ability to train "custom data"??

It would be useful to add modules or notes for transfer learning so that we can use it forward.

There are currently no plans to release the training pipeline.
You can find the loss here:
https://gist.github.com/ranftlr/1d6194db2e1dffa0a50c9b0a9549cbd2
The multi-objective optimizer can also be found here:
https://github.com/intel-isl/MultiObjectiveOptimization

@ranftlr Hi, any update on the plans to release the training code yet?


How to make custom column sortable&searchable

Summary of problem or feature request
I want to add a custom column which combines two tables, how to make this custom column sortable and searchable?
Code snippet of problem
Controller:
$coursesQuery = Course::select('id', 'title', 'category_id')->with('category');
return Datatables::of($coursesQuery)
          ->addColumn('category', function($course) {
                    return $course->category->name;
          })
          ->make(true);

Html:
{ data: 'category', name: 'category', searchable: false, sortable: false },

Above is right, but when I change the Html code to:
{ data: 'category', name: 'category' },

It give me an ajax error showing 500 internal server error.
Anyone can help? Thanks a lot.
System details

Operating System:  laravel/homestead 2.0.0
PHP Version: 7.1
Laravel Version:  5.4
Laravel-Datatables Version:  7.4

https://yajrabox.com/docs/laravel-datatables/master/relationships
here is the solution

I need little help here
I am using data table as service
return datatables($query)
            ->addColumn('service.name', function ($rate) {
                return $rate->chargeable->additionalService->name;
            })
            ->addIndexColumn()
            ->addColumn('action', 'admin.rates.actions');

and my getColumn() function returns
return [
            [
                'data' => 'DT_Row_Index',
                'name' => 'DT_Row_Index',
                'title' => '#',
                'orderable' => false,
                'searchable' => false,
            ],
            [
                'data' => 'service.name',
                'name' => 'chargeable.additionalService.name',
                'title' => 'Service Name'
            ],
            'amount',
        ];

still showing me this error
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'chargeable.additionalService.name' in 'where clause' (SQL: select count(*) as aggregate from (select '1' as `row_count` from `rates` where (LOWER(`chargeable`.`additionalService`.`name`) LIKE %f% or LOWER(`rates`.`amount`) LIKE %f%)) count_row_table)

I need little help here
I am using data table as service
return datatables($query)
            ->addColumn('service.name', function ($rate) {
                return $rate->chargeable->additionalService->name;
            })
            ->addIndexColumn()
            ->addColumn('action', 'admin.rates.actions');

and my getColumn() function returns
return [
            [
                'data' => 'DT_Row_Index',
                'name' => 'DT_Row_Index',
                'title' => '#',
                'orderable' => false,
                'searchable' => false,
            ],
            [
                'data' => 'service.name',
                'name' => 'chargeable.additionalService.name',
                'title' => 'Service Name'
            ],
            'amount',
        ];

still showing me this error
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'chargeable.additionalService.name' in 'where clause' (SQL: select count(*) as aggregate from (select '1' as `row_count` from `rates` where (LOWER(`chargeable`.`additionalService`.`name`) LIKE %f% or LOWER(`rates`.`amount`) LIKE %f%)) count_row_table)


Baseline MAINTAINERS, CODEOWNERS, and external collaborator permissions

Follow https://github.com/opensearch-project/.github/issues/125 to baseline MAINTAINERS, CODEOWNERS, and external collaborator permissions.
Close this issue when:

MAINTAINERS.md has the correct list of project maintainers.
CODEOWNERS exists and has the correct list of aliases.
Repo permissions only contain individual aliases as collaborators with maintain rights, admin, and triage teams.
All other teams are removed from repo permissions.

If this repo's permissions was already baselined, please confirm the above when closing this issue.

Confirming that MAINTAINERS.md and CODEOWNERS are in sync. @dblock Can you update the repo permissions?

I don't see a CODEOWNERS file in https://github.com/opensearch-project/opensearch-java 🤔

I don't see a CODEOWNERS file in https://github.com/opensearch-project/opensearch-java 🤔

https://github.com/opensearch-project/opensearch-java/blob/main/.github/CODEOWNERS

Oh! It's in .github, do both root and .github work?

Done.

Oh! It's in .github, do both root and .github work?

Yup both of them work.