Use numeric uid/gid with chown

Because chown does not work if the name includes a dot, like "firstname.lastname".
See also https://github.com/lima-vm/alpine-lima/pull/13
Fixes https://github.com/rancher-sandbox/rancher-desktop/issues/605

I first missed this, but the issue affects all guest OSes, not just Alpine.

I first missed this, but the issue affects all guest OSes, not just Alpine.

Hmm, testing on Ubuntu shows that its chown handles dots in usernames fine.
coreutils documentation states:

Some older scripts may still use ‘.’ in place of the ‘:’ separator. POSIX 1003.1-2001 (see Standards conformance) does not require support for that, but for backward compatibility GNU chown supports ‘.’ so long as no ambiguity results. New scripts should avoid the use of ‘.’ because it is not portable, and because it has undesirable results if the entire owner‘.’group happens to identify a user whose name contains ‘.’.

So using numeric uid/gid seem safer on all OSes.


The mAP results are not that good

Hello, I will follow your method for the search phase first, followed by the enhancement phase. However, the results of the enhancement phase are not as good, with only 50.6 mAP, which is far from the 58.4 mentioned in your paper
class     | gts   | dets   | recall | ap    |
+-----------+-------+--------+--------+-------+
| aeroplane | 1738  | 94153  | 0.861  | 0.463 |
| bicycle   | 1046  | 79408  | 0.714  | 0.400 |
| bird      | 95339 | 230954 | 0.820  | 0.748 |
| boat      | 537   | 76612  | 0.685  | 0.298 |
| bottle    | 12309 | 107673 | 0.741  | 0.594 |
| bus       | 787   | 79871  | 0.764  | 0.467 |
| car       | 5029  | 117842 | 0.884  | 0.569 |
+-----------+-------+--------+--------+-------+
| mAP       |       |        |        | 0.506

Hello, may I ask why the class category displayed in the final result is different from the CLASSES parameter in the gnas_search_faster rcnn_r101_fpn_1x_coco. py file

您的来信已收到。

@Xingjie-Han Although the displayed classes are different, the quantitative results are correct for each class. You can check mmdetection documents for further instructions to solve this problem. Thank you.


npm request has been deprecated

Summary

Simplest Example to Reproduce

request({
  method: 'GET',
  url: 'http://example.com', // a public URL that we can hit to reproduce, if possible
  more: { 'options': 'here' }
},

Expected Behavior

Current Behavior

Possible Solution

Context

Your Environment

software
version

request

node

npm

Operating System

https://github.com/request/request/issues/3142#issuecomment-592091158


Is it possible to get entities by their common interface?

interface IMyComponentBase implements Component {}

class Derived1 implements IMyComponentBase {}
class Derived2 implements IMyComponentBase {}

engine.getEntitiesFor(
    Family.all(IMyComponentBase.class).get() // not working
);

I have this problem too, It only returns the first entity that matches the specified family.

@xahon you can't do that, components are registered by its concrete class.
and what you want to do is against ECS principle IMO.

@mgsx-dev may be you're right. I still haven't stopped thinking in OOP style but right now I can't give you an example for this problem

I'm a bit late to the party, but maybe you will find it useful. Family is a powerful tool, you still can put all required component classes manually under any rule and get pretty the same result. If you prefer, a bit of automation could be achieved with reflection.


GPU instancing support in the framework & demo features

I was wondering what plans there are for supporting GPU instancing in the framework types. Currently it seems that you can only do it with the low level API. I have a few observations, but I'm not an expert in any of this.
Using the vertex buffer style, the RafxVertexAttributeRate flag should be exposed inside VertexDataSetLayoutInner in vertex_data.rs, so that users can set it to RafxVertexAttributeRate::Instance, and later on get_or_create_graphics_pipeline would use it. This change would propagate by adding extra params to the builder in vertex_data.rs and so on, but it's fairly minimal I think.
Concerning the demo "mesh" feature, the PBR shader would be duplicated along it's material. This causes a problem with the GLTF importer which hardcodes the usual material, but can be overridden in the prepare job. You would perhaps have a flag in your ECS component saying "use GPU instancing" and the prepare job would group these together and override the material with the instanced variant. Duplicating shaders is messy. Maybe you could use includes or defines.
Then there is the dynamic uniform buffers method. This would have the great advantage, I belive, of reusing the shaders and materials (and descriptor sets, you'd just re-bind at a different offset), and could become an "aspect" available to all custom shaders for free, but there is that size limitation of 16384 for the buffer, if I recall correctly.
So maybe both methods could be available, the dynamic uniforms for PBR materials, where you probably do not need a very large number of instances (or you could use multiple buffers?), and exposing RafxVertexAttributeRate for foliage, where
you probably do not want to reuse the PBR shader anyway (but you'd still need shadows, depth prepass??).
For starters, I would like to make a PR with the exposing RafxVertexAttributeRate part (in case I get it working with my features) so I don't have to maintain a fork just for this until proper support is added. This seems to be in line with the style of this library (offering abstractions without hiding the low level stuff). Would that be ok?

I'm closing this as it's mostly a question, better belonging to the discussions tab or a discord channel.

Hey, I meant to leave a comment and forgot! Regarding instancing, I haven't personally done much with it so I don't completely confident in how it should work beyond the API level. However, I think your suggestion to add RafxVertexAttributeRate to VertexDataSetLayoutInner makes sense. Maybe we should hook it up in GraphicsPipelineCache::graphics_pipeline right before calling get_or_create_graphics_pipeline?
As far as instancing in the demo, I would expect we'd want to have an array of transform matrices (maybe some other data too) in a uniform. I could also see material definitions in an array and using a dynamic uniform to grab those. I think some of this would depend on how "modern" of a pipeline is being targeted. I'm hoping to merge a GLES 2.0 backend in the next few days and it may have limited support for some of this.
Over the next few months, I'm hoping to lock down how many "tiers" of hardware support (i.e. a basic pipeline with no compute shaders vs. a modern pipeline that does have compute shaders) we want to target.
Anyways, the PR you suggested sounds like a good change. :)
Also, questions here are fine! At some point we may enable GitHub discussions or something, but I'd like to focus on maturing the library a bit more before starting a "community." :)

Thanks for answering.

I'd like to focus on maturing the library a bit more before starting a "community. :)

That's why I closed the issue. I'm aware large refactorings are in the works (I've read all bevy discord chats etc) and do not want to interfere with my problems or PRs before this gets to that magical, most perfect & production ready 0.1 status :). I understand this is also the reason that the features in the demo are not published into their own crate, even as most users would need them.
For my project (RTS) I took inspiration from the oxidator demo which renders (wgpu) each independently moving part of each model GPU instanced and even with 35K models in the scene it barely registers on the CPU side and GPU is ~50%. But it's just basic blinn phong with no shadows, and shader sampled hightmap (and bulk state replication netcode). I try to recreate that within the proper pbr pipeline here (targeting what you call "modern" above) and find out what's the best way to do it. But I really don't want to obstruct library work except for that minimal PR mentioned.

Re-opening to close with https://github.com/aclysma/rafx/pull/148.

Clever. So you avoid allocating descriptors per instance (the most likely cause of being CPU bound) and also duplicating the shader into "shader variants", by always sending instance transforms as attributes with per instance rate, but just draw one instance in this case. The mesh feature could be generalized later for draw_instanced.
As a side note, I saw in oxidator that they reduce the size of attributes by only sending position & Euler angles and compute the mat4 in the shader. You can avoid gimbal lock on the CPU side by adding some constraints to your game, or you can draw the locked ones in a secondary pass where you do send the mat4s. This would require "shader variants" though. No idea if it's worth it.
I like the material override, only wish there would also be a mesh override to support rendering procedurally generated meshes (from voxels, sdfs) without needing to add a new distill importer for MeshAsset (which could cause serialization overhead?).
Anyway, thank you DVD!


illust's tags missing in custom message format configuration

Hello, I'm trying to use the bot message format configuration following the guide but my only issue is the bot is not writing tags in message.
My custom format is like this:
%• Source\: [%url%](%url%)%
%• Title\: [%title%](%url%)%
%• Artist\: [%author_name%](%author_url%)% \(%author_id%\)
%• ID\: %id%%
%• Tags\: %tags%%
\#pixiv %NSFW|#NSFW
%p%

I will show an example of the issue with this illustration.
The preview on the guide works fine:

But in Telegram looks like this:

Side note: In preview the ID of the illustration is missing but it works anyway in bot.

Tags will be shown with /s +tags configuration.

Nice, it works! Thanks


[Feature] Add to_spiketrain_list() to BinnedSpiketrain object

Feature
Currently, the conversion module can convert Spiketrain to a matrix, but the reverse conversion is not possible. Needed would be a member function to_spiketrain_list().
Motivation
See #309

We have lst_input property of a BinnedSpikeTrain that stores the input spike train, so to_spiketrain_list() function should be just .spiketrains property.
I agree with renaming lst_input -> spiketrains. I never noticed how the input spiketrains are stored. Whatever reasons there were to call it like this, the name is surely misleading.
I'll fix it gracefully.

I see what you mean now. The input can be already a binned matrix. Then .spiketrains property is not a list of SpikeTrains. OK, let's discuss this during one of our meetings.


Serverless event driven Riff with Kafka

Hello Riff Team,
First of all, thank you a lot for this very interesting project.
I have been following Mark Fisher and Dave Syer talks, and learned a lot on this project.
Currently, I am working on a use case, which uses Kafka messages as trigger of the functions.
Josh, Mark, Dave and many more did some demos, but it is with the old riff version.
Furthermore, I am having a specific case, which I would like your help.

Current project:

I have a Spring Cloud Function project, very basic. https://github.com/patpatpat123/riffquestion/tree/master/src/main/java/some/github/question
@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

public class FirstFunction implements Function<Flux<Foo>, Flux<Bar>> {
    @Override
    public Flux<Bar> apply(Flux<Foo> fooFlux) {
        return fooFlux.map(oneFoo -> new Bar(oneFoo.getSomeFoo().toUpperCase()));
    }
}

public class SecondFunction implements Function<Flux<Foo>, Flux<Bar>> {
    @Override
//    @StreamListener(MultipleProcessor.NUMBERTWO)
//    @SendTo(MultipleProcessor.NUMBERFOUR)
    public Flux<Bar> apply(Flux<Foo> fooFlux) {
        return fooFlux.map(oneFoo -> new Bar(oneFoo.getSomeFoo().replace("hello", "world")));
    }
}

The functions are dockerized and deployed in Kubernetes.
NAMESPACE          NAME                                             READY     STATUS            RESTARTS   AGE
default            _kafka-service-74bbd897f-gqwb_t                    1/1       Running           0          30m
**default            riffquestion-00001-deployment-568d8d977c-wkttt**   0/3       PodInitializing   0          25s
default            zookeeper-58759999cc-s4w89                       1/1       Running           0          30m
istio-system       istio-citadel-84fb7985bf-tq7h5                   1/1       Running           0          29m
istio-system       istio-cleanup-secrets-6ct2j                      0/1       Completed         0          29m
istio-system       istio-egressgateway-bd9fb967d-mkkzv              1/1       Running           0          29m
istio-system       istio-galley-655c4f9ccd-pnbjh                    1/1       Running           0          29m
istio-system       istio-ingressgateway-688865c5f7-7pgwq            1/1       Running           0          29m
istio-system       istio-pilot-6cd69dc444-22mjf                     2/2       Running           0          29m
istio-system       istio-policy-6b9f4697d-s82h6                     2/2       Running           0          29m
istio-system       istio-sidecar-injector-8975849b4-h5h6c           1/1       Running           0          29m
istio-system       istio-statsd-prom-bridge-7f44bb5ddb-xqh46        1/1       Running           0          29m
istio-system       istio-telemetry-6b5579595f-qwb8v                 2/2       Running           0          29m
istio-system       knative-ingressgateway-77b757d468-qsrhd          1/1       Running           0          13m
knative-build      build-controller-7bd96569d-8g6rb                 1/1       Running           0          13m
knative-build      build-webhook-5c99bb9b99-672r6                   1/1       Running           0          13m
knative-eventing   eventing-controller-59d55d8fd8-7mt8s             1/1       Running           0          13m
knative-eventing   stub-clusterbus-dispatcher-c86bb6bff-9crn6       2/2       Running           0          10m
knative-eventing   webhook-c5878f4-tk95s                            1/1       Running           0          13m
knative-serving    activator-7d5b5ff75c-mnn2n                       2/2       Running           0          13m
knative-serving    autoscaler-86859bd685-kzmzs                      2/2       Running           0          13m
knative-serving    controller-5f66d69957-k9j9w                      1/1       Running           0          13m
knative-serving    webhook-5b6cf589d7-kpvcj                         1/1       Running           0          13m
kube-system        coredns-c4cffd6dc-9tknm                          1/1       Running           0          31m
kube-system        etcd-minikube                                    1/1       Running           0          31m
kube-system        kube-addon-manager-minikube                      1/1       Running           0          30m
kube-system        kube-apiserver-minikube                          1/1       Running           0          30m
kube-system        kube-controller-manager-minikube                 1/1       Running           0          31m
kube-system        kube-dns-86f4d74b45-ww4h7                        3/3       Running           0          31m
kube-system        kube-proxy-rrcdd                                 1/1       Running           0          31m
kube-system        kube-scheduler-minikube                          1/1       Running           0          30m
kube-system        kubernetes-dashboard-6f4cfc5d87-gn7sd            1/1       Running           0          31m
kube-system        storage-provisioner                              1/1       Running           0          31m

riff service create riffquestion --image xxx/docker-riffquestion
And I am having an external service, that is supposed to trigger the functions like this:

Tests

public class HttpPostJsonExample {
    public static void main(String[] args) throws Exception {
        String payload=**"{\"someFoo\":\"hello\"}"**;
        StringEntity entity = new StringEntity(payload, ContentType.APPLICATION_JSON);
        HttpClient httpClient = HttpClientBuilder.create().build();
        HttpPost request1 = new HttpPost("**http://<IP_ADDRESS>:32380/firstFunction**");
        HttpPost request2 = new HttpPost("**http://<IP_ADDRESS>:32380/secondFunction**");
        request1.setEntity(entity);
        request2.setEntity(entity);
        request1.setHeader("Host", "riffquestion.default.example.com");
        request2.setHeader("Host", "riffquestion.default.example.com");
        HttpResponse response1 = httpClient.execute(request1);
        HttpResponse response2 = httpClient.execute(request2);
        HttpEntity responseEntity1 = response1.getEntity();
        HttpEntity responseEntity2 = response2.getEntity();
        System.out.println("the first response " + EntityUtils.toString(responseEntity1));
        System.out.println("the second response " + EntityUtils.toString(responseEntity2));
    }
}

Very happy about this project, I can see the beauty of Riff and Serverless. Even with the two functions!
the first response [{"someBar":"HELLO"}]
the second response [{"someBar":"world"}]

Question

However, my real use case: I am having external services not sending the http post, but sending Kafka messages. Like this.
(With other consumer services, but let's keep it simple for now)
public static void main(String[] args) {
        System.out.println("Message start");
        Properties kafkaParams = new Properties();
        String topicName = "**anyIdea?MaybefirstFunctionInput?**";
        kafkaParams.put("bootstrap.servers", "kafka:9092");
       [...]
        Producer<String, String> producer = new KafkaProducer<>(kafkaParams);
        System.out.println("Message go");
        producer.send(new ProducerRecord<>(topicName,"key", "**{\"someFoo\":\"hello\"}**"));
        System.out.println("Message sent successfully");
        producer.close();
    }
}

This is my real use case. I believe it is fairly an interesting one, at least, a reasonable one.
Is it possible to do so with Riff? If yes, could you please help me achieve this?

Setup

MacOsX, java 1.8
$ riff version
Version
  riff cli: 0.1.3 (a216005db0d50056c41b45fdc3384b09ad24381d)
$ minikube version
minikube version: v0.29.0
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-08T16:31:10Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

<parent><groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.4.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent><dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-function-web</artifactId>
		</dependency>
		<!--<dependency>-->
			<!--<groupId>org.springframework.cloud</groupId>-->
			<!--<artifactId>spring-cloud-function-stream</artifactId>-->
		<!--</dependency>-->
		<!--<dependency>-->
			<!--<groupId>org.springframework.cloud</groupId>-->
			<!--<artifactId>spring-cloud-stream-binder-kafka</artifactId>-->
		<!--</dependency>-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

Some thanks

I believe the idea of having external Microservices, sending http posts, and/or Kafka messages to trigger the function corresponds to the core concepts of event driven architecture and Serverless architecture.
I will be glad if I can achieve this.
Thank you a lot for this project, thank you a lot for your kind help.

With riff 0.0.x we used Kafka to pull messages to the function for invocation. With riff 0.1 we use HTTP to push messages to the function for invocation. In this new model, it's still architecturally possible to use Kafka as the driver for functions invocations. What you will need (and doesn't exist yet) is an event Source that reads from Kafka. In this model, your function shouldn't need to know anything about Kafka (or HTTP for that matter) in order to receive messages from a Kafka topic.
The particulars around Sources are very much inflight and not ready to be implemented quite yet, But I do expect to see a Kafka based Source be implemented, similar to how we already have a Kafka based Bus implementation for Channels.
I hope that helps.

Hello Scott,
Thank you a lot for your clear answer.
Will it be possible to have a roadmap for which version will this be possible?
Would it be possible to use a workaround based on Spring Cloud Stream?
I believe a Kafka/Rabbit based trigger that will still work with riff can be a good idea.
Thank you again for your presentation with Eric.

I am also investigating on the same.
My startup company has some upstreams systems that just put some messages into a common Kafka cluster with specific topics. They do not wait for any responses and do not care about who consume the messages.
We are currently having some ad hoc consumers that consume the messages and send the transformed payload into some other downstream systems.
Right now, we have those transformers deployed waiting for those messages. They stay idle most of the time. And when it gets busy, they cannot handle the loads and we have to manually deploy more transformers. Very painful.
We are looking forward to migrate our transformers as functions. Most of all, to use riff.
Maybe something like

riff service create transformer1 --listenandscalefrom kafkatopic1 --puttheresultto kafkatopic2 --image transformer1

Is it possible?

May I kindly ask if it is possible to scope and milestone this feature please?

I am also interested in this.
All I can see from your demos, getting started website and quick starts are functions that responds to just some riff invoke or just some curl commands.
This is unlikely to be representative of serverless architectures. It is not feasible to have all other services sending riff commands, neither sending curl. Other products have triggers based on data base change, GitHub change and much more.
A Kafka based (or any other message bus) trigger for functions created by Riff will be a very nice addition for this project.


error transpiling https://github.com/silverbulletmd/silverbullet

I checked out https://github.com/silverbulletmd/silverbullet at version 0034b4e8a7d2efd90ac1056a145865725f869b56 and ran:
silverbullet> ts-to-jsdoc.cmd .\common\
ManipulationError: Manipulation error: A syntax error was inserted.

manifest.ts-to-jsdoc.ts:73:2 - error TS1109: Expression expected.

73  *   syntax?: { [key: string]: NodeDef };
... and more error output

I imagine this could be newer TypeScript. silverbullet uses deno which uses typescript 5.2.2 in latest version while ts-to-jsdoc seems to use ^4.9.4

Thanks for the issue! Seems to just be an issue with comments in object type aliases. Repro:
type Test = {
    /* comment */
    prop: string;
}

which gets transpiled to the invalid
/**
 * @typedef {{
 *     /* comment */
 *     prop: string;
 * }} Test
 */

Fixed in 1.5.0!

Thanks!


chore: keccak256 in Noir

Description
Problem*
The PR uses the keccak permutation blackbox function in order to implement Keccak256 in Noir.
Summary*
The Noir implementation is added to the stdlib and results in circuit size similar to the Keccak256 blackbox.
Additional Context
The Keccak256 blackbox is not removed because my first experiments with variable-size keccak are not conclusive yet.
Documentation*
Check one:

[X] No documentation needed.
[ ] Documentation included in this PR.
[ ] [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

[X] I have tested the changes locally.
[X] I have formatted the changes with Prettier and/or cargo fmt on default settings.

I've made the noir implementation of keccak256 private for now to avoid us exporting two different versions of keccak256 which do different things.


translation_server.lua:{"error":"JoinTable.lua:38: inconsistent tensor size at THTensorCopy.c:17"}

my script:
th tools/translation_server.lua -host <IP_ADDRESS>  -port 9999  -n_best 5  -length_norm 0 -coverage_norm 1 -eos_norm 0 -model model_it.t7  -replace_unk -phrase_table pb.txt -log_level INFO
send string to server:
[{"src": "test it"}]
recived msg:
{"error":"JoinTable.lua:38: inconsistent tensor size at THTensorCopy.c:17"}

Could you give the full list of options used to train model_it.t7?

my training config.ini file:
#src_vocab_size = 119970
#tgt_vocab_size =  90492
src_vocab = ./data/dict_src
tgt_vocab = ./data/dict_tgt

train_src = ./data/train_pcode/3.src
train_tgt = ./data/train_pcode/3.tgt

valid_src = ./data/valid/it_valid_20k.src
valid_tgt = ./data/valid/it_valid_20k.tgt

src_seq_length = 35
tgt_seq_length = 35

save_data = ./model/pcode
report_every = 5000

This is a regression in torch/nn. I submitted a PR: https://github.com/torch/nn/pull/1220

This has been merged. You should update nn:
luarocks install nn


Dataframe viewer is broken

Fixes #10302
Root cause was the removal of the CSS provider (necessary for moving to web). However the dataframe viewer was waiting for the CSS message before rendering.
I also removed all of the references to the CSS provider's font data.

The font ends up different.
Stable view:

After this change:


Resources / Learning section

@CreaturesInUnitards suggestion per #1809

@pygy I requested the review due to this comment.

IMHO if you're going to include my screencasts — which is very flattering, and thank you — it might be better to just link to the playlist, rather than to the individual parts. There are at least 10 more to come!

@cavemansspa I'd suggest changing your PR to this one link: https://scrimba.com/playlist/playlist-34

@CreaturesInUnitards sounds good.  let's see where @pygy and co. decide on the learning materials location and i'll adjust accordingly.
just wanted to nudge this one along so that your efforts on putting together the scrimbas can be accessed from the main mithril site.

@cavemansspa thanks so much! I really appreciate it. TBH I thought about doing this PR myself, but it's WAY better that someone else do it 😃

@pygy @tivac any further thoughts on adding a "Learning" section to the docs?

@cavemansspa I'm good with this as a start, but having more resources later would be really nice. 😄

@cavemansspa Let's just do a single link to his screencasts at the beginning of the "Getting Started" section of the homepage.

FWIW the Scrimba folks are in the middle of updating their authoring tools; I have a bunch more content waiting for that update.

@isiahmeadows -- just wanted to bounce back an "are you sure" you want to put under "Getting Started"? after having a look at reverting this pr and looking at adding to "Getting Started", i'm thinking maybe the separate "Learning" section might be easier for newcomers to see.
i believe others (@JAForbes) were considering adding some mithril learning content so expecting it's a section that will grow.
happy to proceed either way but just wanted to double check.

echoing @cavemansspa I think a Learning section is a good idea but for different reasons.
I think "Getting Started" should be completely encapsulated.  Linking to other content (particularly at the beginning) creates the impression that those links are required in order to follow the getting started, whereas I think the current content is probably self contained as it is.
I want to avoid Analysis Paralysis / Paradox of Choice
I think the exception is environment stuff, like setting up npm.  But for usage, I think it'd be helpful to keep "Getting Started" as self contained as possible.  A link (or links) at the end of "Getting Started" on the other hand isn't as overwhelming because by that point they've probably completely the tutorial and feel quite confident to tackle more content.

i believe others (@JAForbes) were considering adding some mithril learning content so expecting it's a section that will grow.

I don't have any plans to do any "How to Mithril" sort of videos, but I am working on a streams series (that features mithril) and but that should definitely be tackled after resources like @CreaturesInUnitards series, and certainly after the "Getting Started".  So I can see a Learning section being valuable for that.
Whenever I've updated my mithril blog posts ( e.g. How I use Mithril ), it'd be a good place to link to them too (if no-one would be opposed).
So I'm 👍 for a separate Learning section.

If there's an expectation for the "Learning" section to grow, then let's go ahead and have a dedicated one. (My request was under the assumption it wouldn't likely grow anytime soon, but if I'm wrong, then having a new section makes more sense.)

@pygy Ping?

Looks good to me, we can always reshuffle later if things change.


Textarea test fixes

A tale of an unhandled promise rejection warning
When running jest, you might have seen this warning scattered here and there:

Who cares right, it's only a warning and test pass! 🍾
BUT, because of course there is a but.
What that actually means is that the test causing the warnings are not actually running 😱... so of course they all pass...
I found such events in the EditableTextarea tests, when I fixed the warning a bunch of the cases failed 😩
Moral of the story, when testing asynchronous code in Jest, be extra careful!
Make sure to catch rejections, use done(), etc.

Pull Request Test Coverage Report for Build 3320

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.07%) to 94.628%

Files with Coverage Reduction
New Missed Lines
%

src/components/EditableTextarea/EditableTextarea.jsx
1
92.9%

Totals

Change from base Build 3319:
0.07%

Covered Lines:
6366

Relevant Lines:
6594

💛  - Coveralls


dead/old link in foxx-manager help

my environment running ArangoDB

[X] 3.0

On this operating system:

[X] other: CentOS7

Foxx
Use  foxx-manager --help  to show a list of global options

There is also an online manual available at:
https://docs.arangodb.com/Foxx/Install/

This link does not exist. It forwards to:https://docs.arangodb.com/3.1/Manual/and that is in my case not the version I use.
These are the steps to reproduce:

run foxx-manager help
click the url

Just fixed in 3.0 and 3.1. devel will follow soon once we merge back some branch.

3.1.19 is available for download - closing.


Add knobs for data segment encoding

Right now we always make them "page" aligned and their size a multiple of that. We might want to break them into just pages, rather than multiples of pages. Or we might want to not have any padding in there to optimize for network size. There should be configuration knobs for these things.

Wizer no longer enforces page-aligning of data segments and I don't think it actually makes sense to have anything other than minimally-sized segments, which is what it does now.


Add to Artifacts, and add optional arguments to entry points for flut…

…ter run and test to allow for wiring up the same with preview-dart-2 internally

add path to Dart VM for the engine, used to launch the frontend_server in dart 2
add optional arguments for  passing in the path of the output dill file for dart 2 compilation
pass in the packages file explicitly when it is specified
for flutter test with dart 2 do not generate and compile the test wrapper file if a kernel file is specified

@tvolkert

Looks like Travis isn't happy

@tvolkert, this test failure
RUNNING: cd dev/devicelab; ../../bin/cache/dart-sdk/bin/dart --checked --preview-dart-2 test/all.dart
Unhandled exception:
Unhandled exception:
type 'List' is not a subtype of type 'Iterable' of 'variables' where
List is from dart:core
Iterable is from dart:core
String is from dart:core
#0      new All (package:boolean_selector/src/all.dart)
#1      new Metadata._unresolved (package:test/src/backend/metadata.dart:153:26)
#2      new Metadata (package:test/src/backend/metadata.dart:167:59)
#3      new Declarer (package:test/src/backend/declarer.dart:109:29)
#4      _declarer (package:test/test.dart:58:25)
#5      group (package:test/test.dart:207:3)
#6      main (file:///Users/travis/build/flutter/flutter%20sdk/dev/devicelab/test/adb_test.dart:13:3)
#7      main (file:///Users/travis/build/flutter/flutter%20sdk/dev/devicelab/test/all.dart:10:12)
#8      _startIsolate. (dart:isolate/isolate_patch.dart:279:19)
#9      _RawReceivePortImpl.handleMessage (dart:isolate/isolate_patch.dart:165:12)
error: error evaluating constant constructor'package:test/src/backend/platform_selector.dart': error: line 25 pos 63: Not a constant expression.
static const all = const PlatformSelector.(BooleanSelector.all);
^
'package:test/src/backend/metadata.dart': error: line 198 pos 52: Not a constant expression.
: testOn = testOn == null ? PlatformSelector.all : testOn,
^
I can reproduce this in a clean checkout with no changes.

The Dart2 test failures are allowed on Travis and are just advisory.  The failures that are blocking are the following:
Analyzing 1410 files...
[hint] Unused import: 'base/file_system.dart'. (packages/flutter_tools/lib/src/compile.dart, line 12, col 8)
[hint] Unused import: 'base/common.dart'. (packages/flutter_tools/lib/src/compile.dart, line 11, col 8)
[lint] 18 public members lack documentation (ran in 111.2s)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ERROR: Last command exited with 1 (expected: zero).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Looks like this caused build breakage.


launch failed on centos6.5

root@www3 ~# /usr/local/bin/gearman_exporter  --addr "<IP_ADDRESS>:9418"
/usr/local/bin/gearman_exporter: line 7: syntax error near unexpected token newline' /usr/local/bin/gearman_exporter: line 7: '

root@www2 ~# /usr/local/bin/gearman_exporter
/usr/local/bin/gearman_exporter: line 7: syntax error near unexpected token `newline'
/usr/local/bin/gearman_exporter: line 7: `<!DOCTYPE html>'

both  centos6 and centos7 have the same issue.

@NietzscheX how did you deploy gearman_exporter?

i just download it from https://github.com/bakins/gearman-exporter/releases
hah ... i get all source code to local go enviroment  and compling it  then found it works !


Santiago-Rodiguez 2016

Reference
doi or URL: https://doi.org/10.1093/femsec/fiw182

This paper has 2 new samples, FI3 and FI12, but the mapDamage plots for FI3 look very jagged and do not show damage. The figure legend for the mapDamage plots states:
"Supplemental Figure 2. MapDamage analysis of mummy FI3. Results were similar for mummies FI9 and FI12. Typical sequence patterns resulting from aDNA damage include short sequence length, an excess of cytosine to thymine (C-to-T) misincorporations at 5-ends of sequences, and complementary guanine to adenine (G-to-A) misincorporations at the 3-termini (Ginolhac et al., 2011), which were not observed in the mummies’ microbiomes analyses." (emphasis mine)
I would prefer not to add this paper given that no damage was observed in the data for either sample - how should we proceed?


Bring GAX build in line with google-cloud-dotnet

Use bash for the build on Windows and Linux
Make .travis.yml and myget.bat just trivial script runners
Update the version in project.json to include beta tag

Minor nits. LGTM


Failed in compiling test.c

Compilation failed in Ubuntu20.04 with sdcc 4.1.0, what could be the problem?
$ sdcc --version
SDCC : mcs51/z80/z180/r2k/r2ka/r3ka/gbz80/tlcs90/ez80_z80/z80n/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15 4.1.0 #12072 (Linux)
published under GNU General Public License (GPL)

$ more ../VERSION
v1.3.1

$ make -j
 - Collect MCU config information
[mcu-model] STC89C52RC (code=8192B, iram=256B, xram=256B)
[mcu-clock] 11.059200 MHz
[prescaler] 12T mode
 - Start to build!
CC  ../src/tim.c
CC  ../src/uart.c
CC  ../src/gpio.c
CC  ../src/tim2.c
CC  ../src/wdt.c
../src/uart.c:28: warning 112: function 'complement' implicit declaration
../src/uart.c:28: error 101: too many parameters
../src/uart.c:28: error 45: operand invalid for bitwise operation
../src/uart.c:28: warning 113: left & right types are
void,unsigned-char fixed
../src/uart.c:321: warning 112: function 'complement' implicit declaration
../src/uart.c:321: error 101: too many parameters

I got the same error with v1.2.0.

This problem is caused by a offical changes in <iso646.h> between sdcc v4.0.0 and sdcc v4.1.0(ref to r11619). We will follow this change from sdcc, and if you want to enjoy current version of HML now, try building it with sdcc v4.1.0. Thank you for your report

@zsiothsu Please fix this problem.

Thanks for the fix!


bug in nysiis modified/refined algorithm

Hello, everyone.
I've found a bug with the modified/refined NYSIIS algorithm. Sorry I couldn't find any guidelines for bug report, but I'll try my best to give you something useful.
Following the definition here: http://www.dropby.com/NYSIIS.html
Specifically this:

The use case my tester found was the following:
input ANANND
expected ANAD
actual ANAND
This can also be confirmed in talisman full docs:

Test case:
it('converts repeated letter correctly', () => {
  const input = 'ANANND';
  const expected = 'ANAD';
  const nysiisConverted = toNysiis(input);

  expect(nysiisConverted).toBe(expected);
});

Cheers!

Hello @vilchesalves, thanks for noticing this bug, it seems I missed the "repeat this last step as necessary" bit. This should be fixed now on v1.1.4.

Hello @vilchesalves, thanks for noticing this bug, it seems I missed the "repeat this last step as necessary" bit. This should be fixed now on v1.1.4.

Hello @vilchesalves, thanks for noticing this bug, it seems I missed the "repeat this last step as necessary" bit. This should be fixed now on v1.1.4.

Beautiful! Such quick action! Thank you very much. <3

Hello @vilchesalves, thanks for noticing this bug, it seems I missed the "repeat this last step as necessary" bit. This should be fixed now on v1.1.4.

Beautiful! Such quick action! Thank you very much. <3


drop proc-macro-hack dep

This dependency is unused

Thanks for the contribution!
It looks like you are right indeed. 👍🏻

Cut two new releases that include this<EMAIL_ADDRESS>and<EMAIL_ADDRESS> Let me know if there are any issues.


Move svg's to aws for now

This PR is a temp fix to move our new SVG icons for the advanced trace selector to aws until we can convert them to react components.

those svgs take time to load.. looks a little ugly..
closing..
we'll use old icons until #375 is in


Chore: Move Maya addon code

Changelog Description
Move client Maya addon code from AYON core to the folder along the server part. Refactoring imports to accommodate this move.
Additional info
This is also adding rather hacked support of inline codespell ignores to ease development. You can now use syntax:
foo = "some intentional tipo"  # codespell:ignore tipo

In next release of codespell (>2.2.6) it should be natively supported.
Testing notes:
Build and install the addon
Test the integration

It is also required to define settings_category ="maya" in the plugins so settings can be applied automatically.

With the settings category, we need to retest loading and publishing. Should work as before.
All plugins have their own Maya specific base class defining settings category and host now.


Fixed static drop down to show selected value correctly.

https://bugzilla.redhat.com/show_bug.cgi?id=1285755
@bzwei please review/test.

see value of  'Virtual Machine Size' drop down in before/after screenshots
before:

after:

Verified the fix. It works for dynamic dropdown also.
I did not test the case for radio buttons.

@bzwei fixed to show correct values selected in drop downs & radio buttons, please retest.

Verified the fix works for radio buttons too.

@dclarizio please review/merge

@martinpovolny can you help look into brakeman error

wf comes as hash[:wf] from a hash (don't see it right now, but guess @edit) and @edit contains a key :stamp_type that has value from params[:typ].
So this is a false positive, but to remove the root cause (and make things actually better), the possibly dangerous value of params[:typ] should NOT be stored in a session.
That line is:
app/controllers/miq_request_controller.rb:      @edit[:stamp_typ] = params[:typ]

@martinpovolny fixed brakeman error, ready for review/merge.

nice fix!


Increase the time before showing "No results" on Conduct Tests search

Currently, when you are searching for a patient on the Conduct Tests or Results pages within the app, it quickly shows "No results" even when the person exists and appears.
To improve the user experience and avoid confusion, we should increase the length of time before showing no results.

Video to show the issue[Uploading... NoResults.mov]

This is still an issue; was reported at the Santa Clara site visit.

Still an issue; will close this and make a new ticket with more details.


Explanation on how to register a TemplateRef in Global configuration

What problem does this feature solve?
Some components, like NzSpinComponent, allow specifying a TemplateRef<T> instance via the new global configuration.
However, for users it might not be clear how to programmatically create it in NgModule context (in fact it was a bit of a surprise to me too). The following is a snippet which can be integrated to show that.
app.module.ts
@Component({
  template: `
    <ng-template #nzIndicatorTpl>

    </ng-template>
  `
})
export class SpinTplComponent {
  @ViewChild('nzIndicatorTpl', { static: true })
  nzIndicator!: TemplateRef<void>;
}

const nzConfigFactory = (
  injector: Injector,
  resolver: ComponentFactoryResolver
): NzConfig => {
  const factory = resolver.resolveComponentFactory(SpinTplComponent);
  const { nzIndicator } = factory.create(injector).instance;
  return {
    spin: {
      nzIndicator
    }
  };
};

@NgModule({
  declarations: [
    AppComponent,
    SpinTplComponent,
    ...
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    NgZorroAntdModule,
    ...
  ],
  providers: [
    {
      provide: NZ_CONFIG,
      useFactory: nzConfigFactory,
      deps: [Injector, ComponentFactoryResolver]
    },
    ...
  ],
  entryComponents: [SpinTplComponent, ...]
})
export class AppModule {}

Points to remember:

exporting the component is required for AOT compatibility
the component must be present in declarations and entryComponents

What does the proposed API look like?
Not needed.

This looks great. Could you please submit a PR to change the Global Configuration chapter of the official doc?


Preserve CRLF line endings

This PR preserves CRLF line endings and addresses #367, #498, #572, #578, #592, #593.
Update:
Still needs tests.
Update:
I'm manually testing on Windows and finding some issues with this PR.
I'll update as I resolve them 👷
Update:
I'll add logic to detect existing line endings used to avoid using os.EOL in certain situations.

I'm manually testing on Windows and finding some issues with this PR.
I'll update as I resolve them 👷

@jdalton, is this PR still WIP?

@tonyganch

, is this PR still WIP

Yes! I still need add detection of newline use based on the nearest other newline instead of using ‘os.EOL’.

Update:
I'm getting closer. I've added a nearestNewline() helper. I need to feed the plugins the text, so once I clean things up and push we can bikeshed all that.

Please tell me what's wrong with this edit?

Please tell me what's wrong with this edit?


High number of "could not create sms channel" in the logs when SMS provider is not configured

Preflight Checklist

[X] I could not find a solution in the existing issues, docs, nor discussions
[ ] I have joined the ZITADEL chat

Describe your problem
Given there's no SMS provider configured, when actions are initiated that would use the notification channel SMS, then ZITADEL writes the following error message in the logs
time="2024-04-09T08:46:21Z" level=error msg="could not create sms channel" caller="/home/runner/work/zitadel/zitadel/internal/notification/types/user_phone.go:24" error="ID=QUERY-fn99w Message=Errors.SMSConfig.NotExisting Parent=(sql: no rows in result set)"
This leads to a lot of noise / spamming of the logs (which was reported by our customers).
Additionally this would also mean that some functionality fails for end-users, that could be with error code or in silent.
Describe your ideal solution
Multiple solutions or combinations are possible.

Disable features that rely on a notification channel that is disabled or not configured
Write notifications to logs if the notification channel is not configured
If a notification channel is always required, ensure existence during setup / change of configuration

Version
No response
Environment
Self-hosted
Additional Context
Reported by customer

Created a summarized issue https://github.com/zitadel/zitadel/issues/8042, will move this into the backlog.


Unit tests with Node 13?

Right now, we run unit tests with Node 8, 10, and 12.
@bcoe, @JustinBeckwith -- Is there planned support for unit tests with Node 13?

I think we're here, right?
https://github.com/googleapis/cloud-profiler-nodejs/blob/master/.github/workflows/ci.yaml#L12

Yep!
I'll close this; it's resolved.


Add a Sigmoid function to GDScript.

Tested versions
N/A
System information
N/A
Issue description
The sigmoid function is one that follows a roughly S-shaped curve, asymptotically reaching an upper and lower bound. Such a function would work great for weapon sway wherein the magnitude of the mouse/joystick movement is mapped to a position determined through the sigmoid function.
Steps to reproduce
N/A
Minimal reproduction project (MRP)
Here is a GDScript implementation of the sigmoid function:
func sig(x : float, amplitude : float, y_translate : float):
	return ( (amplitude) / (1 + exp(x)) ) + y_translate

to a sigmoid, the closer it reaches the bound, but without touching -- for the b

Whatever works for y'all.

I kinda would like this to be thrown upstream first, but that would depend on what @8bitprodigy wants, or in the case of Redot-Engine/redot-engine#148 what @NickUfer also wants, if they don't want it upstream then we'll need to merge it in a way to minimize merge conflicts with Godot.

Whatever works for y'all.

I kinda would like this to be thrown upstream first, but that would depend on what @8bitprodigy wants, or in the case of Redot-Engine/redot-engine#148 what @NickUfer also wants, if they don't want it upstream then we'll need to merge it in a way to minimize merge conflicts with Godot.

Whatever works for y'all.

I posted on the PR for this, we revised this policy as a team due to a bunch of concerns. I need to check on the PR, we were just waiting on some small changes and then a squash afterwards iirc

I posted on the PR for this, we revised this policy as a team due to a bunch of concerns. I need to check on the PR, we were just waiting on some small changes and then a squash afterwards iirc

He'll yeha!


Database of game history

Save PlayerMoveRequests, state messages and PlayerEliminatedEvent and be able to fetch:

History for replays
Statistics on wins/losses and stuff

Use MongoDB
Also include an option to run server without this system.

Solved with AWS DynamoDB


Build pipeline

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: vivek400 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


feat(key-auth) support auto-expiring keys

Native support in the DAO makes supporting this straightforward :)

Add ttl = true to keyauth credentials schema
Add migration for Postgres to add TTL column
Add API spec for added behavior

Fix #87

I think this needs a little rebasing as well, but then I see no reason why not merging this for our next release!

(Would fix myself if it weren't for the rebasing)

@thibaultcha fixed up! (annoying, git rebasing was clean but GitHub just didn't wanna do it...)

I just pushed a test case that demonstrates that this feature isn't ready. Unfortunately, the cache will hold the API key indefinitely. We could return the TTL from the mlcache callback, but said TTL is not returned by the DAO as of today. We should contribute a change to the DAO that returns the TTL if it is present (cc @bungle).

Note: It would be nice to have this for all the other authentication plugins too.

@thibaultcha do oauth2_tokens entities suffer from the same flaw?

(The reason I ask is oauth2 plugin DAO entities are the only bundled entities that define ttl = true like we do in this PR, and they follow the same access pattern in the cache (with a nil opts table in the cache :get call) that's presented here).

@thibaultcha any updates?

Note: It would be nice to have this for all the other authentication plugins too.

Do auto-expiring keys also clean up within the db or just sit out there nilled out? Based on a glance at the code I don't see any ttl checks or a column being nil causing a delete on all expired rows.
If they are actually pruned from db rather than sitting out there in Kongs C*/Postgres db that would be neat, I think most folks who run Kong use some variant of auth cleanup scripts for ttl auth like:
https://github.com/Optum/kong-expired-token-cleanup
Would be pretty nifty for Kong to self-prune its db on expired worthless auth records(keys/oauth2 bearer tokens etc) if its in scope of this PR. Maybe this PR is just about allowing the functionality of an "expired" auth-key, in which case future enhancements down the road for smarter Kong cleanups would be neat from user experience! Could retire external cleanup scripts and let Kong self-manage.

@subnetmarco There are no updates due from my side.
@jeremyjpj0916 Our new DAO (since 0.13/1.0) has many, many benefits. Including cleaning up rows with expired TTLs: https://github.com/Kong/kong/blob/master/kong/db/strategies/postgres/connector.lua#L280-L293. Of course this requires that entities be updated to make use of the new DAO's TTL feature.
With Cassandra, deleting expired TTL rows will only happen during compaction, which is outside of the scope of Kong, and closer to the realm of database administration.

@jeremyjpj0916, what version of Kong are you using?

To clarify, the blocker to merge here is @thibaultcha's comment:

I just pushed a test case that demonstrates that this feature isn't ready. Unfortunately, the cache will hold the API key indefinitely. We could return the TTL from the mlcache callback, but said TTL is not returned by the DAO as of today. We should contribute a change to the DAO that returns the TTL if it is present (cc @bungle).

Making this change is outside the scope of this PR (it requires a change to the DAO, and I've not had time on my side to work on this). The question/blocker here is not related to whether or not TTL'd rows are automatically deleted
Also @thibaultcha it would be great if you can validate/refute my question here: https://github.com/Kong/kong/pull/4239#issuecomment-477859855

@p0pr0ck5 Sorry I missed this.

@thibaultcha do oauth2_tokens entities suffer from the same flaw?

They are not, since the database-level TTL in this case is more of an optimization than a feature (to cleanup the DB appropriately, as per the aside discussion raised by this thread). Checking for token expiration as a feature was always implemented in the business logic, iirc. As of today after fetching the token, the plugin's logic takes care of checking its expiration date.

the database-level TTL in this case is more of an optimization than a feature

Given this, does the approach in this PR even make sense (once the DAO is modified to support the use case)?

@p0pr0ck5 For the use-case we have in mind (bluntly deleting credentials as they reach their TTL), this approach is leaner and cleaner imho. It takes direct advantage of both DAO-native and mlcache TTL support so that we do not have to implement expiration checks in the plugin's business logic.
However, doing so allows for distinguishing an expired token from a non-existent one, which can be useful for oauth2 and key-auth, but it depends on our use-cases. For example, if we were to not delete credentials when they expire, but simply invalidating them and relying on an administrator to refresh then, or remove them entirely. But that is not the use-case this plugin is going for, and I never heard of such an ask so far.

Do we have any action items on this PR?

@subnetmarco the action item is, Kong's DAO needs to return the TTL for the objects returned from the DB, so we can cache them for the appropriate amount of time. I do not have the bandwidth to work on the plumbing in the DAO at this point- I don't suspect it will be a large effort, but it won't be able to pick it up personally in the near future.

@eskerda Have a look at https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlSelect.html to see what we could do there (watch out, for we also need to ensure whatever we do for C* also works for C* 2.2). For Postgres, not all tables have a ttl column, but you can assume that if the schema of an entity specifies ttl, then it has the column in its table definition.


N3 gov 18

@luisivan Is N3GOV-X.json the correct filename?  Not N3GOV-18.json?

My bad. The process specifies I should have changed it to N3GOV-18.json before merging

Opened a PR to fix it here https://github.com/nation3/gov-proposals/pull/21/files


Export only visible layers from SVG

I'm looking for a svg loader plugin to use with vue3/nuxt3 that automatically processes my svg source file (created in Inkscape) and extracts only the visible layers, strips meta information, etc. to reduce the file size for prod.
Is this something this plugin can do? I couln't find any information about such a feature in the docs.
Thanks in advance for your response!
Frederik

vite-svg-loader uses SVGO for SVG optimization, that includes removing meta, perhaps it also has an option to extract only visible layers, but I didnt found it. If you know algorithm, that can solve your issue, you can create and publish it as SVGO plugin

You could indeed use SVGO for this


Fix Config import to use ConfigType instead

This integration will break on HA 2024.11 due to https://github.com/home-assistant/core/pull/129163
It seems like Config was only used for (incorrect) typing; this fix is backwards compatible.

Thank you @tjorim! I'll test this today, shouldn't be any issue to get this merged though.


Php 53 replace travis with circle ci

@matthew-contentful , please review. No functional changes, just coding standards/getting the envs to work with CircleCI.


label lr, ls and lsp, and add label filter when gc

Add label when "lr-add", "ls-add" and "lsp-add", and list labeled network  entities when gc to avoid deleting entities which does not belong to Kube-ovn.

Loadbalancer, portgroup, StaticRoute and VpcNatGateway will soon be added in processing.


Node.js 8.10 is EOL

Dear AWSlabs Team,
Node.js 8.10 is EOL and AWS wants to disable Lambda update functions with Node.js 8.10 beginning in february 2020. Are the Node.js 8.10 functions also executable under Node.js 10.x?

Based on my testing updates will be needed to make this compatible with Node.js 10.x.

is any effort underway updating Node?

Thanks for your input. We are trying to update the solution with Node.js 10.X in this year.

I updated the Lambda function to Node 10.x manually in the console without any code changes and it seems to have run successfully since then.  What issues did you all run into that were incompatible with 10.x?

I am seeing some issues with async not being found.

@cccassidy What versions of async do you have? I suspect anyone with an older version is seeing this issue.

I updated the Lambda function to Node 10.x manually in the console without any code changes and it seems to have run successfully since then. What issues did you all run into that were incompatible with 10.x?

I changed manually the function to Node 10.x in the console too and published this as new version. The logs in cloudwatch looks for me okay. I has compare the new logs with the Node.js 8.x version and for me are the same results. In the monitoring i can't see any errors.
Is it really so simple, or am I overlooking something?

It has been updated. You have to redeploy and delete existing resources manually.
Version 2.3.1 of the solution uses the most up-to-date Node.js runtime.
Version 2.3 uses the Node.js 8.10 runtime, which reaches end-of-life on December 31, 2019.
To upgrade to version 2.3.1, you must deploy the solution as a new stack.

https://aws.amazon.com/solutions/aws-waf-security-automations/

Closing this issue as the solution has been updated to later version of Node, but please let us know if you need additional assistance.

@georgebearden Sorry to ask but as somebody who installed WAF out of the box using the console wizard, how do I go about upgrading my reputation list parser so that I'm running on Node.js v10?  Not had to dig around with the inner workings of WAF beyond a couple of tweaks so am running blind currently.


replacement of DOTLOCK_GROUP fails

Hi,
when I try to install the latest version I receive the following error:
expected replacement of /^DOTLOCK_GROUP =.*$/ with "DOTLOCK_GROUP = admin"
Any ideas?

Yes.  mutt_dotlock has been deprecated in the development version of NeoMut.
I've just updated the formula.  Let me know how you get on.

worked, thanks!


Industrial Rotational Hearth Furnacing Facility

Pitch
A huge RHF that actually looks like the IRL RHF, that is extremely fast and insanely expensive to run
Technical details
Mode 1 : Batch mode

Smelts 10 million items every 20 minutes. Doesn't care about base recipe stats.
Needs 3e7/t oxygen to run
Needs 2e5/t of a naquadah/HOG mixed fuel to run
Uses 4096A UV+ to run
Overclocks with this formula

recipe length (ticks) = ((time1×20×60)/(e^(tier-6))+((time2×20×60)/1.3^(tier-6)))
tier = recipe tier. LV=1, MV=2, etc.
time1 = first time parameter in minutes
time2 = second time parameter in minutes

Will fail if not enough oxygen, energy or fuel during the process and void the items, but make a very hard to process sludge residue.

Mode 2 : Sun mode

Smelts items like a normal EBF but with a 15000K heat bonus on top of the coil bonus. Applies the perfect OCs linked with heat
Needs 1e6/t oxygen to run
Needs 1e5/t of a naquadah/HOG mixed fuel to run
Needs a supply of Noble gas, the heavier the gas, the less is needed. Starts at 5e7/t of helium
Uses 512A UHV+ to run

Mode 3 : EBF

Just an EBF without parallel hatch that supports laser hatches

All modes

Can run 16 different simultaneous recipes at a time
Accepts up to 16 laser energy hatches

WIP SHAPE

Example flowchart by SmallMing


impl common traits for public facing types

I'm working on implementing common traits for public facing types via this issue on rust-native-tls.
Unfortunately this doesn't seem trivial, since some types are declared using the declare_TCFType macro, so deriving them is not possible. I tried implementing them by hand, but this doesn't seem to have an effect.

Implementation of traits for `SecIdentity`
declare_TCFType! {
    /// A type representing an identity.
    ///
    /// Identities are a certificate paired with the corresponding private key.
    SecIdentity, SecIdentityRef
}
impl_TCFType!(SecIdentity, SecIdentityRef, SecIdentityGetTypeID);

impl Copy for SecIdentity {}
impl Clone for SecIdentity {}
impl Eq for SecIdentity {}
impl PartialEq for SecIdentity {}
impl Ord for SecIdentity {}
impl PartialOrd for SecIdentity {}
impl Hash for SecIdentity {}
impl Debug for SecIdentity {}
impl Default for SecIdentity {}

Error describing that `SecIdentity` doesn't implement `Copy`
error[E0204]: the trait `Copy` may not be implemented for this type
  --> src/imp/security_framework.rs:78:10
   |
78 | #[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default)]
   |          ^^^^
79 | pub struct Identity {
80 |     identity: SecIdentity,
   |     --------------------- this field does not implement `Copy`
81 |     chain: Vec<SecCertificate>,
   |     -------------------------- this field does not implement `Copy`
   |
   = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

I must say that I'm not familiar with this macro, so it could just be that I'm missing something. Do you know a way around this issue?
Thanks for feedback of any kind!

Types that own heap-allocated data like Vec are fundamentally incompatible with the Copy trait. That's by design — Copy means there's nothing that needs to be done when copying or discarding the values, and that's not true for this type.
If you're implementing Copy, because an error message told you so, it's a logic error in your program. You probably need to wrap it in Arc, or ensure you use it from one place at a time only.

Thanks for the hint, I actually wasn't aware of this.
I dug into the impl_TCFType and found that it already implements PartialEq and Eq. The only part I was originally interested in was Hash and given your explanation about Copy, I reduced the scope of the linked PR to just Hash.


Compiler options without local amalgamation

Is it possible to set custom compiler options for local amalgamations?
Currently, I think its only possible with one (docs).
In my project, I need SQLITE_ENABLE_MATH_FUNCTIONS to be enabled. However, I don't want to keep the local version up-to-date.
If this is currently not possible, would it be possible to set some compiler options in the package.json?
As far as I unterstand, SQLIte is getting compile on installation anyways. So maybe it would be possible to use the package.json to configure that..?
Maybe something like this:
{
    // ...
    "sqliteCompilerOptions": {
        "SQLITE_ENABLE_MATH_FUNCTIONS": true
    }
}

I'm not sure what issue you're having with the custom configuration guide, but if you upgrade better-sqlite3 to v7.4.3, you'll have SQLITE_ENABLE_MATH_FUNCTIONS built-in automatically.

You're right, my bad!
However, is something like the above still possible for other flags?

The custom configuration guide precisely explains how to compile better-sqlite3 with your own amalgamation of SQLite. It also states:

Any desired compile time options must be defined directly within sqlite3.c

Which part exactly are you having trouble with?

The idea that I proposed was to offer a way to configure the build without the need for a local amalgamation file that is included in the project directory.

Ahhh sorry, I didn't understand your intention. It might be possible, but it's a bit more complicate that you'd think, because some compile-time options (notably SQLITE_ENABLE_UPDATE_DELETE_LIMIT) must be present while generating the amalgamation, not just during compilation. Generating an amalgamation requires the entire SQLite source repository, which might not be practical to distribute with every installation of better-sqlite3.

Is that the only flag that is affected by this? If so, it could still be possible to do it like the current recommend way.
The method mentioned above would then cover all other use cases (from which I think they occur more often, but I ultimately don't know).


🪲 Bug Report - No diagnostic settings for microsoft.networking/vpnGateways

Describe the bug
First time using this project, so bear with me if I have overlooked something…
After deploying the project with the recommended deployment flow, it appears that the VPN gateway deployed through the vwan topolody does not get any diagnostic settings through policies.
The below example is a simple wvan hub, with only firewall and VPN enabled.
To Reproduce
Steps to reproduce the behaviour:

Deploy the project from step 1 to 8 and use the wvan topolody (https://github.com/Azure/ALZ-Bicep/wiki/DeploymentFlowVWAN).
Go to the resource group of your hub resources and verify the diagnostic settings sub-menu

Expected behaviour
A policy should apply diagnostic settings on the object microsoft.network/vpngateways
It appears that the policy file policydefinitionesdeploydiagnostics_vnetgw.json handles the type Microsoft.Network/virtualNetworkGateways, and not the type deployed with the vwan topolody
The firewall deployed in the same subscription and Resource Group receives the correct diagnostic settings
Screenshots 📷

Correlation ID
Additional context
Maybe missing an entire policy definition for the object microsoft.network/vpngateways?

Trigger ADO Sync 1

Trigger ADO Sync 2

@jtracey93 can we get an update on this, just discovered we are missing this in our implementation!

Hey @chris5287 this is done but it is in our policy-refresh branch as we  are making a large number of policy improvements.
We plan to complete this work in March and merge it into main and pull down to all of our implementation options shortly after.
You can see the policy we've created for this here and use it in the mean time: https://github.com/Azure/Enterprise-Scale/blob/policy-refresh/src/resources/Microsoft.Authorization/policyDefinitions/Deploy-Diagnostics-VWanS2SVPNGW.json
Thanks
Jack

This is live in #1273


PEEP for local option in pipenv install

The issue
Create VENV directory within project without having to setup dotenv #2086
The fix
This is a PEEP to introduce --local option to pipenv install which will create the .venv dir within the project
Relevant PR: #3108
The checklist

[x] Associated issue
[ ] A news fragment in the news/ directory to describe this fix with the extension .bugfix, .feature, .behavior, .doc. .vendor. or .trivial (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.

Two minor suggestions, partially based on personal preference:

Only --local, not -l. I don’t believe Pipenv current has a lot of short options, and l is particularly confusing.
Add a friendly reminder after initialisation to remind the user to add .venv to the version control’s ignore file, e.g. .gitignore.

Some minor suggestions, partially based on personal preference:
* Only `--local`, not `-l`. I don’t believe Pipenv current has a lot of short options, and `l` is particularly confusing.

* Add a friendly reminder after initialisation to remind the user to add `.venv` to the version control’s ignore file, e.g. `.gitignore`.

* What would happen if the user runs `--local` when there is already a (non-local) virtual environment? Should there be a warning/error/reminder?

@uranusjr

I found that few other existing options had short versions, So I had -l option. This can even be removed.
Adding reminder for .gitignore isn't specific to --local. User can also do the same with dotenv vars. So, adding this warning can be done here if everyone emphasis, else it can go as a separate enhancement.
Running --local on non-local env is a valid concern. I would suggest having a error, if we want to have a hardstop, else we can just throw a warning and ignore the --local option.

Everyone, please let me opinions on this.

--local and  -l

* Running `--local` on non-local env is a valid concern. I would suggest having a error, if we want to have a hardstop, else we can just throw a warning and ignore the `--local` option.

I would have said it should have the same behavior than calling:
pipenv install
# then
PIPENV_VENV_IN_PROJECT=true pipenv install

though, this creates a non-local env, and then it creates a local env, but keeps the non-local... so, it actually ignores the non-local env
So, the error seems a better option to me, and the envvar should behave that way IMHO.


Charging Plans > Display Charging Plan Chart/List+ button to switch them in details section of Charging Plans list

Need to review first the Charging Plan list (tab).


feature request:publish windows build binary

RT

Hey @pedoc, thank you for your availablity. Can restart all the installation process?
@budden is helping us with windows support and maybe he can help you if it still not working here #79.
We created a new release right now and base on it I will close this proposal.


activities mobile view problem solved issues: #325

activities mobile view problem solved issues: #325

@tobySolutions  done, you can label as hacktoberfest😉

Great job!!


dx serve shouldn't clear the target build directory.

Problem
When use new version of dioxus-cli ( 0.6.0-alpha.5 ) in Windows,
run
dx serve
clear the target directory everytime.
My program need some dlls and config files.
Expected behavior
Just overwrite the build output like old version.
Environment:

Dioxus version:  0.6.0-alpha.5
OS info:        Windows 11
App platform:    desktop

I tried edit  "dioxus/blob/main/packages/cli/src/build/request.rs"
comment line 571
'            _ = remove_dir_all(self.exe_dir()); to '            //_ = remove_dir_all(self.exe_dir());
I'm not sure this is the right approach, but this make my program recompile, hot reload and run all successful.

We need to clear the build folders on rebuilds as some items such as old assets won't be deleted and may be unintentionally used. I have also heard that overwriting has caused corruption issues in the past though I'm unfamiliar with that.
For moving DLLs, you should generally be using a build.rs that copies the DLLs to the location you need them.

I think use build.rs, copy DLLs and config files everytime before rebuild is not a good solution.
The program config maybe changed during running and save to files, as current dioxus-cli clear entire directory, if those config files not saved to another location, and suddenly rebuild in dioxus-cli, then all config files loss.
dioxus cli also does not have some way to do post build task.
If there must some old assets need to be cleared, then user can also use build.rs to clear them.


ModalDialog overlay entire application when launched from page within splitview?

I'm using the Template10 ModalDialogs which is working great. However, my current setup is the following:
I have a MainPage with a Hamburger menu (= SplitView) and I set the content with specific pages. Within a page, I have defined a ModalDialog in the XAML and I hope in (ModalDialog.IsModal = true) from the code behind.
Now what happens is that the ModalDialog overlays the page where it belongs to just fine. However, hamburgermenu/SplitView stuff does not get overlayed (since the Page is part of its content, so that makes sense).
The native ContentDialog does not have this issue (it overlays the entire app even when launched the same way). Is there a way to achieve this with the Template10.ModalDialog?

You should make Shell.xaml ModalDialog not MainPage.xaml. You can do this on startup in App.xaml.cs as:
public override UIElement CreateRootElement(IActivatedEventArgs e)
{
    ...
    var navService = NavigationServiceFactory(BackButton.Ignore, ExistingContent.Include);
    return new ModalDialog { Content = new Views.Shell(navService), DisableBackButtonWhenModal = true };
}

I see.. I'm not using the Template10 NavigationService for this. Basically mostly for the ModalDialog. Would this mean a major restructering if I'd use the NavigationService?
Does it make sense to make a function within MainPage (which is the 'highest level') that takes a Dialog as parameter and opens it from there?

You're using HamburgerMenu without nav?
Well, pass null for navService as Shell ctor() and see what happens then.

In addition we will resolve this with the new PopupEx we are building.


VNID Mismatch check fails on newer APICs running py3

(use upvote :thumbsup: for attentions)
Describe the bug
VNID Mismatch check fails on newer APICs running py3.
Script output
[Check 31/45] VNID Mismatch...
              Error: '<' not supported between instances of 'dict' and 'dict'...                                                  ERROR !!

To Reproduce
Run the script on an APIC which has the following conditions

APIC is running a newer version such as 6.0(2) that only has py3.
APIC meets the condition to fail VNID Mismatch (i.e. it would result in Fail - Outage).

Expected behavior
The check should print the VNIDs that are mismatched across nodes.
Additional context
N/A

fixed by 877f31f341d702c5cde31cc36137a3ad0404f8c9


docs: Use cosine similarity in quickstart example

Previously, the quickstart example used dot product distance. This didn't make much sense as the vectors in the example were not normalised. It also led to some weird-looking query results (e.g., searching for the exact vector of the Mumbai point does not return the Mumbai point in the result set). This commit changes the examples to use cosine similarity.
While I was in the area, I prefixed '/' to the HTTP request paths so that they're all correct and consistent.

cc @davidmyriel


Telemetry support

Add build telemetry support.

Waiting until we have decided the long term strategy for this.


Config form success states

Closes #1672

Everything worked properly, got these warnings.

Tested looks good, some warnings, lower priority follow up: https://github.com/linode/manager/issues/1743

thanks!


Fix flaky test: Waiting for vmi

What this PR does / why we need it:
Waiting for VMI ensures that the launcher`s pod will be initialized.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #4997
Special notes for your reviewer:
Release note:
None

/cc @rmohr
Do we expect to delete VMI in case the launcher`s pod is not initialized?

/cc @ashleyschuett
Can you have a look, please?

/lgtm

/retest

Do we expect to delete VMI in case the launcher`s pod is not initialized?

No, that is not necessary. All VMIs will be removed from the namespaces by the BeforeTestCleanup.

@xpivarc the fix looks good, could you reproduce the flake locally with repeated runs before?

@xpivarc the fix looks good, could you reproduce the flake locally with repeated runs before?
I remember that I was trying it locally but I don't remember if it failed...

I know that we hit timeout here:

Eventually(func() bool {
						_, err := virtClient.VirtualMachineInstance(tests.NamespaceTestDefault).Get(vmi.Name, &metav1.GetOptions{})
						return errors.IsNotFound(err)
					}, 60*time.Second, 500*time.Millisecond).Should(BeTrue())

when the pod is not initialized.
Looking retrospectively at this we should investigate why the init containers didn't start in 60 seconds.
I can see that pod is marked for deletion and not initialized at the same time.
Seems like we don't delete the VMI but I guess we could in this case. This PR would make the test fail early and show us the startup of vmi is failing or it just gives more time to initialize the pod.
Edit:
I see
Feb 08 06:15:24 node01 kubelet[3378]: E0208 06:15:24.222370    3378 pod_workers.go:191] Error syncing pod 207ffddd-b100-4160-9e2f-2b3fd5597ed6 ("virt-launcher-testvmi-q8wqk-q4pr5_kubevirt-test-default1(207ffddd-b100-4160-9e2f-2b3fd5597ed6)"), skipping: failed to "StartContainer" for "container-disk-binary" with CreateContainerConfigError: "cannot find volume \"virt-bin-share-dir\" to mount into container \"container-disk-binary\""
so probably we can't do much in here, WDYT?

Looking retrospectively at this we should investigate why the init containers didn't start in 60 seconds.
I can see that pod is marked for deletion and not initialized at the same time.
Seems like we don't delete the VMI but I guess we could in this case. This PR would make the test fail early and show us the startup of vmi is failing or it just gives more time to initialize the pod.

Ah that was the background. Could you add that the the PR description? The issue which you work around here is that the kubelet does not delete the pod fast enough with deletionTimestamp set but init containers not yet done.

so probably we can't do much in here, WDYT?

Yes, this is an internal kubelet thing which does not work smoothly in this scenario. Would you mind checking the k8s bug reports for something like this and either commenting there or creating an issue?

@rmohr updated and I will try to follow up with Kubernetes.

/lgtm
/approve


verify-range: revert on-disk mode, use S3 URLs for history archives

Revert on-disk mode in Captive-Core config and use S3 URLs for history archives. The first change ensures that verify-range container runs fast (currently it takes 2 hours in AWS to ingest state alone for a single range), the second makes the download of bucket files faster in AWS Batch.

may want to keep an eye on the verify-range ec2's, they should be pretty large compute profile already, just mentioning as will need to have the extra RAM capacity now that core will be using in-mem.


Implement dhcp ays service

https://rawgit.com/g8os/grid/gw/raml/api.html#nodes__nodeid__gws_post
Check dhcps part of the object
Need to be able to configure static IPs as defined in gwhost object

Tested with this payload
{
  "name":"gw_26",
  "domain":"tester",
  "nics":[
    {
      "name":"public",
      "type":"vlan",
      "id":"0",
      "config":{
        "cidr":"<IP_ADDRESS>/24",
        "gateway":"<IP_ADDRESS>"
      }
    },
    {
      "name":"private",
      "type":"vxlan",
      "id":"100",
      "config":{
        "cidr":"<IP_ADDRESS>/24"
      },

			"dhcpserver":{
        "nameservers":[
          "<IP_ADDRESS>"
        ],
        "hosts":[
          {
            "macaddress":"00:A0:C9:14:C8:29",
            "hostname":"sarah",
            "ipaddress":"<IP_ADDRESS>"
          },
					 {
            "macaddress":"00:A0:C9:14:C8:30",
            "hostname":"xtemX",
            "ipaddress":"<IP_ADDRESS>"
          }
        ]
      }

		}
  ]
}


Implement Path.home on Windows

Path.home uses the %HOME% environment variable even on Windows, where it is nonstandard. This PR changes it to %USERPROFILE% and adds a fallback when that environment variable is absent.

The corresponding fallback for POSIX is a combination of getpwuid_r with either getuid or geteuid. The latter doesn't exist in the bindings yet. For ease of review I am doing that in a later PR.


Can't open or create a new notebook in Spyder on Mac OSX

Description
What steps will reproduce the problem?

pip install spyder-notebook
Open Spyder
Try to Open or create a New Notebook

What is the expected output? What do you see instead?
I expected to get a notebook, but I just get an error message, on Mac OSX running Sierra. Note I do have jupyter installed (version 1.0.0), but it seems to be looking for something else?
Please provide any additional information below
File "/Users/conor/anaconda/envs/P3/lib/python3.6/site-packages/spyder_notebook/notebookplugin.py", line 314, in create_new_client
server_info = nbopen(filename)
File "/Users/conor/anaconda/envs/P3/lib/python3.6/site-packages/spyder_notebook/utils/nbopen.py", line 75, in nbopen
proc = subprocess.Popen(command, creationflags=creation_flag)
File "/Users/conor/anaconda/envs/P3/lib/python3.6/subprocess.py", line 707, in init
restore_signals, start_new_session)
File "/Users/conor/anaconda/envs/P3/lib/python3.6/subprocess.py", line 1326, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'jupyter'
Version and main components

Spyder Version: 3.2.0
Python Version: 3.6.1
Qt Versions: 5.6.2, PyQt5 5.6 on Darwin

Dependencies
pyflakes >=0.6.0 :  1.5.0 (OK)
pycodestyle >=2.3:  2.3.1 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.20.1 (OK)
numpy >=1.7      :  1.11.2 (OK)
sphinx >=0.6.6   :  1.6.3 (OK)
rope >=0.9.4     :  0.10.5 (OK)
jedi >=0.9.0     :  0.10.2 (OK)
psutil >=0.3     :  5.2.2 (OK)
nbconvert >=4.0  :  5.2.1 (OK)
sympy >=0.7.3    :  None (NOK)
cython >=0.21    :  None (NOK)
qtconsole >=4.2.0:  4.3.0 (OK)
IPython >=4.0    :  5.4.1 (OK)
pylint >=0.25    :  1.7.2 (OK)

Issue moved to spyder-ide/spyder-notebook #106 via ZenHub


Test: SCM - incoming changes file decoration

Refs: https://github.com/microsoft/vscode/issues/204982

[ ] anyOS
[ ] anyOS

Complexity: 3

This milestone we have added file decorations for the files that have been modified on the remote when have incoming changes.
Prerequisites

Install the latest version of VS Code Insiders
Ensure that you have the following setting enabled - git.decorations.enabled

Testplan

Launch VS Code Insiders
Open a folder/workspace that contains a git repository
Open the "Source Control" view and see if you have any incoming changes
Open the repository on GitHub.com (or clone the repository in a second directory)
Make changes to files:

Modify some files and commit the changes
Delete a file and commit the change
Rename a file and commit the change

Switch back to VS Code and run the "Git: Fetch" command

Confirm that the new commits appear as incoming changes

Switch to the Explorer

Confirm that the files have the correct decorations

Click on the branch name in the status bar and create a new branch

Confirm that the decorations are cleared

Click on the branch name in the status bar and switch back to the original branch

Confirm that the files have the correct decorations

Open Settings and disable the git.decorations.enabled setting

Confirm that the file decorations cleared

Open Settings and enable the git.decorations.enabled setting

Confirm that the files have the correct decorations

Invoke the "Git: Pull" command

Confirm that the commits are gone from incoming changes
Confirm that the file decorations cleared

Closing the TPI as we have decided to delay this by a milestone.

Really nice! Love this feature


No way to preview key events in a Window with trivial content

Given a Window with trivial content like a single Text, there is no way to preview key events in it even if this Text is made focusable and gets focused.
import androidx.compose.desktop.Window
import androidx.compose.foundation.focusable
import androidx.compose.material.Text
import androidx.compose.runtime.DisposableEffect
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.input.key.onPreviewKeyEvent

fun main() {

    val focusRequester = FocusRequester()

    Window {
        Text("Content", Modifier
            .focusable()
            .focusRequester(focusRequester)
            .onPreviewKeyEvent { println(it); true }
        )

        DisposableEffect(Unit) {
            focusRequester.requestFocus()
            onDispose {  }
        }
    }
}

Here, nothing is printed out if a keyboard key is pressed.

In fact, even if we try to capture the focus with focusRequester, the result is false.
I wonder why.

Can you try this?
fun main() {

    val focusRequester = FocusRequester()

    Window {
        Text("Content", Modifier
            .focusRequester(focusRequester)
            .focusable()
            .onPreviewKeyEvent { println(it); true }
        )

        DisposableEffect(Unit) {
            focusRequester.requestFocus()
            onDispose {  }
        }
    }
}

Can you try this?

It works, thank you! I wonder why, though, because it's counterintuitive to assign a requester to something that isn't focusable yet.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Fix idle task name verification

Fix verifyIdleTask in test_timeslice_verification_idle_core
Description

Test Steps

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Merge this PR first to fix the test.


Disable print hover not supported

I find the printing of hover not supported slightly annoying if I am in a buffer that does not support signature help. It would be great if there was an option for disabling this print

Oh god, I came here for the same reason, yah it's pretty annoying.
@ray-x, I suggest using plenery.log, and if the user want to see error message and debug, he can just let a global variable be true. e.g. lua _LSPSIG_DEBUG = true

Thanks for the suggestion.
May I know what lsp you are using? If hover not enabled, does it have any side effects?

I have configured python, rust, sqlls, html, vim, vue, json, cpp, css, csharp, bash, lua, typescript and latex, but none of them are active and attached when it's printing.

I had the issue with swift language server, I believe this was the first time I had the issue.

Thanks for your advice. I have update plugin and using log now. Unless it is enable, you should not see the print statement


WIP: Blob serialization v 4

Replaces #46, #60 and #61.

Does the change in this commit read the first 3 bits or just the first 1 bit of the indicator byte? Does the implementation match the comment?

Please comment on the latest changes not on each commit.
That is commented out, not a comment. It will be removed or modified before merging.

Replaced by #67.


Compiling fails

Adding sqlx as a dependency to my project causes cargo build to fail -
error: could not compile sqlx.
(exit code: 0xc0000
005, STATUS_ACCESS_VIOLATION)
I added:
sqlx = {version = "0.3.4", features=["postgres", "sqlite", "chrono"]}
These are some of my other cargo dependencies which might be interacting badly:
chrono = {version = "0.4.11", features = ["serde"]}
postgres = {version = "0.15.2", features = ["with-time", "with-chrono"]}
rust_decimal = {version = "1.0.1", features = ["postgres"]}
rouille = "3.0.0"
serde = { version = "1.0", features = ["derive"] }
log4rs = "0.12.0"
log = "0.4.8"
I am using rustc 1.42.0 (stable-x86_64-pc-windows-gnu)
Can anyone advise why rustc might be failing to compile here?

The only thing I can think of is the C library behind sqlite exploding somehow. Perhaps try removing sqlite and see if it compiles?
Otherwise I'm definitely going to need a reproduction to try and fix this. I have never seen something like that with cargo.

Please re-open if this is still an issue for you.


chore: update Windows skipped tests.

The headful one I'm permanently skipping as I don't know what the issue is and I can't debug without getting my hands on a Windows machine. If anyone has one or is able to help, that'd be great!
The other I'm deferring another month and will ping the FF folks :)

@mjzffr just an FYI regarding the FF launcher on Windows.


[question] FCM on ios

Expected Behaviour
Actual Behaviour
On the ts types file only is the "gcmSandbox" attribute.
The API documentation says: "iOS GCM support. The following properties are used if you want use GCM on iOS." and the property name is ios.fcmSandbox.
What's wrong? The API or ts types file?? it's necessary this property to do this works on ios? I have problems to register ios devices and receive an id.
https://github.com/phonegap/phonegap-plugin-push/blob/master/types/index.d.ts
https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/API.md
Steps to Reproduce
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Cordova CLI version and cordova platform version
Cordova CLI : 7.0.1
Cordova Platforms  : android 6.2.3 browser 4.1.0 ios 4.4.0
Plugin version
<EMAIL_ADDRESS>Sample Push Data Payload
Sample Code that illustrates the problem
Logs taken while reproducing problem

@raugaral I have the same issue. Have you found out?

I updated the types file.


WIP - Macos tests run

Just tinkering on mac (aarch64).

I skipped using ld.lld on mac, as it looks a bit like it should be ld64 or something (more clarity required on that).
Then it starts failing tests due to unrecognized assembly instructions - which makes sense.

Confirmed that macos-15 runs on arm64...
"Run uname -a
Darwin Mac-1733386436564.local 24.1.0 Darwin Kernel Version 24.1.0: Thu Oct [10] 21:04:31 PDT 2024; root:xnu-11215.41.3~2/RELEASE_ARM64_VMAPPLE arm64"
Just FYI


Improve prerender error message

Add a more specific error message which would have saved me some time.
Addresses #280.

Hi @ehaskins, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

Thanks for contributing this! Since support for redirections has now been added (see #280), I think we no longer need this improved error message since the redirection would now be handled properly.


Backend Integration for the image in the blog

Description
I have added the image option in the blog
User can now upload the image in the blog and also see that in the blog
Fixes #1060
Screenshots
https://github.com/user-attachments/assets/3a332e3c-eda0-47de-bf98-14d8b5a076e2

Checklist

[ ] Tests have been added or updated to cover the changes
[ ] Documentation has been updated to reflect the changes
[ ] Code follows the established coding style guidelines
[ ] All tests are passing

@thestarsahil  Sir i have added an image upload option and also added this image to the blogRead page

@thestarsahil  Sir i have an idea like i can upload the image on the cloudinary server and from their i can access it and in the database i will just store a very small link as the length of the title so it will not take space
and if you want another solution so i can also uplaod image by compressing it
Sir so with that should i proceed


Move bitcoincore_rpc handling to fedimint-bitcoind crate

As we refactor for modularization the BitcoinRpc handling code
can no longer sit in fedimint-wallet, so we need to move it.
It could possibly sit in fedimint-api, but since some builds
might not want to use it or want to use different implementation
of BitcoinRpc possibly, it makes sense to put it in a separate
crate.

Could you add a comment about why this is necessary or useful?

@justinmoon Done.

Why can't BitcoinRpc stay in the wallet module? This seems very module-specific ...

Why can't BitcoinRpc stay in the wallet module? This seems very module-specific ...

Hmmm... At very least it's used in:
integrationtests/Cargo.toml
25:fedimint-bitcoind = { path = "../fedimint-bitcoind" }

and BitcoindRpc is defined in fedimint-api:
fedimint-api/src/bitcoin_rpc.rs
25:pub trait IBitcoindRpc: Send + Sync {
60:    pub BitcoindRpc(Arc<IBitcoindRpc>)

and BitcoindRpcCfg:
fedimint-api/src/config.rs
527:pub struct BitcoindRpcCfg {

and we have fake implementations used in all tests with:
fedimint-testing/src/bitcoind.rs
7:use fedimint_api::bitcoin_rpc::{IBitcoindRpc, Result};
11:pub struct FakeBitcoindRpcState {
19:pub struct FakeBitcoindRpc {

Possibly fedimint-wallet would be the only place where we use the "real" (bitcoincore-rpc crate based) implementation of BitcoindRcp, if it weren't for the integrationtests that also want to talk with the real bitcoind.

Codecov Report
Base: 58.26% // Head: 58.20% // Decreases project coverage by -0.06% :warning:

Coverage data is based on head (b40aa04) compared to base (a9ccd43).
Patch coverage: 41.90% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #823      +/-   ##
==========================================
- Coverage   58.26%   58.20%   -0.07%
==========================================
  Files         101      102       +1
  Lines       16293    16298       +5
==========================================
- Hits         9493     9486       -7
- Misses       6800     6812      +12

Impacted Files
Coverage Δ

client/client-lib/src/wallet/mod.rs
73.54% <ø> (ø)

fedimint-bitcoind/src/bitcoincore_rpc.rs
0.00% <0.00%> (ø)

fedimint-testing/src/lib.rs
93.37% <ø> (ø)

fedimintd/src/main.rs
1.42% <0.00%> (ø)

modules/fedimint-wallet/src/config.rs
72.56% <ø> (ø)

modules/fedimint-wallet/src/lib.rs
92.70% <ø> (-0.01%)
:arrow_down:

fedimint-bitcoind/src/lib.rs
3.50% <3.50%> (ø)

fedimint-api/src/lib.rs
86.16% <92.85%> (+0.64%)
:arrow_up:

fedimint-testing/src/bitcoind.rs
96.62% <96.62%> (ø)

client/client-lib/src/query.rs
91.57% <0.00%> (-3.16%)
:arrow_down:

... and 5 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


⚠ Bofrost.nl has degraded performance

In 5cec6db, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 6939 ms

Resolved: Bofrost.nl performance has improved in fc6ac20.


merlin: eldoc, imenu and iedit support

Thanks for mergin my PR, I see you've been busy refactoring it :)
Here are a few more  tweaks, merlin-eldoc is something I've recently come across, and merlin already had imenu and iedit support in the merlin package, just had to bind it to some keys/enable it.

Great work! No nits to pick here! Thanks again for your help.


How to change title of a node dynamically

Hello,
I would like to use an input field for title so that user can change the title if required. Adding input field is easy but how to save the value?

Add an onChange attribute to that input.

Yes, I have done that but then how to save that value to that specific node?

Got it to work. Thanks!

@thewebsitedev When you have an answer to your question, it's helpful if you share the code you used for others to learn from!

@AaronHarris I know but I actually modified react-sortable-tree quite a bit and so it might not work for other users. I will try to provide an example when I get some time.

@thewebsitedev  so can you show your code,i really want to know how to save the value when i  use an input field for title..thanks!

I have the same issue. Can you please mention how you solved  it?


Rewrite GUI in thread safe way

Pango:ERROR:/build/pango1.0-hEi7pY/pango1.0-1.36.8/./pango/pango-layout.c:3916:pango_layout_check_lines: assertion failed: (!layout->log_attrs)
GUI is complicated as hell. What am I doing wrong??

This also seems to be related:
(onionize:2659): Gdk-CRITICAL **: gdk_window_get_width: assertion 'GDK_IS_WINDOW (window)' failed
Perhaps removing widgets is not a good idea?

	// Native GTK is not thread safe, and thus, gotk3's GTK bindings may not
	// be used from other goroutines.  Instead, glib.IdleAdd() must be used
	// to add a function to run in the GTK main loop when it is in an idle
        // state.

Fixed in fc0e1cb5d2d0f1b5327ce191db183fd979801e83