Fix reconnection counter, properly reset

Prior to this change, 'reconnect' in controller/src/command.rs was not clearing to 0
Result was that in cases of non-fatal protocol errors, epic-wallet was quitting listening mode after 10-15 minutes
These changes add a new error type for this specific type of reconnection-based error
Additionally, wallet will only quit after 5+1 failed attempts at listener connection
In event a proper connection is made, and we receive data over protocol from epicbox, counter is now reset properly

Closing in favor of https://GitHub.com/fastepic/epic-wallet/pull/1


Generate CSV export for payroll payments

When sending payroll payments from a Bitcoin wallet, we must generate a CSV export of the transaction. This will likely necessitate creating a new database entity to record additional information, such as the miner fee, exchange rate (in USD and another preferred currency, like JPY), etc.
The required CSV export format is as follows:

Date
Name
InvoiceId
Address
Currency
Amount
BTC USD Rate
BTC JPY Rate
BTC Amount
Balance
TransactionId

11/29/24 12:36
Rockstar
1234
bc1qsm809r8ylff64cs7qvcgu2ej864l3dfxpdf0h5
USD
-500
42483
6011027
-0.01176941

1fd49125613518835bd8028c52fa071efed14087065ac2d61825846850b148f9

11/29/24 12:36
Rockstar
1235
bc1qsm809r8ylff64cs7qvcgu2ej864l3dfxpdf0h5
USD
-500
42483
6011027
-0.01176941

1fd49125613518835bd8028c52fa071efed14087065ac2d61825846850b148f9

11/29/24 12:36
Kukks
20212253
bc1q6htu7pvq9p2zhl5y50wcaz50cfl24v9seee7sc
USD
-500
42483
6011027
-0.01176941

1fd49125613518835bd8028c52fa071efed14087065ac2d61825846850b148f9

11/29/24 12:36
Pavlenex
42
bc1q9tgm8anwlpgvpu8k65lasrewrtvrd8z04aq
USD
-100
42483
6011027
-0.00235388

1fd49125613518835bd8028c52fa071efed14087065ac2d61825846850b148f9

11/29/24 12:36
Nicolas
2023-12-03
bc1qf4qshtsf4ez4t68ngqx2xvgfg58kjx83vpg
USD
-250
42483
6011027
-0.00588470

1fd49125613518835bd8028c52fa071efed14087065ac2d61825846850b148f9

11/29/24 12:36
Miner fee

42483
6011027
-0.0003897

1fd49125613518835bd8028c52fa071efed14087065ac2d61825846850b148f9

Notes:

The Balance column should be preserved, even if it's empty.
Amount & Amount BTC should be negative numbers
No need to have Currency and Amount for Miner Fee, just record BTC amount
We need to add InvoiceId (optional) field to PayrollInvoice entity for customers to submit this information as well when sending invoice

Done in eb6d6286079b16123a1ad91363982cb3bdd0c7ef


Instance update resends all parameters from secret, not just what changed

If an instance references parameters from a secret and the user updates just one value in the secret, the service catalog appears to send all parameters to the broker. This causes a problem for brokers that only support updating a subset of the parameters and results in the service catalog sending parameters that don't validate against the plan's instance update schema.
There doesn't appear to be a way for service catalog clients to work around this.
cc @pmorie @jwforres

This is probably more of a spec question but a really interesting one.
Do we even know what params were changed when they're stored in a secret? I'm guessing no, which means we have no choice but to send all of them (well, all of the ones per the "update" schema).
When the schema is specified then the platform(svc-cat) should probably limit the list of params to just what was specified as the valid subset in the schema.
However, schema is optional. And when not known, I don't think we have a choice but to send it all. Which means the spec will need to clarify what should happen if there's too much - fail vs ignore 'em.
I don't think CF has this problem (yet) because when you update an instance the user provides the set of parameters to send to the broker. It doesn't do anything with the old values used during the provision, nor do they have to worry about secrets and checking for changes.  But, even with that, the spec doesn't say whether the set of params provided on the update is meant to totally replace the existing set or whether it should be merged with existing params. We have https://github.com/openservicebrokerapi/servicebroker/issues/350 to discuss parts of this.

Do we even know what params were changed when they're stored in a secret?

Yeah, I see the problem.
If the update parameters were stored in a separate property, would it work? So instead of updating the original secret, I could set a value like instance.spec.updateParametersFrom with just the values I want to change? Then I as the user can decide what gets sent.

@jmontleon

That would certainly align with that CF does (meaning, asking the user to explicitly say what params should be sent), but are we setting up the user for a funky UX?  What if they update 3 properties in the secret, but then only specify 2 in the "updateParameteresFrom" property? I guess we could just claim its a user error (and they got what they asked for), but debugging why things aren't working right later on would be a real nightmare if more updates were done after that - assuming there's no GET to query the broker for the current set of params.
See: https://github.com/openservicebrokerapi/servicebroker/issues/350#issuecomment-339971319

I'm starting to think based on our previous discussion that this area of the spec is actually overspecified.
I don't think I want the user to have to specify which parameters they want to send for an update - I think that would be a very bad user experience.  I'd much rather either detect which parameters had changed values and only send those, or just send them all and force the broker to figure out what changed.  Note, this is another area where it seems likely that the mission of enabling stateless brokers has complicated the entire problem space.


*: add codegen for apis.go

cc/ @hasbro17

Test:
$ operator-sdk new test-operator
Create /Users/fanminshi/work/src/github.com/operator-framework/test-operator/cmd/manager/main.go
Create /Users/fanminshi/work/src/github.com/operator-framework/test-operator/pkg/apis/apis.go
Run dep ensure ...
could not find project Gopkg.toml, use dep init to initiate a manifest
2018/09/14 11:43:18 failed to exec dep []string{"ensure", "-v"}: exit status 1
$ tree test-operator/
test-operator/
├── cmd
│   └── manager
│       └── main.go
└── pkg
    └── apis
        └── apis.go

4 directories, 2 files
$ cat test-operator/pkg/apis/apis.go
package apis

import (
	"k8s.io/apimachinery/pkg/runtime"
)

// AddToSchemes may be used to add all resources defined in the project to a Scheme
var AddToSchemes runtime.SchemeBuilder

// AddToScheme adds all Resources to the Scheme
func AddToScheme(s *runtime.Scheme) error {
	return AddToSchemes.AddToScheme(s)
}

I refactor the code to have a filegen object which is responsible of creating dir and  generated file. this reduces the common code needed to created dir and write data to file.
cc/ @hasbro17


Australia.osm.pbf data

Hi Andrew,
I am trying to use Australia.osm.pbf from geofabrik and import to my PostGIS using Osm2pgsql.
http://download.geofabrik.de/osm/australia-oceania/
I was not be to view the polygons in TileMill. The postgis supplying the data in Tilemill as I can see it in the view data in various layers but no display any map (i.e. layers).
I got these errors (below) in the various layers.
I am very interested to get Victoria OSM data with your  osm-hybrid-carto theme in TileMill.
Do you know any idea why? I am using Mac OS X and TileMill 0.5.1.
Thanks in advance
################
Error: : ERROR: column "tags" does not exist LINE 9: tags->'cycleway' as cycleway ^ Full sql was: 'SELECT * FROM ( SELECT way, highway, access, bridge, tunnel, name, tags->'cycleway' as cycleway FROM planet_osm_line WHERE highway in ('cycleway') ) AS cycleway LIMIT 0'
Error: : ERROR: column "tags" does not exist LINE 7: tags->'cuisine' as cuisine, ^ Full sql was: 'SELECT * FROM ( ( SELECT way, amenity, shop, tags->'cuisine' as cuisine, name FROM planet_osm_point WHERE ( shop IS NOT null OR amenity IN ('fast_food') ) ) UNION ( SELECT ST_Centroid(way) as way, amenity, shop, tags->'cuisine' as cuisine, name FROM planet_osm_line WHERE ( shop IS NOT null OR amenity IN ('fast_food') ) ) ) AS shoppoi LIMIT 0'
Error: : ERROR: column "tags" does not exist LINE 11: tags->'school:level' as school_level, ^ Full sql was: 'SELECT * FROM ( ( SELECT way, amenity, man_made, tourism, leisure, barrier, building, tags->'school:level' as school_level, name FROM planet_osm_point WHERE (amenity IS NOT null OR man_made IS NOT null OR tourism IS NOT null OR leisure IS NOT null OR barrier IS NOT null OR building IS NOT null) ) UNION ( SELECT ST_Centroid(way) as way, amenity, man_made, tourism, leisure, barrier, null, tags->'school:level' as school_level, name FROM planet_osm_line WHERE (amenity IS NOT null OR man_made IS NOT null OR tourism IS NOT null OR leisure IS NOT null OR barrier IS NOT null) ) ) AS amenity_poi LIMIT 0'
Error: : ERROR: column "tags" does not exist LINE 9: tags->'footway' as footway, ^ Full sql was: 'SELECT * FROM ( SELECT way, highway, access, bridge, tunnel, name, tags->'footway' as footway, tags->'sidewalk' as sidewalk FROM planet_osm_line WHERE highway in ('footway', 'steps') ) AS highway LIMIT 0'

Hi Noli,
I'm glad to see you trying out this style sheet for yourself. The error about "tags" is because you need to import the OSM data using osm2pgsql with the --hstore option. I believe this is all you need, I don't think I've made any changes to the import style, a recent http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/default.style should work. Let me know if it doesn't.

Hi Andrew,
Thanks for replying.
What sort of options do I need to put in --hstore?
I tried this:
osm2pgsql -d osm --hstore australia.osm.pbf
I did not work, see the error below.
Thanks again. Noli
############
localhost:work1 noli$ osm2pgsql -d osm --hstore australia.osm.pbf
osm2pgsql SVN version 0.70.5 (32bit id space)
Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
NOTICE:  table "planet_osm_point" does not exist, skipping
NOTICE:  table "planet_osm_point_tmp" does not exist, skipping
CREATE TABLE planet_osm_point ( osm_id int4,"access"
text,"addr:housename" text,"addr:housenumber"
text,"addr:interpolation" text,"admin_level" text,"aerialway"
text,"aeroway" text,"amenity" text,"area" text,"barrier"
text,"bicycle" text,"brand" text,"bridge" text,"boundary"
text,"building" text,"capital" text,"construction" text,"covered"
text,"culvert" text,"cutting" text,"denomination" text,"disused"
text,"ele" text,"embankment" text,"foot" text,"generator:source"
text,"harbour" text,"highway" text,"historic" text,"horse"
text,"intermittent" text,"junction" text,"landuse" text,"layer"
text,"leisure" text,"lock" text,"man_made" text,"military"
text,"motorcar" text,"name" text,"natural" text,"oneway"
text,"operator" text,"poi" text,"population" text,"power"
text,"power_source" text,"place" text,"railway" text,"ref"
text,"religion" text,"route" text,"service" text,"shop" text,"sport"
text,"surface" text,"toll" text,"tourism" text,"tower:type"
text,"tunnel" text,"water" text,"waterway" text,"wetland" text,"width"
text,"wood" text,"z_order" int4,tags hstore)
failed: ERROR:  type "hstore" does not exist
LINE 1: ...d" text,"width" text,"wood" text,"z_order" int4,tags hstore)
On 10/10/11, Andrew Harvey
<EMAIL_ADDRESS>wrote:

Hi Noli,
I'm glad to see you trying out this style sheet for yourself. The error
about "tags" is because you need to import the OSM data using osm2pgsql with
the --hstore option. I believe this is all you need, I don't think I've made
any changes to the import style, a recent
http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/default.style
should work. Let me know if it doesn't.
--
Reply to this email directly or view it on GitHub:
https://github.com/andrewharvey/osm-hybrid-carto/issues/1#issuecomment-2343881

See http://wiki.openstreetmap.org/wiki/Osm2pgsql#hstore
You need to load the hstore extension for your psql database with something along the lines of psql -d osm -f /usr/share/postgresql/8.4/contrib/hstore.sql depending on your postgresql version.

Also... if you want to be able to see the POI symbols you will need the SJJB icons http://www.sjjb.co.uk/mapicons/downloads. My style sheet has these paths hard coded as /usr/share/icons/sjjb/png/... You will either need to change this or install the icons there.

It seems that postgresql 9.x does not have yet hstore module. I am
using 9.1 and PostGIS 1.5.
http://stackoverflow.com/questions/4776563/how-do-i-install-the-hstore-module-on-postgresql-9-0-macports-install
Thanks again for your help.
On 10/10/11, Andrew Harvey
<EMAIL_ADDRESS>wrote:

See http://wiki.openstreetmap.org/wiki/Osm2pgsql#hstore
You need to load the hstore extension for your psql database with something
along the lines of psql -d osm -f /usr/share/postgresql/8.4/contrib/hstore.sql depending on your postgresql
version.
--
Reply to this email directly or view it on GitHub:
https://github.com/andrewharvey/osm-hybrid-carto/issues/1#issuecomment-2345526

You could edit the stylesheet to never use the tags hstore.. either dropping them, or adding the tags I access through it as column by editing your osm2pgsql style file.

I have not solved anything regarding hstore. I still got errors in
TileMill on those queries.  Although, I can see the testhstore table
created in my osm database using pgAdmin3.
Right now, I am figuring to get the mapnik compiling in Mac OS X. The
greatest problem is fontconfig which is needed for cairo. Cairo is
need for mapnik.  Fontconfig is not compiling.
I think it is easier to do the mapnik, osm2pgsql and TileMill in Ubuntu.
Andrew, what version of Ubuntu are you using?
Dane the author of Mapnik and TileMill is also helping me to compiling
mapnik for Mac OS X.
On 10/12/11, Andrew Harvey
<EMAIL_ADDRESS>wrote:

You could edit the stylesheet to never use the tags hstore.. either dropping
them, or adding the tags I access through it as column by editing your
osm2pgsql style file.
--
Reply to this email directly or view it on GitHub:
https://github.com/andrewharvey/osm-hybrid-carto/issues/1#issuecomment-2377333

There are mapnik2, osm2pgsql, postgres and postgis (with hstore) packages for Ubuntu so that should ease the set up.
My set up is more complicated. I'm using Debian for my database, and running TileMill inside an Ubuntu virtual machine (using the TileMill and Mapnik2 PPAs). Any of the two latest Ubuntu releases should be fine.
For my live demo I run Debian with mapnik2 from unstable, where I use the xml export from TileMill with TileStache as my tileserver proxied through lighttpd. In the long term I would like to see a mod_tile for lighttpd and combine that with tirex as my tileserver. One step at a time though.

Hi Andrew,
I managed to run TileMill in Ubuntu 10.04 and compiled from source.
https://github.com/mapbox/tilemill/issues/789
However, I still don't get the geometry column (i.e. way) to render in
the map canvas.
Any pointers what to check in the PostGIS to make osmt working?
Thanks. Noli
On 10/12/11, Andrew Harvey
<EMAIL_ADDRESS>wrote:

There are mapnik2, osm2pgsql, postgres and postgis (with hstore) packages
for Ubuntu so that should ease the set up.
My set up is more complicated. I'm using Debian for my database, and running
TileMill inside an Ubuntu virtual machine (using the TileMill and Mapnik2
PPAs). Any of the two latest Ubuntu releases should be fine.
For my live demo I run Debian with mapnik2 from unstable, where I use the
xml export from TileMill with TileStache as my tileserver proxied through
lighttpd. In the long term I would like to see a mod_tile for lighttpd and
combine that with tirex as my tileserver. One step at a time though.
--
Reply to this email directly or view it on GitHub:
https://github.com/andrewharvey/osm-hybrid-carto/issues/1#issuecomment-2377856


Replace mapbox watermark on the maps with maplibre #643

Closes #643
You can already disable the icon, but @acalcutt had the idea to make it configurable which icon is shown. We should create a ticket out of this.

That was actually @ntadej to make the icon configurable.
I was just saying in maplibre-gl-js it used show based on a mapbox tilejson parameter. it had been changed at one point to look for a maplibre tilejson parameter, which meant it basically never was shown.
I had modified in the js version in https://github.com/maplibre/maplibre-gl-js/pull/786 so it no longer shows based on TileJSON, but instead was a settable map option. The reason was more to repurpose this logo to advertise maplibre.

@birkskyum Since you said 'almost'...
I added mlns:tools="http://schemas.android.com/tools" tools:ignore="ResourceName" to  attrs.xml and public.xml since they are part of the Public API. Maybe we can duplicate them and then phase them out.

Great! I'd like an Android changelog entry. Also, it's generally preferred to use rebate rather than merge when synching the branch to master as it simplifies the git history.

Also, it's generally preferred to use rebate rather than merge when synching the branch to master

Thanks for the heads-up, I will do that next time. When I squash the commits when I merge later, the git history should be clean in this case right?

Yes, it'll be clean in the main branch after squashing, so it's only related to the review process


Wrong Scorecards result in CodeReview check due to Dependabot/RenovateBot PR reviews

Describe the bug
A single maintainer project will return incorrect result on CodeReview check if that single maintainer is reviewing Dependabot/RenovateBot PRs. This was indicated by Sonatype folks who ran Scorecards on a large number of maven projects.
Reproduction steps
Try a single maintainer repo that uses Dependabot/RenovateBot
Expected behavior
Ignore Dependabot and RenovateBot PRs completely from processing in CodeReview check. Don't count them as code reviews. Codereview are usually intended to check human reviews on human created PRs.
Additional context
Add any other context about the problem here.

Can take a look later today. Any specific repositories would be good, but can look for some that match the criteria too.

In the scorecard biweekly meeting the following proposal was discussed:
The Code Review check should move towards leveled, rather than proportional scoring.

Projects that review all code in the default branch should receive a 10/10
For projects where any human commits are unreviewed, a flat 7 points are deducted from the score. For projects where any bot commits are unreviewed, a flat 3 points are deducted from the score. Previously, the Code Review score (/10) would be the %age of reviewed changesets out of the last 30 commits.

Bot commits should still penalized because, as @david-a-wheeler points out, bots can propose incorrect changes, or behave unpredictably

If scorecard sees that the project only has commits made by a single-maintainer (with or without a bot), the Code Review category cannot be scored, and scorecard should say there's Insufficient Data to proceed
If scorecard only sees automated/bot commits in the last 30 commits, the Code Review category cannot be scored, and scorecard should say there's Insufficient Data to proceed

Assuming this is the path forward, the assignee of this bug should follow a process similar to #2462 where the Code-Review check is run against a set of Top 300-400 repos to compare the Code Review scores before/after the changes. This analysis should be part of the Pull Request implementing the check.

That sounds like what we talked about. The idea is that we want to encourage review, where it's possible.
I don't recall the rule "If scorecard sees that the project only has commits made by a single-maintainer (with or without a bot), the Code Review category cannot be scored, and scorecard should say there's Insufficient Data to proceed". We probably did discuss it, I just don't remember. Clearly it's better if there were multiple people so there would be a separate review, but on the other hand, when there's only 1 maintainer that's typically impractical. I don't have an obviously better solution.

The 0..10 score is intended to give an estimate of the "level of risk". Clearly a bot commit can be malicious, I completely agree, but a malicious commit from a bot already approved by the project seems less likely than a random human's. If we agree that the risks are different, then the scores should be different. If the argument is that the risks are approximately equal, then they should be scored teh same. Are you arguing that bot commits are just as likely to be malicious, even if the bot was approved by the project (which implies some acceptance of the bot)?

Are you arguing that bot commits are just as likely to be malicious, even if the bot was approved by the project (which implies some acceptance of the bot)?

Yes.  But the risk from merging an unreviewed commit should be the same.
Also, I don't see what usecase the new proposal solves. The way Code-Review is scored today is - for Y out of past X commits which are reviewed, the score is Y/X. So if there is 1/10 unreviewed bot code, it would lead to a score of 9/10 with current scoring scheme. But in the new scheme it would lead to a score of 7/10.


DVOP-3032 Read only access to root file system.

CI: IaC Security warnings found!

CI: No IaC security warnings found

CI: IaC Security warnings found!

CI: IaC Security warnings found!


Don't make 2 messages for 1 build when outputting committers

This is annoying, makes it hard to read through the various builds, and is unnecessary.  These messages should be bundled into 1 slack message, not 2.
See https://github.com/jenkinsci/slack-plugin/blob/9c57909027c04261417d984dd87e8184012062ac/src/main/java/jenkins/plugins/slack/ActiveNotifier.java#L108

My commit do this, I can send a PR if it looks good to maintainer

I ended up forking and doing something similar kenji...but then I added some more stuff specific to our use cases.  Your change looks pretty clean and simple.  I'd vote for making it at PR!

feel free to PR this @kenji21  looks good

Just sent PR https://github.com/jenkinsci/slack-plugin/pull/448 with updated code to current master

Closed in https://github.com/jenkinsci/slack-plugin/pull/448


Deletion of the final character of a link can delete the entire link

Issue Summary
Deleting the final character of a link can delete the entire link. Sometimes, but not always. Because as seen in the video below, when I successfully deleted (and then un-did) the deletion of characters within a link I was able to move the cursor to the final character and successfully delete it (and nothing else). But when I moved the cursor away from the link and then returned to the position enabling me to delete the final character of the link, doing so once again deletes the entire link.
https://github.com/TryGhost/Ghost/assets/27488257/6df571bd-612c-4f90-b72d-3cf02f5dee3c
Steps to Reproduce

Place the cursor a few characters after the final character after a link, then move it to just after the final character of a link
Press the delete button
See the entire link disappear

Ghost Version
5.69.2+ moya
Node.js Version
Yes
How did you install Ghost?
Ghost(Pro)
Database type
MySQL 5.7
Browser & OS version
Firefox 118.0.2, macOS 13.6
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

Should be resolved with the next Ghost release - thanks for reporting this!


[SPARK-23489][SQL][TEST] HiveExternalCatalogVersionsSuite should verify the downloaded file

What changes were proposed in this pull request?
Although SPARK-22654 made HiveExternalCatalogVersionsSuite download from Apache mirrors three times, it has been flaky because it didn't verify the downloaded file. Some Apache mirrors terminate the downloading abnormally, the corrupted file shows the following errors.
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
22:46:32.700 WARN org.apache.spark.sql.hive.HiveExternalCatalogVersionsSuite:

===== POSSIBLE THREAD LEAK IN SUITE o.a.s.sql.hive.HiveExternalCatalogVersionsSuite, thread names: Keep-Alive-Timer =====

*** RUN ABORTED ***
  java.io.IOException: Cannot run program "./bin/spark-submit" (in directory "/tmp/test-spark/spark-2.2.0"): error=2, No such file or directory

This has been reported weirdly in two ways. For example, the above case is reported as Case 2 no failures.

Case 1. Test Result (1 failure / +1)
Case 2. Test Result (no failures)

This PR aims to make HiveExternalCatalogVersionsSuite more robust by verifying the downloaded tgz file by extracting and checking the existence of bin/spark-submit. If it turns out that the file is empty or corrupted, HiveExternalCatalogVersionsSuite will do retry logic like the download failure.
How was this patch tested?
Pass the Jenkins.

Test build #90029 has started for PR 21210 at commit 51d4c0e.

Thanks for working on it!

Test build #90029 has finished for PR 21210 at commit 51d4c0e.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90029/
Test FAILed.

retest this please

Test build #90039 has started for PR 21210 at commit 51d4c0e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/2802/
Test PASSed.

Test build #90039 has finished for PR 21210 at commit 51d4c0e.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90039/
Test FAILed.

Merged build finished. Test FAILed.

Thank you for review, @gatorsmile and @hvanhovell !
And, the test failure is irrelevant to this one.

Retest this please.

Test build #90069 has started for PR 21210 at commit 51d4c0e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/2824/
Test PASSed.

I'm not sure we can avoid SparkR flakiness here. Can we ignore SparkR failure like #21175 , @gatorsmile , @hvanhovell , @cloud-fan ?
In fact, the test build 90039, https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/90039/console, shows no other error except SparkR one.

Test build #90069 has finished for PR 21210 at commit 51d4c0e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90069/
Test FAILed.

With this fix, we still hit this test failure org.apache.spark.sql.hive.HiveExternalCatalogVersionsSuite.(It is not a test it is a sbt.testing.SuiteSelector)?

Please look at the log, @gatorsmile . That's a different issue instead of No such file or directory. With this patch, spark-submit is executed correctly and returned code 1. This one only reduce the degree of flakiness.
[info] org.apache.spark.sql.hive.HiveExternalCatalogVersionsSuite *** ABORTED *** (16 seconds, 491 milliseconds)
[info]   spark-submit returned with exit code 1.
[info]   Command line: './bin/spark-submit' '--name' 'prepare testing tables' '--master' 'local[2]' '--conf' 'spark.ui.enabled=false' '--conf' 'spark.master.rest.enabled=false' '--conf' 'spark.sql.warehouse.dir=/home/jenkins/workspace/SparkPullRequestBuilder@2/target/tmp/warehouse-ad028d51-4453-490f-92be-e65a3d7153d7' '--conf' 'spark.sql.test.version.index=0' '--driver-java-options' '-Dderby.system.home=/home/jenkins/workspace/SparkPullRequestBuilder@2/target/tmp/warehouse-ad028d51-4453-490f-92be-e65a3d7153d7' <EMAIL_ADDRESS>

According to the log, the latest one is DataNecleus.Metadata jar error.
2018-05-02 11:05:34.118 - stdout> 11:05:34.118 ERROR DataNucleus.MetaData: Error opening the Meta-Data file "jar:file:/tmp/test-spark/spark-2.0.2/jars/hive-metastore-1.2.1.spark2.jar!/package.jdo"

retest this please

LGTM

Test build #90090 has started for PR 21210 at commit 51d4c0e.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/2837/
Test PASSed.

Merged build finished. Test PASSed.

Thank you for review, @HyukjinKwon . :)

thanks, merging to master/2.3!

Thank you for merging, @cloud-fan.
And thank you, all.


How to do casting?

select count(*)::integer from mytable
How to do this properly with knexjs?

knex('mytable').select(knex.raw('count(*)::integer'))

A more elegant solution to the big integer as string issue is detailed in #387.

@rhys-vdw global Knex.raw is deprecated, use knex.raw (chain off an initialized knex object) (https://github.com/jfgodoy/knex-postgis/issues/20)
I updated it accordingly, using knex-postgis https://github.com/jfgodoy/knex-postgis/issues/20#issuecomment-312404336
Now the query: .select(st.asText('count(*)::integer'))
shows: column "count(*)::integer" does not exist

@sagidM knex.raw definitely exists. You just need to call it from configured knex instance, not from require('knex').raw. And about knex-postgis you should ask elsewhere.


add a remove method for replication controllers

this calls the DELETE endpoints.
connects to #13

Coverage increased (+3.2%) to 59.707% when pulling 5fb49d6627e685df240393fd2a58b09b8816ba57 on lholmquist:13-replication-controller-delete into b5b792e26ccc8044ab2ab4c15cf072cf46bf29b7 on bucharest-gold:master.


bug: ionChange event on ion-Range is a customEvent

Bug Report
Ionic version:

[x] 4.11.10
Current behavior:

By using (ionChange) with exampleFunction($event) the event Param is always a CustomEvent and not an event with information about the ion-range.
Expected behavior:

In older versions of Ionic there has been infos about the range (like isFocus, value, etc.)
Steps to reproduce:

create ionic starter project
in template put <ion-range></ion-range> in ion-content section and add (ionChange)=changeFunction($event).
<ion-range (ionChange)="changeFunction($event)"></ion-range>
in .ts file add the changeFunction($event) to the class
start ionic serve
check browser console for Custom event

Related code:
Template:
<ion-range (ionChange)="changeFunction($event)"></ion-range>

ts-File:
changeFunction(event){
console.log(event);
}

Other information:

Ionic info:

Ionic:

   Ionic CLI                     : 6.0.0 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 4.11.10
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.2.4
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.4.1

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : android 8.1.0, browser 5.0.4, ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 3.1.2, (and 26 other plugins)

Utility:

   cordova-res : 0.9.0
   native-run  : 0.3.0

System:

   ios-deploy : 1.9.2
   ios-sim    : 8.0.2
   NodeJS     : v12.14.1 (/usr/local/bin/node)
   npm        : 6.13.6
   OS         : macOS Mojave
   Xcode      : Xcode 11.3.1 Build version 11C504

Thanks for the issue! All of our emitted events have been changed to emit any data for the component in the detail property of the CustomEvent. The value is still emitted in this, see this Codepen: https://codepen.io/brandyscarney/pen/gObNqRr?editors=1111
Is there something specific you're looking for in the ionChange event?

Thanks for the quick reply.
Yeah, I saw that the value is in the detail property. I tried to use the "ion-range" as a progress-bar for a player. I used ngModel with a currentPosition variable.
My problem was, that the ionChange event then get triggered everytime something changed. So I move on and tried ionFocus and ionBlur but both didn't send the value in the detail property.
So maybe the problem is then more the ionBlur and ionFocus event. Sorry for that. I thought it was my failure or something with the "CustomEvent" itself.
Is it correct that ionBlur and ionFocus do not send the value with the event?

@NeckbreakerPascal Thinks of ionFocus and ionBlur as two focus related events. ionFocus will fire when the element is focused and ionBlur will fire after the focus of an element is removed. If you take the example of ion-range when you try to toggle the range (ie. click and drag) ionFocus will fire, when you let go and stop dragging the knob ionBlur will fire. Both events have a slight (I think 2 seconds) debounce timer so if you were to toggle the knob and then immediately toggle it again you'll still get only one ionFocus and ionBlur trigger. You can checkout https://ionicframework.com/docs/api/progress-bar it might fit your case better. And lastly they don't send the value. The ionChange emits the value every time there is a change in the range  component, one tip to reduce the event spam is to pipe-debounce it and return the ionChange result similarly to how ionFocus/Blur are implemented.

@NikolaPeevski thanks for the info. Not sure with the progress-bar because I want to let the user click on the progress-bar to forward and backward the media. But anyway. For me this issue is resolved because I missunderstood those events ionFocus and ionBlur.
I thought they both should deliver the value, but if it was always planned that they don't it is fine.
Thanks for the support and the quick answers.


Is this plugin for grafana still supported

I have configured the data source but building dashboard are a far fetch because we cannot get any data and queries are returning unknown error.

Hey @shreyasparab1989, did you ever get this to work? I'm facing the same issues as you..


usage

The 'clang-format' command is not available. Please check your clang-format.executable user setting and ensure it is installed.

Which version of clang-format do you have? And what did you set "clang-format.executable" to?
This bug report is not very helpful...

Visual Studio Code  Version 1.13.0
Clang-Format 1.5.0

This error message gets thrown at https://github.com/xaverh/vscode-clang-format-provider/blob/master/src/extension.ts#L187. It ususally appears when the clang-format extension cannot find clang-format.
It requires clang-format by LLVM in order to work. You can either download it from http://llvm.org or install it via npm install -g clang-format or through a package manager (apt, pacman, brew, nuget, dnf).
Also make sure the binary is in your $PATH (cf. README) or manually given to the extension in the "clang-format.executable" setting in your settings.json.

@xaverh Thx!
I updated it using "sudo npm i -g npm" and now it works perfectly.

sudo apt-get install clang-format in Linux also solves the problem!

I also met the problem on mac.
If you directly input npm install -g clang-format in Mac terminal, it cannot be fixed.
Please input this command in your visual studio terminal, not original mac terminal

In mac, sudo npm install -g clang-format solves the problem!

On a Mac, if you have Homebrew, you can also say brew install clang-format to install it globally.

Solution for Windows:
https://llvm.org/builds/
At the bottom of this page you can download only the clang-format plugin for VS Code.
Drag the unzipped folder into C: / and add it to PATH.

On Fedora, just use sudo dnf install clang-tools-extra  to install clang-format.

sudo apt-get install clang-format works fine for Mac as well. Thanks @ilyashamd


Edit page: margins and spacing

Services and Capabilities have strange margins for text:

There's too much white space between the space name, the status, the type, and the description-- there should be maybe 1.5 lines at most:

fixed it but have a look if it needs to be modified further

Looks excellent!! Just shrink the space between the name and website a tiny bit more, so it's the same spacing as between status and type.


DD-1438 dd-manage-deposits improvements fixes for DD-1419 - Part 1

Fixes DD-1438 dd-manage-deposits: Fix problems found DD-1419
Description of changes
These two changes are important improvements.

Using smaller time interval range to check the inbox and outbox folders
Check de content of the deposit.properties file every time when they are moved
One other improvements will follow soon.

How to test
Related PRs
(Add links)

Notify
@DANS-KNAW/core-systems

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (05cc7f4) 0.00% compared to head (3ec1390) 0.00%.

Files
Patch %
Lines

...nagedeposit/core/service/DepositStatusUpdater.java
0.00%
1 Missing :warning:

Additional details and impacted files
@@          Coverage Diff           @@
##           master      #4   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files          15      15
  Lines         327     323    -4
  Branches       19      18    -1
======================================
+ Misses        327     323    -4

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


refactor(push-lab): updated lab for PWA ILT v2

This commit does several things to update the code for v2 of the course.
This commit:

converts all JS to ES6
adds simple express servers to remove ambiguity from starting a server
updates the web-push package
bumps the copyrights to 2018
removes the unnecessary license from the readme
wraps all service worker registration code in a window.onload
removes IIFE from service worker
removes all references to itself as a codelab and instead calls it lab
bumps version number in package.json to 2.0.0

Testing whether the bot will run again if I comment


What is display in file ch2_r2_visualize_bits_qubits.py?

On file Quantum-Computing-in-Practice-with-Qiskit-and-IBM-Quantum-Experience/Chapter02/ch2_r2_visualize_bits_qubits.py you have the line:
display(plot_bloch_vector(bloch, title=bit))
But display isn't defined.
What is display?

Hi. Display is explained on page 98 in the book: Ch4 Starting at the Ground Level with Terra, Technical requirements

In the code examples in this book, you will sometimes see the following line of code:
from IPython.core.display import display
Depending on your environment, iPython might not display graphical output directly in the output. If this is the case, you can use the display() method to force the output, like this:
display(qc.draw('mpl'))
This example prints the quantum circuit qc to the iPython console.

And I agree that this description could have been added slightly earlier.
Hope that helps?

Hi!
Yes, it helps a lot but you need to add the import. The import is missing in file ch2_r2_visualize_bits_qubits.py.
Kind regards!

Thanks for pointing that out. Fixed!


Create CLI command to update all extensions

Something like: $ code --update-extensions.
Should not open VS Code. Should mimic Atom’s $ apm upgrade.

This would be really neat to have, as being able to keep all extensions up to date without actually having to go through: start, search for the updates, update then potentially restart in order to ensure when you need to start coding all distractions are already taken care of.

@equinox For your scenario, there is a Extensions: Update All Extensions command that can be used. Would that help?

@ramya-rao-a It's definitely a lovely feature, but sadly that requires having VSCode open. Being able to ensure all extensions are up to date without actually opening the editor would be best, IMO (which would mean I could automate the updating).

To add some context, I want to use this in a shell script to automate updating my extensions.

@equinox For your scenario, there is a Extensions: Update All Extensions command that can be used. Would that help?

Is there a way to run said command (or others) from the command line?

@equinox For your scenario, there is a Extensions: Update All Extensions command that can be used. Would that help?

Is there a way to run said command (or others) from the command line?

This is slow but solved my problem:
for ext in `code --list-extensions`
  do
    code --install-extension "$ext"
  done

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!

This is actively being worked here - https://github.com/microsoft/vscode/pull/199893

Verification Steps:

Have some extensions which require updates
From the terminal run code-insiders --update-extensions
Make sure this updates all outdated extensions and prints the appropriate information.

Tagging this verified based on https://github.com/microsoft/vscode/pull/199893#issuecomment-1889110935


Calling 'That's all at handstroke'

'That's all at handstroke' becomes Change method in the RR audio

Update RR to use That's all audio
Edit the call to just emit That's all

I like option two more - this is a side effect of using an API designed for Handbell Stadium, and hopefully people will notice the super early That's All and stop at handstroke anyway.  That reminds me actually, we should probably stop Wheatley from leaving the bells up at handstroke if --stop-at-rounds is set...


Add endpoints for comment of MessageSlice

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

Needs approval from an approver in each of these files:

istioctl/OWNERS

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

@fisherxu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
6f6651edfa0f0e163bd4e6a56aa283eb93ce5955
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@fisherxu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
6f6651edfa0f0e163bd4e6a56aa283eb93ce5955
link
/test istio-pilot-multicluster-e2e

prow/e2e-bookInfoTests-v1alpha3.sh
6f6651edfa0f0e163bd4e6a56aa283eb93ce5955
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

istioctl/OWNERS [rshriram]

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

New changes are detected. LGTM label has been removed.

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: lichuqiang, rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

istioctl/OWNERS [rshriram]

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

@fisherxu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
d00122412bf24f944280c4910bf2ccaa8a6952e2
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Only pre-set file extensions are supported

This does not work:
aconfig.LoaderFor(dest, aconfig.Config{
	Files:            files,
	FileDecoders: map[string]aconfig.FileDecoder{
		".yaml": aconfigyaml.New(),
		".yml":  aconfigyaml.New(),
	},
})

.yml files cannot be loaded and fail with cannot load config: unknown field in file error, because the struct tags are only auto-generated for the pre-set formats. The file format is then recognized via filepath.Ext, which is yml and not yaml.
IMHO the "format" should be returned by the file decoder, maybe as another interface method. I can try to prepare a PR if you'd like to go that way.
EDIT: example of how it might look like without breaking backwards compatibility: https://github.com/avast/aconfig/commit/fbab7665e54111e1cc90a431de747afdbcf7bbff

Nice. I thought about that long time ago and haven't found usage of yml in my projects or in projects of my friends, so I leave it.
Also I thought about a simpler fix, just add an yml entry when yaml is detected. I know, it sounds like a hack, but how many file formats make sense to support? :)

such solution (even hacky, but no horrible) will not add new dependencies, just an if. WDYT ?

(sorry for a delay, was on vacation)

See #74. Only 2 ifs :)

Yeah, that does fix my use case completely, thanks. I'm also for adding more documentation to FileDecoders config option - it makes it look like any arbitrary extension or even decoder is supported, when this is in fact not the case.

Good point. I will merge #74 now. Regarding FileDecoders and it's behaviour - would like to make it more reasonable, maybe there must be extension + format or as you've proposed decoder knows what it supports. Not sure at all.


[Docs]: Update JS Editor documentation

Is there an existing issue for this?

[X] I have searched the existing issues

Documentation Link
No response
Describe the problem
JS Editor will be coming out of beta by the end of March 2022 and we need to update the documentation with the latest changes.
Describe the improvement
@ApekshaBhosale to provide new updates
@rohan-arthur to edit/review and give product approval
@Pranay105 to do final editing and publishing

@ApekshaBhosale / @rohan-arthur / @Pranay105 - Please review the doc - updated version Async function settings

Review comments closed. cc- @rohan-arthur

Once the UI changes are updated to cloud the documentation can be released.

@rohan-arthur - Please review and close the ticket. Doc changes are published and available here.

doc is live! :)


Add a confirmation for before deleting the project

The problem faced currently?
There is no confirmation prior to deletion so accidental deletion happens

How can we solve it?
Give a prompt before deleting it

The concept of projects will be completely removed in the next release


Custom authentication

Hi
For corporate use inside an intranet, I'd like to implement a custom authentication scheme.
Basically, the SQLPAD is located behind a reverse proxy that will handle the authentication, then proceed to SQLPAD with special HTTP headers (X-Forwarded-User, X-Forwarded-Email, ...).
SQLPAD should then just check the headers to know the currently connected user. (There is no need for a signin page)
I tried to implement a passport strategy with no success. The passport strategy is something like https://www.npmjs.com/package/passport-reverseproxy or https://www.npmjs.com/package/passport-trusted-header
So, could you help and implement this strategy ? or, could you add a wiki page and some APIs so that anyone can implement its own authentication scheme ?
This would be much appreciated.
Many thanks for your great product

I have the same problem, it would be great to find a solution !

Thanks for the kind words @AtomBaf! I don't have any documentation handy at the moment or any direction other than to take a look at the couple passport implementations that are in SQLPad now...
I'm on the verge of organizing the project directory structure so it makes a bit more sense. Once I have that out of the way I can loop back and give you some tips?
I could even get something started and stubbed out as an experimental thing... but no promises beyond that... though maybe this is something that is easily testable since it is just inspecting http headers?
I'll come back to this with more info, but it might be a week or two :)

Here is code I am using for a reverse proxy in a PHP environment that already authenticates the signon. Provided for reference and as a test case.
<?php
namespace PMTDashboards;

# Authenticate this request
define('REQUIRED_AUTHORIZATION', 'management');
require '../../config-production.php';
$configuration = Configuration::production();

// https://raw.githubusercontent.com/michaelfranzl/no.php/master/no.php
# Proxy requests like this: IN => BACKEND => OUT
# Your Node.js app must support running in this subdir (no links to /)
$backendUrl = 'http://localhost:81' . $_SERVER['REQUEST_URI'];

$headersIn = [];
foreach ($_SERVER as $key => $value) {
  if (!preg_match('/^HTTP_/', $key) || # only keep HTTP headers
    preg_match('/^HTTP_HOST/', $key) || # let curl set the actual host/proxy
    preg_match('/^HTTP_ORIGIN/', $key) ||
    preg_match('/^HTTP_CONTENT_LEN/', $key) # let curl set the actual content length
  ) {
    continue;
  }
  $key = substr($key, 5);
  $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key))));
  $headersIn[] = "$key: $value";
}

$curl = curl_init($backendUrl);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headersIn);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); # follow redirects
curl_setopt($curl, CURLOPT_HEADER, true); # include the headers in the output
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); # return output as string

if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
    curl_setopt($curl, CURLOPT_POST, true);
    $postDataIn = file_get_contents('php://input');
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postDataIn);
}

$contents = curl_exec($curl); # reverse proxy. the actual request to the backend server.
curl_close($curl); # curl is done now

list($header_text, $contents) = preg_split('/([\r\n][\r\n])\\1/', $contents, 2);

$headers_arr = preg_split('/[\r\n]+/', $header_text);

// Propagate headers to response.
foreach ($headers_arr as $header) {
    if (preg_match('/^Location:/i', $header)) {
        # rewrite absolute local redirects to relative ones
        $header = str_replace($backend_url, "/", $header);
    }
    header($header);
}

//echo '<pre>';
//var_dump($backendUrl, $headersIn, $contents);

print $contents; # return the proxied request result to the browser


fix: Typo: 'synonomous' should be 'synonymous'

I'm using the default (v2) branch as the destination.  Hope that's correct.  If not, I can adjust.  Thanks!

Thanks 👍🏻


feat(vote): implement per IP vote uniqueness

Currently votes can be computed multiple times by same person (IP address).
We should include the IP on the votes table and check uniqueness before vote computing.

Fixed in 2e5c05b759ebfe551094fb4f92fde36a954436db


Paket conflicts with pinned prerelease version

Description
When I want to update a dependency, paket stops with a version conflict. This seems to be introduced with 2.66.8
Repro steps

The minimal dependency file
nuget npgsql 2.2.5-custom
nuget CustomPackage

The custom package has a dependency on npgsql >= 2.0 < 3.0 and npgsql is a custom build version by us.

paket install works fine

paket update works fine as well

paket update nuget CustomPackage crashes with the following error message:

Paket failed with:
        There was a version conflict during package resolution.
  Resolved packages:
   - CustomPackage 1.0.10047
  Could not resolve package npgsql:
   - Dependencies file requested package npgsql: 2.2.5-custom
   - CustomPackage 1.0.10047 requested package npgsql: >= 2.0 < 3.0

  Please try to relax some conditions.

Expected behavior
the dependency resolution should end without any error message as the npgsql package is in the scope of the dependency constraint of the CustomPackage
Actual behavior
Error message as above.
Known workarounds
Downgrading to paket 2.66.7
Related information

Windows
stable
.NET Runtime

Can you please create an zip with the repro sample?

Ok. Sent it to you via email.

mhm I did not get any mail

can you upload it here?

security scan of gmail took the mail down. :cry:
I'll send a link again. Cannot post it here, because it's partially internal.

please retry

seems to work for. thx


[Bug] Full Wallet Resync Yields Wrapped CAT Address as to Address in Transaction List

What happened?
When performing a full resync of the wallet, the transaction list for CAT tokens that are sent is populated with the wrapped CAT address and not the original sending address.
The issue being that if users attempt to send tokens to that wrapped CAT address they will incidentally double wrap their CAT.
Prior to resyncing (note the recent sent to address ends in 25g2):

After resyncing (via deleting the wallet db, note the recent sent to address now ends in ezsx):

Version
2.4.2
What platform are you using?
Windows
What ui mode are you using?
GUI
Relevant log output
No response

For now we are going to remove the display of the To: address to eliminate the possibility of double wrapping.

Umm. So far I couldn't reproduce this problem.
Even if I deleted wallet db file to force re-sync, to address still shows the original address.
@BrandtH22 How could you know that the address xch1...ezsx was the wrapped (outermost) CAT address?
Prior to resyncing section there is already xch1...ezsx and it is likely the standard address.
I assume that you sent the CAT to your own addresses generated with a different derivation index because you received 0.7 just after you sent 0.7 to xch1...ezsx.

PR 2446 addresses this by not showing or allowing user to copy full address


Watch downloads

This PR allows to watch downloads. It adds watchDownloads and unwatchDownloads methods to the hypercore service. If watching downloads, onDownload is called towards the client for each downloaded block. Only the seq is transferred, not the full block. Download events are disabled by default, to skip the overhead for clients that don't need them.
This is a part of #2 and a step towards running kappa-style apps on top of hyperspace, especially for indexing sparsely synced hypercores in live mode.
Instead of adding watchDownloads and unwatchDownloads methods I was also considering of adding a single options method with a OptionsRequest { bool watchDownloads  = 1 }. When/if other session options came along that could make this more straightforward instead of adding getters and setters for each option - not sure though.

CI fails because this depends on the two PR linked through the references. Not sure if there's a nice way to run CI for such interdependent PRs.


Migrate to argon2id for storing passwords

This PR is for migrating the password hashes used by Haxelib to Argon2id instead of Md5, which would resolve #314.
Argon2 is a modern and very secure hashing algorithm. I created basic neko bindings for this implementation: https://github.com/P-H-C/phc-winner-argon2
With this PR, the proposed migration path would look like this:

The existing database must be updated. This involves generating a salt for each user, rehashing the Md5 hash with the new algorithm, and setting the hashmethod field to "md5" for every user. This should preferably be done via a Haxe script (so the existing hash/salt functions can be used), however, I wasn't sure where to put this...

This PR is merged. After this, new users will have their passwords hashed directly with argon2id, while old users will have their password hashed with md5, and rehashed with argon2id, and then updated properly to argon2id if their credentials are correct. This means Md5 is gradually removed completely as users login, without requiring a mass password reset.

Support for old clients for the submit and register commands must be removed. This is because old clients hash the password client-side, which means on the server we cannot know what the original password is, which is needed to properly migrate to argon2id. This is discussed in greater detail in #314. The silver lining is that we can give a helpful error message to old clients with the cause of the error as well as the command to update haxelib install haxelib. Once we get closer to a release it might be worth also stating in this error a minimum version required to register or submit libraries. To handle this, the api version was incremented from 3.0 to 4.0.

It is important to note that this method of rehashing an unsalted Md5 hash with argon2id is much less secure than simply using argon2id due to password shucking, so it cannot be a permanent solution. Perhaps we might have to eventually reset passwords for inactive users which still use the legacy hashing method. However, rehashing is a reasonable transitionary step as it immediately gives a security boost to all accounts.

Perhaps we could make a release of an older client version as well which updates it to api version 4.0, without all the other changes currently on the main branch.

Things that definitely require feedback:

Earthfile changes. I'm not 100% sure that all the changes fit the style and structure of the current file, so it would be helpful if @andyli could double check this
We need to decide on exactly what parameters we want to use for hashing. To give a brief overview, these are: parallelism, time cost, memory cost. We can also change the hash length and salt length. To make this decision we need to consider what will give us good security without causing too much of a server slow down.

I implemented the script to handle updating the database (i.e. rehashing the md5 hashes with argon2id). So that it only happens once, there is an extra "Meta" table which has a single record and keeps track of whether the rehashing has been done. For now, this runs in SiteDb.init, which is what also creates the database's tables if they do not exist yet.
However, one thing that is missing is actually altering the tables for the already running database. It would be ideal if we could handle this automatically, that way it is easier for anyone running their own instance of haxelib to update as well. In order to alter the tables, we need to run skeema push somewhere, which will update the tables in line with the changes to the schema files in the skeema directory. I'm not sure where to put this command. Ideally, it should run only once, whenever the server is restarted after an update. We could also move the script for updating the hashes wherever we end up putting this extra command, to avoid redundant checks.
For the algorithm parameters, I think it is fine to use the default ones for now. If we need to adjust them in the future, with this system implemented like this, it won't be hard to change. The important thing is to move away from MD5 as soon as possible.

We also need record-macros to be updated for the tests to build: https://github.com/HaxeFoundation/record-macros/pull/62

@andyli Hi, do you have any idea where the best place to run skeema push would be, so the table schemas can be automatically updated?


field constraints support

some fields not only must have iso8583 types, but also must conform to some other stuff like len of field, or number of spaces or digits , may be cool to add Validate func(field.Field) error to spec?
So after we fill the fields and Validate func not nil we can call it and get reasonable error if it present?
Also we can create predefined funcs as example for date time fields for example...
i think that this will be cool

@vtolstov it you have a chance to make a draft/proposal for this that would be really helpful.
We can add validation to each field (Numeric, String, Datetime, etc.) or we can add Validation to the Spec. Maybe for the spec we can add something like a format that will be passed to the field validator. What are your thoughts?


Fixed update state on unmounted component error.

Can't perform a React state update on an unmounted component error fix
Added unmount AnimatedNumber component button in demo

@Leocardoso94 any chance of this getting merged?

@Leocardoso94 any chance of this getting merged?

@jfabellera hi, not sure maybe in future. Try sa-animated-number-react while new version IS available. Its forked from this repo with fix

@jfabellera hi, not sure maybe in future. Try sa-animated-number-react while new version IS available. Its forked from this repo with fix

@ErikParso thanks! It's working great

@ErikParso thanks! It's working great

Waiting for the new release as well.  Thanks for sa-animated-number-react workaround.

Waiting for the new release as well.  Thanks for sa-animated-number-react workaround.

Thanks for your workaround @ErikParso.
I think my changes in https://github.com/Leocardoso94/animated-number-react/pull/28 are probably a better approach to resolving this, as it prevents the animation from running at all after unmount (which prevents the modification of state) instead of simply preventing the ongoing animation from attempting to modify state.
The additional changes to package.json and the addition of the GH action config files should ideally be kept in another branch in your own repo rather than in the PR, as the maintainer won't want them merged into this repo.

@elyobo it was just Quick fix to get rid of the error. After a long time not reviewing this PR by owner i decided to create own release because we needed fix in production. Anyway yours solution seems to be better and ill abandon this one. Hope it was tested as well.
This package seems to be dead and I personally suggest to find another one.

Thanks @ErikParso - are you accepting PRs on your fork? I came here because my colleague started using yours and wanted to keep an eye on when the fix was merged upstream :)

@elyobo yes feel free to create PR in fork and ill deploy it

Thanks, I'll get one up this evening.

Added https://github.com/ErikParso/animated-number-react/pull/1


Metrics and Alerting for Metris

Description
Changes proposed in this pull request:

Report general statistics (failed requests, total requests, sent request duration)
Report error count of getting list with runtimes from KEB
Report error count of adding subaccount to cache
Report error count of getting metrics from the cluster
Report error count of getting kubeconfig from the cluster
Report error count of sending metrics to EDP
Report number of clusters scraped
Report ratio between number of current clusters scraped to previous

To Do:

Configure alerts

Related issue(s)

#491

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

/retest

/retest

/test pre-control-plane-components-kyma-metrics-collector

/test pre-control-plane-components-kyma-metrics-collector

/hold

/retest

/retest

/retest


unable to decode nSig: ReferenceError: myFunction is not defined at :1:1(0)

又有新的错误了，老大我们想帮忙，我研究了代码，发现在截取一个js，然后执行，但原理不是很懂，网上也没搜到，有没有相关文章阅读推荐的

I'm having the same issue. I was using the example code for downloading a single URL. The Error message seems to originate from the GetStream() method
I'm new to Go, so I don't really know much of how to solve this ;-;

貌似是匹配 } 的时候，被 "}\u2284(" 影响了


Fixed POST on actions, safe methods not expect an Origin header durin…

…g a CORS request and data stream enforce name not empty.
Fixes #110 and #114

Pull Request Test Coverage Report for Build 385

13 of 19 (68.42%)  changed or added relevant lines in 4 files are covered.
23 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.7%) to 98.67%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

source/Cosmos-CommandLineHandler/CosmosCommandLineHandler.class.st
0
6
0.0%

Files with Coverage Reduction
New Missed Lines
%

source/Cosmos-API-Actions/HTTPRequestParser.class.st
4
89.74%

source/Cosmos-API-Actions/HTTPHeadersParser.class.st
9
0.0%

source/Cosmos-API-Actions/ActionsAPI.class.st
10
82.14%

Totals

Change from base Build 382:
-0.7%

Covered Lines:
4079

Relevant Lines:
4134

💛  - Coveralls


sudo npm install fails

Most likely a bug with go-npm (https://github.com/sanathkr/go-npm) because it handles the installation. But filing a Issue here nevertheless for other folks to be aware of. A fix is on the way.
sudo npm install -g aws-sam-local
Password:
-
><EMAIL_ADDRESS>postinstall /Users/sanathkr/.nvm/versions/node/v4.3.0/lib/node_modules/aws-sam-local
> go-npm install

Downloading from URL: https://github.com/awslabs/aws-sam-local/releases/download/v0.1.1/sam_0.1.1_darwin_amd64.tar.gz
fs.js:681
  return binding.rename(pathModule._makeLong(oldPath),
                 ^

Error: EACCES: permission denied, rename 'bin/sam' -> '/Users/sanathkr/.nvm/versions/node/v4.3.0/bin/sam'
    at Error (native)
    at Object.fs.renameSync (fs.js:681:18)
    at /Users/sanathkr/.nvm/versions/node/v4.3.0/lib/node_modules/aws-sam-local/node_modules/go-npm/bin/index.js:62:12
    at /Users/sanathkr/.nvm/versions/node/v4.3.0/lib/node_modules/aws-sam-local/node_modules/go-npm/bin/index.js:51:9
    at ChildProcess.exithandler (child_process.js:204:7)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:172:7)
    at maybeClose (internal/child_process.js:821:16)
    at Socket.<anonymous> (internal/child_process.js:319:11)
    at emitOne (events.js:77:13)
npm ERR! Darwin 16.6.0
npm ERR! argv "/Users/sanathkr/.nvm/versions/node/v4.3.0/bin/node" "/Users/sanathkr/.nvm/versions/node/v4.3.0/bin/npm" "install" "-g" "aws-sam-local"
npm ERR! node v4.3.0
npm ERR! npm  v2.14.12
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>postinstall: `go-npm install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'go-npm install'.
npm ERR! This is most likely a problem with the aws-sam-local package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     go-npm install
npm ERR! You can get their info via:
npm ERR!     npm owner ls aws-sam-local
npm ERR! There is likely additional logging output above.

><EMAIL_ADDRESS>preuninstall /Users/sanathkr/.nvm/versions/node/v4.3.0/lib/node_modules/aws-sam-local
> go-npm uninstall

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/sanathkr/workspace/GoWorkspace/src/github.com/awslabs/aws-sam-local/npm-debug.log

This is a problem because the post-install npm script runs as non-sudo user, however /Users/sanathkr/.nvm/versions/node/v4.3.0/lib/node_modules/aws-sam-local directory is created as root user. post-install script isn't able to move the file from a root directory to non-root directory.
A solution would be to have go-npm download binaries to /tmp directory instead of aws-sam-local/bin. What does /tmp mean in Windows is still up for debate. Needs a bit more thinking.

Does this happen on npm v4.x as well? I only ask because npm@5 has changed the way permissions are being used and that's caused some bugs for install scripts + root, ie: https://github.com/npm/npm/issues/17851

It happens on npm 2 actually, whatever is bundled with Node 4.3.0

Ah, yeah, I should've spotted that from the install log – ok, probably not related then!

Hmm, I'm getting the same issue with a sudo install. But without a sudo I get other permissions issues:
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "aws-sam-local"
npm ERR! node v7.10.0
npm ERR! npm  v4.2.0
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

@georgmao - on my machine, /usr/local/lib/node_modules is owned by my user.
Maybe the first time you ran npm was as root, so those directories were created with root ownership.

For some reason mine was some weird user:
drwxr-xr-x   8 24561     wheel           272 Aug 21 09:38 node_modules

A chown to my user fixed it 👍
chown -R georgmao node_modules/

I have the same issue:

<EMAIL_ADDRESS>postinstall /usr/local/lib/node_modules/aws-sam-local
go-npm install

Downloading from URL: https://github.com/awslabs/aws-sam-local/releases/download/v0.2.0/sam_0.2.0_linux_amd64.tar.gz
fs.js:681
return binding.rename(pathModule._makeLong(oldPath),
^
Error: EACCES: permission denied, rename 'bin/sam' -> '/usr/local/bin/sam'
at Error (native)

Might be worth adding this to the documentation?
https://docs.npmjs.com/getting-started/fixing-npm-permissions

(Option 1 from that document should fix most ppl's permissions issues)
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

yeah looks good to me.

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
did the trick from me. Thanks mhart

For those who look only on last comment (like me): don't use chown -R ... in case when npm config get prefix points to /usr. Read carefully this article instead: https://docs.npmjs.com/getting-started/fixing-npm-permissions

This pull request on go-npm should allow for a local rather than global installation of aws-sam-local - sanathkr/go-npm#3
Installing aws-sam-local locally avoids the issues with permissions and let's you control the version of the module from package.json.

Can someone please edit or remove [this]https://github.com/awslabs/aws-sam-local/issues/66#issuecomment-324207455)!? That's really dangerous if /usr is your node prefix!

Not sure this issue should be closed. I have followed the steps from Option 2 from the NPM fixing-npm-permissions post
 . Used option 2 because as the instructions list npm config get prefix resolves to /usr.
If anyone wants to reproduce, I am attempting to install sam-local into the following Docker image:
https://hub.docker.com/r/cloudbees/jnlp-slave-with-java-build-tools/tags/ (tag 2.0.1)
Run as the Jenkins user:
fs.js:809
  return binding.rename(pathModule._makeLong(oldPath),
                 ^

Error: ENOENT: no such file or directory, rename 'bin/sam' -> '/home/jenkins/.npm-global/bin/sam'
    at Error (native)
    at Object.fs.renameSync (fs.js:809:18)
    at /home/jenkins/.npm-global/lib/node_modules/aws-sam-local/node_modules/go-npm/bin/index.js:62:12
    at /home/jenkins/.npm-global/lib/node_modules/aws-sam-local/node_modules/go-npm/bin/index.js:51:9
    at ChildProcess.exithandler (child_process.js:197:7)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:877:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
npm ERR! Linux 4.9.49-moby
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "aws-sam-local"
npm ERR! node v6.9.4
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>postinstall: `go-npm install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'go-npm install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the aws-sam-local package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     go-npm install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs aws-sam-local
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls aws-sam-local
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/jenkins/npm-debug.log

Run as root:
sh: 1: go-npm: Permission denied
npm ERR! Linux 4.9.49-moby
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "aws-sam-local"
npm ERR! node v6.9.4
npm ERR! npm  v3.10.10
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR<EMAIL_ADDRESS>postinstall: `go-npm install`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'go-npm install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the aws-sam-local package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     go-npm install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs aws-sam-local
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls aws-sam-local
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/jenkins/npm-debug.log

In windows I have the same error:
C:\WINDOWS\system32>npm install -g aws-sam-local

><EMAIL_ADDRESS>postinstall C:\Users\fabio.jose\AppData\Roaming\npm\node_modules\aws-sam-local
> go-npm install

Downloading from URL: https://github.com/awslabs/aws-sam-local/releases/download/v0.2.2/sam_0.2.2_windows_amd64.tar.gz
fs.js:742
  return binding.rename(pathModule._makeLong(oldPath),
                 ^

Error: ENOENT: no such file or directory, rename 'C:\Users\fabio.jose\AppData\Roaming\npm\node_modules\aws-sam-local\bin\sam.exe' -> 'C:\Users\fabio.jose\AppData\Roaming\npm\bin\sam.exe'
    at Object.fs.renameSync (fs.js:742:18)
    at C:\Users\fabio.jose\AppData\Roaming\npm\node_modules\aws-sam-local\node_modules\go-npm\bin\index.js:62:12
    at C:\Users\fabio.jose\AppData\Roaming\npm\node_modules\aws-sam-local\node_modules\go-npm\bin\index.js:51:9
    at ChildProcess.exithandler (child_process.js:202:7)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:192:7)
    at maybeClose (internal/child_process.js:890:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `go-npm install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\fabio.jose\AppData\Roaming\npm-cache\_logs\2017-11-03T12_32_03_143Z-debug.log

Following fixed for me
npm config set unsafe-perm=true

pankajsamsung's "npm config" change above fixed it for my issue, thx

last solution worked for me in Windows bash environment

Setting unsafe-perm=true did not fix this for me.
Windows 10, gitbash shell, node 8.9.1, npm 5.5.1
$ npm install -g aws-sam-local

><EMAIL_ADDRESS>postinstall d:\npm\npm\node_modules\aws-sam-local
> go-npm install

Downloading from URL: https://github.com/awslabs/aws-sam-local/releases/download/v0.2.4/sam_0.2.
4_windows_amd64.tar.gz
fs.js:766
  return binding.rename(pathModule._makeLong(oldPath),
                 ^

Error: ENOENT: no such file or directory, rename 'd:\npm\npm\node_modules\aws-sam-local\bin\sam.
exe' -> 'd:\npm\npm\bin\sam.exe'
    at Object.fs.renameSync (fs.js:766:18)

npm install -g go-npm then npm install -g aws-sam-local worked for me :)

pankajsamsung's fix worked for me as well

npm config set unsafe-perm=true

worked for me on mac os

npm config set unsafe-perm=true

worked for me on mac sierra too

npm config set unsafe-perm=true
worked for me on ubuntu 17.10 too. Thanks @Rajjae

After setting npm config set unsafe-perm=true and chowning my /usr/local/lib/node_modules directory to myself I can successfully sudo npm install -g.
$ node -v
v7.10.1

$ npm -v
5.8.0

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.2 LTS
Release:	16.04
Codename:	xenial

npm config set unsafe-perm=true also worked for me
I have
npm -v
6.0.1
node -v
v8.11.1

Worked for me on Ubuntu 16.04 with
npm config set unsafe-perm=true
npm install -g go-npm
npm install -g aws-sam-local

Still required in 2019! npm config set unsafe-perm=true

@iceback We no longer support npm and is very much out of date.
New install instructions can be found here: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html

Thanks for picking up!  Earlier I was chagrined to think that I had
missed a step in installing sam.  I had followed the link you reference,
and today abortive installation had no influence on my problem.
You can see that problem at
https://forums.aws.amazon.com/thread.jspa?messageID=916550&#916550
On 9/18/19 4:24 PM, Jacob Fuss wrote:

@iceback https://github.com/iceback We no longer support npm and is
very much out of date.
New install instructions can be found here:
https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/aws-sam-cli/issues/66?email_source=notifications&email_token=AACY7PEFRJAR36MU5ZKREDDQKKTA5A5CNFSM4DXFWMLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7BUDVY#issuecomment-532890071,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACY7PBKPTK2LSFZUKBEWULQKKTA5ANCNFSM4DXFWMLA.


Allow for older python and empty dataset with attributes

Overview
This PR updates the repr so that DataTree still shows the xarray dataset when there are no data, but there are important attributes. Additionally, utils.py has been added for the removeprefix and removesuffix method to enable their use for python 3.9 and older. Now the package should require a minimum of python 3.7.
Checklist

[X] Tests added
[X] Passes pre-commit run --all-files
[X] New functions/methods are listed in api.rst

Hi @TomNicholas,
I'm Don. Thank you for creating this really awesome package. I am currently working on echopype, a package for sonar data processing. My team and I are currently planning to utilize your datatree package to improve the viewing and access of our data, which contains many groups and datasets.  I notice that in your demo in the README, datatree seem to be able to view empty dataset with just attributes, but current version doesn't do that. I dug into the code and seems like you're only checking for has_data and not has_attrs. So I created this PR to fix that. Also, I've added compatibility for python < 3.9, since our software is not quite in that minimum python yet. Thank you for your review. Let me know if there are anything that I missed in this PR. Have a great day!


Build locally instructions

Hello there!
I find your project quite interesting, is there any possibility that you could share instructions on how to build it loacally?

Hey, so after cloning repo you'll need to run npm i to install all required node packages and then npm start to start local server. You will see localhost port on which the app is hosted.


encoding/openapi: add support for paths section

Is your feature request related to a problem? Please describe.
Currently when doing --out openapi the paths section of the OpenAPI spec would be omitted in the generated output even if a paths value exist in the cue input.
Describe the solution you'd like
It would be nice if paths could be defined along side components.
Describe alternatives you've considered
One alternative could be layer a _path.cue file on top of the generated components.cue, but you have to resolve the components reference yourself.
Additional context
Example:
paths 🍡 cat foo.cue
info: {
  title: "Foo API"
  version: "v1"
}

#Foo: bar: number

Paths: "/foo":  post: {
  operationId: "foo"
  summary: "foo it"
  responses: "200": content: "application/json": schema: #Foo
}

Currently generate:
{
    "openapi": "3.0.0",
    "info": {
        "title": "Foo API",
        "version": "v1"
    },
    "paths": {},
    "components": {
        "schemas": {
            "Foo": {
                "type": "object",
                "required": [
                    "bar"
                ],
                "properties": {
                    "bar": {
                        "type": "number"
                    }
                }
            }
        }
    }
}

While it would be nice to have something like this instead:
{
    "openapi": "3.0.0",
    "info": {
        "title": "Foo API",
        "version": "v1"
    },
    "paths": {
        "/foo": {
            "post": {
                "operationId": "foo,
                "summary": "foo it",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/#Foo"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    "components": {
        "schemas": {
            "Foo": {
                "type": "object",
                "required": [
                    "bar"
                ],
                "properties": {
                    "bar": {
                        "type": "number"
                    }
                }
            }
        }
    }
}

This issue has been migrated to https://github.com/cue-lang/cue/issues/386.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Restyling previously styled component doesn't work

So, say I have a React Component styled with styled-component named AppBar. And then, I want to change that component position.
So, I wrap that component in with const PositionedAppBar = styled(AppBar). (As per this doc)
But, it seems that the newly wrapped component, ignore it's new css properties.
Maybe I missed something??
Below I have also the codesandbox to replicate the problem. In that sandbox, I want to make the appbar position to be at the bottom (nonsense I know, it's just to replicate the problem)
Environment
npx envinfo --system --binaries --npmPackages styled-components,babel-plugin-styled-components --markdown --clipboard
returns

npx: installed 1 in 5.785s
System:

OS: Windows 10
CPU: x64 AMD FX-9800P RADEON R7, 12 COMPUTE CORES 4C+8G
Memory: 2.14 GB / 7.46 GB

Binaries:

npm: 6.2.0 - C:\Program Files\nodejs\npm.CMD

(node:9544) UnhandledPromiseRejectionWarning: Error: The system cannot find the path specified.
at Function.e.exports.sync (C:\Users\moses\AppData\Roaming\npm-cache\_npx\9544\node_modules\envinfo\dist\cli.js:2:7690)
at Object.copySync (C:\Users\moses\AppData\Roaming\npm-cache\_npx\9544\node_modules\envinfo\dist\cli.js:2:104342)
at Object.t.writeSync.e [as writeSync] (C:\Users\moses\AppData\Roaming\npm-cache\_npx\9544\node_modules\envinfo\dist\cli.js:2:122592)
at C:\Users\moses\AppData\Roaming\npm-cache\_npx\9544\node_modules\envinfo\dist\cli.js:2:123354
at Promise.all.then.e (C:\Users\moses\AppData\Roaming\npm-cache\_npx\9544\node_modules\envinfo\dist\cli.js:2:123369)
at process._tickCallback (internal/process/next_tick.js:68:7)

(node:9544) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:9544) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Reproduction
https://codesandbox.io/s/2jx2w76070
Steps to reproduce
Expected Behavior
(In my codesandbox) the appbar become positioned at the bottom-most of the screen
Actual Behavior
(In my codesandbox) the appbar stays on top.

@moseskarunia I think you just forgot to pass classaName down. Try replacing
class AppBar extends Component {
  render = () => {
    return <StyledAppBar />;
  };
}

with
class AppBar extends Component {
  render = () => {
    return <StyledAppBar className={this.props.className} />;
  }
}

Docs: https://www.styled-components.com/docs/basics#how-do-styled-components-work-within-a-component

@kachkaev ah right. silly me. Thanks.


Add optional error handling function to Handler trait

Operators may perform additional validation beyond what's possible with the structural validation in the CRD. Additionally, they may call out to external services. Both of those things significantly increase the chances of there being some sort of error when syncing a parent.
We want to make it as easy as possible for operators to provide visibility to errors. Operators are typically used by people who don't (and shouldn't have to) understand all of the details of how everything works behind the scenes. It's a good practice to set a special status on the parent when an error occurs, because it allows users to easily see when an error occurs. Roperator currently supports this, but it does nothing to help make it easier.
Another good way to provide visibility to errors is emitting Events. Unlike parent statuses, it's easy to have a generic process that watches only for events that indicate an error has occurred. Events also form a historical record of errors, which can be especially useful when there's transient issues. The parent status typically only shows the current status, but it might not show a transient error that occurred in the past.
Proposal
The idea is to add support for events and additionally to also allow operators to opt in to some reasonable automatic defaults for handling errors. This can be done by adding an additional function to the Handler trait that looks something like the following:
fn on_error(&self, description: &ErrorDescription) -> ErrorResponse;

The ErrorDescription and ErrorResponse types would be something like:
pub struct ErrorDescription<'a> {
    /// True if the error was returned from a `finalize` function, false if it was from `sync`
    pub is_finalize_error: bool,
    /// The sync request that was being handled when the error occurred
    pub parent: &'a roperator::handler::SyncRequest,
    pub error: roperator::error::Error, // a Box<dyn RoperatorError>, which supports downcasting
    /// The number of _consecutive_ errors
    pub error_count: u64,
}

pub struct ErrorResponse {
    /// how long to delay before retrying this particular parent
    pub retry_in: std::time::Duration,
    /// If event is Some, then roperator will emit an event that includes these details
    pub event: Option<EventDetails>,
    /// see below for an explanation of how this fields would be used
    pub status_error: Option<(String, serde_json::Value)>,
}

pub struct EventDetails {
    /// A short, machine-readable string describing the reason for the error event
    pub reason: String,
    /// A human-readable description of what happened
    pub message: String,
}

Details
Non-fallible function
The on_error function must not fail, or else we could easily end up in "turtles all the way down" scenario. There's just no reasonable way to try to handle errors in the error handler. The function signature does not allow for returning a Result in order to make this clear, and to discourage authors from making fallible function calls, e.g. HTTP calls to an external service.
Error causes
Errors may be cause either by the Handler itself returning a Result::Err variant, or by an error that roperator encounters when communicating with the api server. Depending on the cause of an error, it may or may not be possible to emit events or set a parent status. For example, if there error is caused by a network error that prevents communication with the api server, or an RBAC misconfiguration that prevents roperator from creating events. We'll need to make it clear that this error handling is done on a best-effort basis. We should also support testing this error handling behavior in the TestKit.
Parent Status
Given that errors may originate from outside the Handler itself (or even after the parent status has already been updated), it makes the semantics of the status_error field potentially confusing. The following sequence is one example of a potentially tricky situation:

The parent and all children are just fine and everything has been synced and is in a good state
Someone updates the spec of the parent, which triggers a sync.
The handler returns an error

The reason this is potentially ambiguous is that the status of the parent should continue to reflect the actual state of the child resources, and those resources may still be running just fine. But we want the status to also reflect the fact that we were not able to sync the latest changes to the spec.
These type of scenarios imply that we should treat the status returned from the error handling function as additive. In other words, it should be added to the existing status instead of replacing it entirely. Thus, the status_error should not represent the entire status, but rather only the portion that describes the error. If status_error is Some, then it will contain a tuple that represents both the key and the value to add to the status. For example, returning status_error: Some(("error".to_string(), Value::String("my error message".to_string()) )), would cause the json "error": "my error message" to be added to the existing status instead of replacing it.
Default Behavior
We want to make it as easy as possible to write operators that follow best practices, but in this case the events behavior should probably be opted into explicitly by the operator authors, since emitting events requires special permissions that may not be obvious.
For the status, though, it may make sense to add a basic error message automatically. We already add the observedGeneration field to the status, so there's some precedent for that. And the risk or running into authorization errors is minimal, since we already update parent statuses as a matter of course.

Some errors may not need a "retry," they should instead be marked as "fatal." Then, the parent object could be omitted from syncs until the fatal error is fixed.

Closing this, as it is mostly addressed by #25 et al. The one piece that isn't covered is emitting events, but I think that may be better off as a separate issue anyway.


Update nl.toml

Dutch language:
Correction: power instead of voltage.
Refine some words to more popular language.

Please edit the language files via Hosted Weblate for evcc/evcc. Thanks

Thank you for using translation on Weblate!

Done on Weblate too


Hamza's ProtoDUNE-VD geometry updates

Branch to be merged to origin/develop (our main branch).

Thanks for the review. It seems to be quite robust, so I proceed to merge.

Proceed to delete hamza_protodunevd_updates branch


Fixes for unavailable superclass conformances

Introduce two related fixes to avoid using the unavailable conformance of a superclass as if it should be inherited by the subclasses. This is incorrect, because subclasses could define their own conformance to the same protocol. The two places are:

Requirement machine: don't canonicalize away conformance requirements based on an unavailable conformance of a superclass requirement
Conformance lookup table: don't inherit unavailable conformances

Fixes rdar://91853658 and rdar://89992569

@swift-ci please smoke test

@swift-ci please smoke test


Replace Material UI Input components with Input components from the @olympusdao/component-library

Replace Material UI Input components with Input components from the @olympusdao/component-library

Hi @alexleventer, I want to work on this task. Are all the input components used in different files needed to change or there are some specific files in which the changes will be done?

Yes - all of the Inputs in the frontend app.
Any import { Input } from @material-ui/core should be replaced with the Input from the component library.

It'd be great if you could break each input into a mini PR vs. a mega PR that changes all Inputs. Thank you!


Those nvm branches

Following up with #2418, nvm has two-pageful of branches
https://github.com/nvm-sh/nvm/branches/all
most of them are ages and have been merged.
Our installation will be much smaller if the staled branches are deleted.
Moreover, Readme says there is a v0.37.2 branch, in the Git Install section. However, I didn't find it.
Is the branch gone, or the Readme is still correct by the problem is on my side?
Thanks

v0.37.2 is a tag, not a branch.
I very much doubt the cloned repo would be smaller without the branches, but either way, the install script uses git commands that compress the repo.

Gotya. thanks


Update lock file

You can maybe add --lockfile_mode=error in the CI build to prevent it from going out-of-date.

Ah, probably not for the last_green jobs since the Bazel version used could affect the lockfile. And for the same reason, you can add a .bazelversion file to pin the Bazel version to ensure the lockfile won't go out of date automatically when a new Bazel version is released.


exclude all COFF binaries from "symbol_presence" test-2

Original  #17194.
Not resolved by  #17119!

Original #17194.
Not resolved by #17119!

Have you really tried the patch from #17119? If so, what is the $^O value on Cygwin perl?

Tomáš Mráz wrote:

Original #17194.
Not resolved by #17119!

Have you really tried the patch from #17119?

Really?!

If so, what is the $^O value on Cygwin perl?

Why someone thing that this is msys? Dunno what you want to know.
FYI
$ uname -a
CYGWIN_NT-10.0 .... 3.3.2(0.341/5/3) 2021-11-08 16:55 x86_64 Cygwin
Regards,
Roumen Petrov

Try this:
perl -e 'print "$^O\n"'

Information from build system is needless. Only specified build target is enough:
if $^O eq 'msys' or $^O eq 'MSWin32' or config('target') =~ m|^mingw|;
and target for cygwin is well known.

I am seeing this symbols_presence test failure using Cygwin 3.3.6 and Openssl tag openssl-3.0.7. Is there any resolution to this for Cygwin? I had to add
plan skip_all => "Test is disabled on Cygwin" if config('target') =~ m|^Cygwin|;
in file 01-test_symbol_presence.t to skip it.

Questions to resolve this issue have been asked, and unanswered.
Marking as inactive, to be closed at the end of the 3.4 dev cycle, barring further input

На 10.06.24 г. в 3:29 ч., Neil Horman написа:

Questions to resolve this issue have been asked, and unanswered.

Ho-ho-ho!
Ho-ho-ho!

Marking as inactive, to be closed at the end of the 3.4 dev cycle, barring further input

"...unanswered..." Really?!?
If someone read posts will see proposed fixes!
Just read!
OMG,
Roumen


OpenTerrainGenerator Skylands Bug

I created a world with the Skylands OpenTerrainGenerator. But instead of void at height 0 there is Bedrock and I dont know how to change it into Air or Void.

You want to go to the Skylands worldconfig (found in mods/Openterraingenerator/worlds/Skylands) and make sure DisableBedrock is set to true

it is set to true. Thats why I dont know whats wrong.


Added simple Column and Schema classes

Fix #146.
Need these since SqlTable will be instantiated with Schema rather BlockLayout. This seems like the minimum functionality we need now, but happy to discuss if I overlooked something.

Coverage increased (+0.01%) to 98.349% when pulling 68ab404412d28e0e8acc709d36647a3d0a98c2e8 on mbutrovich:schema_column_etc into 6815369e601f37041a474ff0f81799a1e1dd26ac on cmu-db:master.


chore: bump version to 0.11 to reflect breaking changes

https://github.com/lancedb/lance/commit/33d576f9d6d5783b7678d0950dfb2d3abd2cb837 introduced a breaking change but did not bump the minor version.  This PR only bumps the minor version.

@wjones127
It looks like check_versions.py is still broken.
I notice it only seems to be looking at the minor/patch versions when looking at the latest release:
    latest_release = repo.get_latest_release()
    last_version = parse_version(latest_release.tag_name[1:])

However, when looking at the current code it seems to be using major/minor/patch.  Is this correct or am I missing something?
    new_version = parse_version(get_versions())

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

Project coverage is 80.66%. Comparing base (fe2d874) to head (f0e986b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2332      +/-   ##
==========================================
+ Coverage   80.64%   80.66%   +0.02%
==========================================
  Files         192      192
  Lines       56684    56684
  Branches    56684    56684
==========================================
+ Hits        45713    45725      +12
+ Misses       8404     8396       -8
+ Partials     2567     2563       -4

Flag
Coverage Δ

unittests
80.66% <ø> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

I notice it only seems to be looking at the minor/patch versions when looking at the latest release:

The [1:] is chopping the v off of the tag. Though not sure if that's what you are talking about here.

This is very weird. Maybe actions/checkout@v2 needs to be updated to actions/checkout@v4? I wonder if it's checking out the wrong branch somehow.

The [1:] is chopping the v off of the tag. Though not sure if that's what you are talking about here.

Ah, in my brain I was thinking it was already split at this point.  You're right that chopping off the v should be safe.

@wjones127 because the action was run as pull_request_target it does not run in the context of the PR but rather in the context of the main branch.  So the latest version was appearing as 0.10 even though this PR bumps it to 0.11.
Since the PR doesn't need access to any secrets I went ahead and changed it to pull_request.
However, another way we could fix this is to change the action to specify the SHA to checkout manually: https://github.com/actions/checkout/issues/518#issuecomment-890401887
This should be safe since we aren't actually executing any code in the checked out repo, only looking at the version files.
Let me know if you have a preference for one approach over the other.