Support go plugins for forges and agent backends

As of #2520
Support to load new forges and agent backends at runtime using go's plugin system. (https://pkg.go.dev/plugin)
I also added a simple example addon (a new forge which just prints log statements), it should be removed later of course, but you can see an example.
I'm still not completely sure if go plugins are the right way to do this because they have some disadvantages, see godoc and the docs I added in this PR. If there's another, better way (e.g. gRPC), I can change this.
@mzampetakis That's it :)

Looks pretty nice already.
Two questions / ideas that came up to me:

How can we add a plugin to the docker image? Would we create a docker image using the "normal" image as base and simply add the plugin binary?
Can we combine this with the requested compiler, secrets, registry addons somehow? Problem would be as those should be selectable by users they would need to be executed in a rather separated environment like a step by the agent and therefore we might need to consider sth like https://github.com/hashicorp/go-plugin

This looks great!
It seems that any loaded forge through this add-on system will override the server's configuration for any forge. This could be documented at someplace (e.g. docs/docs/30-administration/75-addons/00-addons.md) so that the administrators will have a more clear view about server's bevahiour.

Is there any particular reason for using hashicorp/go-plugin instead of the built in one?
I believe that it might be more convenient to stick with the go's built in one in terms of upgradability.
What do you think?

"users" would be all users (including non-instance-admins) in my idea. The idea I had some time ago was that the server asks an agent to start a service (exp container) (similar to running a pipeline somewhere). This service would then provide an http endpoint. This endpoint could for example provide the config-service endpoint, so it could be used as an compiler. So as soon as the server needs the config it would check that the service is running and forwards the http request through the grpc connection via the agent to the service. But all of that was just a first idea.

Is this completed or blocked by something? I could run some tests with a dummy addon forge to check if everything is working as expected. Please let me know if I could provide any assistance.

Your suggestion won't work. hashicorp/go-plugin does not support RPC over remote networks, only locally.

That was just a reference. I think we need to create our own http endpoints definitions if we want to go that path. I would use an http api similar to what we have for the config-service already as grpc wouldn't be resistent to possible changes.

So this would be totally different from this approach. Can I revert it back to go plugins?

Sure, I would be fine adding the go-plugin approach for now as experimental and would not document it, so we could drop / replace it at any point.

So this would be totally different from this approach. Can I revert it back to go plugins?

Sure, I would be fine adding the go-plugin approach for now as experimental and would not document it, so we could drop / replace it at any point.

I am fond of moving towards the native go plugin approach as wel.
Being not documented/experimental means that it could be dropped at some point of time right? So, any implemented addons that will use this approach to integrate with woodpecker will be dropped as well right?
If that's the case I would recommend to be documented but noted as experimental (alongside the possibility of dropping this in the future) in order to be crystal clear but also be able to collect any feedback from implemented addons.


Integrating slinky demos

I have ported the demos to slinky (https://github.com/wiringbits/st-material-ui-demo-slinky), it would be ideal to integrate those into this repository, still, the vite settings are tied to a single module instead of multiple ones. I haven't dig into this, if you have anything working, I'd be happy to try it.
An alternative way would be to just create two independent directories.

I'm inclined to keep them as two repositories for now, just because it's less work and there is very little code to share. I mean it's all very similar, but it's all different

Sounds good, thanks for reviewing this.


A01641228 lab01

Fernando Gómez Martínez A01641228 Lab 01

commit has an empty file , but i tested with that
100


Fixed broken patch

well that fixes the issue I was going to pr lol

well that fixes the issue I was going to pr lol

Oops, sorry I was already done with it. Just needed to push.
But you can still PR you pom changes 😅

lol its fine i dont really care, pom changes coming soon :P


Windows.Devices.Radios may be not work correctly in x86

My OS is win10 64 bit and the OS version is 14393.0. When I build the code in x64, the program works well. However, when in x86, nothing can be gotten from Windows.Devices.Radios. The code is blow.
#pragma comment(lib,"windowsapp")
#include "winrt/Windows.Devices.Radios.h"
using namespace winrt;
using namespace  Windows;
using namespace Windows::Devices::Radios;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;

void test()
{
	auto list = Radio::GetRadiosAsync();
	while (list.Status() != AsyncStatus::Completed)
	{
		Sleep(100);
	}
	IVectorView<Radio> radios = list.GetResults();
	int n = radios.Size();
	auto radioItem = radios.First();

	for (int i = 0; i < radios.Size(); i++)
	{
		Radio r = radioItem.Current();
		radioItem.MoveNext();
	}
	return;
}
int main()
{
	initialize();
	test();
	return 0;
}

Here's a simpler way to enumerate the radios:
IVectorView<Radio> radios = Radio::GetRadiosAsync().get();

for (Radio const & radio : radios)
{
    printf("%ls\n", radio.Name().c_str());
}

Can you be more specific about what may not be working?

Thank you for your reply.
When I build the code in x64 and run it, the program can get two radios, the wlan and the bluetooth. However, when in x86, the program can get neither of the radios. It is the same result when I test the program in another PC.

I found a machine with two radio devices (my desktop has none). On x64 GetRadiosAsync produces a collection with two elements, but on x86 it returns an empty collection. This seems unrelated to C++/WinRT but I will check with the team responsible for this API.

It seems that something goes wrong with the API on x86.
Thank you.

This is still an issue. I'm running Win 10 1703!

Sorry folks, since the issue was closed I did not have a reminder to report back on this question. It turns out this is "by design". 😉
The issue is that the WinRT API tries to load registered media managers to listen for change notifications. These media managers are COM servers and are only expected to be created in the native OS architecture. The bottom line is that Windows does not register or ship a Wow64 version. The reason it works in an app container is because in that context the WinRT API makes the call through a broker process, which runs natively using the OS architecture.

Thanks for the reply. That makes sense.


update examples/cassandra kubectl output to the latest version

#9286
@nikhiljindal @bgrant0607

Thanks. All the examples probably have out of date kubectl output at this point, but I'd like to wait for at least #9876 before updating all of them.
cc @andronat

LGTM

True. I will open an issue on that.


add support for LZO-compressed assets

I'll revisit if there's a need to increase compression speed, but the assets are generally sufficiently small that this isn't necessary.


Drop deprecated enabledComponents field setting

This patch removes deprecated enabledComponents field in config-leader-election
It was removed since 1 year ago https://github.com/knative/pkg/pull/2162.
/cc @houshengbo @evankanderson @maximilien

The deps issue shoould be fixed by https://github.com/knative/operator/pull/734.

/lgtm
/approve


chore(Dependencies) : update jsoniter-scala-core, ... from 2.20.7 to 2.23.2

About this PR
📦 Updates

com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core
com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-macros

from 2.20.7 to 2.23.2
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.plokhotnyuk.jsoniter-scala" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.github.plokhotnyuk.jsoniter-scala" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:early-semver, commit-count:1

Superseded by #638.


fix(fungible): Fixing broken fungible token view

:tada: This PR is included in version 1.4.2 :tada:
Your semantic-release bot :package::rocket:


Need to switch up the words on action buttons on the pages

Joe, this is to change homepage action button text.


Initial Commit

I've implemented NOT, AND, OR and XOR basic logic gates from the single built-in NAND gate.

LGTM


arch: Add Dual-redundant Core Lock-step (DCLS) configuration.

Add a new Kconfig configuration for specifying Dual-redundant Core
Lock-step (DCLS) processor topology.
Signed-off-by: Stephanos Ioannidis<EMAIL_ADDRESS>NOTE:

Separated out from #19698 for timely review and merging.
For more details on why this config should go into arch/Kconfig rather than arch/arm/Kconfig or arch/arm/cortex_r/Kconfig, refer to https://github.com/zephyrproject-rtos/zephyr/pull/19698#discussion_r336487724.

otherwise @ulfalizer has scripts that wipe those automatically if they are not being used.
well, that sounds scary.

@nashif I will close this PR and integrate this commit into #20473, which is a direct user of this Kconfig symbol.


Viewmodel + FlowRouter

When I define a viewmodel on a template and then change the route using FlowRouter, I get the following error:
[Log] Exception from Tracker recompute function: (meteor.js, line 888)
[Log] TypeError: null is not an object (evaluating 't.viewmodel') (meteor.js, line 888)

Using template.viewmodel 'Login', {} is enough to cause this error. I'm using the newest version of viewmodel, also tried the older 1.5.1 version, same error.

The chrome output might be better:
Exception from Tracker recompute function:
debug.js:41 TypeError: Cannot read property 'viewmodel' of null
    at ViewModel.vm.parent (viewmodel.coffee:101)
    at ViewModel.dispose (viewmodel.coffee:26)
    at null.<anonymous> (hooks.coffee:72)
    at template.js:116
    at Function.Template._withTemplateInstanceFunc (template.js:437)
    at fireCallbacks (template.js:112)
    at null.<anonymous> (template.js:218)
    at fireCallbacks (view.js:267)
    at Object.Tracker.nonreactive (tracker.js:560)
    at view.js:264

I'm not sure if this affects something else in the viewmodel package but just changing this line to vm.parent = -> t?.viewmodel fixes the problem for me.

I included your update. Thanks


Fixing indentation is broken in Laravel preset since 1.8.0

Pint Version
1.9.0
PHP Version
8.2.0
Description
Fixing indentation is broken in the Laravel preset since #166 was merged.
This is caused by the statement_indentation rule not being enabled in the Laravel preset.
Before the above PR was merged, the rule was being run by the braces rule.
Resolution: statement_indentation rule should be enabled in the Laravel preset. Sending a PR.
Steps To Reproduce

Edit a file so that the indentation is broken
Run pint
Formatting (indentation) should be fixed, but it is not.

Example on a new laravel project, edited app/Providers/AppServiceProvider.php:
➜  pint-test git:(master) ✗ cat app/Providers/AppServiceProvider.php
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
/**
 * Register any application services.
 */
public function register(): void
{
       //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        //
    }
}
➜  pint-test git:(master) ✗ ./vendor/bin/pint --version
Pint 1.9.0
➜  pint-test git:(master) ✗ ./vendor/bin/pint app/Providers/AppServiceProvider.php

  .

  ───────────────────────────────────────────────────────────────────────────────── Laravel
    PASS   ......................................................................... 1 file

Ping @Jubeki

Yeah that seems to fix it (see pint.json below).
I assumed there was a reason statement_indentation was already disabled beforehand and so I didn't touch it further.
{
    "preset": "laravel",
    "rules": {
        "statement_indentation": true
    }
}


⚠ Spryr has degraded performance

In ba78bc0, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3003 ms

Resolved: Spryr performance has improved in 1528aa5 after 8 minutes.


Windows: [TP4] docker info crashes

Signed-off-by: John Howard<EMAIL_ADDRESS>Ugh. Just found this this morning. Docker info will cause a SIGSEGV on the info thread in the daemon due to attempting to dereference through the netController which may be nil (is nil on Windows).
@swernli @calavera @tiborvass

LGTM

LGTM 🐭


[ISSUE 6563][Broker] Invalidate managed ledgers zookeeper cache instead of reloading on watcher triggered

Fixes #6563
Motivation
Frequent topics creation/deletion triggers zookeeper children cache reloading for z-nodes /managed-ledgers/<tenant_name>/<cluster_name>/<namespace_name>/persistent more than needed.
This creates additional load on zookeeper and broker, slows down brokers and makes them less stable. Also this causes scalability issues - adding more brokers increases operations duration even more.

@rfetishkevi You'd better create a PR to merge to master branch, I notice currently is merge to branch-2.4. If you want to contain this PR at branch-2.4, it's better to merge to master first, and then the release manager check-pick this PR to branch-2.4 If it's necessary to release 2.4.3?

Ah, okay. I'll create new PR then.

Closing this PR because created another one that is merged to master.


Close parenth is missed

Type ((
Expected: (())
Actual: (()

Works as expected, but can be added as an option along with #13006


OLS-1226: remove warning about outdated import

Description
OLS-1226: remove warning about outdated import
Type of change

[ ] Refactor
[ ] New feature
[x] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)
[ ] CI configuration change
[ ] Konflux configuration change

Related Tickets & Documents

Related Issue #OLS-1226

/lgtm

/approve

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.70%. Comparing base (e77efdf) to head (3a06f2d).
Report is 18 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1905      +/-   ##
==========================================
+ Coverage   93.47%   93.70%   +0.23%
==========================================
  Files          64       65       +1
  Lines        2941     2893      -48
==========================================
- Hits         2749     2711      -38
+ Misses        192      182      -10

Files with missing lines
Coverage Δ

ols/src/llms/providers/fake_provider.py
100.00% <100.00%> (ø)

... and 2 files with indirect coverage changes

/override "Red Hat Konflux / lightspeed-service-on-pull-request"

/test e2e-ols-cluster-4-16

/override "ci/prow/e2e-ols-cluster-4-17"


AutoPlay is paused when re-rendering the Slider Component

I think there is a bug over here https://github.com/akiran/react-slick/blob/master/src/mixins/helpers.js#L71
It should be the other way around.
if(props.autoplay) {
      this.autoPlay();
} else {
      this.pause();
}

I confirm a problem has been introduced in latest version with autoplay.

Bug...or feature?

I'm in the same boat,in the process of using react-router,when the route come back,the animation is stop.

@chaucerbao I am not sure if this should be considered bug or feature; but I think the expected behavior of the autoplay property is to make the slider auto switch slides unless some explicit event has happened like calling pause function or enabling pauseOnHover  property. Following the same way of thinking we could add a new property like pauseOnRerender that pause the slider if an update operation happened. What do you think?

@bahaagalal Oh, I definitely don't disagree with you. I'm here because I'm having the same problem. I was just checking out the commit history and found that a "fix" was seemingly implemented for #470, perhaps too quickly.

i solved this problem by using slickNext method and setTimeout. T.T
startSlideTimeout() {
    this.timeout = setTimeout(() => {
        this.slider.slickNext();
        this.startSlideTimeout();
    }, 1000);
}

endSlideTimeout() {
    clearTimeout(this.timeout);
}

Thanks for Satazor for the PR : #651

May be you can use this to resolve the problem:
setTimeout(slider.innerSlider.autoPlay, 50)

Try this
if(!props.autoplay) {
this.autoPlay();
} else {
this.pause();
}

By when we can expect this to be merge in repo

@jitenderchand1 it looks like the CI build failed #713

@devendra-gh your workaround still not work because in this.autoPlay()
autoPlay: function autoPlay() {
    if (this.state.autoPlayTimer) {
      console.log('this.state.autoPlayTimer',this.state.autoPlayTimer)
      clearTimeout(this.state.autoPlayTimer);
    }
    if (this.props.autoplay) {
      this.setState({
        autoPlayTimer: setTimeout(this.play, this.props.autoplaySpeed)
      });
    }
  },

because this.props is still false this.setState(...) will not be called, to make it right I think we should remove if(this.props.autoplay) or use nextProps instead of this.props

Hey,
I had this issue aswell, when changing size of window or pressing a slide (opening modal) it stopped autoplay.
I have found a workaround for this issue, it solves it for me atleast.
    startTimeout() {
        // If autoplay is working we reset timeout and it will never end up inside.
        clearTimeout(this.timer);
        this.timer = setTimeout(() => {
            // This will start play again, important here is to have a timeout that exceeds your "autoplaySpeed".
            this.slider.innerSlider.play();
        }, 3200);
    }

    render() {
        var settings = {
            infinite: true,
            autoplay: true,
            autoplaySpeed: 3000,
            pauseOnHover: false
        };
        // afterChange and beforeChange docs can be found here: https://github.com/akiran/react-slick
        return (
            <div
                className={ styles.container }
                ref={ item => this.containerRef = item }>
                <Slider
                    ref={ c => this.slider = c }
                    afterChange={ this.startTimeout.bind(this) }
                    beforeChange={ this.startTimeout.bind(this) }
                    {...settings}
                    className={ styles.sliderContainer }>
                    { /*content*/ }
                </Slider>
            </div>
        );
    }

please update this issue quickly ,i'm weating for it

@akiran is this being worked on?

suffering from this issue, any updates ?

Fixed this with #651


Possible memory leakage and unhandled exception

Possible memory leakage
Test program:
[package]
name = "droid-wrap-min-test"
version = "0.1.0"
edition = "2021"
publish = false

[dependencies]
android-activity = { version = "0.6", features = ["native-activity"] }
droid-wrap-derive = { path = "../derive" }
droid-wrap-utils = { path = "../utils" }

[lib]
name = "droid_wrap_min_test"
crate-type = ["cdylib"]
path = "main.rs"

[package.metadata.android]
package = "com.example.droid_wrap_min_test"
build_targets = [ "aarch64-linux-android" ]

[package.metadata.android.sdk]
min_sdk_version = 16
target_sdk_version = 30

#[no_mangle]
fn android_main(_: android_activity::AndroidApp) {
    loop {
        droid_wrap_utils::vm_attach!(mut env);
        let _ = droid_wrap_utils::wrapper_long_value(3, &mut env);
    }
}

Similar operations may work on PC systems (local references can be freed when env is droped and the thread is detached from JVM). However, it can be different on Android. Please run it on your device and check the RAM usage increment.
 And I don't how Java exceptions are handled in this library.
The jni-rs problem described below happens on both PC and Android. Here's a test program on PC:
[package]
name = "jni-env"
version = "0.1.0"
edition = "2021"

[dependencies]
jni = { version = "0.21.1", features = ["invocation"] }

fn main() {
    let args = jni::InitArgsBuilder::new()
        .version(jni::JNIVersion::V8)
        .build()
        .unwrap();
    let vm = JavaVM::new(args).unwrap();
    let mut env = vm.attach_current_thread().unwrap();
    println!("{:?}", java_parse_int(&mut env, "3"));
    println!("{:?}", java_parse_int(&mut env, "s"));
    println!("{:?}", java_parse_int(&mut env, "5"));
}

fn java_parse_int(env: &mut JNIEnv, s: &str) -> Result<i32, Error> {
    let java_string = env.new_string(s).unwrap();
    env.call_static_method(
        "java/lang/Integer",
        "parseInt",
        "(Ljava/lang/String;)I",
        &[(&java_string).into()]
    )
    .map_err(|e| { env.exception_clear().unwrap(); e })
    .and_then(|o| o.i())
}

Output:
Ok(3)
Err(JavaException)
Ok(5)

After commenting .map_err(|e| { env.exception_clear().unwrap(); e }), it would crash on the third java_parse_int():
Ok(3)
Err(JavaException)
thread 'main' panicked at src/main.rs:21:41:
called `Result::unwrap()` on an `Err` value: JavaException
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Exception in thread "Thread-0" java.lang.NumberFormatException: For input string: "s"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:580)
        at java.lang.Integer.parseInt(Integer.java:615)

根据您的运行结果看：
Ok(3)
Err(JavaException)
thread 'main' panicked at src/main.rs:21:41:
...

这说明exception_clear()函数运行不正常，但我认为我们其实无需理会，可以直接这样写env.exception_clear().unwrap_or(())。

您误会了。我认为，panic 正是在 exception_clear() 未被执行的情况下继续进行其他 JNI 操作的结果，而非  exception_clear() 执行不正常。实际上我还没有遇到异常清除失败的情况。

I just realized that JNIEnv::attach_current_thread_permanently() is called within the android_main() execution thread created in the application entry point in android_activity crate. And it seems like you prefer another way of introducing entry point. I understand now.
Besides, I can’t find any exception_clear() in your code. Is there any other way to prevent it from panicking?

I see that the wrapper_long_value function you fixed is very great. Also using exception_clear. Can you push a PR?

I didn’t expect myself to be a named contributor of this project. As I mentioned above, there may be some other places that needs to be fixed or even reconstructed, and I may not realize all of them, because I’m not an author of the complicated code.
For droid-wrap-derive, I cannot use it for now, because I don’t know how to pass non-primitive parameters into generated functions and catch possible exceptions.
I may try to extract and rewrite the invocation handler helper from your code and create a new minimum crate. Of course I’ll mention your project in the documentation.

If that's the case, I will add the solution you provided to the droid-wrap, but it will take some time.
There is still much room for improvement in the entire droid-wrap library, such as the automatic binding of array types that I am currently working on.
The emergence of this project is also an attempt, and it is inevitable that there will be some shortcomings.

I just realized that java_method derive macro can have some parameters overload (?) and type_bound=(<RustType>, <JavaClass>). However, not being an experienced prigrammer, I don’t dare to use these undocumented features.

In the Java world, method overloading is a common practice, which means allowing multiple methods with the same name but different numbers or types of parameters. However, this is not allowed in the Rust world. Therefore, the solution is to define different named methods in Rust and inform the java_method macro on how to handle this situation.
For examples of usage, you can check the src/android/view.rs file (search for overload).
Regarding the type_bounds parameter, it can be ignored for now as it is used by the framework layer, and I am not confident in explaining it clearly.

I’ve published my minimal crate: https://crates.io/crates/jni-min-helper. Would you please check it?

Your crate handles JNI errors very pretty. If you can continue to maintain it in the future, I will add it as an upstream to the droid-wrap.

A fatal exception may occur when unregistering a receiver that isn't registered (including auto dropping cases). It's caused by https://docs.rs/jni-min-helper/0.1.1/src/jni_min_helper/proxy.rs.html#423-425 dropping the env. The newest version fixed it. All previous versions were yanked.


Create Infix to Postfix in c language

🛠 Issue (Number)

Issue no #287
👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Incorrent issue mentioned

sorry sir it is 287


[BUG]

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
I played DBZFS on ROBLOX it's working but when i queue my 2 Accounts to a Private place or Server like other World like TOP or Tournament Of Power and BROLY the Dimensional Rift, Only 1 of my Account can enter of that Server then the error appears the Attempting to teleport to a private server ERROR CODE: 773, Please fix like this.

Clone of #1424
Please read closed and open issues before opening an issue.


JavaScript errors when trying to upload files

I don't have any details other than this traceback, but ti seems worth investigating, since seems to have started happening occasionally on our production systems:
Message:
Failed to execute 'readAsBinaryString' on 'FileReader': parameter 1 is not of type 'Blob'.

Stacktrace:
TypeError: Failed to execute 'readAsBinaryString' on 'FileReader': parameter 1 is not of type 'Blob'.
    at HTMLDivElement.<anonymous> (/static/min/app.eee53d98b199.js:309:142)
       = static/third/jquery-filedrop/jquery.filedrop.js line 208 column 7

    at HTMLDivElement.n (/static/webpack-bundles/common-1db4ceb450fd3980d8e0.ee2543385d97.js:1:3450)
       = webpack:///./static/js/blueslip.js line 225 column 1

    at HTMLDivElement.dispatch (/static/webpack-bundles/common-1db4ceb450fd3980d8e0.ee2543385d97.js:24:34743)
       = webpack:////srv/zulip-npm-cache/4218ab222217db9cca40d7b11edfeea4a54dce1c/~/jquery/dist/jquery.js?1053 line 5206 column 1

    at HTMLDivElement.A.handle (/static/webpack-bundles/common-1db4ceb450fd3980d8e0.ee2543385d97.js:24:32752)
       = webpack:////srv/zulip-npm-cache/4218ab222217db9cca40d7b11edfeea4a54dce1c/~/jquery/dist/jquery.js?1053 line 5014 column 1

User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

@brockwhittaker can you try to reproduce?  It's not clear to me whether this is a file-dropping or file uploading thing, but I'm guessing the former, since it gets less testing...

I'll look into it. @zulipbot claim.

We determined this was caused by users trying to paste a non-image-file (e.g. a graph from Omnigraffle) into Zulip.
I think we still want to figure out a way to detect that situation and suppress the traceback, but it's no longer release-critical.


No document was found for clickhouse multi-table writes

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
No document was found for clickhouse multi-table writes.I saw that version 2.3.4 updated the ability of JDBC to read multiple tables, but I could not find an instance of a configuration file with few links on the sink side, nor did it update the function of writing multiple tables in the 2.3.4 document.like this

Usage Scenario
Multi-meter synchronization
Related issues
No response
Are you willing to submit a PR?

[x] Yes I am willing to submit a PR!

Code of Conduct

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

clickhouse is not supported yet,Are you interested in that?

Now there is such a scheduling task, which needs to synchronize many tables regularly. If each form writes a config separately, it will take quite a long time to start seatunnel service. Before 2.3.4, it is possible to write multiple links in a config and synchronize multiple tables at the same time to reduce service startup times, but increase the consumption of link numbers. So I was concerned about JDBC's multi-table read in 2.3.4. However, if the sink terminal does not support it, I guess it will not be used in production.

Now there is such a scheduling task, which needs to synchronize many tables regularly. If each form writes a config separately, it will take quite a long time to start seatunnel service. Before 2.3.4, it is possible to write multiple links in a config and synchronize multiple tables at the same time to reduce service startup times, but increase the consumption of link numbers. So I was concerned about JDBC's multi-table read in 2.3.4. However, if the sink terminal does not support it, I guess it will not be used in production.

@zhaoruosong  hi，He is still in the planning stage, and I haven't had time recently to complete it. If you're interested, you can keep an eye on it. https://github.com/apache/seatunnel/issues/5652


Using column names with double quotes returns " in CartoCSS text-name param

Ref S/B 6359040 - ping @saleiva not sure who this gets assigned to?
User wants to concatenate column values with double quotes in a label.
Using:
text-name: [column_1] + ' "   ' + [column_2];
Expected is:
column_1_val" column_2_val
What shows:
column_1_val" column_2
Using two single quotes in the meantime as a work-around.

this is a problem in carto parser

Related: http://gis.stackexchange.com/questions/139881/is-it-possible-to-include-in-cartocss-string-values-in-cartodb

As @javisantana  is pointing this is a problem with carto parser/symbolizer.
It works if you use:
text-name: "'\"quotes are ok\"'";

But combining it with columns it escapes the glue text.
One option is to prepare the text-name with the query:
SELECT format('%s "%s"', name, description) as label, * FROM table_name

#table_name::labels {
  text-name: [label]; // using label here
  text-face-name: 'DejaVu Sans Book';
  text-size: 14;
  text-label-position-tolerance: 10;
  text-fill: #000;
  text-halo-fill: #FFF;
  text-halo-radius: 1;
  text-dy: -10;
  text-allow-overlap: true;
  text-placement: point;
  text-placement-type: simple;
}

As there is an alternative solution for this I would de-prioritize this issue. What do you think?
p.s.: The stackexchange issue is not related, that's another issue. Feel free to create a different issue.

Thanks, moving here then https://github.com/CartoDB/cartodb/issues/5419

@ztephm what do you think about my previous https://github.com/CartoDB/cartodb/issues/5181#issuecomment-137779984?

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Apple requires third-party SDKs to contain a privacy manifest file

Apple requires that third-party SDKs should contain a privacy manifest file. Does author have any plan to do so ?

Apps and third-party SDKs — distributed as XCFrameworks, Swift packages, or framework bundles — can contain a privacy manifest file, named PrivacyInfo.xcprivacy. The privacy manifest is a property list that records the types of data collected by your app or third-party SDK, and the required reasons APIs your app or third-party SDK uses. For each type of data your app or third-party SDK collects and category of required reasons API it uses, record the reasons in your privacy manifest file.

https://developer.apple.com/documentation/bundleresources/privacy_manifest_files

The following are commonly used SDKs in apps on the App Store. Starting in spring 2024, you must include the privacy manifest for any SDK listed below when you submit new apps in App Store Connect that include those SDKs, or when you submit an app update that adds one of the listed SDKs as part of the update. Signatures are also required in these cases where the listed SDKs are used as binary dependencies. Any version of a listed SDK, as well as any SDKs that repackage those on the list, are included in the requirement.

https://developer.apple.com/support/third-party-SDK-requirements/

Any updates here?

+1

Opened a PR with a privacy manifest here


journald input with multiline codec

Has anyone tried using this input in combination with java multiline messages ?
according to the multiline manuals; this should work:
input {   journald {   lowercase => true   seekto => "tail"   thisboot => true   type => "systemd"   sincedb_path => "/dev/null"   codec => multiline {     pattern => "^\s"     what => "previous"     }   } } output {   stdout {codec => rubydebug } }
If I look in the code, multiline codec should be enabled, however I'm unable to produce one big message of the passing messages that match the pattern.
some sample mesages:
 "message" => "org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.boot.autoconfigure.web.MultipartProperties org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration.multipartProperties; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'multipart.CONFIGURATION_PROPERTIES': Initialization of bean failed; nested exception is java.lang.IllegalStateException: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7d3649f5 has not been refreshed yet",                        "message" => "\tat org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.2.4.RELEASE.jar!/:4.2.4.RELEASE]",                        "message" => "\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) ~[spring-beans-4.2.4.RELEASE.jar!/:4.2.4.RELEASE]",

Without providing the original message, it will be hard to reproduce what you got.  Please share the original message, as it appeared.
Because this is coming through journald, rather than file tailing, it may be part of the problem.  You may also need to provide debug output for us to troubleshoot this.

Closing because of no activity.


MacOS M1, running Python 3.9 but Reloadium says version is not supported

Describe the bug*
If I understand the error message correctly, Reloadium should support 3.9.x on MacOS M1. However, I'm getting the unsupported platform exception upon launching with the Debug button.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop or remote (please complete the following information):**

OS: MacOS
OS version: 13.0 (22A380)
M1 chip: yes
Reloadium package version: 0.9.5 (?)
PyCharm plugin version: 0.9.5
Editor: PyCharm
Python Version: 3.9.11
Python Architecture: 64BIT
Run mode: DEBUG

Additional context
exception:
Traceback (most recent call last):
  File "/Users/me/.pyenv/versions/3.9.11/lib/python3.9/runpy.py", line 188, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/Users/me/.pyenv/versions/3.9.11/lib/python3.9/runpy.py", line 147, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/Users/me/.pyenv/versions/3.9.11/lib/python3.9/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "/Users/me/.reloadium/package/3.9/reloadium/__init__.py", line 4, in <module>
    pre_import_check()
  File "/Users/me/.reloadium/package/3.9/reloadium/__utils__.py", line 21, in pre_import_check
    import reloadium.corium
ImportError: dlopen(/Users/me/.reloadium/package/3.9/reloadium/corium.cpython-39-darwin.so, 0x0002): tried: '/Users/me/.reloadium/package/3.9/reloadium/corium.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/me/.reloadium/package/3.9/reloadium/corium.cpython-39-darwin.so' (no such file), '/Users/me/.reloadium/package/3.9/reloadium/corium.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

This issue has already been fixed.
Please upgrade to the newest plugin version (1.1.0).
Note that you may need to upgrade your PyCharm version to install this version


Hack ing loli ＜（－︿－）＞

wait that's a language?

wait that's a language?
also, you implemented it wrong, i'll open a PR at your repo to fix it

that's hacklang


Upgrading embedded Cassandra to 2.1

Are there any plans to upgrade embedded Cassandra to 2.1 or Guava to 16+?
The main pain point at the moment is that in a larger system which also uses Guava, we are stuck with Guava 15 due to a breaking change in Guava 16+ in the RateLimiter class used by Cassandra failing to use Cassandra 2.0 in its embedded flavor for unit tests.
Thanks.

Hi guys,
Are there any plan to let astyanax support Cassandra 2.1. For we have using astyanax for years and currently we want to upgrade Cassandra 2.1, it will make a great help if astyanax could support.

Similarly, I am using Astyanax wrapper for datastax driver on cassandra 2.0 and plan to move to cassanda 2.1?Not finding any astyanax version that works for cassandra 2.1.Is there one?Please let me know.thanks!


Can't create log files in JSON format

I am using below code to log. Although the console output is JSON formatted but the log files created have text format. Can you point out what am I missing here?
`
logwriter, err := rotatelogs.New(path+"go.log.%Y%m%d%H%M",
rotatelogs.WithLinkName("goUtilitySectionLogs.current"),
rotatelogs.WithRotationTime(time.Hour),
rotatelogs.WithMaxAge(724time.Hour),
)
if err != nil {
	fmt.Println("Error in initializing logging service - GoUtilitySectionLogs ", err)
}

// Log as JSON instead of the default ASCII formatter.
log.Formatter = new(logrus.JSONFormatter)
// Output to stderr instead of stdout, could also be a file.
log.Out = os.Stdout
// Only log the warning severity or above.
log.Level = logrus.InfoLevel //logrus.DebugLevel
//Adding a hook to direct the console output to logwriter
log.Hooks.Add(lfshook.NewHook(lfshook.WriterMap{logrus.InfoLevel: logwriter, logrus.ErrorLevel: logwriter}))`

Are you passing your formatter to the constructor of lfshook?
There was a lot of back and forth on how this hook should behave, and eventually it was determined that the formatter of the lfshook would need to be set explicitly (see #24), so if you were to instead do:
formatter := new(logrus.JSONFormatter)
// Log as JSON instead of the default ASCII formatter.
log.Formatter = formatter
...
log.Hooks.Add(lfshook.NewHook(lfshook.WriterMap{logrus.InfoLevel: logwriter, logrus.ErrorLevel: logwriter}, formatter))

It should work as expected.

I already tried this earlier by looking at your examples but it is giving me this error.
too many arguments in call to lfshook.NewHook have (lfshook.WriterMap, *logrus.JSONFormatter)    want (interface {})

Are you running version v2.x? That error suggests that you're running a version below v2.0. Looking at the code the constructor has two parameters. The error suggests that it only wants one parameter, which was the case in the last major revision.

Got it. Thanks.


Multiple inputs within a formly template

What would be the best way of implementing a single Formly template which contained multiple input fields, each tied to a different property of the model, e.g. an input field with a related dropdown field beside it?

I've tried:
<div class="grid-form grid-row dual-input">
  <input ng-model="model[{{options.data.inputModel}}]" type="text" name="foo">
  <select
    name="units"
    ng-model="model[{{options.data.dropdownModel}}]"
    ng-options="option.id as option.display for option in options.data.options">
    <option value="" selected>units</option>
  </select>
</div>

But of course, the dot syntax in the brackets breaks.

Do you mind creating an example of what you're trying to accomplish? Please follow the instructions here: http://help.angular-formly.com
This will make it easier for you to get help. Because the github issues are reserved for bug reports and feature requests, I'm going to go ahead and close this issue. See you on chat! Thanks!

@kurokoda has you get  a solution?


Development

Add chainIndex switch, collateral utxo, submit to local node, errors logging.

Fixed various errors. Added Kupo support. Added tx submission to local node.


Just a huge thank you

I work at cargurus. We have a styleguide in html + css. On my 20% time I decided to use this and some custom puppeteer code to pull in all of our components as sketch symbols. Sat in a meeting last Thursday and just had a big reveal to some of the design staff, out of nowhere. They were not expecting it, and they were all beyond thrilled.
I'm working on a blog post about my journey with this stuff. So I want to thank you all so much. This project is F*king amazing sending much ❤ 🤗 🤗 ❤  from Boston.

@TerribleDev on behalf of all contributors, thank you very much for these very kind words! ❤❤❤


ocaml compiler suite executables fail to load unix.cma

I get the following error when trying to load unix.cma in either ocaml, camlp5, or camlp5o, both in 15.09 and unstable:
ocaml unix.cma
Error while loading "/nix/store/9s1lxw0szc8vi1zn9igpli7drqxbj7mp-ocaml-4.01.0/lib/ocaml/unix.cma": error loading shared library: /nix/store/g9savnaxaya238lfgcbb0ziidywpyich-ocaml-4.02.1/lib/ocaml/stublibs/dllunix.so: /nix/store/g9savnaxaya238lfgcbb0ziidywpyich-ocaml-4.02.1/lib/ocaml/stublibs/dllunix.so: undefined symbol: caml_strdup.

camlp5 -I /nix/store/9s1lxw0szc8vi1zn9igpli7drqxbj7mp-ocaml-4.01.0/lib/ocaml/ unix.cma
Error while loading "/nix/store/9s1lxw0szc8vi1zn9igpli7drqxbj7mp-ocaml-4.01.0/lib/ocaml/unix.cma": error loading shared library: /nix/store/g9savnaxaya238lfgcbb0ziidywpyich-ocaml-4.02.1/lib/ocaml/stublibs/dllunix.so: /nix/store/g9savnaxaya238lfgcbb0ziidywpyich-ocaml-4.02.1/lib/ocaml/stublibs/dllunix.so: undefined symbol: caml_strdup.

I don't know why it tries to pull dllunix.so from ocaml-4.02.1, and apparently it gets confused with the newly-introduced caml_strdup (introduced in 4.02).
Here is the environment I am trying to run from:
with import <nixpkgs> {}; {
  env = stdenv.mkDerivation {
    name = "plugin";
    buildInputs = [ coqPackages_8_5.coq ocaml ocamlPackages.camlp5_6_strict ];
  };
}

Paging in @vbgl maybe?

Hmm. Cannot reproduce. I tried the following on fedora with the unstable channel and NixOS 15.09:

install (nix-env -i) OCaml-4.02;
start a nix-shell with Coq, OCaml-4.01 and corresponding camlp5;
run the commands you’ve given (ocaml unix.cma and camlp5 -I $(ocamlc -where) unix.cma)

Everything works without error. Have you got any more hint?

Ah, figured it out, my bad, I had a leftover configuration file that set CAML_LD_LIBRARY_PATH to the nonsense value.
Sorry for the noise!
Thanks @gridaphobe for helping me out! :)


about training

Why does a trained drone keep falling

Why does a trained drone keep falling

Hey @ruofengac have you figured it out.
@mbaske it would be great, if you enlighten please on this matter.


Initial commit for management-ingress operator

@morvencao can you help set up PROW for this repo?

done.


[Event Request] codeunit 5760 "Whse.-Post Receipt" - Add publisher 'OnBeforeModifyLineInUpdateAttachedLine'

Describe the request

[IntegrationEvent(false, false)]
local procedure OnBeforeModifyLineInUpdateAttachedLine(var SalesLine: Record "Sales Line"; var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var ModifyLine: Boolean; var QtyToHandle: Decimal)
begin
end;

Additional context
Publisher can be used to make modifications to the "Attached/Assigned" (field: SalesReceivablesSetup."Auto Post Non-Invt. via Whse.") logic.
Internal work item: AB#555746

@someC0d3r Any chance you could share a hint on what changes they have in mind?

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 25981.


consuming but unable to produce

Hi,
Thanks for this library, its proving very useful and yielding very clean code!!
I am however stuggling to get the implimentation correct where I need to consume from one queue, and publish messages to another exchange.
It seems to be consuming fine, and i am seeing the output of the consumed message from the FileCreationQueue which is bound to the mbm-FileCreation  exchange on the console writeline output. but I can not see the newly published message on the mbm-DuplicateFile exchange when i check RabbitMQ's admin page.
I have the following code:
startup.cs
        public void ConfigureServices(IServiceCollection services)
        {
            var clientConfiguration = Configuration.GetSection("RabbitMq");
            var FileCreationExchangeConfiguration = Configuration.GetSection("FileCreationExchange");
            var DuplicateFileExchangeConfiguration = Configuration.GetSection("DuplicateFileExchange");

            services.AddRabbitMqClient(clientConfiguration)
                    .AddConsumptionExchange("mbm-FileCreation", FileCreationExchangeConfiguration)
                    .AddProductionExchange("mbm-DuplicateFile", DuplicateFileExchangeConfiguration)
                    .AddNonCyclicMessageHandlerTransient<NewFileCreationHandler>(String.Empty);

            services.AddHostedService<FileCreationConsumerService>();
}

FileCreationConsumerService.cs
    public class FileCreationConsumerService : BackgroundService
    {
        private readonly IQueueService _queueService;
        public FileCreationConsumerService(IQueueService queueService)
        {
            _queueService = queueService;

        }
        protected override Task ExecuteAsync(CancellationToken stoppingToken)
        {
            _queueService.StartConsuming();
            return Task.CompletedTask;
        }
    }

NewFileCreationHandler.cs
    public class NewFileCreationHandler : INonCyclicMessageHandler
    {
        public void Handle(string message, string routingKey, IQueueService queueService)
        {
            Console.WriteLine(message);

            queueService.Send("new Message", "mbm-DuplicateFile", String.Empty);
        }
    }

appsettings.json
"AllowedHosts": "*",
  "RabbitMq": {
    "HostName": "<IP_ADDRESS>",
    "Port": "5672",
    "UserName": "guest",
    "Password": "guest",
    "ClientProvidedName": "Custom connection name",
    "VirtualHost": "/",
    "AutomaticRecoveryEnabled": true,
    "TopologyRecoveryEnabled": true,
    "RequestedConnectionTimeout": 60000,
    "RequestedHeartbeat": 60
  },
  "FileCreationExchange": {
    "Type": "fanout",
    "Durable": false,
    "Queues": [
      {
        "Name": "FileCreationQueue",
      }
    ]
  },
  "DuplicateFileExchange": {
    "Type": "direct",
    "Queues": [
      {
        "Name": "DuplicateFileQueue"
      }
    ]
  }

I have extended my Handler with the following code:
        public void Handle(string message, string routingKey, IQueueService queueService)
        {
            Console.WriteLine(message);

            try
            {
                queueService.Send("new Message", "mbm-DuplicateFile", "mbm-DuplicateFile");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
            Console.WriteLine("Published The MEssage!");
        }

And i the line Console.WriteLine("Published The MEssage!"); is NOT excecuting. what made me think an exception was occuring in the publish method, but the Catch doesn't catch any sort of exception..

Hello Tom!
I am sorry for the late reply. And also thank you for that question.

It seems to be consuming fine, and i am seeing the output of the consumed message from the FileCreationQueue which is bound to the mbm-FileCreation exchange on the console writeline output.

First of all I have to clarify that. What you have been seeing for all messages you published is not a Console.WriteLine output, but a ILogger<T> result. When QueueService receives a message it logs that event as well as message itself:
_logger.LogInformation($"New message was received with deliveryTag {@event.DeliveryTag}.");
_logger.LogInformation(message);
``` You can have a closer look into the source code if, of course, it will be interesting for you.

As for your code - it is almost correct, but we need to decorate it a little.

First of all lets start with the configuration file. The key part is binding queues and exchanges.

"FileCreationExchange": {
"Type": "fanout",
"Durable": false,
"Queues": [
{
"Name": "FileCreationQueue",
}
]
}
In this section you bind exchange `"FileCreationExchange"` (which will be named `"mbm-FileCreation"` afterwards and we have to use this name in the code) with the queue `"FileCreationQueue"` without setting routing key manually. So the queue `"FileCreationQueue"` will be bound with the exchange `"mbm-FileCreation"` using its name as a routing key `"FileCreationQueue"`. This is important because message handlers "listen" queues also by **routing keys**.

"DuplicateFileExchange": {
"Type": "direct",
"Queues": [
{
"Name": "DuplicateFileQueue"
}
]
}

This section works the same way. You bind the `"DuplicateFileQueue"` queue by the routing key `"DuplicateFileQueue"` (its name) to the exchange `"mbm-DuplicateFile"`.

Great! Everything is set up. Let's consume now!

To consume a message from (from a "consumption" which is good to go already) you have to register a message handler which will be getting messages by the specified routing key. You were wrong only here:
```c#
.AddNonCyclicMessageHandlerTransient<NewFileCreationHandler>(String.Empty)

Messages come from queues with routing key by which queues bound to exchanges. In your case it has to be like this:
.AddNonCyclicMessageHandlerTransient<NewFileCreationHandler>("FileCreationQueue");

So you can receive all messages by that routing key.
You can also set a collection of routing keys in case you want to handle different messages by one message handler
.AddNonCyclicMessageHandlerTransient<NewFileCreationHandler>(new[] { "FileCreationQueue" /*Other routing keys go here*/});

And what about production in the another exchange? Yeah, we need a small change here too.
So your code is
public class NewFileCreationHandler : INonCyclicMessageHandler
    {
        public void Handle(string message, string routingKey, IQueueService queueService)
        {
            Console.WriteLine(message);

            queueService.Send("new Message", "mbm-DuplicateFile", String.Empty);
        }
    }

When NewFileCreationHandler receive a message it will handle it and send another message to the exchange "mbm-DuplicateFile" with an empty routing key. But as we configured no queues bound to the "mbm-DuplicateFile" with an empty routing key. So you have to specify which key to use (and we know the exact key as we bound queues ourselves).
public class NewFileCreationHandler : INonCyclicMessageHandler
    {
        public void Handle(string message, string routingKey, IQueueService queueService)
        {
            Console.WriteLine($"NewFileCreationHandler got a message {message}");

            var anotherExchange = "mbm-DuplicateFile";
            var anotherRoutingKey = "DuplicateFileQueue";
            queueService.Send("new Message", anotherExchange, anotherRoutingKey);
        }
    }

Try it out and please say if it is working or not!
Best regards,
Antony

I can also advise you to use on an official "naming convention" under which each routing keys is a set of words separated by a dot.  So the most appropriate routing key for DuplicateFileQueue will be duplicate.file or file.duplicate.
To use this with this library you will have to set in in the configuration section
"DuplicateFileExchange": {
    "Type": "direct",
    "Queues": [
      {
        "Name": "DuplicateFileQueue",
        "RoutingKeys": [ "file.duplicate" ]
      }
    ]
  }

This also can help you avoiding situations like this when names are little bit confusing.
Best regards,
Antony

Hi,
Still don't seem to be able to get it to work... I might be missing somthing very simple...
Here is a gist of my files:
https://gist.github.com/TomKirby/8440255753a43148bed03d6074ebe10c

I have been thinking, and I’m not sure if the handler is even being called. I remember putting a break point on it and it never hit the breakpoint..
I am away from my code at the moment but will have a bit more of an experiment latter today and see..

Right, I have finally solved the problem, it appears my current way of writing onto the Exchange wasn't providing a routing key, so the handler was never being called.
This was a red herring, as i was seeing a log output into the console, but removing any refrence of the handler caused the log output to still appear, showing it clearly isn't being called.
The moment i started loading messages onto the queue with the correct routing key, everything fell into place!
Thanks for your help!

Hi, Tom!
I am sorry that I did not answer you in time. I have just returned from my short vacation so I was a little bit off my computer.
I am really happy that you managed to set everything up!
Feel free to open another issue if you will face other difficulties in the future.
Best regards,
Antony


remove file.open() to prevent encoding issues while testing on windows

Description
For us simple windows folks, there are encoding issues when opening the mock json data with file.open(). There doesn't appear to be any issues with converting the mock data function to read_json(file)
Checklist

[ ] Code compiles correctly
[ ] Created tests which fail without the change (if applicable)
[ ] All lint and unit tests passing
[ ] Extended the README / documentation, if necessary

Additional Comments
The managers is the only test that fails.
FAILED tests/test_client.py::TestClient::test_get_managers - UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 5419: character maps to <undefined>

Another option might be to add an encoding parameter to file.open(). I believe mine is running with encoding='cp1252'

@pjsharpe07 Thanks for the PR!
Must be a strange encoding issue with that managers file. I'll merge this in and probably add an encoding (utf-8) later on,


Use logger instead of print statements in "verbose" mode

Description
There are several places throughout the package where print statements are used to inform the user about something that is happening when a "verbose" flag is set. Instead of print statements, it would be better to use a logger throughout the package. This allows a user to more easily control how much is printed to the screen.

I'm not sure that I agree that using a logger is easier for the user. Doesn't the logger setting affect all the routines one uses? What if you just want verbose output from one particular function?

I'm not sure that I agree that using a logger is easier for the user. Doesn't the logger setting affect all the routines one uses?
What if you just want verbose output from one particular function?

You can change the logging output level using a context manager or just calling the logger directly before a function call. I can provide code examples if wanted.
Using a logger is the standard Python practice for providing information to a user. So a developer can segment the information provided to the user of a function. This offers a much finer control than a verbose keyword and a print statement.
I would suggest that if you are writing a library in Python, following the best practices (if I personally disagree with some of them) that have been refined over the years for a programming language is the better approach when anyone is creating to library to provide to users. This will require a different mindset that can and will be jarring at times, that is inescapable due to the difference in programming languages.

What would you think of using logging within the functions but retaining the verbose keyword? So something like:
def func(..., verbose=False)
...
if verbose:
logging.basicConfig(level=logging.INFO)
or something like that. I'm just trying to make things simple for users that are using the functions in interactive environments.

Apologies for losing track of this issue.
My opinion is that using a verbose keyword as noted above conflicts with the controlled output that logging offers you. As an example, if I set the log level to INFO but then I don't set verbose=True, then I don't get the expected logging messages. Using verbose also increases code complexity by adding more possible code paths because of the need for a conditional.
I can appreciate this is a change for many users, particularly those coming from IDL. However, I do not think it is too onerous to ask users to set the appropriate logging level in their scripts if they want more verbose feedback. We could use this as an opportunity to educate users on the advantages of logging.

So I haven't thought about this issue for a while, but I'm still not clear on how to use the setting of log level can be limited to a single procedure. For example in the routine temperature_from_filter_ratio I used verbose to tell the routine to output information about how the image was processed. If that was the only INFO level logging that I want, how would I only set the logging level such that I only got that and not INFO level logging for other routines called? Maybe using the context manager as Nabil mentioned. Sitll if I'm working from the command line, say using ipython and I want to plot up the temperature image and get the information about it, it seems much simpler to me to just provide the verbose keyword.
This may be something best discussed in person when you two are here.

I'm not sure I completely understand your use case here, but yes I think using the context manager would be one way. Happy to discuss more tomorrow and then record any consensus here.


Introduce a Github Action for checking ansible variable consistency

This PR creates a new pull_request GitHub Action to validate:

that all the variables defining a filepath (roles/) do point to an existing file
that all the variables defined are actually used in their role (with an exception for symlinks, shared between undeploy -> deploy).

This should prevent the problem solved by https://github.com/openshift-psap/ci-artifacts/pull/195 to happen again.
The PR also fixed problems found by the checks (only unused variables).

Thank you for the PR, Kevin.  I've tested this and I also believe that most of the reviewers comments were addressed.  This PR does what's in the description and I do not have anything else to add.
/lgtm

/test gpu-operator-e2e
/approve

thanks for the review Jiri, appreciated :)
I ran a test before merging, just in case :)
On Tue, Jun 22, 2021 at 9:10 AM openshift-ci[bot] @.***>
wrote:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: kpouget
https://github.com/openshift-psap/ci-artifacts/pull/196#issuecomment-865658933
The full list of commands accepted by this bot can be found here
https://go.k8s.io/bot-commands?repo=openshift-psap%2Fci-artifacts.
The pull request process is described here
https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process
Needs approval from an approver in each of these files:

OWNERS
https://github.com/openshift-psap/ci-artifacts/blob/master/OWNERS
[kpouget]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openshift-psap/ci-artifacts/pull/196#issuecomment-865658987,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZVQIR2NZCZBD6PIB2J4XTTUAZPTANCNFSM46Y4PQUA
.

/override ci/prow/sro-images
/override ci/prow/images


Bump qs in /Source/Microsoft.Teams.Apps.Timesheet/ClientApp

Bumps qs from 6.5.2 to 6.5.3.

Release notes
Changelog
Commits

updated-dependencies:

dependency-name: qs dependency-type: indirect ...

update


bug: stream hop window executor should ignore rows with null time value

Because the hop window duplicates the rows and derives stream key with (input_pk, window start). It should not emit the rows with null time value which will generate the same window start value(null!) which can generate duplicate stream key.

May need to go through all the table functions once? And udtf in the future

May need to go through all the table functions once? And udtf in the future

only for those relational operators which could duplicate multiple rows from one input row. I have thought about other operators(Expand, ProjectSet) and do not find the same issue.
Also, this bug reminds us a too-flexible UDTF is dangerous in our system. I think we can provide a UDTF that can only accept append-only stream(relation) and output append-only stream(relation) so that we can generate row_id for each row.

Is it possible to detect the null row at runtime and don't filter out this row?

Is it possible to detect the null row at runtime and don't filter out this row?

I am not sure what behavior here is proper.


4 June: Add Database Burst Balance graph

New graph being added to the trends page to report burst balance.

Released 4 June


Taskbar/Startmenu unresponsive

Describe the bug
Using the standard tweaks caused the taskbar doesn't work. Windows key doesn't work -> forces signout and relog.
To Reproduce
Steps to reproduce the behavior:
Used standard tweaks in the GUI
Expected behavior
to still be able to use taskbar and search

Can confirm this is occurring went through and thought I resolved it however this appears to persist

attached is a screenshot of what occurs when I press the super (windows in my case) key

attached is a screenshot of what occurs when the windows key is pressed

Can you provide info which windows version you are using

@zmileski it's win 11 Version 10.0.22631 Build 22631

Can't replicate the issue ,don't think winutil caused this, seems like bad windows update or corupt system files.

Gotcha the interesting part is the issue only presented after running winutil. I also ran the corruption check and afterwards I restarted still the issue persisted. I fixed it by restoring a previous recovery point. Not sure what happened but i'm going to try again but do sfc first.

Hey there @RW-INC
It has been two weeks now and u did not report any further issues.
So I'd like to think that your system is working now :)
I am going to close this issue out, if the issue persists after running the tweaks, you may reopen this.
/close


ExecuteChangeSet logic fails when stack is created instead of updated

The logic at the line below fails when the stack is created instead of updated:
https://github.com/jenkinsci/pipeline-aws-plugin/blob/a9c9fdc7756f2f6528e8c47497d2441d8ca0c132/src/main/java/de/taimos/pipeline/aws/cloudformation/CloudFormationStack.java#L205
There should be an additional branch when the stack does not exist. Currently the jenkins job keeps waiting and can't continue when a new stack is created instead of being updated.

released with 1.22


polyfit time coordinate treatment in 2024.10.0

What happened?
When using xr.polyfit on a DataArray with time coordinate (datetime64) the coefficients don't match the data but the data shifted such that t_min = 0. So the coefficients obtained can not be used in xr.polyval directly.
This shift happens in _floatize_x (https://github.com/pydata/xarray/blob/91962d6aec380cb83fe80b2afdfa556efdd817a3/xarray/core/missing.py#L585). With xarray 2024.10.0 the problem does not exist.
What did you expect to happen?
I expected the coefficient of the polynomial to be consistent with the data such that they can be used in xr.polyval directly.
Minimal Complete Verifiable Example
import numpy as np
import xarray as xr
import pandas as pd

# with 2024.9.0 numbers are similar, with 2024.10.0 not

test_ts = xr.DataArray(
    np.linspace(6, 12, 11),
    coords={"time": pd.date_range("1956-01-01", "1966-01-01", freq="YS")},
    dims="time",
    name="test_ts",
)

time_to_eval = np.datetime64('1957-01-01')

fit = test_ts.polyfit(dim='time', deg=1, skipna=True)
value = xr.polyval(
    test_ts.coords['time'].loc[{'time': [time_to_eval]}],
    fit.polyfit_coefficients
)

print(f"computed_value: {value.data}")
print(f"expected value: {test_ts.loc[{'time': [time_to_eval]}].data}")

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.
[X] Recent environment — the issue occurs with the latest version of xarray and its dependencies.

Relevant log output
# xarray 2024.9.0
computed_value: [6.60068707]
expected value: [6.6]

# xarray 2024.10.0
computed_value: [-1.79982014]
expected value: [6.6]

Anything else we need to know?
My original issue in the primap2 package is here: https://github.com/primap-community/primap2/issues/293 But that's just fyi, I think I have included all necessary information here.

Will this be fixed by #9691, or is this a separate issue?

From looking at the tests added in #9691 , I think it will (one test is basically my failing example). I only looked at the open issues and could not find a fitting one. Great that it's already fixed.

Well, now we have one!
I'll close this as fixed by #9691, then.


Fixed correct root project props

Description
to use rootProject.hasProps instead root.hasProps to get variables from root project
Fixed issue #

Added yourNewMethodName() that allows ...
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Windows
✅❌

Checklist

[x] I have tested this on a device/simulator for each compatible OS
[ ] I added the documentation in README.md.
[ ] I mentionned this change in CHANGELOG.md.

#607 will supercede this


Better Support for all systems

Description
my point
let's set things straight opengl drivers are TERRIBLE!
so it could be very easy for everyone to use lwjgl if drivers weren't needed and  lwjgl could use portablegl or something for opengl by default and the devolper uses something like:
@setuse("system driver")
public class someprogramcaller {
this to tell lwjgl that they want to use system drivers.

Hey @mrGoodWolf,
This is already supported with Configuration.OPENGL_LIBRARY_NAME.set("<path>"); or running with -Dorg.lwjgl.opengl.libname=<path>. It will make LWJGL use that particular shared library for OpenGL and there's also interop with GLFW (it will use the same library internally).
Providing a particular implementation of OpenGL, whether in software or emulated on top of another API, is outside the scope of LWJGL.


a feature request

divide the events and keep them accordingly and put them in order and change the position of the embed and keep that separately.

sorry for my late response, what do you mean for change the position of the embed and keep that separately?


Kernel

Fixes #11

fixes #14.  I had been using fs.realpath when writing files since I thought it needed to follow the symlink, however, the real reason is that I didn't have the dir option in fs.symlink so it wasn't creating a folder, but rather a file that points to a folder, which is why I had to follow it the first time.  Oh the joys of symlinks.


PNPM workspace: protocol - wrong version rewrite

Describe the bug
Hi, lerna-lite replaced >= with ^. I'm not sure if this is correct.
Reproduction

Create a pnpm workspace with two packages (FOO, SDK) and FOO depending on SDK.

FOO: version 0.80.0, use the version constraint workspace:>=0.91.0 on SDK
SDK: version 0.91.0

Make a change in SDK and commit

Calculate the next version with lerna publish prerelease --no-verify-access --conventional-commits --create-release github lerna will bump the SDK version in FOO as follow.
---    "SDK": "workspace:>=0.91.0",
+++    "SDK": "workspace:^0.91.6-next.1",

Lerna config and logs
lerna.json

<!-- Please paste your `lerna.json` here -->

lerna-debug.log

<!-- If you have a `lerna-debug.log` available, please paste it here -->
<!-- Otherwise, feel free to delete this <details> block -->

Environment Info
| Executable        | Version |
| ----------------- | ------- |
| `lerna --version` | 1.4.0 |
| `npm --version`   | VERSION |
| `yarn --version`  | VERSION |
| `node --version`  | v16.14.2 |

---
OR simply run `npx lerna info` command

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

Question, are you migrating from Lerna? Was that command working in Lerna?

No, first time in that repo https://github.com/wundergraph/wundergraph

Would you like to take a look and submit a PR? I'm still busy looking at how to deal with the other open PR to update pnpm lock file.

Yes, but it doesn't block me. I'll fall back to ^ for now.

As a side note and reminder, I'm just a regular developer who created this Lerna-Lite fork from Lerna and I don't fully understand all of Lerna's code, though I'm trying to help the community as much as I can with this fork. Thanks for all the useful feedback you provided already and patience as well

Thanks for the words. Lerna has no support for the workspace protocol. You enabled it for me. You rock! Keep up the good work and don't try to be a clone of Lerna. I like your methodology: Small utility functions for release and versioning.

The reason I asked if you came from Lerna is because I'm not sure how Lerna's code does the bump like I said earlier so I'm not sure about your expectation with the flags you used. Could you clarify your problem description,
---    "SDK": "workspace:>=0.91.0",
+++    "SDK": "workspace:^0.91.6-next.1",

is the red one the expectation and the green one the actual? I'm not sure about the next.1 part

That's the change after bumping. Honestly, I'm also not sure since it's < v1. I need to verify without workspace: first.

That's the change after bumping. Honestly, I'm also not sure since it's < v1. I need to verify without workspace: first.

yeah I was gonna say the same, try without workspace to see what Lerna does (which I'm not sure and I haven't done the code for that), I only worked on adding workspace:, the rest was already implemented by Lerna's author long time ago

Are you expecting it to bump as well in this use case?
is it supposed to be the following?
// from
"workspace:>=0.91.0"

to
"workspace:>=0.92.0"

or is it supposed to remain the same as what it was from the start and be left untouched?
"workspace:>=0.91.0"

In this concrete example, I'd expect
---    "SDK": "workspace:>=0.91.0",
+++    "SDK": "workspace:>=0.91.6-next.1",

because I only want to bump the pre-version and Lerna can't know if >= is no longer appropriate.

Hi @ghiscoding thank you. I think the best place is to look into the PNPM source. PNPM removes the workspace: protocol after publish.

There's also --conventional-prerelease that might be useful, I'd probably try the first option I wrote about though

Great tip, I'll check it out.

Hi @ghiscoding thank you. I think the best place is to look into the PNPM source. PNPM removes the workspace: protocol after publish.

I think you mean during publish, because "after publish" is pretty much the other issue you opened 😋

The fix was pushed under the new release v1.5.0, thanks for the feedback


Third iteration of test-isolation-validation.

This PR further refines the test-isolation-validation implementation. In this version, we output the information that pertains to the detected leak as a new assert within the test itself. This ties the failure more closely to the test in question, and will provide a clearer signal to the end user.

I think this is good to go, @rwjblue.

This PR is waiting on https://github.com/BackburnerJS/backburner.js/pull/361 in order for us to add autorun stack info. This will greatly help with debugging the autorun case.

This PR is waiting on https://github.com/BackburnerJS/backburner.js/pull/361 in order for us to add autorun stack info. This will greatly help with debugging the autorun case.

This PR is waiting on https://github.com/BackburnerJS/backburner.js/pull/361 in order for us to add autorun stack info. This will greatly help with debugging the autorun case.

The Backburner PR has been merged. We need to wait for an Ember release to bump ember-source in order to pull in the new debug info changes.

https://github.com/emberjs/ember-qunit/pull/399 landed the Ember bump and should include the BB changes we wanted to test.


PT sample data pages not rendering properly

the ju jitsu data not rendering in PT but IS rendering properly in Spanish and English

So weird - but this turned out to be related to a translation error where a typing mistake made %(nodes) into %(node) and then that turned into a Key that python couldn't find so it was throwing a KeyError. Same thing happened with %(conector) which should stay %(connector) even in the translated text


How to adjust the sensitivity of the BOCD algorithm?

There is always a tradeoff between false alarms and missed alarms, and when the algorithm is more sensitive we should have higher false alarm rate and lower missed alarm rate. My question is, is it possible to adjust the sensitivity level of this algorithm by changing the hyperparameter (e.g., alpha, beta, kappa, mu)? Thank you!

Hi,
The algorithm outputs the true Bayesian probabilities. How you act on it is up to you.
But you can obviously choose priors, in good Bayesian tradition, that fit your sense of how likely an "alarm' is. This is the prior_func in the implementation. E.g. a const_prior says on every step a change point is equally likely, etc.

Hi, thanks for the quick reply! This makes sense.
A following-up question is, which one would you think should be more sensitive, the one with univariate t or multivariate t distribution (consider any alarm on a single channel in the univariate case as an alarm)? I have applied both on the same dataset with the same way to trigger the alarm (to rule out the influence of sensitivity thresholds as you mentioned), and the univariate version turns out to be more sensitive.
My intuition was the multivariate version should be more sensitive, since it considers the correlation between the channels. For example, if a weak change point triggers a slight increase on all channels, this signal should be more obvious when observing from a higher-dimensional space (multivariate) compared to observing from each dimension separately.
Do you have any thoughts regarding this, i.e., which one should be more sensitive between the univariate and multivariate version? Thanks.

I don't see how you can run univariate and multivariate models on the same data? How did you combine the multiple dimensions to receive a single random variable? Or did you run it on each dimension? But then how did you combine the outcomes? max? Multiplied them? 1 - prod_i(1 - p_i) (i.e., the probably that at least one random variable is at a change point -- I think this is the correct thing to do)?
I haven't really played with the multivariate case myself, so I have limited information and intuition there. Generally, my intuition would be that higher dimensions lead to lower likelihoods, just because you multiply more often, but I could be wrong here.

Hi,
The algorithm outputs the true Bayesian probabilities. How you act on it is up to you (e.g. setting probability threshold that are more or less sensitive).
And you can obviously choose priors, in good Bayesian tradition, that fit your sense of how likely an "alarm' is. This is the prior_func in the implementation. E.g. a const_prior says on every step a change point is equally likely, etc.

Can you provide some more detailed example about tunning the sensitivety of the BOCD. I have a sample dataset that will only drop 0.14 in dataset that have mean value 114, a realy small ratio compare to the example. Thanks in advance.


Always close the cluster on exception

When a Cluster instance is instantiated, there are a number of underlying threads and resources created by the DataStax Java driver.  These resources must be cleaned up or they will lead to a resource leak.
For example, let's say we are attempting to connect to a Cassandra cluster with PasswordAuthenticator but we forget to specify a username, password in our attempt.  The result is an Exception, however if we continue to retry this operation, we end up with OOM errors.
Here's a tiny gist that you can try yourself, it will recreate the exception https://gist.github.com/philip-doctor/26910ca747c33e279203
Here's the end result with visualvm http://imgur.com/vuxezym&WQrFDR7#0
You can see over 2k threads were created.
To fix this, we must call .close() on the Cluster that was instantiated, however if there is an exception generated by .connect, the caller will fail to get a Session back and have no way to call .close on Cluster.
I picked what I thought was the simplest possible fix that did not impact your existing API.
VisualVM on fix:
http://imgur.com/vuxezym&WQrFDR7#1

Ahhh.. I see there's a CI failure, I'm sorry I'm not familiar with your system, is it possible to get the log output on the failure?  My unit tests seem to be passing locally.

CI failures is a Travis problem: for some reason Cassandra sometimes doesn't start in a reasonable amount of time.

:+1: great job @philip-doctor, very well described issue, too!

Is there a chance to get this released any time soon? We kinda need this fix.

@arr-ee later today.

@michaelklishin awesome, thx!

2.1.0-beta1 and 2.0.1 were released last night.


Component creator with path

fixed tutorial

Hey, I don't see any changes in README.md. Where have you put your tutorial?


kube-prometheus: Update Prometheus Operator to v0.23.2

@mxinden @squat @s-urbaniak

Fixed that. Please take a look :slightly_smiling_face:


Lots of public methods are missing from the Table API docs

The API docs on googleapis.dev omit many public methods from the Table class, both in 4.0.0 and in 3.1.0. In contrast, the 2.2.x docs included the missing methods.
It looks like the source file that gets fed to JSDoc doesn't have any block comments for lots of methods that should be commented. Here's an example.
I don't know whether this issue affects multiple classes, or just Table. (I only noticed the issues with Table because the cloud.google.com link checker told me about them.)

see: https://github.com/microsoft/TypeScript/issues/10385 I believe this is related; I see the comments being removed from generated docs even though they shouldn't be.

@hegemonic we figured out the issue in our weekly chat today; overridden methods need to live above the main function entry point, or else they're dropped during compilation. The solution is shuffling the comment around accordingly.
It might be worth opening an issue on TypeScript still, but it's a different issue than 10385

Good times! If you can share an example that demonstrates the workaround, I can do the legwork of filing the TypeScript bug. (Or someone on your team who actually understands TypeScript can file it. 😄 Up to you.)

@hegemonic here's an example:
https://github.com/googleapis/nodejs-pubsub/blob/master/src/pubsub.ts#L286
see how createSubscription's method overrides are all listed above the createSubscription with the brunt of the function body?

@hegemonic I'll let you and @callmehiphop coordinate in this thread; but if you get to this before anyone else, and have the cycles, I will happily land your patch.
Dave describes it as the sort of thing where we periodically forget we need to do this, and break things; so the more folks that know how to fix it the better.


feat: generalize boundedFilterSubalgebra

This previously only worked for normed fields, now it works for seminormed algebras.
There is no particular motivation for this beyond seeing where NormedSpace is too strong.

[x] depends on: #9811

maintainer merge

Thanks :tada:
bors merge


Question re. swift-package-list

I have updated SwiftPackageList to 1.4.0.  This caused a package called swift-argument-parser v1.0.3 to get added to the SPM.  Is this OK?
Following the new instructions, I downloaded project and ran make update and received the following error:
sh uninstall.sh
sh: uninstall.sh: No such file or directory
make: *** [update] Error 127

Thought I would try uninstall and install:
make uninstall returns rm -f "/usr/local/bin/swift-package-list"
make install returns the following:
swift build --configuration release
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser (0.57s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.0.3 (0.62s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.0.3
[13/13] Build complete!
cp -f ".build/release/SwiftPackageListCommand" "/usr/local/bin/swift-package-list"
cp: .build/release/SwiftPackageListCommand: No such file or directory
make: *** [install] Error 1

Am I doing something wrong?

Hi, sorry for the inconvenience! As far as I can tell, you have the first version of the Makefile pulled which didn't work as expected, I fixed it here. Make sure you use the latest version, that should resolve the install issue!
To your first question regarding the swift-argument-parser, I added support for Mint in #13 which requires the executable target to be also under the products in the Package.swift. I don't think there is a way to hide this, e.g. with compiler directives...

Hi, that did the trick, all is working now.  Thank you very much for the prompt assistance, I really appreciate it.

Perfect, and no problem!


Better GCC detection

This change clarifies the intent of the use_gcc42_on_lion helper and adds support for Xcode 4.2 installations without GCC.

:+1:

Nice cleanup. :+1:


1.) Allow loadFile flow to make error callback in case of file not found.

1.)  Allows loadFile flow to make error callback in case of file not found, during saveFileIntoDB.
2.) Does not Save server error response to db.

Created an issue related to this. Not sure if _saveFileIntoDBAsync call  @497 can pass the argument useArrayBuffer.

Looks good to me
Thanks a lot!


Python parallel plugin management.

Log:

Main difference from ruby is inside Command class, notably it
poll/sleeps on the subprocess to check output & timeout. Not overly taxing CPU.
Otherwise, I mainly just mirrored logic into an OOP style.
Note that due to GVim freeze, disabling use on Windows. Also, likely
other issues.

I've squashed and cleaned up the commit and everything seems to work.
One thing I should note, is that unlike ruby, the update_python function blocks (i.e. :PlugInstall when using Python).
I think it may be a difference in the Python embedded interpreter that I can't fix. We can make a ticket here to look at it, minor issue.
Hope it is to your liking @junegunn . I've mainly testing on Ubuntu 14.04, someone like @vheon maybe should do a complete re-run of everything on Mac.
IMPORTANT: For testing purposes, if you have +ruby & +python it always chooses the ruby version. To test either manually false the s:ruby flag or compile a python only version.

Thanks! I'll try to review the code during the weekend.

@junegunn No problem. If you have questions feel free to ping me. I think I'm done with it now, after improving the tracing/logging.
GLog can be useful if you want to trace particular things during execution.

I just skimmed through the code. Looks solid, great job! I'm testing it right now, it works pretty well, but on here I'll focus on the differences between the ruby version and the python version.

When you :PlugUpdate, Ruby version shows + sign for the plugins that are being cloned, and * for the pre-existing ones. Python version always shows *.

The CPU consumption of Python version is significantly higher. On my Macbook Air, Vim process occupies 100% when Python version is running. Do you think you can improve it? Both Ruby installer and Neovim installer employ some strategies to limit the rate of buffer updates that turned out to be very effective in limiting CPU usage of Vim itself.
https://github.com/junegunn/vim-plug/blob/master/plug.vim#L1079-L1082
https://github.com/junegunn/vim-plug/blob/master/plug.vim#L826-L828

There are some differences in timeout handling. Ruby version increases the time limit on every retrial (constant backoff), but python version keeps using the same value. And Ruby version gives visual indication of timeouts, but Python version doesn't. Try installing/updating several dozens of plugins with let g:plug_timeout = 1, you'll notice the difference.

@junegunn Differences number 1 & 3 are fairly straightforward. Just oversights during my port.
2 maybe be a bit more tricky. I mean I knew it was a CPU hog doing that polling and just relying on scheduler. I guess I'll do some testing and try to get it lower to the ruby/nvim level. My only reservation is I think the buffer will look slightly sluggish/jerky by comparison. I guess most people prefer their cpus not get pinged.

@starcraftman Note that I ran into the same problem of high CPU overhead when I first implemented live progress update of Ruby installer. I noticed that the overhead slowed down the whole installation process almost by a factor of two on my old mid-2011 Macbook Air, which I'm still using. So I had to make a trade-off and limit the rate of the update.

@junegunn I believe I've addressed the issues. 1 & 3 behave like the ruby version now. I also added interrupt ability that I had forgotten. So ctrl + c will interrupt a long package.
Re CPU, I've used the method from ruby that reduces log calls. Seems acceptable to me. Adequate CPU reduction?

@starcraftman Thanks for the quick follow up. I can confirm + issue is fixed, CPU reduction is adequate, and I'm seeing visual indication of timeouts. Great!
There's a few more things I've noticed while testing it with extremely short timeout (let g:plug_timeout = 1). I'm cloning 34 plugins and updating 20 plugins here.

Ruby versions removes the directory when git-clone (not pull, only clone) is interrupted by timeout. But Python version doesn't. Not cleaning up the directory from the previous attempts makes the subsequent trial all fail.

Ruby

Python

And with g:plug_timeout set to 1, I occasionally run into the following case where the installer terminates without processing every plugin. Any idea?

Interrupting parallel installer is not as responsive as doing so in Ruby installer. I had to hit CTRL-C several times to make it completely stop.

The second case is not readily reproducible. But does happen from time to time.
(The same condition, timeout 1 sec, 34 clones and 20 pulls)
https://gist.github.com/junegunn/e0cc2ba5054d0535dd4f

See http://junegunn.kr/plug_logs.tgz as well

@junegunn Very interesting problems. Re number 1, that is strange, must be some permission problem.
I've got no clue on number 2, looks very strange. The line complaining about is just a delete on the curbuf. Will investigate. I'm getting 404 on the plug_logs.
Re number 3, I see why. In ruby, a single ctrl+c cancels all threads, I just made it cancel a single Plugin job. Will raise an issue to fix that.

I'm getting 404 on the plug_logs.
Oops, sorry. Restored the file.

must be some permission problem

I don't think it's related to permissions. attempt_cmd() does not rmtree on retrials.

@junegunn Thanks for files, and yes. I see now. I was doing cleanup only after all retries not in between. Holdover from before I did the timeouts.

Ran your Python code through PEP8 (ignore E111 which is "indentation is not a multiple of four").
$ pep8 --ignore E111 vim-plug.py
vim-plug.py:20:17: E226 missing whitespace around arithmetic operator
vim-plug.py:23:1: E302 expected 2 blank lines, found 1
vim-plug.py:23:29: E701 multiple statements on one line (colon)
vim-plug.py:24:1: E302 expected 2 blank lines, found 0
vim-plug.py:24:27: E701 multiple statements on one line (colon)
vim-plug.py:25:1: E302 expected 2 blank lines, found 0
vim-plug.py:25:28: E701 multiple statements on one line (colon)
vim-plug.py:26:1: E302 expected 2 blank lines, found 0
vim-plug.py:26:21: E701 multiple statements on one line (colon)
vim-plug.py:28:1: E302 expected 2 blank lines, found 1
vim-plug.py:32:3: E301 expected 1 blank line, found 0
vim-plug.py:34:15: E711 comparison to None should be 'if cond is None:'
vim-plug.py:36:80: E501 line too long (86 > 79 characters)
vim-plug.py:41:3: E301 expected 1 blank line, found 0
vim-plug.py:50:1: E302 expected 2 blank lines, found 1
vim-plug.py:54:80: E501 line too long (81 > 79 characters)
vim-plug.py:77:80: E501 line too long (85 > 79 characters)
vim-plug.py:106:19: E261 at least two spaces before inline comment
vim-plug.py:116:1: E302 expected 2 blank lines, found 1
vim-plug.py:117:80: E501 line too long (83 > 79 characters)
vim-plug.py:127:7: E704 multiple statements on one line (def)
vim-plug.py:165:11: E128 continuation line under-indented for visual indent
vim-plug.py:188:15: E711 comparison to None should be 'if cond is not None:'
vim-plug.py:197:1: E302 expected 2 blank lines, found 1
vim-plug.py:219:7: E114 indentation is not a multiple of four (comment)
vim-plug.py:269:80: E501 line too long (80 > 79 characters)
vim-plug.py:278:1: E302 expected 2 blank lines, found 1
vim-plug.py:298:1: E302 expected 2 blank lines, found 1
vim-plug.py:313:1: E302 expected 2 blank lines, found 1
vim-plug.py:323:23: E226 missing whitespace around arithmetic operator
vim-plug.py:327:1: E302 expected 2 blank lines, found 1

Granted this is embedded code, but it's probably still good practice to follow PEP8.

@renstrom Hello. All things considered, that isn't a terrible first run of PEP8. The is None is annoying, my brain just sometimes can't escape its C thinking. I do know better.
I don't mind making my code compliant, most of the spacing & double statement stuff I did to compress lines. Will review.

That's fine, I just thought I should bring it to light and then you guys can do what you will with it :)

@starcraftman Looks good to me. Is there anything else you want to address?

I'm satisfied at least.

@junegunn Ya give me a bit of time, I'll ping you once I've finalized things and squashed down the commits again. Just want to do a sanity read on everything.

@junegunn Just took out CmdFailed exception since it seems like in ruby code we just report timeout on anything not an interrupt. I believe its basically done, I have a feeling there may be a few more exception catching I'll have to add but people can raise tickets for that.
My only remaining complaint is that I poll, but short of a large refactor I don't see that changing.

@vheon Do you mind doing a sanity check on this before it gets merged by exercising all the main paths? Just want to make sure I didn't mess anything up because of that recent fail.

Note: I'll unavailable for most of the rest of today.
Want to do a bit more testing when I get back but should be mostly good.

@starcraftman I'll do it tomorrow. Here is 00:09 am :P

@vheon No problem, I'm in no rush. Sleep is important! Be sure to test timeout = 1, we had trouble with that prior.
Barring some extreme case I haven't thought of, the threads/procs seem pretty well behaved on my Linux machine now.

@starcraftman I've done some testing, all with g:plug_timeout = 1 and seems to work well. You have to change the git commands based on the latest commit of vim-plug because the tag tracking has changed a bit.

@vheon Done while you were testing. See last commit.

@starcraftman oh ok :+1:

@junegunn I think we are good to go. You may want to do one final review/test. I haven't run into any noticeable bugs/differences from ruby anymore. I also updated for #174, I believe that's the only recent commit that requires python changes.
@vheon Thanks for the testing.

Looks good to me! :shipit:
Thank you very much for your hard work!

@junegunn No problem, was an interesting project.


Present demo application with working relations

Can you give us an example of working application with actual relations between models because I cannot get stuff like allowEager, eagerFilters to work like it's described in the documentation.

I second this, 2 years later!

I've added a relation to the example app. You can check the code here.
Use npm  run example to run the app locally.


Batch update of the Recordset

Hello,
From what I found RecordSet can be updated/deleted only individually using sdk. Is there a way to create a batch request for multiple RecordSets within a DNS zone, i.e. so that a batch request will succeed, only if change for each of the RecordSet succeeds. Otherwise no changes are applied.
Thanks,
Yerken

Howdy @ideahitme,
I am unaware of batch functionality for DNS RecordSets. However, you may try posting this in the Azure/azure-rest-api-specs repo to cast a wider net.
-Martin


test_poi_use_after_free fails

On 4ce8832f6d5cf78773a0cf561c22b85f45e73121,
docker-compose -f docker-compose.yml -f docker-compose.test.yml run -v "$(pwd):/mate" test -- -- -n=1 -k use_after_free

passes. On 39d9de715d3c0dbb6acc57dfbbaa60281c5300e7, it fails:
>       assert results == expected
E       assert {(69, 88)} == {(76, 95)}
E         Extra items in the left set:
E         (69, 88)
E         Extra items in the right set:
E         (76, 95)
E         Full diff:
E         - {(76, 95)}
E         + {(69, 88)}

tests/postgres/poi_analysis/use_after_free_test.py:61: AssertionError

Hmmm, {(69,88)} is in fact the correct result set here. I'm guessing the lines got moved around somehow during a merge...

Yeah, this might have happened while cleaning up or replacing examples for open-sourcing.


go-kit logger rewrite causes nil dereference panics

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

goroutine 21 [running]:
github.com/go-kit/kit/log.(*context).Log(0xc0003ea030, 0xc0003de040, 0x4, 0x4, 0x0, 0x0)
        /home/mvdan/go/land/src/github.com/go-kit/kit/log/log.go:124 +0x19e
github.com/nickvanw/ircx.(*Bot).ReadLoop(0xc0000e62c0, 0x0, 0x0)
        /home/mvdan/go/land/src/github.com/nickvanw/ircx/bot.go:147 +0x5c
created by github.com/nickvanw/ircx.(*Bot).Connect
        /home/mvdan/go/land/src/github.com/nickvanw/ircx/bot.go:78 +0x8e5

This is presumably because New doesn't set a logger, and other funcs use b.log directly without falling back to the default logger if none is set.
I still think the dependency should be dropped (see https://github.com/nickvanw/ircx/pull/27), but for now it should at least be fixed.
The source code is at https://github.com/mvdan/gibot/tree/4bd39e6cc4e62d66b15589dbe3d339fb04ebe93b - in particular, main.go.

Adding a SetLogger below New did indeed work around this:
bot := ircx.New(config.Server, config.Nick, ircConfig)
bot.SetLogger(bot.Logger())

Bump @nickvanw? It would also be good to convert this project to a Go module.


[Kotlin] Optimize and increase coverage

Coverage remained the same at 100.0% when pulling 0c06252854f2172ddc7c9d7d879efde27118cd7e on jeffgbutler:coverage into 471bf6a2e1c61ce5aacb11bd59e734b855604470 on mybatis:master.