CLOUDSTACK-10012: Towards CloudStack fat jar

From https://github.com/apache/cloudstack/pull/2207
I've moved the branch to ASF remote to allow cross-collaboration between ACS committers. Feel free to discuss and push your changes in this branch.
@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✔debian. JID-927

@blueorangutan ubuntu kvm-ubuntu

@blueorangutan test ubuntu kvm-ubuntu

@rhtyd a Trillian-Jenkins test job (ubuntu mgmt + kvm-ubuntu) has been kicked to run smoke tests

Travis green, so at least the mvn side of the world works: https://travis-ci.org/apache/cloudstack/builds/261836210 :)

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

For postmortem, there are comments on this change in the linked PR #2207

Packaging result: ✖centos6 ✖centos7 ✔debian. JID-928

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-930

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✔debian. JID-934

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-935

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian.  We have to change the DbUpgrade process to not load File but return an array of InputStream since we have to load those files from inside the JAR.

@rhtyd The DB files are kept out of the jar. Any opinion on that one if we should keep them outside (due to some possible customization for providers/plugins) or should we include them in the META-INF directory of the jar?

@marcaurele I think we need to consider and discuss three things;

Whether to bundle the UI within the jar, or provider a webapp path to say /usr/share/cloudstack-management/webapp, in this directory we copy the UI asset files. This would allow admins to put their customizations. A solution could be to do both, so the fat jar has the UI files and however ServerDaemon would set the webapp path to the /usr path by default (if available) and fallback to assets in the jar when not found.
The DB files are kept out of the jar in case someone want to fix any upgrade failure issue. It's kind of subjective. My opinion is to bundle them in the jar, which reduces file management and opens scope for changes to the sql paths.
In addition, a lot of people may want to consume additional jars (plugins etc) which is why bounty castle and other jars may be put at /usr/share/cloudstack-management/lib. When mgmt server starts, we scan and include all the jars at this path in the classpath, with them first in the order in case someone want to overide any bundled jar etc.

@rhtyd

I will add a startup parameter -Dwebappdir=... to let the user change the path location instead of trying to guess things. Then if the path is incorrect at least it will return an error instead of loading the default UI. IMO it's better.
I'm in favor to bundle them inside the JAR. It's best for people customizing the installation to have an extra module where they do what they need, instead of editing files from the official releases.
+1 for the JARs ordering, that make sense for customization of the install with extra jars.

I'll push some of the changes today.

@rhtyd I cannot push to this branch

@marcaurele perhaps you don't have commit rights yet, can you send a PR to the asf branch CLOUDSTACK-10012 and ping me I'll merge your changes right away

Related to 42d9297178e6d8cd3fbfc1785b8905cc7e99534b, I forgot to remove the jetty. in the class javadoc of ServerDaemon- if you could do it, thanks (PR seems overkill)

Thanks @marcaurele, sure will do that. These days I'm down with some £dayjob project work but I've planned to resume working on this PR after next ~2 weeks.

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@marcaurele I've resumed working on this now. I've squashed changes by authors, after painfully going through 27+ commits while rebasing against the latest master, hope you don't mind. I did not see any classes being overwritten for bountycastle and hence removed it from the exclusion list, do you think that could cause any issues? I'm exploring some ways to further improve the ServerDaemon launcher by using a customer properties or yml file that can be used as a single point to configure ports, listening interfaces, https, keystore etc.

Packaging result: ✖centos6 ✖centos7 ✖debian. JID-1162

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1163

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1164

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✔debian. JID-1166

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@rhtyd You must exclude bountycastle due to the Java security mechanism that validates all JCE providers jar, to avoid manipulating those. Otherwise you'll get an exception when reaching the code that uses bouncycastle lib JCE cannot authenticate the provider BC

@marcaurele I tried running marvin tests (CA tests around security, cert generation etc) they are passing and I saw no failures or exceptions, can you suggest a way to reproduce the error?

Packaging result: ✖centos6 ✖centos7 ✔debian.  I must have corrected the exclusions list of the shaded jar afterwards.

@marcaurele you may see list of shaded jars included/excluded from the build output, the excluded list currently has few jars. I checked the bountycastle jar is shaded without including the keys from META-INF (signed content), perhaps this is why we're not seeing the exception. With this, do you still think this may cause issues in future and we should not shade the bountycastle jars?

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✔debian. JID-1168

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

IMO it's cleaner to keep bouncycastle out of the shaded jar, to keep the JCE security checks.

@marcaurele I agree, I've already made changes to put the bcprov jars in a separate lib folder that's included in the class path. The only external jar dependency is the distro-provided mysql-connector-java, due to licencing issues for normal builds this dependency cannot be shaded with the uberjar.
Other changes I did so far are:

Remove unnecessary dependencies, reduce uber jar size
Work-in-progress single yml file based configuration, instead of passing flags to ServerDaemon
In-built webapp UI assets in uberjar, and additional editable webapp folder at /usr/share/cloudstack-management for UI plugin installation, UI edits etc
WIP SSL keystore/cert management

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1169

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1175

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1176

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✖debian. JID-1177

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1178

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1180

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1181

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1183

This is ready for review now, I've personally tested this on CentOS6, CentOS7, Ubuntu 14.04 and 17.04. Pinging for review -- @marcaurele @wido @PaulAngus @DagSonstebo @DaanHoogland @nvazquez @borisstoyanov @resmo @karuturi @fmaximus @GabrielBrascher @rafaelweingartner @ustcweizhou @NuxRo
New configuration file updates/changes:

/etc/cloudstack/management/server.properties - single file to configure ports, webapp directory, http/s configurations, webapp context path etc.
Environment configuration set at /etc/default/cloudstack-management (CentOS accepts having env conf files at /etc/default, while Ubuntu uses this path most of the time)

High-level changelog:
- Changes packaging to shaded jar
- Updates jetty dependencies version 9.2 (java 7+)
- Initial changes to debian config files
- Initial removal of tomcat dependency
- Introduce ServerDaemon class with customizations
- Migrate to embedded Jetty server
- Improve ServerDaemon implementation
- Introduce a new server.properties file for easier configuration
- Have a single /etc/default/cloudstack-management to configure env
- Reduce shaded jar file, removing unnecessary dependencies
- Upgrade to Spring 5.x, upgrade several jar dependencies
- Does not shade and include mysql-connector, used from classpath instead
- Upgrade and use bountcastle as a separate un-shaded jar dependency
- Remove tomcat related configuration and files
- Have both embedded UI assets in uber jar and separate webapp directory
- Refactor systemd and init scripts, cleanup packaging
- Made cloudstack-setup-databases faster, using `urandom`
- Remove unmaintained distro packagings

Packaging result: ✔centos6 ✔centos7 ✔debian.  We might just need a tad more testing but LGTM otherwise

LGTM - thanks @rhtyd for all the extra work

@borisstoyanov thanks, with embedded Jetty until the management server starts the embedded Jetty server does not start to listen on http/https ports which is why you get connection refused quite promptly.
Have you also performed in-place upgrade tests, i.e. say upgrading from 4.9.3 to 4.11/fatjar? We can leave reviewing other PRs until this is well tested and merged first. Thanks again.

@borisstoyanov I think there is still some additional work left in #2247, this PR is not dependent on #2247, so we should test in-place upgrades from 4.9/4.10 to rpms/debs from this PR. Thanks, looking forward to your test results and comments.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1188

Why are we using JSVC in the systemd scripts? I know we need this in the init.d/sysvinit scripts, but it's not required by systemd.
Any reason for that?

@wido we want to use the same rpm/deb build scripts and packages to work which is why I've made them to use jsvc for now. For example, this allows the same deb pkg to work on Ubuntu14.04+older versions.
I refactored the systemd service scripts for both centos and ubuntu -- this allows the systemd scripts to be same for all systemd enabled distros, however in my testing against centos, I found that ExecStartPre=/bin/bash -c "/bin/systemctl set-environment JARS=$(ls /usr/share/cloudstack-management/lib/*.jar | tr '\n' ':' | sed s'/.$//')" did not work as expected when user was cloud and Type=simple, so I changed it to run as root user which can set the env variable and use jsvc to fork the child process to run as cloud user.  I've also noted in the limitation/future work that we may want to get rid of this in future (i.e. move to systemd+java directly).

Understood @rhtyd ! Thanks for the feedback

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1189

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

I just checked, building DEB files worked flawlessly. cloudstack.jar is 73M in size. Good!

Thanks @wido, is that a LGTM on this PR?

 This is ready for merge now.
@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@borisstoyanov okay I'll look into it

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1201

Yes, LGTM from me.
I tested a clean install on Ubuntu 16.04 with MySQL 5.7 ( https://blog.widodh.nl/2017/04/apache-cloudstack-and-mysql-5-7/ )
May I however ask that in server.properties  this is set:

# The binding interface used by the management server
bind.interface=::

This will make sure that the server also listens on IPv6

Thanks for testing and reviewing @wido.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1203

I've confirmed manual upgrade (in-place) testing, from ACS <IP_ADDRESS> -> <IP_ADDRESS>-SNAPSHOT. Worked as expected, other than seeding systemvmtemplates, the upgrade worked without issues, the old tomcat files are not removed. I'll update upgrade/release notes on the same after this PR gets merged.

LGTM, merging based on reviews, tests and upgrade-tests.


Recommended sidecar container cpu/memory limits limits?

Note: If you have a general support question and are looking for a quicker response, please checkout our discord channel for answers from the community:
https://aka.ms/dapr-discord
In what area(s)?
/area runtime
Ask your question here
What is the recommended  sidecar container cpu/memory limit?

@saber-wang Please see production guidelines documentation. https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-production/


Capture/Apply Function Data Types: handle namespaces

Is your feature request related to a problem? Please describe.
When trying to import function signatures between programs with the capture/apply function types mechanism, functions with the same name but different namespaces get labelled as "conflicts" and are applied improperly. Or at least, that's what it looks like to me; this is from importing the entirety of QT5Core with DWARF info into Ghidra, capturing the data types, and trying to apply them to something -- a large number of classes in QT share similar members (like "value), and all of them end up with the same (mostly incorrect) signature in the target binary.
Describe the solution you'd like
Instead of ignoring namespaces, why not translate namespaces into folders in the data type archive? That would mostly solve the issue in my case.
Alternatively, it could instead record mangled names and match against those.
Describe alternatives you've considered
I couldn't find any other feature that seems to automatically copy function signature data between binaries.

Namespaces should translate into folders in the data type manager when imported via DWARF.
I would have to take a look at your binary to see if there were some shenanigans going on with the DWARF info.

Ah, maybe I was a bit unclear. The DWARF import goes fine, it's when I try to capture function data types it goes wrong:

If you have a number of functions with identical names but in different namespaces, you get a whole bunch of "conflicts" upon capturing them. Then, when you try to apply them to a new program, every function with the name (e.g.) "append" gets resolved to whichever one came first in the original binary, and you end up with nonsense getting set as signatures.

if you are seeing all these append function defs in the same folder after the DWARF import, then the namespace info wasn't found correctly, or the parameter lists are different.
It it were just a few .conflicts, an overloaded function would be the most likely explanation (ie. append(int), append(float), etc) but in this case, there might be a lower-level conflict in whatever types are used as arguments to each append.
If you turn on the preview pane and highlight each append definition, you might be able to see if there is a parameter that is conflicted, causing the follow-on conflict of the function definition.
Just as an fyi, eliminating duplicate types is one of the main issues with importing DWARF.
Also, when importing the DWARF, if you turn on the options in the DWARF analyzer to tag the imported items with DIE info and source info, you will see a bit more info on most of the types.
If on the other hand this is something that is happening after whatever followup operation you do to 'capture' them, then you would need to explain what you mean by 'capture'.

By capture, I mean the "Capture Function Data Types" item that lets you take all the currently defined functions and squirrel them away into a data type archive, as implemented here.
The DWARF import itself is fine, I only mentioned it since that was my use case (taking debug data from a shared library with debug data and using that to annotate the imports of a different binary)

doh.  I see now.  I had not used that feature yet.
I can confirm that "Capture Function Data Types" doesn't seem to be preserving namespace info.


Please fix deprecated annotation in Ingress samples

annotations:
kubernetes.io/ingress.class: azure/application-gateway
That annotation seems deprecated. Replaced by
spec:
ingressClassName: azure-application-gateway
Please fix all the samples.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: be6f5f5f-6567-b685-004b-e7b537f0934f
Version Independent ID: f8623293-7ede-ec51-d25d-3f0389edbd08
Content: Application Gateway Ingress Controller annotations
Content Source: articles/application-gateway/ingress-controller-annotations.md
Service: application-gateway
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@chitturs
Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.
@greg-lindsay just an FYI

Closing this request and moving to internal work item 91165
#please-close


Type System.String cannot be converted to type System.Collections.ArrayList

Hi,
during deployment of two Exchange nodes I get this error:

Kind regards
Marcel

what Version of VMware are you running ?
does Setup continue from that step ? ( the process is waiting for Tools running and Looks like the return value is not initialized properly )

VMware Workstation 12.5.7.
Setup does continue.

vixed with new version


Documentation

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.36%. Comparing base (43c54ea) to head (c509176).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #103   +/-   ##
=========================================
  Coverage     88.36%   88.36%
  Complexity      117      117
=========================================
  Files            13       13
  Lines           421      421
  Branches         68       68
=========================================
  Hits            372      372
  Misses           17       17
  Partials         32       32

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Hitbtc limit order problem

Hi again,
So i'm trying to place a limit order with hitbtc. But i keep getting this error
THE ERROR:
TypeError: "%.10f".sprintf is not a function
at /home/g666nz/Desktop/currycoinsV/currycoin0 .5/Applications/userServer/node_modules/ccxt/build/ccxt.es5.js:15536:46
at process._tickCallback (internal/process/next_tick.js:103:7)
THE CODE:
try{                     let ob = await newOrder[exc].createLimitBuyOrder ("ETH/BTC", 0.141, 0.071, { 'timeInForce': 'FOK' });                     console.log(ob, ob.info, ob.id, ob.info.price, ob.info.exchange);                     self.json({status:ob});                 }catch(err){                     console.log(err);                     self.json({status:'fail'});                 }
Any idea what i'm doing wrong??

Hi! Thx for reporting this! It's a formatting bug and it it now fixed in version 1.6.72+.
Sorry for the inconvenience and, as always, thx for your feedback! We really appreciate it!


Add Secp256k1-zkp support

Add zkp support to the library. Using an already developed go library would be ok to start. Eg. https://github.com/olegabu/go-secp256k1-zkp

I tried to import the lib in a new project and it seems to work as expected.
This is my simple main.go so far:
package main

import (
	"crypto/rand"
	"fmt"
	"os"
	"unsafe"

	"github.com/olegabu/go-secp256k1-zkp"
)

func exit(err interface{}) {
	fmt.Println(err)
	os.Exit(1)
}

func main() {
	ctxNone, _ := secp256k1.ContextCreate(secp256k1.ContextNone)
	defer secp256k1.ContextDestroy(ctxNone)

	var valuebytes [8]byte
	valueLen, err := rand.Read(valuebytes[:])
	if err != nil {
		exit(err)
	}
	value := *(*uint64)(unsafe.Pointer(&valuebytes[0]))
	fmt.Printf("value=%v, valueLen=%v\n", value, valueLen)

	var blind [32]byte
	blindLen, err := rand.Read(blind[:])
	if err != nil {
		exit(err)
	}
	fmt.Printf("blind=%v, blindLen=%v\n", blind, blindLen)

	comNone, err := secp256k1.Commit(ctxNone, blind[:], value, &secp256k1.GeneratorH, &secp256k1.GeneratorG)
	if err != nil {
		exit(err)
	}
	fmt.Printf("comNone=%v\n", comNone)
}

It correctly prints a random value, a blinding factor and pedersen commitment, so this means that this lib is usable, a little at least.
My next step will be to try to test all fixtures of our tests for the secp256k1-zkp lib for js in order to check that these go functions actually return the expected values (those fixtures are taken from the native C version).
IMPORTANT
I already noticed that there is no wrapper for the methods of the native rangeproof module and this is something that we must provide.

Thanks @altafan
Yeah I think it's worth to use it for the time being to jump start the support and making a wrapper for only the rangeproof it's not a big deal and we could contribute to them.

Yeah that could definitely be a solution.
One thing I forgot to tell in the previous comment is that using the library produces an annoying warning in the terminal:
In file included from $GOPATH/pkg/mod/github.com/olegabu/go-secp256k1-zkp@v0.2.8/secp256k1.go:21:
In file included from $GOPATH/pkg/mod/github.com/olegabu/go-secp256k1-zkp@v0.2.8/./secp256k1-zkp/src/secp256k1.c:709:
$GOPATH/pkg/mod/github.com/olegabu/go-secp256k1-zkp@v0.2.8/secp256k1-zkp/src/modules/surjection/main_impl.h:211:9: warning: comparison of nonnull parameter 'proof' not equal to a null pointer is 'true' on first encounter [-Wtautological-pointer-compare]
$GOPATH/pkg/mod/github.com/olegabu/go-secp256k1-zkp@v0.2.8/secp256k1-zkp/include/secp256k1_surjectionproof.h:219:3: note: declared 'nonnull' here
$GOPATH/pkg/mod/github.com/olegabu/go-secp256k1-zkp@v0.2.8/secp256k1-zkp/include/secp256k1.h:152:54: note: expanded from macro 'SECP256K1_ARG_NONNULL'

By investing more in deep, I found that this CGO porting is based on the mimblewimble C implementation of secp256k1-zkp, that, of course is similar, but has some difference compared to the elements one 😞.
One little but substantial difference, for example, is in the secp256k1_perdersen_commit function, that in the mimblewimble version expects 6 arguments while in elements it expects 5. It seems to me that a the one missing in elements is automatically calculated/derived from the context, but it's hard to say now. And I did not finish checking all the native methods yet.
It may be better to write our own porting and import all the reusable code?

I think we should investigate with same test vectors of elements zkp and see if the functions we need pass those.

Consider that some of the test vectors of the elements zkp are not suitable for the function of the mimblewimble version since the implementations are slightly different.
As I said before, even if the same methods of these 2 libs eventually return the same results, they may differ in the number of arguments expected, so this would mean studying another implementation to understand how to correctly use them and provided new test cases.
And still, we would need to implement bindings for the secp256k1_rangeproof module.
I think that this effort would be bigger than just reuse the bindings from https://github.com/olegabu/go-secp256k1-zkp and adapt them to work with the elements zkp lib:

we already have confidence with this implementation
we have test vectors that we can trust


Need to scale label fontsize dynamically

Question: Is it possible to get notification from ScottPlot of a change in plot scaling to dynamically scale some labels?
ScottPlot Version: 5.0.43 with Maui
Code Sample:
I've tried a couple of approaches ...
        MauiPlot.Plot.Renderer.AfterDraw += (plt, dims) =>
        {

        };

        mauiPlot.Plot.AxisChanged += (s, e) =>
        {

        };

and looked through the demos. Can't seem to find how to do this. Any suggestions appreciated!

This should help! You can customize font size based on width and/or height of the figure or data area in pixel units
https://scottplot.net/faq/render-starting/#dynamic-styling

I will reopen this issue to track adding an extension method to make this easier... But the render pack has a DataRect with a Width you can divide by Axes.GetLimits().Width or something like that to get scale in px/unit

Yes, GetLimits works well. Just wanted to be sure I wasn't missing something obvious!  Thanks for considering adding this.  Is there a 1 line way to get the X length? I'm using 2 lines
                var lmts = MauiPlot1.Plot.Axes.GetLimits();
                var lngth = lmts.XRange.Length;

Glad you reached a solution!

I will reopen this issue to track adding an extension method to make this easier...

Because the DataRect is generated dynamically based on the layout, I probably won't add properties like PixelsPerUnitX to RenderPack`, as users can calculate what they want at the time it's needed.

Completely understandable! I'm of the mindset that if the library is already calculating these quantities, performance is optimized and app is minimized if they're available to users, eliminating repeated calculations over several calls.


Proposed 1.4.0-b5

If merged this PR will:
close: #3019
close: #3052
close: #3069
close: #3070
close: #3081
close: #3082
close: #3087

Codecov Report

Merging #3090 into develop will decrease coverage by 0.02%.
The diff coverage is 73.26%.

@@             Coverage Diff             @@
##           develop    #3090      +/-   ##
===========================================
- Coverage    68.74%   68.71%   -0.03%
===========================================
  Files          686      686
  Lines        55820    55351     -469
===========================================
- Hits         38371    38034     -337
+ Misses       17449    17317     -132

Impacted Files
Coverage Δ

src/ripple/protocol/impl/BuildInfo.cpp
79.16% <ø> (ø)
:arrow_up:

src/ripple/protocol/Feature.h
100% <ø> (ø)
:arrow_up:

src/ripple/shamap/SHAMapTreeNode.h
100% <ø> (ø)
:arrow_up:

src/ripple/protocol/impl/Feature.cpp
91.66% <ø> (ø)
:arrow_up:

src/ripple/app/misc/SHAMapStoreImp.h
97.05% <ø> (ø)
:arrow_up:

src/ripple/nodestore/impl/codec.h
35.62% <ø> (+11.92%)
:arrow_up:

src/ripple/protocol/HashPrefix.h
100% <ø> (ø)
:arrow_up:

src/ripple/protocol/impl/LedgerFormats.cpp
100% <ø> (ø)
:arrow_up:

src/ripple/ledger/ReadView.h
100% <ø> (ø)
:arrow_up:

src/ripple/app/ledger/impl/BuildLedger.cpp
83.52% <ø> (+0.77%)
:arrow_up:

... and 17 more

Continue to review full report at Codecov.

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


NodeAdmin: Use NodeAgentContext in DockerOperations

Previously DockerOperations would run chmod -R a+w on some directories to make them writeable for the non-root node-admin. This is no longer needed, however, there are also some paths in there that were never used by node-admin. Not sure what to do with them?
logs/yca
var/scoreboards
var/yca
var/vespa-hosted/routing

(Under Vespa home)

Arrays.toList() returns an ArrayList that has no relation to java.util.ArrayList and is instead an AbstractList, so the .add() fails. Changed toList() from stream instead.


Execute bit set on /etc/passwd

I see that https://github.com/openshift/jenkins/blob/3c0b6e955eeff983ef36e4f11062351e3039411b/2/Dockerfile#L54 sets execute bit on passwd which should actually be 664. Is that a typo ?
I tried setting 644 which is usually the case with passwd files but found that run script fails when it executes generate_passwd_file

yes i think it should be 664.  Group permissions are needed to allow us to modify the file as non-root, but execute should not be needed.

was able to validate locally both starting up the image via docker run and logging in, as well as bringing up the image in an openshift pod
about to submit PR


Define what happens when trackers loose track

There is a chance that the cursor of a tracker gets removed from the graph in between runs, I don't think much bad happens but valid behavior is probably also not expected.
I think it's best to just report an error to the frontend and reset the tracker, realistically it shoudn't happen unless the chunked graph parameters are very small

WIth the new generational keys technically it should simply panic or fail when trying to access the graph with old keys, so safe to say nothing really happens :P


Tag proposals

There will be different types of tags.
Proposal type:

Development
Event
Maintenance

Status:

Working
Review
Delivered

[ ] Combine description and tag
[ ] Show status after tag

figma link
https://www.figma.com/file/cIcOZxD9Ctqdj4xc9Xoctm/doTreasury?node-id=1371%3A15826
preview

@YoshiyukiSakura will be the master of this issue

implemention done, ready to review


Convert Randy Olson's TSP algorithm into a usable Python module (DAND-heavy)

Here's Randy's iPython notebook
Ideally, this should be abstracted into functions or classes, such that they can be invoked from views.py (i.e. import olson).

I think it's also possible that someone from the IPND might be able to help with this, too.  Not sure--haven't taken it.


Create PROFILE.md

Add PROFILE.md
Why:
Closes [issue link]
What's being changed:

Check off the following:

[ ] For workflow changes, I have verified the Actions workflows function as expected.
[ ] For content changes, I have reviewed the style guide.

Add my first file


DAI - search by type of signs doesn't work

None of the restrictions by type of sign is working.

Gestures seem to be properly excluded when All Signs [excl. Gestures & CL is selected.
But otherwise the selections seem not to restrict the search.
Include compounds (only) works.
Include non-compounds (only) works.
Checking  both should show the full set of signs (the union of the above), but it shows nothing.
Selecting neither include compounds nor include non-compounds should show nothing, but instead shows everything.

With only Lexical signs selected, all kinds of signs are displayed.
Same for selecting only other types of signs.
Basically, this selection is just completely broken.

Fixed

A search for lexical signs includes fingerspelled signs in the results.

I checked the first two, and both are  correctly categorized as fingerspelled in the annotations.

WAIT A MINUTE - I just did this search again, and fs- signs are NOT showing up now !!
Please ignore the last entry.  weird.
This does appear to be fixed.  Sorry about that!


[awsJson1_x] Content-Encoding tests inconsistent with specification

Hi everyone. My team has noticed that there are tests around compression for the awsJson1_0 and awsJson1_1 protocols that are inconsistent with the specification.
These tests exercise gzip encoding in the context when the user has the possibility of providing a custom encoding via a member of the structure input annotated with @httpHeader("Content-Encoding).
However, the corresponding protocol specification makes it quite clear that http-binding traits must be ignored
Can you elaborate on whether the specification or the test is correct ?

Hi @Baccata, thanks for catching this issue! The protocol tests are invalid due to the reasons you mentioned, and a PR has been put up to fix them.

Hi @Baccata , #1831 has been merged, so the protocol test fixes will be available in the next smithy release.


sec: fix CVE-2019-11254, GHSA-77vh-xpmg-72qh, GHSA-c72p-9xmj-rx3w

Fixes:

CVE-2019-11254 gopkg.in/yaml.v2 => v2.2.8
GHSA-77vh-xpmg-72qh github.com/opencontainers/image-spec => v1.0.2
GHSA-c72p-9xmj-rx3w github.com/containerd/containerd => v1.4.12

closed in favor https://github.com/newrelic/infrastructure-agent/pull/907


php: re-enable mysql on release-16.03

This fixes #14351 and should be merged into release-16.03.
The issue was fixed by commit 464b56f.

You targeted this against the wrong branch.

@dezgeg sorry I reopened a new pull request: https://github.com/NixOS/nixpkgs/pull/14580


[BUG] Title missplaced when using circumference

When using options: { circumference: 1 * Math.PI } to get a half doughnut. The title gets missplaced (canvas is to big). Setting title padding doesnt help.
Expected Behavior

Current Behavior

I think this will solve the issue (there is another open issue to change this to a default of 2 for all charts).
let options = {
  aspectRatio: 2 // canvas default aspect ratio
}

This would override https://github.com/chartjs/Chart.js/blob/master/src/controllers/controller.doughnut.js#L15

AWESOME! thanks! :)


Author-topic LDA

Hi,
For author-topic model, could you please provide an example of showing topic of docs after model being trained?
I find only ways to show topic distribution of author and word distribution of topic, however, in my case, I care topic of docs much more.
Thanks.

In theory, it is not possible to infer the topic distribution of documents, since the AT model does not have any assumptions on that.
If you'd like to get some estimate of topic distribution, one possible alternative is to aggregate a topic assignment of word token in a document. For example, model.topic_assigned[0] will give you the assigned topic for each word token in document 0. Counting and normalising these assignments will give you some empirical estimate of topic distribution.


Removing 'All Good!' validation text and all exclamation points removed from alert text

When practical-form fields pass validation, they display a message reading 'All Good!'. I request that this message be removed entirely as it is unnecessary (messages that appear on validation failure can remain).
Additionally, if possible, where there is alert text displayed to the user in the code, I would like to request that exclamation points are removed from the text (can be replaced with a period or left without punctuation).

Thanks. This is related to #42. I will add a config option to both change the text and to turn off the messages.

Closed in Version 3.0.0


Uncaught TypeError: Cannot read property 'apply' of undefined common.es5.js

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.
Windows 7 Professional
@angular/cli: 1.0.4
node: 6.10.3
os: win32 x64
@angular/common: 4.1.3
@angular/compiler: 4.1.3
@angular/core: 4.1.3
@angular/forms: 4.1.3
@angular/http: 4.1.3
@angular/platform-browser: 4.1.3
@angular/platform-browser-dynamic: 4.1.3
@angular/router: 4.1.3
@angular/cli: 1.0.4
@angular/compiler-cli: 4.1.3

Repro steps.
npm -v
3.10.10

node -v
v6.10.3

npm install -g @angular/cli
ng new Angular4
cd Angular4
ng serve

The log given by the failure.
ng serve does not throw errors.
I would like to run a sample application provided in https://cli.angular.io/

Mention any other details that might be useful.
This is a fresh start. This system had no node/npm/Angular/CLI installed before.

i have same issue in ie11 only

I have same issue in ie11 and chrome. firefox is well.

Few more details:
Chrome Version 44.0.2403.157 m.
IE Version 11.0.9600.18638CO
This error occurs even when upgrading from Angular 2

I've just encountered this also.
Seems to be browser version dependent,
Serving a prod build from single web server.
browser running Chrome 44.0.2403.107 has problem
browser running Chrome 48.0.2546.97  ran it fine

Hi, just checking to see if there's any update on the issue...

I would also be interested in any update

Any update on that?

Anyone come up with a workaround?

Same problem.Is anyone solved now?

I tried running a CLI app created with the latest CLI version on IE 11 and could get it to run.
These are the important things you should do:

If you need to support IE11, make sure to uncomment the polyfills in ./src/polyfills.ts for the IE version you need.
Depending on the version of Angular CLI you use, some of the performance optimizations might not work on older browsers when running ng serve. These optimizations don't affect ng build as they are only meant for debugging during development.

To use a different server to serve the contents of dist/, you can install http-server:

npm install -g http-server
ng build
http-server dist/ (this serve the dist folder on http://localhost:8080/).

Although this is somewhat bothersome, it's not that common that developers use IE11 to debug their apps so we think the reduced rebuild time on ng serve is worth it.


Added event emit to setDate method

We required notification when a date picker has changed the value as ng-change does not capture the value programmatically and angular watchers were not triggering.
The emit fires a "datetime-picker-changed" event with the field id and the new date value. This has been tested with multiple date pickers - passing different details to the scope - on the same page (child and parent directives have a 1:1 relationship).
Updated README.md with attr details and package.json for typo.
minified JS updated using JSCompress.

How can I track this event?


CSR Subject from OPENSSL_CNF ignored

Hi Lukas,
First of all, great piece of code. I really, really like it.
In my certificates I like to have a complete Distinguished Name (Subject) containing, company name, state, locality and so on. Nothing really outstanding.
I was pleased to see that there is an OPENSSL_CNF variable in the config to link to a corresponding OpenSSL template.
Unfortunately, in your function creating your CSR (sign_domain(), line: 803) as you call openssl, you use the option -subj, which replaces whatever configured DN, with what you give then. In dehydrator's case, the common name only.
An easy fix to this could be instead of giving the CN to openssl via an argument, simply stick it into the temporary openssl config, you already have (tmp_openssl_cnf).
Let me know if you are interested in code contributions or prefer to fix "simples" like this yourself.
Greets,
Stefan

Are you using dehydrated with Let's Encrypt? If so as I started in issue #439, it is worth noting LetsEncrypt strips out any fields from the subject identifier other then a commonName (CN) containing the primary host name of the certificate. So even if your CSR contained them, the certificate issued by LetsEncrypt would not.

As @jobe1986 said Let's Encrypt strips those parameters, only CN will be set.
Reason is that only the domain is validated, the CAs don't want to sign any other (unvalidated) information like an organizations name.

Hi jobe1986,
Hi lukas2511,
Sorry for wasting you time, wasn't aware of Lets Encrypt is stripping the DN. WHY???
Whatever, thank you guys.
Greets,
Stefan

@nova-2nd like i said: "Reason is that only the domain is validated, the CAs don't want to sign any other (unvalidated) information like an organizations name."


OpenSearch Notifications plugin

Effective notifications are critical parts of OpenSearch so that our customers can rapidly identify the issues and mitigate them. Notification’s applicability spans beyond the alerting plugins. Notifications must be accessible from any relevant plugin.  For example, customers prefer to be notified when a scheduled job in reporting, roll-ups, rollover and delete actions in index state management is completed. Operators, still however need the ability to track all the notifications generated by various plugins. The current plugins and visualization needs to be refactored to enable central management of notifications.
Epic breakdown

Common utils migration #105
Add support for savings notification events #25
List supported features API #133
Notification sending pre-checks & audits #54
Implement _stats API #74
Remove legacy code #78
List channel for a feature(other plugin) #138
improve Unit tests #98
Integration tests for channels #149
SNS channel #158
SES channel #167
Documentation #117

we moved this release to Opensearch 1.2 due to pending testing on the matrix of access control roles & tenants.
will post more details here on an issue to follow

Does this mean we need to remove it from the 1.1 manifest? I opened https://github.com/opensearch-project/opensearch-build/issues/343. Isn't some other plugin depending on it?

Yes. This is for 1.2 release

Can we close this now?


Solana Frontend connection issue for making the transactions

We working for a dex based solution on solana network, it properly works on localnet including all the trasanctions. But we make changes to devnet remaining all same but encountering the following issues. Please let me know, whether devnet has any issues or any other solutions needed to resolve this case.

Can u add more logs here , can u use try , catch and console the error! Also if u could add which instruction u are using here that would be great!

@blockchain-app12 , we don't offer app-development support in this repo. I think your best bet would be Solana Stack Exchange. You can ask questions about the public clusters, like devnet, there as well.
If you discover a bug in the actual validator software, then please open a new issue here.

Hi Team,
Hereby sharing the set of codes and console of the error log, please clarify it will more helpful. I working all of the scenarios and modules, it is perfectly working in solana localnet with the Frontend, while we change the network to devnet, the following errors occurs when try to connect the phantom wallet with the functions.

Error console log snap :

Please let me know the possibilities for the above shared on the solana.


Update from upstream

Too many changes, I'm not confident with reviewing this.
Maybe we need a different process for updating upstream?


Error installing node-sqlite3 on macOS 10.14 and Xcode 10

Tried to install node-sqlite3 and got:
$ npm install -s node-sqlite3
  CXX(target) Release/obj.target/node_sqlite3/src/third_party/CodingConv/encodeutil.o
../src/third_party/CodingConv/encodeutil.cpp:179:31: error: use of undeclared identifier 'LC_ALL'
        string curLocale = setlocale(LC_ALL,NULL);
                                     ^
../src/third_party/CodingConv/encodeutil.cpp:180:12: error: use of undeclared identifier 'LC_ALL'
        setlocale(LC_ALL,"chs");
                  ^
../src/third_party/CodingConv/encodeutil.cpp:188:12: error: use of undeclared identifier 'LC_ALL'; did you mean 'P_ALL'?
        setlocale(LC_ALL,curLocale.c_str());
                  ^~~~~~
                  P_ALL
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/wait.h:80:2: note:
      'P_ALL' declared here
        P_ALL,
        ^
../src/third_party/CodingConv/encodeutil.cpp:197:31: error: use of undeclared identifier 'LC_ALL'
        string curLocale = setlocale(LC_ALL,NULL);
                                     ^
../src/third_party/CodingConv/encodeutil.cpp:198:12: error: use of undeclared identifier 'LC_ALL'
        setlocale(LC_ALL,"chs");
                  ^
../src/third_party/CodingConv/encodeutil.cpp:206:12: error: use of undeclared identifier 'LC_ALL'; did you mean 'P_ALL'?
        setlocale(LC_ALL,curLocale.c_str());
                  ^~~~~~
                  P_ALL
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/wait.h:80:2: note:
      'P_ALL' declared here
        P_ALL,
        ^
6 errors generated.
make: *** [Release/obj.target/node_sqlite3/src/third_party/CodingConv/encodeutil.o] Error 1

This is on macOS 10.14 Mojave, Xcode 10, node v8.11.1 and npm 6.4.1.

Also got this error.

fixed in new version confirmed.

If I clone this repo and make it all builds correctly. If I do npm install node-sqlite3 it still fails with the above error.
Installing ninja of course made no difference. The errors are complaining about undefined LC_ALL macro.

Same error on High Sierra 10.13.6, node v8.12 when installing from npm.

So the issue is that node-sqlite3 in npm is a different package that seems to have deceptively similar name to this repo. The npm package for this repo is sqlite3, not node-sqlite3.

So the issue is that node-sqlite3 in npm is a different package that seems to have deceptively similar name to this repo. The npm package for this repo is sqlite3, not node-sqlite3.

Wow, that's horrible. Especially since this project's GitHub repo is called node-sqlite3. And yes, npm install sqlite3 works.


Multi-Threaded Cache Aware Guttering System

We should get a few tests in here that explicitly test for non-power of 2 sized num_nodes. Especially the case of 2^x + epsilon. We discussed this case and predict that it shouldn't be a performance problem, but we should verify it.

It actually might be kind of bad if we're bottlenecked by the mutexes which it's possible we could be. 2^x + epsilon means that about half our 'tree' is basically unused so this doubles the contention on the mutexes. Definitely worth a test.


How is the DEPRECATED indication handled ?

Today in the sopecs, some items are tagged as DPRECATED like the Dfamily for the conditions (only):

Dfamily*
DEPRECATED** Specifies the device family name (for example: STM32F2 Series).

It seems that this criteria is not supported any more.
So, is it more than deprecated, is it removed ?

@edriouk  can you confirm that anything D* except Dvendor and Dname is actually no longer supported in conditions in the RTE Model?
Looking at the currently published packs, there is many using Dfamily and DsubFamily as well as Dvariant as part of conditions.

We still set  Dfamily and DsubFamily for filtering, however they should be completely deprecated.
RteModel needs to be upgraded with corresponding validation to issue an error.
Dvariant is no longer supported in conditions. If a device variant is selected, Dname filtering attribute is set to device's Dvariant value.
Other D* properties  such as Dfpu, Dmpu, Dendian, etc. are continued to be supported.

The meaning of "DEPRECATED" must be different from
a) no longer supported => ignored
b) no longer supported => causing an error

To me we should be even more precise than this:
deprecated: developers are discouraged from using it, a warning is raised by the tool when encountering it and there is a porting period (say 18 months)
At the end of the porting period, we just remove the element from the spec (logged in the change log).
If we do not do that DEPREACTED will stay forever and depending on implementation it may or may not be supported properly...

I think we need to make use of  schema version in the tools.
A tool can define a range  of schema versions it supports
If the tool reads a pdsc with schema version outside the supported range, then  warning or error should be issued. Semantic version rules can be used to decide about severity.
In particular, removing deprecated elements should be reflected by the major version change => error.

Actions are:

create a list of deprecated features
classify the impact (with a note) of deprecated features into:
-- affects build
-- affects web views
-- affects supportive tools (such as pack installer cannot access an old example)

After this list is available revisit this issue.


Problem with not mentioned slots in FormAction

Rasa version: 0.13.7
Python version: 3.6
Operating system (windows, osx, ...): Windows 10
Issue:
I have defined the following story:
* greet
    - utter_greet
* request_riskprocess{"project": "xxxxxx"}
    - riskprocess_form
    - form{"name": "riskprocess_form"}
    - form{"name": null}
    - utter_slots_values
* thankyou
    - utter_noworries

where my form currently asks for one parameter: project
If I put in the whole intent with the entity, everything works as expected and the bot utters the form content. If I put in the intent but NOT the entity, I want the bot to utter that it is expecting the parameter project, but due to not being able to extract it, the user has to retype the project.
The slot mapping currently is:
return {"project": self.from_entity(entity="project")}

The slot validation currently is:
        """Validate extracted requested slot
            else reject the execution of the form action
        """
        # extract other slots that were not requested
        # but set by corresponding entity
        slot_values = self.extract_other_slots(dispatcher, tracker, domain)

        # extract requested slot
        slot_to_fill = tracker.get_slot(REQUESTED_SLOT)
        if slot_to_fill:
            slot_values.update(self.extract_requested_slot(dispatcher,
                                                           tracker, domain))
            if not slot_values:
                pass
                # reject form action execution
                # if some slot was requested but nothing was extracted
                # it will allow other policies to predict another action
                #raise ActionExecutionRejection(self.name(),
                #                               "Failed to validate slot {0} "
                #                               "with action {1}"
                #                               "".format(slot_to_fill,
                #                                         self.name()))

        for slot, value in slot_values.items():
            if slot == 'project':
                dispatcher.utter_template('utter_wrong_project', tracker)
                # validation failed, set slot to None
                slot_values[slot] = None

As far as I have read, I don't necessarily need to raise an rejection error. I simply want to schedule the utter_wrong_project, as long as the user hasn't typed in a valid project (which should be an entity).
What actually happens is that the bot repeats asking me the question that asks for the parameter (utter_ask_project) which lead me to the clue that either my story is not sufficient or my validation might be invalid.
Who could help me?
Content of domain file (domain.yml) (if used & relevant):
intents:
  - request_riskprocess
  - affirm
  - deny
  - thankyou
  - greet

entities:
  - project

slots:
  project:
    type: unfeaturized
    auto_fill: false

templates:
  utter_greet:
    - text: "Hallo,  was kann ich für Sie tun?"
  utter_noworries:
    - text: "Gern geschehen."
  utter_ask_project:
    - text: "xxxx?"
  utter_submit:
    - text: "Ich habe alle erforderlichen Informationen eingesammelt."
  utter_slots_values:
    - text: "xxxx"
  utter_wrong_project:
    - text: "xxxx"
  utter_default:
    - text: "Das habe ich leider nicht verstanden. Bitte wiederholen Sie Ihre Eingabe."

actions:
  - utter_slots_values
  - utter_noworries
  - utter_ask_continue
  - utter_greet
  - utter_wrong_project

forms:
  - riskprocess_form

I have figured out a solution:
            if not slot_values:
                if slot_to_fill == 'project':
                    dispatcher.utter_template('utter_wrong_project', tracker)
                    return []

Solves my problem. Thanks anyways!


fix swagger title & version display

I was wondering why reading in the swagger json file for the docs always returned the version number instead of the name, now I know. This is how swagger UI displays everything right now:

This PR makes it like so, which is I think what we want:

[x] Bug fix (non-breaking change which fixes an issue)

Looking at errors that arose in the Travis tests, I saw this:

Message: The Azure storage account '[secure]' in volume 'compute' can't be accessed: 'The remote server returned an error: (403) Forbidden.'. This can be caused by incorrect Azure storage account key or Azure storage firewalls.

I know Javi shut down our old Azure storage account because its credentials had been exposed online. He created a new one but I guess you'll have to ask him for the new credentials and then put them in a local environment variable or Git-ignored config file (so they don't get exposed online again).

In fact, Javi's pull request https://github.com/oceanprotocol/brizo/pull/17 (the pull request before this one, still not merged) updates Brizo to get the Azure config settings from environment variables or a config file.

In theory, this PR should work now that #17 is merged...

OMG, it's green again, thanks @jcortejoso!


DCOS-14729: Move require ports reducer

Checklist

[x] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

close DCOS-14729

mesosphere-ci run integration tests

run integration tests

mesosphere-ci run unit tests

mesosphere-ci retest this please

run integration test

:ship:


Cross-chain Wallet - XCW

Project Abstract
Blockcoders is proud to propose the development of a revolutionary cross-chain wallet, capable of importing and creating both EVM and WASM accounts. This wallet will make it easy for users to manage and transfer tokens between the two chains. Built with the user experience in mind, the wallet will feature the same sleek and intuitive design as Astar or Moonbean UI. The term cross-chain in this case refers to the ability to transfer tokens between parachains for both EVM and WASM.
Grant level

[ ] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $30,000, 3 approvals
[x] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (project_name.md).
[x] I have read the application guidelines.
[x] A BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (aUSD/USDT) address for the payment of the milestones is provided in the application.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: 0xslipk:x: fersirniYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the application. I have some quick initial feedback/comments:

For UI-focused applications, we usually ask teams to provide initial designs or mock-ups. For example, your first milestone currently could simply be you reusing the polkadot.js extension or something similar and integrating the possibility to show EVM balances. It would be nice to have more details here.
The deliveries and the specification are basically the requirements of our contracts that we need to evaluate. “Enhance the design and user experience of the wallet.” for example, could be anything. Could you define these better?
Do you have a plan to maintain the project? We supported multiple wallets that are no longer maintained in the past, so we would like to avoid this.

Awesome, Thank you for the feedback, we are gonna work on these item and get back to you.

Let me know if I should take another look at the application.

Let me know if I should take another look at the application.

Hi @Noc2,
We addressed the comments. Please take a look and let us know what do you think.
Thank you.

Hi @Noc2! I just reviewed the proposal and fix that! You will notice that we reduce it from 75k to 64k :+1:

One more question about the security approach to storing the private keys: can you elaborate on where and how these will be stored?

@randombishop
"I'd like to understand more about the specifics of XCM Wallet: how will it be different from existing projects like Talisman or Primis? Why not simply add the XCM/XVM feature to an existing one? (Either through collaboration with the team or after forking their repo)"

The XCM Wallet aims to differentiate itself from existing projects like Talisman and Primis by providing support for both EVM and WASM accounts and the ability to transfer assets between them. This feature is not currently available in any other wallet in the ecosystem. Instead of adding this feature to an existing wallet or forking an existing repository, we want to build a new wallet with a user-friendly interface that makes it easy for users to understand and use.

"We also already have a project in the ecosystem who developed an sdk and a ui to teleport assets between parachains using XCM, will you leverage that existing SDK or build a different version? If the latter, can you please provide the reasons?"

We have an open grant for our own XCM SDK and we are expecting to use it to teleport the assets between parachains. Regarding the UI, we believe it is not the same experience to have a platform vs a wallet, it is way more easy for users to have their tokens in one place and be able to move them without having to use some external tool.

"Ideally, I would prefer to move forward with this project if it were a new feature built on top of one of the existing open source solutions, that way it would be easier to specify the exact deliverables; and reduce the scope and cost. But I am open to be convinced otherwise after hearing your arguments and the opinions from the other evaluators."

We understand your concern about creating a new feature on top of existing solutions. However, we believe that creating a unique and differentiated product is crucial for the success of this project. Our team has a strong track record of creating and maintaining our own set of projects, such as the Ink Explorer which can now deploy Ink contracts to any parachain that is using the contracts pallet. This experience and expertise will be leveraged to create a high-quality, secure and user-friendly XCM Wallet.
We believe that offering new features and capabilities that are not currently available in the ecosystem will provide significant value to users and contribute to the growth of the Polkadot/Substrate/Kusama ecosystem. In addition, we have a clear plan and roadmap for the development, launch and maintenance of the XCM Wallet, which will provide a clear set of deliverables and timelines.
We understand that collaboration is important and we are open to integrate other technologies to improve the wallet and we are willing to work with other projects to achieve that. We are committed to maintaining the XCM Wallet and providing continuous support to users through Telegram and Discord channels. We believe that our approach will provide a comprehensive and valuable solution for the ecosystem.

"One more question about the security approach to storing the private keys: can you elaborate on where and how these will be stored?"

We are committed to ensuring the security of our users' private keys. To achieve this, we plan to implement the Keyring concept, which is the core of the secret storing and account management system in MetaMask. This approach ensures that private keys are stored locally on users' devices using browser built-in storage capabilities such as IndexedDB or WebSQL, making them accessible only to the user. Additionally, we will use encryption techniques similar to MetaMask, such as PBKDF2 iteration and AES-GCM mode, to provide an extra layer of security for the private keys. We understand the importance of security in the blockchain space and are confident that these measures will ensure the safety of our users' assets. We plan to implement the same feature that Polkadot's extension has, which allows users to see the availability of different parachains before they make a transfer. This feature will provide users with an added layer of security and peace of mind, as they can ensure that their transfer will go through smoothly.

Thanks for your replies! Looking forward to start this amazing project!

Thank you guys for you support and feedback. We just added a section about the security of the wallet.
Please take a look of that @Noc2 @randombishop @keeganquigley


Dream.form seems to be failing to extract two fields and is replying with bad request

Hi am trying to use Dream for a simple website and am getting stuck with a simple login page.
browser is posting form with a username and password fields but the match is failing and issues a 400.
`
let () =
Dream.run
@@ Dream.logger
@@ Dream.memory_sessions
@@ Dream.router [
Dream.get  "/"
  (fun request ->
    Dream.log "Index page triggered so rendering login";
    Dream.html (Login_form.render request)
    );

Dream.post "/login" (fun request ->
match%lwt Dream.form request with
|Ok ["username", username; "password", password] -> (        match Dream.session_field request "username" with        | None ->             let%lwt () = Dream.invalidate_session request in              let%lwt () = Dream.set_session_field request "username" username in               let%lwt () = Dream.set_session_field request "password" password in                let message = Printf.sprintf "Got Username: %s and password: %s!"                  (Dream.html_escape username) (Dream.html_escape password) in                  Dream.html (Home_page.render ~message:message request)        | Some username ->              let message = Printf.sprintf "%s!" (Dream.html_escape username) in              Dream.html (Home_page.render ~message:message request)     );     | _ -> Dream.log "Failed to parse login form";            Dream.empty Bad_Request);
]`

Workaround: List of form items need to be in reverse order to match.

Hi! The issue is not that the forms have to be listed in reverse order, but that Dream sorts the form fields in alphabetical order when they are returned from Dream.form. This is because browsers, and especially scripts, can transmit the form fields back to the Web app in an arbitrary and unpredictable order, regardless of the order you put them in the HTML. I've clarified the docs of Dream.form to try to explain that better.


Client: valid json response decode error: json: cannot unmarshal string into Go value of type map[string]interface {})

Generated a golang client, used it, received an error, and oapi-codegen wasn't able to unmarshal the error, because the generated model was wrong.
Here is the openapi spec that generated ogen's client:
https://github.com/veqryn/awesome-go-api/blob/c737ba1703d2ca30be0d898b17717eca8c70565f/protobufv3/openapiv3/gen/openapi.yaml#L248-L259
Here is the client that uses the generated code:
https://github.com/veqryn/awesome-go-api/blob/c737ba1703d2ca30be0d898b17717eca8c70565f/protobufv3/openapiv3/oapi_codegen/main.go#L51-L52
The error received:
(*fmt.wrapError)(0x1400011a420)(error unmarshaling field locale: json: cannot unmarshal string into Go value of type map[string]interface {})

When I curl the server, the response looks like this:
$ curl -vv -k -L localhost:8080/error
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: <IP_ADDRESS>
*   Trying [::1]:8080...
* Connected to localhost (::1) port 8080
> GET /error HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 400 Bad Request
< Content-Type: application/json
< Date: Sat, 14 Sep 2024 06:05:49 GMT
< Content-Length: 306
<
* Connection #0 to host localhost left intact
{"code":3, "message":"This is an example error", "details":[{"@type":"type.googleapis.com/google.protobuf.Any", "value":{"@type":"type.googleapis.com/google.protobuf.DoubleValue", "value":224.92}}, {"@type":"type.googleapis.com/google.rpc.LocalizedMessage", "locale":"en-US", "message":"Fix your widget"}]}

It seems the model generated is wrong.
I am using v2.3.0 of oapi-codegen

Seems the problem is actually caused here, by the conversion from v2 to v3 openapi: https://github.com/swagger-api/swagger-codegen/issues/12468


command to show total length in minutes of the queue songs!

Feature
I would like the contributor to create a command which will count the number of minutes the songs in queue will take up!

If its alright with you, could I work on this issue?

Yes you can @rydwhelchel

Let me know if there's anything I need to check on or change!


zone: Add possibility to define initial RRSet, only on the creation o…

zone: Add possibility to define initial RRSet, only on the creation of the zone, not allow modification.

Thanks for working on this!
While thinking about this a few days ago I had considered making a new rrset module which could be used to manage RRSets directly. That might be useful in addition to the ability to provide an RRSet during zone creation.

Also I might suggest converting this PR to 'draft' mode until you feel it is ready for review. The CI jobs will still run.

I'm hesitant to merge something designed in this particular way; Ansible playbooks are intended to be declarative and not imperative (this is the reason why state: present is used instead of state: create).
With this design, if the same playbook is run a second time, it will cause an error because the zone already exists and the rrset specification is still present in the playbook.
I can think of a number of ways this could be addressed:

You could add an rrsets_on_create_only boolean; if this was true, the entire rrsets block would be ignored if the zone already exists. If it was false, the rrsets block would be used to replace the existing RRSet in the zone if it did not match.

The user could be encouraged to run the zone module twice, once without rrsets and once with rrsets; the second execution would be protected by a when condition so that it was only executed if the result of the first one indicated that changes had been made (implying that the zone was created, although not with 100% certainty).

A new rrsets module could be created, which would be executed as a second step after zone (also protected by a when condition as in option 2), but with the intent more clearly expressed.

Ahh, you're right, it won't generate an error. In that case it behaves identically to the existing nameservers, ttl, and soa parameters.
Given that, please add the necessary content to the DOCUMENTATION block in zone.py, and ensure that the description field includes the same behavior notes as the soa parameter.

Eventually fixed all ident and style issues.
Please, have a look to PR and do a review.

Thank you for the review, I've applied the changes.
Please, if you can give me hand creating an initial playbook with tests, that would be great.

I've started that effort; I should have something to add to your branch this weekend.

It's a good thing you didn't try to tackle the unit-testing! I found a serious flaw in all of the existing unit tests, and also needed to include a hacked version of the community.general.dig lookup plugin for Ansible. Fun Saturday morning!
The branch now includes `workflow-support/test-zone-rrset.yml' which tests:

Creation of a zone with a single rrset, with the default TTL
Creation of a zone with an rrset of type NS (expected to fail)
Creation of a zone with an rrset of type SOA (expected to fail)

It should additionally test:

Creation of a zone with more than one rrset
Creation of a zone with one of the records in the rrset marked disabled
Creation of a zone with an rrset using a non-default TTL

If you want to try adding those test cases, feel free, it could be a good learning experience :-)

Sorry about all the force-pushes... I had to make a bunch of changes in the main branch to avoid this branch needing to create a new container image for CI (which it can't do because it's a fork repository).
It's all settled down now and the new tests are passing, and the test structure is more understandable than it used to be too!

I see you implemented test cases for this PR. Is there any works still to be done? or it can be merged?

I've added a test that cover's all three cases. The one about disabled records, it's based that usually the order is preserved of IPs in dns response as it was provisioned. If the first record has a stated of disabled, then it should not appear in the response in the first index.

Your branch had some merge-history issues, so I'm about to force-push a cleaned up version (which also eliminates the tiny 'fixup' commits by melding them into the commits ahead of them).

Again, thanks so much for your time and energy to make this contribution! It definitely wasn't an easy addition, but the end result is very good.


All auth0 projects should be backed by Tracis CI

I've spotted typos in examples and I'm basically reading through the source code of your sample apps. A lot of them aren't updated, and I'm trying to understand if they still work fine.
To give me some more confidence into the product, all of them should be wired with Travis CI, so that I can see that Cocoapods package/source code at least compile fine.
I see CI is used for top-level project, but I think it'd be good to cover examples as well.

Thanks for the suggestion, we are reworking our examples so we removed them from this repo. Eventually we'll back them with travis CI


Login Screen Needs Styling

FB and Google both have branding guidelines for login buttons.
https://developers.facebook.com/docs/facebook-login/web/login-button
https://developers.google.com/identity/branding-guidelines

Thanks Jeff, we should probably add the button branding to this issue.

Agreed.  I'm planning on it. ;)

Wasn't able to get the graphics to be responsive.  That's apparently a fair amount of work in React Native and not something it's just set up to do.  So I just restyled them a bit.  Now they both kind of look like the Google official button.  Seems ok for now.


How to hide folders in content from the home page?

How should I do to hide folders and/or any md page from the home page, please?
I can't find any information about hide pages or folders in demo site. Did I miss something?
Thanks!

I'm having this same issue.
is it this:
https://github.com/gilbitron/Raneto/issues/55

Hi there,
Good news, this has been added.
You can hide directories and files on the
First, make sure you're on the latest version of Raneto.
Then, see the following pages:

Category Meta
Page Meta
Category Example
Page Example

Note: This will only hide the pages on the home page and they will still be accessible if someone types in the URI


Fix GPT-Neo URL

Hey @cedrickchee
just noticed the URL wasn't working. Here is a fix.
Cheers,
Peter

No worries, happy to help out :)


Shaka Player Release Process Survey

Please take a moment to give us some feedback on our release process.  One representative response per company, please.
https://forms.gle/phUUVPSo5CgpPNgB8

@joeyparrish Are there any results of the survey that can be shared here?

It was an even split.  8 for change, 8 against change.

For now, we will keep the existing system, and re-evaluate in the future.
Thanks, everyone, for your feedback!


Rename conept exercise dirs: closures and recursion

I noticed that there still are some concept exercises that are in directories named after concepts.
This PR renames:

closures -> coordinate-transformation
recursion -> pizza-order

There are 3 non-story directory names remaining, but I am not touching them:

array-loops because it's already done in this draft PR https://github.com/exercism/javascript/pull/1097
errors because it's not in the main config.json so it doesn't have a name. Should it be added there? is it waiting for improvements?
nullability because it's deprecated

In recursion yes, there's an issue: https://github.com/exercism/javascript/issues/945
closures looks pretty complete to me, except for the blurb.
Are you sure not merging this on its own is the best strategy? I'm not really volunteering to fix recursion so somebody would either need to branch off my branch or just redo the same changes. I don't really see any harm in merging just the dir renames.

It's a good indication currently on if it's old or not :p.
That's my only concern.
I can probably make time this weekend.

Narrator: I didn't

@angelikatyborska I discussed with @SleeplessByte that I will have look whether anything else needs to be fixed.


Support forcing compilation into promise-returning validation functions

Questionnaire

What version of Ajv you are you using?

6.10.0

What problem do you want to solve?

I'd like to compile schemas into promise-returning functions, always, even when they don't have the $async key set at the root level.

What do you think is the correct solution to problem?

Support an async: true option in new Ajv({...options}) or (new Ajv()).compile(schema, {...options}) options object to guarantee this.

Will you be able to implement it?

Given the core dev team's blessing, I'd be happy to take a stab at it if it doesn't require a massive restructuring of the existing compilation process. A cursory glance doesn't suggest it would be too painful.

Motivation
I'm using ajv in conjunction with json-schema-to-typescript to generate types from my schemas (a la this blog post), and compile validation functions from them. This gives great dual compile-time and runtime validation capabilities from a single authoritative source.
I would like to force consumers of the validation functions to use promises to continue operating on known good external data, including parameterizing the successfully returned promise value with the auto-generated type, rather than using the boolean return value API.
Today, I have to hack the $async: true key into the schema before compiling it to get this behavior, which require a little ugly mangling in typescript-land. It'd be much more convenient for this to be a developer-driven decision when compiling functions, in addition to a schema-driven one.
Implementation
While an option (async: true) at the compilation call site ((new Ajv()).compile(schema, {...options})) seems more relevant, that function doesn't currently accept options. Additionally, people desiring this option (for my use-case at least) will probably want promise-returning functions unilaterally anyways. So I think adding it to the global options list (new Ajv({...options})) is the simplest happy path for both user and implementation.

Can it be on the application side? Normally users define some wrappers to retrieve validating functions anyway.

That's how I'm currently doing it, and it works well! It just feels wonky to be modifying the schema itself to get the library to process it how I want. It feels like a missing configuration option at the library level, as I don't think my schemas should need to how they will be compiled, or even that they will be.
Not a blocker to usage, just an idea for a more explicit API with stronger separation of concerns.

Got it. Given that async is used by a small part of users, and the described use case is a fraction of a fraction, I will keep it as is - extra options are not justified and direct change would not be compatible.


Document the NOTARY_AUTH environment variable

Documents the environment variable introduced in https://github.com/theupdateframework/notary/pull/1246.  Fixes https://github.com/theupdateframework/notary/issues/1292.

LGTM


Snowplow CLI: specify complete path to each jar in the config file

At the moment the user configures the top-level bucket and the versions of the jars used in the job, and the EER works out the S3 bucket names. I think it would be simpler to just specify the full S3 path to every jar - the EER would no longer need to know about the internals of the hosted assets bucket. It would also make testing new versions of individual jars easier, as you wouldn't have to mirror the structure of the hosted assets bucket to do it. What do you think @alexanderdean ?

I like it! Less magic/secret knowledge in the Snowplow CLI is the right direction of travel...


Improvements to Downloads page

Filing this, since I can't deliver within promised deadlines, and we might need improved Downloads page sooner.

The improvements to the Downloads page were discussed in Issues https://github.com/perl6/perl6.org/issues/96 and https://github.com/perl6/perl6.org/issues/109
The original plan was me working on the BootStrap 4 de-bittrotting and conversion of the site to a web app and would also include some content updates, which would include improvements to the Downloads page.
While I hope to eventually finish that work, with the French lessons I started taking, newly signed up to the gym, and the TPF grant, I have a lot less free time than I used to and this work might not come to fruition for a few more months.
However, Learning Perl 6 will be published fairly soon (author is giving the book to O'Rly on June 18th, 2018 + however long it takes them to process the remaining stuff). I've seen a bunch of people say they're waiting for that book before they start with Perl 6, so I foresee an influx of new users when the book comes out and it'd be nice to offer the best experience in obtaining a copy of Perl 6 for them.

So, what I'm saying is if anyone had plans for a better Downloads page, go with them. Don't wait for me to finish the site update.

Closing this out - thanks for the effort.


Delete key cause prompt to fail

When I try to edit a default value in prompt using delete key I get:
Prompt failed ^D

Backspace works fine.
Generally, even without a default value, the delete key causes the prompt input to fail.

same error. please fix it

Having the same issue here. I'm working on a fix in a downstream fork and have implemented the delete key functionality, but I'm still returning an io.EOF/EOFError from readline. Any developer insight would be greatly appreciated.

Having the same issue on macOS/iTerm.


Feature Request: planned support for Q#?

Microsoft recently released their Quantum Development Kit, which looks amazing but is unfortunately only available for VS / Windows.
Are there plans to release a VS Code compatible version of it? I would love to see it.

Duplicate of https://github.com/Microsoft/Quantum/issues/16


work jdbc issue

the workbench requires jdbc access.  Here are the approaches we agreed could be taken on this issue:

Gain permission to use the DB2 Connect jdbc driver.  @Rhness working this.
Find an open source equivalent to that driver.  @SaPeresi  working this.
Use a DB2 local install.  @bobmcc9 is working this.
Convert WB to not require DB2 and use another open source database.  This is on hold.
version 5 new WB paradigm will also remove this problem.

Can this be closed?  Discuss at TSC.

This can be closed.  We implemented the item that says, "Convert WB to not require DB2 and use another open source database."

Issue is resolved.


Using v1 apis for CRD/Webhook

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>Fixes #

Proposed Changes

updating to v1 APIs for CRD and Webhooks
removed some of the bogus openAPI (can be adjusted in different PR)

Release Note

Using Kube v1 APIs for CRD/Webhook

Docs

/assign @pierDipi

(there is a schema tool in knative.dev/hack, that we can use for that openAPI validation, instead of inlining the very outdated here)


setBackgroundFlutterView tried to overwrite an existing FlutterNativeView

I run my Flutter app. It uses android_alarm_manager. I have Android set to close activities immediately.
I hit the Android "home" button. This is output to the console:
I/AlarmService(21236): setBackgroundFlutterView tried to overwrite an existing FlutterNativeView
W/System  (21236): A resource failed to call close.
D/FlutterNativeView(21236): FlutterView.send called on a detached view, channel=plugins.flutter.io/android_alarm_manager_background

Weirdly, if I hit "w", it responds, but says no tree is mounted. If I hit "t" it dumps a single RenderView with size 0x0 and no child. This means that the binding somehow got initialized in the isolate that I'm hitting, but either runApp was never called, or somehow the tree got unmounted (not sure we even have code to do that). I don't understand how that is possible.
cc @bkonyi

@Hixie was this ever solved for you? I am having the similar issue when I press back button the app, that schedules notifications using android alarm manager?

Closing as android_alarm_manager is deprecated in favor of android_alarm_manager_plus.


Support PostgreSQL

Feature request:
Support PostgreSQL

Use case:
Dragonfly manager component use MySQL as database. In our production environment, we have already maintained PostgreSQL as database. We expect not to maintain MySQL additionally.
UI Example:

I think support for PostgreSQL is necessary and I'll finish this issue.


Change jvmRoute on tomcat failover (when a session is served by another tomcat)

From martin.grotzke on March 27, 2010 21:55:55
When using sticky session load balancing using apache and mod_jk and
the session id includes jvmRoute, but on tomcat failover - when a session is
served by another tomcat - the session id is not updated with the jvmRoute
of the current/new tomcat.
This was reported by Len on the mailing list:
http://groups.google.com/group/memcached-session-manager/t/9acbd9b91ad9f08c
Original issue: http://code.google.com/p/memcached-session-manager/issues/detail?id=58

From martin.grotzke on March 30, 2010 15:50:34
Fixed.
Status: Fixed
Labels: Milestone-1.3


gridsome build - Compiling assets take a lot of time

Description
When yarn build is runned, compiling assets take a lot of time. For small project with 8 pages it takes 5 minutes

Environment
Libs:

gridsome version: 0.7.17

For Tooling issues:

Node version: 12.18.2
Platform:  Debian GNU/Linux 9

Others:

Yarn version: 1.17.3

Could you test it with the latest gridsome version?
Which assets do you use?
Do you have the repo public so we can try to reproduce the problem?

With the latest version of gridsome (0.7.21) everything is the same.
On PC with SSD compiling assets take 130s, on dev server with hdd it takes 350s.
At first glance this is the case,
I use typescript, scss, sentry integration, + others small libs

we had something similar some time ago: https://github.com/gridsome/gridsome/issues/1190

Thanks, I'll check it

Resolved)
TypeScript and it's type checking is problem,
P.S. transpileOnly: true in production mode saved my life)
Issue closed for now)


WIP - improving README.rst

Codecov Report

Merging #3025 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #3025   +/-   ##
=======================================
  Coverage   94.94%   94.94%
=======================================
  Files          74       74
  Lines       14263    14263
=======================================
  Hits        13542    13542
  Misses        721      721

Continue to review full report at Codecov.

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


error: could not find Cargo.toml in iCepa/Extension/tun2tor or any parent directory

When trying to build the Mac version, I get:
error: could not find `Cargo.toml` in `iCepa/Extension/tun2tor` or any parent directory
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: target/x86_64-apple-darwin/debug/libtun2tor.a (No such file or directory)

$ rustup --version
rustup 0.6.3 (a0e2132 2016-08-28)

Make sure to run
git submodule update --init

Whoops. That worked. Thanks!


Use role dependencies instead of explicit include_roles

This will cause Ansible to de-duplicate rule inclusion, speeding up provisioning time and reducing the amount of interference through repeat provisioning.

I've had to re-add the explicit include_role for geerlingguy.mac.homebrew as that role is only available as part of the geerlingguy.mac collection and Ansible doesn't support specifying role requirements for non-standalone roles.


buddy_list: Convert module to typescript

built on top of #26717, which should be merged first

https://github.com/zulip/zulip/pull/29022#discussion_r1499949934 seems like not a regression, so I'm going to merge this to avoid merge conflicts, and that can be a follow-up.


Can't read SMFIC_BODYEOB reply packet header:

Can't read SMFIC_BODYEOB reply packet header appears in postfix log.
MacroMilter breaks scanning of the attachment and delayed delivery of the scanned mail (default postfix mitler timeout http://www.postfix.org/MILTER_README.html#errors

Bug fixed and tested.


Include JWT in the redirect URL

If I set backTo=https://myservice.com/somepage?jwt=[token] on my redirect, I'd like for the JWT to be included in the URL. Is this something that you'd accept a PR for? Or is this functionality already present in loginsrv?
This functionality would open up a lot of opportunities for me to use loginsrv!

What would be the use-case for it?

We manage several hundred websites. I want to do SSO with our Google Apps account, but keeping the Google integration working for thousands of URLs is tiresome (and not easily automated), so the thought is that we'd redirect to loginsrv, do the Google authentication, and then get redirected back to whatever website sent them along to /login?token=[whatever], where the authenticated user would be signed into the website in question.
We're already using loginsrv for some auxiliary services (prometheus, grafana, etc), but we'd love to use it to log into our sites directly.

More generally, the Caddy jwt plugin also supports grabbing the jwt out of the query params. Maybe this would be helpful for the more general case of having one caddy server that handles auth and another that actually serves the protected applications.

Not totally sure, if it is a good idea for security-reasons, to include the token in the URL, but since it in an optional feature I would be open of a (testes) P :)

JWTs are designed to be public information. Can you elaborate on what your security concerns are? Just wanna make sure things get built as expected.

JWTs are designed to be public information.
No, only the payload is designed to be public. The JWT with the signature is a secret.

Can you elaborate on what your security concerns are?
Things like Caching in the Browser-History, referrer, ..

If misused or if the use-case isn't analyzed properly, it could bring:

Information disclosure attacks or vulnerabilities
Injection vulnerabilities

The value of that token will most probably need to be validated a second time to ensure it hasn't been modified by the end user.
It's true that it could be an optional feature, but I'm unsure it would bring more pros than cons in an actual application considering the possible extra layer of security.
I think this would probably be better handled in the application/redirect layer.
Could you elaborate more on the use-case?
How will the token be used and which layer will handle the token?

No, only the payload is designed to be public. The JWT with the signature is a secret.

That does not reflect my understanding of how JWTs should be used. Why would a cryptographically signed blob of data not be publicly shared? Do you have a reference that you can point at that reflects your position?

Things like Caching in the Browser-History, referrer, ..

If I first accept that JWTs are not supposed to be public, then this makes sense.

If misused or if the use-case isn't analyzed properly, it could bring:
Information disclosure attacks or vulnerabilities
Injection vulnerabilities

Agreed on the former (although my understanding is that JWT claims should be considered public information). Can you elaborate on the latter?

The value of that token will most probably need to be validated a second time to ensure it hasn't been modified by the end user.

Absolutely -- both loginsrv and whatever other application/server would need to share a JWT secret.

How will the token be used and which layer will handle the token?

For our application, any user that is a member of our Google Apps account should be able to log into the websites that we manage. The idea is that we'd pass a JWT to our application in the URL, the application would validate the JWT (check that the signature is valid + that the claims reflect what we want) and then log the user into the application. If we just had one instance of this application, we'd authenticate with Google directly, but that becomes pretty difficult to maintain when there are several hundred potential redirect domains to whitelist.

No, only the payload is designed to be public. The JWT with the signature is a secret.
That does not reflect my understanding of how JWTs should be used.

It's rather simple: If you use the JWT as a secret to prove to service X that you have done a login at service Y. Than everybody else who has the JWT can also do this prove.

JWTs are designed to be public information. Can you elaborate on what your security concerns are? Just wanna make sure things get built as expected.

BE CAREFUL This is not true. If someone gets the JWT it's possible to impersonate the owner of the JWT. JWT must be protected at all costs! You should never put the JWT in the URL. This is a security violation.


How to contribute (for beginners) ?

Hi,
I wanted to start contributing to deeplearnjs. Is there a list of beginner bugs or enhancements etc., which I can work on?

Thanks for the interest!
What I'm going to do, in the next 2 weeks (sorry this is a little slow, maybe @dsmilkov can give a small task as a hold-over), is put together a page of tasks ranging from tiny to large that we would love to see as contributions, and that we would be glad to help you work through.
Would that be helpful? I will ping this issue when we're ready for that. (unfortunately, I'm on vacation for another week so my contributions are a little slowed-down)

I think that would be great, I'd love to get involved in this aswell

@nsthorat Sounds good!! Watching this space for more :)

Looking forward to seeing the page of tasks with level! (I wish I can get familiar with the code base soon..)

Still watching...

hey guys! i'd like to participate as well, are there any updates on the topic?

Hi everyone!
Sorry about the delay - here is the link for help wanted issues. Checkout the "good first issue" sub label as well.
https://github.com/PAIR-code/deeplearnjs/issues?q=is%3Aissue+is%3Aopen+label%3A"help+wanted"
We're going to keep this updated. It's also linked from the README.md (the link will be on deeplearnjs.org homepage soon).

We've also updated our development section in the README.md.
Closing this issue - feel free to reopen if you have any suggestions/feedback around the logistics of our setup of using labels in issues as "help wanted".


error api category

error api category Such as
science faction
thrillers
young adult
fairy tales
How can this problem be solved?

Can you add some helpful details, please?

There is an error displaying some category items


[question] How to customize the ripple color of raised buttons?

On material-next.
I can't seem to find how to customize the ripple color of a single raised button. It seems to be linked to the label color all the time + some transparency. Is there a way to do it?

Question? This helps us keep issues for... issues. :smile: Thanks!

Where can we find an answer to his question? It would be nice if you linked him to the correct answer before you close the issue.

@zeckdude Since @xaviergonz didn't link back to his question on SO or wherever, it's a little trick to point to the specific answer, however overrides and themes are well documented.

Probably too late to be helpful for @xaviergonz or @zeckdude, but I got there this way
I wouldn't say this is in fact a well documented override.


Provide secure post and image links if RSS accessed over SSL

When the RSS is accessed over SSL, the title feed links appropriately to https. However, the links to the posts and images still points to http because the secure flag isn't passed. This fixes it.

Thanks! :+1:


No satellite data available, and when available crash.

Using the Raspberry Pi Cellular Hat, running GPS.py encounters the following:
$GPGSV,4,1,16,02,23,182,34,06,47,144,29,13,08,208,36,17,51,045,29,1*6B
$GPGSV,4,2,16,19,75,026,28,24,50,289,31,01,,,,03,01,060,,1*56
$GPGSV,4,3,16,12,22,293,,14,23,094,,15,09,243,,22,,,,1*5E
$GPGSV,4,4,16,28,32,088,,30,,,,32,,,,46,,,36,1*5D
$GPVTG,,T,,M,,N,,K,N*2C
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GPGGA,,,,,,0,,,,,,,,*66
$GPRMC,,V,,,,,,,,,,N,V*29

No satellite data available.

$GPVTG,,T,,M,,N,,K,N*2C
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GPGGA,,,,,,0,,,,,,,,*66
$GPRMC,,V,,,,,,,,,,N,V*29

No satellite data available.

$GPGSV,4,1,13,02,28,184,34,06,52,140,29,12,20,296,28,13,12,209,36,1*67
$GPGSV,4,2,13,14,24,091,26,17,47,039,30,19,70,016,28,24,48,296,31,1*64
$GPGSV,4,3,13,30,03,147,27,03,,,,15,11,244,,28,32,084,,1*54
$GPGSV,4,4,13,46,,,35,1*62
$GPGGA,010802.94,3605.317982,N,11902.534195,W,1,09,1.0,109.8,M,-17.0,M,,*59
$GPVTG,,T,345.8,M,0.0,N,0.0,K,A*07
$GPRMC,010802.94,A,3605.317982,N,11902.534195,W,0.0,,100221,14.2,E,A,V*40
-----Parsing GPRMC-----
Traceback (most recent call last):
  File "GPS.py", line 66, in <module>
    parseGPS(data)
  File "GPS.py", line 31, in parseGPS
    checksum = dc[1]      #checksum
IndexError: list index out of range

I have not been able to get this HAT working at all for the whole day that I have had it today.
This hat is in clear line of the sky. No obstructions around it for 3 feet.

Hello!
You need to change "degreeChecksum = sdata[12]" to "degreeChecksum = sdata[13]" in GPS.py .
Or you can view my pull request here:
https://github.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_HAT/pull/2/commits/cfecddb942c6bd983689554ae9150e22d240dd0b
Where I fixed this error.
Best regards


Migrate encoding module into java interoperability

Purpose
This PR migrates ballerina/encoding module into Java Interoperability and fix the Gradle build compatibility for java Interoperability usages.
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/19745
Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

:exclamation: No coverage uploaded for pull request base (ballerina-1.0.x@c92d38e). Click here to learn what that means.
The diff coverage is n/a.

@@                Coverage Diff                 @@
##             ballerina-1.0.x   #19776   +/-   ##
==================================================
  Coverage                   ?   20.51%
==================================================
  Files                      ?       52
  Lines                      ?     1394
  Branches                   ?      216
==================================================
  Hits                       ?      286
  Misses                     ?     1095
  Partials                   ?       13

Continue to review full report at Codecov.

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


Ai proxy support doubao

ai-proxy 支持接入豆包大模型服务

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 44.25%. Comparing base (ef31e09) to head (9decdc7).
Report is 112 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1337      +/-   ##
==========================================
+ Coverage   35.91%   44.25%   +8.34%
==========================================
  Files          69       76       +7
  Lines       11576     9895    -1681
==========================================
+ Hits         4157     4379     +222
+ Misses       7104     5182    -1922
- Partials      315      334      +19

see 91 files with indirect coverage changes