Who is using Timoni?

If you are using Timoni in any capacity, on your home cluster or at work, it would be really great if you could let us now in a comment.
For those of you who can't publicly disclose the name of the organisation where Timoni is used, please reach out to me on CNCF Slack or on email contact (at) stefanprodan.com.
Thank you 🤗

We started to roll Timoni in our K8s deployment at Loft. We were already using CUE for most our deployment but were relying on some custom made tools + script to achieve deployment.
Timoni makes it really more reliable for us, especially with module oci publish and bundle deployment.

I am exclusively using timoni in conjunction with flux v2 and flagger to implement our kubernetes applications here at Clarity AI. So far very happy with the user experience and with the power of this toolset.

I will add that we are of course very interested in learning about the timoni-controller for flux, any updates you are willing to share @stefanprodan would be much appreciated!

Hi! I'm starting to use Timoni right now, currently reading docs, also I'm writing a post about it in https://sredevops.org
If you have the time, let me know if we can have an interview for the site or anything else you think it could be interesting to our readers, mostly spanish speakers and latin american SREs and DevOps.
Regards from Chile and thank you very much.

As a way to learn cue and Timoni I'm currently working on a Timoni module(s) for Cert-Manager. Quite enjoy working with it all so far.

Started playing with it because we're hitting the ceiling with helm and there is simply no alternative yet which i consider worth investing time in switching to ... or is there? :) Absolutely loving it so far, great engineering decisions!

https://sredevops.org/es/timoni-una-nueva-y-facil-alternativa-a-helm-o-como-gestionar-aplicaciones-complejas-en-kubernetes/
As promised :)

I'm using Timoni in my home lab Raspberry Pi 4 + k3s + Flux v2. I created modules and bundles to deploy a group of microservices called Cinema. The Cue adoption wasn't hard and the Timoni foundations are great. I'm sure the community will appreciate this initiative.
To support this project I'm sharing these ideas across Kubernetes Community Days events, especially in Spanish where we have a wide community. I had the first one in KCD Spain (The video is pending to published on YouTube)
Let me know if you need some help to translate the website to Spanish in case of need, or to support the modules creation. @ngeorger, maybe we can collaborate to push a bit more this content in the Spanish community.

I'm starting to use CUE and Timoni at home and work. Timoni will be used heavily by me because I can publish apps and bundles using OCI artifacts with signatures.
At work I am a Platform Engineer, we are checking out CUE and Timoni because we can build something that can scale and be deployed onto "difficult-to-reach" clusters. Mainly a way to repackage existing apps (eg. loki & grafana) and bundle them together and deploy something that works, but also for packaging company services.
Bundles are grouped into categories like storage or networking. We plan to piece multiple bundles together to create the platform as a whole. The operators of the clusters can choose for example which storage bundle they need for their cluster.
The only tools that have come close to solving this are Timoni and CUE. ❤
The only missing piece for me at the moment is the timoni-flux-controller 😉

Hi Stefan,
Thank you for the work you put in Timoni, it really helps me to create valid Kubernetes manifests that are also configurable, easy to debug and maintain. I am still new at creating manifests to deploy our software to Kubernetes and I find it so much easier with Timoni to find out how all kinds of resources are structured. Therefore I make less mistakes during development :+1:
I use Timoni at work, because I am already busy building a CD pipeline with Flux. And because you're one of the developers at Flux I looked at your other projects too, that way I found out about Timoni.
Because there is not yet a Timoni Flux Controller, I use Timoni as a templating engine. Which is already very handy! But I also would love it when Flux could handle Timoni modules/bundles :tada:
What I still try to figure out is how I could include encrypted secrets from a Git repo to create k8s manifests with Timoni.
Keep up the good work @stefanprodan and thank you!

Hi Stefan,
Thanks for developing Timoni!
I am currently reworking the automation for the bare-metal Kubernetes cluster in my homelab using Timoni and Flux. I initially developed the automation using Terraform, but got frustrated with its limitations when working with Kubernetes. Dealing with CRDs is especially painful. I am new to Flux, Cue, and (of course) Timoni, so it's quite a learning curve at the moment.
I chose Timoni probably for the same reason as many of us. I am fed up with Helm and dealing with pushing YAML through text templating. We deserve better, more sophisticated tools. Timoni looks very promising.
Eager to see where this project is going, and perhaps make some contributions!

Currently evaluating Timoni primarily as a kubernetes application delivery format. My company is building cloud-native products for the pharma industry and we need to deploy on BYO cloud primarily. Wouldn't say I'm using Timoni yet fully. I mostly was looking for:

sane parametrized YAML generation (hadn't used CUE before but it seems good for the job)
potential for client-side parametrization (timoni is easy enough to install on a cloud shell and parametrize via YAML/JSON)
non-GitOps deployment
some thought given to secret mgmt.
support for easily generating different, but closely related results (i.e. a thoughtful implementation of composable components via Bundles & Modules)
deployment mechanism supports ordered/staged application

I would still like to see some more thought out support for airgapped compatible installs and bundling of all artifacts needed for deployment into a single OCI artifact (e.g. imgpkg).
I would also like to see support for consumer self-service upgrades via a web UI (something like kubeapps or kapp-controller).
I looked at and tried other tools like Helm (of course...), Tanka (jsonnet), and kapp.
Helm is ... helm. It was going to kill us as a small team to keep using it. Everything you need to do is hard and it provides very little value except that consumers already have it installed, are likely familiar with it, and supports client side template expansion. Using well done charts is usually a decent experience as long as they aren't subcharts, which begs the question of what that meta-tool is? The Timoni module systems seems much better on the surface at least.
Tools like Tanka were great but very oriented towards internal deployments and specific directory structures and no redistributable artifacts. Also after learning Cue I see a lot of flaws in the jsonnet approach (that admittedly wouldn't have effected a smaller product like ours as much.) Kapp was the closest since in theory you can combine any YAML generation you want, except that this only really works for internal projects and you must use the kapp-controller for client-side generation. This is overkill to have a controller for this and it only supports a few template generators and primarily Helm and ytt (ytt is a no-go for me in templating).
One last comparison I will make is our K8s development environment/CI tool Garden which is great as its like a semi-scriptable build system that makes it very easy to set up DAGs of steps to do for a deployment (including tests). I would like to see more features towards this "build script" functionality for client-side installations.

We are transitioning to a Kubernetes based cloud infrastructure. One of our goals leading us to do this is minimizing complexity and friction for dev teams deploying apps. We've explored a number of options, including straight yaml manifests, Kustomize, custom templates, custom controllers, Helm charts... None of these provide the level of abstraction or maintainability we require to achieve our goal.
I'd looked into Cue alone, and I like it very much - while it may be more complex than I'd like to impose on dev teams, I thought it would be a suitable language for abstracting some of the details of Kubernetes deployments.
Timoni so far appears to check all the boxes. Cue give us schema and validation, We are still evaluating it, and are working on a prototype but I am fairly certain it will become our preferred method for configuration management.

I'm currently using Timoni in my homelab to (post-)bootstrap my Talos Linux cluster.
Talos Linux is awesome, but you still have to install a CNI / CSI / Ingress after installing it to a bare-metal server. The hard part there is that there is a need for an ordered apply, e.g. I first want to have CNI up, then deploy MetalLB (needs CNI) and then the Ingress controller (needs external LB IP from MetalLB).
This is the bundle I'm using as an example of how powerful Timoni is for me:
bundle: {
	apiVersion: "v1alpha1"
	name:       "infra"
	instances: {
		// Flux AIO
		"flux": {
			module: url: "oci://ghcr.io/stefanprodan/modules/flux-aio"
			namespace: "kube-system"
			values: {
				hostNetwork:     true
				securityProfile: "restricted"
				controllers: notification: enabled: false
				env: {
					"KUBERNETES_SERVICE_HOST": "<IP_ADDRESS>"
					"KUBERNETES_SERVICE_PORT": "7445"
				}
			}
		}
		// CSI
		"openebs": {
			module: url: "oci://ghcr.io/stefanprodan/modules/flux-helm-release"
			namespace: "kube-system"
			values: {
				repository: url: "https://openebs.github.io/openebs"
				chart: {
					name:    "openebs"
					version: "*"
				}
				helmValues: {
					// https://github.com/openebs/openebs/blob/main/charts/values.yaml
					engines: {
						replicated: mayastor: enabled: false
						local: {
							lvm: enabled: false
							zfs: enabled: false
						}
					}
					// https://github.com/openebs/dynamic-localpv-provisioner/blob/develop/deploy/helm/charts/values.yaml
					"localpv-provisioner": hostpathClass: isDefaultClass: true
				}
				sync: targetNamespace: "kube-system"
			}
		}
		// Load Balancer Controller
		"metallb": {
			module: url: "oci://ghcr.io/stefanprodan/modules/flux-helm-release"
			namespace: "kube-system"
			values: {
				repository: url: "https://metallb.github.io/metallb"
				chart: {
					name:    "metallb"
					version: "*"
				}
				sync: targetNamespace: "kube-system"
			}
		}
		"metallb-config": {
			module: url: "oci://ghcr.io/lion7/modules/metallb-config"
			namespace: "kube-system"
			values: pool: addresses: ["94.*.*.*/32"]
		}
		// Ingress Controller
		"traefik": {
			module: url: "oci://ghcr.io/stefanprodan/modules/flux-helm-release"
			namespace: "kube-system"
			values: {
				repository: url: "https://traefik.github.io/charts"
				chart: {
					name:    "traefik"
					version: "*"
				}
				helmValues: {
					// https://github.com/traefik/traefik-helm-chart/blob/master/traefik/values.yaml
					persistence: enabled: true
					certResolvers: letsencrypt: {
						email:        "***redacted***"
						tlsChallenge: true
						storage:      "/data/acme.json"
					}
					ports: websecure: tls: certResolver: "letsencrypt"
				}
				sync: targetNamespace: "kube-system"
			}
		}
	}
}

@lion7 Agree about ordered applies. Helm makes ordering and dependencies beyond painful to deal with. Injecting specially built init containers, debugging hook ordering between multiple subcharts, dealing with orphaned hook resources... terrible.
I do think that Timoni could use something more advanced like dependency graphs for install ordering as a special case which could provide some speedups and remove the need for manual topological sorts, but hey I'll take the low level primitive over "not possible" any day.

I'm distributing a Timoni Module for my project: https://github.com/matheuscscp/gke-metadata-server
If I ever create another project for Kubernetes I will definitely distribute it with Timoni again :hugs:


Use official Cache task for continuous builds

This moves continuous builds from the unofficial caching task to the official Pipeline Caching tasks now that it is GA. See more here: https://docs.microsoft.com/en-us/azure/devops/pipelines/caching/?view=azure-devops
Note: I did not change the product builds.

Not ready yet


Emerald Transmutation: No Output

I'm playing Wanderlust Reloaded (version 1.2.0 for MC 1.7.10) and Forbidden Magic is included in the pack.
I tried to do emerald transmutation twice and both time my materials were consumed, but no output was generated.
First, 4x BoP sapphires (2x Vitreus, 2x Lucrum) in the crucible to generate aspects then 4x emerald fragments to catalyze the reaction.  No output.  No aspects remaining the the crucible.  Check: it's boiling.  The water level is a bit low; fill it up.
Okay, well, maybe sapphires didn't generate the right aspects or I did something else wrong.  So, I distilled out some pure Lucrum and Vitreus from glass and gold.  I drop in the phials and I see the aspects (8x Lucrum, 8x Vitreum) with my goggles.  I drop in an emerald fragment and 2x Lucrum and 2x Viteum disappear, but I don't see the output.  I try 3 more times (from various angles, with and without magnet mode), and am left with an crucible empty of aspects and even fewer emeralds than before.
https://github.com/Yulife/Wanderlust-Reloaded/blob/master/Server/config/ForbiddenMagic.cfg is the config.  I run the server and can confirm we haven't changed the configuration.

The recipe works just fine for me.  What mods are you using?

There's absolutely nothing in the code that's any different from the equivalent Thaumcraft recipes.  I'm unable to reproduce the problem and have no idea what could possibly cause it.  Sorry. :(


Parameter not working in offline SQS ARN definition

Hi,
I used your plugin to handle adding in the account ID to my SQS queue ARN, which worked great when deploying. However, when running locally (serverless offline start) I get the following error:
(node:20672) UnhandledPromiseRejectionWarning: Invalid request: MissingQueryParamRejection(QueueName), MissingFormFieldRejection(QueueUrl): Invalid request: MissingQueryParamRejection(QueueName), MissingFormFieldRejection(QueueUrl); see the SQS docs.
    at Request.extractError (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/protocol/query.js:50:29)
    at Request.callListeners (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
    at Request.emit (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
    at callNextListener (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
    at IncomingMessage.onEnd (/Users/xxxx/code/authoriser/node_modules/aws-sdk/lib/event_listeners.js:299:13)
    at IncomingMessage.emit (events.js:194:15)
    at IncomingMessage.EventEmitter.emit (domain.js:441:20)
    at endReadableNT (_stream_readable.js:1125:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
(node:20672) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)

Here's my ARN line: - sqs: arn:aws:sqs:${self:provider.region}:#{AWS::AccountId}:${self:custom.queueName}
My temporary fix is to manually switch this to: - sqs: arn:aws:sqs:${self:provider.region}:xxxx:${self:custom.queueName}
Would it be possible to have this variable resolve in offline mode? Or at the very least be set to some random string to prevent the error.
Thanks!

same here

SAME!!

Any update on this?

Same problem

Closing, as all functionalities as provided by this plugin are now covered by the Framework (since v2.50.0)


Should multiple runtimes on the main thread work with the debugger ?

I am currently trying figure out if the ios runtime code supports using multiple runtime instances on the main thread. it looks like the execution of the JS works. However, the debugger doesn't break on break-points in this scenario.
Also, saw the discussions around webworker. Would the debugger be more stable if one of the runtimes on a different (non-ui) thread ?

@jeduden I am interested in what are you trying to achieve by running two runtime instances on the main thread. What is the problem you are trying to solve? How do you initialize the runtimes and which runtime instance do you pass to the  TNSEnableRemoteInspector(argc, argv, runtime); method call?
We have never had an use case to run more than one runtime on the main thread so this scenario is never tested and we haven't actively tried to support it. However, since I can't think of some technical blocker, from technical perspective it should be feasible. Regarding the debugger, currently only one runtime can be debugged and this is the one passed to TNSEnableRemoteInspector(argc, argv, runtime); method. It is possible to have more than one inspector connected to different debugging frontends and listening on different ports but this requires some effort in the runtime(s) side.
P.S. Currently debugging of worker threads is not supported but you still can debug the runtime running on the main thread.

My use case: i have two different systems driven by javascript code. Conceptually, they are disconnected and in an alternative implementation I naturally used two separate JavaScriptCore instances.
Since the systems are separate, the event when a reload of the code could happen is also different. I implemented the reload by just throwing away the vm and instantiating a new one.
If I serve both systems from the same vm, i need to take a better look at hot module replacement.
A bit more context why I am asking:
I stumbled across a section in the code that uses a mapping between thread and vm.
But I didn't see any explicit docs about this topic:

https://github.com/NativeScript/ios-runtime/blob/9f38cae76f598ab761066d9e139104f2a32b1035/src/NativeScript/TNSRuntime.mm#L50

If there is no technical blocker by design, I can continue with my current approach and see what I find.

@jeduden The mapping between threads and VMs is needed by our worker implementation. Each worker runs on a separate thread in a dedicated TNSRuntime. There are cases where a code block can be executed in more then one threads and it needs a reference to the runtime running on the current thread. This is why we have mapping between thread and vm. In your scenario this may need to be refactored a bit to support more than one runtime running on a single thread. Does this answer your question?
Do you have any progress with running 2 runtimes on the main thread? I am curious about what blockers you met and what changes you have made on the code base in order to support this scenario?

@ivanbuhov i essentially stayed on the proven path by enabling the debugger only for one runtime. also tweaked the architecture. With the tweak in place, i can get can away with a single runtime for now.

@jeduden Nice!
Just to summarize:
Currently, we don't support using multiple runtimes on the main thread but it seems to be doable with some limitations:

using Workers may not work or crash.
No available support for debugging both runtimes
Since there are no enough use cases for this one, we are not planning any effort to polish the whole "2 runtimes on main thread" story. This is why I am closing the issue. If anyone wants to contribute on this or just has another opinion, feel free to reopen the issue.


Allow excluding files and directories via exclude.packupdate

An improvement might be to expand the exclude to mods, but this is probably good for now

An improvement might be to expand the exclude to mods, but this is probably good for now

https://github.com/dequbed/PackUpdate/blob/9daf76b252249a59e07fcb5cc538e24f96510f28/tools/packupdate-gen.py#L152-L153


Too Many files open v1.0.1

@ekg @AlistairNWard
I was trying to run 42 bam files with freebayes parallel script using freebayes v1.0.1. It ran for a while however crashed at some point yesterday evening and on restart generates an OS error about too many open files.
Is this a memory issue of the issue with the freebayes parallel script?
I would be very thankful for your help/

Have you tried running ulimit -n to see how many files a process can have open at once?  ulimit -n 1024 should set the limit to 1024. Not sure about the original crash though.

Thanks for the reply. Is this s apart of freebayes or should I run this in a shell. I am sorry I am a bit confused.

Thanks will give this a go so before running freebayes I should run ulimit -n 1024 in the shell and then run freebayes?

yes.

This is set to 1024.

What level of parallelism did you set? Each thread will consume something
like 42 x 2 = 84 + 3 file descriptors. You'll need to set this higher than
1024 if you're running more than about 10 threads.
On Mon, Dec 21, 2015 at 5:43 AM, Yaseen Ladak<EMAIL_ADDRESS>wrote:

This is set to 1024.
—
Reply to this email directly or view it on GitHub
https://github.com/ekg/freebayes/issues/231#issuecomment-166267974.

Hi Erik,
Could you provide a little more detail here? I have been running freebayes-parallel for "polyploid" (pool seq) samples, and have also run into the file handle warning issued by parallel while processing only four bam sample files (ulimit -Sn was first raised to my hard limit of 4096; --use-best-n-alleles was reduced to 2; threads 12–24 depending on the run; ploidy = 40–96 in these separate analyses). Here are the questions:
i) In your file descriptor estimate (above), what does the multiplier x 2 stand for, and would it need to be altered depending on ploidy, coverage, # haplotypes considered/ would the estimate still hold as presented?
ii) The warning from parallel does not prevent a vcf being output by freebayes-parallel in due course. Are there any other expected side effects (to the vcf) as the file descriptor limit is reached, beyond the slow-down in parallel implementation (reduced at intervals to 1–2 threads, but mostly running up to speed)? The output vcfs look OK to me, and can be filtered very nicely in bcftools.
Best wishes,
Raj

The only thing that should matter for the file handle limit is the number
of BAM files you are opening. If you run with very high parallelism then
this could be come high even if there are only a few BAM files, as each
time we open one we consume towards our file handle limit.
On Mon, Apr 11, 2016 at 9:58 PM rajwhitlock<EMAIL_ADDRESS>wrote:

Hi Erik,
Could you provide a little more detail here? I have been running
freebayes-parallel for "polyploid" (pool seq) samples, and have also run
into the file handle warning issued by parallel while processing only four
bam sample files (ulimit -Sn was first raised to my hard limit of 4096;
--use-best-n-alleles was reduced to 2; threads 12–24 depending on the run;
ploidy = 40–96 in these separate analyses). Here are the questions:
i) In your file descriptor estimate (above), what does the multiplier x 2
stand for, and would it need to be altered depending on ploidy, coverage, #
haplotypes considered/ would the estimate still hold as presented?
ii) The warning from parallel does not prevent a vcf being output by
freebayes-parallel in due course. Are there any other expected side effects
(to the vcf) as the file descriptor limit is reached, beyond the slow-down
in parallel implementation (reduced at intervals to 1–2 threads, but mostly
running up to speed)? The output vcfs look OK to me, and can be filtered
very nicely in bcftools.
Best wishes,
Raj
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/ekg/freebayes/issues/231#issuecomment-208530577

I've encountered a similar issue:
parallel: Warning: No more file handles.
parallel: Warning: Raising ulimit -n or /etc/security/limits.conf may help.

Using 2 separate Freebayes run on 1 BAM file each (each process returned their own error), using 30 cores each. My ulimit -n is also set to 1024, but I will try to raise it to the system limit (4096, though my sysadmin says the system limit can also be increased). Do you have any recommendations on estimating the proper ulimit based on a number of input BAMs and cores used?  Here's an example of /proc/cpuinfo for one cpu. (In a nutshell, 2 CPUs with 16/32 physical/logical cores each.)
processor       : 63
vendor_id       : GenuineIntel
cpu family      : 6
model           : 79
model name      : Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz
stepping        : 1
microcode       : 0xb000021
cpu MHz         : 2599.980
cache size      : 40960 KB
physical id     : 1
siblings        : 32
core id         : 15
cpu cores       : 16
apicid          : 63
initial apicid  : 63
fpu             : yes
fpu_exception   : yes
cpuid level     : 20
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips        : 4204.21
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual

Also curious to know if the warning means my results are affected; I'm guessing no, since the CPUs still seem to be used, and  freebayes still seems to be running for a while since this occured..


Implement '+' as operation on lists and objects

This would be an append, as in:
a=[1,2,3];b=[4,5,6];a+b => [1,2,3,4,5,6]

Argh!  Adding an object to a list should just add the object as one entry, similarly adding a list to an object should just add the one list value, not all of them separately (facepalm). See "concatObjects" in CalcUtil around line 1240 ff.


Updated inline samples for Python IoT Hub Device SDK scenarios to use best practices

Samples were using outdated APIs, and were updated accordingly
Samples were not using best practices for graceful exits and error handling, and were updated accordingly

@cartertinney : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @cartertinney - Your pull request was created in the public repository. Would you be able to make these updates in the private repo? The private repo offers automated QA checks that we can't provide in the public repository. Let me know if you need more information. Thanks.

Email sent. Thanks.
@robinsh As an alternative, we could move this commit to the private repo, or you can review it here. Please let us know.

Per email, robinsh will review the PR in this repo; keep open.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks, all.


sw-emulator: Add physical memory protection (PMP)

This will allow us to be able to move some values out of the data vault and into DCCM, which we can lock for access as appropriate.
Originally written by @Elizafox for the 2.0 MCU emulator.

Based on @jhand2's comments, I'll put this behind a feature flag.

Do you have a link to a hw spec for how VeeR PMP works? Would be helpful for reviewing this.

https://riscv.org/blog/2024/03/adding-physical-memory-protection-to-the-veer-el2-risc-v-core-2/ describes it in overview, but the privileged spec for RISC-V contains most of the details.

Closing this in favor of a PR to main-2.x


feature(GestureDetector): add GestureDetector between widget_body and…

… sidebar when sidebar is not collapsed.
before:

after:

@partitionce Thanks a lot for this pull request, it is a good feature added to this flutter package.
Hope you'll continue to support this and other open-source projects. 😁😁


Enable change password form in Admin

In order to change users passwords in Admin, add a separate form to do that change.

Solved in this commit


Whether a system tray can be created using dioxus?

I want to implement the system tray function for my desktop app，but I cant find any  related API  in dioxus.

Hi,
As far as I'm aware, Dioxus unfortunately does not currently support using the system tray.
Thanks for the feature suggestion – I agree that this would be useful.

You can leave the issue open to track this missing feature if you wish. It's helpful for contributors to see what kinds of features are not implemented yet.

If you add a feature tray to the dioxus in cargo.toml you can use use dioxus_desktop::tao::system_tray.

If you add a feature tray to the dioxus in cargo.toml you can use use dioxus_desktop::tao::system_tray.

I'm trying to use it, but dioxus_desktop::tao::SystemTrayBuilder requires an &EventLoopWindowTarget<UserWindowEvent> to build(), which is currently not exposed in dioxus_desktop::launch_with_props. I'm not sure whether it's usable at the moment. Below is my attempt:
use dioxus_desktop::{
    tao::{
        system_tray::{SystemTray, SystemTrayBuilder},
        window::Icon,
    },
    Config, WindowBuilder,
};

fn main() -> anyhow::Result<()> {
    let icon = image::open("icons/tray.ico")?;
    let tray = SystemTrayBuilder::new(
        Icon::from_rgba(icon.to_rgba8().into_vec(), icon.width(), icon.height())?,
        None,
    )
    .build(unimplemented!("needs an &EventLoopWindowTarget<UserWindowEvent>"))
    .expect("failed to build system tray");

    dioxus_logger::init(log::LevelFilter::Info).expect("failed to init logger");
    dioxus_desktop::launch_with_props(App, (), Config::new());

    Ok(())
}

Maybe I should open a new issue to track it? Or with wry/tray on its way to being stable we can expect it working soon?


Skylar pm2 configuration

@shyam-habarakada Added tests for api.

Is there something like FactoryGirl, for nose?

node, not nose ;-)


hal-push: check if flag is set in migrator task

Can you add a test for it maybe?

FEATURE_FLAG_ENABLE_HAL_PUSH should be true for QA and false for prod. How can I write a test for it?

Can you add a test for it maybe?

FEATURE_FLAG_ENABLE_HAL_PUSH should be true for QA and false for prod. How can I write a test for it? @MJedr

You can do a fixture which will set feature flag True/False like this one
https://github.com/inspirehep/inspirehep/blob/050f94c8340f3867fad913216474d8be91324193/backend/tests/integration-async/conftest.py#L138
and check if works as expected

@oguzdemirbasci could we add a test?

@oguzdemirbasci what's the status of that?

@oguzdemirbasci can we merge it?

@oguzdemirbasci what's the status of this? :)

@drjova There is a strange error in test. I am on it now.


Ideas to improve count_by and others

Hi, here are a few more minor improvement ideas as I continue going through the snippets. I'm happy to open a PR for them if they are useful.

count_by: use defaultdict() to initialize the return dictionary, and increment in each loop.
Current implementation:
def count_by(arr, fn=lambda x: x):
  key = {}
  for el in map(fn, arr):
    key[el] = 1 if el not in key else key[el] + 1
  return key

Can be refactored into:
from collections import defaultdict

def count_by(lst, fn=lambda x: x):
  count = defaultdict(int)
  for val in map(fn, lst):
    count[val] += 1
  return dict(count)

chuck_into_n and initial

Refactor range(0, val) to range(val).
Refactor lst[0:-1] to lst[:-1].

Thanks for the suggestions. Both seem valid.

Hi, here is a different approach to count an element's occurrence in a list using list comprehension and lambda functions.
lst = [1, 2, 3, 4, 9, 2, 2, 1, "apple", "ball", "apple"]
elementToBeSearched = 2
print(len(list(filter(lambda x : x == elementToBeSearched, l))))

@veronicaguo the collections module contains the class Counter intended exactly for this purpose. You can use
count = collections.Counter()
instead of
count = collections.defaultdict(int)
or you can even initialize the counter directly from the iterable and the function will consist of a single expression:
import collections

def count_by(iter1, map1=lambda x: x):
  return dict(collections.Counter(map(map1, iter1)))

@JahnaviChitta There is no need to first create the list and then to count it (it could be really bad if it had millions of items). This code is counting the items directly:
sum(1 for x in filter(lambda x : x == elementToBeSearched, lst))
...and Python generator expressions are much more powerful. The filtering can be part of the same expression:
sum(1 for x in lst if x == elementToBeSearched)
...but anyway for the solution to be efficient in most case it has to count the all the values in a single pass like do the functions above.


Fix crash in Amount formatter

The PR fixes a cause for crash by removing usage of force-unwrapping in methods used for Amount formatting. Negative values are configured with the expected prefix on the NumberFormatter.

@nspassov this was a smell from 2017 and unfortunately, there are many that haven't yet been refactored.  Thanks for your help.

Glad I could help @kcw-grunt! Hopefully this change makes its way to the appstore release soon :)

@nspassov unfortunately, we are waiting for the App Store and we keep our fingers crossed.


injector: includeInboundPorts set default to star #355

Cherry-pick doesn't work since there is auto generated stuff causing merge conflict.

/retest

Force-merging this. The test failure is not related to this PR.

Thanks!


Support custom keys for the request and response

I took this idea from pino-http, where it's allow to set a custom place for the req and res, both for the logged objects and the child logger.
I would gladly add tests but the test suite is currently failing for me after a fresh install and on master with:
Failed tests:

  10) logs each request track responseTime when server closes connection prematurely:

      Cannot read property 'statusCode' of null

Coverage decreased (-0.1%) to 98.949% when pulling e958bcfce0d9cba61b255dec646bda2af6e6c3f9 on Emilios1995:support-custom-keys into 44cbdec76cb29df2d8e90a4efd35a206b7b02133 on pinojs:master.

It seems CI is failing for Hapi 19 and 20, can you check?

I would gladly add tests but the test suite is currently failing for me after a fresh install and on master with:

Can you fix the tests in another PR then?

@Emilios1995 can you pull latest changes?
#137 has been merged that fixes the test issues


Add cache control header to import maps in Microsoft Azure

Currently S3, Digital Ocean, and Google Cloud Storage all are instructed to send a Cache-Control HTTP response header when serving the import map file.
References:
https://github.com/single-spa/import-map-deployer/blob/6ff73eb1425ca5259fe3aa03fb779d6512d33757/src/io-methods/google-cloud-storage.js#L36
https://github.com/single-spa/import-map-deployer/blob/6ff73eb1425ca5259fe3aa03fb779d6512d33757/src/io-methods/s3.js#L61
However, the same thing does not exist for Microsoft Azure. We should add this to the Azure integration. The file to modify is https://github.com/single-spa/import-map-deployer/blob/master/src/io-methods/azure.js

Resolved in #52

Based off the above, it appears that the IMD will automatically set a cache-control header to CacheControl: "public, must-revalidate, max-age=0" for the importmap.json file when it initially creates the file in the cloud.  This header is not correct, however, or it's at least not what I would want mine to be.
Here is a discussion on the topic, but at a high level, the public, must-revalidate, max-age=0 cache control header will only prevent browser caching.  If you're using a cloud storage service like S3 with CloudFront, this file will still be cached at edge locations even after the file on the origin has been updated.  It's imperative that you see importmap.json files immediately.  You'll see in the discussion linked above, no-cache or no-store will avoid any caching of the importmap.json file (even on edge locations) is what is truly desired.
If this is the case, the ideal behavior may be to use no-cache or no-store by default, OR allow IMD consumers to override it.  Let me know your thoughts.

Most CDNs will cache the import map at edge locations only for a short time when they see the max-age header. Caching the import map a little bit can be good for performance. Cloudfront, for example, sometimes will cache it in edge locations but it only lasts for a minute or so.
I'm open to adding no-cache or no-store to the headers, but I also think we might need to add a configuration option allowing people to change the max-age to be higher, since that's more responsible from a performance standpoint.

I agree with @joeldenning's solution (a configuration option and a possible reconsidering of the default) and I agree with @mellis481's assessment of the importance of this change.
All around 👍. So @joeldenning how would you like to approach this? Should this issue get reopened and then @mellis481 or I can make the PR?

Yes I'm open to a change allowing for configuring of the cache control header. I'd prefer a new Github issue, since this issue was already resolved and the new discussion is something different. I'm happy to review a pull request with the change.


Fix #6 issue

Added new zoo docs, fixed iguana docs #6 and added device examples to GetDeviceInfo endpoint


Add ability to create dropdown-menu for linked_sites

Problem
For linked_sites in the same category, it is not possible to create a dropdown-menu with config file.
Feature
Add ability to configure a dropdown-menu for linked_sites.
Config Example:
linked_sites:
  - name: "Cloud"
    url: "https://cloud.example.com/"
    type: "single"
  - name: "Files"
    type: "catecory"
    sites:
      - name: "Application"
         url: "https://cloud.example.com/files/application.doc"
      - name: "Rental"
         url: "https://cloud.example.com/files/rental.doc"

https://github.com/JuLiaN47V/association-as-code/pull/8


[D&D 3.5] Macros for 1st level martial maneuvers do not work.

First level martial maneuvers give an error every time they're rolled, "No attribute was found for @{TestCharacter|maneuvermacro15}" where TestCharacter is the name of the sheet it was rolled on.
I believe this error is due to line 5135 in charsheet_3-5.html that sets up the textarea for the macro having name="attr_spellmacro15" instead of name="attr_maneuvermacro15" but I am not overly familiar with the sheet's code, so I'd prefer to have someone else check this.

Thanks for your reporting, I solved the issue and I released this version of the sheet here https://app.roll20.net/join/10242897/UAl6gg (it's like a validation environment).

I'm going to assume that this issue has been resolved. Feel free to create a fresh issue if it is not.


misc: fix analyzer error regarding missing return value

Feel free to squash/merge and delete the branch if you're happy

@mkustermann – PTAL
Using async/await will improve debuggability on the VM

@mkustermann ?


Add remaining topics of CSS which are covered in CSS videos

Description
take refence from excel file of CSS

assign me pls

see msg in discord

Please close this issue @arpit456jain @singhmansi25 @KKhushhalR2405


Http instead of https being used for download links.

How I insecurely installed ruby and why and things:
At the following url : ruby-lang.org/en/documentation/installation/#rubyinstaller there is a link to the ruby installer website. Note: unlike the link I have made for this issue, the ruby-lang.org website has the following link which is an "insecure" version of the ruby installer website because it's not bering served with https. This http version also seems to be the version I am directed to from the google index of "downloads" from what I can tell:

The following is a screenshot of what I'm talking about:

When you click on this link, you're taken to an insecure version of the ruby installer website. Note the lack of the green lock:

So, if I were to want to install ruby ( which I did ), I would be doing so via an insecure connection opening myself up to attacks. Moreover, the actual ruby installer website is serving their default download links with http as well ( from what I can tell ):

I've yet to do any testing to see how vulnerable this current setup is. But, knowing what I know about what should and shouldn't be served over https -- well, I just think these situations warrant it.
When I update or install packages with brew -- that seems to be done over https. I can configure apt to use https. Python's download page seems have all of its download links with https.
Perhaps I could just add a little s to the link from the downloads page to make it https?
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.1.exe
I haven't tried. Just tried.
https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.1.exe
Seems to have worked just to the same.
I think it should be the default link to install if the option is there for an extra layer of security by default.

Note: this could totally have been an issue opened in the wrong place.
But, ya' know, you only live once, right?

Moved to probably the right place for this.

UNLESS THIS IS THE RIGHT ONE? WHAT IS THIS PLACE?

@picatz I am as confused as you are at this point... https://github.com/oneclick/rubyinstaller.org does not seem to match what's on the rubyinstaller.org website, so I'm not sure how to make a PR for the website to fix this issue. bintray.com seems to support https just fine, so it's only a matter of updating the links to use https instead of http, but where's the website source? cc @Azolo

@picatz btw I made a PR to update the link to rubyinstaller.org on the ruby-lang site, https://github.com/ruby/www.ruby-lang.org/pull/1514 Thanks!

Awesome!

All the download links in rubyinstaller.org are now https.

Thanks!

@luislavena sorry to bother you, is the source of rubyinstaller.org not on GitHub? The repo that is on GitHub does not seem to match the site 😕

@vais see conversation on this thread: https://github.com/oneclick/rubyinstaller/issues/309#issuecomment-192327048 (starts at that comment with explanation of repos and current setup).

Awesome, thank you @luislavena. And for what it's worth, we miss you and appreciate all you have done and continue to do despite having officially stepped away from the project quite a while ago. Again, thank you.


docs: add breakpoint debugging guide

Closes #7781, relates to #1144

Add breakpoint debugging documentation to the 'appendix' section

While testing with the Node.js inspector, I tried to enable server-side breakpoint debugging, but was not successful. The sourcemaps are being generated, but only client-side code connect to chrome devtools. VSCode breakpoint debugging works well.
I'm hoping there could be a way to debug server-side code within chrome devtools as well, which would help developers who aren't using VSCode, but I'm unsure whose domain this falls in: SvelteKit, Vite, or something else.

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

[ ] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

Thanks, Ben! I also added a link to Svelte Inspector for good measure.

Apologies, I can't read. This is kit.

Can we change the page prefix from 15- to 25-? I'd like to keep the integrations page coming first

@theetrain I think there are a couple comments outstanding on this PR. If you're able to address them I'd love to get this in. We'll be restructuring the docs and closing any open PRs, so I'd like to get it in before that happens


Add dyld shared cache parsing

Fixes #268.
This PR is based on top of #304. For my purposes, #304 on its own is enough to unblock me, because I can have the dyld cache parsing code outside of object. But it might be worth landing into object anyways.
So this is more of a "please take the parts you like" kind of PR.

I think this is fine to add to this crate. I want to experiment a bit with the API though, so I'll probably edit this and keep you as a coauthor.

Sounds good!


Add filter toolbar for posts

I would like to use a filter toolbar (such as that currently available with the projects widget on the home page) to filter posts by category as well. I would like to blog about very different topics, but give users a quick way to see posts relevant to them. The filter toolbar is a nice way to do this.
I tried to do this myself, but do not have the Javascript skills. Is this something you can add?

I actually ended up doing this by recreating the "publications" page. Only a couple files needed to be copy/pasted and changed. However, it seems like the posts+filtering is coming up in v3.3.0 from what I can tell.

Closing this as very similar functionality to filter posts by tag is already implemented, as mentioned above. Happy to review a PR if anyone contributes an improvement - bear in mind that implementing a JS tag filter that is robust to larges sites with 100s of posts is non-trivial and there are a number of points to consider.

@RyanMcCarl , I'm circling back to this issue in 2021. I would like to add the same functionality as you were saying --filter toolbar for posts. Can you elaborate a little bit on how you achieved this? Thanks!


Show drop-down text when hover to files, folders and links

When we hover to files, folders or links, it would show 'Add files', 'Add folders' and 'Add links'.
@srivastavaritik Please assign this issue to me.

hi @ishita80 , you can work on this.


Zooming in/out in Chrome causes misplaced tooltip box

Looks like in the Chrome browser, zoom screws up the chart label positions. If the zoom is set to anything other than 100%, the labels show up in the wrong location.
Reproduced in Chrome 53.0.2785.143, unable to reproduce in Firefox 47.0. Might affect other browsers?

I can confirm that behaviour. It also appears if your Windows scaling is set to 125% or higher.

I'm not sure if this is 100% related, or if it breaks other browsers, but in Chrome, I modified two lines in the setPosition function and have it working to what I required.
var left = event.pageX- window.pageXOffset;// - box.left ; var top = event.pageY - window.pageYOffset;// - box.top ;
Then again, this may just be a project specific issue that I fixed, and as I'm not scrolling on the page, that could also be an issue with this solution.

With a bit more fiddling, I got scrolling to work too, using some stack overflow code to calculate the scroll height. Again not sure about browser compatibility.
var scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; var top = event.pageY - window.pageYOffset + scrollTop ;


smtplib.SMTPSenderRefused: (530, b'5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM

Hi
getting error while running this python script to send emails , it was working fine & suddenly stopped working , can someone please suggest
from email.message import EmailMessage
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
message = MIMEMultipart()
sender_email =<EMAIL_ADDRESS>#enter here the senderemail
rec_email =<EMAIL_ADDRESS>here the receiver email
msg = EmailMessage()
msg['Subject'] = 'test email'
msg['From'] = sender_email
msg['To'] = rec_email
msg.set_content(
"This is an automated mail sent \n Thank you\n xxxxyyy")
server = smtplib.SMTP(host='', port=) #
print("Server value is", server)
server.sendmail(sender_email,rec_email,msg)
server.close()
print("Mail sent successfully!!")

Error m getting right now is as below
raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (530, b'5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM'<EMAIL_ADDRESS>Sorry i cannot share the from & to address as its confidential but this problem is this script was working fine until today & works fine when i connect to my office VPN , today its failing
I spoke to my IT guys they are still checking whats the problem , can someone pls help me

The error says you are not sending authentication. Check your environment variables for username and password, they are probably missing or incorrect.

oh.. checking the same , how do i set the env variables can u pls guide me ?

i tried by providing these valules but its giving authentication error
server = smtplib.SMTP(host='xxxxx', port=xx) -- when i tried with port 587 i was able to send one email  without login & then again it stopped working
server.ehlo()
server.starttls()
server.ehlo()
server.login("username","password")
server.sendmail(sender_email, rec_email, msg.as_string())
server.quit() # smtp.office365.com #
as stated above i tried by changing port to 587 i was able to send one email , & then again i started getting client was not authenticated error , is there a possibility that my IT dept has blocked this server or port
I am trying to access outlook mail box & it was working perfectly fine few days back all of a sudden it stopped working
when providing login details m getting error as below
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.3 Authentication unsuccessful')

working fine after entering username , passwrd & changing port

working fine after entering username , passwrd & changing port


Exclude unnecessary files from the npm package

Listed a few additional files and folders which are currently included in the published npm package, while they should not be.

Is .travis.yml also required?

As has been discussed on others of your PRs on other packages, that one could be excluded, but what’s the value in doing so for such a tiny file?

The beauty of cleanliness :) I am a great fan of purity and all those unnecessary files add up to the build time, disk usage etc. (re: carbon footprint). Even if files are tiny, hundreds of them across many npm packages make a difference.
Most of the packages I checked do not include either tests or examples leaving this to the documentation. I have rarely seen developers looking into the package content vs checking gihtub repo for such information.


⚠ Bofrost.be has degraded performance

In 3006de5, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 960 ms

Resolved: Bofrost.be performance has improved in 73b434f after 27 minutes.


Can i use nuitka generated .so file on android ?

I want to know that if possible to use nuitka generated .so file on android platform to load .so file and call function of .so file.

Currently, so files generated by Nuitka can only be used as modules through python. Functions that you write are not exposed directly.


Facing GC overhead limit exceeded issue with 3.0.0-RC3

QAF Version

3.0.0-RC3
Java 1.8

Steps To Reproduce
When running large amount of tests (regression around 3k tests ). Was not facing the issue with 2.14-RC1. Also this error is returned after the same regression tests run for 14-15 hours, which used to take 4-5 hours before switching to 3.0.0-RC3.
I am using these these properties in my maven-surefire-plugin in pom.xml
-Xms512m -Xmx4096m -XX:MaxPermSize=1024m
-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
Is there anything that you recommend ?
Is the issue reproducible on runner?

[x] QAS
[ ] Maven
[ ] Gradle
[x] Ant
[ ] Eclipse

Will you provide more details. Also provide stacktrace and logs from execution.

These screenshots are from the memory dump (scanned using MAT) taken once GC Overhead issue started:

The class:
com.qmetry.qaf.automation.step.QAFTestStepArgumentFormatterImpl seems to be doing it:

Also, I would like to add that we are getting step not implemented exception liek this:
/**

Auto-generated code snippet by QMetry Automation Framework.

*/
@QAFTestStep(description="verify {0} contains {1}")
public void verifyContains(String str0,String str1){
//TODO: remove NotYetImplementedException and call test steps

throw new NotYetImplementedException();

}
at multiple places now because of the way the step arguments are getting parsed now. Can this cause more memory utilization ?

@raviguptasmarsh will you try beta-3 or 4?


Log H2 errors with the codes

H2 errors are logged only if they have error messages, and even with the messages, actual error codes are not logged.
We should log all errors with the codes at these places so that we can see what happened. If you don't want to log some particular errors for some reasons, you can skip these logging by passing nullptr as an error message (the default message is an empty string).
If everything is working well, amount of logs should not increase.
I'd like to backport this change to older versions because I think this is essential information for troubleshooting.

[approve ci autest]

[approve ci autest]

[approve ci autest]

[approve ci autest]

[approve ci autest]


Install torch only if not present

Closes #590
I think the binaries must reflect this as well.

I went through https://github.com/pytorch/builder/tree/master/conda/torchvision-0.2.1, and noticed that the build command is python setup.py install, which is why I thought this would be a correct patch.

yes, but pip install torchvision directly installs the pre-built wheel file (.whl).  That wheel file is generated using python setup.py bdist_wheel, which also uses setup.py. So after your patch, the wheel no longer will depend on torch

I am sorry if I am missing something here: the wheel would no longer depend on torch if torch is already installed, right? I did something like what was done for pillow.

The wheel encodes static list of dependencies. setup.py doesn't run again when the pip install torchvision is run. What's going to happen is this:
We create a .whl file by running python setup.py bdist_wheel. This will run the setup.py logic, and determine the conditional requirements.append('torch'), and then hardcode requirements into the wheel file.
Subsequent environments will just use that statically encoded requirements and wont execute if get_dist('torch') is None:

Thank you for the explanation @soumith . Sorry to bother you about this. I will close this PR too.


increase Python speed by over 30%

The speed of the Python code can be increased by over 30% by doing the following:
1.
range(len(array)) is not only considered bad practice in Python, but it also is slower compared to enumerate(array)
2.
array[i] operations are time consuming and should be avoided when possible, in this case here we can use the benefits of enumerate. It gives us not only the current index, but also returns a local copy of the element at that index. This gives us the possibility to remove two array[i] operations and remove the temp variable alltogether.
the result:
$ ./speedTest.sh python3 pyTest.py
Average:
real 6.663 user 6.656 sys 0.001

$ ./speedTest.sh python3 pyTestOptimized.py
Average:
real 4.930 user 4.924 sys 0.000

tested with Python 3.8.5

Very interesting thank you. I'll look deeper into that change. I would say the main reason I took that approach is to match how it was written in crystal. It was not in any way a fair comparison (specifically involving C, due to how the code was written). In the future, I'll be sure to implement that pairing it with crystal optimizations as well. I appreciate the suggestion!
I like the Java version too! I planned on doing that, but of course, there's the issue with the sizing, I see you split it into parts. For the most recent test, between C and crystal, I had them generate the list backward. Maybe in the future I'll take a look at Java too!

@Matt-London yes the java version is a bit cumbersome, but I was surprised by the speed, it is very competitive.
Right now I am also working on a Cython version and the results are very promising, are you interested in that too, should I create a pull request for those?

@zocker-160 Sure! I'd love to take a look!


ci: lowered lighthouse threshold

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


XML Syntax Guidelines

I get that XML is ugly, but this is the language of RSS. Therefore, we should be writing the best XML possible.
Current syntax:
<podcast:funding platform="[service slug]" title="[user provided note (string)]">[url for the show at the platform]</podcast:funding>
Proposed syntax:
<podcast:funding platform="[service slug]" url="[URL to funding platform]">[user provided content to be linked]</podcast:funding>
The guiding principle here is that XML is intended for computers and people. The content that's intended for computers, should be included in the element. The content that's intended for people, should be included between the elements opening and closing tags.
Empty elements must still be closed. To be as concise as possible, I propose we agree to the short-hand syntax (I know it's gross).
Empty element syntax:
<podcast:transcript url="https://podcastindex.org/ep0002/transcript.json" type="application/json" language="es" rel="captions" />

The content that's intended for computers, should be included in the element. The content that's intended for people, should be included between the elements opening and closing tags.

I agree that should be our guiding principle for attributes vs. content.

Empty elements must still be closed. To be as concise as possible, I propose we agree to the short-hand syntax

The only thing we really have to agree on here is what convention to follow in our documentation. Whether we agree to it or not, I'm pretty sure its part of XML and all XML parsers should respect the self-closing tag.

That would be the exact opposite to "Goal #2 - Minimize Attributes and Sub-elements" ..

@cisene - Not really. If you look at my example, you'll see I'm not adding additional attributes. I'm just moving things around. The content to be linked should live in the tag and the URL should be the attribute.

@cisene Considering booting goal 2 from the doc.  It's a good aim.  But that ship has sailed completely now.  We're attribute city.  :-)  I'm ok with it.  This is the industry designing the spec they need.
@snookfin Shoot me a PR and I'll merge.  Also, we probably need to review and make sure there is consistency across the namespace with url="" and href="" so we can pick just one of those to stick with.

@daveajones Goal #2 may just need to be tweaked. We should be hesitant to add code anywhere in the RSS feed. Whether its attributes or just introducing tags that may not be useful. Something more along those lines maybe?

@daveajones flipping it over; as few elements as possible with enough attributes to carry desired information -- to achieve what we want.
To think about code, fetching attributes are easy with XPath.

@cisene Considering booting goal 2 from the doc. It's a good aim. But that ship has sailed completely now. We're attribute city. :-) I'm ok with it. This is the industry designing the spec they need.

Yes, I think we should. Attributes and subelements are the unfortunate nature of XML. So until we move to a more modern format like JSON, we need attributes and subelements to do what we want in RSS.

Done.


Local Execution

To handle fast and simple workflows. It can be interesting to run them directly from the selflow-cli without using the daemon. It could add the possibility of running local steps
Use cases

Release management for this repository ?

Added in #70


Bad compatibility in safari of iphone 12 mini, ios 14.6

Hi,
I build a simple application with flutter, now I write a function that click a button and jump to anthor application。
TextButton(
  child: Text('jump'),
  onPressed: () {
    print('run at this line in safari of ios14.6');
    dio.get<String>('url').then((rsp) {
       Clipboard.setData(ClipboardData(text: rsp.data));
       launch('xxx://aaa.bbb.ccc/'); // url_launcher
    });
  },
),

this code work fine in chrome in windows, but it's bad to work in safari of ios14.6, also it's bad to use async and await keywords, look like the following code.
TextButton(
  child: Text('jump'),
  onPressed: () async {
    var rsp = await dio.get<String>('url');
    Clipboard.setData(ClipboardData(text: rsp.data));
    launch('xxx://aaa.bbb.ccc/'); // url_launcher
  },
),

Hi @endison1986
Running your code  I am getting Error: DioError [DioErrorType.response]: XMLHttpRequest error.
Can you please provide your flutter doctor -v, a complete reproducible minimal code sample without third-party packages such as dio, and complete flutter run --verbose logs running the minimal code sample?
Thank you

I don't known how to run ‘flutter doctor -v’ or ‘flutter run --verbose’ in my  iphone，I use window10 to dev flutter application，and deploy to nginx，and use my iphone to visit it.
I tried to restore this issue by a simple code with dio and without dio，but I failed，it looks well, I'm so sorry.

I found another two issue in iphone safari in ios 14.6.

I use GestureDetector -> onTap and Navigator.of(context).pushName to trun to a new page from home, and then I use my hand to left slide, the new page and the home page are closed together.
I use CustomScrollView layout my home page the include SliverAppBar, SliverGrid, SliverPadding and all. The issue occur in SliverGrid,  an Opacity widget resulted in Image cover up SliverAppBar

I'm so sorry for my bad english.
CsutomScrollView(
slivers: [
SliverAppBar(...),
SliverGrid(
// Container -> Column -> [ClipRect -> Stack -> Column -> [SizedBox, Visibility -> Opacity -> Container -> Text], ...],
),
SliverPadding(...),
]
)

Hi @endison1986

I don't known how to run ‘flutter doctor -v’ or ‘flutter run --verbose’ in my iphone，I use window10 to dev flutter application，and deploy to nginx，and use my iphone to visit it.
I tried to restore this issue by a simple code with dio and without dio，but I failed，it looks well, I'm so sorry.

The commands will be from your host system but look like you can't reproduce the issue anymore?
Also for another issue https://github.com/flutter/flutter/issues/88014#issuecomment-897434402
Again please provide the details to reproduce this issue
Can you please provide your flutter doctor -v, a complete reproducible minimal code sample without third-party packages such as dio.
Thank you

I found another two issue in iphone safari in ios 14.6.

I use GestureDetector -> onTap and Navigator.of(context).pushName to trun to a new page from home, and then I use my hand to left slide, the new page and the home page are closed together.
I use CustomScrollView layout my home page the include SliverAppBar, SliverGrid, SliverPadding and all. The issue occur in SliverGrid,  an Opacity widget resulted in Image cover up SliverAppBar

I'm so sorry for my bad english.
CsutomScrollView(
slivers: [
SliverAppBar(...),
SliverGrid(
// Container -> Column -> [ClipRect -> Stack -> Column -> [SizedBox, Visibility -> Opacity -> Container -> Text], ...],
),
SliverPadding(...),
]
)

About the first issue, I capture some pictures to declare this issue.

I found another two issue in iphone safari in ios 14.6.

I use GestureDetector -> onTap and Navigator.of(context).pushName to trun to a new page from home, and then I use my hand to left slide, the new page and the home page are closed together.
I use CustomScrollView layout my home page the include SliverAppBar, SliverGrid, SliverPadding and all. The issue occur in SliverGrid,  an Opacity widget resulted in Image cover up SliverAppBar

I'm so sorry for my bad english.
CsutomScrollView(
slivers: [
SliverAppBar(...),
SliverGrid(
// Container -> Column -> [ClipRect -> Stack -> Column -> [SizedBox, Visibility -> Opacity -> Container -> Text], ...],
),
SliverPadding(...),
]
)

About the second issue, I capture some pictures to declare this issue.

the differences between good code and bad code is :
GestureDetector(
      onTap: () => Navigator.of(context).pushNamed('/material/item/detail', arguments: item),
      child: Container(
        margin: EdgeInsets.all(6.0),
        decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(8.0))),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            ClipRRect(
              borderRadius: BorderRadius.only(
                  topLeft: Radius.circular(8.0), topRight: Radius.circular(8.0), bottomLeft: Radius.circular(.0), bottomRight: Radius.circular(.0)),
              child: Stack(
                children: <Widget>[
                  Image(width: width, height: width, image: NetworkImage(item.imageUrl), fit: BoxFit.scaleDown),
                  Column(
                    children: [
                      SizedBox(height: width - 26),
                      Visibility(
                        visible: (item.platformString ?? '').isNotEmpty,
                        maintainState: true,
                        maintainSize: true,
                        maintainAnimation: true,
                        // bad code
                        child: Opacity(
                          opacity: 0.8,
                          child: Container(
                            margin: EdgeInsets.only(left: 10),
                            padding: EdgeInsets.symmetric(vertical: 1.5, horizontal: 2.5),
                            decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(4))),
                            child: Text(
                              item.platformString ?? '',
                              style: Theme.of(context).textTheme.subtitle2,
                              strutStyle: StrutStyle(height: 0.8),
                              maxLines: 1,
                            ),
                          ),
                        ),
                        // good code
                        // child: Container(
                        //   margin: EdgeInsets.only(left: 10),
                        //   padding: EdgeInsets.symmetric(vertical: 1.5, horizontal: 2.5),
                        //   decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(4))),
                        //   child: Text(
                        //     item.platformString ?? '',
                        //     style: Theme.of(context).textTheme.subtitle2,
                        //     strutStyle: StrutStyle(height: 0.8),
                        //     maxLines: 1,
                        //   ),
                        // ),
                      ),
                    ],
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );

the second issue also happened in this case.

Hi @endison1986

I found another two issue in iphone safari in ios 14.6.
I use GestureDetector -> onTap and Navigator.of(context).pushName to trun to a new page from home, and then I use my hand to left slide, the new page and the home page are closed together.
I use CustomScrollView layout my home page the include SliverAppBar, SliverGrid, SliverPadding and all. The issue occur in SliverGrid, an Opacity widget resulted in Image cover up SliverAppBar
I'm so sorry for my bad english.
CsutomScrollView(
slivers: [
SliverAppBar(...),
SliverGrid(
// Container -> Column -> [ClipRect -> Stack -> Column -> [SizedBox, Visibility -> Opacity -> Container -> Text], ...],
),
SliverPadding(...),
]
)

Instead of screenshots, please actual minimal reproducible code sample

Can you please provide your flutter doctor -v, a complete reproducible minimal code sample without third-party packages such as dio.
Thank you

As requested here


README.md improvemnt with samples

Could you show me on README.md a simple use case sample to call API methods?

There is a basic usecase at https://github.com/rubenlagus/deepthought

Hello.
I followed deepthought example to make the client startup but I need some example to start a chat with another user. Is it possible?
After creating kernel object (as made in your example) to start a chat with a user can I use following code:
User toContact = new User(user_phone_number);
kernel.getKernelComm().sendMessage(toContact , "Hello!");
?
And to read responses?
Many thanks

To send a message to an user, you'll need the userId and the userHash, second parameter is received with the user information.
If you know the phone number, you can always ImportContacts to get the user information

Ok, thanks.
Could be useful a complete example like that https://github.com/rubenlagus/TelegramBots/wiki/Getting-Started but for Telegram clients and not bots.
deepthought allow to understand how start the client, but could be useful to know how start a chat with a specific user (or a group) and how receive messages in a opened chat.
Is available a class like TelegramLongPollingBot to extend to implement methods as onUpdateReceived()?
Many thanks

I created my class that extends DefaultUpdatesHandler and ChatUpdatesBuilder as described in the README.
Is it correct that, when a message arrives, the method onTLMessage of my DefaultUpdatesHandler  extention class is automatically invoked?
Could this library be used to create a Telegram client that is not a bot?
In deepthought can I start a chat with another user or a group? I see that it uses the class TelegramBot but I read that Telegram bots can't initiate a conversation with other users.


Not Found[404]

https://www.plusdocs.com/sprite/security

} PNG - Found as a .bin file. A data file stored in the system file on device only. 404 Webpage picture as a thumbnail. All my screenshot originals will be found as Font Server.


Add tvg-chno tag to m3u file

In the m3u file some IPTV players require the tvg-chno field to set channel numbers in a channel list.
Example:
EXTINF:0 tvg-id="122" tvg-chno="122" tvg-name="Cartoon Network" tvg-logo="http://192.168.xx.xx:8000/images/Cartoon.png" group-title="dizqueTV",Cartoon Network http://192.168.xx.xx:8000/video?channel=122
The tvg-chno='xxxx' is inserted after the tvg-id variable. The tvg-id is used for linking to the epg xml, the tvg-chno is for defining the channel number in a player.

Reviewing other apps/dev online, I've noticed that 'tvg-chno' is implemented, roadmapped or being discussed for Jellyfin, Emby, Tvheadend, TiviMate and IPTV Simple Client.
'tvg-chno' corresponds to the channel number and displays next to the channel name.
'tvg-id' (which we use now) corresponds to the 'channel-id' field in the EPG xml file.
If missing from the M3U file, sometimes the 'tvg-name' tag is used to map the channel to the EPG.  [I'm wondering if 'tvg-id' missing is what caused 'tvg-name' to be '007' and '1979'.]
There's nothing to say that we can't populate 'tvg-id' and 'tvg-chno' with the same value.

I have this added in the dev branch. Can you name a player that needs this so that I can test it?

Emby uses it.

Hmnn I've been using emby's live tv thing for ages and never noticed any issues. @Browneye3001  Can you elaborate what problems you've experienced?

Hey @vexorian I use dizquetv on the NVidia Shield 'Channels App' The channels app is an agregator for other devices/sources under the one app. To enable IPTV sources in 'Channels' there is another app called 'TVirl'. This then feeds into the channels app to allow HDHomerun tuner channels as well as dizquetv channels all in the one app. I haven't set dizquetv up in Plex as my current HDhomerun tuners use an external XML file as a guide and as you kowo Plex can't handle more than one external XML file.
TVirl reads the m3u from dizquetv, however when it found no tvg-chno tag in the m3u it then tries to assign arbritary numbering to the channels (e.g. 001, 002,.....it doesn't use the tvg-id tag). I manually added the tvg-chno tag in the m3u file and TVirl recognised all of the channel numbers and used them.
I did do a test where I installed dizquetv on Plex. Plex seemed more interested in service names rather than channel numbers, the only real time it is needed is when you link the tuner channel line up with the services found in the EPG xml. After that I don't think Plex needs to know about channel numbers.
In 'Channels' on the Shield though it is more like a normal channel switching app whereby you can use a channel up/down button on a remote to change what you are watching. Defining the channels in the m3u allows you to specify the numbers so that there is no clash with other channel sources.
Maybe when you define the channel in dizquetv there should be two numbers. a service ID (tvg-ID) and the channel number (tvg-chno). I've worked a bit with EPG xml's for Broadcasters (Cable and Terrestrial) and there is usually two different defintions of a service as previously outlined.

I recommend that we populate 'tvg-id' and 'tvg-chno' with the same value.

I recommend that we populate 'tvg-id' and 'tvg-chno' with the same value.

That would work for me. Having seperate id and chno is really more for advanced rebroadcast systems.

Implmented. Thanks to all.


Fix bss version scanning in clang based builds

Relevant for python linked using clang and more specifically in executables with embedded python interpreter such as PyOxidizer

Too much diff

Too much diff

Yeah I used granulate as the base branch, I updated that branch now the diff is okay

Nevermind, upstream has also fixed that issue and their fix is better


Add alpha exports to notifications and signals

Adding missing alpha.ts exports to notifications and signals.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Cc @freben

@davidfestal Can you please have a look at this PR?
The point is in being able to export this plugin as a dynamic one via
${JANUS_OR_BACKSTAGE_CLI}  package export-dynamic-plugin without additional code changes.
Side question: Do we need to update files section of the package.json?

The point is in being able to export this plugin as a dynamic one via ${JANUS_OR_BACKSTAGE_CLI} package export-dynamic-plugin without additional code changes.
Side question: Do we need to update files section of the package.json?

This should not be necessary.  If I recall this was previously a requirement because an npm registry was being used to distribute dynamic plugins at runtime, however there's better ways to do this runtime distribution.


linux-51 is dead.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
linux-51 is dead.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Network connection port turned off itself, re-seated network cable cable to restore connection.


feat: Add SQL/ManagedInstances and StreamAnalyticsJobs and Fix ExpressRoute Circuits

Overview/Summary
Feat: Add SQL/ManagedInstances and StreamAnalyticsJobs and Fix ExpressRoute Circuits

@ehaslett could you please review the networking change? That is a simple one requested by Ed.
@ejhenry  or @oZakari  could you review from APRL perspective the SQLMI and Streaming Analytics? Once approved I'll work with Shweta to submit to Data and AI DRIs for PG Review approval, and continuation.

@ehaslett could you please review the networking change? That is a simple one requested by Ed. @ejhenry or @oZakari could you review from APRL perspective the SQLMI and Streaming Analytics? Once approved I'll work with Shweta to submit to Data and AI DRIs for PG Review approval, and continuation.

Network kql files LGTM


feat: allow multiple catalog file paths

Following #905, and in preparation for #898, this pull request allows specifying multiple catalog file paths (not URI).

Catalog file paths are separated by semicolons (;) regardless of operating system.

Note that your shell may require putting ; in quotes.

Ant catalog property may be absolute or relative from basedir
CLI -catalog option and XML_CATALOG environment variable may be absolute or relative from the current directory

Further work
Update Wiki

Environment Variables
Useful Properties
Example in XML Catalog support

Further work
Update Wiki

Environment Variables
Useful Properties
Example in XML Catalog support

Done.


Handled disabled UNI

Closes #338
Summary
Added listener for kytos/topology.updated for recent disabled interfaces
Added new condition to circuit consistency to additionally check for interfaces
Local Tests
Create an EVC and disable the interface of one of the UNIs
Check if consistency check enables the previous EVC only when its interfaces have been enabled
APM
Teste with 400 EVCs with uni_a interface 00:00:00:00:00:00:00:01:1
Activating and deactivating interface 00:00:00:00:00:00:00:01:1 in intervals of 5 seconds yields these results:
MongoDB:

Kytos Transactions:

Kytos dependency:

@Alopalao,
Overall looks good, and it could get merged once 2023.1 is released, but let me raise this point, I just realized if a link-flap were to happen in an UNI with an EVC, the number of writes per sec can grow linearly depending how many EVCs you have there, if we were to have 1 flap every 10 ms, then 100 writes / sec for each EVC, so, if we were to have 100 EVCs sharing a flapping aggressively an UNI, we'd have 10k writes / sec, which is relatively high for a 3-5 node cluster. We do need to be careful with these sort of IO bottleneck issues. So:
1 - We start queuing in memory and throttling the initial execution for 100 ms or so, and if there's still queued events, pop all older events except the latest one, since at the end of the day kytos/topology.updated will send the entire topology every time, so it's OK to always rely on the lastest event, as long as it's not out of order. That way we could ensure a frequency of writing every 50-100ms in the worst case, which would be very easy on the DB workload-wise 2 - We start to support a sort of hysteresis for interfaces, and then have a higher level event just for interfaces, and could used for interfaces without a link (for NNIs with links we've already got this covered with kytos/topology.link_up since it relies on a timer to throttle publishing the events). 3 - Avoid writing the active state in the DB, looks like we could actually merge with what we have in memory when returning API responses, since EVCs are always loaded as inactive anyways
Probably the first approach is easier to implement and maintain (and we could also maybe consider number 3 approach), since it wouldn't require changes on topology or other major changes. This PR looks good, but you could explore with 100 EVCs, flapping aggressively every 10 ms or so their UNI and see the load in the DB watching with APM and seeing how it'd behave? Let's see how high the writes will be, and then maybe we can decide to implement a queue here in the meantime, let me know if you can see a simpler idea or another solution.

@Alopalao, could you map a new issue to discuss and either implement option 1 or option 3? I think we can land this PR once you also confirm that e2e tests are passing, since functionality wise it's doing what's expected and then in a subsequent issue you can finish this part, wdyt? In a new PR please also add @Ktmi in the discussion and review since he's working on major mef_eline's epic.

Alright, thanks guys, let's ship this.


New identification rule for entity columns

This PR brings the new rule for identification of entity columns. Since, besides the old rules, an entity column should be annotated with javax.persistence.Column.

@dmdashenkov PTAL.

@dmdashenkov PTAL.

@dmdashenkov PTAL.


Fixed memory leak in QHttpConnection class

On each http request a new instance of m_request was created and not deleted. So every request caused a memory gap of several kB.
To close this gap the m_request instance of theConnection is deleted if the connection is destoyed.

Thanks! Could you fix the indentation?


Dockerfile for Jetson cameras

[x] Build docker file for nodes which will publish images from two jetson cameras
[x] Update docker compose file to mount ROS/CAMERA/ros_ws to the container, so that we don't have to build image again to debug the code.

[ ] Make it work on jetson nano. Might need to install jetpack and related libraries. Ref opencv dockerfile for referance.
[ ] Make nodes for both of the cameras.


Make Vector3 module public

I saw that your crate is not presenting anything on docs.rs and it appears that's due to you not providing the vector3 module as public.
If the module isn't public then you can't use it.

I've also bumped the version number to 1.1.2 however you can choose to revert that.

I've built a local version of the documentation on my branch using cargo doc --open -p vector3 and the results speak for themselves.

I see that you have made the module public now, I am closing this PR.

 Thanks for pointing it out tho and I'm glad the issue was resolved!


Enhancement to B5.1

current title - Are there any valid guarantees or warranties relating to this property?
proposed title - Are there any valid guarantees, warranties, or insurances relating to this property?
reason - We  want to updated the title to provide a more comprehensive and inclusive wording by adding 'insurances.'"

@mir491 Is this change intended to broaden the scope of this question from indemnity insurances to insurances?
I ask, as this creates potential duplication/confusion with Insurances in material facts.
A side effect of this change is that either
otherGuarantees should also be updated to "Other Guarantees, warranties or insurances". or a new object is added for otherInsurances (exact text being dependant on the answer to the initial question).

@KieranWitt As we had a discussion with ED regarding tilte of B5.1. In the code there is a different logic whereas in the pdf, there is a different logic. That is the reason why we are changing or requesting to change the question slightly. We are not making it more comprehensive or confusing rather inclusive

@KieranWitt my appologies, you are correct , the question title should be Are there any valid guarantees, warranties or indemnity insurances relating to this property?


Fix #160 Add hNowSupportsANSI

On Windows, the processing of 'ANSI' control characters in output is enabled by default in Windows Terminal but is not enabled by default in ConHost terminals. Additions have been made to allow support of users of ConHost terminals.
Add hNowSupportsANSI. On Unix, the function is equivalent to hSupportsANSI. On Windows, in Windows Terminal and ConHost terminals, the action can try to enable the processing of 'ANSI' control characters in output. This is done without reintroducing a dependency on the Win32 package.
In Windows Terminal and ConHost terminals, hSupportsANSI will yield False if the the processing of 'ANSI' control characters in output is not enabled. This is treated as a bug fix.
Deprecated hSupportsANSIWithoutEmulation is now consistent with hNowSupportsANSI.
Improvements to Haddock documentation.

Tested locally on Windows 11: Windows Terminal, conhost.exe (launched from File Explorer) and mintty 3.6.4.


Cannot set up Google Auth on iOS and Android at the same time.

How frequently does the bug occur?
All the time
Description
I have successfully implemented Google Sign in on both iOS and Android, but have run into an issue with getting them both working at the same time.
On the Android implementation, I am required to have:
a) A Google Cloud Platform Android OAuth credential that uses the SHA1 from my signing key
b) A GCP Web Client OAuth that provides a clientId and secret
c) A Realm Google Authorisation that uses the clientId and secret from b)
For the iOS implementation,  I am required to have:
a) A Google Cloud Platform iOS OAuth credential
b) A Realm Google Authorisation that uses the clientId and URL scheme from b)
Observed behaviours:

Passing the GCP Web clientId to Google results in a error from the sign in page: "Authorisation Error" 400: Custom scheme URIs are not allowed to 'WEB' client type.
Passing the GCP iOS credential allows the Google sign in page to work, and returns an idToken, but then passing that to Realm gives the error: 47 - invalid id token: ‘aud’ must be a string containing the client_id
Replacing the Realm Google Authorisation clientId with the GCP iOS clientId allows me to sign in as expected.

The issue is that for Android to work requires using a GCP web clientId in the Realm Google authorisation, and for iOS to work requires using the GCP iOS clientId.
Stacktrace & log output
No response
Can you reproduce the bug?
Yes, always
Reproduction Steps
As above
Version
Latest
What SDK flavour are you using?
MongoDB Realm (i.e. Sync, auth, functions)
Are you using encryption?
No, not using encryption
Platform OS and version(s)
iOS 14,15
Build environment
Xcode version: ...
Dependency manager and version: ...

Hey @adaneko I have a couple questions:
Are you using openID Connect?
Could you show how you're initializing the credentials?

Passing the GCP Web clientId to Google results in a error from the sign in page: "Authorisation Error" 400: Custom scheme URIs are not allowed to 'WEB' client type.

I also get this error if using a "Web application" type ID on the iOS client. Though I believe that a "Web application" type ID should be configured on the Realm server for both cases - iOS and Android.
I'm wondering if this error:

47 - invalid id token: ‘aud’ must be a string containing the client_id

Is potentially being caused by OpenID Connect when creating the Realm Credentials.

Hi @ericjordanmossman,
Thanks for the reply.
I am using OpenID Connect. I was unable to get Android to work without it. This is the code I'm using to manage Google Sign in. Google.clientId holds the value of the GCP iOS clientId.

// MainViewController.swift

@IBAction func onSignInGoogleTapped(_ sender: Any) {
// this just wraps the success and failure conditions for convenience
    makeAPICall(call: userProxy.signInGoogle(from: self)
                    .flatMap(MongoProxy.shared.signInGoogle(user:)),
                success: onSignInComplete,
                fail: onSignInFailed)
}

// UserProxy.swift

private var googleSignInConfig: GIDConfiguration?

init () {
     googleSignInConfig = GIDConfiguration.init(clientID: Google.clientId.rawValue)
}

func signInGoogle(from presenter: UIViewController) -> Observable<GIDGoogleUser> {
        return Observable<GIDGoogleUser>.create { observable in
            guard let gConfig = self.googleSignInConfig else {
                observable.onError(CustomError(message: Ln.GoogleError.no_google_config))
                return Disposables.create()
            }
            GIDSignIn.sharedInstance.signIn(with: gConfig, presenting: presenter) {
                user, error in
                if let error = error {
                    observable.onError(error)
                } else if let gUser = user {
                    observable.onNext(gUser)
                    observable.onCompleted()
                } else {
                    observable.onError(CustomError(message: Ln.GoogleError.no_google_user))
                }
            }

            return Disposables.create()
        }
}

// MongoProxy.swift

func signInGoogle (user: GIDGoogleUser) -> Observable<Bool> {
    if let idToken = user.authentication.idToken {
        return signin(credentials: Credentials.googleId(token: idToken))
    }

    return Observable<Bool>.create { observable in
        GIDSignIn.sharedInstance.signOut()
        GIDSignIn.sharedInstance.disconnect()
        observable.onError(CustomError(message: Ln.GoogleError.no_google_auth))
        return Disposables.create()
    }
}

func signin(credentials: Credentials) -> Observable<Bool> {
    return Observable<Bool>.create { [weak self] observable in
        if let wSelf = self {
            wSelf.app.login(credentials: credentials) { result in
                switch result {
                case .failure(let error):
                    observable.onError(error)
                case .success(_):
                    observable.onNext(true)
                    observable.onCompleted()
                }
            }
        } else {
            observable.onCompleted() // complete without result
        }

      return Disposables.create()
   }
}

Okay that does look like the correct flow for openID connect.
For

Replacing the Realm Google Authorisation clientId with the GCP iOS clientId allows me to sign in as expected

Which are you replacing? Are you  changing the iOS device's clientID to the "iOS clientID" type. Or are you changing the Realm Sync App's clientID to an "iOS" client type (in atlas)?
Ultimately the the backend Realm App should have the GCP "Web Application" type clientID, with the respective secret. And the iOS client should have GCP iOS type.

I'm replacing the id (and secret) inside the Google Authentication Provider -> Client Id field

Instead of using if let idToken = user.authentication.idToken, could you try getting the idToken with doWithFreshTokens.
googleUser.authentication.do { authentication, error in
guard error == nil else { ... }
guard let authentication = authentication else { ... }

 let idToken = authentication.idToken

I just noticed that we're getting the idTokens slightly different. Maybe that's where the validity is changing.

@adaneko
Did this work for you?


Ethan dev

note: additional fields in detailedForecast tables will be populated once a business account with meteoMatics has been negotiated, or when the switch to meteoBlue has been completed.


The compilation target is set to 'Internal', you must set to cloud or extension. REF #5435

Our customer is on version 14 on premises.
When setting target to internal, i get error when compilingproject.

When i set target to OnPremise, I get error:

We need to be able to use target "internal" on premise on version 14.
This was working before the new update in Visual studio code - AL Language.

From the issue you have referenced, what piece of information is missing to unblock you?

Our customer uses BC 14 on premises. As the customer uses dotnet code, we must set Target to Internal. In BC 15 Internal has been replaced with OnPrem. When we try to compile, we get an error message that Target must be set to OnPrem. But when we set Target to OnPrem we get the error that OnPrem is only used in BC 15.

There is nothing preventing you from using OnPrem target. That diagnostic is coming from an analyzer which it seems that you have enabled unwillingly. The AppSourceCop static analysis component is optional and should be used mainly for validating AppSource submissions.
You can read more about it here:
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-using-code-analysis-tool
You can ignore/disable a specific diagnostic by following the guidelines set forth here: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-rule-set-syntax-for-code-analysis-tools

To be a bit more specific, AS0053, and any diagnostic prefixed with AS is coming from AppSourceCop

Same Problem here but with 15 Onprem. Everytime I want to build with AppSourceCop and "target": "OnPrem" it comes the error: "error AS0053: The compilation target is set to 'OnPrem', but it must be set to 'Cloud' or 'Extension'".

@DanielHaglo please let me know if you are still blocked.

You can close this issue.
When removing diagnostic it worked.


when specify the white-list, why show the following effect?

Environment

Tesseract Version: 4.0.0-alpha
Commit Number:
Platform:

Current Behavior:
I am using the tesseract to detect the chi_sim, for example "2017年11月06日”.
when I using the following command:
tesseract XX.jpg stdout -l chi_sim --psm 7 --oem 0,
it outputs:2017年10月 12 臼
but when I use this one:
tesseract XX.jpg stdout -l chi_sim --psm 7 --oem 0 -c tessedit_char_whitelist="0123456789年月日"
it outputs:
2017 10 12
it looks that after I specify the whitelist, the letter "年” and “月” go missing while not specify, it is there, why?
Expected Behavior:
input: tesseract XX.jpg stdout -l chi_sim --psm 7 --oem 0 -c tessedit_char_whitelist="0123456789年月日"
output: 2017年10月 12
Suggested Fix:
in my opinion, whitelist means the result filter, for example:
input "6758490210", the whitelist is as: "02468"
the output should be:"684020"
sincerely thanks for your answer.

whitelisting does not work for LSTM.
Is it possible to fix it fairly easy? Any hints how to do that? I could try to help and contribute.


Add rangeslider Detection + Icon

fixes #3374

Thank you, but small utilities like these shouldn't be included as there are far too many of them.


Play Rewrite

Port all existing code to Play from Dropwizard.

Codecov Report

Merging #77 into master will decrease coverage by 5.45%.
The diff coverage is 17.29%.

@@             Coverage Diff             @@
##             master     #77      +/-   ##
===========================================
- Coverage     90.55%   85.1%   -5.46%
+ Complexity      790     626     -164
===========================================
  Files           111     115       +4
  Lines          3133    3027     -106
  Branches        212     223      +11
===========================================
- Hits           2837    2576     -261
- Misses          247     405     +158
+ Partials         49      46       -3

Impacted Files
Coverage Δ
Complexity Δ

app/models/models/Structure.java
100% <ø> (ø)
7 <0> (?)

app/dao/models/neo4j/Neo4jEdgeFactory.java
88.52% <ø> (ø)
9 <0> (?)

app/db/Neo4jClient.java
100% <ø> (ø)
24 <0> (?)

app/dao/usage/LineageGraphFactory.java
100% <ø> (ø)
1 <0> (?)

app/models/models/RichVersion.java
84.61% <ø> (ø)
8 <0> (?)

...e/postgres/PostgresLineageGraphVersionFactory.java
97.56% <ø> (ø)
6 <0> (?)

app/exceptions/GroundVersionNotFoundException.java
100% <ø> (ø)
1 <0> (?)

app/dao/models/neo4j/Neo4jEdgeVersionFactory.java
88.67% <ø> (ø)
5 <0> (?)

...s/cassandra/CassandraVersionHistoryDagFactory.java
100% <ø> (ø)
14 <0> (?)

app/db/PostgresClient.java
83.87% <ø> (ø)
21 <0> (?)

... and 149 more

Continue to review full report at Codecov.

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


Deleting last array element generates incorrect change record.

Hello Guys, this is my first Pull Request so I hope you'll be lenient on me :-)
I found a bug whereby deleting the last item of an array results in a repeat.for view actually removing the second-last item not the last item.
Kevin

@jdanyow Can you review? @kevmeister68 Would it be possible for you to add a unit test that produces the bug in order to show this fix resolves it?

@EisenbergEffect @kevmeister68
This will fix removing last item in array but will break for negative splices like: this.items.splice(-1, 0, 'Foo');.
Changing if (index >= array.length && array.length > 0) to if (index >= array.length) should solve both.
But there is also negative splice without adding item this.items.splice(-1, 0); which will break in both.
This can most likely be handled in a more elegant way than I first implemented and that covers all scenarios.

@martingust Do you have time to get a full fix in today?

@EisenbergEffect Unfortunately not tonight. I can probably sneak in 1-2 hours tomorrow to look at this.

I would add a unit test except I have no idea where they go, or how they work in terms of being testable against a visual outcome, unless the DOM is being explicitly checked afterwards. This was tested on our development codebase and found to fix the "deleting last item issue".
If there are problems with negative splices, it's not the problem I intended to fix. I think generally, however, it does not make a lot of sense to use a modified array as the basis for limiting your parameters in terms of constructing a change record, hence the patch.
Personally I think the changeRecord "handler" should be making the decisions on how to handle the splice outcome more so than this piece of code, otherwise it is still at the mercy of receiving a bogus changeRecord, if it happened to be injected from elsewhere.

@kevmeister68 Agree, should probably not be in the array patch. I moved this to the ModifyCollectionObserver made some modification. The PR is here https://github.com/aurelia/binding/pull/229
If you wanted to take a look or try it out it would be great. And thanks for your PR and feedback.

Fixed in this PR: https://github.com/aurelia/binding/pull/229