Firefox "settings for clearing history" compatibility

The setting is found in options > "privacy" (about:preferences#privacy) > "Clear history when Firefox closes".

Is there a setting I can't check to use Cookie-AutoDelete's full functionality? "Cookies" most likely can't be selected, unless addons can preserve cookies.
I have some issues with disappearing cookies and I decided to ask for advice before filing a (potentially faulty) bug report. Self-Destructing Cookies' whitelist is cleared if "Site Preferences" is selected.

Is there a setting I can't check to use Cookie-AutoDelete's full functionality? "Cookies" most likely can't be selected, unless addons can preserve cookies.

Those settings should be fine, just don't select Cookies.

I have some issues with disappearing cookies and I decided to ask for advice before filing a (potentially faulty) bug report.

Sounds like SDC might have corrupted your profile somehow. Try a Firefox refresh.

Sounds like SDC might have corrupted your profile somehow.

I don't think there's a reason to believe that Self-Destructing Cookies may have caused issues. I only mentioned how the best-known Firefox cookie manager stores data.

Well someone has some problems with their profile with SDC leftovers so I thought maybe you had some problems. 😉 See #54

Self-Destructing Cookies' whitelist is cleared if "Site Preferences" is selected.

Also, this doesn't affect me because I store data separate from "Site Preferences"


CyclicBuffer: compile error fix

https://jenkins.code.rdkcentral.com/job/github-triggered/860/ started

Closing this PR, since the merge conflicts already resolved by @pwielders


docs issue

The output in this page is not quite readable
https://lorenzoh.github.io/DataAugmentation.jl/dev/REFERENCE/DataAugmentation.Image.html
Also, the second example mentions a greyscale image that cannot be seen in the output

Try https://lorenzoh.github.io/DataAugmentation.jl/dev/documents/README.md.
I updated the link in the README, the one you had was pointing to the old documentation, I forgot to update it when switching to the new Pollen.jl frontend


Export using plantuml exporter does not work

On the Structurizr DSL demo page this workspace dsl leads to a plantuml error. Using the C4 plantuml exporter it works just fine.
I guess the reason is the incorrect location of the plantuml includes directive in the generated plantuml file.
workspace {

    model {
        user = person "User"
        softwareSystem = softwareSystem "Software System"

        user -> softwareSystem "Uses"
    }

    views {
        systemContext softwareSystem {
            include *
            autolayout
        }

        properties {
            "plantuml.includes" "https://gist.githubusercontent.com/simonbrowndotje/b84878f8b87af3b76753ed871611c700/raw/b659b7ab9ac02a04725606f59138f37d2e67c265/styles.puml"
            "plantuml.legend" "true"
            "plantuml.title" "false"
        }
    }

}

AddRelTag (in the included file) is a C4-PlanUML construct (see Custom tags/stereotypes support and skinparam updates), so it'll only work in conjunction the C4-PlantUML macros.

Ahh, I see.
Sorry for the inconveniences.
Will close it now.


sap.ui.layout.form.ColumnElementData Availability Wrongly Documented

URL (minimal example if possible)
https://openui5nightly.hana.ondemand.com/#/api/sap.ui.layout.form.ColumnElementData
Steps to reproduce the problem

Open the above API reference page. It says that the module is available since 1.54.0.
Open https://openui5nightly.hana.ondemand.com/1.54.0/
Enter the following in the browser console: sap.ui.require(["sap/ui/layout/form/ColumnElementData"]);

What is the expected result?
Either the module is available in 1.54 or the @since notation must be fixed to @since 1.56.0
https://github.com/SAP/openui5/blob/889bef9dda06507db27ff66df16fa60a315651b7/src/sap.ui.layout/src/sap/ui/layout/form/ColumnElementData.js#L31
Any other information? (attach screenshot if possible)

Hello @boghyon ,
Thank you for share your enhancement proposal. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards, Diana


Supported clients?

Nostrum is the reference signer implementation for Nostr Connect. Is there also a reference client implementation?
The only implementation of Nostr Connect that I am aware of is in the mobile web app for snort.social but I was not able to get it working with Nostrum on iOS. When I copy and paste the code into Nostrum and press "Approve" nothing happens. Is it a problem with the client or the signer?
If there are other client implementations please share them here.

Did you checked the example client that uses the JavaScript SDK? There is also a live version linked in there
https://github.com/nostr-connect/connect/tree/master/example

Thanks. I tried the live demo by scanning the code with the iOS app and it does not seem to be working. It accepts the code but then it just goes back to the main screen still saying "Nothing yet" and the webpage still says "Disconnected".

Did you try again a second time to scan in the same session? For some reason, I also encountered a bug which scanning the QRCode the first time does not trigger the next step for some reason.

Maybe @v0l has input?

I tried scanning multiple times. It accepts the code and prompts to "Reject" or "Approve" for "example.com". Pressing "Approve" does nothing while pressing "Reject" dismisses the prompt.

I found this app to be very unreliable, so i wasnt able to test is completely, yes the NIP-46 button was removed in the new signup flow, you can see an old version of snort here which still has it: https://a842e4e1.snort-social.pages.dev/

I found this app to be very unreliable, so i wasnt able to test is completely

Thanks Kieran @v0l. Maybe with your assistance, @tiero will be able move forward implementing nip-46 on a working client in the wild? (Not much to play with in this space)
Y'all both smarter than me. All I know is that nip-46 native app is essential to the future of nostr PWAs. How can I help?

Apologies guys, bit busy moment for me now at work. Nostrum never meant to be production ready, but I must absolutely need to find the issue, be it on a relay, the app or the connect SDK. I will try to find time this weekend 🙏

It was a React state issue. It seems now to be fixed, let's on Testflight once it gets approved.
Feel free to test from master the latest commit on a deceive of yours

It seems to be fixed on the latest TestFlight


[communication][package update][bot security alert] Need to update node-fetch to version 2.6.7 or later

Package Name: @azure/communication-identity
Package Version: 1.1.0-beta.1
Operating system:
[x] nodejs

version:

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
Our project is currently using @azure/communication-identity 1.1.0-beta.1 and we received a bot security alert asking to update node-fetch to version 2.6.7 or later,

node-fetch is a dependency of @azure/core-http which itself is a dependency of @azure/communication-identity
To Reproduce
Steps to reproduce the behavior:
1.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

nevermind, removing package-lock.json and node_modules to do a clean npm install in our repo fixed the package version of node-fetch.
Closing this issue


tests: add tests for LoadAwareScheduling estimator

Ⅰ. Describe what this PR does

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/approve


1.3.0/1.3.1 version of Gulp plugin is not accessible

I encounter the following errors on 1.3.0/1.3.1 version of Gulp plugin.
This issue is same as #326.

1.3.0

> Could not find com.moowork.gradle:gradle-node-plugin:1.3.0.
  Searched in the following locations:
    - https://plugins.gradle.org/m2/com/moowork/gradle/gradle-node-plugin/1.3.0/gradle-node-plugin-1.3.0.pom
  Required by:
      project :web > com.moowork.gulp:com.moowork.gulp.gradle.plugin:1.3.0

1.3.1

* What went wrong:
Plugin [id: 'com.moowork.gulp', version: '1.3.1'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.moowork.gulp:com.moowork.gulp.gradle.plugin:1.3.1')
  Searched in the following repositories:
    Gradle Central Plugin Repository

I see that gulp and grunt are not accessible. Thanks for reporting this. I have started using BinTray for artifact publishing and it seems there's some problems here.

Any progress on this one?
I have the same problem with grunt

Fix this issue by using "id 'com.github.node-gradle.gulp' version '1.5.3'".
Thanks.


fix path to SUSE CA bundle

Changes Title (replace this with a logical title for your changes)
Description
Fix the path to the SUSE CA bundle. The old path is a special CA file and not the CA bundle.
Status

done, ready for review

@mcalmer this path was used based on a live instance of suse and testing an issue with a consumer (salt) - see related issue https://github.com/saltstack/salt/issues/32743
Are there any differences with the files?

SUSE bring a yast module called yast2 ca_mgm to create own CA certificates and sign certificates.
You can import such a certificate including the CA. In this case the CA certificate is stored with the name /etc/ssl/certs/YaST-CA.pem in SLES11. This does not apply anymore with SLES12 and current openSUSE distributions.
This file contains only 1 certificate and is not a bundle. Older SLES never used bundles. We used openssl directory structure. Every file contain only one certificate.
With current SLES and openSUSE, we introduce a pki structure to generate any kind of trust stores. This include also a ca-bundle with the path I added with this commit. In case a CA is imported the ca-bundle contain also the certificate which was called YaST-CA.pem in the past.
Of cause in SLES11 there is still a problem. But including a single CA is only a workaround which will help only in a few cases.

The path list is a collection so you can add both and we can cover 12 and 11 cases? They are done in sequence so put the newer one first
	_____________________________

From: Michael Calmer<EMAIL_ADDRESS>Sent: Tuesday, October 4, 2016 6:31 pm
Subject: Re: [apache/libcloud] fix path to SUSE CA bundle (#884)
To: apache/libcloud<EMAIL_ADDRESS>Cc: Comment<EMAIL_ADDRESS>Anthony Shaw<EMAIL_ADDRESS>SUSE bring a yast module called yast2 ca_mgm to create own CA certificates and sign certificates.
You can import such a certificate including the CA. In this case the CA certificate is stored with the name /etc/ssl/certs/YaST-CA.pem in SLES11. This does not apply anymore with SLES12 and current openSUSE distributions.
This file contains only 1 certificate and is not a bundle. Older SLES never used bundles. We used openssl directory structure. Every file contain only one certificate.
With current SLES and openSUSE, we introduce a pki structure to generate any kind of trust stores. This include also a ca-bundle with the path I added with this commit. In case a CA is imported the ca-bundle contain also the certificate which was called YaST-CA.pem in the past.
Of cause in SLES11 there is still a problem. But including a single CA is only a workaround which will help only in a few cases.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Agreed. This will at least not break older installations. I will adapt the PR.

👍


add parameter to set addtional cadl emitter options

Contributing to the Azure SDK
Fix https://github.com/Azure/azure-sdk-for-net/issues/34357

Add parameter to set cadl emitter options

Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

create a PR in azure-sdk-tools to update this common script. close this one.


BUG: Clean up xout before rethrow

Elastix did not call AfterRegistrationBase before throwing exception and consequently did not clean up xout. This resulted in undefined behaviour and more or less random segfaults if the ElastixFilter was called again after an exception was thrown. This would happen even if the filter was completely destroyed and a new filter was instantiated because xout is a global static object. This possibly fixes SuperElastix/SimpleElastix#123 and an issue previously reported by @coertmetz.
The PR needs more testing and thorough review before merge. In addition, we should review exception handling elsewhere - e.g. for transformix.
NOTE: This does not change the fact that elastix is not thread safe which might still be an issue (also reported by @coertmetz). The logger will most likely have to be completely refactored into a member variable on e.g. ElastixMain for the library interface to become thread safe.

This seems to make a lot of sense. I do not have enough knowledge about AfterRegistrationBase to get an idea of possible side-effects however.

so AfterRegistrationBase() currently contains one line:
xl::xout.RemoveTargetCell( "iteration" );
I am not sure why this cell should be removed before throwing, but your explanation makes intuitive sense to me. At the least I see no harm in removing it, as this particular exception completely stops the registration altogether and (safely) terminates elastix.
@kaspermarstal Did you do a test with and without this change and indeed observed segfaults going away?
Is this test something that Coert could repeat?

Yes, @woutdenolf made a minimum working example with data in SuperElastix/SimpleElastix#123. You can get it there @coertmetz.
This patch fixes the problem on my machine -- I have not observed any segfault with the patch applied. However I have not been able to find out exactly what is going wrong when AfterRegistrationBase is not called. Sometimes it segfaults, sometimes it doesn't.
I can only assume that the logger somehow ends up in an inconsistent state if "iteration" is not removed -- but why or how I do not know.

Ok, so if it also works at Coert's side, then please go ahead with merging. In case Coert doesn't have time, go ahead with merging also.

Is it something you plan to test @coertmetz?

The iteration info output is of type xoutrow. And this is the only occasion where xoutrow is used. So maybe the underlying bug is in that class (could be, as it is the most complicated xout type). Maybe the destructor of xoutrow does not properly clean up itself for example.
To solve it, I think it might be better to call directly:
xl::xout.RemoveTargetCell( "iteration" );
instead of calling AfterRegistrationBase(). You in principle don't know what "AfterRegistrationBase" does more (currently nothing), which should not be done after an error has been thrown. Also, it would be unclear in the code why you call this function (since it is actually an indirect way to clean up xout; so, better to directly do that I think).

Hi @stefanklein,
This is more or less what we now do at Quantib side as a work around. We catch the exceptions of elastix. In the catch block we do:
if (xoutlibrary::xout_valid()) {
    xoutlibrary::xout.RemoveTargetCell("iteration");
}

For this to work we added the xout_valid to the xoutlibrary. This method just checks if local_xout is not null:
bool xout_valid() {
  return local_xout != 0;
}

to get these changes, would I need to rebuild the project, or is it sufficient to just pull down the updated repo?


Unable to set breakpoints in pilet

Bug Report
Prerequisites

[x] Can you reproduce the problem in a MWE?

https://github.com/nolanlocke/piral-monorepo-sample/tree/feature/mono-debug-replication

[x] Are you running the latest version?
[x] Did you perform a search in the issues?

Environment Details and Version

Piral 0.11.5
Running in a monorepo

Description
When running pilet debug against a pilet, I am unable to set breakpoints in any of my pilet code.
Debugging and breakpointing in app shell works perfectly. Have only had issues with this in pilets
Steps to Reproduce

Running pilet debug in monorepo mode

Expected behavior
Be able to set breakpoints inside of pilet code
Actual behavior
Breakpoint / debugging don't appear to work
Possible Origin / Solution

Can you give details on the browser (Chrome-based)? Thanks!

Yes! Using Chrome Version 83.0.4103.61

Landed in the preview and in develop.
You can try it out in by installing the piral-cli@next together with piral-cli-parcel@next (or running piral upgrade next).
As a goody I also de-minified the source code of the pilets during debug. I think it greatly helps with exceptions and when debugging using source maps (Chrome then displays better stack traces etc.).
Feedback appreciated! :beers:

This is working like a charm, thanks once again for the quick response Florian! 🍻


CircleCI

See https://github.com/nerves-project/nerves_system_rpi0/pull/25 for more info

This is ready for review


Can't use other Pipes[BUG]

[Please fill out the form below and delete the sections in square brackets after reading them]
Version of Advanced Rocketry
1.12.2 - 182
Have you verified this is an issue in the latest unstable build
Yes
Version of LibVulpes
0.4.1 - 62
Version of Minecraft
1.12.2
Does this occur without other mods installed

Yes, Mekanism, EnderIO

Description of the problem
Since we can't craft the Fluid Pipes we need to use Pipes from other Mods. None of them are transporting Oxygen or Hydrogen. The pipe is pointing in to the Fluid Output Hatches but nothing is happening. I tried to put Oxygen into my Chemical Reactor

Are they set to extract? Can I have a picture of the setup? What about chunkborders?

I tried this:

(I also tried to power them with a lever but it didn't work)
Even in one Chunk:

I don't know that you mean when your saying extract.
Thanks anyway

The Mekanism pipes in the picture are not set to extract. Shift-right-click with the configurator to so do. Can I see the conduit GUI on the extract?

Oh wow.
Thank you, now it worked i had to Shift-Rightclick the end/begin of the pipe and set it to pull/push.
NOT A BUG


Cannot load models transformer_lm.gbw.adaptive_huge and transformer_lm.wiki103.adaptive

🐛 Bug
When loading models transformer_lm.gbw.adaptive_huge and transformer_lm.wiki103.adaptive using torch.hub.load I got this error:
AttributeError: 'Namespace' object has no attribute 'bpe_codes'
To Reproduce
model = torch.hub.load('pytorch/fairseq', 'transformer_lm.gbw.adaptive_huge', tokenizer='moses', bpe='fastbpe')
Expected behavior
Models to load.
Environment

fairseq Version (e.g., 1.0 or master): 0.9
PyTorch Version (e.g., 1.0) 1.7
OS (e.g., Linux): 18.04
How you installed fairseq (pip, source): pip
Build command you used (if compiling from source):
Python version: 3.7
CUDA/cuDNN version: 10.2 /8.0.2
GPU models and configuration:
Any other relevant information:

Additional context

The GBW model doesn't use BPE, so it should work if you remove the bpe='fastbpe' part.
I also recommend adding tokenizer='moses', moses_no_escape=True, based on looking at the dict.txt file in the model archive


Downloadable Training Data

It would be very useful to have the training data returned from generate_data_parallel.py script available to download, for both the pile and packed cases.
I appreciate this may be a large amount of memory, and therefore difficult to host, so there is no expectation of course!
But it would avoid people needing to run the costly data generation process locally in order to experiment with the training.

Hi, I upload the link of data we generated here. Hopefully it would be helpful.

Great, thanks a lot!

Hey, quick heads up. The links in the table for the README are mis-matched. The pile links leads to packed data, and vice versa. Also a small type for the word "this" beforehand. Both should be easy to fix! :)

Thank you for reminding me!

When using a browser to download a dataset, the download process is often interrupted due to network problems. I tried to download it using aria2, but the download link was not recognized successfully. Are there any other ways to download the dataset?
Thanks for your excellent work!

Hi @Andyyoung0507 I added direct download link in https://github.com/UT-Austin-RPL/GIGA/blob/main/README.md#pre-generated-data. You can try download the data with wget.

Thanks for all your help!


Cannot import name allow_rasterization

I just install pybinding and I'm trying to run the first example that is proposed in the documentation of this library.
import pybinding as pb
import numpy as np
import matplotlib.pyplot as plt
import pybinding as pb

d = 0.2  # [nm] unit cell length
t = 1    # [eV] hopping energy

# create a simple 2D lattice with vectors a1 and a2
lattice = pb.Lattice(a1=[d, 0], a2=[0, d])
lattice.add_sublattices(
    ('A', [0, 0])  # add an atom called 'A' at position [0, 0]
)
lattice.add_hoppings(
    # (relative_index, from_sublattice, to_sublattice, energy)
    ([0, 1], 'A', 'A', t),
    ([1, 0], 'A', 'A', t)
)

lattice.plot()
plt.show()

I have already installed what is required in the documentation (for Windows OS) and the sicrpt run pretty well until it has to do the lattice.plot() throwing the following error

Traceback (most recent call last):
File "prueba.py", line 25, in
lattice.plot()
File "C:\xampp7\Python\lib\site-packages\pybinding\lattice.py", line 463, in plot
axes=axes))
File "C:\xampp7\Python\lib\site-packages\pybinding\results.py", line 598, in plot
plot_sites(self.positions, self.sublattices, **props['site'])
File "C:\xampp7\Python\lib\site-packages\pybinding\system.py", line 285, in plot_sites
from pybinding.support.collections import CircleCollection
File "C:\xampp7\Python\lib\site-packages\pybinding\support\collections.py", line 2, in
from matplotlib.collections import Collection, allow_rasterization
ImportError: cannot import name 'allow_rasterization'

I have already check and matplotlib is correctly installed (I try some plots recommended in the documentation of matplotlib and worked pretty well). Also a looked for the file collections.py in the pybinding library and the mistake is in the second line
import numpy as np
from matplotlib.collections import Collection, allow_rasterization

And looking at collections.py of the matplolib and searching for 'allow_rasterization' I found the duplicated 6 time the following function
@artist.allow_rasterization
def draw(self, renderer):

I am pretty new at python so I'm don't know if I'm looking at what I should. Thanks in advance

Hi Oscar. I found the same problem you had. In collections.py, you should change the line
from matplotlib.collections import Collection, allow_rasterization
to
from matplotlib.collections import Collection from matplotlib.artist import allow rasterization
That worked for me. Good luck!

Hi Oscar. I found the same problem you had. In collections.py, you should change the line
from matplotlib.collections import Collection, allow_rasterization
to
from matplotlib.collections import Collection from matplotlib.artist import allow rasterization
That worked for me.

Very useful! Thanks a lot!

Thank you. That worked for me too. Someone needs to fix in the released version.

For posterity, in my case, it was helpful just to monkey-patch matplotlib:
> import matplotlib
> matplotlib.__version__
'3.1.0'

from matplotlib.artist import allow_rasterization
import matplotlib.collections
matplotlib.collections.allow_rasterization = allow_rasterization


Add support for nulls first or last when sorting

Add support for specifying whether null values should come first or last when sorting by a nullable column.
Caveat: This patch only adds the support for the syntax used by postgresql, I'm not sure if other dialects use different syntax for this.

Thanks,


Suggestion: Easier orientation for newbies

Hello, I came here via the boost mailing list, out of curiosity about the upcoming boost release.
Even though I work on mostly C++20 code bases (how good is that!) I didn't happen to be familar with C++ 17 charconv and it look me to little while to figure out the scope and possible use of boost::charconv.   Years ago I got interested in a C++ alternative to iostreams and printf, so there are details here that in indeed familiar, so that helped the penny drop.   Definitely the unit tests shed a lot more light for me.
Performance is a recurring issue in the work I do.  If boost::charconv (or indeed C++17 charconv) can help me read and write huge CSV files faster, that would be interesting indeed.  Generally I use fmt::format as my goto, certainly some performance characterisation would be of interest.
I do appreciate that as developers we tend to focus on the implementation details, and perhaps less on the marketing.
Anyway, best wishes with charconv in boost 1.86.0!

Second question, if I'm already in C++20 do I still need this?
For example we use boost for some things where we want consistency between Windows and Linux, such as random numbers.  Often we don't actually care about the wiggle-room in the standards we just want consistency across platforms.

Hello, I came here via the boost mailing list, out of curiosity about the upcoming boost release.
Even though I work on mostly C++20 code bases (how good is that!) I didn't happen to be familar with C++ 17 charconv and it look me to little while to figure out the scope and possible use of boost::charconv. Years ago I got interested in a C++ alternative to iostreams and printf, so there are details here that in indeed familiar, so that helped the penny drop. Definitely the unit tests shed a lot more light for me.
Performance is a recurring issue in the work I do. If boost::charconv (or indeed C++17 charconv) can help me read and write huge CSV files faster, that would be interesting indeed. Generally I use fmt::format as my goto, certainly some performance characterisation would be of interest.

There's no mechanism to filter out the commas in the CSV but if you pre-parsed and then you can offloaded numeric conversion to charconv. I believe that std::format uses <charconv> in the background so you may see little benefit.

I do appreciate that as developers we tend to focus on the implementation details, and perhaps less on the marketing.
Anyway, best wishes with charconv in boost 1.86.0!

Thank you!
Do you have any particular suggestions on what would have made it easier for you now that you have a grasp on what the library is?

Second question, if I'm already in C++20 do I still need this?
For example we use boost for some things where we want consistency between Windows and Linux, such as random >numbers. Often we don't actually care about the wiggle-room in the standards we just want consistency across platforms.

Depends on your tool chain. Clang doesn't support floating-point operations (I believe it will in 19+), GCC requires 11+, and MSVC requires 19.24+. The standard is pretty strict on numeric conversions so you won't see any real difference in output other than the handling of the different types and signs on NAN.


Why token verification make db call ?

I started to use this module in my project. It is really good. But one thing which bothers me is that when I verify the token it goes through this part of code (https://github.com/GetBlimp/django-rest-framework-jwt/blob/1.7.2/rest_framework_jwt/serializers.py#L98-L116)  and does 2 things

get username from payload
get_by_natural_key using username which is  a costly DB call

why verify token needs to do point 2 ?
only job is it not to check whether the token was not tampered, I think that is what the http://jwt.io/ does. also it does verify the signature.
I can understand that it is better to check if the user is valid(it will help in one scenario where user was deleted, but which is considered a rare scenario). but that again depends on single point of checking which will be hurdle when scaling . I thought that the main idea behind token auth was to scale by having necessary info in the token (which is untamperable). What is your view ?
Had it been done just like verifying token based on the secret key, I would just distribute the secret key to various servers having different services and make the validation done there itself instead of relying on a network/db call . Similar point of view is also present here.
why verify token needs point 1 ?
why is there a need to enforce the presence of username in token. In my case there is only email id (which is valid case). May be the answer for first question will answer this question too as get_by_natural_key needs username.
also I have another doubt.
does this library support public key private key based signing of the token ?
(which will help me validate my token the first time using my public key in the client end whenever necessary, as private (secret) keys cannot be shared)

Regarding avoiding db queries. That is a benefit, though harshly the whole point. You're still avoiding a session store as well. This is meant to be a simple generic implementation for authentication with JWT. Not meant to be an all around highly scalable thing. Every project has its requirements, you can choose to extend our build your own. You could probably get away with creating a User object from the JWT instead of querying your DB and returning that.

The idea behind using get_by_natural_key is that if you have a custom user model you'd be able to modify that and JWT_PAYLOAD_GET_USERNAME_HANDLER similar to how Django authentication backends work.

Not yet but #200 is close.


https://servicecomb.atlassian.net/browse/JAV-501

As a developer, I need to have authentication in service provider to protect the microservice from unauthorized access

Coverage decreased (-0.6%) to 86.433% when pulling eacffc4e5efa34f8dc12527cb68a7fc5f2831862 on coolhongluo:serviceauth_rsatoken into 58eb0c046dedb653400cec8d6f27701182aaf79a on ServiceComb:master.

Coverage decreased (-0.9%) to 86.181% when pulling 8743f7075f0d3496bc839c1c581c5d42bd391ff3 on coolhongluo:serviceauth_rsatoken into 58eb0c046dedb653400cec8d6f27701182aaf79a on ServiceComb:master.


Add codemod to rewrite side effect imports

TODO:

[ ] Add tests
[ ] Document installation & usage

jscodeshift --parser=<yourparser> -t path/to/this/converter.js path/to/run/against
See https://github.com/facebook/jscodeshift for more details

[ ] Document required dependency (jscodeshift)

Q
A

Fixed Issues?
Fixes #1918

Patch: Bug Fix?

Major: Breaking Change?

Minor: New Feature?

Tests Added + Pass?
Yes

Any Dependency Changes?

Added a codemod that rewrites the imports of 'takeEvery','takeLatest','throttle','delay' from redux-saga to redux-saga/effects with minimal changes to the repo. The codemod uses jscodeshift.

Cool - looks promising. Will you be able to add tests?

Yes, I'll add some this week

Wasn't able to get to this yet - we've been busy updating redux-saga as well as a testing library. Haven't forgotten about it

@CoryDanielson no problem, this is OSS - I don't expect anything from you, but I will be grateful for whatever you can provide of course.


Fails when no secrets exist in a path

When listing all secrets via it fails when it hits a path which no secrets:
./vkv export --path secret/<path>
[ERROR] no secrets in secret/<path> found

Maybe there is a way around this other than creating a secret in the failing path?

Hi @obrienrobert,
yup, that's a known limitation currently. But it shouldn't be too hard to introduce a flag something like --ignore-errors.
I will try to fiix this and come back to you

Actually, I can't reproduce this. Which version are you using?
vault kv list secret
Keys
----
o  # empty
ok # empty
oko
okokok/

vkv export -p secret
secret/
├── v1: o
├── v1: ok
├── v1: oko
│   └── okok=****
└── okokok/
    └── v1: okoko
        └── okok=****

Thanks for getting back to me so quickly. Really helpful tool BTW :)
vault version
Vault v1.13.2 (b9b773f1628260423e6cc9745531fd903cae853f), built 2023-04-25T13:02:50Z

./vkv version
vkv 0.2.2

It's working for me now as well. The timeline/steps I took:

I had an empty secret in a path. Even though the secret was empty, Vault was displaying a message in the UI, something similar or exactly like this. When I ran vkv it failed
I populated the secret with dummy values, then vkv worked
I deleted the dummy secret and then ran vkv, which worked

It looks like it failed when the Version X of this secret has been deleted text was displaying in the screen.

Very interesting. Thanks for the write-up. Nevertheless a flag like ignore-errors is quite helpful especially if your current token policy does not allow reading/listing certain paths in which case vkv would fail. So I will try to look into that :)


Key Trust Chain validation for Signed App Verification Without Hardware Secure Boot (IDFGH-5325)

Hello,
I want to implement the key trust chain features for Signed App Verification Without Hardware Secure Boot.
"In this mode, any public key which is present in the signature block of the currently running app will be used to verify the signature of a newly updated app. (The signature on the running app isn’t verified during the update process, it’s assumed to be valid.) In this way, the system creates a chain of trust from the running app to the newly updated app."
Can you please provide the steps to validate multiple public keys to verify the signed image? I would like to change the pub key during the new OTA updates.
Thanks

Thanks for raising the feature request.

Hi @Darsh-Dev,
I'm afraid this is a mistake in the documentation. Only one key can be used to verify a new signature (the first slot), as described in the next paragraph:

The system only verifies a signature block in the first position and ignores the other (2) appended signatures.

This is necessary because otherwise an attacker could append a new public key in an update and gain control of the updated firmware.
We'll fix the other paragraph to match.

Can you please provide the steps to validate multiple public keys to verify the signed image? I would like to change the pub key during the new OTA updates.

We can consider this as a feature request, however it's a high cost and risk to implement due to the extra complexity, risk of a critical security loophole as described above, and difficulty of managing OTA update and rollback behaviour in a power-off-safe way. Using the hardware as a root of trust (i.e. Secure Boot) on ESP32-S2 & ESP32-C3 is the accepted and supported way to support multiple signing keys with revocation.
Which chip are you using? May I ask why you don't want to use hardware Secure Boot, and what the reason for the "new trusted public key" requirement is?


Switch to a build-trigger instead of a post-build-trigger

This way one can at least see that the trigger is still
running.

+1 as per http://mailman.suse.de/mlarch/SuSE/cloud-devel/2015/cloud-devel.2015.08/msg00004.html - thanks!

Is this fixed via the Jenkins web, or manually? I would like to fix the rest of the triggers.

@aplanas you can do both. first fix the file here, and then get it uploaded to jenkins, or change it in jenkins and then download it (and PR it)

@dirkmueller IUC the XMLs from Jenkins are stored automatically in https://github.com/SUSE-Cloud/automation/tree/jenkins branch. So this same XML is in https://github.com/SUSE-Cloud/automation/commit/b41b106505227ae477ac5e475548a13436b6f190
If that is the case I would vote to close this PR and update the XMLs from Jenkins itself

@aplanas thats just a backup method since we don't actually know who or when the jenkins configuration is changed on the server (and everyone has privileges to do so). so the jenkins branch is sometimes the only method of understanding why things are suddenly broken.
I think it still makes sense to have the actual jenkins changes in git (branch master) as it will have useful commit logs and makes git blame easier.

I strongly agree with @dirkmueller.  Making changes directly on Jenkins is very error-prone, especially considering there are no individual accounts on ci.suse.de.  And anyway I think making the changes in git master must be the currently accepted way of doing it, otherwise there would be no reason to have the XML in git master at all (since like you say it is automatically backed up in the jenkins branch).


Support arbtirary expressions in array/object indexing

We represented array and object indexing in the AST as a vector of keys or integers. We would then monadically fold over the vector to evaluate to our final value. This is unconventional and makes it more difficult to evaluate arbitrary expressions in the square bracket indexing syntax.
This PR replaces Path with:
  | RequiredFieldAccess Span ValueExt (Either T.Text ValueExt)
  | OptionalFieldAccess Span ValueExt [Either T.Text ValueExt]

And enables arbitrary expressions in the square bracket index syntax. I also went ahead and cleaned up the error codes and error messages a bit.

@solomon-b I've approved and left a few comments/questions but they're not blockers.


fix: add dummy constraint for unused input

Issues zBlock-1/RLN-audit-report#1 zBlock-1/RLN-audit-report#2 zBlock-1/RLN-audit-report#3 zBlock-1/RLN-audit-report#4 zBlock-1/RLN-audit-report#5 zBlock-1/RLN-audit-report#6 zBlock-1/RLN-audit-report#7 zBlock-1/RLN-audit-report#9 zBlock-1/RLN-audit-report#10 mentioned "Unused public input ..." security bug.
This PR fixes it!

Thank you @curryrasul. Thank you for patiently reviewing the security audit reports for the RLN and explaining the context around some issues. That was super fun to work with you and mentor us.


Question: how to add postcss-preset-env?

Thank you for this great starter! But how to add postcss-preset-env plugin in this config? Just adding require('postcss-preset-env') doesn't work

Never tried it, you say adding it like in the docs, after Tailwind itself, doesn't work?
i.e. like this?
options.plugins.unshift(...[
  require('postcss-import'),
  require('postcss-nested'),
  require('tailwindcss'),
  require('postcss-preset-env')({ stage: 1 }),
])

@cossssmin thanks! I missed ({ stage: 1 }) part, it didn't work without out


TopLevelPropertyNaming description reports wrong regex with private properties

Steps to reproduce:

Create new empty Android project in Android Studio
Create new Kotlin file containing this line:

private var PRIVATE_PROPERTY = ""

Add RC7-2 Detekt to the project (just copy paste example gradle snippet, without any additional configuration)
Run detektCheck
Open either xml or html report

Error report will contain TopLevelPropertyNaming finding with this description:

Private top level property names should match the pattern: [A-Za-z][_A-Za-z0-9]*

However, according to this description, my PRIVATE_PROPERTY variable should be fine. It matches the displayed regex.
It turns out that description of the warning is wrong. It should display privatePropertyPattern regex, since this was used to detect that field, but instead it displays propertyPattern regex.

Thanks @matejdro for reporting and @schalkms for fixing!


Feature: Toggle Explorer Arrows Configuration

[x] register command to handle arrow toggling, removed since it adds a lot of complexity to a simple change which can be a lot easily handled by just changing the configuration
[x] split up into maintainable modules
[x] move .json to .default.json for the default settings and generate a new .json from it when the theme is first activated , added an ignored file .modified.json that vscode will look for so the source stays as is
[x] add a listener for configuration changes to make this portable

Adds to the vscode configuration
"symbols.hidesExplorerArrows":true

The force-push only edits one commit 0c6c832, since changes were added to main yesterday that weren't in the fork and the mentioned commit removed trailing commas in the JSON

@barelyhuman one issue I am seeing is that if symbol-icon-theme.modified.json already exists, when you make changes to symbol-icon-theme.json the modified file does not get updated. It's almost like we need to do cleanup when activating the extension. Would you be able to add this?

i guess I totally forgot about handling updates in the theme, will add a sync on activation to check for new props.
Should be able to raise a PR around noon tomorrow


Is there a way to figure out the identifier without saving it?

This might be a shot in the dark here, but is there a way to load individual AR objects without knowing its identifier? Right now I could attempt to load all identifier at the beginning (and it would expire after 15 seconds if it can't find the location), but it is kinda counterintuitive to load all of them just to get one and let a lot of them fail (imagine a really big room where a lot of AR objects are far apart from each other.
Thank!

@Jacquelinett,
You are correct that there is currently not a way to do this, but thanks a lot for the feature request! This sort of feedback is very helpful as we plan future features.
For AR objects that are far from each other in a large room, I think what you are currently describing is the best way currently available to accomplish your goal. It might be worth retrying the resolve after the timeout for the objects that did not resolve successfully.

Closing this issue due to inactivity, but feel free to let me know if you have any other questions or feature requests!

Thank you. I caught the cold and was out sick for a few days, then completely forgot to write a reply.
I will let you know if I have any other question, thank again!

Hey, sorry for asking on the closed thread,
I was wondering if there is a way to force anchor loading to fail. I want to host only the first once, and once that one pass I can fail everything else.
Thank you again

@Jacquelinett,
Unfortunately the API does not have a way for the to cancel a request to host. If I had to solve the same problem I would probably just ignore successes or failures after the first success.


Speed-Up Preprocessing + NLP

We spent a lot of time looking at every possible options to speed up the library. Main findings:

str.replace and s.apply(re.sub) are equally fast (see #124) -> don't need to change this
dask requires users to use different data structures themselves, so it reduces complexity significantly for users. We believe only few users will profit from this when they're using datasets that do not fit into RAM, so it does not make sense to change all of texthero for this.
modin as drop-in replacement for pandas performed very bad for small to medium sized DFs
pandarallel did not work for pd.apply inside the library
Implementing multithreading through a decorator will not work in python; see every result when googling python multiprocessing decorator

The only way we see to parallelize things while still keeping a great User Experience and not slowing down users with small and medium sized datasets is the following:
Implement a function helper.parallel that handles parallelization for Pandas Series and use that to wrap our functions. Example:
# Example old approach:
@InputSeries(TextSeries)
def remove_round_brackets(s: TextSeries) -> TextSeries:
    """
    some nice docstring
    """
    return s.str.replace(r"\([^()]*\)", "")

# Example new approach: (same for user from the outside,
# a little more complicated (but fully parallelized!) on the inside)

def _remove_round_brackets(s: TextSeries) -> TextSeries:
    return s.str.replace(r"\([^()]*\)", "")

@InputSeries(TextSeries)
def remove_round_brackets(s: TextSeries) -> TextSeries:
    """
    some nice docstring
    """
    return parallel(s, _remove_round_brackets)

So we keep all functionality that is not parallelizable (like initializing patterns, downloading a spacy model, ...) in a function f with a nice docstring that the user can see. This function at the end calls helper.parallel(s, _f, other arguments) where _f houses all the parallelizable functionality.
Here's the helper.parallel implementation, should be rather self-explanatory:
import pandas as pd
import multiprocessing as mp

cores = mp.cpu_count()
partitions = cores

MIN_LINES_FOR_PARALLELIZATION = 10000  # Set min. number of lines in Series to parallelize -> no slowdown for small datasets due to parallelization overhead
PARALLELIZE = True  # Allows users to fully turn off parallelization for all dataset sizes

def parallel(s, func, *args, **kwargs):

    if len(s) < MIN_LINES_FOR_PARALLELIZATION or not PARALLELIZE:
        # Execute as usual.
        return func(s, *args, **kwargs)

    else:
        # Execute in parallel.

        # Split the data up into batches.
        s_split = np.array_split(s, partitions)

        # Open threadpool.
        pool = mp.Pool(cores)
        # Execute in parallel and concat results (order is kept).
        s_result = pd.concat(
            pool.map(functools.partial(func, *args, **kwargs), s_split)
        )

        pool.close()
        pool.join()

        return s_result

We know that this does introduce some added complexity for developers in the nlp and preprocessing modules, but we believe that it's the best solution for users (automatic parallelization and same user experience as before) and with some more developer documentation, other contributors should not have any problems.
MultiProcessing Implementation in Texthero.pdf
Of course, lots of tests are added to test_helper.py.
Note: only so many lines changed because this builds upon #157

@jbesomi , we have now tested more with Modin and thought about different implementations. The problem is that there is no modin.apply or something similar that we can just use. If we have a modin Series s we profit from the speedup of doing s.apply(...). So we would need the users to do import modin.pandas as pd and we would also need to change our library everywhere to return modin-pandas objects. We see the following options:

Use our implementation from above for parallelization that is extremely simple for users and relatively simple for developers. Describe in a tutorial that if users want to work with huge datasets that don't fit into RAM, they need a different solution (e.g. modin) that does much more than just parallelizing (partitioning DataFrames etc.)

Change our library to always check at the beginning if the input is a modin object. If it is, only use code that's optimized with modin (that's not too restrictive as modin covers a lot of the pandas API) and return modin objects. Else, just work as usual. Then just tell users "if you work with big datasets, just import modin.pandas as pd and we take care of the rest".

Fully switch to modin. That's possible and the easiest way, but very slow for everything that's below ~ a few 100k rows.

Change our library to check if the input is over MIN_LINES_FOR_PARALLELIZATION. If it is, transform the input to a modin object, profit from the modin parallelization, and re-transform the output from modin to pandas. This adds a big overhead for the converisons, so we're not a fan.

Options 3+4 seem like a bad idea. Option 1 is the easiest as it's already ready to merge and gives users a great speed boost for data that fits into RAM (probably the case for most users). Option 2 is probably the best for users with big datasets, as they will profit from the whole modin framework (partitioning etc.) and can use our library fully parallelized; of course, it's a little more for us to code, but not that much :woozy_face: :2nd_place_medal: .
Interested in what you think :octocat:

Thank you for the detailed comments!

I'm a fan of this approach! 🎉
That's not for now. We can start with 1, see how it goes, and eventually do 2.
Not a big fan.
It would probably be the best approach in case the transformation isn't expensive, but that's not the case, right? Can you quantify it?

we have now created a notebook, which compares the two implementations (1 and 4). The conversion, as you can see at the bottom of the notebook is quite cheap, but the computation part takes about twice as long as we could archive it. 🥇
See this pdf as an example. :octocat:
Ziped Notebook ⚡

we now have merges #157 or the current master into this PR and are ready for review/merge 🐤 🙏

TODO:

resolve conflict
refine explanation of parallelization for developers, with examples
make sure parallelization is explained in getting-started


Update search tutorial to use mapzen.js

This pulls in the workshop that @dianashk, @kkowalsky, and I presented at State of the Map US. It replaces the leaflet-geocoder plug-in with mapzen.js.
Other changes:

it still uses Seattle as the location, but it works fine regardless of location (by default, mapzen.js sets the focus by the map center, not the browser geolocation property)
finishes off changes for the unified API key experience
removes unused images and updates ones still used in the tutorial with current maps
uses mapzen.js BasemapStyles, rather than HouseStyles property from the tutorial
adds in some earlier suggestions about Leaflet width property from @kkowalsky that were sitting on a branch and weren't ever added to the tutorial

We might want to update this again as development changes between search and autocomplete endpoints, but this flow works nicely now. I ran through this version and verified it works.
Fixes https://github.com/pelias/pelias-doc/issues/145

LGTM

Great! Thanks. :+1:

LGTM


Allow binding the bot on other team chat message instead of spam

I have gotten kicked my fair share of times for the spam associated with the regular interval chat message that says there's a bot on the opposite team. I think instead of having it be chatted regularly in intervals, it should automatically chat once, and then allow you to post it more times with a set key bind.

May be a duplicate of #207, but ClusterConsultant said this: "different enough to stand on its own, in the future please make separate issues for separate suggestions."
So, maybe that issue could be closed, and this issue could be left up.

May be a duplicate of #207, but ClusterConsultant said this: "different enough to stand on its own, in the future please make separate issues for separate suggestions."
So, maybe that issue could be closed, and this issue could be left up.

Moving this over to #207 as there is more existing discussion there.
Also, you can turn off the messages currently.

Moving this over to #207 as there is more existing discussion there.
Also, you can turn off the messages currently.


License clarification

I'm looking into packaging python-patchelf for Fedora.
I noticed that the license in the repository is Apache-2.0. However, on PyPI the meta data displays GPL-3.0-or-later. Could you please clarify and align?

The packaging code is under Apache-2.0.
The executable that gets packaged is under GPL-3.0-or-later.


Add missing handler to "Loading Initial Data" doc

"The pattern" implies :initialise-db handler, but it is missing. This PR adds a very simple implementation.

Thanks for those three fixups !!


Add support for custom graphemes (symbols or words groups)

Many languages contain their own pairs of characters and even words that are inconvenient to use, so instead of constantly expanding the built-in set of rules, it would be much more convenient to be able to create and configure your own association groups (for example, through ModMenu or a config file).

the problem with this beautiful idea is that I dont want to make the users have to do unicode which is complicated af for a normal user, I could also let you just input RegExps yourself but it really seems more of a power user thing rather than a normal person would expect.
The other problem is that actually not all languages are simply diacritics but can be like in japanese be written in different ways
If letting you write regexps seems useful, I will have to take a look into it. If your idea is letting you make the regex and share it why not simply PR it to here so everyone can use it lol


Suspicious downwards trend for 7-Day R Value

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[X] Bug is not already reported in another issue

Technical details

Device name: Samsung Galaxy A5 (2017) SM-A520F
Android version: 8.0.0
App version: 1.12.0

Describe the bug
Today, March 1, 2021, at 11:00, the CWA statistics tile 7-Day R Value shows Currently 1.08 with a downwards trend.
Other RKI data sources show the value increasing, not decreasing. The downwards trend shown in the app is therefore questionable.

From https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Projekte_RKI/Nowcasting.html > https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Projekte_RKI/Nowcasting_Zahlen.xlsx 28.02.2021

Datum   des Erkrankungsbeginns
Punktschätzer des 7-Tage-R Wertes

10.02.2021
0,89

11.02.2021
0,91

12.02.2021
0,94

13.02.2021
0,96

14.02.2021
0,99

15.02.2021
1,02

16.02.2021
1,04

17.02.2021
1,06

18.02.2021
1,06

19.02.2021
1,08

20.02.2021
1,08

21.02.2021
1,07

22.02.2021
1,08

23.02.2021
1,08

24.02.2021
.

Steps to reproduce the issue

Open CWA scroll down and across to 7-Day R Value
Compare to graph in RKI daily report (The estimated R-values) or (Darstellung der geschätzten R-Werte) (https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Situationsberichte/Gesamt.html
Compare to values in RKI Excel sheet from https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Projekte_RKI/Nowcasting.html

Expected behavior
The trend in the app for 7-Day R Value should agree with other RKI data sources.

Internal Tracking ID: EXPOSUREAPP-5473

This evening, Monday, March 1, 2021 18:40 the table https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Projekte_RKI/Nowcasting_Zahlen.xlsx 01.03.2021 linked on https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Projekte_RKI/Nowcasting.html has been updated.
The Excel table now shows a downwards trend, however the value of the 7-Day R Value showing in the app is still 1.08 (with downwards trend). None of the recent values in the Excel table in the column "Punktschätzer des 7-Tage-R Wertes" matches the 1.08 value in the app.
Also this evening the new situation report for today, March 1, 2021, has been published and it shows a downwards trend for the 7-Day R Value too. The 7-Day R Value in today's report is 1.01.  In yesterday's situation report for Feb 28, 2021, the 7-Day R Value was shown as 1.08.
So there is a mismatch between the combination of value and trend shown in the situation reports compared to the app. The app shows the value of the situation report from yesterday and the trend of the situation report from today. It is puzzling to try to reconcile the app display with other RKI data sources.

Value
Situation Report yesterday Feb 28, 2021
Situation Report today March 1, 2021
App March 1, 2021

7-Day R Value
1.08
1.01
1.08

7-Day R Trend
up
down
down

Update, March 2, 2021 10:30
The 7-Day R Value has now caught up with the Situation Report from yesterday and it is showing:

Value
Situation Report yesterday March 1, 2021
App today March 2, 2021 10:30

7-Day R Value
1.01
1.01

7-Day R Trend
down
down

Earlier this morning about 08:00 it was still showing the inconsistent values of 1.08 with downwards trend, like it was showing yesterday.

@MikeMcC399 Thanks for the detailed report. Internal Tracking ID: EXPOSUREAPP-5473

Hey @MikeMcC399 , I'm looking into this issue. Unfortunately, I missed the download of the respective raw Nowcasting data file. Would you be able to share this file, please?
It is important to understand, that the values for each and every day within the file may change daily, especially with those numbers that are quite "new". This is because of the ongoing re-calculation of the probability model and the prediction intervals  to narrow down the numbers for the R value - which finally gives the trend.
For now, again  I validated on today's downloaded the correctness on both: numbers and trend indicator. Therefore, I need to access the sources on date and time of your reported issues.
Would that be possible?

@GisoSchroederSAP
I understand about the ongoing recalculation of the values. It just seems like the trend was out of sync with the values themselves.
Here are the two files you requested:
Nowcasting_Zahlen 2021 02 28.xlsx
Nowcasting_Zahlen 2021 03 01.xlsx

This morning, Thursday, March 4, 2021 08:45 the 7-Day R Value in the app looks good.
It is showing Currently / 0.93 / downwards trend.
This fits with the information in the RKI Daily Situation Report - March 3, 2021 from yesterday evening 19:26. 👍

Today, Friday, March 5, 2021 11:00 the 7-Day R Value being displayed in the app is:
Currently / 0.99 / upwards trend
The value 0.99 corresponds to what was reported in the RKI Daily Situation Report - March 4, 2021 from yesterday evening 18:15.
The trend upwards trend on the other hand does not correspond to the graph in the report.
What value is the trend based on? 7 days ago, the app was displaying 1.05 as the 7-Day R Value, so if the trend is calculated according to this then it should be downwards, not upwards. If on the other hand the trend is calculated by comparing with the value displayed yesterday, which was 0.93, then the trend is upwards.
Perhaps the help text needs adjusting for the 7-Day R Value as well if the trend comparison is made by using the previous day's value?

Hi @MikeMcC399 ,
Today's displayed R-value is 0.99 and comes out of the latest available calculation. According to the documentation I have, the "change rate" (translated to the "trend indicator") uses the comparison to
effective_date - 7
where effective_date is today. So the today's value will be compared to the value from Feb 26 (today-7)

At least, if this is the correct understanding, the Nowcasting xls file would support this as well (assuming, that there a no rounding issues after the two decimals).
On the other hand, the comparison with just yesterday's displayed value would come to the same result.
So, I still strongly believe in the correctness of the trend indicator, even if this is not that intuitive.
In order to get the one or the other option confirmed, I am currently pushing the data analysts for an internal statement.
Based on the output, we will come up with better explanation on the FAQ page, as this might be faster and gives us more space/freedom than changing the text within the CWA.

@GisoSchroederSAP
Thanks for researching this point!
The 7-Day R Values are recalculated daily, including a recalculation of historical values, so it's not so intuitive how the trend calculations are being done. I'll wait to see what you find out from the data analysts.

yes, @MikeMcC399, and not only the values are recalculated, but all the the prediction intervals as well - indicating how "stable" or "valid" a given value might be. That's why, I just can judge a call only on the latest available data, for the given moment.
Comparing those fix values in a highly-dynamic environment becomes challenging.
Anyway, the communication must be clear to avoid (or at least, to minimize) misunderstandings. So, thanks for having an eye on this topic!!!

Quick update:
I got response from the data analysists for several detailed questions. Those answers now allow me to "translate" the calculations  a bit more consumer-friendly, hopefully.
We are totally aware, that the abstract wording in the app (and on other sources) creates misunderstandings or at least distrust  - so we do our best to validate the information and to get a better feeling how to "read" those statistics.
The current plan is, first to open an FAQ entry with the explanation for each statistics tile - step by step. The layout of the explanations should be similar and as simple as possible. If available, we will try to link further references for those that want to dive deeper into the respective topic.
Each of the explanation we will one more time double-check with RKI for the epidemiological correctness of our explanation before the file get published. And as usual, any feedback is welcome!

@GisoSchroederSAP
I'm quite confident about understanding the values and trends for Confirmed New Infections and 7-Day Incidence. I have been following the data the last days and my calculations always agree with the app. It just needs to be explained (first in the FAQ, then in the app) that the trend for the 7-Day Incidence is comparing to the value from the previous day, not the previous week, just like you already stated.
For the 7-Day R Value I still don't know exactly how the trend is being done, so I'll be interested to see the explanation. This value is a volatile moving target!

Let me here
1st confirm: the 7-day-incidence trend indicator is compared against the value displayed on the previous day using a 1% threshold.
2. share a short extract from my verifying calculation - that also documents the rather straight forward 4-day R-value in comparison to the sensitive 7-day value.

The major aspect of the 7-day-R-value is its ration of two overlapping periods within a constantly recalculated "corridor" (prediction interval) based on adjusted probabilities (about real start date of infection, estimated generation time for being contagious, delays of diagnosis, reporting to the health authorities...). As these certainty of knowledge increases over time with the observed data, the corridor for the R-value becomes tighter and therefore, the R-value stabilizes.
So, all the metrics that "travel with" the numbers of new infections will be incorporated, additionally the incubation period will be added (4-6 days), and records of at least 200 days back will be performed to calculate the currently shown value that relates back to the frequency of infection events in the past.
In the end: We get a value that is shown today referring to the occurences in the past. Tomorrow, we get a new value to be presented tomorrow, and most probably even the value that was presented today is history and gets replaced by an updated value.

@GisoSchroederSAP
Thank you for your efforts to explain about the 7-Day R Value and trends. I think I now understand about what is displayed in the app.

Taking the hint from the variable naming in the cwa-server repository the variable has a 1% in the name sevenDayRvaluePublishedTrend1percent in StatisticsJsonStringObject.java#L73. I'm assuming that means that the trend is calculated from the previous day using the ±1% band for the definition of a steady trend.
The value displayed in the app when it says "Currently" is the same value which appears in the RKI Situation Report published the previous evening.

So to go back to the original bug report, the value shown in the app on March 1, 2021 for the 7-Day R Value was 1.08. This is the same value which is shown in the Situationsbericht Feb 28, 2021 on page 7. The Situationsbericht Feb 27, 2021 for the previous day shows the value of 1.11 for 7-Day R Value on page 8.
The trend compared to the previous day is 1.08 - 1.11 = -0.03, which is -2.7%. This is a downwards trend and it exceeds the ±1% steady band.
So it was correct to show the 7-Day R Value trend as a downwards arrow with a green background on March 1, 2021.
It was my mistake to try to use the Excel file from the page Nowcasting because this doesn't keep the history of what the app displayed.
The second cause of my problem was the help text. If you could just confirm that the 7-Day R Value trend uses the previous day and not the previous week for the trend calculation, we can close this issue.
I opened a separate issue https://github.com/corona-warn-app/cwa-documentation/issues/550 about getting the help text corrected.

Yes, @MikeMcC399 , I can confirm: The Trend for the R value uses the previous day for comparison.
And  yes, the Nowcasting file always reflecting the "current" numbers after recalculation the the whole data set - so it does not include the history of R values. However, if you go backward in time (in the file, of course ;-) you will notice the calculated R-value will become stable and the prediction interval will become tighter and tighter.
Update: I hope I can finish the FAQ for the statistic tiles this week and let RKI analyst verify correctness of my explanation and the proper use of terminology. Once this is done, we will publish the FAQ.
Right afterward, I start the help text re-work task.

@GisoSchroederSAP
Thanks for your confirmation and update on your plans!
I reviewed the help text in English and German. Now at least I understand what it is trying to say, however it is unfortunately open to wrong interpretation. The German text is better, but the English text lost some meaning in the translation.
I made suggestions for a small change to the help text in https://github.com/corona-warn-app/cwa-documentation/issues/550 in the Proposed Fix section. Please take a look to see if you would support making this change.

The background has been clarified and my prediction from yesterday (see https://github.com/corona-warn-app/cwa-documentation/issues/535#issuecomment-798946166) was proved correct, so this issue can be closed.

Update: I just sent the 4 proposals for the statistics tiles for a technical examination.
Once this is done, we are going to translate into English language and start working on the text proposal for the app.


undefined symbol: _ZN3c1010Dispatcher11reportErrorERKNS_13DispatchTableENS_8optionalINS_11DispatchKeyEEE

Hello All,
I am trying to follow the mmdet tutorial and while running the third cell I am facing this issue can anyone help me to resolve this??
I've installed mmcv-full.
ImportError                               Traceback (most recent call last)
 in
10
11 #import mmcv
---> 12 from mmcv.ops import get_compiling_cuda_version, get_compiler_version
13 print(get_compiling_cuda_version())
14 print(get_compiler_version())
/usr/local/lib/python3.6/dist-packages/mmcv/ops/init.py in
----> 1 from .bbox import bbox_overlaps
2 from .carafe import CARAFE, CARAFENaive, CARAFEPack, carafe, carafe_naive
3 from .cc_attention import CrissCrossAttention
4 from .corner_pool import CornerPool
5 from .deform_conv import DeformConv2d, DeformConv2dPack, deform_conv2d
/usr/local/lib/python3.6/dist-packages/mmcv/ops/bbox.py in
1 from ..utils import ext_loader
2
----> 3 ext_module = ext_loader.load_ext('_ext', ['bbox_overlaps'])
4
5
/usr/local/lib/python3.6/dist-packages/mmcv/utils/ext_loader.py in load_ext(name, funcs)
9
10     def load_ext(name, funcs):
---> 11         ext = importlib.import_module('mmcv.' + name)
12         for fun in funcs:
13             assert hasattr(ext, fun), f'{fun} miss in module {name}'
/usr/lib/python3.6/importlib/init.py in import_module(name, package)
124                 break
125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
127
128
ImportError: /usr/local/lib/python3.6/dist-packages/mmcv/_ext.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN3c1010Dispatcher11reportErrorERKNS_13DispatchTableENS_8optionalINS_11DispatchKeyEEE

Please follow the trouble shooting page here. It is very likely that your MMCV is compiled in an environment but ran in another environment.


Add pear terminal restart

Requires https://github.com/holepunchto/pear-runtime-bare/pull/2 to be merged and released first for this to work

note: does not require pear-runtime-bare build to actually be merged, it just means we start with hard restart, exit 75, it's on user system to restart. This is valid. Once pear-runtime-build lands, it'll automatically restart in place, switching to a soft exit - with an option to specify hard exit for full process restart (this will lose I/O whereas soft restart won't).
first PR towards closing https://github.com/holepunchto/pear/issues/91
up next will be full platform restart support, both hard/soft


setup() and teardown() are run on skipped tests

It would seem that tests that are set to skip, still get setup() and teardown() executed. Take this for example.
#!/usr/bin/env bats

setup() {
  sleep 30
}

teardown() {
  sleep 30
}

@test "ps" {
  skip "test setup/teardown on skip"
  run bash -c "echo hello"
  echo "output: "$output
  echo "status: "$status
  assert_success
}

# time bats test.bats
 - ps (skipped: test setup/teardown on skip)

1 test, 0 failures, 1 skipped

real    1m0.061s
user    0m0.013s
sys 0m0.038s

Is this expected behavior? Is it possible to make this not the case? Thanks for putting this project together. It's been great to work with!

bump!

skip happens programmatically; it's a function that runs in the test, not an annotation. Consider this:
setup() {
  sleep 30
}

teardown() {
  sleep 30
}

@test "maybe skip" {
  if (( RANDOM % 2 )); then
    skip "flipped a coin, came up heads, so we're skipping"
  fi

  run echo "foo"
  [ $output = "foo" ]
}

setup has to run, because at that time we don't know whether the test will skip or not. teardown must therefore also run (to clean up whatever mess might've been made in setup).

Oh I totally get why it's not technically feasible in the current codebase. Are you saying that my proposed use case is invalid?

Ah, I misunderstood.
I definitely think your use case is valid; other test frameworks that I've worked with implement skip as a test annotation. Pytest is a good example of this -- there's a decorator that you can apply to test functions which skips them. This means the fixtures they request (pytest tends to use fixtures rather than setup/teardown methods) are never created. In my experience, this is useful. For example, you can conditionally skip tests depending on, say, whether certain features of your program are configured. It'd be painful to set up fixtures for hundreds of tests that apply to a feature that's disabled.
I'll leave it to @sstephenson whether the use case is valid within the context of bats, or whether it could easily be implemented. I'm neither a bash expert nor a bats expert, just a random passer-by.

Hi,
To skip you teardown, you can use something like:
if [[ "$BATS_TEST_SKIPPED" - eq 1 ]]; then
    return 0
fi

or
if [[ ! "$BATS_TEST_SKIPPED" ]]; then
    # do teardown here
fi

I am also facing above issues.
I am making my test skipped in BeforeInvocation but in report I can see setUp and TearDown is marked as skipped but Test is marked as Failure?. Could you I know Why?.
Due to Which Final Status I can see like this.
MixedTests
Total tests run: 1, Failures: 1, Skips: 0
Configuration Failures: 0, Skips: 2.
But I want test should show as Skip instead of Failure.


Settings UI to change the editor main font

Consolas is great, but I prefer to work in a different font. It's possible to hack around the current font-family constant with browser extensions, but it'd be nice to have first-class support for this setting in the editor UI.
If this is not already in the works I'd be interested in working on a PR. Let me know if you've already thought through the design for this or related features.

I don't plan to offer much customisation. I'd like to offer a cohesive consistent but definitely opinionated experience. Sorry about that :-/ but hope you find it useful still :rose:


How to handle multiple navigation elements on page?

Hi,
currently working on integrating infinite-scroll into a page that has multiple navigation elements.
to be exact: 4.
2 on top of the page, 2 in the bottom. 1 of the 2 is on the page for mobile devices, these are hidden on a desktop and vv.
Currently infinite scroll is limited to handling (hiding / showing) only one navigation element: the first it finds.
In my case this will leave the bottom navigation visible.
So I am looking if there is a way out-of-the-box (that I missed in the documentation) to have infinite-scroll handle all navigation elements.
What would be the best way to do this? Would that require a change (feature) in infinite-scroll?
Thanks in advance for thinking along :)

The easiest way to address this issue is to hide the navigation elements with your own JS, and not rely on Infinite Scroll's hideNav option
$('.container').infiniteScroll({
  // do not enable hideNav
});

// hide all .page-nav elements
$('.page-nav').hide();

Top,
I implemented it as a onInit function. this way the navs are only removed when infinite-scroll initializes.
just posting here for reference (when somebody is looking for a similar solution)
onInit: hideNavs()

and the function:
function hideNavs() {
	// remove all navigation lement on page
	var nav = document.querySelectorAll(ochInfiniteScroll.hideNav),
	i = 0,
	l = nav.length;

	for (i; i < l; i++) {
		nav[i].style.display = 'none';
	}
}


Incorrect breakpoint in curric picker

Description
Fixes invalid causing close button to be visually clipped (hidden) in the UI
Issue(s)
Fixes CUR-1144
How to test

Go to https://deploy-preview-3067--oak-web-application.netlify.thenational.academy/teachers/curriculum
Check subject phase picker breakpoints for visual errors (see  CUR-1144 for particular issue addressed)

Have QA'd this @rightsaidjames. Looks good to me when tested on Desktop.

Cool, let's merge it then 👍🏼

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


[BEAM-4866] Fix missing licenses.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---
---

Post review: @lgajowy @alanmyrvold

Sorry for missing the files in the review. LGTM (reviewed and tested).


[FEA][JSON] Respect allowNumericLeadingZeros in from_json

Is your feature request related to a problem? Please describe.
Our implementation of from_json supports leading zeros for numeric values, but Spark does not support this with the default setting of allowNumericLeadingZeros=false, so we are not compatible.
Describe the solution you'd like
We should respect this setting, or fall back to CPU if the schema asks for numeric values and allowNumericLeadingZeros=false.
We have a test test_from_json_struct that contains a reference to this issue and should be updated once this issue is resolved.
Describe alternatives you've considered
None
Additional context
None

I thought we would treat this like other format parsing. We ask CUDF to return the data to us as a string with an indication if it was quoted or not. Then we can parse it ourselves with our own checks for leading zeros or not. Unless we can convince cudf that they want this to be a feature on their parser too.


Getting "CredentialContainer request is not allowed" when trying to create a second passkey

Describe the issue
First, thanks for this library. I did it by hand for a demonstration and this just makes webauthn so much easier to use. On our system, we have 3 workflows with passkeys- register a passkey as a new user, login with an existing passkey, and register a new passkey as an authenticated user. I have the first two flows working great, but I'm having trouble on the third flow. In this case, we've issued the user a JWT authentication token, and they make an API call to the server and ends up making a call to generateRegistrationOptions(). We generate a challenge and store it in Redis connected to their internal user ID, and lookup all the existing passkeys they have registered with us from the DB; currently, only 1. The credentialID of those passkeys is added to excludeCredentials along with the transports, as per your examples.
This is returned to the client, but the startRegistration() call is failing with a NotAllowedError: CredentialContainer request is not allowed.
Removing the excluded credentials on the server side doesn't change anything. Removing the passkey from the OS allows me to re-register, although some refreshes are usually needed.
Reproduction Steps

Create a passkey on firefox with the default settings
Try to create a second passkey using the same settings and a different name
startRegistration fails with NotAllowedError

Expected behavior
startRegistration() should offer to create a new passkey
Code Samples + WebAuthn Options and Responses
Here's a sample registration JSON from generateRegistrationOptions(); excludeCredentials is populated on the logged-in version but it doesn't make a difference, only the presense of a passkey in the OS.
{"challenge":"DL46LBPuhMmtVAd-LeYW-BLhSNFagZLQo97Ph8q6Nrk","rp":{"name":"Snickerdoodle Labs","id":"localhost"},"user":{"id":"HWynNy3Cc45A6tbXr9Evar8Y7tVtrOvH1XaUeF7Uk1w","name":"TEST","displayName":""},"pubKeyCredParams":[{"alg":-8,"type":"public-key"},{"alg":-7,"type":"public-key"},{"alg":-257,"type":"public-key"}],"timeout":60000,"attestation":"none","excludeCredentials":[],"authenticatorSelection":{"residentKey":"preferred","userVerification":"preferred","authenticatorAttachment":"platform","requireResidentKey":false},"extensions":{"credProps":true}}
Dependencies

OS: Windows 11
Browser: Firefox
Authenticator: Windows default (Hello?) See additional context

SimpleWebAuthn Libraries
<EMAIL_ADDRESS><EMAIL_ADDRESS>Additional context
One thing I can't figure out is that when registering a passkey, I get no options. It only asks me to put in my PIN, and never asks where I'd like to save the passkey. I'm just using the default AuthenticatorSelection options from the example, so:
residentKey: "preferred",
userVerification: "preferred",
authenticatorAttachment: "platform",
But I'd like to store the passkey on my Yubikey and am never given an option. I think this may be why it's not allowing the creation of a second passkey, even with a different username. Obviously, there's something about the authenticator selection options I'm not grasping.

Oh, and BTW, in your docs, there's another bit that goes completely over my head. In the Authentication Flow you describe, you already know who the user is, which seems to me like it requires the user to be already authenticated. That seems circular. I know there's a case, and we'll be using it, for doing the authentication flow with an already authenticated user. Particularly with a custom challenge, for doing some interesting crypto signature verification stuff. But even tearing apart the sample repo has me still confused on this one. In my implementation, I leave allowedCredentials as [], and just lookup the passkey in my DB based on the credentialId, so you should be able to just walk up and login with any known passkey, assuming I could register multiples...

Here's the JSON from generateRegistrationOptions() for the second passkey:
{"challenge":"WKm30aJOa_ZC2rsDhOaXAm2lV12k42Oxt82V8F-SW7E","rp":{"name":"Snickerdoodle Labs","id":"localhost"},"user":{"id":"LstQsgCZZByMR12d8jwW4NBlbk1YlwfqAsDfFljg62U","name":"/Foo","displayName":""},"pubKeyCredParams":[{"alg":-8,"type":"public-key"},{"alg":-7,"type":"public-key"},{"alg":-257,"type":"public-key"}],"timeout":60000,"attestation":"none","excludeCredentials":[{"id":"6PVU1plCxVrtGHu0_92N3hyz3Nuud3pfcoTHx2pugKc","transports":[""],"type":"public-key"}],"authenticatorSelection":{"residentKey":"preferred","userVerification":"preferred","authenticatorAttachment":"platform","requireResidentKey":false},"extensions":{"credProps":true}}

I changed the AuthenticatorSelection options to residentKey: "discouraged",
userVerification: "discouraged",
authenticatorAttachment: "cross-platform", and I get the option to save the key on my phone or yubikey, but NOT locally. Seriously, shouldn't I be able to put it where I want it? However, these changes made no effect on creating a second key.
I swapped over to Chrome, and I got different behavior, but similar is some ways. In chrome I can create the first key, and then it does try and let me create a second key. In this case, the failure is in the authenticator on my phone; it simply says, "Can't add a passkey for Snickerdoodle Labs". I'm wondering if it won't allow multiple passkeys for the same relying party?
Sorry for the extended dialog, it may simply be that I'm misunderstanding something fundamental about webauthn here. We've torn apart the clientDataJSON and extracted the keys for validating blockchain transactions but simply the act of creating and storing passkeys is screwing me up!

Removing the "authenticatorAttachment" param fixed the key storage location stuff, I can now store it both locally or on my phone/yubikey. Got that figured out.

OK, I got it figured out. It failed on Firefox because with the authenticatorAttachment set to anything, it can only create 1 passkey per authenticator. This is the same on Chrome, but in FF, it fails before it shows you the dialog. On Chrome, this would go through to the authenticator and fail there. FF is just a tad smarter it seems. Once I cleared the authenticatorAttachment, I was able to make a passkey on my local machine and another on my phone, and everything works just dandy.


Smaller packages - QFN or BGA

Hi @ataradov,
could you please suggest components that take less space and provide the same functionality? I mean are there compatible parts Cypress CY7C68013A MCU, Lattice LCMXO2 FPGA in QFN or BGA packages?
I understand that these part will impact the necessary skills to solder the components at home.
However, it would be nice if it could be fitted into smaller form factor like Framework module.
https://github.com/FrameworkComputer/ExpansionCards/tree/main/Mechanical

CY7C68013A is available in QFN-56 and it should work exactly the same.
XO2-2000 is available in 132 pin BGA package. I don't know if the same pins are available on this package, FPGA project changes would likely be required.
At the same time, physical dimension are defined by the target connectors. Their layout is fixed and limited by the cable connectors. You can't place them much closer or make USB-A connector smaller.
Plus I don't see what is the benefit of making that a module. The sniffer is meant to be an external tool.

Thanks for the components. Yes, probably there would be need to generate new bitstream for the FPGA.
Sure, the connectors can be downscaled and in theory it does not matter as you say it should be used externally.

Note that the existing CY7C68013A-56PVXC IC has been marked as end of life.

I would expect them to be available for a long time and there are at least 3 different clones. All the new stuff from Cypress is in unusable packages, so I'll pass on moving on to that.


etcdserver: serializable transactions

Support case where txn doesn't have to go through quorum.

lgtm.

lgtm

merging on greenlights

failing on unrelated race, merging anyway


CONVERSATIONCLIENT.getSubscribedConversation doesn't update instantly

When a user leaves a conversation, the CONVERSATIONCLIENT.getSubscribedConversation method still shows that chat.

Could you provide logs where this issue is reproduced please?

@furqansays  - can you please provide the logs requested by @rusmonster? Thank you!

Closing giving lack of input from user. Thank you, and please open a new ticket in case you get back to this @furqansays!


Double quote doom binary location

This allows 'make quickstart' to work on Windows when using GNU make (appreciate Windows isn't officially supported)

I don't mind accepting this PR, but I use GNU make on Linux and MacOS, and it has never complained about DOOM not being quoted. Does GNU make on Windows behave differently?

Yes, this is what I get when not quoted and running make quickstart from within .emacs.d:
'bin' is not recognized as an internal or external command, operable program or batch file. make: *** [quickstart] Error 1
Which is making it difficult to script as part of an automated installation.

Understood. Thanks for this!


PHOENIX-7104 Remove phoenix 4.x info from Connectors BUILDING.md

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
2m 25s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

_ Patch Compile Tests _

-1 :x:
markdownlint
0m  0s
The patch generated 2 new + 15 unchanged - 14 fixed = 17 total (was 29)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

_ Other Tests _

+1 :green_heart:
asflicense
0m 16s
The patch does not generate ASF License warnings.

3m  2s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-112/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix-connectors/pull/112

Optional Tests
dupname asflicense markdownlint

uname
Linux f5ba90f8c755 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-connectors-personality.sh

git revision
master / a465c90

markdownlint
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-112/1/artifact/yetus-general-check/output/diff-patch-markdownlint.txt

Max. process+thread count
52 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-112/1/console

versions
git=2.7.4 maven=3.3.9 markdownlint=0.22.0

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


track: fix parsing fmtp attribute from a VLC generated SDP

I'm using vlc as a RTSP server:

vlc -I dummy --verbose=2 --loop $sample_file \
    --network-caching=1500 \
    --sout-all --sout-keep \
    --sout='#gather:rtp{sdp=rtsp://:8554/sample.mkv}'

which generates the fmtp attribute as follows:
fmtp:96 packetization-mode=1;profile-level-id=64001f;sprop-parameter-sets=Z2QAH6zZQFAFuwFsgAAAAwCAAAAeB4wYyw==,aOvjyyLA;
By splitting the string with ;, there will be an empty kv at the end of the substrings, which should be skipped.

merged, thanks


Errors on concurrent pipeline invocation

Hi. Thank you for the nice library. It helped me a lot.
In my project, pipeline operations are important for the performance.
However, I'm experiencing it causes errors when they invocated in parallel.
Here is a reproduction code example.
  for (let i = 0; i < 10; i++) {
    const key = `list_${i}`;
    await redis.del(key);
    for (let j = 0; j < 10; j++) {
      await redis.lpush(key, Math.random().toString());
    }
  }

  async function task() {
    const pl = redis.pipeline();
    for (let i = 0; i < 10; i++) {
      pl.lrange(`list_${i}`, 0, -1);
    }
    return await pl.flush();
  }

  await Promise.all([task(), task()]);

error: Uncaught (in promise) Error: Invalid state: unknown code: '0' (48)
      throw new InvalidStateError(
            ^
    at readReply (https://deno.land/x/redis@v0.32.1/protocol/deno_streams/reply.ts:37:13)
    at ...

I've debugged and found that the receiver stream of TCP is mixed up for concurrent pipeline calls.
Although I don't know this is a proper way, I made a fork to fix it and using this in my application.
I have pipeline invocations queued as well as the usual commands.
https://github.com/yahiro07/redis/commit/a334f96569218e55c3b75342c90d8fb098f7d1ea
I'm not sure if this is helpful as it relates to #412, #416.
Does it worth adopting? I might be able to help the implementation.
But please don't care this if you have a better thoughts on implementing auto-pipelining related features.
Thanks,
yahiro

@yahiro07 Oh, thanks for taking a look at this problem! Your changes look good. If you don't mind, could you open a PR for this issue? :pray:

Thank you for taking care.
I want to make a pull request.
By the way, I noticed my modification works well with Redis 7, but not works with Redis 6.
I'd like to spent a little more time to investigate this.

I've resolved the problem and submitted a PR.
Kindly please review it.


Using KaixinApi with scope got 401 invalid signature error from server.

Using KaixinApi with scope got 401 invalid signature error from server (without scope everything will be fine).
After 2 confusing days I figured out why minutes ago.
The scope should not be included in basestring for signature.
Solution is changing the sequence of lines in the method below.
https://github.com/fernandezpablo85/scribe-java/blob/master/src/main/java/org/scribe/oauth/OAuth10aServiceImpl.java#L55
Can oauth parameters for signature be selected by myself for the special cases like this?

I Think that google Apis require scope to be part of the signature. It's Kaixin that's not complying to the spec here...

Sorry, scope may not be the cause of signature error.
OAuthService service = new ServiceBuilder()
.provider(KaixinApi.class)
.apiKey(OauthConfig.kaixin001Key())
.apiSecret(OauthConfig.kaixin001Secret())
.signatureType(SignatureType.QueryString) // use header will got signature_error, it should be server's wrong I guess
.scope("basic create_records")
.callback(CALLBACK_URL)
.build();
Building like this should be working.
I think the issue can close now.

Cool :)
Note that 1.3.0 has a new 'debug' method that logs extra information for troubleshooting purposes :)


chore: Update to V24.2 pre and add feature flag

Explicit Form Filler dependency can be removed when we add the Form Filler to the platform.

Thank you very much for providing additional information about the environmental specifics! I see no other reason to not merge this PR. The added comments are just perfect in my eyes. 🙇


Going back to a playing playlist shouldn't change the play state

Currently if you start a playlist, then go back to the playlist list view, then back inside the playlist, the first song is started again from the start. IMO it shouldn't do anything.
I guess this ties into the (maybe configurable) idea of not auto-playing when going into a playlist, which would allow for browsing, helping #26 be even more useful.

I see your point options that could be done:

The simple one: Only append to the music view [VERY EASY]
Add a inspect view [Sort of like the search tab but in a playlist] [EASY - MEDIUM]
Implement multiple players in parallel that stops each others [VERY VERY HARD]

@Alphare What option would be the best ?

I'm not really familiar with the code architecture, but my naive approach is to make it so opening a playlist doesn't do anything (and you need to press enter or click on a song to start it), overriding the currently playing music as well as the queue (allowing you to go back to the previous songs, but forward logically through the new playlist).
Does that make sense?

@Alphare I implemented your suggestion. Can you tell me if everything is working as you expected? I also changed how I handle list so they are more reliable in the long run. Could you tell me if they still work for you.

Thanks for working so fast!
I've tested it and there is a bug: open a playlist (which should start the replay, even though we could argue this is not perfect, but I like it), then press ESC, open another playlist and hit enter/click any song on that playlist and you will be brought back to the first playlist with no changes in playback.
Sidenote: pressing ESC twice brings you back to the playlist view again. I'm not sure if this is old behavior, but I find it somewhat confusing. IMO this behavior could stay if the "scroll view" and music player view had an obvious title or something.

Thank you for your feedback.

What should be the behavior when selecting a playlist when the player is empty?
I wasn't able to reproduce your issue, may you send screenshoots describing what you did and what should have happened. I probably misunderstood something you said
Pressing ESC brings to the player in the "Playlist inspector" and in the player brings to the "Playlist selector" so pressing twice does INSPECTOR -> PLAYER -> SELECTOR
Can you clarify the expected behavior?
Thanks again you've definitely the one that made this project able to go from a side-project to a usable app.

* What should be the behavior when selecting a playlist when the player is empty?

IMO the current behavior is good for "least surprise", in that it defaults to playing music when you're starting to use the app. Can you confirm this is the currently intended behavior?
Maybe there could be a config option to do nothing until a song is explicitly chosen by the user even if the player is empty, I'd argue some people might want that.

* I wasn't able to reproduce your issue, may you send screenshoots describing what you did and what should have happened. I probably misunderstood something you said

Open Ytermusic
Choose playlist (playback starts)
Press ESC (back to playlists)
Move to another playlist ("select" screen appears)
Pick a song by pressing enter or clicking (back to playlist A, playback isn't affected)

That last step I would expect to move me to the player screen with the clicked song playing, with the rest of the playlist  being replaced by the old one. If that still isn't clear I'll try creating a screencast of sorts.

* Pressing ESC brings to the player in the "Playlist inspector" and in the player brings to the "Playlist selector" so pressing twice does INSPECTOR -> PLAYER -> SELECTOR
  Can you clarify the expected behavior?

IMO pressing ESC should be "go back to the previous UI state" kind of shortcut, otherwise you always need to remember the context in which you're in to know where ESC will take you next. So I would expect it to do either INSPECTOR -> PLAYER -> INSPECTOR or INSPECTOR -> PLAYER -> (nothing).

  Thanks again you've definitely the one that made this project able to go from a side-project to a usable app.

Thanks for all the work, I'm glad to help, you're making the player I've been too busy (or lazy) to make for a long time. :)

IMO the current behavior is good for "least surprise", in that it defaults to playing music when you're starting to use the app. Can you confirm this is the currently intended behavior?
Maybe there could be a config option to do nothing until a song is explicitly chosen by the user even if the player is empty, I'd argue some people might want that.

It is the intended behavior but I can add a config option.

That last step I would expect to move me to the player screen with the clicked song playing, with the rest of the playlist being replaced by the old one. If that still isn't clear I'll try creating a screencast of sorts.

I fixed that behavior. I did the system so it's coherent with the search (You select a music and it doesn't start playing but is pushed in the queue)

IMO pressing ESC should be "go back to the previous UI state" kind of shortcut, otherwise you always need to remember the context in which you're in to know where ESC will take you next. So I would expect it to do either INSPECTOR -> PLAYER -> INSPECTOR or INSPECTOR -> PLAYER -> (nothing).

This is a little more complicated has the current system doesn't use pagination (Since historically they were only two menus there was no need for it. But now I'll maybe reconsider implementing a proper pagination system (At least for the inspector).
I also updated the design of the inspector view to be more coherent and nice.

ed2ee3487e56b767aeb59d063e1b6a6f0283726c
18a825b5ea1857d7f4cca085c4fb3375213288f5

It is the intended behavior but I can add a config option.

Cool, sure. :)

I fixed that behavior. I did the system so it's coherent with the search (You select a music and it doesn't start playing but is pushed in the queue)

The fixed behavior seems correct to me! I'm not sure what to believe since your sentence in parentheses means the opposite of the behavior I'm observing? It does start playing when you click it. Anyway thanks for being so fast.

This is a little more complicated has the current system doesn't use pagination (Since historically they were only two menus there was no need for it. But now I'll maybe reconsider implementing a proper pagination system (At least for the inspector).

Sure, no problem. Something that should be easy to implement is having a navigation shortcut to go each screen. I'm not exactly sure if the main shortcut namespace is too cluttered already or if having a chord (modifiers like ctrl, etc.) or even a vim-like modal system would be the best. Probably easy to try and see how it feels!

I also updated the design of the inspector view to be more coherent and nice.

Thanks! I've actually noticed that the inspector view and the player view don't display song names in the same manner, making the switchover quite jarring/confusing: the music player displays in the form of <artist> | <song> whereas the inspector view displays <song> | <artist> (album if available).

Oh, here's a fun bug:

Play a song
Seek near the end of the song
Go the the playlist selection screen
Inspect another playlist (not sure this is needed)
The song playing in the background finishes, but the next song doesn't start until you go back to the music player view.

@Alphare Real navigation is now in YTerMusic + Search for playlist (Can you tell me if everything works as expected) Maybe I should create a discord it would be easier...


Fix splines crashing with all-tail inputs

This PR fixes issue #23: unconstrained spline transforms crashing when they encounter input that is entirely outside the [-tail_bound, tail_bound] region. It does this by adding a single line of the form if torch.any(inside_interval_mask): to all unconstrained_*_spline() functions.
It also adds corresponding unit tests in tests/transforms/splines/*_test.py.

Just checking in @arturbekasov : is there anything else you'd like me to do for this PR?

LGTM. (Sorry it took me a while to get to this!)


Difference Op does not work properly

Difference on a superset with a subset does not work. minimal reproduce workflow:

Discussion 2022.05.19: @Yicong-Huang will fix it