scipy.stats.ks_2samp for masked and unmasked data give different results when no values are masked

This is a copy of my stackoverflow question.
There are two versions of the scipy.stats.ks_2samp function. scipy.stats.ks_2samp is the standard version, and scipy.stats.mstats.ks_2samp is the version in which "Missing values are discarded". Given distributions in which no entires are missing, the results are different. Why? Code:
Reproducing code example:
import numpy as np
from scipy.stats import ks_2samp
from scipy.stats.mstats import ks_2samp as ks_2sampm

a = np.array([1, 3, 6, 8, 8])
b = np.array([2, 3, 4, 6])

ks_2samp(a, b)# statistic=0.40000000000000002, pvalue=0.75428850089034016
ks_2sampm(a, b) #(statistic=0.39999999999999997, pvalue=0.86916357240334474)

Why the different p-values?
Scipy/Numpy/Python version information:
scipy version is 1.0.0

I think at least the default use of both functions should yield the same p-value; whichever p-value calculation we go for. But I'll trust your judgement...

I think at least the default use of both functions should yield the same p-value; whichever p-value calculation we go for.

That seems reasonable. It should at least be documented, with preferably a citation.

The correction in the stats version D(sqrt(n) + 0.12 + 0.11/sqrt(n)) is in the first reference on the Wikipedia page
Stephens, M. A. (1974). "EDF Statistics for Goodness of Fit and Some Comparisons". Journal of the American Statistical Association. American Statistical Association. 69 (347): 730–737. doi:10.2307/2286009. JSTOR 2286009.
(I didn't manage to find the book chapter of Stephens which was written later.)
In Stephens 1974 it is for the one-sample KS test against a known distribution. The is the same except for the different definition of n as used in both ks 2sample functions.
So if pvalues are made consistent, then I think the stats version with the above correction is better.

Just another reference:
I managed to get the book D'Agostini and Stephens but it is also one for one-sample ks_test.
It has a similar table of modification as Stephens 1974, but attributes it to an earlier articles which is also only for one-sample
Stephens, Michael A. "Use of the Kolmogorov-Smirnov, Cramér-Von Mises and related statistics without extensive tables." Journal of the Royal Statistical Society. Series B (Methodological) (1970): 115-122.
As cross-check, the critical values in Stephens 1970 for KS are the same as stats.kstwobign.isf([0.15, 0.1, 0.05, 0.025, 0.01]) at 3 decimal print precision.

I did a few simple checks aginst the R implementation ks.test. The mstat version seems to coincide with the R version that is based on asymptotics (exact = FALSE).
The values of stats.ks_2sample cannot be reproduced if exact = TRUE
Same values as above (probably not a good test case since there are ties):
x <- c(1, 3, 6, 8, 8)
y <- c(2, 3, 4, 6)
ks.test(x, y, "two.sided", exact = FALSE) # p=0.8692
ks.test(x, y, "two.sided", exact = TRUE) # warns about ties, p as above

More examples:
x <- c(0.1, 0.2, 0.3, 0.4, 0.5)
y <- c(0.25, 3, 1, 0.7)
ks.test(x, y, "two.sided", exact = FALSE) # p=0.1641
ks.test(x, y, "two.sided", exact = TRUE) # p=0.1429

vs.
x = np.array([0.1, 0.2, 0.3, 0.4, 0.5])
y = np.array([0.25, 3, 1, 0.7])
ks_2samp(x, y) # p=0.0822
ks_2sampm(x, y) # p=0.1641

and
x <- 1:20
y <- x - 7.1
ks.test(x, y, "two.sided", exact = FALSE) # p=0.0815
ks.test(x, y, "two.sided", exact = TRUE) # p=0.0811

vs
x = np.arange(1, 21)
y = x - 7.1
ks_2samp(x, y) # p=0.0591
ks_2sampm(x, y) # p=0.081

@chrisb83
Can you do a brief monte carlo simulation to see the empirical size, rejection rate under the null for the two version, or if possible including R's "exact" values.
e,g, sample sizes 5, 10 20 30 and uniform and gaussian, which both won't have ties.

Wanted to see if the p values converge at higher number of samples but that doesn't seem to be the case:

code:
%matplotlib inline
import scipy as sp
import numpy as np
import matplotlib.pylab as plt

samp_sizes = np.arange(5, 1000)
rolls_per_size = 10
idx = 0
data = np.zeros((2, len(samp_sizes) * rolls_per_size))
data_samp_size = np.zeros(len(samp_sizes) * rolls_per_size)
for samp_size in samp_sizes:
    for i in xrange(rolls_per_size):
        x1 = [random.randint(0, 10) for j in xrange(samp_size)]
        x2 = [random.randrange(0, 10, 2) for j in xrange(samp_size)]
        data[0, idx] = sp.stats.mstats.ks_twosamp(x1, x2, alternative='two-sided')[1]
        data[1, idx] = sp.stats.ks_2samp(x1, x2)[1]
        data_samp_size[idx] = samp_size
        idx += 1

plt.plot(data_samp_size, data[1,:] / data[0, :], '.')
plt.xlabel('sample size')
plt.ylabel('ks_2samp pval / mstats.ks_twosamp pval')

@MarvinT
This looks to me it's mostly about tie handling or tie breaking if you use integer random numbers.
To check p-values it would be better to use a continuous distribution

well if you replace the lines with
x1 = [random.normalvariate(0, 1) for j in xrange(samp_size)]
x2 = [random.normalvariate(0, 2) for j in xrange(samp_size)]

you get

and a joint plot for good measure:

The statistic results are all the same up to an epsilon so its just the mapping from the statistic to the p value.

One more:
you are simulating under the alternative, the distribution of x1 and x2 are not the same.
The pvalues should be very small for larger sample size and relative difference or ratio will be like 1e-20/ 2e-20

simulate under the null where x1 and x2 come from the same distribution, In this case both p-values should be uniform in [0, 1]
compute difference in p-values instead of ratio when using the alternative.

IMO, the difference looks to large in the plots, I think both should be asymptotically the same.
BTW: you can use numpy.random, then you don't need the list comprehension

@josef-pkt @pvanmulbregt any opinion how to close this issue? i would argue that the mstats version is preferable since I am not aware of a reference that proposes the adjustment in stats for the two-sided case and the result does not look much better based on the small test i did (https://gist.github.com/chrisb83/6b053181865bb9c5ec5b635ca54fa160).

Based on the plots in In [74] it looks like mstats will have closer size on average but will be liberal over some ranges.
Related aside: this looks a bit similar to the debate for binomial proportions: Because of the discreteness of the possible test statistics, it is not possible to get the correct size/rejection rate. The debate is whether it is better to have the correct size on average or whether size should be maintained (rejection rate shouldn't exceed nominal rate) which ends up being conservative, i.e. can under-reject by a large amount.
a quick MC for empirical size of test, i.e. rejection rates compared to nominal
[ 0.001  0.01   0.025  0.05   0.075  0.1    0.2  ]

5 [ 0.      0.01    0.01    0.0745  0.0745  0.0745  0.0745] stats
5 [ 0.      0.      0.01    0.01    0.01    0.0745  0.0745] mstats

6 [ 0.      0.0035  0.0265  0.0265  0.0265  0.142   0.142 ] stats
6 [ 0.      0.0035  0.0035  0.0265  0.0265  0.0265  0.142 ] mstats

7 [ 0.      0.0105  0.0105  0.062   0.062   0.062   0.208 ] stats
7 [ 0.      0.      0.0105  0.0105  0.062   0.062   0.062 ] mstats

8 [ 0.0005  0.017   0.017   0.091   0.091   0.091   0.2875] stats
8 [ 0.0005  0.0015  0.017   0.017   0.017   0.091   0.091 ] mstats

10 [ 0.0015  0.0145  0.0145  0.0505  0.0505  0.0505  0.1645] stats
10 [ 0.0015  0.004   0.0145  0.0145  0.0505  0.0505  0.1645] mstats

12 [ 0.0025  0.011   0.0335  0.0335  0.098   0.098   0.252 ] stats
12 [ 0.001   0.011   0.011   0.0335  0.0335  0.098   0.098 ] mstats

15 [ 0.      0.0065  0.0245  0.0245  0.0755  0.0755  0.1875] stats
15 [ 0.      0.0065  0.0065  0.0245  0.0245  0.0755  0.1875] mstats

20 [ 0.0005  0.014   0.0375  0.0375  0.0975  0.0975  0.199 ] stats
20 [ 0.      0.004   0.014   0.0375  0.0375  0.0975  0.199 ] mstats

30 [ 0.001   0.0085  0.019   0.043   0.071   0.071   0.1315] stats
30 [ 0.      0.0085  0.019   0.043   0.071   0.071   0.1315] mstats

50 [ 0.0015  0.009   0.022   0.0355  0.068   0.109   0.168 ] stats
50 [ 0.001   0.004   0.022   0.0355  0.068   0.068   0.168 ] mstats

script is just a quick adjustment of part of the notebook
import numpy as np
from scipy import stats
from scipy.stats import mstats

sample_sz = [5, 6, 7, 8, 10, 12, 15, 20, 30, 50]
n_sim = {5: 2000,
         8: 2000,
         10: 6000,
         15: 10000,
         20: 12000}
distr_dn = {}
distr_dn_m = {}

alphas = np.array([0.001, 0.01, 0.025, 0.05, 0.075, 0.1, 0.2])
print(alphas)

np.random.seed(2339)

for sz in sample_sz:
    ks_stat = []
    ks_mstat = []
    for i in range(2000): #n_sim[sz]):
        x, y = stats.norm.rvs(size=sz), stats.norm.rvs(size=sz)
        s = stats.ks_2samp(x, y)[1]
        sm = mstats.ks_2samp(x, y)[1]
        ks_stat.append(s)
        ks_mstat.append(sm)

    distr_dn[sz] = np.array(ks_stat)
    distr_dn_m[sz] = np.array(ks_mstat)

    reject = (distr_dn[sz][:, None] <= alphas).mean(0)
    reject_m = (distr_dn_m[sz][:, None] <= alphas).mean(0)
    print()
    print(sz, reject, 'stats')
    print(sz, reject_m, 'mstats')

@josef-pkt the fact that the mstats version is more conservative is probably a good argument to stick to that version. once n is large (maybe > 200), one could use the unadjusted version in stats. Would you be supportive of a PR in that case?

I'm not sure

@josef-pkt did you mean to close this?

Sorry, must be some mistake here that this got closed. (I'm shutting down open windows and tabs in my summer notebook. I guess I closed the issue when closing chrome and its tabs)

@josef-pkt We can also add a parameter method with values asymptotic, approximate (Stevens approximation) and auto (use Stevens method for small n, otherwise asymptotic).

I also spent sometime looking for the justification of the (en + 0.12 + 0.11 / en) multiplier in distributions.kstwobign.sf((en + 0.12 + 0.11 / en) * d).
I also spent sometime looking for the justification of any multipliers or adjustments in the Kolmogorov-Smirnov stats.

For 1-sided, one-sample, an exact formula is both known and effectively computable, and  the asymptotic behaviour is exp(-2nx^2), but a theoretically justified better way to approach it is exp(-2n(x+1/(6n))^2[Maag-Dicaire, 1971].
For 2-sided, one-sample, algorithms to compute Pr(D>x) have been known for a while but computationally expensive, at least until 2000s.
The asymptotic behaviour is K(z)= 2*sum (-1)^(k+1) (exp(-2z^2))^2, for z=sqrt(n)*d.
Stephens[1970] lists z=(sqrt(n) + 0.12 + 0.11 /sqrt(n))*d as the modified form to use for d=Dn, Dn+, and Dn-. This appears to be a numeric formula which worked well, not necessarily a theoretically justified one.

Neither of these adjustments is used in kstest.
For the two-sample test with m, n observations respectively , set N=mn/(m+n). Smirnov showed that Pr{sqrt(N)*D+ >= Z} -> exp(-2Z^2) and Pr{sqrt(N)*D >= Z} -> K(Z), under the additional condition that m/n -> q for some q.   Hence the adjustments for the one-sample tests may also be used for the two-sample test. But there are some caveats.
The probabilities Pr{sqrt(N)*Dm,n >= Z} depend subtly on  m, n, not just N=mn/(m+n).  In particular the rate of convergence is not uniform.  Hodges [1958] showed that even when m/n->1, [(Pr{sqrt(N)*D+ >= Z}/exp(-2Z^2)) - 1] *sqrt(N) doesn't have a limit so the oscillations are substantial.
kstest and ks_samp could let the user decide whether to use Stephens' adjustment or not, except that 99.99% of users won't know enough to be able to competently decide, if the elapsed time and effort spent on this Issue are any indication.
kstest can exactly compute 1-sided probs, and my plan is to add one of the recent algorithms  to exactly compute the two-sided probs, so I would suggest not modifying the use of kstwobign.sf() in that routine.
I agree with @josef-pkt on the usefulness of Stephens work. I'd be tempted to make his adjustment used in ks_2samp.

@pvanmulbregt thanks for the information. having an exact method for the two-sample finite samples would be the best option of course. do you have a reference? any idea when you could add such a method?
i would say if a quick fix is considered worthwhile, it does not matter so much if we do the adjustment or not. even for n=20, the two versions are pretty close (and if there are less observations, one needs to be careful in any case). at the moment, the situation is bad because of the inconsistency between stats and mstats + there are no references, so the user is not aware of the method used.

@chrisb83 Clarification: Adding exact calculation is for the two-sided one-sample situation.  It is a non-trivial computation, I have an initial implementation in Cython, but it is not ready.  It won't get much of my attention after gh-8737 is accepted.  Computations for the two-sample situation, either one-sided or two-sided, hadn't been on my radar...


weex 临时图片使用问题

weex 使用本地图片时，iOS客户端中 在bundle 使用“local:///x x x.png”可获取到

2.那么当图片与基础bundle位置不同的时候  该如何使用  类似weex-image-crop-picker这样拍完照给的路径的：
2018-03-09 10:51:41.748604+0800 WeexDemo[6697:2964327] [log]WXJSCoreBridge.m:146, jsLog: 当前显示的图片路径是：///////
/private/var/mobile/Containers/Data/Application/A2F3F6B3-84C5-41C5-81DE-C70FC77D2670/tmp/react-native-image-crop-picker/1CBCFB68-B196-4353-963C-BBD56A5AF587.jpg

@zhuxiaozhuworking   建议可以重写路径规则handler http://weex.apache.org/cn/guide/advanced/path.html#uri-adapter

This PR/issue doesn't received response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.


Create Blog “2023-08-31-testing-new-blog-post”

Automatically generated by Netlify CMS

👷 Deploy Preview for statuesque-souffle-6ba9a1 processing.

Name
Link

🔨 Latest commit
b0a0d9a9fd4dd6e365257381274b6771c82f9267

🔍 Latest deploy log
https://app.netlify.com/sites/statuesque-souffle-6ba9a1/deploys/64f0fed79cb38400088f4918


Bad vertical alignments

Bad vertical alignments for image and range inputs
Should include the following:
[type='image'],
[type='range'] {
vertical-align: middle;
}

What makes them bad? Are they inconsistent among the browsers?

In fact, all browsers use a baseline alignement but the visual effect is not consistent (sometimes a label appears in the middle, sometimes at the bottom, depending of the browser).

@Yapaslfeu, if this is a visual quirk, would you please put together a quick test page on CodePen for this?

I don't know how to use CodePen
Here is the code to see it:

Image:
Range:

CodePen based on the example from @Yapaslfeu

vertical-align: middle should [have been called] text-middle because it's not really in the middle.
— Incomplete List of Mistakes in the Design of CSS

I agree that the middle alignment looks better in this particular case, but that doesn’t mean it would look better in every case, and every browser already treats these elements the same.
mac_osx_10 8_safari_6 2_1024x768_chromeless

mac_osx_10 11_safari_9_1024x768_chromeless

windows_7_64-bit_firefox_45_1024x768_chromeless

windows_7_64-bit_google_chrome_49_1024x768_chromeless

windows_7_64-bit_internet_explorer_10_1024x768_chromeless

windows_7_64-bit_internet_explorer_11_1024x768_chromeless

windows_7_internet_explorer_8_1024x768_chromeless

windows_7_internet_explorer_9_1024x768_chromeless

windows_7_opera_32_1024x768_chromeless

windows_10_microsoft_edge_1024x768_chromeless


Will you consider HarmonyOS NEXT?

(((p(>o<)q)))~~~

Yes, support HarmonyOS is considering in the future.


Not possible to add or delete multiple appsettings using CLI

Describe the bug
When attempting to add or delete multiple appsettings via CLI az staticwebapp appsettings set or az staticwebapp appsettings delete only the last entry is used. In other words, its not possible to add or delete multiple appsettings.
To Reproduce
Attempt to add multiple:
az staticwebapp appsettings set --name my_swa --setting-names "a=1" --setting-names "b=2"

Attempt to delete multiple:
az staticwebapp appsettings delete --name my_swa --setting-names "a" --setting-names "b"

Expected behavior
As per https://learn.microsoft.com/en-us/azure/static-web-apps/application-settings
when multiple --setting-name pairs are provided then these should each be added or deleted.
The observed behaviour is that only the last --setting-name is actioned.
Other notes
According to the Tip in https://learn.microsoft.com/en-us/azure/static-web-apps/application-settings

You can add or update multiple settings by passing multiple name-value pairs to --setting-names.

This is somewhat misleading as it could mean multiple things eg. multiple --setting-names as above or multiple key/values embedded into the same --setting-names.
The latter does not work either.
az staticwebapp appsettings set --name my_swa --setting-names "a" --setting-names "a=1 b=2"

yields
{ "a": "1 b=2" }

Hi @nad-au,
I had a similar issue today and spent half an hour figuring out how it works. Multiple settings can be updated using the following syntax:
az staticwebapp appsettings set --name my_swa --setting-names "a=1" "b=2"

It is indeed misleading and initially, I tried the same combinations as you.
Having an example in the documentation would be very helpful.


Update catbird and other versions

I just published a new catbird for Util 6.45.0, but it looks like Finch was behind a release anyway.

Codecov Report

Merging #788 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #788   +/-   ##
=======================================
  Coverage   79.76%   79.76%
=======================================
  Files          44       44
  Lines         677      677
  Branches       24       24
=======================================
  Hits          540      540
  Misses        137      137

Continue to review full report at Codecov.

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

Thanks a lot, @travisbrown!


python: Move catch_conflicts.py into subdirectory

Motivation for this change
Python does add the script's directory into "sys.path". For the case of
"catch_conflicts.py" this means "/nix/store" is added to "sys.path". This can
result in very long delays if the store contains a lot of entries.
I came across the issue on my machine which has about 100,000 entries in /nix/store. The build time for a single python derivation was increased by about 20 seconds due to this problem.
https://docs.python.org/3/library/sys.html#sys.path contains some details that the path of the script is added as first element into sys.path always.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Thanks for checking this out. This is an interesting issue.
Another solution would be to copy the file into the build as is done with run_setup.py in build-python-package-setuptools.nix. In any case, whatever solution you pick, please explain in the code why its done like that since otherwise someone would likely change it again.

Yes, indeed, we could copy it in as well, still it would need a subdirectory, otherwise we get false positives. Out of this thought I came to the conclusion to run this in an empty directory in the store. That's IMO less fragile.
Regarding a comment: Since it's a tricky issue, maybe it's best to put a small README.md into the subdirectory? Then I could explain the reasoning better and if someone wonders what this weird construction is about there is a good chance that it helps to understand the original reasons.

Yes, indeed, we could copy it in as well, still it would need a subdirectory, otherwise we get false positives. Out of this thought I came to the conclusion to run this in an empty directory in the store. That's IMO less fragile.

If it gets copied in, it would add the build directory to sys.path. What kind of false positives are you thinking of? In any case, you're right, having it in a separate directory is the safest.

Regarding a comment: Since it's a tricky issue, maybe it's best to put a small README.md into the subdirectory? Then I could explain the reasoning better and if someone wonders what this weird construction is about there is a good chance that it helps to understand the original reasons.

You could refer to this PR:

The file catch_conflicts.py is in a subdirectory because, if it isn't, the /nix/store/ directory is added to sys.path causing a delay when building. See https://github.com/NixOS/nixpkgs/pull/23600

Since this is flagged as a mass rebuild, does it need special treatment in any way?

@johbo mass-rebuilds go into staging.
Currently Hydra is quite occupied so I'll merge this together with some other Python-related mass-rebuilds (https://github.com/NixOS/nixpkgs/pull/22210).

@vcunat this can go in.

I didn't notice it was against master and had to "move" the commit to staging afterwards, creating a bit of mess.


Iss485 - backend database

Lets also add psycopg2 as a dependency in INSTALL.md

Should there be an option to run the pipeline without using the database?

Should there be an option to run the pipeline without using the database?

Yes I prefer to keep old functionality around in case of an unanticipated use case, or we have to roll things back.  Specifying some --option with action="store_true" would do the job.


Update Release workflow with newly approved action

🚀 Feature Request
We recently got https://github.com/release-drafter/release-drafter to be added to the approved list of actions for the USEPA org (yay!). Now lets put it to good use.

closing since we've successfully tested this several times now, we may want to consider applying a format to our GitHub labels/labelers so we can take full advantage of the release-drafter's ability to auto tag our releases etc. etc.


Fix bool query params

Fixes #443

@bennor are there any other primitives we need to consider? Should we use Type.IsPrimitive?

I couldn't see any others that aren't covered by IFormattable, but if it's safe to use Typ.IsPrimative we could use that instead of explicitly checking.

Hi,
First of all, thanks for this fix.
Do you know when this fix will be released?
Regards,


Implements Add Item button and popup

As a user, I can add an item to a product with just a click of a button so that I don't have to remember the commands

Closed by #129


⚠ Bofrost.at has degraded performance

In aed1508, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1285 ms

Resolved: Bofrost.at performance has improved in cae3197.


Allow partial attributes factory for child factories (generating missing fields in .build())

Given the following Pydantic models and Factory:
from pydantic_factories import ModelFactory
from pydantic import BaseModel

class Pet(BaseModel):
    name: str
    age: int

class Person(BaseModel):
    name: str
    pets: list[Pet]
    age: int

class PersonFactory(ModelFactory[Person]):
    __model__ = Person

When trying to build:
data = {
    'name': 'John',
    'pets': [
        {'name': 'dog'},
        {'name': 'cat'},
    ],
}

PersonFactory.build(**data)

Then the following exception is raised:
ValidationError: 2 validation errors for Person
pets -> 0 -> age
  field required (type=value_error.missing)
pets -> 1 -> age
  field required (type=value_error.missing)

We see that the age is missing in the data, so the factory is not able to construct the model.
If we add the age to the data:
data = {
    'name': 'John',
    'pets': [
        {'name': 'dog', 'age': 3},
        {'name': 'cat', 'age': 4},
    ],
}

PersonFactory.build(**data)

The factory will construct the model instance:
Person(name='John', pets=[Pet(name='dog', age=3), Pet(name='cat', age=4)], age=5978)

Note: only the age of the Pets (child model) is necessary, ModelFactory handles to randomly fill the age of Person.
It would be great to have the same behaviour of Factory Boy. If we pass only part of the attributes of a child model, then the factory will generate the missing attributes for us.
Can we work on this feature?

Sure, go ahead

Great, I'll work on a PR.

any updates? @pedro-prose

Hi, I didn't had the time this last week. I'll work on it this week.

released

released

Thank you!


[vcpkg] Avoid RENAME usage to prevent cross-device link problems (#4245)

In vcpkg_download_distfile.cmake vcpkg was using file(RENAME) to prevent error creating directory downloads/temp on Windows (see #3399).
Anyway, in some case file(RENAME) fails, which interrupt package installation.
The observed error messages are:
No such file or directory (#4245), Invalid cross-device link (#7079, #7997).
This PR proposes temp directory cleanup mechanism without file(RENAME).
We create temp once and remove all its contents when we need.
Here is the Dockerfile I built to test my changes.
FROM gcc:latest
RUN apt-get update && apt-get install -y git curl unzip tar
RUN git clone https://github.com/Pospelove/vcpkg.git && cd vcpkg && git reset --hard 32fa8b4c226129a98a3f62e92d17f47fe2122e55 && chmod 777 bootstrap-vcpkg.sh && ./bootstrap-vcpkg.sh
RUN cd vcpkg && ./vcpkg install cpp-httplib
RUN cd vcpkg && ./vcpkg install nlohmann-json

Thanks for the PR!
You mentioned that this error occurs "in some cases"; is it deterministic and reproducible in the cases it occurs or is it transient? If it's a transient error, some sort of retry logic may be a better approach.
Some alternative options:

Use cmake's "command mode" to perform the rename so we can catch errors and retry after a short sleep

execute_process(COMMAND ${CMAKE_COMMAND} -E rename <oldname> <newname>)

Remove the directory, check if it is still there, then loop after a delay until gone or retried N times

@ras0219
It's absolutely deterministic and reproducible in my case. The error is reproduced in 100% of cases (#7997). I think repeating actions may help with #4245, but not with #7079/#7997. It will just fail all attempts.

CMake explicitly states that RENAME is only valid on a single partition and likely Docker is doing some weird filesystem things. There isn't any real downside to not using RENAME except for in-place renames, though I would argue that Kitware should fix this the same way mv handles cross partition moves (which is the same way you're handling them in this PR).

Thanks for the PR!


chore: bdd-spring-1574282358 to 0.0.1

chore: Promote bdd-spring-1574282358 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Can we scan name on the card?

We have integrated CardIO library into our project for scanning card number. It scans card number successfully and accurately but unable to scan name on the card even though card name is also embossed. Is there any other setting in the library to scan the card name?

card.io does not scan the cardholder name today. The only setting for the card holder's name is a manual text entry field added in the most recent version.


Cmd

[Enter feedback here]
**
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0df94452-999b-43a0-be42-722fbabedaf3
Version Independent ID: 84206d79-507f-b562-9d3f-cc3683b7abe6
Content: cmd
Content Source: WindowsServerDocs/administration/windows-commands/cmd.md
Product: windows-server
Technology: windows-commands
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

#assign:xelu86

Closing public GitHub issue as user feedback is unspecified. #please-close


problem when parsing shp file  with mutiple polygon

when i parse a shp.zip file, if the file contant only one Polygon , i works good.
but when the file looks like this, the data can't parse properly, it seems the data be parsed as MultiPolygon and the coords are lose.
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "coordinates": [
          [
            [
              95.9992492132618,
              5.248203435064326
            ],
            [
              95.9992492132618,
              -0.8764815860385653
            ],
            [
<PHONE_NUMBER>9348485,
              -0.8764815860385653
            ],
            [
<PHONE_NUMBER>9348485,
              5.248203435064326
            ],
            [
              95.9992492132618,
              5.248203435064326
            ]
          ]
        ],
        "type": "Polygon"
      }
    },
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "coordinates": [
          [
            [
<PHONE_NUMBER>1671214,
              4.61735908288729
            ],
            [
<PHONE_NUMBER>1671214,
              -0.674913025566596
            ],
            [
<PHONE_NUMBER>849588,
              -0.674913025566596
            ],
            [
<PHONE_NUMBER>849588,
              4.61735908288729
            ],
            [
<PHONE_NUMBER>1671214,
              4.61735908288729
            ]
          ]
        ],
        "type": "Polygon"
      }
    }
  ]
}

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "bbox": [
                    95.9992492132618,
                    -0.8764815860385654,
<PHONE_NUMBER>849588,
                    5.248203435064326
                ],
                "type": "MultiPolygon",
                "coordinates": []
            },
            "properties": {
                "stroke": "#243cd8",
                "stroke-width": 2,
                "stroke-opacity": 1,
                "fill": "#5370d8",
                "fill-opacity": 0.5,
                "name": "upload area"
            }
        }
    ],
    "fileName": "layers/POLYGON"
}

can you share the shapefile you are having trouble parsing?

thanks @calvinmetcalf ，i think it might be the problems of the shape file.
1, got this file in https://geojson.io/ , i draw 2 polygon and save as a ziped shapefile
2, use shp.js to parse it ,failed.
3, tried to open it in the https://mapshaper.org/ , it can be open
4, tried to open it in arcgis, failed. but when i
5, looks like it is the problem of the file not the shp.js

mapbox/geojson.io#847 looks to be the issue


Set up request body validation on /create-blog route using Joi

Add request body validation on the /create-blog route using Joi. Validate required fields such as title, content, and tags before saving to the database.
Reference:

Joi Validation in Express

Hello @dead8309 Can you assign this issue to me?

Assigned ! Happy Hacktoberfest!

@Pratik00019 are you working on this issue?

Yes @Utkarsh-2005 , I am working on it


pr create: Provide more helpful error message when you do not have access to a repository

Currently, when trying to create PR for a repository to which you do not have contributor rights, we get an empty error message. Took me a little bit of rummaging about on my own before I could find out what the problem was. The azure cli actually does provide a useful error message here (telling us we don't have access), so perhaps a possible solution would be to forward the azure error message if any pop up?

I'm having trouble reproducing this one. I assume this is a situation where you have viewing rights but not contributing rights. Probably what is happening is that the error message is communicated via stdout instead of stderr. I made error handling code a bit more robust for this:
https://github.com/ing-bank/doing-cli/commit/d2c10dfae3bbac2a68c365965c5810eb6d4fd1a5#diff-04186dccbae3e4068b23960111707533a0a45468dbd51a2000fd9a83ee46f6fdR170-R171
Will release shortly, then you can try and see if this fixes it.

Hmm this didn't quite do it, it would appear. I do believe it is exactly the situation which you describe (can view but can't contribute).
Actual error message (I've only copied the last bit since pasting the provided error messages doesn't work great, sadly, due to the formatting):
|<EMAIL_ADDRESS>│
│ -packages/doing/pr/create_pr.py:113 in cmd_create_pr                                             │
│                                                                                │
│   110 │   │   cmd = f"az repos ref create --name 'heads/{branch_name}' --repository '{repo_nam   │
│   111 │   │   cmd += f"--object-id '{master_branch_object_id}' -p '{project}' --org '{organiza   │
│   112 │   │   branch = run_command(cmd)                                                          │
│ ❱ 113 │   │   assert branch.get("success")                                                       │
│   114 │   │   console.print(f"[dark_orange3]>[/dark_orange3] Created remote branch '[cyan]{bra   │
│   115 │                                                                                │
│   116 │   # Create the PR
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
AssertionError:
So interestingly enough, I think the issue is that the function itself doesn't error out - it only gives an info message. Then the branch.get assert fails, as we couldn't actually create the branch.

Thanks for this! I should have added a helpful error message there, which I did now:
https://github.com/ing-bank/doing-cli/blob/df135f04a51dfb7978a3ebf6c439f587dc744ad6/src/doing/pr/create_pr.py#L115
Will be released in v1.1 in a bit. Thanks for reporting this stuff, really helps make doing better!


Consolidate 'prepare worksheet' editors

Combines worksheet templates & controllers
Adds new page level templates

Coverage remained the same at 97.73% when pulling 1d29a6a4f43d5dd80df67a0dbac62327b6a425c1 on virginiacc:master into 01ff48302dffb31f8444290f3a68b6cbbb07d49a on cfpb:master.

Let's get this merged so we can start workin. Would welcome @anselmbradford's feedback too

Coverage remained the same at 97.73% when pulling ae0960063439316b667d55a9cae090036797dfcf on virginiacc:master into e7495a1dea552a6c2599206000c51d26a77aaa73 on cfpb:master.

Coverage remained the same at 97.73% when pulling c549d536bace56bcb1d9bec2039b6335a54f89ca on virginiacc:master into e7495a1dea552a6c2599206000c51d26a77aaa73 on cfpb:master.


Support conditional routing for command processing.

In traditional MUDs, all input and output has to go through the server; the client is just a dumb terminal.
This can and should be different in MeteorMUD.  While some commands obviously need to be validated and processed by the server for the sake of security and to prevent cheating (or just to work at all), some commands can be processed entirely client-side.
For instance, it should be possible to supply the client with the help database and allow them to peruse articles at will.  Server interaction is simply unnecessary.
This shouldn't be terribly difficult to do, but there are some complications.  For instance, if we allow inputting several commands at once, separated by semicolons, the splitting needs to be done on the client side.  This could be refactored though as filtering out local commands, processing the local commands, and submitting the remainder to the server.
This will probably result in out of order execution; e.g. "help; s; help; s; help; s" will appear to the client indistinguishably from "help; help; help; s; s; s".  I don't think this is necessarily a problem, though, since the client-side commands are such that they don't depend on server-side processing.

Actually, this might not be a great idea, since it'd mean publishing the entire help database to the client on every. single. load.  In any event, it's premature optimization.


[Question] - Turning off the ligatures

Thanks for nice plugin - I just switched from VSCode to  try DataSpell/Pycharm.
With the plugin and Visual Studio Light  theme enable I see ligatures in my code != or ->, even if I don't have them turned on in VSCode; how can I turn it with your plugin?
I was unable to find the settings of the plugin within editor.
Build #DS-232.8660.202, built on July 27, 2023

Thank you for your kind words!
A couple of things:

Firstly, this plugin does not offer a light theme yet. I'm assuming you have installed another plugin for the Visual Studio light theme? On a side note - Alex is currently working to create a light theme for #66
Secondly.. this plugin does not modify the ligatures by any means.. I'm not sure if that is being enabled by some other plugin you may have installed. I would check settings -> Editor -> Font to ensure that the option is not enabled there. Other than that, I can't think of anything that would cause that.

https://github.com/dinbtechit/vscode-theme/assets/17984781/1ec65664-3d87-4184-8aa5-e259a69b0bf1

Thank you for help!
it was my fault, there was indeed another plugin for light theme I forgot I installed, and the  this plugin latest  updated correlated with me spotting ligatures  :) The light theme will be super useful! :)


insertWithRelated with ManyToMany seems to be using incorrect id

Ok I am trying to wrap my head around Objection. It seems like exactly the right balance of assistance and freedom, so well done on that.
Basically I have the following query.
Role.query().insertWithRelated({
    '#id': 'role',
    name: 'member',
    title: 'Members',
    description: 'Members permissions',
    permissions: [
        {
            '#ref': 'role',
            permissionId: permissions[0].id,
        },
    ],
});

And the following models:
class Permission extends Model {
    static get tableName() { return 'Permission'; }

    static get jsonSchema () {
        return {
            type: 'object',
            properties: {
                id: {type: 'integer'},
                name: {type: 'string', minLength: 1, maxLength: 255},
                title: {type: 'string', maxLength: 255},
                description: {type: 'string'},
            }
        };
    }
}

class Role extends Model {
    static get tableName() { return 'Role'; }

    static get jsonSchema () {
        return {
            type: 'object',
            properties: {
                id: {type: 'integer'},
                name: {type: 'string', minLength: 1, maxLength: 255},
                title: {type: 'string', maxLength: 255},
                description: {type: 'string'},
            }
        };
    }

    static get relationMappings() {
        return {
            permissions: {
                relation: Model.ManyToManyRelation,
                modelClass: Permission,
                join: {
                    from: 'Role.id',
                    through: {
                        from: 'RolePermission.roleId',
                        to: 'RolePermission.permissionId'
                    },
                    to: 'Permission.id'
                }
            },
        };
    }
}

I have setup my database with the following migration:
//roles table
knex.schema.createTable('Role', function(table) {
    table.increments('id').primary();
    table.string('name');
    table.string('title');
    table.string('description');
}),

//permissions table
knex.schema.createTable('Permission', function(table) {
    table.increments('id').primary();
    table.string('name');
    table.string('title');
    table.string('description');
}),

//roll permissions table
knex.schema.createTable('RolePermission', function(table) {
    table.increments('id').primary();
    table.integer('roleId').unsigned().references('id').inTable('Role').onDelete('CASCADE');
    table.integer('permissionId').unsigned().references('id').inTable('Permission').onDelete('CASCADE');
}),

Ok!
So when I execute that query it throws a foreign key error. Debugging the code I can see that it is trying to insert the roleId into the permissionId column of RolePermission.
Am I missing something here? Is this currently possible?

If I do this query:
Role.query().insertWithRelated({
    '#id': 'role',
    name: 'member',
    title: 'Members',
    description: 'Members permissions',
    permissions: [
        {
            roleId: '#ref{role.id}',
            permissionId: permissions[0].id,
        },
    ],
});

Then it seems to work. So I guess the documentation doesn't really explain what the limitations/behaviour of #ref is when used in my first query.
Is the #ref{role.id} the correct approach here?

Ok no infact looking at the data inserted into the database, the second query doesn't insert the permiddionId

The interesting thing is that if I look at the object returned from the promise, it has the correct objects + ids in the .permissions member of role. But in the database, nope?

ok so if I do the following:
return Role.query().insertWithRelated({
	'#id': 'role',
	name: 'member',
	title: 'Members',
	description: 'Members permissions',
	permissions: [
		{
			name: 'eat_cheese',
		},
		{
			name: 'fire_gun',
		},
		{
			name: 'break_wind',
		},
		{
			name: 'make_cake',
		},
	],
});

It works. So I guess that means insertWithRelated with this relation type, relies on creating the related objects at the same time. Is it possible to add a note about this to the docs, explaining that insertWithRelated cant be used to associate with existing objects. .relate() must be used for this.
Unless there is a way?

So you have existing permission that you want to associate to the role? In 0.6 (RC available using npm install objection@next) you will be able to use #dbRef` like so:
return Role.query().insertWithRelated({
    name: 'member',
    title: 'Members',
    description: 'Members permissions',
    permissions: [
        {
            '#dbRef': permissions[0].id,
        },
        {
            '#dbRef': permissions[1].id,
        },
        {
            '#dbRef': permissions[2].id,
        },
        {
            '#dbRef': permissions[3].id,
        },
    ],
});

Ah brilliant thanks! I would say this resolves the issue then.


feat: introduce db magic & version

Introduces a version number to the manifest file.
Version numbering starts with 1, 0 is an invalid version. Magic
number is set to bytes equivalent to the ASCII string NOMT.
This also adds validation rules: invalid magic is rejected. Version
less than 1 is rejected. Also the validation code will reject all versions
above the current one assuming they will introduce incompatibilities.
I anticipate that we can preserve backward compatibility in some cases and
therefore opening db formats with lower version might be possible. If not,
then a validation error should also be returned.
Closes THR-36

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

#580
#579  👈 (View in Graphite)
#578
master

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

Not really.
I added it almost mechanically because everyone does that and adding 4 bytes doesn't seem to hurt. People are doing that for a couple of reasons:

file type identification. Given a file you want to know what is that you are dealing with. I guess this not that important to us.
making sure that the file not utterly garbage. According to our underlying media assumptions this doesn't happen, but it won't hurt to add a check, esp. given that we are already changing the format to add a version.


Cohen kappa metrics value provided by tfa is not matching with sklearn calculation

Hi all, i am currently using tfa Cohen kappa metrics to monitor my keras training of a model . i observed a strange behavior where during training, the tfa cohen kappa reports a value for validation dataset . but, when i test the performance over the same validation dataset with sklearn, it reports a different number. there are huge disparity between the numbers reported between tfa and sklearn.

Can you please provide a minimal code to reproduce?

Hi @AakashKumarNain unfortunately i am not able to produce the same error again. thanks for replaying . i will close this thread for now .


⚠ SceneTime has degraded performance

In 65239fa, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 22266 ms

Resolved: SceneTime performance has improved in 987d750 after 13 minutes.


Error on npm run production on shapecss

I am have error on npm run production, and its killing me :(
/js/shapecss.js from UglifyJs Unexpected token: name (Accordion) [./~/shapecss/resources/assets/js/component/Accordion.js:1,0][/js/shapecss.js:19054,6]
I am using shapecss developed in laravel mix.
here is code is look like,
'use strict';

import {Accordion} from "./component/Accordion";
import {Modal} from "./component/Modal";
import {getTab} from "./component/Tab";
import {Nav} from "./component/Nav";
import {Circle} from "./component/shapes/Circle";
import {Parallelogram} from "./component/shapes/Parallelogram";
import {Rectangle} from "./component/shapes/Rectangle";
import {Square} from "./component/shapes/Square";

window.onload = function () {
  new Accordion();
  new Modal();
  getTab();
  new Nav();
  new Circle();
  new Parallelogram();
  new Rectangle();
  new Square();
}

Accordion class is look like,
export class Accordion{
        constructor(){
            this.accordionDivs = document.getElementsByClassName('accordion');
            if(this.accordionDivs)
            this.processAccordions();
        }
processAccordions() {
...
}

for detail please check,
Accordion class
and entry file,

have same problem

@JeffreyWay help us =(

I have checked the reference and applied but did not worked. @JeffreyWay please take a look at it.

@MicroDreamIT Can we see your webpack.mix.js file?

Sure brother,

mix.js('resources/assets/js/app.js', 'public/js/shapecss.js')
   .sass('resources/assets/sass/app.scss', 'public/css/shapecss.css')
    // .browserSync({'proxy':'localhost:8000'})
    // .options({processCssUrls: false})
    // .version()
;

Can you remove the curly braces { } for each import lines? Those are destructuring assigment.
Example for Accordion:
import Accordion from './components/Accordion'

Yes sir, I have applied, now the error is,
WARNING in ./~/shapecss/resources/assets/js/shape.js
22:6-15 "export 'default' (imported as 'Accordion') was not found in './component/Accordion'

export default {
window.onload = function () {
  new Accordion();
  new Modal();
  getTab();
  new Nav();
  new Circle();
  new Parallelogram();
  new Rectangle();
  new Square();
}
}

Sir I think the problem is on export default please take a look,
 ERROR  Failed to compile with 1 errors                                                                                4:19:45 PM

 error  in ./~/shapecss/resources/assets/js/shape.js

Module parse failed: C:\wamp64\www\OurProject\MicroDreamIT\node_modules\shapecss\resources\assets\js\shape.js Unexpected token (21:10)
You may need an appropriate loader to handle this file type.
|
| export default {
|     window.onload = function () {
|     new Accordion();
|     new Modal();

 @ ./resources/assets/js/bootstrap.js 4:15-63
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

Sorry, I think I read the error message wrongly.
Revert back to this in shapes.js
window.onload = function () {
new Accordion();
new Modal();
getTab();
new Nav();
new Circle();
new Parallelogram();
new Rectangle();
new Square();
}
Try in Accordion,
export default {
constructor() {
            this.accordionDivs = document.getElementsByClassName('accordion');
            if(this.accordionDivs)
            this.processAccordions();
        }
processAccordions() {
...
}
}

sure sir let me try.

no improvement,

 error  in ./~/shapecss/resources/assets/js/component/Accordion.js

Module parse failed: C:\wamp64\www\OurProject\MicroDreamIT\node_modules\shapecss\resources\assets\js\component\Accordion.js Unexpected token (8:4)
You may need an appropriate loader to handle this file type.
|             this.processAccordions();
|     }
|     processAccordions() {
|         for(let i=0; i<this._accordionDivs.length;i++){
|             let accordionDiv = this._accordionDivs[i];

 @ ./~/shapecss/resources/assets/js/shape.js 10:0-46
 @ ./resources/assets/js/bootstrap.js
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

@MicroDreamIT
Also to note, why did your shapecss ending up in node_modules? I thought you're creating the framework?

Yes I have created this framework, now i am using it in other project, as other people will do...

We need transformer to uglify the script. I think laravel-mix is not well configured for that or webpack has those problem. It was good previously.
https://github.com/material-components/material-components-web/issues/531

@lucassmacedo any update?

@MicroDreamIT I'll pull your framework and try to run from my side. I was on the way home earlier.

Sure Sir i will be waiting.
Yes That's may be could happen. But here is the site, https://shapecss.com works very well.
Here is the shapecss repository, waiting for your modification, https://github.com/MicroDreamIT/shapecss-framework/

@ruchern @lucassmacedo any update bro?

This is not working be ause the es6 version of uglify has not landed yet, you will need to transpiled the js used to es5 before uglify can support it

@TheLarkInn are you suggesting us to wait?

No im suggesting that you use a tool like babel to transpiled this code to es5 so uglify can minify it. ORRR use a tool like babili (babel-minify) to minify your code.

Mix's webpack config file doesn't run Babel on any files in your node_modules directory, so that's likely the issue.

@JeffreyWay, I am really feeling great to have your reply. I have been trying to get your attention by tweeting and creating issues.
@TheLarkInn Thank you to join with me. Its an honor to get direction directly from you.
I have created a framework shapecss (you can take a look at the file structure). Though I am not too much knowledgeable person as you guys. I just tried to build some thing by my own. Usually my base is laracasts. I dont know grunt, or to much core webpack. I have used Laravel mix to create this framework.
I have followed code convention of Mix , I have found its pretty much es6 and compiling from node_modules.
The conclusion is, I need to convert my code to es5. If I am wrong please correct me and pardon me if my English is bad or for anything. I will be waiting for your answer.

@TheLarkInn @JeffreyWay
Question 1: if I wanted to use babili (babel-minify) then what will be package.json , or root .babelrc or webpack.mix.js file will look like?
Question 2: If I want to use shapecss-framework like bootstrap or materialize as standalone package in node_modules then what will be the best way to go?


Add missing css_class to accordion and accordion-group templates

This PR is based on PR #169, and it completely resolves issue #168 .
I've fixed accordion.html and accordion-group.html templates and written a few tests for checking css_classes is rendered correctly.
I've also fix some tests templates, because the first accordion item should have css_class 'active' by default (look comment in issue for details.

Thanks for the PR!
Just one comment on about this:

because the first accordion item should have css_class 'active' by default

Is this the case with Bootstrap 5? I can't see any reference to this class in their docs and trying it locally seems to indicate there are no styles for that class?

You are right, that is my mistake, bootstrap 5 does not use 'active' class.
But we have probably a legacy method in django-crispy-forms which adds 'active' to css_class string:
class Container(Div):
    def render(self, form, context, template_pack=TEMPLATE_PACK, **kwargs):
        if self.active:
            if "active" not in self.css_class:
                self.css_class += " active"
        else:
            self.css_class = self.css_class.replace("active", "")
        return super().render(form, context, template_pack)

I think it's would right to add a separate attr to define activity of item, and do not add this class to css_class string. What do you think?

I was wondering where this was actually required, seems that it is for tabs rather than accordion.
Maybe we should move render() method you provided above to Tab from Container? I can't see active being on an accordion going back to Bootstrap 3, see docs but would need to do some further testing of that.

Hi @smithdc1,
I've done some work to close that issue in this template pack:

Reverted incorrect changes in result's templates. They don't use 'active' class as per the bootstrap docs.
The tests that were failing b the django-crispy-form reason, get compatible with current lib versions parameter. It also marked as xfail with condition specified by crispy_forms.version.

Could you add an entry to the changelog?

Thank you! 🥇


1883 in a weak network environment the mqtt broker is unable to detect disconnections

This PR changes the way a client is treated as "alive". The MQTT spec requires that only a completely sent packet is considered when calculating the "inactive" time.

I am wondering, how is the new DisconnectClientWhenReadingPayload flag working? I didn't find it referenced in anywhere in the code.

@ohin I was wondering the same, but then I saw the usage of DisconnectClientWhenReadingPayload burried in collapsed part of the code in MqttServerKeepAliveMonitor.cs. You have to manually expand the lines in the UI to see it. Got me confused a bit too!

The new flag is a leftover from the bugfix mentioned in this ticket. I will remove it soon because (as you already figured out) it is not used. It was an idea to have such a feature, but it turns out that enabling the feature will cause new problems.
From the MQTT spec the only correct way is to treat a fully transmitted packet as "traffic". So, the client must be able to send packets within the keep alive time. Clients have to specify a keep alive interval which also includes payload sizes and estimated network bandwidth etc.


Update package.json

@diomed
A nice finding.
And you should try to use meaningful messages for commits and pull requests.


Update automation-dsc-onboarding.md

Changed examples to use PowerShell Splatting. This makes the code sample easier to read.
Updated the -OutputFolder parameter to be dynamic, based off of a Windows environment variable

Cheers,
Trevor Sullivan
Microsoft MVP: PowerShell

Hi @pcgeek86, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, AZPRBOT;

@pcgeek86 what do you see as the advantage of this? Both before and after are pretty much the same, but this one requires you know what splatting is to understand it.

Also I like the idea of using an env variable so they don't have to change that line, but "AADSC-MetaConfigs" is not likely to be a folder that exists, so they'd still need t change this line, or create the folder.
 OutputFolder = '{0}\Desktop\AADSC-MetaConfigs' -f $env:UserProfile;

@jodoglevy Backticks aren't liked by most PowerShell people (just ask, and you'll see), and Splatting is a simple concept that's been around since PowerShell 3.0, that should be encouraged.

Splatting makes command invocations more readable, by placing the parameter names and parameter values on separate lines, without the use of the often over-looked backtick character.
The backtick character is 1) hard to read, and 2) negatively impacted by whitespace after it.
Splatting is not affected by extra whitespace. Splatting also has the advantage of naturally preventing use of positional parameters, which is considered poor scripting technique by most experts.

Cheers,
Trevor Sullivan

Yes, splatting and format strings are better. But they complicate a user's ability to understand what they're reading. The docs are designed to be used by newbies, hence why they need the docs. Introducing more advanced concepts of PS, while they're already trying to learn how to onboard nodes to AA DSC, doesn't seem helpful.
Also, did you see my comment about output folder?

Can you point me to another example of docs on how to do something from PowerShell that use splatting and format strings, where the docs are not on splatting and format strings themselves?

@jodoglevy I don't have an example handy, that you're asking for. Do you need another example in order to set a precedent? If Splatting were more complicated, I'd be inclined to agree with you, but honestly, it makes things much simpler in the long run, and this gentle nudge in the right direction is what some users need.
Agreed on the output folder. I'll change that back to the user's desktop.
Cheers,
Trevor Sullivan

I made a couple changes:

String interpolation for the environment variable, instead of .NET String Formatting
Outdented } and added new line between Splatting and command invocation.

Cheers,
Trevor Sullivan

Thanks Trevor. I think I would be ok with splatting if we add a comment above the commands that use splatting to say something like "using PS splatting to pass the parameters to the command" etc, and link to a doc on PS splatting. How does that sound?

Also, looks like one of the lines needing the outdent / newline is still missing that. Can you make those changes as well?

@jodoglevy Missed the first one. Fixed now. Pointed users to about_Splatting in PowerShell.

Add some more comments in the commits. Can you make those updates please?

Done

Thanks Trevor. Still needs a couple small updates. Please see my comments

Good point, I copy-pasted the new verbiage. Should be okay now.

Looks good. This is ready to merge.

#sign-off


newsletterbanner div made more responsive

I added some css code for varying dimensions to make that div more responsive

@sanket95droid or @MAVRICK-1 if you have a free time. can you please check and merge it.
I solved this issue newsLetterBanner div go out of the container-fluid at certain dimensions.

@shivam2027 Hey was this a gssoc contribution, please link the issue that was created

@shivam2027 Hey was this a gssoc contribution, please link the issue that was created

Yes this is a gssoc contribution.
Issue link : https://github.com/MAVRICK-1/e-commerce_website/issues/238


Variable / scalar or LinearExpression / scalar is broken

Just saw this example:
https://github.com/prakaa/Battery-Optimisation-Benchmarking/blob/master/battery_optimisation_benchmarking/python/linopy.ipynb
With the following soc constraint definition (slightly cleaned)
    # intertemporal energy balance constraints
    intertemp_soc_lhs = (
        soc_mwh
        - soc_mwh.shift(datetime=1)
        - charge_mw * charge_eff * tau
        + discharge_mw / discharge_eff * tau
    ).isel(datetime=slice(1, None))
    intertemp_soc = m.add_constraints(
        intertemp_soc_lhs, "=", 0, "intemporal-energy-balance"
    )

where the operation discharge_mw / discharge_eff is bypassing the linopy definitions and directly dividing the variable labels, and does not even raise an error.
For correct operation needs to be realigned to:
    intertemp_soc_lhs = (
        soc_mwh
        - soc_mwh.shift(datetime=1)
        - charge_eff * tau * charge_mw
        + tau / discharge_eff * discharge_mw
    ).isel(datetime=slice(1, None))

=> need implementations for __div__ and __truediv__ with a scalar on Variable and LinearExpression.

Indeed, this is again en example for unsafe operations. Easiest is to directly address it in #55 right?


Remove unused dart: imports

Remove unused dart: import. A bug in the analyzer is causing it to not report this unused import currently. This PR is part of a cleanup to allow fixing the bug. See dart-lang/sdk#45028.

Great contribution, thank you!!!

Please, update to version: scidart: ^0.0.1-dev.12 to get your PR changes


How do you mod it i

Are you trying to code on Source Code (Haxe) or on the Downloaded Build (Lua)?
Downloaded Build
Show an screenshot/video of your problem.
I Have been wondering how to mod it with any app I Try By My Self And When Load up The Game It Does Not Show it

Oh Yeah This Is A Demo

you either need a computer or knowledge of github to use github actions


community: add include_columns for db.run_no_throw under the class QuerySQLDataBaseTool

Description: add include_columns arg for db.run_no_throw under the class QuerySQLDataBaseTool, so that we can set the include_columns parameter to True/False when Instancing a QuerySQLDataBaseTool like

execute_query = QuerySQLDataBaseTool(db=db,metadata={"include_columns":True})
execute_query.invoke("SELECT COUNT(*) as employees_cnt FROM Employee")
#return '[{'employees_cnt',8}]' , and return '[(8,)]' if set include_columns=False

Issue: not found yet, but very useful for my situation
Dependencies: None

@eyurtsev


Sunrise sunset animation

Description
✅A dynamic surmise and sunset animation.
✅Different animation for Desktop, Tab, Mobile
Tech Stack
✅HTML
✅CSS
✅JS
Fixes:  #632

Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] I have made this from my own
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK
https://user-images.githubusercontent.com/96336775/168135160-68187475-2f7b-4892-8fdb-0c51e2223f00.mp4

Hello. This project has already been added here
And adding same projects to multiple repositories is not permissible. So I request maintainer to close this pull request :)

Hello. This project has already been added here And adding same projects to multiple repositories is not permissible. So I request maintainer to close this pull request :)

Sorry,
I was unaware of the fact.
Will it be okay if i make a new project for the same with everything new ?
Thanks and Regards

Hello. This project has already been added here And adding same projects to multiple repositories is not permissible. So I request maintainer to close this pull request :)

Sorry, I was unaware of the fact. Will it be okay if i make a new project for the same with everything new ? Thanks and R

Hello. This project has already been added here And adding same projects to multiple repositories is not permissible. So I request maintainer to close this pull request :)

Sorry, I was unaware of the fact. Will it be okay if i make a new project for the same with everything new ? Thanks and Regards

@arpit456jain ????


chore: fix help-text typos

This commit fixes a couple of typos in the help-text shown on-hover in the Page Designer.

Current dependencies on/for this PR:

next

PR #306   (this PR)

This comment was auto-generated by Graphite.


⚠ ClamAV has degraded performance

In 453fec1, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 45 ms

Resolved: ClamAV performance has improved in b6b7c96 after 6 minutes.


refactor: Fix style problems detected by Google linter

Would it be possible to add a screenshot and/or some kind of output from the linter as to make it clearer why the changes have to happen?

Would it be possible to add a screenshot and/or some kind of output from the linter as to make it clearer why the changes have to happen?

With pleasure! Done.


Ubuntu 19.04 and 19.10 environment setup instructions

Exactly duplicates 18.04 instructions as the procedures are identical

Thanks, this is great!  I'm fine accepting this PR as-is, but since the installation instructions are the same across all three files, have you considered some way to avoid duplication?  My only slight concern is keeping the three files in sync, if we fine bugs or make clarifications.


Fix color bugs

Related Issue #13905
Project: CartoDB/product#54
TODO:

[x] Hide panes when there is only one option (fixed or by value) to select.
[x] Fix color when aggregation is animated (torque). There are two related issues happening now in production (#13975 and #13976) --> We'll fix that separately.
[x] Hide image option when aggregation does not allow it.
[x] Call adjustImageSize function when input color changes.

retest this please

🚀 👏 🔥


Update transform_test.go

add copyright

Ⅰ. Describe what this PR does
This pr is to add copyright to pkg/ddc/alluxio/transform_test.go
Ⅱ. Does this pull request fix one issue?

fixes #XXXX
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

@201220049 please fix the DCO check with git commit --signoff. You may pass the check only if all the commits in this PR are signoffed.


update readme badge and instructions for humble

Signed-off-by: Kenji Brameld<EMAIL_ADDRESS>

@Mergifyio backport humble

@Mergifyio backport humble


WIP: Add a node status field to *Programs

This PR is a POC of a different way of maintaining the cluster-level status for each *Program CRD
With the current implementation, the operator controller determines a cluster-wide status for each *Program CRD by watching and evaluating all of the BpfProgram CRDs related to the given *Program.
This PR adds a NodeStatus field to the *Program CRD that holds the status for each node, and the bpfman agent controller for each node is responsible for updating it's own node-level status element in the NodeStatus field.  With this change, the Operator controller doesn't have to watch all bpfPrograms, but only the NodeStatus field in the *Programs. This also distributes some of the processing that the controller agent currently has to do across all the nodes, so it should scale better.
I implemented two options:

NodeStatus []NodeStatusEntry
NodeConditions []metav1.Condition

I think the NodeConditions option is a twisted use of conditions and the NodeStatus option is cleaner. So, my preference is NodeStatus.
This only includes the bpfman agent part of updating the NodeStatus/Conditions. The controller would need to watch the node level status and determine a global cluster-level status for each *Program based on the per-node status.
TODOs:

Investigate using Server-Side Apply.
Implement operator controller support.
Scale testing.
Fix samples/bpfman.io_v1alpha1_kprobe_kprobeprogram.yaml (I changed it so I had a failing test case).

This PR represents an evaluation and POC of a distributed way of updating the cluster-level status for each *Program CRD.  We are not planning to implement this solution at this time, so I'm closing this PR.


feat(transformer/typescript): remove more typescript ast nodes

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

#3563  👈
#3561
#3559
main

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

Join @Dunqing and the rest of your teammates on  Graphite


0.14.1

Is there a scheduled release date?

@highsource could you anyhow estimate when the release might take place? Will you actually maintain this library any further?

v0.15.1 has been released to include changes planned for 0.14.1


Invariant Violation: Minified React error #152;

Found this when upgrading multiple DNN's to 9.7.2 but then found out that this is allready there at least since 9.4.4
We have not found any functional problems so probably nothing big but here it is.
If you open console and you have to preserve log to see it.
Then go to server in the personabar and click clear cache
There it is.
VM37 export-bundle.js:90 Invariant Violation: Minified React error #152; visit https://reactjs.org/docs/error-decoder.html?invariant=152&args[]=t for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at https://SOMEDOMAIN/DesktopModules/admin/Dnn.PersonaBar/scripts/exports/export-bundle.js?cdv=304:90:423
....

From the React error decoder:

t(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.


Issue & PR list is hard to read do to excessive amount of colorful classification tags

@cshoredaniel apparently likes Github classification tags, and currently there are so many colorful tags added to each issue and PR, that the issue and PR list pages are very hard to read :-(
At least for me the colorful tags draw the attention away from the issue / PR subjects, which get hidden in the colorful classification tag clutter. There are 4-5 tags per issue, in several case overflowing to the next line in the list.
I tried changing some of the tag colors to more muted pastel colors before my vacation, but during my vacation some new colorful classification have been created and applied :-(
I propose that we

limit a bit the use of classification tags. 1-2 most important tags per issue, like "work needed" etc. mainly from status class "B:". And the colors should be more muted.
using the module "C:" tags for pointing the luci respective module class is usually unnecessary as it is self-evident.
Priority "P:" tags may be used in some cases, but also they are largely unnecessary
Some tags are overlapping, e.g. "B: needs testing", "B: ready for further review"

@hnyman Points taken; I have a rather large window so I don't notice the size issue.  I didn't realize what  you were doing with the pastels.  I agree the colours (which were already in the label definitions) are overbright and should be muted.  As you may have notice I like classifying things, but as it creates problems as applied, I agree we should stick to 1-2 take (as you say the B: tag (and drop the B:)).  I'd also keep the 'not a luci bug', 'not a bug' (or use invalid for that), wontfix.  The C tags were more because they were there but are definitely not required, and really I think only 'critical' category is needed. 'needs testing' was made separate from 'ready for further review', to differentiate between not tested yet, and tested, but wanting additional opinions. (The review was in the sense of getting more opinions vs. testing, without so much clutter in the comments).
So to summarize, if you agree, I will:

Drop C: tags
Drop all P: tags except critical (renamed to just critical)
Drop B: from B: tags.
Drop T: tags

I'll let you choose the colours though; I didn't choose the old ones, but I didn't find them all that disturbing either, so you're a better judge of what suits your needs.

@hnyman Could you look at the new label list and see if this look better to you (I haven't done 1,2,4,5 and did do some colour changes, wanted to know what you think)?

@hnyman one modifcation; will keep the C: tags but only use them if it's not clear and helps to have the tag.

Looks mainly good to me.

I think for some of the tags, all I'm really looking for is some indication of whether it's a never looked at bug/PR or whether it awaits other devs input, or whether, triager can't work on it, so either another dev needs to claim it, or a community member help (I think 'help wanted', works for that).  The goal is to be able to quickly get some important information without really reading the title or opening the PR/Issue (and to do searches/filters).

@hnyman Could you review the modifcations I've made and see if you are happier?

Much better. Big thanks.


[Feature] Add compaction grafana metric

Orignal Metric
Adapt the original metrics to the new compaction framework：

deltas total (rowsets/s)

base_compaction_deltas_total
cumulative_compaction_deltas_total
update_compaction_deltas_total

deltas total (bytes/s)

base_compaction_bytes_total
cumulative_compaction_bytes_total
update_compaction_bytes_total

total compaction requests

base_compaction_request_total
cumulative_compaction_request_total
update_compaction_request_total

failed compaction requests

base_compaction_request_failed
cumulative_compaction_request_failed
update_compaction_request_failed

New Metric
Add new compaction metric:

waiting task num

wait_base_compaction_task_num
wait_cumulative_compaction_task_num

running task num

running_base_compaction_task_num
running_cumulative_compaction_task_num
running_update_compaction_task_num

task cost time

base_compaction_task_cost_time_ms
cumulative_compaction_task_cost_time_ms
update_compaction_task_cost_time_ns

task rate

base_compaction_task_byte_per_second
cumulative_compaction_task_byte_per_second
update_compaction_task_byte_per_second

The effect is as following:

What type of PR is this:

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[x] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:disappointed: fail : 42 / 61 (68.85%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/storage/storage_engine.cpp
0
1
00.00%
[958]

:large_blue_circle:
src/http/action/compaction_action.cpp
0
8
00.00%
[120, 121, 123, 125, 146, 147, 148, 151]

:large_blue_circle:
src/storage/compaction_manager.cpp
7
16
43.75%
[149, 150, 151, 183, 184, 285, 286, 287, 394]

:large_blue_circle:
src/storage/cumulative_compaction.cpp
6
7
85.71%
[37]

:large_blue_circle:
src/storage/rowset_merger.cpp
5
5
100.00%
[]

:large_blue_circle:
src/storage/base_compaction.cpp
8
8
100.00%
[]

:large_blue_circle:
src/util/starrocks_metrics.cpp
10
10
100.00%
[]

:large_blue_circle:
src/storage/compaction_task.cpp
6
6
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:disappointed: fail : 60 / 78 (76.92%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/storage/storage_engine.cpp
0
2
00.00%
[958, 966]

:large_blue_circle:
src/http/action/compaction_action.cpp
0
11
00.00%
[120, 121, 122, 123, 125, 145, 147, 148, 149, 150, 151]

:large_blue_circle:
src/storage/compaction_task.cpp
7
9
77.78%
[188, 191]

:large_blue_circle:
src/storage/compaction_manager.cpp
15
18
83.33%
[183, 184, 186]

:large_blue_circle:
src/storage/rowset_merger.cpp
4
4
100.00%
[]

:large_blue_circle:
src/storage/cumulative_compaction.cpp
9
9
100.00%
[]

:large_blue_circle:
src/storage/base_compaction.cpp
12
12
100.00%
[]

:large_blue_circle:
src/util/starrocks_metrics.cpp
13
13
100.00%
[]

@chaoyli we may add the grafana template file into starrocks project, so we can update the grafana template in the later pr.

@mergify backport branch-3.2 branch-3.1 branch-3.0 branch-2.5


How to add tooltips for areaStyle and visualMap

What problem does this feature solve?
Hello everybody,
I have created a chart whith two lines and a clored area between them.
I use for this the areaStyme option and a visualMap visualMap.
I have added tooltips for the two lines and what I want now is to add another tooltip related to the colored area.
I want to show the tooltip anywhere when I move the mouse in the colored area. Th tooltips values change when the values of the delimited lines changes.
How to do this ?
Thank you in advance.
What does the proposed API look like?
Is there any way to do this ?

I'm having the same issue, I need to display a ToolTip over visualMap just like a normal legend.
Ex. https://echarts.apache.org/examples/en/editor.html?c=calendar-heatmap
visualMap: {
    min: 0,
    max: 10000,
    type: 'piecewise',
    orient: 'horizontal',
    left: 'center',
    top: 65,

    tooltip: {
        formatter: ....
    }
  },


Android - app is not connecting in the second attempt of sharing

Describe the bug
app is not connecting in the second attempt of sharing in the devices which has bluetooth version bellow V5.2
To Reproduce
Prerequiste: VC is downloaded and stored in sharing device
Device A - Requesting device
Device B - Sharing device
steps:

Authenticate app and enter it
Attempt a successfull VC sharing method
Again open qr code in Device A
open scanner in Device B

Expected behavior
The app should connect how ever time required by the user
Observed
The devices are not connecting with each other in the second attempt of sharing, on the devices which has bluetooth version less than V5.2
Video
https://user-images.githubusercontent.com/102220709/215747684-ddf3bc17-395e-425b-a428-eb6991750e6d.mp4
Smartphone (please complete the following information):
Device: Redmi Note 10 Lite
OS: Android 10
BLE version: 5.0
MOSIP Version: <IP_ADDRESS>
MOSIP server: qa-1201-b2.net
APP link; https://github.com/mosip/inji/actions/runs/3986424542
Additional informaton
we have tested this issue in multiple manufactures device, this issue is not occuring with specific manufactures, what ever device has less than bluetooth version 5.0 its not working in the second attempt

Please share the details of the other device.

Issue fixed in c75f8f16ce4a7a39d92c6a9f9b8bc0c9e4c39529.

Verified this issue in the new build, verified in all our testing devices and in multiple flows, unable to replicate this issue, sharing on the second attempt is working as expected, hence closing the jira
new build link : https://github.com/mosip/inji/actions/runs/4123991786


Load TOML, not GeoPackage, in QGIS plugin

Right now QGIS loads a model from a GeoPackage, but really we should load the TOML and find the GeoPackage from there. When we do this, we can directly read the TOML, check if the output exists, and if it does, associate the node and edge output automatically on loading the model. This saves quite some clicks when loading a model for visualization.
Originally mentioned in, and needed for, #318.

Needs refinement. There's the possibility that we might use Ribasim Python in the QGIS plugin, which would impact this issue.

The first part of this ticket was implemented. toml files are loaded instead of gpkg files. This was pushed to the main branch.
@visr For connecting the results I am missing some information. Currently there are 2 buttons in the Results tab.

The toml file has multiple node and edge results, and I am not sure how we can associate multiple result files onto a single layer "Node" or "Edge". The arrow files that are written are: flow, basin, allocation, and control.

Right, only basin.arrow and flow.arrow files are currently supported in QGIS. Associate Node Results means basin.arrow, and Edge results means 'flow.arrow. See also https://deltares.github.io/Ribasim/qgis/#sec-results.
For control results there is https://github.com/Deltares/Ribasim/issues/342, for allocation results there is no issue yet, that was only just added.
Related is also an item of https://github.com/Deltares/Ribasim/issues/638, where we suggested always writing the paths in [results] so we don't have to know the default location of the output in the QGIS plugin.

While working on this issue I figured that it is very hard for us to do development on this plugin. Therefore I have started investigating how to setup the development environment.
So far I have been installing QGIS via conda forge so that I have the correct dependencies installed. And I have created a pyproject.toml inside of ribasim_qgis.
To ensure that all variables are set in python and found by vs code, it's easiest to run pixi run code . on the command line in order to open vscode with the right parameters. This resolves all the pylance onfound imports.
I am still having some small issues with mypy, and I saw that the plugin path of QGIS is pointing to .pixi\env\Library\plugins. This is not the folder where ribasim_qgis is installed. Maybe we can add that to the installation script? Or we have to set a different plugin path.

Setting up the development environment is now a separate issue #810 . It is no longer needed to do pixi run code ..


Design Tweak for Documentation and Footer

Main areas that changed: Docs pages have their nav font-size and margins beefed up a little bit, content column on the right is centered (bonus, I created a break-out class for it that you can see in action on pages with code blocks currently, but this could be used for other areas, as well), footer is adjusted to full width to make it work better with new layouts: https://11ty-design-tweaks.netlify.com/docs/

Hey Bryan! I do appreciate these changes but individual stylistic things will probably need to be discussed up front before code is submitted. I’m a bit picky about the docs site (in some ways).
I’m going to close this for now but am open to individual discussions on each change as separate pull requests!


Update QA Book about input-based playback

@KatieWoe today during PhET-iO meeting we decided to remove support for our current playback strategy. This means that you no longer need to test it either! See https://github.com/phetsims/phet-io/issues/1854 for details.
We still support the data stream, and recording the Metacog, but now we no longer support the playback wrapper.
It isn't totally clear that we no longer want to test the full cycle. So my guess is that you still will want to record to metacog and retrieve that data, but you don't need to run it in the playback wrapper. Perhaps someday soon we will have an analyzer tool for you to pass the data stream into that tells you it is correct. Let me know if you have any questions.

Clarification conversation from Slack:

[Kathryn Woessner] [4:48 PM]
Quick clarification for https://github.com/phetsims/qa/issues/786. We no longer test playback, but we do test that metacog can record. Does that apply to the record wrapper as well? Or is it also discontinued?
[Michael Kauzmann] [4:48 PM]
The record wrapper is still supported.
[Kathryn Woessner] [4:49 PM]
Ok, thanks. That's what I thought, but wanted to make sure
[Michael Kauzmann] [4:49 PM]
It is just our current process of going from data stream -> a sim playing it back.
[Kathryn Woessner] [4:50 PM]
Is there a new way you want us to check the created log files? Open them somehow etc?
[Michael Kauzmann] [4:50 PM]
I think we will get there at some point, but for now we are sorta in a weird state where. . . .noo?
[4:51]
Perhaps just make sure it is the size-ish that you would expect. Like if you recorded for an hour (don't do that, your life is too valuable), then it should be many many MBs, but a few seconds would be smaller.
[4:52]
Honestly, the playback wrapper on master should still work for a cursory check that there are events in the data stream, ya know?
[4:52]
But we aren't going to work on bugs/slowness/playback issues that you might find.
[4:53]
In the future we will likely have a tool that can tell you yay or nay on any given data stream, but we aren't quite there yet.
[Kathryn Woessner] [4:55 PM]
Thanks

Input and Playback Wrapper is also gone


Create Community-Lexicon DID

Create a DID for Community-Lexicon so lexicon schema records can be created.

Account created: https://bsky.app/profile/lexicon.community
The DID did:plc:2uwoih2htodskvgocarwv5eq is currently hosted on the Bluesky Social PDS https://blusher.us-east.host.bsky.network


Neekothing was built off of Openss13

Neekothing is very clearly built off of Openss13, and should be added under it.

Feel free to

From what I can find it's actually not based on OpenSS13?


Please update the doc, allowCreatingManagedTableUsingNonemptyLocation is removed in Spark 3.0

Since Spark 2.4, creating a managed table with nonempty location is not allowed. An exception is thrown when attempting to create a managed table with nonempty location. To set true to spark.sql.legacy.allowCreatingManagedTableUsingNonemptyLocation restores the previous behavior. This option will be removed in Spark 3.0.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5ca51a29-21e0-6375-b778-8e5c65310a19
Version Independent ID: 52fafdc0-6405-484a-0c62-00af67fd0307
Content: Create table in overwrite mode fails when interrupted - Azure Databricks
Content Source: databricks/kb/jobs/spark-overwrite-cancel.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@manub22
Thanks for your feedback! We will investigate and update as appropriate.

We have filed a ticket in the Databricks bug tracking system: KBN-153. We will update this Git issue when the ticket has been resolved. #label:"in-progress"

This work appears to have been done some time ago.
#please-close

#please-close


Using Shadcn Date Time Component

Is your feature request related to a problem? Please describe.
Issues similar as described in #8994

[ ] Regardless of the user's system time preference, the text field displays time in 24-hour format, while the selection component defaults to a 12-hour format. This inconsistent behavior is not ideal for a component.
[ ] It is not possible to input "01" in the minutes part of the component; the input text area always shows "1," automatically removing the "0" for single-digit entries.

Describe the solution you'd like
As most of the components are migrating to shadcn, we could utlize Shadcn Date Time Picker Code and modify it as per our requirement. This would solve most of the date time component bugs.

@ohcnetwork/care-fe-code-reviewers
if this issue is valid, assign this to me

@saikiranpatil did you tried rendering shadcn Calendar? Its css is little broken in my case.

@saikiranpatil did you tried rendering shadcn Calendar? Its css is little broken in my case.

not sure from where you are trying this from

https://ui.shadcn.com/docs/components/calendar
datepicker you mentioned in issue description uses the same Calendar component from ShadCN UI

https://ui.shadcn.com/docs/components/calendar
datepicker you mentioned in issue description uses the same Calendar component from ShadCN UI

@saikiranpatil did you tried rendering shadcn Calendar? Its css is little broken in my case.

not sure from where you are trying this from

We already have these, which is sufficient.


Add tap_action

Requested from @tomoqv

I want to bring up e.g. a pop-up card with more details when tapping the hasl-card.

@tomoqv In the dev branch there is a new version with tap_action options. More than welcome to test it.  Otherwise you can wait until it makes the master branch.

Just tried to get tap_action to work, but I am unsure of the config when using browser_mod.command.
The config I use with other lovelace cards doesn't work, e.g.:
        tap_action:
          action: call-service
          service: browser_mod.command
          service_data:
            command: popup
            title: Avgångar
            card:
              !include /config/lovelace/single-cards/sl-details.yaml
            deviceID:
              - this
I realize the hasl solution is somewhat different, but what do I put in `domain, service `and `data`?

Thanks!

@tomoqv I'll take a look in the weekend and get back to you

Thank you. Offset seems to work just fine btw.

@tomoqv Can you test...
 tap_action:           action: service           service_config:             domain: browser_mod             service: command             service_data:               command: popup               title: Avgångar               card:                 !include /config/lovelace/single-cards/sl-details.yaml               deviceID:               - this

Unfortunately I am not getting any traffic info at all right now. Log says this:
2019-11-22 16:46:34 ERROR (MainThread) [hacs] You have custom-cards/monster-card installed with HACS this repository has been blacklisted, please consider removing it.
2019-11-22 16:46:35 ERROR (MainThread) [hacs] You have custom-cards/monster-card installed with HACS this repository has been blacklisted, please consider removing it.

Which is strange, because I am on the Silver level on my Real Time Info API...

Phew, it's back again after another restart. Still the same error as above, though.

tap_action with your suggested config doesn't work. The card is not recognized as "tappable".

@tomoqv I don't have any experience in browser_mod, I actually just installed it and I didn't have any trouble in configuring the tap_action service with browser_mod.
My configurations is the following.
tap_action: service
    service_config:
      domain: browser_mod
      service: popup
      data:
        title: Testing
        card:
          !include home02.yaml

Sorry for the delay, haven't had time to look at this until now.
I get a Lovelace error with the configuration above. I tried instead:
        tap_action:
          action: call-service
          service_config:
            domain: browser_mod
            service: popup
            data:
              title: Avgångar
              card:
                !include /config/lovelace/single-cards/sl-details.yaml
              deviceID:
                - this

It doesn't give an error, but doesn't make the card clickable either.

@tomoqv There is no tap_action: call-service or action attribute for tap_action.
As is stated in the documentation it is tap_action: service or info
It works fine with the example in my previous comment. Can you send me the lovelace error you get?

while parsing a block mapping in "/config/lovelace/lovelace-main-view-tablet.yaml", line 140, column 9 expected <block end>, but found '<block mapping start>' in "/config/lovelace/lovelace-main-view-tablet.yaml", line 168, column 11

And just to make sure, latest version of the card is 19-11-22, right?

@dimmanramone this is the last version of the card https://github.com/hasl-platform/lovelace-hasl-departure-card/releases/tag/v2.4.0
It would help a little bit more if you post your lovelace view lovelace-main-view-tablet.yaml

I guess this part will do:
    - type: horizontal-stack
      cards:
      - type: "custom:hasl-departure-card"
        show_cardname: false
        header: false
        departures: true
        timeleft: false
        updated: false
        offset: 5
        hide_departed: true
        language: sv-SE
        entities:
          - sensor.mossens_ip
          - sensor.alleparken
        style: |
          ha-card {
            font-size: 1.2em;
          }
        tap_action: service
          service_config:
            domain: browser_mod
            service: popup
            data:
              title: Avgångar
              card:
                !include /config/lovelace/single-cards/sl-details.yaml
              deviceID:
                - this

@tomoqv Is the the service_config line, line 140?

No, line 140 is:
      - type: "custom:hasl-departure-card"

@tomoqv I think that the problem in service_config, you have an extra indentation from there and the following lines.
- type: horizontal-stack
  cards:
  - type: "custom:hasl-departure-card"
    show_cardname: false
    header: false
    departures: true
    timeleft: false
    updated: false
    offset: 5
    hide_departed: true
    language: sv-SE
    entities:
      - sensor.mossens_ip
      - sensor.alleparken
    style: |
      ha-card {
        font-size: 1.2em;
      }
    tap_action: service
    service_config:
      domain: browser_mod
      service: popup
      data:
        title: Avgångar
        card:
          !include /config/lovelace/single-cards/sl-details.yaml
        deviceID:
          - this

Looking in my text editor, there is a 2-space indentation of service_config in relation to tap_action. Is that what you mean?

@tomoqv Yes.

Ok, removing that I get:
Failed to call service browser_mod/popup. Service not found. popping up in the Lovelace UI.

@tomoqv One step closer :) Strange though if you have installed browser mod you shouldn't get this.
But that's not the hasl card error anymore.

I know, all my other browser_mod.popup work. hasl card has a different implementation of tap_action though.

As an example, this works fine:
      - type: vertical-stack
        cards:
        - type: custom:button-card
          name: God natt...
          entity: light.evening_lights
          entity_picture: /local/emojis/sleepy.png
          show_entity_picture: true
          aspect_ratio: 2/1
          size: 30%
          tap_action:
            action: call-service
            service: browser_mod.command
            service_data:
              command: popup
              title: Godnatt
              card:
                !include /config/lovelace/single-cards/lights-out-night.yaml
              deviceID:
                - this

@tomoqv It is a different implementation, So don't expect this config to work with hasl card. You should try with the example in my previous posts. That worked and still working for me.

For some reason I can't get it working. I'll keep trying, but running out of ideas.

@tomoqv I tried to reproduce the error you get with a similar configurations like yours with no luck. Can you test another service and check if it works? For example light.turn_on?
And another thing you can check is if you can see the browser_mod.popup in services under developers tools,

Strange, I have only browser_mod.command. I have to see if my addon is outdated.

Yep, turns out I had it manually installed. Now trying with the integration from hacl.

Yes, it works now! Thanks for all the help.


getPeers() not supported in BeeDebug?

Connectivity has a getPeers() method that is used elsewhere, but not exported?  This is the only debugAPI interface standing between me and releasing a node monitor written in node.js.
Declaration:
https://github.com/ethersphere/bee-js/blob/313830adb9d7db0c43f605b9d3db69f6ea92a07d/src/modules/debug/connectivity.ts#L27
Reference:
https://github.com/ethersphere/bee-js/blob/313830adb9d7db0c43f605b9d3db69f6ea92a07d/test/modules/pss.spec.ts#L17
But no method in BeeDebug?:
https://github.com/ethersphere/bee-js/blob/313830a/src/bee-debug.ts

I need the getPeers to populate the Connected: N count.  I started using axios, but would like to convert to BeeDebug exclusively before release.
https://pastebee.com/?7c68317f22543c9ec040934250801bd0de4123c878283f14cf1f37a60dc23da0

Wow, that was fast!  Thank you very much.  There may be more coming like getting the underlay addresses from /addresses and
https://docs.ethswarm.org/debug-api/#tag/Connectivity/paths/~1connect~1{multiAddress}/post


fix(google): unthemed background

🔧 What does this fix? 🔧
fixes a unthemed background on google

🗒 Checklist 🗒

[X] I have read and followed Catppuccin's contributing guidelines.
[X] I have updated the version appropriately in the ==UserStyle== header of the catppuccin.user.css file.

@somerand0mcat I just opened up lol, you can make another PR if you want.

@somerand0mcat I just opened up lol, you can make another PR if you want.

@GitMuslim they have a 7 day ban from the org. maybe they will reopen it after, we shall find out

@isabelroses @GitMuslim im now unbanned so i can reopen the pr

@isabelroses @GitMuslim im now unbanned so i can reopen the pr

yes go ahead


Column labels don't align with their data fields in font editing window

Have seen this in fileview as well. Resizing window fixes the alignment.

yeah, this is a tricky issue as the header is a separate widget, and if it aligns with cols when screen is too small, it gets its own scrollbar, which is not good...   then I just remembered the "overflow" property -- setting it to "hidden" works great!