Adding Moran's I calculation to Scanpy

Could you add Moran's I calculation to Scanpy? It could be used in scIB and to also find variable genes across embedding (could be an alternative to SEMITONES that takes a while to be computed).

Transfered to scanpy

👀 crazy didn't know it was possible!

This would be a good fit for a potential sc.metrics module as discussed recently (can't find the issue anymore)

@LuckyMD I think we talked about it in the PR linked above.
So, what needs to happen here? Is it just copying and pasting some code from squidpy, or is there more implementation work to do?

Looks like gearys_c and morans_i will be out in 1.8 (morans_i should be on master pretty soon).
@Hrovatin, do you have any thoughts on the usefulness of calculating a p-value vs just calculating I? How could we tell whether the statistic could be influenced by the structure of the graph, or non-spatial distribution of the values? Also, maybe there's a faster way to calculate it than with a fixed number of iterations, especially for structured grids like we have with visium data?

sorry, late reply on the P-values @ivirshup as for your question in #1740 , I don't think pvalues are needed in this case, the same way for geary's C , I'd assume the usage of Moran's is the same as geary's C and it's just to provide an effect size for whatever effect you are investigating, In literature I found that an alternative to permutation-based pval is analytic (assuming nromality) but they suggest to "row-normalize" the weights (i.e. the knn graph).

For me the p-values with 1000 permutations were not useful as they were all 0 for the genes of interest, so could not discriminate the genes. But I do not know how comparable are I-s directly - I used it only on a single dataset with different KNN graphs, which should make it more comparable I would assume.

I was thinking about these in the context of of feature selection, where you may want a principled cutoff for inclusion. From looking at this in one visium datasets and one single cell dataset. It looks like expected value for any gene with a high morans I were quite low.  This was not the case for Geary's C on the umap connectivity with single cell data.
Here are some plots around this. Values from permuting the order are in blue, measured values are in black. This only shows the genes which were in the 95th percentile of scores. I inverted the values of gearys C so it was easier to compare with morans I. The x-axis is score between 0 and 1, the y axis is gene rank.
It's pretty clear there is much greater dispersion of expected value for Geary's C

 Morans I UMAP connectivity

 Geary's C UMAP connectivity

 Morans I spatial connectivity

 Geary's C spatial connectivity

Comparing distribution of scores for the single cell PBMC data:

My current thinking is that Gearys C is more sensitive to sparse features, and may be more in need of significance testing. I think this is not as visible for visium data since features are less sparse.

I started doing feature (gene) selection on scSeq data as well. I also observe dependency between Moran's I and gene expression sparsity. I was thinking that maybe I could regress out the expression effect or select genes per bin.

And this was the problem with p-values in squdpy-s Moran's I (plot for first 100 genes in my adata, using 100 permutations - but this should not really lead to low pvalues as I think that the reported pvalues are estimated based on null distn shape - not 100% sure though).

My current thinking is that Gearys C is more sensitive to sparse features, and may be more in need of significance testing. I think this is not as visible for visium data since features are less sparse.

Really interesting comparison @ivirshup . I think it makes sense that is more sensible to sparsity because the score is not computed "against a mean" but against the neighborhood graph. In some sense, Moran's I is more smooth.

And this was the problem with p-values in squdpy-s Moran's I (plot for first 100 genes in my adata, using 100 permutations - but this should not really lead to low pvalues as I think that the reported pvalues are estimated based on null distn shape - not 100% sure though).

indeed, they are computed against the null distribution that is computed from permutations.
As a personal opinion, I don't think reporting p values for these type of statistics is very useful (as in, I personally wouldn't draw conclusions on significance, but more on effect size, and this holds true for a t-test as well imho...).
I should also say that for squidpy we might want to compute p-values out of completeness... but again I would refrain from looking at them. In that case I also think it's more fair since the graph comes from another source, and is not computed from gexp similarity.

Maybe row-scaling of connectives should be an option to ensure that morans I stays between [-1,1] as else it may get very large values on some data.
morans_i=sc.metrics.morans_i(adata_pb_c)
morans_i=pd.Series(morans_i,index=adata_pb_c.var_names)
print(morans_i.describe())
count     1.412000e+04
mean     3.701341e+277
std                inf
min      -5.246069e+05
25%       1.087433e-10
50%       4.935376e-01
75%       1.005601e+00
max      4.440351e+281
dtype: float64

# Row scaling so that I is between -1 and 1
adata_pb_c_temp=adata_pb_c.copy()
adata_pb_c_temp.obsp['connectivities']=csr_matrix(minmax_scale(
    adata_pb_c_temp.obsp['connectivities'].todense(),axis=1))
morans_i=sc.metrics.morans_i(adata_pb_c_temp)
morans_i=pd.Series(morans_i,index=adata_pb_c.var_names)
del adata_pb_c_temp
print(morans_i.describe())

count     1.412000e+04
mean      1.737230e-01
std       2.733991e-01
min       0.000000e+00
25%      7.163952e-322
50%      1.462434e-321
75%       4.578002e-01
max       9.320416e-01
dtype: float64

Alsop, is there some randomness? I get different results on different runs.

Hi @Hrovatin ,
there shouldn't be randomness like you are describing no, can you try to post a reprex?
Re normalization, I could add it to both moran's and geary's, what do you think @ivirshup ?

I think it would be generally useful to have some methods for re-weighting graphs (some discussion in #1561), I'm not sure if keyword arguments per function is the right way to do this. Maybe something in a graph module or preprocessing?
My understanding (source) was the way to scale weights for Morans I is to be sure the edge weights are between 0 and 1. Is this right? This should already be the case for umap based connectivities. Is this the graph you were using @Hrovatin? I would definitely like to see the data you used here.
Btw, you could use maxabs_scale on a sparse matrix to prevent densification.

There is a sentence at the bottom of https://www.uni-kassel.de/fb07/fileadmin/datas/fb07/5-Institute/IVWL/Kosfeld/lehre/spatial/SpatialEconometrics2.pdf slide 8 about this, but it is not very clear. In my case on this specific data scaling each row from 0 to 1 lead to I in expected range. But then sometimes I get the values in expected range also without scaling. maybe these extreme values I was getting were due to the variability problem.
Regarding how to repeat it:
I currently have an odd dataset and if I run my jupytyer cell multiple times I sometimes get different results. It is odd. Sometimes also I's are within range [-1,1] and sometimes they explode.

Could you share the dataset?

 I can not find you there.

Is there an email where I can send it? I can not post it here

Ha, no I'm not on the mattermost<EMAIL_ADDRESS>Though if you could cut down the dataset to something small and more shareable that would be helpful as well.

I can replicate. This is so weird. Sometimes it returns reasonable results.

 Previous investigation
This data is a bit strange (is it important for X to be all negative?). Interestingly, it also breaks sc.pp.scale. Any insights you can provide on the data would be helpful.
I was seeing this kind of issue before with parallelization, where we were running into a numba bug and being returned the uninitialized array as a result.
Some other things I've been noticing:

If I calculate morans I on the first 100 variables, the 45th variable is the only one who's value changes

This is especially weird since all values are changing if I run the function on the full set of variables

If I use a smaller interval size (10), I don't get any varying results
If I run morans I for each value individually, I also don't get any varying results

I'm now checking to see if I take random subsample of the variables, compute morans I for those values together, is it always the same variables which are inconsistent?

This is so weird.
import scanpy as sc
import numpy as np
import pandas as pd
from functools import partial

def check_subset(g, X, idx, tries=5, func=sc.metrics.morans_i):
    sub = X[idx]
    result = np.ones(sub.shape[0], dtype=bool)
    first = func(g, sub)

    for i in range(tries):
        result &= (first == func(g, sub))

    return result

morans_i = partial(check_subset, adata.obsp["connectivities"], adata.X.T.copy(), func=sc.metrics.morans_i)

# Take adata.n_vars samples of 100 variables each
samples = np.random.choice(adata.n_vars, (adata.n_vars, 100))

# This takes a while
results = np.vstack([morans_i(samples[idx]) for idx in range(adata.n_vars)])

df = pd.DataFrame({
    "var_idx": samples.flatten(),
    "consistent": results.flatten(),
    "sample": np.repeat(np.arange(adata.n_vars), 100),
    "order": np.tile(np.arange(100), adata.n_vars),
})

df.groupby("order").mean()["consistent"].plot()

Progress!
Minimal reproducer:
pbmc = sc.datasets.pbmc68k_reduced()
pbmc = pbmc[:411].copy()
sc.pp.neighbors(pbmc)
res = [sc.metrics.morans_i(pbmc.obsp["connectivities"], pbmc.X.T) for i in range(3)]

np.equal(res[0], res[1])

I can trigger the bug by changing the dataset size.
I think this may be a memory alignment issue.

I think you have some variables which are the same for all samples. This leads to a division by zero error (which numba is not handling gracefully, or even telling you about) which is causing the issue.
Here's how to find those values:
np.where((adata.X[[0], :] == adata.X).all(axis=0))

I believe if you filter these out, this should work.
I'm not sure if there is a correct value for Morans I or Gearys C in this case. Should we error?

Thank you!
This data is from Compass (they term this consistencies). They are negative, but as you already know the same happened when scaling to [0,1]  per feature.
Will remove those constant values. I think the result in such a case could just contain nans and emit a warning.

I think the result in such a case could just contain nans and emit a warning.

This sounds reasonable to me.
With sparse values, it's consistently giving results, but it's the wrong results. The iteration is being chunked (probably related to number of available cores), and it looks like within each chunk all values after the constant one are filled with zeros. I should look into whether this is also numba, or a logic bug. If it's numba, it's strange that it's zeros and not inf or nan. If it's on our end, I'm not sure why the later iterations would be skipped.

p.s.: I really like how you document everything you do so nicely 😃

Thanks! Is mostly so I can remember my reasoning a month later 😊

@Hrovatin, if you haven't read it yet I think you would find the Hotspot method from the Yosef lab interesting. It uses something similar to Morans I for feature selection and local Morans I for gene module detection. They use parametric null models to get significances for their scores, which would be significantly faster than permutation testing. I'm a little unsure of how the parametric null models correspond to the non-parametric ones since the only comparison I've found so far is some Q-Q plots in the supp.


Zoom to a place name on maps (via use of metadata attached to various layers)

Searching/Zooming to a "Place" by entering text name (Waterbody, City names, road names, parks names) for as many layers as possible. Need the mechanism to search and zoom to any names that are currently on the map.  There are a few needs for "zoom to place", some easier to implement than others - to discuss as a backlog refinement.

Ideally users would have the ability to:

[ ] zoom to place names included in the base map layers while in the field (including offline)
[ ] zoom to place names for layers that the user has uploaded (their own kmls)
[ ] zoom to place names in layers that the user has cached.  (Eg. zoom to an IAPP site number)
[ ] zoom to place names while in the office on the plan my trip page to more easily create your trips rather than scrolling through the map to find your location.

Comments:

functionality similar to imap and all most other mapping programs.  Will save a lot of time scrolling through the map trying to find something.

closed as covered in #718


proposed cyclops 8, streams class structure

Rename SequenceM to ReactiveSeq to match cyclops-javaslang convention. Deprecate SequenceM and keep ReactiveSeq and SequenceM active for some time together.

Too much effort to create a performant Reactive Stream on the javaslang side (and it's on the Javaslang roadmap to do so anyway).


Should CiceroMark allow for whitespace control?

It is sometimes convenient for readability to add non-significant whitespace around blocks markup. So instead of writing:
This is a lease for {{#with tenant}}{{partyId}}, domiciled at {{address}}{{/with}} entered at {{date}}.

one might want to write:
This is a lease entered by
{{#with tenant}}
   {{partyId}}, domiciled at {{address}}
{{/with}}
at {{date}}

But by default, this will interact with formatting and generate whitespace in the contract which may result in different rendering. Here is a proposal for how to add/control such whitespace based on https://handlebars-draft.knappi.org/guide/expressions.html#whitespace-control
{{~name}}  // Remove whitespace on left
{{name~}}  // Remove whitespace on right
{{~name~}} // Remove whitespace on both

This is an issue inherited from #392


Node list page shows wrong role

kube-explorer version: v0.2.8
k3s version: v1.22.7+k3s1

@kingsd041 let's transfer this issue to rancher/dashboard. I can ask someone to fix it upstream.


ublacklist 8.3.2

Hello
ublacklist 8.3.2 version is not showing on firefox addon page, only up to 8.3.1 .
thanks

v8.3.2 was rejected by a Mozilla reviewer.
I uploaded v<IP_ADDRESS> with updated build instructions.

v<IP_ADDRESS> is now available on AMO. There are no changes between v8.3.2 and v<IP_ADDRESS>.


Custom sphinx conf

To be able to customize conf files it would be nice to have the possibility to set conf file throught ARGs

Hi, @thewind1984. I'm wondering what's the difference between the ability to provide path to sphinx config via a build arg vs being able to just mount your own config file in the fixed place (/opt/sphinx/conf/sphinx.conf in case of an image in this repository)?

Hi, @thewind1984. I'm wondering what's the difference between the ability to provide path to sphinx config via a build arg vs being able to just mount your own config file as a volume to the fixed place (/opt/sphinx/conf/sphinx.conf in case of an image in this repository)?

Hi, @macbre , thank you for your question and sorry for late reply.
With this fix I just want to be able to provide some different configs for Sphinx (for indexer / searchd) within single Docker container.
Of course, one of them will be default config, but it's better to be able to name it with not default sphinx.conf name...

Thanks, @thewind1984


fix(RefinementList 4.x): remove root css class on sublists

⚠ this is port of #4025 on the next branch, to be released in 4.x
Summary
The RefinementList is the component used for rendering of the HierarchicalMenu widget.
When a given item of the HierarchicalMenu has children, the RefinementList is recursively called, with the same cssClasses prop.
As a result, the cssClasses.root is appearing on every list of children.
This change is proposed because:

This is not the specified behaviour.
This is not the behaviour observed on InstantSearch V2.
see difference between InstantSearch V3 and InstantSearch V2
In V2, the cssClasses.root belonged to the headerFooter HOC.
The problem emerged in InstantSearch V3 as the cssClasses.root property was moved
inside the RefinementList widget.

Result
throw new Error(NOT_IMPLEMENTED)

I cleaned up the Git history to merge this because it's been pending for a while now (since #4025).


Close all tabs popup resizing problem

Environment
Windows build number: 10.0.18362.720

Steps to reproduce

Open more than one tab in the terminal.
Resize the terminal to it's smallest size horizontally.
Then close the terminal.
The "do you want to close all tabs" popup should appear.
Finally resize the window horizontal again.

Expected behavior
The close all tabs popup should resize with the window.
Starting point

Resized terminal

Close all tabs popup

Resized with close all tabs popup open

Actual behavior
Once the "do you want to close all tabs" popup appears and you resize the terminal. The popup stays at the size it was when it opened. And doesn't resize to fit the window.

Thanks! This is a /dupe of #2380


Tuff ores won't generated because of typos

In mapgen.lua there's a typo at line 193:
	wherein         	= {"default:stone", "default:needs_dirt", "default:gravel", "default:stone_with_coal"},
...which should almost  certainly be:
	wherein         	= {"default:stone", "default:dirt", "default:gravel", "default:stone_with_coal"},
The exact same typo appears at line 212, but not in line 232.

Thanks for the report.
Fixed in https://github.com/adrido/darkage/commit/536d635e253d8cbd1a2135191207962b4d1a87e1


Add Rapid PCR Test information to glossary

New:

#glossary_rapid_pcr_test:

Updated:

#glossary_pcr_test:

#glossary_rapid_test:

Internal Tracking ID: EXPOSUREAPP-12476

This PR resolves https://github.com/corona-warn-app/cwa-website/issues/2586.


Unable to load cache

I get this error when starting weechat on debian testing;
python: stdout/stderr: Traceback (most recent call last):
python: stdout/stderr:   File "/home/fabrice/.weechat/python/autoload/wee_slack.py", line 2301, in <module>
python: stdout/stderr:     cache_load()
python: stdout/stderr:   File "/home/fabrice/.weechat/python/autoload/wee_slack.py", line 2122, in cache_load
python: stdout/stderr:     j = json.loads(line)
python: stdout/stderr:   File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
python: stdout/stderr:     return _default_decoder.decode(s)
python: stdout/stderr:   File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
python: stdout/stderr:     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
python: stdout/stderr:   File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
python: stdout/stderr:     raise ValueError("No JSON object could be decoded")
python: stdout/stderr: ValueError: No JSON object could be decoded

This prevent the plugin from loading.

It does work after deleting the cache though so maybe just adding a try/cache would do it.
I wonder why the json was broken though. Could it be because I turned off my computer without exiting properly?

Great thanks, I suggest, you add better file handling to limit the file getting corrupted. I've left an example of that in a PR https://github.com/rawdigits/wee-slack/pull/249


OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1: The crash happened outside the Java Virtual Machine in native code."

Please provide a brief summary of the bug
When the SpringBoot API is migrated from Java18 to Java17 we got the following issue, any quick help will be appreciated
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000000003fd6, pid=1, tid=7
#
# JRE version: OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1 (<IP_ADDRESS>+1) (build <IP_ADDRESS>+1)
# Java VM: OpenJDK 64-Bit Server VM Temurin-<IP_ADDRESS>+1 (<IP_ADDRESS>+1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C  [libio_grpc_netty_shaded_netty_transport_native_epoll_x86_6418376289839595173090.so+0xbc1a]  parsePackagePrefix+0xba
#
# Core dump will be written. Default location: /core.%e.1.%t
#
# An error report file with more information is saved as:
# //hs_err_pid1.log
Did you test with the latest update version?
We are migrating the application from jdk1.8 to Java17 OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1.

As we are on SpringBoot2.72. we cannot upgrade to latest LTS Java21

Please provide steps to reproduce where possible
We have the application running on Jdk1.8 and its working fine when we upgraded to Java17 we got the issue.
Application is deployed on GKE cluster the pod should not restart is restarting.
Expected Results
Application is deployed on GKE cluster the pod should not restart is restarting.
Actual Results
Application is deployed on GKE cluster the pods are restarting with the following message:

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000000003fd6, pid=1, tid=7
#
# JRE version: OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1 (<IP_ADDRESS>+1) (build <IP_ADDRESS>+1)
# Java VM: OpenJDK 64-Bit Server VM Temurin-<IP_ADDRESS>+1 (<IP_ADDRESS>+1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C  [libio_grpc_netty_shaded_netty_transport_native_epoll_x86_6418376289839595173090.so+0xbc1a]  parsePackagePrefix+0xba
#
# Core dump will be written. Default location: /core.%e.1.%t
#
# An error report file with more information is saved as:
# //hs_err_pid1.log

If you would like to submit a bug report, please visit:
https://github.com/adoptium/adoptium-support/issues
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.

What Java Version are you using?
JRE version: OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1 (<IP_ADDRESS>+1) (build <IP_ADDRESS>+1)
What is your operating system and platform?
Alpine Linux latest image we used as base image which comes with eclipse temurin.
Image - eclipse-temurin:<IP_ADDRESS>_1-jdk-alpine
How did you install Java?
We build the application using docker thru Jenkins and deploy on GKE
Did it work before?
This was the first time we upgraded the Java version from 1.8 to 17

Did you test with other Java versions?
Java jdk1.8 worked well

Relevant log output
#
	# A fatal error has been detected by the Java Runtime Environment:
	#
	#  SIGSEGV (0xb) at pc=0x0000000000003fd6, pid=1, tid=7
	#
	# JRE version: OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1 (<IP_ADDRESS>+1) (build <IP_ADDRESS>+1)
	# Java VM: OpenJDK 64-Bit Server VM Temurin-<IP_ADDRESS>+1 (<IP_ADDRESS>+1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
	# Problematic frame:
	# C  [libio_grpc_netty_shaded_netty_transport_native_epoll_x86_6418376289839595173090.so+0xbc1a]  parsePackagePrefix+0xba
	#
	# Core dump will be written. Default location: /core.%e.1.%t
	#
	# An error report file with more information is saved as:
	# //hs_err_pid1.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

@dasari-rc you need to upgrade to 17.0.10 and the latest version of netty.

Thank you very much  adoptium team for responding for the issue.
On Wed, Jan 31, 2024 at 2:21 PM Martijn Verburg @.***>
wrote:

@dasari-rc https://github.com/dasari-rc you need to upgrade to 17.0.10
and the latest version of netty.
—
Reply to this email directly, view it on GitHub
https://github.com/adoptium/adoptium-support/issues/1014#issuecomment-1919887050,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCFD7VRYCIKP77ZJHKXAIRDYRKRV3AVCNFSM6AAAAABCTC6PZGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZHA4DOMBVGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi Adoptium Support Team,
Recently we observed the following Severe  Vulnerabilities popped up
recently from March 25th 2024 onwards. We were looking for remediation.
We have used the   Image Layer Details -
eclipse-temurin:<IP_ADDRESS>_1-jdk-alpine | Docker Hub
https://hub.docker.com/layers/library/eclipse-temurin/<IP_ADDRESS>_1-jdk-alpine/images/sha256-16d70818ae1d9dfca5e8d05de8e74a23c959ae59968010f013a4cfe5aa5b0038?context=explore
[<IP_ADDRESS>_1-jdk-alpine]

Alpine Linux: CVE-2023-42366: Out-of-bounds Write

Alpine Linux: CVE-2023-42363: Use After Free

Alpine Linux: CVE-2023-42364: Use After Free

Alpine Linux: CVE-2023-42365: Use After Free

Can you please help in remediating the issue.
Thanks & Regards,
Ramesh D
On Fri, Feb 2, 2024 at 6:38 PM RameshChandra Dasari @.***>
wrote:

Thank you very much  adoptium team for responding for the issue.
On Wed, Jan 31, 2024 at 2:21 PM Martijn Verburg @.***>
wrote:

@dasari-rc https://github.com/dasari-rc you need to upgrade to 17.0.10
and the latest version of netty.
—
Reply to this email directly, view it on GitHub
https://github.com/adoptium/adoptium-support/issues/1014#issuecomment-1919887050,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCFD7VRYCIKP77ZJHKXAIRDYRKRV3AVCNFSM6AAAAABCTC6PZGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZHA4DOMBVGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@dasari-rc please use latest 17.0.10 based images

@dasari-rc - DockerHub maintains the underlying Alpine layer, so please report this issue to them for an update.


Transport v1 and v2 of MVC extensions

Prerequisite for #8400.
SDK counterpart: https://github.com/dotnet/sdk/pull/35273
(I have also verified this will work with renamed compiler DLLs: https://github.com/dotnet/sdk/pull/34928)
VS insertion: https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/496985

@333fred @chsienki @dotnet/razor-compiler for a second review, thanks


A simpler example?

Not complaining about your incredible work that you put out for free, but I just want to point out that this project is a wonderful app but a terrible example. A good example would contain the minimum amount of code lines able to compile a AUv3 plugin that prints "Hello world" in a hosting application and maybe plays a single "beep sound" or outputs a single MIDI note just to show how integration works.
I'm just trying to understand how to convert my app into a AUv3 plugin and I'm utterly lost in the hundreds of files of this project and it's frustrating because I know that what I need is lost somewhere deep down the pile of code, files, assets, functionalities that have nothing to do an "Example app".
 A proper, minimal example app with just the amount of code to show how to setup a AUv3 plugin would be actually way manageable and maintainable.

Not complaining about your incredible work that you put out for free, but I just want to point out that this project is a wonderful app but a terrible example. A good example would contain the minimum amount of code lines able to compile a AUv3 plugin that prints "Hello world" in a hosting application and maybe plays a single "beep sound" or outputs a single MIDI note just to show how integration works.
I'm just trying to understand how to convert my app into a AUv3 plugin and I'm utterly lost in the hundreds of files of this project and it's frustrating because I know that what I need is lost somewhere deep down the pile of code, files, assets, functionalities that have nothing to do an "Example app".
 A proper, minimal example app with just the amount of code to show how to setup a AUv3 plugin would be actually way manageable and maintainable.

I hear you, and I was in your shoes looking at this project back in December. From what I understand, this project is meant to be an example of what a fully-fledged AUv3 might look like. If you're looking for the simplest answer to creating an AUv3, all you need is an existing AudioComponent to instantiate (whether in a host or in your app). Conveniently, all of the AudioKit v5 nodes already have underlying Audio Components you can use. They're also very similar to AudioKit v4. Here's a migration guide with all the changes described: https://audiokit.io/MigrationGuide/ .
I'll see if I can create a minimal example of an AUv3 with AudioKit. I've already somewhat done this, but there were still some things I was fixing up to make everything work.

Here's an example I just made: emurray2/AUv3HelloWorld. It takes a huge shortcut and is still a work-in-progress, but I'll keep updating it as I learn more. I'm open to feedback others have as well.

Anything you've learned since that you would've liked to have added to your helpful hello world?

Anything you've learned since that you would've liked to have added to your helpful hello world?

Absolutely.

AUv3 is very different from AUv2. Why?
AUv3 is built off of Apple's App Extensions System. This is important because most stuff you can do in an app you can also do in an AUv3--they're not much different.

What is the minimal thing you actually need to compile an AUv3?
Well, think about it like a musician. If you're building an Instrument AUv3, you need to have only an audio output (output bus) and MIDI handling. For an Effect AUv3, you need to have an audio input and an audio output. And also, what is the plugin going to do to the sound? That's what the internalRenderBlock is for. You can either use your own signal processing code and specify the render block, or you can use AVAudioEngine to render the audio--which is what this example does. And don't forget, you need to allocate (gather the resources) to do all of that stuff, which is what allocateRenderResources() is for. Finally, you need a description and name for your plugin which are all contained in Info.plist. Then, this info is called upon by the host in the audio unit's init method, which is called by the factoryFunction. Then, when it's time for the audio unit to be removed, you need to specify deallocateRenderResources(). That's it, those are all the things you need. You don't even need to specify parameters--hosts will look for all the parameters you have and return none if there aren't any.

Can AUv3 be used in Mac Catalyst?
Yes, in fact you don't even need that when using Apple Silicon (M1). This is because Apple now supports Universal Build Architecture. In other words, Apple is trying to move towards making it easier to port a MacOS app to iPad, whether you have an Intel chip or M1 chip.

Resources?
You can check out a new AUv3 I'm working on right now which utilizes all of these tips at emurray2/MusicalWeather. Also, checking out this guide by Apple is a neccesity: App Extension Programming Guide. Finally, this one is a big go to: Creating Custom Audio Effects. There are also a ton of other people in the AudioKit community who have been contributing videos/examples on this topic: Nick Culbertson, Gene De Lisa, EricGeorge. And more I'm probably forgetting.

I found a simple AUv3 iOS plugin example that uses AudioKit 5 (after trying and failing to update this project to AudioKit 5):
https://github.com/NickCulbertson/AUv3-Instrument


chore: react hook form example

@markflorkowski would you like that more advanced use case within this example or in separate one?

Hmm, I think it can be in this one, since they are both rhf. Do you think that would be confusing?

@markflorkowski Hm, I've just been thinking. Maybe it's better to simply improve current example? I mean does it make sense to upload the image each time it is dropped? What might be the reason for that? Browser preview does not require it. If form data needs an URL of the image, it can be received during form submission. Simply upload image inside of onSubmit and get URL from the response. Let me know, if I'm missing something here

The only reason I was thinking was it is slightly better UX in the form to have files upload in the background as you continue to fill out the form, instead of waiting for files to upload when submitting.
In the contrived example of a form that only contains a file upload it makes less sense, but I feel like in most cases it will be one field of many on a form.
Regardless, the url should be submitted with the form data, as presumably that data will be stored or used in some way by the application

Due to the likelihood of this code being outdated, I'm gonna close and rewrite this example in near future. Sorry for delays on it 🙃

@t3dotgg  looking forward to it.


Switching between adaptive cruise control, MOBIL and no attention

This issue is replaced by #25 and #26.


Graceful degradation for navbar is broken (flexbox)

If you want to make typical navbar with collapsable links (for mobile view), the default code of bootstrap will never works fine in situation where there is no flexbox support in browser.
You can easily repeat the problem in this example page:
https://v4-alpha.getbootstrap.com/examples/starter-template/
Open web-inspector, go to "#navbarsExampleDefault" element, disable all "flex" options, so it will be rendered as block element. Look at links - they all dissapeared.
The problem is in class "collapse" this item must have by default for correct behaviour of collapsing feature. If it has it (it must), when the item has "block" class, all the links are hidden, because the "display: none" is attached to it with "collapse" class.
But it obviously have to has more precise settings, based on @media queries, so the "collapse" class will be active only for "mobile" view.
There are also some other css problems, which causes different rendering for browsers without flexbox support, but they are not so critical (but still worth fixing if you really need graceful degradation for flexbox in bootstrap 4)

@sintro
Bootstrap 4 will not support browsers without flexbox at all, see here.
If you need graceful breakdown for flex you should use v3.

Closing per previous comment.


Metrics not being recorded on TomEE but not starting at all on Payara due to not finding beans

I have a very basic example application using Metrics-CDI found here:
https://github.com/ashri/metrics-cdi-jaxrs
This application just has a hello-world style endpoint which is annotated with @Timer. The application is configured to log the metrics to the console every 5 seconds.
To test the application, first build it with mvn package then after deployment to an app server, run curl http://localhost:8080/metrics-cdi-jaxrs
If you deploy the example to Wildfly 10.1, the application logs metrics as expected.
If you deploy the example to TomEE 7.0.2, the application does log metrics but they are always 0.
If you deploy the example to Payara 172, the application fails to start due to being unable to find the appropriate beans.
I have no idea what is the root cause of the problem.
Payara has a more recent version of the Weld library. TomEE may not be cross-polinating managed beans across the BeanManagers meaning the one injected in the app is not the same MetricRegistry bean the metrics are logging to (wild speculation).
Any assistance with this issue would be greatly appreciated.

I could see the possible causes:

JAX-RS and CDI managed beans interoperability: you may try adding the javax.annotation.ManagedBean annotation on your JAX-RS resources
Beans managers isolation, as you've mentioned, though that tends to affect EARs deployments rather than single WAR deployment.

That's a usual use case so that'd may be worth sharing it with the CDI user group to get their input.
Besides, it'd be useful debugging the app and see whether the Metrics interceptor that registers metrics at bean instantiation is actually called: https://github.com/astefanutti/metrics-cdi/blob/29e7bac497513de420543497612180331cc5d1b3/impl/src/main/java/io/astefanutti/metrics/cdi/MetricsInterceptor.java#L55. That'd would be a start to identify the root cause.

Hi,
Sorry it took me so long to get back to this issue but I had a few moments today and finally got to some debugging.
I focused on debugging within TomEE 7.0.4 as that ran but didn't record timings. I also update the metrics-cdi dependency to 1.4.0.
The MetricsInterceptor is being called for the @AroundConstruct method you mention. The MetricsRegistry is the same registry on each invocation and the @Timedannotation is discovered and registered as expected.
However  the TimedInterceptor is never called when run under TomEE. None of the annotated methods in that class are called. They are called as expected when run under Wildfly.
If there is a better place to ask these questions I would welcome some guidance. I tried looking at the cdi-dev mailing list but wasn't convinced that was a good place to ask.
Thanks for the help.

Thanks. I will post a message to the TomEE mailing list later today and see where it goes.

I'm trying to use this library with payara-micro 174, I also see it failing to deploy the app with the same error if I try @ashri 's test app. I think it can't find the MetricRegistry - either if I use the default one registered by the library or I provide my own one with a producer method.
org.jboss.weld.exceptions.IllegalArgumentException: WELD-001456: Argument bean must not be null
	at org.jboss.weld.util.Preconditions.checkArgumentNotNull(Preconditions.java:40)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:799)
	at org.jboss.weld.util.ForwardingBeanManager.getReference(ForwardingBeanManager.java:61)
	at org.jboss.weld.bean.builtin.BeanManagerProxy.getReference(BeanManagerProxy.java:85)
	at io.astefanutti.metrics.cdi.MetricsExtension.getReference(MetricsExtension.java:137)
	at io.astefanutti.metrics.cdi.MetricsExtension.getReference(MetricsExtension.java:132)
	at io.astefanutti.metrics.cdi.MetricsExtension.configuration(MetricsExtension.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
	at org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:144)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:299)
	at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:124)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:277)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:255)
	at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:269)
	at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:258)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:148)
	at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
	at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35)
	at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28)
	at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:487)
	at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)
	at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:261)
	at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)

@grommitz thanks for the info. I'll try debugging with payara-micro ASAP then.


Set up 300H logic (MS only has 300H, no 400H)

        # TODO: Set up 300H logic (MS only has 300H, no 400H)

https://github.com/mitchellggreenhalgh/mid-distance-webscrapers/blob/255ab570ac5d779805c717691c964c126aa38e1c/scrape_milesplit.py#L298

Also nevermind, 400mH is offered at a couple meets, just not a lot of data (2023: n < 50)


RichTextLabel doesn't update scroll if scroll_active is false

Godot version:

3.2.2 beta3
Issue description:

I have a RichTextLabel with scroll_active set to false, but I am manually scrolling it. Here's my magical code that keeps the proper number of lines displayed (magical, because I was surprised it works xd):
if contents.get_visible_line_count() > 4:
	contents.get_v_scroll().value += 3

I am incrementing my visible_characters and scroll the label if necessary. This works ok until the text ends. I'm only incrementing the visible_characters until the text is fully displayed. If the scroll is fast enough before the text ends, everything is fine.

However when the text ends before the scroll ends, I get this:

The label is stuck halfway in the line. And my problem is that in both cases, the final scroll value is the same. Which means that when you scroll RichTextLabel normally, the label doesn't get scrolled visually (it's not updated). It only updates when you change visible_characters, which causes redraw and displays proper scroll.
The workaround is to keep incrementing visible_characters, but IMO the scroll should just update the label even if it's "inactive", otherwise it's inconsistent.
Minimal reproduction project:

ReproductionProject.zip
Compare results when holding Space and when not.

Duplicate of #37720?

No, it's different issue.

So maybe check that one PR I made back then?
https://github.com/godotengine/godot/pull/36366

@dreamsComeTrue Yeah, it fixes this issue.

Fixed by #36366


typo: abandonned -> abandoned

I agree to the terms of the CLA as specified on https://www.cloudfoundry.org/wp-content/uploads/2017/01/CFF_Individual_CLA.pdf .

@marwahaha Thanks!


liblo: 0.26 -> 0.29

Semi-automatic update. These checks were performed:

built on NixOS
ran /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/bin/oscdump -h got 0 exit code
ran /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/bin/oscdump -h and found version 0.29
found 0.29 with grep in /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29
found 0.29 in filename of file in /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29

cc "@marcweber"

Success on x86_64-darwin (full log)
Partial log (click to expand)
make[2]: Nothing to be done for 'install-exec-am'.
 /nix/store/6b3jzg40vibmrjg85i46vvidyy915428-coreutils-8.29/bin/mkdir -p '/nix/store/1zssdn4wgz9jwfqsaksyp1v795khhdml-liblo-0.29/lib/pkgconfig'
 /nix/store/6b3jzg40vibmrjg85i46vvidyy915428-coreutils-8.29/bin/install -c -m 644 liblo.pc '/nix/store/1zssdn4wgz9jwfqsaksyp1v795khhdml-liblo-0.29/lib/pkgconfig'
make[2]: Leaving directory '/private/tmp/nix-build-liblo-0.29.drv-0/liblo-0.29'
make[1]: Leaving directory '/private/tmp/nix-build-liblo-0.29.drv-0/liblo-0.29'
post-installation fixup
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/1zssdn4wgz9jwfqsaksyp1v795khhdml-liblo-0.29/lib  /nix/store/1zssdn4wgz9jwfqsaksyp1v795khhdml-liblo-0.29/bin
patching script interpreter paths in /nix/store/1zssdn4wgz9jwfqsaksyp1v795khhdml-liblo-0.29
/nix/store/1zssdn4wgz9jwfqsaksyp1v795khhdml-liblo-0.29

Success on aarch64-linux (full log)
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29
shrinking /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29/bin/oscsendfile
shrinking /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29/bin/oscdump
shrinking /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29/bin/oscsend
shrinking /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29/lib/liblo.so.7.3.0
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29/lib  /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29/bin
patching script interpreter paths in /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29
checking for references to /build in /nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29...
/nix/store/0amg4f7rhs5g5p8gpngzn5ziamlyjfim-liblo-0.29

Success on x86_64-linux (full log)
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29
shrinking /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/bin/oscsend
shrinking /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/bin/oscsendfile
shrinking /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/bin/oscdump
shrinking /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/lib/liblo.so.7.3.0
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/lib  /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29/bin
patching script interpreter paths in /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29
checking for references to /tmp/nix-build-liblo-0.29.drv-0 in /nix/store/ribwnr8bbvpnr54vwhhq6c4l7qvv3ibx-liblo-0.29...


Configurable session cookie

#454 Should fix this
Will backport to 0.3

Coverage increased (+0.02%) to 67.21% when pulling 72d6c63189fb0f9f3b1a8de4adb29009529ef88d on feature/454-sessionid into 669f000ae9bc22df87b1fb8f064f2c4877d8722a on next.


Finish halfbrained's awesome work

[x] Figure out when hover responses can be null, add test: created #45

Marking as draft because I split some of this to separate pull requests that should be merged first.

Hey @Akuli, I saw you've requested my review on a couple PRs. I've been very busy with an upcoming exam. I'll be free in the incoming week, so I'll take a look at them then. Sorry for the delay.

Awesome! Let's review the other PRs next week.

@PurpleMyst Ready for review

I deleted the logging stuff. Its purpose was to allow receiving events even if receiving one of them errors, so that you still get the other events. I changed recv() to return a generator that yields correctly parsed messages and then fails, but doesn't leave the failed message to _recv_buf so that it will succeed next time. I feel like it's almost too elegant; the code doesn't look tricky, even though I have specifically written it so that it handles many different cases.

@halfbrained, can you explain your comments to us for one last time? :)

@PurpleMyst Ready for review again

LGTM!

@halfbrained, can you explain your comments to us for one last time? :)

My apologies for missing this.
(Not sure how that happened, but I'm almost certain that's github having a laugh at my expense... :) )


Function name pattern consumes opening parenthesis

This breaks parentheses highlighting. I suggest modifying the match with pattern offsets: /me=e-1,he=e-1
See also: https://hamberg.no/erlend/posts/2011-08-25-vim-tip-highlighting-function-names-in-c-code.html

Can you please post an example of where this is happening? Thanks.

I have same issue.
Example picture:

The problem is different color of starting and ending parenthesis.

Sorry I'm not able to reproduce this on my machine.

Thank you for answer, @octol.
Your response made me double check my config, and turns out (at least for me, not the OP) it's not a bug. There is another plugin 'justinmk/vim-syntax-extra' that collide with this plugin, creating this weird bug.
Maybe that can help another person seeking help with this glitch.

Thanks for the update. Yes let's keep this issue open in case other people run into this.


Can't install anymore, npm base64 seems to be obsolete now

jwt-decode has it's own dependency to npm base64 -and with latest node.js you can't build the base64 packages anymore. It generates a flood of syntax errors in the base64 package codebase and it seems that this is caused by breaking changes in V8.
Now quite interesting, as stated on the base64 package page (https://github.com/pkrumins/node-base64)

Update: this module may no longer be necessary as nodejs includes its own
base64 encoding/decoding functions.

Is an update of jwt-decode planned somehow? I think best would be to change to native base64 functionality and remove the dependency fully. I didn't knew about those changes and googled around a bit, seems that basic Buffer objects can handle that already pretty well, or do i miss something that would break the current "base64_url_decode" implementation of the jwt-decode package?
http://stackoverflow.com/a/6182519/1214508
what i try for the moment is to create my own common class which tries to replicate the functionality of jwt-decode with basic base64 impl of node.js

Node.js has been always able to encode/decode base64.
New browsers can do it as well. The reason I used this library was to support old browsers

Ok so i helped out myself... With a handy little code snippet as found on scotch.io (and on many other places):
`
// Create Base64 Object
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}
// Define the string
var string = 'Hello World!';
// Encode the String
var encodedString = Base64.encode(string);
console.log(encodedString); // Outputs: "SGVsbG8gV29ybGQh"
// Decode the String
var decodedString = Base64.decode(encodedString);
console.log(decodedString); // Outputs: "Hello World!"
`
Create your own little class with this implementation for example and i was able to remove "jwt-decode" completely from my project and my auth0 demo impl finally works now :)

@rvetere Yes, I will take care of this. node.js always supported base64 encoding/decoding, the reason I used a pure js module was to support old browsers.

Yes i've understood this point already on the first reading.. it's just not really helpful information when your stuck with your setup just because of an un-installable package ;) So, what will the fix will be..? Will the auth0 package soon be updated to latest packages or.. you still waiting until angular2 becomes more "final"..? I mean, the auth0 demo project is still include beta.0.. two weeks ago beta.8 was relased and 1 day ago, beta.9 came out... it is actually extremely outdated..
And so far as i can see - the part where the decode is used most, it is unfortunately on the client.. you will never have nodejs there to support your base64 ;)
I just wanted to post my solution here so others may find help by going trough this thread.

Sorry I didn't see my previous response hahha.
I just tried using Buffer directly and it works in the browser, but the problem is that the size increases by a factor of 10x...
I will test this one:
https://github.com/davidchambers/Base64.js

Done! v2.0.0 doesn't have any dependency.


Bug fix and enhancement

Bug fix: added linkage to Elements for EVP
ENH: gave the user full control of the state_vars by removing the const in the function args. Now the user must update either the device or host after initializing state_vars in init_state_vars function.

Excellent work and great commit message


Main branch JSDocs update

Update the documentation in the main branch since every JSDocs update is pushed to the pipeline branch.
@aolsen07, since you said in the meeting that you modifying the button, if you change some of the js files, please approve this pull request after you finish the changes.

My changes should just be in css files, let's see what happens


[BUG] Unable to use keybindings on pull request without having the repo pulled down?

Describe the bug
Using custom keybindings to preform actions extermally
To Reproduce
Steps to reproduce the behavior:

I add a custom key binding that like so:
keybindings:
issues: []
prs:

key: e
command: >
echo "Hello" > test.txt

and when the binding it says "Failed to find the local path for the repo ...
Expected behavior
I expected it to just echo "Hello" to disk. I didn't expect to have the actual repo cloned down in order to be able to run external commands.
Screenshots
N/A
Desktop (please complete the following information):

docker/linux/ubuntu

Seems simple to solve, care to contribute it?
Also, what's your use case?

@dlvhdr I'd be happy to try. I'm relatively new to golang so I'll probably need my pointers.
My use case is I'd like to be able to use gh-dash to manage all open pull requests, irrespective of having a repo cloned down. As for the command I would like to run, I want to have a keyboard shortcut that let's me approve a PR.

https://github.com/dlvhdr/gh-dash/blob/94c660311ddd0b2e063f520e027b4096e1e84666/ui/modelUtils.go#L112-L118
Over-zealous error check here, I believe. Exits out early without actually knowing or caring if the template being Executed needs the local path.


Window resize should trigger redrawing of chart

Currently controls can disappear behind chart.

Alternatively, I could add the controls on top of the chart with css.

We are sunsetting the bird tracking explorer (+ our Carto account only accepts limited API calls). I'm closing any related issues.


Upgrade to snappy 1.1.7

[x] Build native libs
[x] Fix build failure in windows
target/snappy-1.1.7/snappy-stubs-public.h:48:21: fatal error: sys/uio.h: No such file or directory
Added native libraries for s390x, AIX/Linux ppc64/ppc64le. May need a help from @odaira san #186

Upgrade to snappy-1.1.7 is basically done.
Created a follow-up ticket for building native libraries for s390x, AIX/Linux ppc64/ppc64le #186


Add random password for PostgreSQL container

Ticket: https://trello.com/c/VBYabYVZ/1436-db-restore-on-staging-failed
Our clean_and_apply_db_dump job on Jenkins has stopped working because the postgres Docker image expects an environment variable POSTGRES_PASSWORD.
This commit adds a command to the prepare step to generate a random password and adds it to the environment. We also set PGPASSWORD in the environment for the psql command.
Depends on alphagov/digitalmarketplace-aws#628

Tested on Jenkins


Edits in the server

Now the server checks for the packet's sequence number, preventing old packets from overriding newer ones; and can give the address mask where the data is coming from to the callback function

Does the addition of the signature dependency means we need to bump the python version too?

I'm not completely sure, but here you can see that inspect.signature has been introduced from Python 3.3, so we shouldn't need to bump the python version too :D

It should be done! Tell me if there are any more problems :)


Added Circular Queue

Solved Issue no.#1260
Please merge my pull request I have successfully run the code and it is working as well.
Username:  DinkyRajpoot56
IssueNo: #1260
Aim:   Adding Circular Queue
Date:   26/10/2024
In a circular queue, the last element is connected to the first element. This structure allows efficient use of space, as it prevents the need for data shifting when the queue is full but has vacant spaces at the front.The circular queue can be implemented using both an array or a circular linked list but it is most beneficial for array implementation as it resolves the stack overflow condition of the linear implementation even when the whole array is empty. So, here we will only discuss the array implementation of the circular queue.
Front: It is used to get the front element from the Queue.
Rear: It is used to get the rear element from the Queue.
enQueue(value): This function is used to insert the new value in the Queue. The new element is always inserted from the rear end.
deQueue(): This function deletes an element from the Queue. The deletion in a Queue always takes place from the front end.

not assigned


Cannot login to MacOs app

Describe the bug
Hi, I have an active Lens Pro subscription from my company. When I try to login with Google SSO, it continuously shows Login Error, please try again later! popup and keeps redirecting me between the app and the browser.
Upon inspection in the console, I saw that there's an error Failed to refresh token Error: Refresh token missing..

I have tried re-installing the app and cleaning up local storage/cookies on both app and web, but nothing helps.
How can I continue to use the app?
To Reproduce
Steps to reproduce the behavior:

Open app
Select Already have an Lens ID -> Click Get Started!
See error

Expected behavior
Should login successfully
Environment (please complete the following information):

Lens Version: Lens: 2024.1.300751-latest
OS: [e.g. OSX] MacOS M2
Installation method (e.g. snap or AppImage in Linux): Installer from https://app.k8slens.dev/

Additional context
Doesn't happen for other colleagues

Can you check your Keychain Access and see if there are any expired certificates?

All my certificates are valid till a future date
[image: image.png]
[image: image.png]

Thanks and regards,
Raj
On Fri, Mar 1, 2024 at 3:58 PM Panu Horsmalahti @.***>
wrote:

Can you check your Keychain Access and see if there are any expired
certificates?
—
Reply to this email directly, view it on GitHub
https://github.com/lensapp/lens/issues/8023#issuecomment-1973346141, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPWZ26Z4EULST3WUABQWETYWCJSLAVCNFSM6AAAAABD7OBDZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZTGM2DMMJUGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello, we've released 2024.3.61137-alpha which is available in the Alpha update channel (which can be set in Lens -> Settings -> App -> Update Channel). Could you try if this resolves your issue?

Hey,
The alpha build seems to be working fine and allows me to log in
successfully. What was the issue?

Thanks and regards,
Raj
On Wed, Mar 6, 2024 at 2:35 PM Panu Horsmalahti @.***>
wrote:

Hello, we've released 2024.3.61137-alpha which is available in the Alpha
update channel (which can be set in Lens -> Settings -> App -> Update
Channel). Could you try if this resolves your issue?
—
Reply to this email directly, view it on GitHub
https://github.com/lensapp/lens/issues/8023#issuecomment-1980889679, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPWZ24ZK5BWW53X57AKAUDYW4LSXAVCNFSM6AAAAABD7OBDZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBQHA4DSNRXHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

The alpha has a fix which excludes expired certificates from being injected from the system. I noticed that even on my system on Mac there was a few expired certificates (even though I didn't see them in the Keychain UI).
Thanks for testing the alpha. We will release it as the stable version soon.


Algolia search (required: API key & index name)

To @ronaldtse since we need Algolia approval I think

Yup. However they need the site and content to be up first, so if we have the site ready, I’ll contact them to apply.


Avoid serializing unknown fields twice in reparseMessage

Good catch!

Do we have tests of unknown fields in reparseMessage?

The tests are here: https://github.com/google/protobuf.dart/blob/master/protoc_plugin/test/extension_test.dart I don't see any tests that check unknown fields after a reparseMessage.


Document FeatureCounts requirements to GTF more appropriately

We recently had a project with a non-standard organism project, where we had to download genome and GFF3 from NCBI instead of using the ENSEMBL ones. This caused featureCounts to not being able to create appropriate counts, as the gene_id was for example missing in that GTF/GFF.
Proper format is:
https://github.com/nf-core/test-datasets/blob/rnaseq/reference/genes.gtf
@ggabernet will post an example of a GFF that didn't work well. I will then take care of writing down some docs on how to make sure the GFF/GTF works fine for an analysis...

There are multiple possibilities:
a.) Having a possibility to edit the options supplied to featurecountsdirectly for users
b.) Document that we always need gene_id gene_biotype to be present in the GFF/GTF
a.) Would also require us to adapt featureCounts merging processes in general, e.g. providing this option to the merge_featureCounts process. Could be not straightforward, but would be possible.
b.) Is easy to do, and we could even have a quick check on the GTF/GFF in the beginning of the pipeline to check for the feature existence in the provided GTF/GFF. That would then cause at least an early stop with a more meaningful error message :-)

iGenomes also has NCBI and UCSC references, they're just not listed in the iGenomes config. We should probably add these. I think that they're normalised for a lot of stuff like this.

Once there are some opinions in @ewels looking at u :-P , I'll have a go!

Can you check with for example:
s3://ngi-igenomes/igenomes/Homo_sapiens/NCBI/GRCh38/Annotation/Genes/genes.gtf

See if you get the same problem?
Use https://ewels.github.io/AWS-iGenomes/ to get all required s3 URLs.

iGenomes doesn't have the species I'm working with unfortunately :(

Ah sorry, I was speed reading and didn't pick up on the non-model organism bit. GFF is a horrible format for exactly this reason, it's not really a specified format.
The good news is that now I'm sat down and reading properly, I realise that this is a problem that we already came across ages ago and built in a feature to handle. So your fix is already part of the pipeline! It's even got documentation: https://github.com/nf-core/rnaseq/blob/master/docs/usage.md#featurecounts-extra-gene-names
I guess that suppling the option --fcExtraAttributes gene when running the pipeline will fix the issue.

ps. This is where it's used:
https://github.com/nf-core/rnaseq/blob/e8376373da8c1dfb0cae5372947cf5b241056076/main.nf#L923
From the SubRead documentation:

−−extraAttributes
Extract extra attribute types from the provided GTF annotation and include them in the counting output. These attribute types will not be used to group features. If more than one attribute type is provided they should be separated by comma (in Rsubread featureCountsits value is a character vector).

Hi Phil, thank you for your answers. This indeed pointed to the solution of the problem, even though not fully. Due to the different annotation in the GTF file, I had to change the featureCount call to -g Parent.
https://github.com/ggabernet/rnaseq/blob/57c4475415b38994b50c6630f856d67f39605b57/main.nf#L932
Would it be a possibility to provide a parameter that allows to change the term for this call, in a similar way as for extra attributes?

Absolutely - we can set this to biotype by default but use a params variable to make it customisable. @apeltzer, are you able to PR this?

YUp, will do

This is now possible in the dev branch of the pipeline :-)

Perfect, thank you!


CB-19973

Added POST checkFlowLogStatusesByFlowIds endpoint for BULK flowLogResponses.
Added POST checkFlowChainsStatusesByChainIds endpoint for BULK flowCheckResponses.
Added unit test cases.
Added new unit test class for FlowController

Please squash the commits.

Please squash the commits.

I will squash the commits once review is done Laszlo

though i see the flowid list on API is limited, anyone can start to use the new service logic, so you should check the performance impact regarding this change to make sure it won't cause long transactions/queries.
maybe it would be good to limit the size of input list in service layer too and/or implement paging logic somewhere (in persistence layer or in service layer for example)

though i see the flowid list on API is limited, anyone can start to use the new service logic, so you should check the performance impact regarding this change to make sure it won't cause long transactions/queries.
maybe it would be good to limit the size of input list in service layer too and/or implement paging logic somewhere (in persistence layer or in service layer for example)

good suggestion - i will do that

how well does this work with chained flowchains? Have you tested that scenario?

I am not sure if I have to get all child flow chains for each chain id.  Because each chain id will make multiple calls to collectRootFlowChain in turn a DB call and 1 DB call for finding child flow chains. so if you send in 50 chain ids, that in turn can balloon into 100s of DB calls
4:30
i just want to set the expectation that this API will get the chain information for just the specific chain ids provided
4:30
is that OK?
Siddharth Seth
5:23 PM
I think that is ok.

how well does this work with chained flowchains? Have you tested that scenario?

I am not sure if I have to get all child flow chains for each chain id. Because each chain id will make multiple calls to collectRootFlowChain in turn a DB call and 1 DB call for finding child flow chains. so if you send in 50 chain ids, that in turn can balloon into 100s of DB calls 4:30 i just want to set the expectation that this API will get the chain information for just the specific chain ids provided 4:30 is that OK?
Siddharth Seth 5:23 PM I think that is ok.

I think this should be handled obviously. Right now if we have a flowchain which has children flowchains and flows too, then the flows are fetched and the response is returned according to those flowlogs. But the flowlogs of the children flowchains are not involved. So if we don't want to bother with these flowchains which have flowchains, then we shouldn't return anything or throw validation error, because this way the response misleading/incorrect

how well does this work with chained flowchains? Have you tested that scenario?

I am not sure if I have to get all child flow chains for each chain id. Because each chain id will make multiple calls to collectRootFlowChain in turn a DB call and 1 DB call for finding child flow chains. so if you send in 50 chain ids, that in turn can balloon into 100s of DB calls 4:30 i just want to set the expectation that this API will get the chain information for just the specific chain ids provided 4:30 is that OK?
Siddharth Seth 5:23 PM I think that is ok.

I think this should be handled obviously. Right now if we have a flowchain which has children flowchains and flows too, then the flows are fetched and the response is returned according to those flowlogs. But the flowlogs of the children flowchains are not involved. So if we don't want to bother with these flowchains which have flowchains, then we shouldn't return anything or throw validation error, because this way the response misleading/incorrect

fixed it. but i think this is a bad idea as each successive calls to find out all children makes a DB call recursively. This will blow up DB calls in case the number of inputs is high or if there are a lot of children spawned. Please review

pls rebase your PR, it is 70 commits behind the top of master

Overall the change looks good. I saw the requested changes with those it will be fine.


add test case

add test case for docs/install/cluster-deployment/standard-deployment.md
Proposed changes
Issue Number: close #xxx

run buildall

add test case for bellowing:

standary deployment
connect database
sql-interception
upgrade


No image for 8.2 amd64 platform

Hi! When I try to pull image for php8.2, I get this error:

docker: no matching manifest for linux/amd64 in the manifest list entries.

I read the code of this repo and didn't find the cause of the issue. Can you please provide an amd64 version?

I trying use arm64 version but push the wrong version. Just fixed.


Copy all profile links on the reported contents page

Is your feature request related to a problem? Please describe.
When mass-moderating severe content, the user profiles need to be manually escalated for more severe action to be taken upon their account. While the reported contents page allows us to mass-moderate content, we can't get the profile links unless we manually open each ticket or press each username.
...
Describe the solution/idea you'd like
A "copy all profile links" button on the reported contents page that copies all profile links of filtered content to the clipboard for easy escalation.
...
Describe expected outcome from your solution
An easier way to make sure that accounts with offensive content can be managed.
...

https://brainly.com/profile/LukeG1-16118329

Hey @LukeG294, beside creating a button to copy all profile links, what do you think about downloading a list of filtered reports in a spreadsheet file?
Here is a screenshot of a sample spreadsheet

Column E has id numbers of reported users and D has ids of reporters.
So the quick solution I can think of right now is, changing id numbers with profile links 🤔
Like this:

You will still be able to copy profile links of reporters or reported users.
What do you think?

Hi @seahindeniz! I definitely agree that a spreadsheet would be a better option especially since mass moderating (for example) 100+ pieces of content and then copying 100 links to the clipboard would be a bit inconvenient due to the size.


Documentation choices?

Let's work on the documentation;

[ ] #7
[ ] #8
[ ] #9
[ ] Decide if we want to go with more something more complex like Jekyll or Elevently

Hey folks, wondering what are the options for documenting this project. Any thoughts? @kmg7

Created issues! Lets work on them


Set line height of text in table cell

The the line height (specified using the "leading" property) on the text in a monospaced table cell. Right now, it's using a line height of 1, which looks pretty bad when the line wraps.

The same has to be done for literal table cells.

Actually, this isn't limited to literal or monospaced table cells. The line height (and line metrics in general) aren't being set for any table cells.

👍 for this one ;-) I'm surprised to see taht it has not been of more interest for so long - is noone using tables in a custom themed document? ;-)
Would be happy to help out, but I need to find someone to give me a quick dive into the ruby sources first ;-)

Proposed a fix in #838 and provided a example.

Thanks @madmas!
You've got the right area of the code, but there's one piece still missing. We can't rely on Prawn's "leading" functionality alone since it is incomplete. We have to also apply some of our own padding above and below the prose to ensure all lines get the spacing. We have to do something similar for paragraphs. See https://github.com/asciidoctor/asciidoctor-pdf/blob/master/lib/asciidoctor-pdf/converter.rb#L3033-L3043.
I realize this is massively confusing. But Prawn gets line heights wrong (at least when compared to CSS) and we have to compensate.


Unhandled exception: Durring Loading

Description: Started the launcher
Version: 1.6.7
OS: Windows-10-10.0.22623-SP0 (64-bit)
Type: <class 'AttributeError'>
Value: 'NoneType' object has no attribute 'split'
Traceback:

  File "D:\Games\CDDA Game Launcher\cddagl\ui\views\main.py", line 1412, in showEvent
    self.refresh_builds()
  File "D:\Games\CDDA Game Launcher\cddagl\ui\views\main.py", line 3266, in refresh_builds
    self.refresh_changelog()
  File "D:\Games\CDDA Game Launcher\cddagl\ui\views\main.py", line 3292, in refresh_changelog
    body = entry['body'].split('####'),

There is a fix already. Please, refer to this post https://github.com/DazedNConfused-/CDDA-Game-Launcher/issues/65#issuecomment-1271460659


CASSANDRA-19454 Switch to nanoTime from approxTime in Dispatcher

CASSANDRA-19454
This patch reverts the switch to approxTime from nanoTime in Dispatcher (and QueriesTable), that was changed in CASSANDRA-15241.

Committed as https://github.com/apache/cassandra/commit/baef2447bb3f9fc4d1d3326df39ee8437d999711


I write a keyboard in vuejs, but if I click number quickly in phone,some number won't show

What problem does this feature solve?
This is some html part

1

4

7

this is methods
methods: {
    number(key) {
      this.$emit('input', `${this.value || ''}${key}`);
    }
  }

when I click [1][4][7] quickly,It just show [17],it means that [4] not be executed,what should I do?
What does the proposed API look like?
的

Read the issue instructions please.


Microsoft.Azure.EventHubs.Processor library can not load Microsoft.WindowsAzure types from the Microsoft.Azure.Storage.Blob library with version >= 10.0.0

Describe the bug
When Microsoft.Azure.Storage.Blob with a version higher than 9.4.2 is referenced the application fails on load with the below exception.
This is probably because of a namespace change in the Microsoft.Azure.Storage.Blob library since version 10.0.0
Exception or Stack Trace
System.Reflection.ReflectionTypeLoadException
  HResult=0x80131602
  Message=Unable to load one or more of the requested types.
Could not load type 'Microsoft.WindowsAzure.Storage.Blob.BlobResultSegment' from assembly 'Microsoft.Azure.Storage.Blob, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
Could not load type 'Microsoft.WindowsAzure.Storage.Blob.BlobResultSegment' from assembly 'Microsoft.Azure.Storage.Blob, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

To Reproduce
Steps to reproduce the behavior:
Have the processor library and the Microsoft.Azure.Storage.Blob library version 10.0.0 or higher referenced in the same console app and start it.
Code Snippet
Add the code snippet that causes the issue.
Expected behavior
I expect it to not crash the application
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: Windows 10
IDE : Visual Studio 2019
Version of the Library used: 4.0.0

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

Fix merged - https://github.com/Azure/azure-sdk-for-net/pull/7372


draft WIP get_treatment interface for Split

Context
While writing https://github.com/hoverinc/hyperion/pull/15432, @tsa-heidi and I came across this failure in the unit tests. This failure is because the CreditCardBannerHelper's use of the ThisFeature gem is trying to reach for the actual Split client, in order to use Split IO's get_treatment method.
If I understand the purpose of ThisFeature correctly, the function of this gem was to:

wrap the Split client, so we don’t need to call from the client object multiple times in Hyperion, which is DRYer and also safer
wrap any other feature flag integrations, which was especially useful for when we had multiple feature flag integrations, such as while transitioning from Flipper to Split
also creates a sort of stub object for test environments, called Memory. It’s meant to be the placeholder for a Split call while in the test environment, so we don't need to actually make a request to Split and depend on real data

This means that the repeated use in Hyperion of: ThisFeature.adapter_for(:split)&.send(:client), I believe, is an anti-pattern. Because if the gem is for wrapping third party integrations, and to not interact with the client directly, it seems contradictory to specify and retrieve the third party client 🤔
There are several instances of this in Hyperion: https://github.com/search?q=repo%3Ahoverinc%2Fhyperion ThisFeature.adapter_for(%3Asplit)%26.send(%3Aclient)&type=code
As the Split Adapter is written currently, it's only capable of reading from Split flags the value of being on, off, or in the control group. But Split features can have many options for treatments. The split feature flag that brought this issue to our attention is: gpa_cc_input_banner. This feature has many options of treatments: v1, v2, v3, or off. We need to update the Adapters to be able to just retrieve the treatment value, if we want a fuller use of SplitIO's capabilities.
Changes

ThisFeature::Adapters::SplitIo#get_treatment method that returns the treatment value, and not just check if it's on, off, control
ThisFeature::Flag#get_treatment method that wraps the adapter's calling of the same method
TODO:

create equivalent in Memory so this can be used in all environments, meaning in the test environment we won't attempt to make a request to Split

What this will do for Hyperion
When the above changes are merged, we can change all the instances of ThisFeature.adapter_for(:split)&.send(:client) to just ThisFeature, so the test environments won't fail when trying to access the Split client. So for the implementation that is referenced above:
ThisFeature.adapter_for(:split)&.send(:client)&.get_treatment(current_user.id.to_s, "gpa_cc_input_banner")

can be changed to:
ThisFeature.flag("gpa_cc_input_banner", current_user.id.to_s).get_treatment

which is more consistent with how this gem should be utilized.
Not yet addressed but honorable mentions
In Hyperion, I also see the use of get_treatment_with_config():
https://github.com/hoverinc/hyperion/blob/9aeaf8bcce59112d1087d7aadd35d41ee29fa66a/app/services/direct_to_consumer/user_provisioner.rb#L71-L72
split_client = ThisFeature.adapter_for(:split)&.send(:client)
config =<EMAIL_ADDRESS>"HE_plan_for_dtc_org", feature_attrs)[:config]

Depending on the reasoning for using get_treatment_with_config() we may need to eventually implement this method in this gem too.

Depending on the reasoning for using get_treatment_with_config() we may need to eventually implement this method in this gem too.

Alternatively, we could have get_treatment (or whatever you rename it to) return an hash/object like:
{
  value: {{ treatment value }},
  config : { ... }
}

So then it becomes (I didn't use symbols, but use whatever makes sense for Ruby):
ThisFeature.flag("gpa_cc_input_banner", current_user.id.to_s).get_treatment.value

ThisFeature.flag("HE_plan_for_dtc_org", @homeowner.id).get_treatment.config


@transl8() argument issues with comma inside the phrase

There is currently a bug in the @transl8() blade directive (backend method) that incorrectly separates the 3 supplied arguments.
Example:
@transl8("We need to test it in the staging environment.","de") {{-- works --}}
@transl8("We need to test it in the staging environment, and inform the team.","de") {{-- fails because of the comma --}}

Suggestion, don't use explode().

Fixed in tag v0.4


Skip hidden files in repository listing (rad ls)

See commits

Code looks good.
Are hidden files and non-directory files expected in this directory?  Otherwise if neither are expected, why would an unexpected directory (one with a bad ID) cause a failure, while a file does not.

Code looks good.
Are hidden files and non-directory files expected in this directory? Otherwise if neither are expected, why would an unexpected directory (one with a bad ID) cause a failure, while a file does not.

It showed up on a Mac machine https://radicle.zulipchat.com/#narrow/stream/374620-cli/topic/unknown.20base.20code.20.2E :upside_down_face:


Drummer community

@andysylvester created Old School Drummers Reading List which is an opt-in river of drummer blogs. He adds new people who request to be added and I enjoy finding new blogs to read. However, it may not be that widely known.
Whilst self-hosting is possible I suspect virtually all drummer blogs are hosted via Dave, and therefore there's a list of all drummer blogs. It be great if this list was public and accessible. Perhaps a new verb or opml file etc. Then others can discover new blogs or aggregate into a river etc.

@alexjj -- of course i've thought about this, and decided not to do it. i've been down this road many times, and it never ends well.
also this isn't really a proper use for the rfc space. you could have sent me a private email about this, since you're only asking one person for something, there's no reason to broadcast the request, or the link to Andy's service.
so i would appreciate it if you deleted the question.


Add support for latest operating systems

Description
Adds support for Centos-8, Ubuntu-20.04
Issues Resolved
List any existing issues this PR resolves
Check List

[ ] All tests pass. See TESTING.md for details.
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable.

Errors are due to ip_vs module not being able to be loaded, see: https://github.com/chef/bento/issues/1279

@Xorima so it seems both centos-8 and ubuntu-20.04 are using keepalived 2.x instead of 1.x. They are both failing because the ip_vs module is not loaded on the system. I'm not sure how best we can work around that given our current workflow. Any ideas?
Here's what you see from keepalived:
Apr 15 21:31:39 dokken Keepalived_healthcheckers[702]: IPVS: Can't initialize ipvs: Protocol not available

I would get an issue raised with wherever those images are being created, and see if we can force a 1. install for now just to get the tests working?

I would get an issue raised with wherever those images are being created, and see if we can force a 1. install for now just to get the tests working?

It looks like these are created here: https://github.com/actions/virtual-environments/tree/master/images/linux

Because we are in dokken I am unsure if this correlates correctly.
I do wish I had access to run dokken on my laptop without it crashing :(

@Xorima it should since the container will be using whatever the host has for modules/kernel.

@Xorima would you like me to try and test this locally by making my own image based on their templates? I can at least try and replicate the problem and see what the proper fix might be

Yes please, I am running low on time currently


dealing with old dockers in the weavexec era

Our README says we support Docker 0.9.1 or later. I am pretty sure that is not true anymore, since the weavexec image introduced in #388 contains Docker 1.3.1, so that ought to be the oldest daemon version it can work with.
weave --local can probably still cope with older versions, but that is not how the majority of user will run weave.
So I think we need to update the docs, to mandate >=1.3.1.  @squaremo correct?
But surely we should also amend the version checks in the script, since otherwise users will get obscure errors when running against older daemons. Or are these errors quite self-explanatory?
If we are going to amend the checks, we really want to only check that the version of the docker daemon we are running against is >=1.3.1. And only if we are running in the context of the weavexec image, since the existing checks are sufficient outside that. docker version does tell us the server version, but a) does that work when the server is an older version, and b) is the output format the same across server versions?

Docker version requirements:

We cannot use docker client version 1.3.0, specifically, for any purpose, since it outputs things to stdout which it shouldn't
Using --with-dns requires docker client >=1.2.0, and since the server version needs to be >= the client version, a server >= 1.2.0. Unless run --local is used, this will be executed in weaveexec, which has docker client v1.3.1.

Without --local, the server needs to be >=1.3.1, and the client needs to be !=1.3.0. With --local and --with-dns, the client needs to be >=1.2.0.
If the docker server is <1.3.1, our embedded docker won't be able to talk to it, which might be confusing if the user's docker client is also <1.3.1, since they will get a message indicating that the versions are mismatched (which isn't true from their point of view). So we may want to head that off.

Let's not worry about --local run.
We could decrease the docker version included in weavexec. No downside to that except for #582 and any bugs that might be in the client-side portion. I have no feel for the latter, unfortunately. Ideally we'd drop all the way back to 0.9.1 since that is in ubuntu trusty. trusty-updates has 1.0.1. utopic has 1.2.0. and vivid has 1.5.0.
Shall we go for 1.2.0? It's what the server needs to be for --with-dns. We are integrating weavedns more and more and want more folks to use it, and there is some merit to having just one version requirement. (i.e. server >= 1.2.0).
I think that's the only change I'd make for 0.10. If it turns out that several users are running into version compatible issues and are confused by the error messages, we can address that in a 0.10.1 or 0.11 release.

Scratch the 1.2.0 plan. See #587. If we need 1.3.1 for DNS we might as well have that as a general requirement. So for 0.10 I'll simply update the docs.

I've done some testing...
| client | server | launch | run |
|--------+--------+--------+-----|
|  1.6.0 |  1.6.0 | ok     | ok  |
|  1.2.0 |  1.6.0 | ok     | ok  |
|  1.6.0 |  1.2.0 | 1      | 2   |
|  1.2.0 |  1.2.0 | 3      | 3   |

FATA[0000] Error response from daemon: client and server don't have same version (client : 1.18, server: 1.14)
time="2015-04-21T19:07:24Z" level=fatal msg="Error response from daemon: client and server don't have same version (client : 1.18, server: 1.14)"
2015/04/21 19:16:42 Error: client and server don't have same version (client : 1.15, server: 1.14)

So, as @squaremo said, the problematic case is client_vsn<=server_version<1.3.1, since we end up with an error message that contains the weavexec docker version as the client version.
Ways of fixing this...
a. run docker version at the client, extract the Server version field, check that it is >=1.3.1 and complain otherwise
b. run docker version inside weavexec, this will produce the error, which we could catch and present differently.
c. as (b) but query the version-neutral Docker API instead, i.e. the equivalent of curl dockerhost:dockerport/version. This will give us the server version w/o an error.
The main downside of (a) is that it involves running more code at the client side, after we've just spent a fair amount of effort cutting that down. OTOH we already perform a client-side version check for weave run. Still, it's extra code and an extra (potentially remote) interaction with docker. Another issue is that we somehow need to know what to check for. Hard-coding the version into the script is kinda gross since then it appears in two places that need to be kept in sync - the script and the Makefile.
The main downside of (b) is that we are dispatching on the contents of an error message. OTOH the message format should be determined by the client, and thus pinned to the version embedded in weavexec. Or perhaps it's good enough to assume that when docker version fails then that is due to a version mismatch. Yes, that could go wrong, but commonly enough to be problematic? The other issue is that we cannot report the server version, only the server API version. OTOH that is all you get from docker version errors in general. I guess we could produce an error along the lines of "Error: docker server API version 1.14 too old; needs to be at least 1.15 (docker version 1.3.1)". Note that this is purely a rewriting of the version information+error we get; no extra info is required.
The main downside of (c) is that talking to docker over a unix domain socket from a shell script, and parsing the resulting json output, is not fun. I suppose we could write a small program to do that.


Add IconPath type

Closes https://github.com/microsoft/azuredatastudio/issues/14411

Pull Request Test Coverage Report for Build 597152557

2 of 3 (66.67%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 43.266%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/browser/modelComponents/table.component.ts
0
1
0.0%

Totals

Change from base Build 596829025:
0.0%

Covered Lines:
25018

Relevant Lines:
52997

💛  - Coveralls


D435i Color Camera FOV

In D435i Color Sensor, I’m aware that OV2740 supports 1920x1080 (16:9) as active pixels.
Regarding the spec "RGB Sensor FOV (H × V × D): 69.4° × 42.5° × 77° (±3°)" , does this spec assume 1920x1080 (16:9) ?
If RGB image captured resolution is changed from 1920x1080 (16:9) to 640x480 (4:3) on D435i, does FOV change?
If Yes, what value is it?
In RGB image 640x480 (4:3) it seems that FOV angle is lower than H:69.4°.

If you have the camera you may get intrinsics and calculate FOV for current resolution using librealsense rs2_fov function.
See example in librealsense API-How-To.

Hi @01717
Yes, your finding is correct that D435i's RGB has smaller HFOV  (cropped) at 640x480 and 320x240 resolution, the HFOV is 55 degree


How to connect Android Docker emulator in jenkins pipeline script?

currently i working in Jenkins for android continuous integration and continuous Deploy.now i struggling in Android instrumentation testing.anyone give me the solution..

@selvakumar1994 Hey. Are you using some setup from the current repository and something is not working? This repo has no info on how to How to connect Android Docker emulator in jenkins pipeline script. Sorry, but it seems to me more like a StackOverflow question.


need some coding help for a plugin...

This worked yesterday... :(
I have a plugin which today does not load anymore.
I did update my linux-box at night..
Anyway...
when I have this line
 # -*- coding: utf-8 -*-

at the top of my plugin letters.py file, beets says
error: unknown command 'letters'

when I remove it I get the
SyntaxError: Non-ASCII character '\xe2' in file /home/jmw/Documents/beets/beetsplug/letters.py   on line 42, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

this is the offending line
PUNCT = "[!\"#$%&'‘()*+,-./:;?@[\\\\\\]_`{|}~]"

So, the question is how to solve it.
Any suggestions?
I got the latest build from github (28Okt2015_12:00)
Thx
jm

Hi there you could use, this for a more consistent and safer implementation.
PUNCT = string.punctuation

If you want to use unicode characters like ‘ in the source, you'll need to declare that encoding for the Python file.
It's hard to see why the command isn't being recognized without more information—do you have the source available anywhere?


OSVR Boost undefined reference

Hello,
I'm facing a problem while compiling OSVR on Ubuntu 16.04.11, with a 5.4.0 gcc version.
CMakeFiles/osvr_json_to_c.dir/osvr_json_to_c.cpp.o : Dans la fonction « boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const » :
/usr/local/include/boost/program_options/detail/value_semantic.hpp:184 : référence indéfinie vers « boost::program_options::validate(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int) »

I think its from an undefined reference of Boost. Although, I already installed Boost with  sudo apt-get install libboost1.58-dev. And by doing cmake, I have:
-- Found Boost 1.70.0 at /usr/local/lib/cmake/Boost-1.70.0
--   Requested configuration: QUIET REQUIRED COMPONENTS thread;system;date_time;chrono;program_options;filesystem
-- Found boost_headers 1.70.0 at /usr/local/lib/cmake/boost_headers-1.70.0
-- Found boost_thread 1.70.0 at /usr/local/lib/cmake/boost_thread-1.70.0
--   libboost_thread.so.1.70.0
-- Adding boost_thread dependencies: headers
-- Found boost_system 1.70.0 at /usr/local/lib/cmake/boost_system-1.70.0
--   libboost_system.so.1.70.0
-- Adding boost_system dependencies: headers
-- Found boost_date_time 1.70.0 at /usr/local/lib/cmake/boost_date_time-1.70.0
--   libboost_date_time.so.1.70.0
-- Adding boost_date_time dependencies: headers
-- Found boost_chrono 1.70.0 at /usr/local/lib/cmake/boost_chrono-1.70.0
--   libboost_chrono.so.1.70.0
-- Adding boost_chrono dependencies: headers
-- Found boost_program_options 1.70.0 at /usr/local/lib/cmake/boost_program_options-1.70.0
--   libboost_program_options.so.1.70.0
-- Adding boost_program_options dependencies: headers
-- Found boost_filesystem 1.70.0 at /usr/local/lib/cmake/boost_filesystem-1.70.0
--   libboost_filesystem.so.1.70.0
-- Adding boost_filesystem dependencies: headers
Boost 1.44 found.
Found Boost components:
   thread;system;date_time;chrono;program_options;filesystem

So libboost is found by the program. Why isn't it still working?
Thank you for your help!

It looks like it's mixing and matching two different versions of the Boost libraries. It says it's found Boost 1.70 libraries but is using Boost 1.44 headers. And you mentioned installing Boost 1.58 packages.
I would suggest removing any unnecessary installations of the Boost libraries. Also, you can try to direct CMake toward the Boost libraries you prefer it to use using the BOOST_ROOT variable. See the documentation at the top of the FindBoost.cmake module for more information.

Thank you @godbyk !!! Effectively, the fact I installed Boost 1.70 and 1.58 caused conflict of version.
So, I've uninstalled both by removing all corresponding headers and library files. Then, I re-installed Boost (1.61 this time ^^), and now it works.
Thanks again

Glad we got it sorted out!


Interface for concrete type IpfsEngine

Hello again Richard, another PR / Suggestion:
Here we just declare an interface for the IpfsEngine concrete type. This allows users of the library to mock / substitute the engine in their unit tests 🐱💻, I hope you'll think it is worth offering.
I have not had time to go through the codebase and replace the usages of IpfsEngine with usages of IIpfsEngine wherever it made sense, but that is something I don't mind doing if you are willing to take this interface in 👍

The ICoreApi interface  can be used for swapping.  This is used by https://github.com/richardschneider/net-ipfs-http-client.

@monsieurleberre As mentioned in private chats this interface is not needed. ICoreApi should be used.
See https://github.com/catalyst-network/Catalyst.Node/pull/360 for working code.


Stage 6 pro_dat9 mc question is misbehaving

The very last mc question in Stage 6 pro_dat9 is behaving especially strangely. I have to press all the radio buttons twice for them to respond to anything, and then the "next" button never appears. (It gets cut off in the video, so you can't see it).
https://github.com/cosmicds/hubbleds/assets/12750048/b53477bf-fca8-427a-9f2b-6980014d1c83
Originally posted by @patudom in https://github.com/cosmicds/hubbleds/issues/379#issuecomment-2153233179

Fixed in #389


fix most reliances on deleteOnExit, deleting when done with the file

catches leaks to /tmp file system if AMP is long-running or killed non-cleanly

Commit-then-review requested @jcabrerizo


pip.sh: die on pip install failure

Can one of the admins verify this patch?

@tensorflow-jenkins test this please

@jendap's comment addressed. Squashed.

Merged


Setting Atom as my default editor in Cyberduck

So when Atom installed itself, I have no idea where it placed its files...
I've been trying to set Atom as my default editor in Cyberduck, the issue is, I can't find the "Atom" file in my computer to select in the file window.
I tried selecting the Atom shortcut that was installed on my desktop, but Cyberduck claims it points to a file called "update" and then refuses to work. I was able to set Cyberduck to work with Sublime, but I can't figure out how to set Atom as my default editor...
Does anyone know how to fix this?

I'm having the same problem. Anyone know?

There is a .cmd file for atom (next to one for apm) that your link should use as a target in:
C:\Users\[username]\AppData\Local\atom\bin

It doesn't work. The edit tab in Cyber Duck is still greyed out,  and I can't open files with Atom.
On Sun, Apr 05, 2015 at 4:45 AM, batjko <notifications<EMAIL_ADDRESS>wrote:
There is a .cmd file for atom (next to one for apm) that your link should use as a target in:
C:\Users[username]\AppData\Local\atom\bin
[image]https://cloud.githubusercontent.com/assets/7287076/6996306/43301df8-db78-11e4-87ed-be2b04e787cc.png
—
Reply to this email directly or view it on GitHubhttps://github.com/atom/atom/issues/6177#issuecomment-89735911.

I don't know at all what your CyberDuck's requirements are for declaring editors.
Maybe it needs to be the actual executable, which theoretically you could get by going directly into the latest version's bin folder. But then you'd have to manually change it every time an update comes out.

Atom is now registered as an application for association with files.
Cyberduck however still has Edit With grayed out and I wasn't even able to get that working with Notepad. I suspect there is either an issue their end or they are expecting the application to be able to open url's.  Atom worked fine from the open command on the transfer window.
I think our part of the work here is done and you might want to follow up with Cyberduck - I found issues on their tracker relating to Edit With not working but they were all OS X related and subsequently fixed.
If you can get Cyberduck Edit With working with another app please post back so we can find out what the difference is.

You can make atom a default editor right in atom. goto settings and click editor. Read through and check all the places that integrates atom to open with options


iOS: Added camera permission ckeck and fail if it's not permitted

Added camera permission check and call error callback if it's not permitted to use the camera

retest this please


Bug Report: Display of GUI has Bugs from recipes

addr allows adding a recursive recipe:
That is, a recipe taking in the product as an ingredient in it's recipe.
eg
fatty + banana -> fatty
eg:
addi -n fatty -q 100 -d eats bananas -l Bob's banana farm
deli -n banana
addr -n fatty -items fatty[1], banana[1] -pc 1 -d fatty eats bananas
This completely breaks the display of GUI for all recipes
listr does not display anything
Solution Proposed:
Disallow command to add such recipes by adding checks
Edit:
condition is that banana was soft deleted already

Bug fixed