NotFoundError: The object can not be found here.

export class LargeList<T> extends React.Component<LargeListProps<T>> {
  render() {
    const p = this.state.visibleParameters;
    let { data } = this.props;
    if (Array.isArray(data) && data.length === 0) {
      return <div />;
    }
    if (!data) data = [];
    return (
      <List
        virtualList
        ...
      >
        ...
      </List>
    );
  }

And I got this error:
[Error] NotFoundError: The object can not be found here.
	insertBefore
	insertBefore (react-dom.development.js:10061)
	commitPlacement (react-dom.development.js:20564)
	commitMutationEffects (react-dom.development.js:22761)
	callCallback (react-dom.development.js:347)
	dispatchEvent
	invokeGuardedCallbackDev (react-dom.development.js:397)
	invokeGuardedCallback (react-dom.development.js:454)
	commitRootImpl (react-dom.development.js:22554)
	commitRootImpl
	unstable_runWithPriority (scheduler.development.js:643)
	commitRoot (react-dom.development.js:22414)
	commitRoot
	runRootCallback (react-dom.development.js:21554)
	runRootCallback
	(anonymous function) (react-dom.development.js:11353)
	unstable_runWithPriority (scheduler.development.js:643)
	flushSyncCallbackQueueImpl (react-dom.development.js:11349)
	flushSyncCallbackQueue (react-dom.development.js:11338)
	batchedUpdates$1 (react-dom.development.js:21648)
	runReactions (mobx.module.js:1838)
	endBatch (mobx.module.js:1541)
	reportChanged (mobx.module.js:316)
	setNewValue (mobx.module.js:811)
	write (mobx.module.js:3972)
	set (mobx.module.js:4179)
	(anonymous function) (OrderReport.ts:403)
	generatorResume
	fulfilled (tslib.es6.js:91)
	promiseReactionJob

[Error] The above error occurred in the <div> component:
    in div (created by LargeList)
    in LargeList (created by OrderList)
    in OrderList (created by inject-with-intl-userInfo-orderSelector-orderRecord(OrderList))
    in inject-with-intl-userInfo-orderSelector-orderRecord(OrderList) (created by OrderReport)
    in div (created by f7-page-content)
    in f7-page-content (created by f7-page)
    in div (created by f7-page)
    in f7-page (created by OrderReport)
    in OrderReport (created by inject-with-intl-userInfo-orderReport-shareholderReport-agentReport-proxyReport-memberReport-orderRecord(OrderReport))
    in inject-with-intl-userInfo-orderReport-shareholderReport-agentReport-proxyReport-memberReport-orderRecord(OrderReport) (created by f7-view)
    in div (created by f7-view)
    in f7-view (created by AppFrame)
    in div (created by f7-app)
    in f7-app (created by AppFrame)
    in AppFrame (created by inject-with-intl-userInfo(AppFrame))
    in inject-with-intl-userInfo(AppFrame)
    in MobXProvider

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://fb.me/react-error-boundaries to learn more about error boundaries.
	logCapturedError (react-dom.development.js:19814)
	logError (react-dom.development.js:19850)
	callback (react-dom.development.js:20929)
	callCallback (react-dom.development.js:12929)
	commitUpdateEffects (react-dom.development.js:12968)
	commitUpdateQueue (react-dom.development.js:12956)
	commitLifeCycles (react-dom.development.js:20098)
	commitLayoutEffects (react-dom.development.js:22813)
	callCallback (react-dom.development.js:347)
	dispatchEvent
	invokeGuardedCallbackDev (react-dom.development.js:397)
	invokeGuardedCallback (react-dom.development.js:454)
	commitRootImpl (react-dom.development.js:22585)
	commitRootImpl
	unstable_runWithPriority (scheduler.development.js:643)
	commitRoot (react-dom.development.js:22414)
	commitRoot
	runRootCallback (react-dom.development.js:21554)
	runRootCallback
	(anonymous function) (react-dom.development.js:11353)
	unstable_runWithPriority (scheduler.development.js:643)
	flushSyncCallbackQueueImpl (react-dom.development.js:11349)
	flushSyncCallbackQueue (react-dom.development.js:11338)
	batchedUpdates$1 (react-dom.development.js:21648)
	runReactions (mobx.module.js:1838)
	endBatch (mobx.module.js:1541)
	reportChanged (mobx.module.js:316)
	setNewValue (mobx.module.js:811)
	write (mobx.module.js:3972)
	set (mobx.module.js:4179)
	(anonymous function) (OrderReport.ts:403)
	generatorResume
	fulfilled (tslib.es6.js:91)
	promiseReactionJob

When the data changed from some items to [];


Update expectations for Firefox 48

Firefox 48 seems to no longer output "use strict" in its function serialisation.

lgtm


feat(#49): Implement XmirIr#name method

Implement XmirIr#name method.
Closes: #49

PR-Codex overview
This PR focuses on adding unit tests and implementing a new method in the XmirIr class.
Detailed summary

Added a unit test for the XmirIr class to check the name() method.
Implemented the name() method in the XmirIr class to retrieve the name of the object from XMIR.
Updated the savesXml method in the XmirFootprintTest class to use the new XmirIr constructor with a fake name.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 2min)


Implement AttachGraph

As per design meeting discussions here:
https://github.com/aspnet/EntityFramework/wiki/Design-Meeting-Notes:-December-4,-2014#graph-behaviors

beta4 on nuget; where has attachgraph gone? I see issues but not finding discussion of removing. github search finds no attachgraph in code. What's the status of it? Will keep searching.. :)

ooops found TrackGraph! :)


Latest alb controller image does not forward to https service

Using the annotation alb.ingress.kubernetes.io/backend-protocol: HTTPS, the server responds with the following https error:
The webpage at https://dns-name/ might be temporarily down or it may have moved permanently to a new web address.
ERR_SPDY_PROTOCOL_ERROR

Previous builds accepted this annotation correctly and forwarded the alb to the correct port. Inspecting Target Groups, no target has been assigned.
The alb controller has this error in logs
I0730 16:17:03.481867       1 event.go:221] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"kube-system", Name:"dashboard", UID:"ee31ddc6-8b66-11e8-8ce8-020c615fc996", APIVersion:"extensions/v1beta1", ResourceVersion:"2663343", FieldPath:""}): type: 'Warning' reason: 'ERROR' Error creating target group 8709014d-00000-HTTP-267077f: InvalidParameter: 1 validation error(s) found.
- minimum field value of 1, CreateTargetGroupInput.Port.

The oldest working image is 3dab68a, 1173989 is where the issue began.

I started to look into this and so far i'm not seeing what could be causing this problem, but the healthchecks were being made with the wrong backend protocol. You may want to look at 501-fix-backend-protocol and see if that changes anything

Thank you, I can confirm 1.0-beta.5 no longer has this issue.


[FEATURE REQUEST] - Explicit pixels dimensions in aspect_ratio drop down for Parameter Generator

Summary
I know we already discussed this, and I tested the current approach extensively in these weeks since you released the new version of Parameter Generator.
My conclusion is that it's really difficult to remember what each ratio means in terms of pixels from the current drop down:

And since the node shows the exact pixels only after queuing a generation, it's a game of guesses, or googling the answer before using ComfyUI, or bookmarking posts like this one. At least, that's what I do now.
It would be really super useful if the node would show each pixel pairing next to each ratio (and according to the selected SD family).
Basic Example

The user selects SDXL 1024 from the model_version drop down.
The user sees thinks like "16:9 - 1344x768px" in the aspect_ratio drop down.

Reference Issues.
No response

Hi, I just released stable version of 1.0.0. About this old issue, I haven’t found any way to modify the value of dropdown or textbox in real-time, but I will continue to search for solutions (since this would also improve prompt display). Of course, if you find any custom nodes that have display content changing instantly after modifying input values (including textboxes/dropdown/input boxes), please let me know. There’s a good chance I could find a solution by looking at their source code.

I'm not asking for a real-time change. I think it's not possible. I'm asking to statically describe every pair, like Comfyroll is doing with its CR Aspect Ratio node:

The words "portrait", "landscape" and "cinema" seem unnecessary, but the pixel resolution next to the aspect ratio is what I'm looking for.

Oh alright, then we have a few options:

A super long dropdown with 28 items.
After the first generation, display the resolution of the chosen model in the dropdown, like comfyroll. However, the downside is that it still requires a generation.
Display the resolution of the three models in the same row. e.g. [1:1 - 512x512 | 768x768 | 1024x1024]
Comfyroll chose to divide node into two, a regular version and an SDXL version. It’s a solution, but not a very elegant one.

So, the issue still lies in the fact that the three models have different optimal resolutions. I’m also not sure what the best choice would be.

Of course, option 1 is not an option.
Option 2 is similarly confusing as today's situation, so I'd say neither.
Option 4 would be a nightmare to manage and I would really prefer not.
Option 3 seems the most likely possibility, but I'd explore an alternative:
Is it possible that only a portion of those 28 items appear in the aspect_ratio drop-down, depending on the choice made in the model_version drop down?
It's not a real-time change, but rather an if-then situation, so perhaps possible?
If that's not possible, then either option 3 (as long as it doesn't look ugly or ginormous) or let's stay as it is right now.
P.S.: There's a 5th option: 3 aspect_ratio drop downs, one for each model_version. I think it's very inelegant. At that point, Option 3 seems better. I mentioned it just for the sake of being comprehensive.

What I mean by real-time changes are any changes made before the next generation, because currently, I can only trigger any modifications through generation. Therefore, I cannot modify the aspect ratio after the user modifies the model version (before generating).
How about this, let the dropdown show option 3 by default, and then only show the resolution of the corresponding model after the first generation? Or let the dropdown show 28 items by default, then only show 9 of them after the first generation?

How about this, let the dropdown show option 3 by default, and then only show the resolution of the corresponding model after the first generation?

This would be a graceful compromise!

Ok, I will start writing this feature after posting this custom node on reddit.

The new version of the node is fantastic. Thank you.


Eloquent can't search by pure enum

Laravel Version
10.8.0
PHP Version
8.2.5
Database Driver & Version
No response
Description
I am trying to filter models in database by pure enum, but getting an error: Object of class App\Enums\Enum2 could not be converted to string. I am expecting query builder to take enum name and filter by it. That's a thing, because you can pass backed enum (with value), builder will take enum value and it will work without errors. Also pure enums perfectly work with create and update queries. Problem is presented only while trying to filter by pure enums at the moment.
I propose to cast non-backed enumerations to string by taking their's names. I made some research and it seems great place to cast is Illuminate\Database\Query::where method. I am ready to create a PR, but first I would like to hear some opinions on my issue. Thanks.
Steps To Reproduce
Example of models and enumerations that demonstrates the problem:

// Model
class Example extends Model
{
    protected $fillable = [
        'enum1',
        'enum2',
    ];

    protected $casts = [
        'enum1' => Enum1::class,
        'enum2' => Enum2::class,
    ];
}

// Backed enum
enum Enum1: string
{
    case First = 'first';
}

// Pure enum
enum Enum2
{
    case Second;
}

// Testing
Example::create(['enum1' => Enum1::First, 'enum2' => Enum2::Second]); // Works fine
$model = Example::where('enum1', Enum1::First)->first(); // Works fine
$model = Example::where('enum2', Enum2::Second)->first();
// Here comes an error:
// Error  Object of class App\Enums\Enum2 could not be converted to string.

Heya, this indeed isn't possible right now. You can always attempt a PR if you want, thanks.

Can you specify what is actually impossible, please? @driesvints

You can't pass pure enums.

Yes, I know I can't. That's the problem I've described. What do you think, will it be good idea to add such possibility? If yes, is it a good place to put pure enum to string cast in Illuminate\Database\Query::where?

@driesvints


add a example for customize the haproxy_ssh-dh-param

add a example for customize the haproxy_ssh-dh-param

This change is

Coverage remained the same at 47.073% when pulling c4eb8987b988a9bbc4e1702ab0364b38a63b2d7e on caiyixiang:haproxy_ssl-dh-param into f9663a8d949ee1b92ac02cf35c9794e4b2a1a091 on kubernetes:master.

I'd suggest you to wait 0.3 to document new options. I'll comment on this same PR just after the release.

@jcmoraisjr ok,thanks

Closing. Please open the PR in https://github.com/jcmoraisjr/haproxy-ingress


Unable to load asset

When I call the function I just get from android error that say unable to load asset
Any error related?

Getting the same. getting an exception :
_Exception (Exception: Error parsing asset file!)
message:
"Error parsing asset file!"
hashCode:
3254261876
runtimeType:
The same pdf file opens just fine.
is there any limit on the filepath length?


timely::CommunicationConfig::Cluster: Syscall param socketcall.sendto(msg) points to uninitialised byte(s)

Hello,
I am experimenting with timely dataflow, and adapted one of the examples from the docs to use a timely::CommunicationConfig::Cluster.
main.rs:
use clap::{App, Arg};
use timely;
use timely::dataflow::operators::{Input, Inspect};

pub fn main() {
    let matches = App::new("example")
        .arg(
            Arg::with_name("address")
                .short("a")
                .long("address")
                .takes_value(true)
                .multiple(true)
                .required(true),
        )
        .arg(
            Arg::with_name("index")
                .short("i")
                .long("index")
                .takes_value(true)
                .required(true),
        )
        .get_matches();

    let process = matches.value_of("index").unwrap().parse::<usize>().unwrap();
    let mut addresses = Vec::new();
    for a in matches.values_of("address").unwrap() {
        addresses.push(a.to_string());
    }

    let config = timely::Config {
        communication: timely::CommunicationConfig::Cluster {
            threads: 1,
            process: process,
            addresses: addresses,
            report: true,
            log_fn: Box::new(move |_communication_setup| None),
        },
        worker: timely::worker::Config::default(),
    };

    timely::execute(config, move |worker| {
        // add an input and base computation off of it
        let mut input = worker.dataflow(|scope| {
            let (input, stream) = scope.new_input();
            stream.inspect(|x| println!("hello {:?}", x));
            input
        });

        // introduce input, advance computation
        for round in 0..10 {
            input.send(round);
            input.advance_to(round + 1);
            worker.step();
        }
    })
    .expect("Timely execute error");
}

Cargo.toml:
[package]
name = "timely-cluster"
version = "0.1.0"
edition = "2018"

[dependencies]
timely = "0.12.0"
clap = "2.33.3"

[[bin]]
name = "timely-cluster"
path = "main.rs"

When I execute it with valgrind,
cargo build && \
valgrind target/debug/timely-cluster --address <IP_ADDRESS>:10001 --address <IP_ADDRESS>:10002 --index 0 & \
valgrind target/debug/timely-cluster --address <IP_ADDRESS>:10001 --address <IP_ADDRESS>:10002 --index 1

I see errors like this:
==9372== Thread 2 timely:send-1:
==9372== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==9372==    at 0x4989C5C: send (in /usr/lib/libc-2.33.so)
==9372==    by 0x433FB6: send (net.rs:646)
==9372==    by 0x433FB6: std::net::udp::UdpSocket::send (udp.rs:665)
==9372==    by 0x292218: std::io::buffered::bufwriter::BufWriter<W>::flush_buf (bufwriter.rs:167)
==9372==    by 0x2943A6: <std::io::buffered::bufwriter::BufWriter<W> as std::io::Write>::flush (bufwriter.rs:635)
==9372==    by 0x290349: timely_communication::allocator::zero_copy::tcp::send_loop (tcp.rs:151)
==9372==    by 0x2E644C: timely_communication::allocator::zero_copy::initialize::initialize_networking_from_sockets::{{closure}} (initialize.rs:103)
==9372==    by 0x28BB2F: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==9372==    by 0x2B8B8C: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} (mod.rs:476)
==9372==    by 0x2A5690: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (panic.rs:347)
==9372==    by 0x292B78: std::panicking::try::do_call (panicking.rs:401)
==9372==    by 0x297C3C: __rust_try (in /home/timely-cluster/target/debug/timely-cluster)
==9372==    by 0x2929B0: std::panicking::try (panicking.rs:365)
==9372==  Address 0x4be864c is 108 bytes inside a block of size 65,536 alloc'd
==9372==    at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==9372==    by 0x2F83CB: alloc::alloc::alloc (alloc.rs:86)
==9372==    by 0x2F8456: alloc::alloc::Global::alloc_impl (alloc.rs:166)
==9372==    by 0x2F8709: <alloc::alloc::Global as core::alloc::Allocator>::allocate (alloc.rs:226)
==9372==    by 0x2F5B2C: alloc::raw_vec::RawVec<T,A>::allocate_in (raw_vec.rs:203)
==9372==    by 0x2F5F9C: alloc::raw_vec::RawVec<T,A>::with_capacity_in (raw_vec.rs:142)
==9372==    by 0x2F63C3: alloc::vec::Vec<T,A>::with_capacity_in (mod.rs:603)
==9372==    by 0x2F6326: alloc::vec::Vec<T>::with_capacity (mod.rs:464)
==9372==    by 0x291D3A: std::io::buffered::bufwriter::BufWriter<W>::with_capacity (bufwriter.rs:115)
==9372==    by 0x29009C: timely_communication::allocator::zero_copy::tcp::send_loop (tcp.rs:133)
==9372==    by 0x2E644C: timely_communication::allocator::zero_copy::initialize::initialize_networking_from_sockets::{{closure}} (initialize.rs:103)
==9372==    by 0x28BB2F: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)

Uninitialized bytes sounds bad to me, and even if this example does not crash, I believe this to be the cause for a segfault I see in a more complex application using timely::Cluster.
(I have checked it with rust 1.53 stable and rust 1.55 nightly)
Am I doing something wrong, or is this a bug?
Thanks.

I'm sorry, I don't know enough about valgrind to know if there is a problem. The writer that is being flushed is pre-allocated with spare capacity, which means that a fair hunk of its buffer will be uninitialized
    let mut writer = ::std::io::BufWriter::with_capacity(1 << 16, writer);

Subsequently, we only write in byte slices,
    writer.write_all(&bytes[..]).expect("Write failure in send_loop.");

though admittedly they get populated in weird (unsafe) ways.
So, it's possible that there is uninitialized memory on the other end of the pointer passed in, in the allocated region, because writer.flush() is guaranteed to pass a length in that only references initialized data. Or it is possible that uninitialized bytes are coming from bytes, which would be problematic if that is what's happening.

Thanks for your reply. I'm no valgrind expert either, and tend to just adding print statements once it reports something.
I'm not sure whether I understand the first possibility you mentioned. But I believe it is the second one anyway, after I added some of those prints to send_loop:
let thread_name = std::thread::current().name().unwrap().to_string();

for idx in 0..bytes.len() {
    println!("{}  attempt to write byte #{}...", thread_name, idx);
    std::io::stdout().flush().expect("flush error");

    println!("{}  write byte #{}: {:?}", thread_name, idx, bytes[idx]); // line 200
    std::io::stdout().flush().expect("flush error");
}

writer.write_all(&bytes[..]).expect("Write failure in send_loop.");

Now this produces outputs like
<snip>
timely:send-0  write byte #107: 128
timely:send-0  attempt to write byte #108...
==24291== Thread 2 timely:send-0:
==24291== Conditional jump or move depends on uninitialised value(s)
==24291==    at 0x46FD5B: fmt_u64 (num.rs:249)
==24291==    by 0x46FD5B: core::fmt::num::imp::<impl core::fmt::Display for u8>::fmt (num.rs:287)
==24291==    by 0x2E5275: core::fmt::num::<impl core::fmt::Debug for u8>::fmt (num.rs:191)
==24291==    by 0x46B70E: core::fmt::write (mod.rs:1094)
==24291==    by 0x448E9D: write_fmt<std::io::stdio::StdoutLock> (mod.rs:1584)
==24291==    by 0x448E9D: <&std::io::stdio::Stdout as std::io::Write>::write_fmt (stdio.rs:657)
==24291==    by 0x449D17: write_fmt (stdio.rs:631)
==24291==    by 0x449D17: print_to<std::io::stdio::Stdout> (stdio.rs:934)
==24291==    by 0x449D17: std::io::stdio::_print (stdio.rs:947)

==24291==    by 0x29B6E3: timely_communication::allocator::zero_copy::tcp::send_loop (tcp.rs:200)

==24291==    by 0x2B1686: timely_communication::allocator::zero_copy::initialize::initialize_networking_from_sockets::{{closure}} (initialize.rs:99)
==24291==    by 0x2B38FF: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==24291==    by 0x2D80BC: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} (mod.rs:481)
==24291==    by 0x2CDB10: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (panic.rs:344)
==24291==    by 0x2F41F8: std::panicking::try::do_call (panicking.rs:379)
==24291==    by 0x2FAC1C: __rust_try (in /home/timely-cluster/target/debug/timely-cluster)
<snip>

meaning that byte 108 of bytes is indeed uninitialized... (in this example, it seems to be always byte 108)
(the line numbers in the stacktrace may differ from yours as my editor did some reformatting)
Full console output: https://pastebin.com/hTtzwgDJ
tcp.rs for line number reference: https://pastebin.com/pJsw7ZQd

I meanwhile found out that using
timely = { version = "0.12.0", features=["bincode"] }

in Cargo.toml resolves both the uninitialized bytes error and the earlier mentioned segfault…


Test migrationtools CI

Closing PR for testing purposes of CI trigger.

Opening PR for testing purposes of CI trigger

run jenkins-F5-migration-ut

run jenkins-NS-migration-ut

run jenkins-NS-migration-ut

run jenkins-F5-migration-ut

run jenkins-NS-migration-ut

Closing PR for testing purposes of CI trigger

Opening PR for testing purposes of CI trigger


Unable to add karpenter provisioner with Cilium IPAM : Cluster-Pool

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I have EKS cluster with Cilium installed (IPAM: cluster-pool ). Installed karpenter and when I tried to add provisioner I am getting the following error "Error from server (InternalError): error when creating "./karpenter/test_provisioner.yaml": Internal error occurred: failed calling webhook "defaulting.webhook.karpenter.k8s.aws": failed to call webhook: Post "https://karpenter.karpenter.svc:8443/default/karpenter.k8s.aws?timeout=10s": Address is not allowed".
Everything works file with ENI mode
Cilium Version
1.15.1
Kernel Version
Linux 4.14.330-250.540.amzn2.x86_64
Kubernetes Version
EKS - 1.29
Regression
No response
Sysdump
No response
Relevant log output
Karpenter Log:

{"level":"ERROR","time":"2024-03-21T06:56:09.326Z","logger":"webhook.ConfigMapWebhook","message":"Reconcile error","commit":"50f60fb","knative.dev/traceid":"faf23233-b480-4618-95d5-89eca6759567","knative.dev/key":"karpenter/karpenter-cert","duration":"74.050652ms","error":"failed to update webhook: Operation cannot be fulfilled on validatingwebhookconfigurations.admissionregistration.k8s.io \"validation.webhook.config.karpenter.sh\": the object has been modified; please apply your changes to the latest version and try again"}

Anything else?
No response
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

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

This is, sadly, a known issue with EKS and tunneling mode. Because the control-plane does not have access to the overlay network, it cannot reach the pods.
There are 3 possible solutions:

Use ENI mode instead
Deploy your webhooks as HostNetwork pods
Try and configure Konnectivity in EKS (this may not be possible)

I'm sorry, and I wish I had a better answer.

This is almost certainly a duplicate of https://github.com/cilium/cilium/issues/30111, in which case I'll close this in favor of that.

This is, sadly, a known issue with EKS and tunneling mode. Because the control-plane does not have access to the overlay network, it cannot reach the pods.
There are 3 possible solutions:

Use ENI mode instead
Deploy your webhooks as HostNetwork pods
Try and configure Konnectivity in EKS (this may not be possible)

I'm sorry, and I wish I had a better answer.

Thank you the karpenter and provisioner worked by updating the hostNetwork = true while installing karpenter.
After installation, the setting can be verified in Karpenter deployment:
kubectl get deployment karpenter -n karpenter -o yaml|grep hostNetwork
hostNetwork: true

Sounds like @squeed's guess was spot-on then :). Duping to #30111.

I was facing the same issue and adding host network does make karpenter pods run, but the cilium agent pod never gets scheduled on the new node created by karpenter. Karpenter creates an ec2 instance, but it never gets recognised by the EKS Cluster. Any idea what could be the issue. I tried adding startupTaints, kubectl.maxPods, but still the same issue. Am I missing something?


arch: x86: core: remove evaluate expression from return of function

Add if-else to function bool z_x86_check_stack_bounds()
instead of evaluating arguments directly in the return expression
of the function z_x86_check_stack_bounds().
Found as a coding guideline violation (MISRA R13.2) by static
coding scanning tool.
Signed-off-by: Maksim Masalski<EMAIL_ADDRESS>

I don't get it - how does the evaluation change by adding a temporary variable to store the return value? I wouldn't be surprised if the generated code is exactly the same (i.e. the compiler optimises away the boolean variable).

I don't get it - how does the evaluation change by adding a temporary variable to store the return value? I wouldn't be surprised if the generated code is exactly the same (i.e. the compiler optimises away the boolean variable).

Yes, you are right. I put my mind on that problem.

I don't get it - how does the evaluation change by adding a temporary variable to store the return value? I wouldn't be surprised if the generated code is exactly the same (i.e. the compiler optimises away the boolean variable).

@jhedberg I think, right now is the correct solution. Please take a look.

I need more reviews there. @dcpleung @ceolin , please if you have time.

I don't understand. If it complains about the boolean expression before, it will complain after the change. It's the same expression.

@maksimmasalski After seeing Daniel's comment, I scanned the original code you changed in this PR with my local static analysis tool and it flagged no MISRA 13.2b violation. After looking in Parasoft, I see the violation is at arch/x86/core/ia32/fatal.c:174:
#ifdef CONFIG_THREAD_STACK_INFO
	if (z_x86_check_stack_bounds(_df_esf.esp, 0, _df_esf.cs)) { // Violation here
		reason = K_ERR_STACK_CHK_FAIL;
	}
#endif

Note that the struct df_esp is volatile (on :123 of the same file):
static __pinned_noinit volatile z_arch_esf_t _df_esf;

I think the issue is the arguments of the function call z_x86_check_stack_bounds(_df_esf.esp, 0, _df_esf.cs). _df_esf.esp and _df_esf.cs will be passed by value and so these values will need to be read out of the struct _df_esf before the function can be called. The MISRA rule is concerned in general that the different compilers will read / "evaluate" these values in a different order. For the specific violation, since the struct df_esp is volatile and being read from to get the value, it will flag a warning. See the last paragraph under the Description section of MISRAC2012-RULE_13_2-b in the Documentation tab.
The solution indicated by the MISRA documentation is to assign these values to variables and then pass them in. So I believe the fix for this violation would be to make 2 local variables, assign them the values of _df_esf.esp and .cs, and then call the function with those 2 local variables as arguments.
I'm sorry I approved this without looking too closely at the MISRA rule! :disappointed: I think it won't be a too difficult fix if I'm correct, though. @ceolin Does this sound like it makes sense to you?

@maksimmasalski After seeing Daniel's comment, I went back and thought more about this. I see the violation is at arch/x86/core/ia32/fatal.c:174:
#ifdef CONFIG_THREAD_STACK_INFO
	if (z_x86_check_stack_bounds(_df_esf.esp, 0, _df_esf.cs)) { // Violation here
		reason = K_ERR_STACK_CHK_FAIL;
	}
#endif

Note that the struct _df_esf is volatile (on :123 of the same file):
static __pinned_noinit volatile z_arch_esf_t _df_esf;

I think the issue is the arguments of the function call z_x86_check_stack_bounds(_df_esf.esp, 0, _df_esf.cs). _df_esf.esp and _df_esf.cs will be passed by value and so these values will need to be read out of the struct _df_esf before the function can be called. The MISRA rule is concerned in general that different compilers will read / "evaluate" these values in a different order. For this specific violation, since the struct df_esp is volatile and being read from twice (in an unknown order depending on the compiler) to get these values, it will flag a warning. See the last paragraph under the Description section of MISRAC2012-RULE_13_2-b in the Documentation tab.
The solution indicated by the MISRA documentation is to assign these values to variables and then pass them in. So I believe the fix for this violation would be to make 2 local variables, assign them the values of _df_esf.esp and .cs, and then call the function with those 2 local variables as arguments.
I'm sorry I approved this without looking too closely at the MISRA rule! 😞 I think it won't be a too difficult fix if I'm correct, though. @ceolin Does this sound like it makes sense to you?

Lauren, great explanation! 👋👋👋


docs: updated readme with IAM permissions

This PR updates the README with guidance on all the required IAM permissions.

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

Project coverage is 82.14%. Comparing base (8e67800) to head (8f3d973).
Report is 6 commits behind head on main.

:exclamation: Current head 8f3d973 differs from pull request most recent head 028591f. Consider uploading reports for the commit 028591f to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@            Coverage Diff             @@
##             main     #122      +/-   ##
==========================================
+ Coverage   81.87%   82.14%   +0.27%
==========================================
  Files           4        4
  Lines         651      661      +10
==========================================
+ Hits          533      543      +10
+ Misses         91       90       -1
- Partials       27       28       +1

see 1 file with indirect coverage changes


fill checklist for community

This project tends to be contributed to by the community. I found a suggestion checklist from Github which is useful for us. https://github.com/lecle/aloxide/community. @flowersinthesand what do you think?

Looks great. Let's work on them when preparing the first release.


How to pass username from login screen to repository by streem

Login screen:
StreamBuilder<String>(
                    stream: bloc.username,
                    builder: (context, snapshot)=>
                       TextFormField(
                         onChanged: bloc.usernameChanged,
                        decoration: InputDecoration(
                        labelText: 'Username'),
                        controller: usernameInputController,
                        //keyboardType: TextInputType.emailAddress,
                        validator: FieldValidator.validateEmail,
                        obscureText: true,
                        key: Key('username'),
                      ),

                  ),

Bloc.dart:
Stream<String> get username => _usernameController.stream.transform(usernameValidator);
  Stream<String> get password => _passwordController.stream.transform(passwordValidator);

Repository.dart:
How to get username to this screen and put:
Map<String, String> body = {
    'username': '',
    'password': '',
    'grant_type': 'password',
    'country': 'in',

Hi @Parmendrakumar
This platform is not met for assistance on personal code.
Please see https://flutter.dev/community for resources for asking questions like this,
you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


Improves the readability of cost estimation

Also introduce time units that will be useful in the future.

That's what I mean. The readability of "1.43 months" is less than "42 days," whether it's directly user-facing or not, right?

That's what I mean. The readability of "1.43 months" is less than "42 days," whether it's directly user-facing or not, right?

@aofarrel I think foo = some_cost / MONTH is more readable that foo = some_cost / (30.437 * DAY). Also, the GCP resource I’m trying to cost out is quoted in monthly units. It’s likely you pay monthly rent, every.
In any case, this is probably too much time spent on a nit.

@aofarrel I think foo = some_cost / MONTH is more readable that foo = some_cost / (30.437 * DAY). Also, the GCP resource I’m trying to cost out is quoted in monthly units. It’s likely you pay monthly rent, every.
In any case, this is probably too much time spent on a nit.

Also, the GCP resource I’m trying to cost out is quoted in monthly units. It’s likely you pay monthly rent, every.

oops
I getcha now! Makes sense!

Also, the GCP resource I’m trying to cost out is quoted in monthly units. It’s likely you pay monthly rent, every.

oops
I getcha now! Makes sense!


Deduplicate Debugger diagnostics in sidecar

We were sending too much data and that made our backend sad.
Sending less data so that our backend can be happy again.
This avoids sending multiple diagnostics for individual runtime ids.

Codecov Report
Attention: Patch coverage is 0% with 151 lines in your changes missing coverage. Please review.

Project coverage is 70.81%. Comparing base (75b1ab5) to head (698ee10).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #736      +/-   ##
==========================================
- Coverage   71.01%   70.81%   -0.21%
==========================================
  Files         287      288       +1
  Lines       42836    42969     +133
==========================================
+ Hits        30421    30428       +7
- Misses      12415    12541     +126

Components
Coverage Δ

crashtracker
40.76% <ø> (ø)

crashtracker-ffi
8.67% <ø> (ø)

datadog-alloc
98.73% <ø> (ø)

data-pipeline
91.95% <ø> (ø)

data-pipeline-ffi
0.00% <ø> (ø)

ddcommon
83.46% <ø> (ø)

ddcommon-ffi
69.12% <ø> (ø)

ddtelemetry
59.10% <ø> (ø)

ddtelemetry-ffi
22.13% <ø> (ø)

dogstatsd
89.45% <ø> (ø)

dogstatsd-client
79.77% <ø> (ø)

ipc
82.76% <ø> (ø)

profiling
84.30% <ø> (ø)

profiling-ffi
77.46% <ø> (ø)

serverless
0.00% <ø> (ø)

sidecar
36.39% <0.00%> (-0.97%)
:arrow_down:

sidecar-ffi
0.00% <0.00%> (ø)

spawn-worker
50.36% <ø> (ø)

tinybytes
94.77% <ø> (ø)

trace-mini-agent
72.18% <ø> (ø)

trace-normalization
98.25% <ø> (ø)

trace-obfuscation
95.77% <ø> (ø)

trace-protobuf
77.67% <ø> (ø)

trace-utils
93.14% <ø> (ø)


Split test envs out of the testutil package

Under suggestion from @brycemcanally who is the lucky first user of the test env functions, this should make it easier to avoid circular dependencies when writing test code.  This adds two new packages, testetcd and testpachd which can be used to provide a temp directory and embedded (in-process) instance of etcd or the pachd API, respectively.  These are no longer a part of the testutil package.
Also fixed the make test-transaction target, which had the wrong path for tests.

Also, why is this PR for grey/updated-vscode-scripts?

This is based off of grey/updated-vscode-scripts so that I could actually do builds in my environment.  I didn't want to pollute the diff by setting master as the base.


Use config file defining mapping between prometheus names/labels and k8s metrics

Hi,
there is a lot of translations involved when exposing prometheus metrics to kubernetes. These are currently hardcoded. It would be great to have a configuration file which defines this mapping explicitly, helping both maintaining it as well as understanding what is going on.
Having a config file with mapping is common among prometheus projects, e.g:

https://github.com/prometheus/statsd_exporter#metric-mapping-and-configuration
https://github.com/prometheus/jmx_exporter#configuration

Yes, I am finding it difficult to get value out the exporter as it is because most of the stats in prometheus are not in a useful format for use in prometheus.  In order for a metric to be useful for the horizontal pod autoscaler it has to be one such that adding pods will reduce that metric.
For example:

if I use the "Object" target to scale based on the "number of open connections" on an ingress, I'll just be getting the total number of connections.  What I want is the number of open connections divided by the number of pods handling those connections.  Increasing the number of pods can never reduce the total number of open connections on the ingress.
if I use the "Pods" target on a metric like "95th percentile response time", adding pods will actually reduce the response time (in theory).  So, I need to transform the metric to "response time seconds per second" or something like that.

Also:
Often I do not have control over the names of the metrics exported to prometheus, so the naming conventions like the _total suffix might not help me.  For example in the epimetheus metrics exporter for node.js the suffix is _sum instead.
I imagine there might be some prometheus config-fu that I could use to rename or adjust these, but it feels like this would be a lot easier if I could just write a list of prometheus queries and how to map their results to metrics.

This is fixed by #46


Forward auth cookie when making max-size request to form server

Closes: https://github.com/enketo/enketo/issues/994
Closes: https://github.com/onaio/onadata/issues/2568
I have verified this PR works with

[x] Online form submission
[x] Offline form submission
[x] Saving offline drafts
[x] Loading offline drafts
[x] Editing submissions
[x] Form preview
[ ] None of the above

What else has been done to verify that this works as intended?
Tested locally
Why is this the best possible solution? Were any other approaches considered?
Yes, I considered allowing HEAD requests on this endpoint to be unauthenticated on onadata side

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
No regression risks that I can think of
Do we need any specific form for testing your changes? If so, please attach one.
No

I noted while testing this locally that the HEAD request to the submission endpoint is sent without any authentication (set to null) and without any cookies. I believe this isn't the desired behaviour
{
  url: 'http://<IP_ADDRESS>:8000/enketo/9/submission',
  auth: null,
  headers: { cookie: undefined },
  method: 'head'
}

The fix presented here is to relay cookies sent from the browser to the ODK server

You have a form that requires cookie-based auth and it looks like cookies aren't forwarded when making the HEAD request to get max-size from Enketo backend to the form server, is that right?
Do you believe this to be a change in behavior in Enketo? Is there some change on your end that revealed this now?

This is right

You have a form that requires cookie-based auth and it looks like cookies aren't forwarded when making the HEAD request to get max-size from Enketo backend to the form server, is that right?

No, this is not a change in behavior in enketo. It seems that the max-size endpoint has always worked like this (the request has always been made without credentials).

Great, thanks for the background. It looks like it was probably an accidental oversight but I do want to give it some thought and look at the code around this area more carefully since this is auth-related.


zero molecular weight on some molecules when constructing ".json" files

molecular mass of O2 is incorrectly reported as zero. in the chapman.json file

Closing as this does not apply to the new version of chemistry cafe.


(types/fix): explicit Rollup typing, fix treeshake location

treeshake was in output, but it's not a config of output :/ :/ :/

once explicit types were added, this was a big red underline :/ :/

Yeaaaaaaaaa so that's kind of a problem 😕 😕 😕 Related to #365 and potentially related to #171. This bug has been around for a long enough time that it's fix may cause some breakage, idk.
Related: Does the eslint config error on getters and setters? That wouldn't help with imported code, but would at least reduce unexpected errors in one's own codebase.
Also should we add some regression tests for treeshaking? It's typed correctly now, but might make sense to have a test for something like this that could be considered critical and hard to catch, idk.

I was going around adding types to builder code during #367 because type-checking would add a lot more confidence and discovered this along the way -- figured it should be extracted out as its own commit.

nice catch - who woulda thought that typechecking is useful for this stuff 😂
wanna make sure jared sees this so not clicking merge


Bug/level2mongo

fix connection options.

Coverage remained the same at 93.62% when pulling 688b228271991ddc0006dc7809c362f4f35f0ce7 on matiu:bug/level2mongo into 0f1e89a65460bc609c3341ee3d61924b3974d6f5 on bitpay:master.


support for installing on Windows

Dear expert,
Now the libpg-query can not support for installing on windows,
From the latest pg-query release note, it has already supported windows, do we have a plan to support for installing on windows?

There are efforts, coming soon!

closed with #45
enjoy! let us know if you have issues :)


Minimal initial benchmarks

This pares down @giteshk's benchmarks to a single set of CRUD tests on API resources that is hopefully easily extensible to other resources and scenarios. I'm not sure that we need to do this for every resource since the underlying operations don't vary much per resource. This alone seems enough to do some interesting comparisons of various hosting alternatives.

@theganyo it works for me... I was originally running on my Chromebook but just verified that it works on a MacBook (with a small change to line 21 of the script). How did you run this?

./tests/benchmark/BENCH.sh needs +x perm set

I've found the issue. It's no coincidence that the errors are for ID 10: It's the default page size for the ListXXXCmd actions which are being used in wipeout.

Well, I thought the problem was with wipeout but it seems instead that the function passed to Run() gets called multiple times without cleaning up after itself. Fixing...

On another note re: schema. The wipeout code seems to make it clear we're not using foreign key constraints in the database? Manually maintaining DB integrity can be quite error prone... Shall I create an issue to address this?

@theganyo Agreed - after starting a wipeout_test.go, I'd prefer to add that in a separate PR because I expect a lot of discussion about the test structure.

Done (added pkg/README.md)


Change  in benchmarks script

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#612  👈
#611
#610
#609
#608
#607
#606
#605
#604
#603
#599
#596
#602
#595
#601
#594
#600
#593
#592
#591
dev

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @andrewmilson and the rest of your teammates on  Graphite

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

Project coverage is 92.19%. Comparing base (387b5dd) to head (ea76ec0).

Additional details and impacted files
@@                        Coverage Diff                         @@
##           05-02-Add_benchmarks_for_SIMD_m31     #612   +/-   ##
==================================================================
  Coverage                              92.19%   92.19%
==================================================================
  Files                                     84       84
  Lines                                  11783    11783
  Branches                               11783    11783
==================================================================
  Hits                                   10863    10863
  Misses                                   837      837
  Partials                                  83       83

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Selecting an item from references view is weired

re #33299

have code lenses in every file, e.g git lens
open reference search on something
double-click on an entry of a different file
the reveal often yields in bad results (see screen shot)

Fixed via e070afceabc88e57190697c9a79dc3ab3a98d3d5

@alexandrudima  It is still a little nervous. I guess we first reveal the viewport smoothly and then comes in the peek view (which we don't animate ;-))


Update version number in Readme

I went a different direction to avoid having to worry about this in the future. :-) Thanks.


Upgrade Rails to 7.2.0

For some reason, Dependabot hasn't opened a PR for this. This performs the upgrade manually. I'm not sure how we usually decide what to accept and reject from the output of rails app:update, so we might want to discuss that. I've roughly based it off upgrades to other apps we own, but they aren't entirely consistent and the decisions aren't documented
We want to keep this in sync with Bouncer's activerecord version: currently this is <IP_ADDRESS> on production, but 7.2.0 on main (the deployment is broken). See:

https://github.com/alphagov/bouncer/pull/551
https://github.com/alphagov/bouncer/pull/552

This application is owned by the publishing platform team. Please let us know in #govuk-publishing-platform when you raise any PRs.
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.

Trello: https://trello.com/c/LoTuJhEN/1312-fix-nomethoderror-arity-in-transition-rails-upgrade


Remove AssemblyInfo.cs from SampleConsole.csproj

Commit 30f6159 removed AssemblyInfo.cs files, but kept the reference in SampleConsole.csproj.
This results in a build error after a clean git clone. So this PR removes such reference.

Hello, @fschwiet
It's funny but after you approved this PR it didn't get automatically merged.
Is there something I need to do in order for this to proceed?

Hello, @fschwiet
It's funny but after you approved this PR it didn't get automatically merged.
Is there something I need to do in order for this to proceed?

Thanks for following up.  No I had just hit a snag with merging another pull request breaking the build scripts so I wanted to get rid of that before going further.
Be advised I did a hard reset on master.  So if you pulled since you'll have some crummy commits.

Thanks for following up.  No I had just hit a snag with merging another pull request breaking the build scripts so I wanted to get rid of that before going further.
Be advised I did a hard reset on master.  So if you pulled since you'll have some crummy commits.

I hope the hard reset didn't create a mess for you, I didn't really anticipate people might be pulling from this repo fequently.  I do appreciate the PR.

I hope the hard reset didn't create a mess for you, I didn't really anticipate people might be pulling from this repo fequently.  I do appreciate the PR.


Liking an object shows the "unlike" UI on all the replies

I think this is just a case of fixing up the JQuery selector.

Honestly I ran into some super weird issues trying to debug this locally (which I should probably look into...) but here's the relevant code:


Improvements to ORCA support

I simplified job-building for ORCA jobs, mainly related to setting the main settings. I also added support for Ghost atoms, which are needed to do counterpoise corrections/calculate the BSSE. ORCAJob now also tries to find the orca executable (we need the full path to run orca) by setting the default orca_path to "$(which orca)".

Thanks for checking! I think we should leave that to the user. It would then also depend on the cluster that the user is running the jobs on.


Add Code for OKC to group listings

Description: Code for OKC is a Code for America Brigade helping innovate government and make OKC better using the open web.
When: 4th Monday at 6:00 PM
Where: Prototek
Contact: website / twitter
The image can be pulled off our github profile if needed: https://github.com/codeforokc

YES!

thank you so much!!
On Fri, Jun 19, 2015 at 11:07 AM, Jesse Harlin<EMAIL_ADDRESS>wrote:

YES!
—
Reply to this email directly or view it on GitHub
https://github.com/techlahoma/techlahoma/issues/55#issuecomment-113559219
.

@seejessicacode has knocked this one out.


Allow for diacritics

Addressing https://github.com/roedoejet/AnyLanguage-Wordle/issues/18 raised by @awakenow1
Tests required.  @roedoejet  Comments on approach appreciated

thanks for this @bkmgit - I'm currently sick with covid and will check in about this later this week or next week when I'm hopefully feeling better.

No problem. Thanks for making this available and the great documentation. A deployment with diacritics is http://pinyin.kichakatokizito.solutions
@awakenow1 A possible Sanskrit version is available at https://github.com/bkmgit/AnyLanguage-Wordle/tree/Sanskrit It is deployed at http://sanskrit.kichakatokizito.solutions/ suggestions for improvements welcome.

Get well soon


OpenAPI specification

Describe the maintenance task
We currently use a REST-style API to communicate between client and server, but this API is not documented. OpenAPI is a standard for documenting API.
Describe why this task is necessary
Generate OpenAPI documentation, e.g. with drf-spectacular.
Additional context
This would allow us to automatically generate clients, e.g. using openapi-ts.

This is implemented in main thanks to @IoannisNezis (but not yet deployed).


Small fix for local storage

Ensure localstorage folder is exist during init.
Description
I found although localstorage interface support write or update method, they are not actually used. They do not check folder exist during init and calling write method when only provider uri is exist will cause error.
Motivation and Context
no
How Has This Been Tested?

[x] Pass the test by running: pytest qlib/tests/test_all_pipeline.py under upper directory of qlib.
[ ] If you are adding a new feature, test on your own test scripts.

Screenshots of Test Results (if appropriate):

Pipeline test:

(it is tested with temp fix from https://github.com/microsoft/qlib/issues/1547)
Your own tests:

Types of changes

[x] Fix bugs
[ ] Add new feature
[ ] Update documentation

@microsoft-github-policy-service agree


Implement SMTP client debug logging

Resolves #101.
Since we now have full control over the SMTP client we can also access the message input and output.
This PR introduces a new debug logging feature. Via the Client.WithDebugLog the user can enable this feature. It will then make use of the new smtp/Client.SetDebugLog method. Once the flag is set to true, the SMTP client will start logging incoming and outgoing messages to os.Stderr.
Log directions will be logged accordingly.

C --> S means Client to Server communication
C <-- S means Server to Client communication

Example:

Codecov Report

Merging #102 (ccbab59) into main (813020f) will decrease coverage by 0.27%.
The diff coverage is 64.51%.

@@            Coverage Diff             @@
##             main     #102      +/-   ##
==========================================
- Coverage   81.05%   80.78%   -0.28%
==========================================
  Files          20       20
  Lines        1837     1868      +31
==========================================
+ Hits         1489     1509      +20
- Misses        249      258       +9
- Partials       99      101       +2

Impacted Files
Coverage Δ

smtp/smtp.go
63.92% <55.55%> (-0.64%)
:arrow_down:

client.go
78.85% <76.92%> (-0.08%)
:arrow_down:

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

Instead of using the golang logger with not use an interface for the logger like for example:
type Logger interface {
	Errorf(format string, v ...interface{})
	Warnf(format string, v ...interface{})
	Debugf(format string, v ...interface{})
}

with mail.WithDebugLog(log) so that we can plug any logger that we want into the library?

Good point. I'll check what would be the best option here.


Add forceFetch option to ObservableQuery.refetch()

This allows to call refetch with forceFetch: false, to change the
variables of the watchQuery while still using the cached data if any.
See #442

Should we add a new method, setVariables?

Won't this duplicate code? Or we could find a better name for refetch?

Refetch just calls fetchQuery, so I think it would be only like 3 duplicated lines of code. I just think refetch is a very intuitive name, and it would be weird to add an option to make it not refetch.
Also, if you're using this in a Vue integration - react-apollo just unsubscribes from the previous query and calls watchQuery again if the variables change; any reason not to do that?

Gonna close this, PR, let's discuss more on the issue (which is by the way a duplicate of an existing one)


Metal Backend not properly loading large models at 16GB of RAM

Ran Phi 2 model with the metal features enabled and seems to hang with about 7% of GPU usage from Activity monitor. This seems to be recent as it ran at an adequate speed wit
h some earlier commit, not sure which though. Also ran with stable diffusion turbo and i'm getting these results:

The accelerate feature seems to be twice as fast as the metal one when this was not the case before.

+1 For phi 2 on my macbook pro M1

cpu has 2.29 token/s
metal has 1.46 token/s

I have a M1 pro 32gb. Metal: 7.30 token/s  vs accelerate: 2.28 token/s. Is it still slow for you?

Thanks ! Which branch are you referring to? When would you be merging it
with the main branch ?
On Mon, 15 Jan 2024 at 1:03 PM, ivarflakstad @.***>
wrote:

I have a M1 pro 32gb. Metal: 7.30 token/s vs accelerate: 2.28 token/s. Is
it still slow for you?
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/candle/issues/1568#issuecomment-1891465835,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXGU4CPJPZ2ZZ7KYC6B3SDYOTLSZAVCNFSM6AAAAABBW3QEXGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJRGQ3DKOBTGU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I'm on the main brain. That's why I'm asking if it is still slow for you :)

I haven't tried for a really long time. I was waiting for this issue to be closed as an indication for MPS usability. Is it ready to be used now ?

There is experimental Metal support. Not using MPS right now - might add it in the future as a fallback for compatability reasons at some point.
So yes there is mac gpu support, and you can definitely play around with it, but don't expect insane speeds yet as we haven't started optimizing. It'll get there though.

I have a M1 pro 32gb. Metal: 7.30 token/s vs accelerate: 2.28 token/s. Is it still slow for you?

Just pulled the latest commit. I'm getting less then a token/s if the phi model manages to fully load at all (sometimes just hangs) on my base 16 inch M2 Macbook Pro. The accelerate feature still outperforms on it on my machine with 1.38 tokens/s vs 0.64 on the metal one when it it manged to run. Perhaps there is some large loading of memory going on which favors your 32GBs of RAM? Also tried Stable Diffusion Turbo  and accelerate is still faster.

Memory could be the issue, but then I would expect your computer to be showing signs of that as you are running the model. Is it?
For comparison, could you run a phi-1 and see if the issue persists?

@bayedieng could you try out : https://github.com/huggingface/candle/pull/1523 maybe ?
It's possible for metal to be slower if there's not enough memory available to run the model I think, otherwise it doesn't make a lot of sense.
Potential culprits:
1/ Fences
2/ simd sizes
The PR I linked removes the fences. They were necessary (still are technically) to avoid bugs where kernels would spawn in non expected order, leading to differences in logits. However, I tried to remove them, and the model overall still behaves correctly on all platforms I could test one with a ~2x speedup on M3, therefore I went for it
2/ https://github.com/huggingface/candle/blob/main/candle-metal-kernels/src/lib.rs#L1314 Here is the code that makes choices on the simd sizes of the actual matmul. Choice of those values have a super high impact on the overall speed of models. And we do need to tune them for each machine ideally (M1, M2, M3, and depends on the RAM size too). However, I'm not sure how to do that generally enough for now. You could still probably play around with numbers and see how well it performs maybe. Also we might need a specialized gemv implementation for those A.B.t matmul (the current matmul is highly optimized for the general case, A B.t, can be optimized further on its own because all those fetches are aligned)

I get a quantized not covered error when running quantized phi 2. However, it does seem to be an issue with memory as phi 1.5 expectantly outperforms accelerate. Perhaps some of the values @Narsil mentioned for SIMD changed at some point making it less optimal for lower memory, because both phi 2 and stable diffusion turbo ran faster on metal then accelerate in the past.

because both phi 2 and stable diffusion turbo ran faster on metal then accelerate in the past.

The SIMD line is this single one: https://github.com/huggingface/candle/blob/main/candle-metal-kernels/src/lib.rs#L1277
Otherwise it's because of MPS usage (which we can't used because it' s bugged and doesn't  support arbitrary striding which is necessary in candle to work properly for all models.

@bayedieng I recently refurbished the buffer allocator for metal, which is now merged in main - would you mind checking if it has improved the issue? :)

I've attempted to run it and I am still dealing with the same issue, entire system lags and model still runs inference slowly. the accelerate framework is still outperforming metal.

Ok thanks. Could you try using cargo-instruments -t Allocations and share what it looks like? :)


Fix frameLayoutlayoutChildren crash

When use this lib in RecyclerView or ListView etc..., sometimes will crash at FrameLayout.
If you test this crash by yourself maybe you should test 1,000 times or more.
In my app, this crash is a fatal issue.

You can see the crash like this:
Fatal Exception: java.lang.NullPointerException
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:405)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
       at android.view.View.layout(View.java:15749)
       at android.view.ViewGroup.layout(ViewGroup.java:4880)
       at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:596)
       at android.view.View.layout(View.java:15749)
       at android.view.ViewGroup.layout(ViewGroup.java:4880)

It crash place depends on your Android os.
I try to find this crash for three months.
Finally, I fixed it.
Cheers,
HearSilent

@sephiroth74 Can you check about this? Thx :)

Curious about why delaying the removal of the view should fix the crash.

I find the solution in here.
https://github.com/bgogetap/StickyHeaders/issues/23

So you're saying that this is happening only when the tooltip is used inside a Recyclerview?
In this case why don't you setup the delay in the app itself for hiding/removing the tooltip? I'm saying this because I don't like to have a removeFromParent method which actually doesn't remove.

I think it happened when calling notifyDataSetChanged().
Maybe it's not the best solution, but I've not any idea to solve it.

I was looking for this fix also, but I haven't taken a look at PRs 😭
I've found only a closed issue https://github.com/sephiroth74/android-target-tooltip/issues/28 I think is a good idea to link issues in order to find solutions easily.
I'have also fixed the issue in a similar way, but only posting the parent remove if the layout is requested.
You can take a look a more detailed explanation of the problem in my PR https://github.com/sephiroth74/android-target-tooltip/pull/93

Did it fix?

Can you resolve the conflict?

It seems like not crash in latest version anymore.


Export multible symboles to the platform

Currently, an roc app can only provide one symbol (for example main) to the platform.
It would be nice, if multiple symbols could be provides.
See this zulip post.

sure, we have this enum already
#[derive(Debug, Clone, Copy)]
pub enum EntryPoint<'a> {
    Single(SingleEntryPoint<'a>),
    Expects { symbols: &'a [Symbol] },
}

where Single triggers a bunch of functions to be generated and exposed to the host, and Expects already deals with multiple symbols. I think it's as easy as adding a third variant to this enum that sort of combines the two, and then see where the errors lead you.

Done in https://github.com/roc-lang/roc/pull/7147


Psd2 Verify Snippet

Add PSD2 code snippets.

I think the same thing happened here that happened in the vonage-java repo. I will get that sorted out.


Partial use of Express Belt

I click the GUI, and change it to Express belt (and Medium pole), but the GUI selection is keeping the yellow belt, and adding express belt.
The blueprint that being generated using both belt.
I wish it only using one belt.
Edit : also happen in splitter usage (it used both)

I didn't see it documented anywhere, but you can drop a yellow belt in the GUI to make it "forget" the yellow belt.

M4rtini89 is correct, click with a transport belt to remove it from the list.
I've updated the in-game text and the readme, so hopefully it's clearer now.


Allow candidates to submit when they have free slot & conditions not met

Context
We have a support ticket where the candidate stated that can only add up to 3 applications (although the content says 4).
After an investigation I conclude the reason is that we are counting conditions not met as an unavailable slot for submission - meaning if the user has 4 conditions not met applications, the candidate can never apply ever - which is a bug because conditions not met is an unsuccessful state and not an in progress state.
Changes proposed in this pull request
Conditions not met should not be in the criteria for add more choices and should only be counted towards the max submission application.
Guidance to review

Does it work on the review app when you have conditions not met and it excluding from the slot availables for submission?

Documentations to refer to
docs/states.md
Link to Trello card
https://trello.com/c/JPqXmRKL/1541-bug-candidates-cant-submit-applications-when-they-have-x-conditionsnotmet-applications

 Apply: Investigate candidates that have exceeded the unsuccessful (18) limit


Avoid reset state when there is an error

Problem
The AdvertBreakEnd is not called properly after all adverts time out.
The reason is because we receive an AdvertBreakEnd with the information about the advert, then there is an error and we reset the information of the advert. Then at the end, because we have been reseting the advert info, the AdvertBreakEnd is skipped.
Solution
This is a temporal solution, I might revert this after further testing client side
Avoid reseting the state on advert
Test(s) added
This seems to work, but I might revert this change if we do not fully solve the issue on client side
Screenshots
No changes
Paired with
Nobody

I'm merging this for testing purposes


Canceling an in-app purchase of amazon app store results in error 6 instead of IABHELPER_USER_CANCELLED

Hello!
I think i have found an error in implementation of the amazon app store in app purchase.
In the OnIabPurchaseFinishedListener i have the following code:
        if (result.isFailure()) {
            if (result.getResponse() != IabHelper.IABHELPER_USER_CANCELLED) {
                alert(String.format(getResources().getString(R.string.purchase_failed), result.getMessage()));
            }

            return;
        }

The alert shouldn't appear if the user just cancel the in-app purchase - but it shows error 6 (Error) instead of -1005 (IABHELPER_USER_CANCELLED).
Testes on android with openiab <IP_ADDRESS> + amazon in-app-purchasing 2.0.61.
Any chance to check for cancellation of the purchase?
With best regards,
Juergen

Amazon SDK just doesn't report reason for error, there's nothing to be done until they fix it.

Oh ok, thank you.
Can you give me a fast if-code to check for the used market (if (market == AMAZON)) so i could change the output for amazon users to a more universal error message.
Thank you!
Juergen

Unfortunately there's no API for that. There are some historical reasons but it's not really relevant anymore.
Easiest way for you would be to use reflection to access appstore variable.
As a more general solution I'd recommend checking out https://github.com/onepf/OPFIab . There you can use BillingResponse#getProviderName() to check billing provider.

Ok, i will check this. Thank you!


mAP is zero

Hi,
I have a validation loss as low as 2.6, but mAP is 0. Why is that?

I am facing the same issue.

Hi,
Were you able to solve this. I am also having same issue.


support scheduled lambdas

@kristielim scheduled lambda can be async, current I see only Python SDK can create async Scheduled lambda
would be great if we can add async_req to resourceScheduledLambda schema

scheduled lambda can be async, current I see only Python SDK can create async Scheduled lambda  would be great if we can add async_req to resourceScheduledLambda schema

@ibrahimjelliti  the async_req is for the CreateScheduledLambda() call, not the invocation of the scheduled query lambda itself, which always is async (we have no synchronous invocation of a scheduled query lambda)


use of dynamic variables fails the script

I am trying to use dynamic values for xWebsite DSC resource but it fails.
Script SetWebsiteDefaults
{
            TestScript = {
                    return $false
            }
            SetScript = {
                $script:CurrentPhysicalPath = "e:\websites"
            }
            GetScript = { @{ Result = "Set the default configuration settings" } }

}

## Create the new Website
xWebsite NewWebsite
{
            Ensure             = "Present"
            Name               = $siteName
            State              = "Started"
            PhysicalPath       = $script:CurrentPhysicalPath
            DependsOn          = @("[Script]SetWebsiteDefaults")
}

In the above sample, I get an error for Physical path stating that -

"The PhysicalPath Parameter must be provided for a website to be created "

Here I have custom logic to construct the physical path. This sample above is just to showcase the flow but not the logic.
Is it something broken?

Changed my approach to use private helper function and it is working. Thanks!


Ability to set file extension -> syntax mapping at repo level.

I believe that it would be fairly easy to set repo level overrides in the .gitattributes so that I could claim that all .xyz file extensions should be treated/highlighted as OtherLanguage. Why does it not currently work this way?

Hi @jordwalke. This is already works for the repository statistics (see https://github.com/github/linguist#using-gitattributes) but unfortunately this currently doesn't work for syntax highlighting (see https://github.com/github/linguist/issues/1792)


[Feature]:  Add the Firebase Course

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Hello @Ajay-Dhangar ,

In this project /course section if the firebase course click the course cannot open 404 page not found.
Could you please assign me.
i will add on the course.
please assign me..

Use Case
Screencast from 2024-07-20 11-32-08.webm
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@sivaprasath2004, after some time we create, but at this time you can work on other tasks instead of course creation because we need to maintain our content in a very structured way and avoid creating complexity between us.


Investigate solution for GDAL native libraries on Mac

Right now the raster demo in the quickstart guide does not work on Mac because the GDAL native libraries are no longer available.  They used to be available via homebrew, but that solution is no longer valid because the version of GDAL that is required is no longer available.

This required going down a number of rabbit holes but I finally found a solution:

Install Apache Ant (1.9.14 was used)
Obtain GDAL source code for 1.9.2 (This is the version that was used by it.geosolutions to build imageio-ext-gdal-bindings-1.9.2).
Obtain source code for SWIG 1.3.40 and build and install (This version of SWIG is required to build the native libraries that are used by the Java bindings)
Obtain source code for Postgres 9.2.24 and build and install (This is required to build GDAL with the configuration mentioned in the next step).
cd to the GDAL source directory and configure the build with the following settings (make sure --with-java and --with-pg options point to the locations on your machine.) ./configure --with-threads --disable-static --without-grass --with-jasper=/Library/Frameworks/UnixImageIO.framework/unix \ --with-libtiff=/Library/Frameworks/UnixImageIO.framework/unix --with-jpeg=/Library/Frameworks/UnixImageIO.framework/unix \ --with-gif=/Library/Frameworks/UnixImageIO.framework/unix --with-png=/Library/Frameworks/UnixImageIO.framework/unix \ --with-geotiff=/Library/Frameworks/UnixImageIO.framework/unix --with-sqlite3=/Library/Frameworks/SQLite3.framework/unix --with-odbc \ --with-pcraster=internal --with-geos=/Library/Frameworks/GEOS.framework/unix/bin/geos-config --with-static-proj4=/Library/Frameworks/PROJ.framework/unix \ --with-expat=/usr/local --with-curl --with-python --with-java=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/contents/home \ --with-macosx-framework --with-pg=/usr/local/pgsql/bin/pg_config \ CFLAGS="-Os -arch x86_64" CXXFLAGS="-Os -arch x86_64 -fpermissive" LDFLAGS="-arch x86_64"
run make followed by sudo make install
copy the built version of GDAL to GeoWave directory e.g. applications/GeoWave/lib/utilities/gdal
cd to {gdalSourceDirectory}/swig
edit the SWIG variable in SWIGMake.base to point to the swig 1.3.40 executable
cd to the java sub-directory and edit all vars in java.opt to point to your runtime (I used jdk 1.8).
run make
copy all files from .libs folder to the base GeoWave GDAL directory e.g. applications/GeoWave/lib/utilities/gdal

This issue is resolved with PR #1722


ENH;Clean up mne tfr

More cleaning up in preparaiton for future developments.
cc @agramfort @Eric89GXL

some quick review would be nice. The code changes here will lay the fundament for future developments, i.e., alternative TFR estimators, functions to iterate over raw (not power or PLV) source TFRs, etc.

Looks reasonable to me. I think it's fine to iterate on the private functions as the use cases arise if need be, too.

Thanks @Eric89GXL, not done yet. API is missing for returning single trials. Currently the innermost function is still accumulating.

... the simplest would be a yield statement, depending on the outputmode. Either accumulate or yield the single trial TFR.

ping us when ready to review.

ping, we now have at the lowest level a function that computes the single trial TFR + PLV preparation.
upstream the functions should now look cleaner. A single trial TFR return function could now be easily conceivable as generator around (_single_epoch_tfr(e, *args) fo e in epochs)

@Eric89GXL numpy seemlingly does more than just computing the power, with the python raw syntax you get nans. I keept it as it is now.

I'm done for now. Can we merge this?

@dengemann I'm not sure if hiding nans is a feature in this case. Can you investigate why they come up? It might indicate some bug with our code. It's probably better to explicitly mask the nan values, if that's what we want to do, than let a numpy function silently (and unknown to us up until now!) do it for us.

I'll open a separate issue because it isn't really part of your work here.

Thanks @dengemann, I assume you have some other PRs to follow?

Yes, moving in small steps ;)
On Tue, Sep 8, 2015 at 4:17 PM, Eric Larson<EMAIL_ADDRESS>wrote:

Thanks @dengemann https://github.com/dengemann, I assume you have some
other PRs to follow?
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/2456#issuecomment-138574383
.


Handle platforms where c_int is not i32

This PR adds a CI job that tests compatibility with an avr target (16-bit) and fixes code that assumes that c_int is always i32.
Replaces:

https://github.com/trussed-dev/littlefs2/pull/68

One remaining problem is that some functions cast u32 return values to usize.  In most cases that should be fine because the return value is limited by the length of the input buffer and thus fits into a usize.  One notable exemption is seek.  But let’s review and fix that separately.

Yeah, since rebasing onto main the CI fails, but the same commands worked before.  Not sure why it fails now:
error: "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/Cargo.lock" does not exist, unable to build with the standard library, try:
        rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu

But we already installed rust-scr for that toolchain:
rustup toolchain install --profile minimal --component=rust-src nightly
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: latest update on 2024-08-08, rust version 1.82.0-nightly (8b3870784 2024-08-07)
info: downloading component 'cargo'
info: downloading component 'rust-src'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: installing component 'cargo'
info: installing component 'rust-src'
info: installing component 'rust-std'
info: installing component 'rustc'

  nightly-x86_64-unknown-linux-gnu installed - rustc 1.82.0-nightly (8b3870784 2024-08-07)

And another rebase fixed it. :thinking:


Use $facts hash for osfamily as $::osfamily doesn't exist any more

Pull Request (PR) description
Replacing $::osfamily as running tests against Puppet 6 suggest it no longer exists, and instead only exists in $facts

@dhoppe thanks for the feedback. Just pushed an update to that.

I don't mind updating to use the facts hash (it's preferred over topscope variables), but am intrigued as to why you think $::osfamily doesn't exist anymore.
[root@test ~]# puppet --version
6.4.0
[root@test ~]# puppet apply -e 'notice($::osfamily)'
Notice: Scope(Class[main]): RedHat
Notice: Compiled catalog for test.example.com in environment production in 0.02 seconds
Notice: Applied catalog in 0.50 seconds

I think what happened was that I ran tests in a module which used logrotate, but I actually hadn't defined the facts, and didn't realise that I needed to define any used facts when running my own test suite. So my original premise is actually wrong.
/me feels a bit of a fool now

Ah, ok.  That makes sense.  I think we'll still merge this as the change is an improvement.
For mocking facts in your own modules, I highly recommend https://github.com/mcanevet/rspec-puppet-facts
And you're not a fool!  Puppet testing can be tricky.  Thanks for getting involved and opening a PR.


UnitTest localization bugs

UnitTest localization problems
Five UnitTests have problems on some non-english systems (at least in German, French, Italian and Spanish) and will fail although they shouldn't. This is due to differently named system accounts in different languages and different decimal separators in different language cultures.
I would have already fixed the problem in those UnitTests and have already created a pull request to the master branch of this repository: https://github.com/microsoft/azure-pipelines-agent/pull/3473
The pull request needs to be reviewed and accepted.
Failing UnitTests
Microsoft.VisualStudio.Services.Agent.Tests.Listener.Configuration.ArgumentValidatorTestsL0.WindowsLogonAccountValidator
Fails on some non-english Windows systems with message: Expected: True/Actual: False; Assert.True() Failure
Reason: On some non-english Windows systems (German, French, Italian and Spanish) the local service account is named differently, this should be taken into account (pun intended).
The different account names are:

German: NT-AUTORITÄT\LOKALER DIENST
French: AUTORITE NT\SERVICE LOCAL
Italian: NT AUTHORITY\SERVIZIO LOCALE
Spanish: NT AUTHORITY\SERVICIO LOC

Test.L0.Listener.Configuration.NativeWindowsServiceHelperL0.EnsureGetDefaultServiceAccountShouldReturnNetworkServiceAccount
Fails on some non-english Windows systems with message: Expected: True/Actual: False; If agent is getting configured as build-release agent, default service accout should be 'NT AUTHORITY\NETWORK SERVICE'
Reason: On some non-english Windows systems (German, French, Italian and Spanish) the network service account is named differently, this should be taken into account.
The different account names are:

German: NT-AUTORITÄT\NETZWERKDIENST
French: AUTORITE NT\SERVICE RÉSEAU
Italian: NT AUTHORITY\SERVIZIO DI RETE
Spanish: NT AUTHORITY\SERVICIO DE RED

Test.L0.Listener.Configuration.NativeWindowsServiceHelperL0.EnsureGetDefaultAdminServiceAccountShouldReturnLocalSystemAccount
Fails on some non-english Windows systems with message: Expected: True/Actual: False; If agent is getting configured as deployment agent, default service accout should be 'NT AUTHORITY\SYSTEM'
Reason: On some non-english Windows systems (German and French) the system account is named differently, this should be taken into account.
The different account names are:

German: NT-AUTORITÄT\SYSTEM
French: AUTORITE NT\SYSTEM

Microsoft.VisualStudio.Services.Agent.Tests.Worker.CodeCoverage.CoberturaSummaryReaderTests.VerifyCoberturaCoverageStatisticsForValidSummaryFile
Fails on some non-english Windows systems with message: Expected: 2/Actual: 24; Assert.Equal() Failure
Reason: On some non-english Windows systems (for example: German) the decimal separator in numbers isn't a point (but, for example, a comma). However, the hard coded test xml uses a point as the decimal separator for all numbers. It is assumed that the coverage tool will generate an xml with decimal separators according to the culture of the installed system, so the test xml should be adapted according to the culture of the installed system as well. The UnitTest should work fine after this adaption as the code already handles it that way.
Microsoft.VisualStudio.Services.Agent.Tests.Worker.TestResults.XUnitResultReaderTests.ReadResultsReturnsCorrectValues
Fails on some non-english Windows systems with message: 1042.2319/Actual: 1042,2319; Assert.Equal() Failure
Reason: On some non-english Windows systems (for example: German) the decimal separator in numbers isn't a point (but, for example, a comma). However, the hard coded test xml uses a point as the decimal separator for all numbers. It then generates strings out of numbers and compares those to the values read in from the test xml. However, those then might differ if the culture of the installed system does not use a point as the decimal separator. To be sure to generate the correct string out of numbers so the comparison won't fail we have to specifically state which decimal separator (the point) we want to use when generating a string out of numbers in the UnitTest.
Agent Version and Platform
Latest master source code (since it's UnitTests) or latest version v2.189.0 of the agent.
OS of the machine running the UnitTests: Windows
Language of machine running the UnitTests: German, French, Italian, Spanish (potentially other languages if decimal separator isn't a point in those languages)
UnitTest output
[xUnit.net 00:00:02.9401910]   Discovering: Test
[xUnit.net 00:00:03.4152420]   Discovered:  Test
[xUnit.net 00:00:03.5566454]   Starting:    Test
[xUnit.net 00:00:04.3653681]       If agent is getting configured as deployment agent, default service accout should be 'NT AUTHORITY\SYSTEM'
[xUnit.net 00:00:04.3657665]       Expected: True
[xUnit.net 00:00:04.3660228]       Actual:   False
[xUnit.net 00:00:04.3725354]       Stack Trace:
[xUnit.net 00:00:04.3737561]         D:\GitHub\echalone\azure-pipelines-agent\src\Test\L0\Listener\Configuration\NativeWindowsServiceHelperL0.cs(54,0): at Test.L0.Listener.Configuration.NativeWindowsServiceHelperL0.EnsureGetDefaultAdminServiceAccountShouldReturnLocalSystemAccount()
[xUnit.net 00:00:04.4199174]       If agent is getting configured as build-release agent, default service accout should be 'NT AUTHORITY\NETWORK SERVICE'
[xUnit.net 00:00:04.4201525]       Expected: True
[xUnit.net 00:00:04.4202063]       Actual:   False
[xUnit.net 00:00:04.4203190]       Stack Trace:
[xUnit.net 00:00:04.4204858]         D:\GitHub\echalone\azure-pipelines-agent\src\Test\L0\Listener\Configuration\NativeWindowsServiceHelperL0.cs(36,0): at Test.L0.Listener.Configuration.NativeWindowsServiceHelperL0.EnsureGetDefaultServiceAccountShouldReturnNetworkServiceAccount()
[xUnit.net 00:00:04.5100850]       Assert.Equal() Failure
[xUnit.net 00:00:04.5101459]                     ↓ (pos 4)
[xUnit.net 00:00:04.5104088]       Expected: 1042.2319
[xUnit.net 00:00:04.5104636]       Actual:   1042,2319
[xUnit.net 00:00:04.5105159]                     ↑ (pos 4)
[xUnit.net 00:00:04.5106731]       Stack Trace:
[xUnit.net 00:00:04.5107625]         D:\GitHub\echalone\azure-pipelines-agent\src\Test\L0\Worker\TestResults\Legacy\XUnitResultReaderTests.cs(215,0): at Microsoft.VisualStudio.Services.Agent.Tests.Worker.TestResults.XUnitResultReaderTests.ReadResultsReturnsCorrectValues()
[xUnit.net 00:00:05.8140472]       Assert.Equal() Failure
[xUnit.net 00:00:05.8141035]       Expected: 2
[xUnit.net 00:00:05.8141383]       Actual:   24
[xUnit.net 00:00:05.8141845]       Stack Trace:
[xUnit.net 00:00:05.8142493]         D:\GitHub\echalone\azure-pipelines-agent\src\Test\L0\Worker\CodeCoverage\CoberturaSummaryReaderTests.cs(167,0): at Microsoft.VisualStudio.Services.Agent.Tests.Worker.CodeCoverage.CoberturaSummaryReaderTests.VerifyBranchCoverageStats(List`1 coverageStats)
[xUnit.net 00:00:05.8143303]         D:\GitHub\echalone\azure-pipelines-agent\src\Test\L0\Worker\CodeCoverage\CoberturaSummaryReaderTests.cs(40,0): at Microsoft.VisualStudio.Services.Agent.Tests.Worker.CodeCoverage.CoberturaSummaryReaderTests.VerifyCoberturaCoverageStatisticsForValidSummaryFile()
[xUnit.net 00:00:06.4075994]       Assert.True() Failure
[xUnit.net 00:00:06.4076571]       Expected: True
[xUnit.net 00:00:06.4077016]       Actual:   False
[xUnit.net 00:00:06.4077498]       Stack Trace:
[xUnit.net 00:00:06.4078355]         D:\GitHub\echalone\azure-pipelines-agent\src\Test\L0\Listener\Configuration\ArgumentValidatorTestsL0.cs(59,0): at Microsoft.VisualStudio.Services.Agent.Tests.Listener.Configuration.ArgumentValidatorTestsL0.WindowsLogonAccountValidator()
[xUnit.net 00:00:16.8175986]   Finished:    Test
PS: I'm reopening/readding this issue since https://github.com/microsoft/azure-pipelines-agent/issues/3481 was wrongfully closed by a stale-bot, it's not really stale, it just hasn't been processed yet

Hi @echalone!
Thank you again for noticing it, if you know how to fix it, please, fill free to create pr, we will test & review it, otherwise, we will fix unit tests for this cases once we will have a little bit more time.

Hi @echalone
Thank you again for noticing that and thanks a lot for the PR, we will test & review it when we will have a little bit more time.

Hi @echalone. Many thanks for your reporting and PR. I reviewed and tested your code, it is OK.
I mentioned it in PR itself but somehow it is missed.
Your PR is for two issues same time. Could you please separate it to two PRs? It will be easy to merge one by one.
Thanks

Hello @ismayilov-ismayil
Thank you for your time! I will happily do so as soon as I am able to again. I'm currently in hospital with a severe condition and it will probably take a few weeks until my health is fully restored again. I hope it's ok if I'll take my time and will come back to you with the adapted PRs then :)

Hi @echalone.
No worries, get well soon!

Hi @echalone
I hope everything is going well for you.
Did you have a chance to complete this PR?

Hello @ismayilov-ismayil
Thank you, I'm back for a few weeks now though I was out for a few months. So I'm rather busy with the most pressing topics in our company right now but am planning to come back to this as soon as possible, hopefully in the next few weeks :)

Hello @ismayilov-ismayil, according to your suggestion I have now recreated the pull request for these changes. It previously contained other changes too and in the new pull request these changes have been isolated and now only contain the changes needed to fix this bug. New pull request is here: https://github.com/microsoft/azure-pipelines-agent/pull/4216
Thank you for your suggestion.

not stale

Once upon a time, in the kingdom of the azure-pipeline-agent repository, there lurked a mischievous creature known as the GitHub Stale Bot. This bot had a peculiar habit of labeling open pull requests and feature requests with a "stale" label after half a year of inactivity. And if that wasn't enough, it would ruthlessly close these issues after another week if nobody dared to utter a word in their defense. The developers of the azure-pipeline-agent repository lived in constant fear of this relentless bot. They would toil away at their keyboards, creating magnificent lines of code, only to have their creations labeled as "stale" and cast aside into the abyss of forgotten tickets.  As the deadline approached, and passed, for the bot to strike, we sprung into action. We crafted a comment so clever, so witty, that even the most heartless of bots would have to pause and reconsider its actions. The comment echoed through the digital halls of GitHub, reaching the circuits of the Stale Bot's mechanical heart. And to nobody's surprise, the bot replied: "removed the stale label"
From that day forward, we became a legend in the kingdom of the azure-pipeline-agent repository. Whenever the GitHub Stale Bot threatened to strike, developers would flock to us for advice on crafting the perfect comment to save their creations.
This is that comment.
This is our story.


[FEATURE] Request a secret

Description
Add the ability to send a link requesting a secret that then gets shared back to a pre-configured destination (email/webhook)
Screenshots
No response
Additional information
No response

We need to collect a secret from someone and want to do so securely. Hemmelig solves nicely for us sending ephemeral credentials to people but we don't want to allow unrestricted secret creation and we don't want to create accounts for every third party or end user we need a secret from so what we're looking for is:
We'd essentially be sending a Hemmelig link to someone which can bypass login requirements and allow them to create a secret with the link to the completed secret going back to the person who generated the initial link.
An example commercial tool serving this need: https://contentsnare.com/
This isn't a need we have often but enough that having a tool which can do this would be useful. Also open to frame challenge here - maybe we can do this already and just need to tweak how we plan to use Hemmelig.

I see. Seems like a great feature. Will come back to you on this. Thanks :)


Singularity installation fails

I'm trying to install this tool using singularity by running the apptainer command as described in the README. However, it fails collecting bed-reader. This is the message error:

Collecting bed-reader>=0.2.5 (from pysnptools==0.5.7)
Downloading bed_reader-1.0.5.tar.gz (2.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 47.7 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [6 lines of output]

Cargo, the Rust package manager, is not installed or is not on PATH.
This package requires Rust and Cargo to compile extensions. Install it through
the system's package manager or via https://rustup.rs/

Checking for Rust toolchain....
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
FATAL:   While performing build: while running engine: while running %post section: exit status 1

I have installed cargo (as described here), just in case this fixed the issue, but it does not.
A related, perhaps related error us the following, which appears earlier in my log file. This is a failure from pip to install all packages due to dependency issues.

Installing collected packages: scipy
Attempting uninstall: scipy
Found existing installation: scipy 1.10.1
Uninstalling scipy-1.10.1:
Successfully uninstalled scipy-1.10.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
jax 0.4.6 requires scipy>=1.5, but you have scipy 1.4.1 which is incompatible.
Successfully installed scipy-1.4.1

But I am not sure this is relevant to the failure in building the image, since scipy seems to be installed despite the error.

Thanks, this solves the problem of creating the image.
However, the image is not able to reproduce the examples provided in the README. Running any of the examples results in a message indicating that the packages docopt and tensorflow are not installed. The former can be installed without issue from within the container, but the installation of tensorflow breaks.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
aiobotocore 2.13.1 requires aiohttp<4.0.0,>=3.9.2, which is not installed.
scipy 1.6.2 requires numpy<1.23.0,>=1.16.5, but you have numpy 1.24.3 which is incompatible

Hmm, both TensorFlow and docopt should be available from within the container image, once installed correctly.
The container is built on NVIDIA NGC TensorFlow container (https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tensorflow) which has  tensorflow pre-installed. And if building the image returned no errors, then docopt should also be available. You should not have to install any other packages from within the container
How are you using the image? I realize now it doesn't explicitly say how this is done in the README.
To check if the image has TensorFlow installed, you can run this:
singularity exec image.sif python3.10 -c  "import tensorflow as tf ; print(f'Imported Tensorflow version {tf.__version__}')"
This works for me, after having created the image using the updated definition file.
To run the codes, I usually start a shell using the image, from which you should be able to run the code.
This can be done by running:
singularity run --nv /path/to/image.sif

================
== TensorFlow ==
================
NVIDIA Release 24.05-tf2 (build 91418384)
TensorFlow Version 2.15.0
Container image Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
Copyright 2017-2024 The TensorFlow Authors.  All rights reserved.
Various files include modifications (c) NVIDIA CORPORATION & AFFILIATES.  All rights reserved.
This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

And then running, in the gcae folder, for example
python3 run_gcae.py train --trainedmodeldir=./test  --datadir=Data/dog --model_id=CM_2D_test --data=All_Pure_150k --train_opts_id=ex3_CL --data_opts_id=d_0_4_dog_cont --save_interval=5 --epochs=100
Or, you can use the image and call the Python script in one line, like this:
singularity exec --nv  /path/to/image.sif python3 run_gcae.py train --trainedmodeldir=./test  --datadir=Data/dog --model_id=CM_2D_test --data=All_Pure_150k --train_opts_id=ex3_CL --data_opts_id=d_0_4_dog_cont --save_interval=5 --epochs=100
The --nv flag is to set up the use of cuda-enabled devices, if you have an NVIDIA GPU.
If this does not work, or this is what you already tried I apologize for misunderstanding, please let me know and I can try to help get this sorted out.

Thanks for the feedback. I can confirm that both tensorflow (and docopt) are installed in the image by using your singularity exec command.
However, when I run the image, and then run python3 gcae/run_gcae.py from within the container, the following error message appears:

Traceback (most recent call last):
File "/home/elcortegano/CLtest/ContrastiveLosses/gcae/run_gcae.py", line 33, in
from docopt import docopt, DocoptExit
ModuleNotFoundError: No module named 'docopt'

And if docopt is installed, tensorflow comes next with the error.
To clarify the issue, the steps I am following are:
sudo apptainer build image.sif image.def  # no errors (but some warnings)
apptainer run --nv image.sif  # also tried with singularity, and removing the --nv flag

Apptainer> python3 ./gcae/run_gcae.py  # this returns the error, which also appears using the full line command with run_gcae.py train. Also tried with python rather than python3

Okay, thank you. It does seem weird that the packages can be found in one case, but not when calling the other script. Could it be the case that python3 is an alias for a specific Python version on your machine?
The image is shipped with Python 3.10.6, and the package installations are done for 3.10, I'm pretty sure. Since the line
singularity exec image.sif python3.10 -c  "import tensorflow as tf ; print(f'Imported Tensorflow version {tf.__version__}')"
worked, where we explicitly state to use python3.10, could you try to run the code with python 3.10? This is the only thing I can think of right now that is different between the two lines.
So, maybe try the following:
 python3.10 ./gcae/run_gcae.py
Sorry for this  hassle, and thank you for your patience.

Great! Now I think it's just a small thing -- there is no argument supplied for --save_interval. Set it to something reasonable in relation to the number of epochs. Saving too often can take up a lot of storage space, depending on the model used.
So, the following should (hopefully) work:
python3.10 run_gcae.py train --trainedmodeldir=test --datadir=Data/dog --model_id=CM_2D_test --data=All_Pure_150k --train_opts_id=ex3_CL --data_opts_id=d_0_4_dog_cont **--save_interval=5** --epochs=10

Now I had the opportunity to test the tool and it works quite well! thank you very much, and congratulations for the new method. It looks promising.

Glad to hear you got it working :)
Thank you very much for your patience with this, and for testing it. This was the first time (to my knowledge) it was tested externally, so I'm grateful that you helped me work out the kinks.  I will make sure to update the page to make it more clear.