Feature: Spherical calculations

While I'm hesitant to implement a full blown GEOGRAPHY type, I do think that having a couple of spatial functions using geodetic algorithms operating on a sphere would be a good complexity/usefulness compromise.

ST_Geodetic_Area
ST_Geodetic_Length
ST_Geodetic_Distance

I don't if it is help, but actually I used the rust port of https://geographiclib.sourceforge.io/C++/doc/index.html for geodesic calculation.

I'm currently trying to replicate the following
ST_DistanceSphere(
        ST_MakePoint(lon, lat),
        ST_MakePoint(last_lon, last_lat)
 ) AS distance_m,

with
ST_Distance(
        ST_Point(lon, lat),
        ST_Point(last_lon, last_lat)
) AS distance_m,

but not being a spatial guy, I'm unsure of the implications of this.
From what I've discerned I would require these Spherical calculations to provide the 6370986 meter radius effect on the measurements between the two points.
this sounds like a pretty fundamental requirement of geo data so I'm adding this here in hope that it isn't required, but perhaps does require spherical calculations.

To clarify, all the algorithms implemented as of now assume a planar coordinate system. This makes a lot of algorithms much easier and faster to implement and works well when you are processing geospatial data that lies within a small-ish region, say e.g. on the scale of a country or two. Once you reach a scale where the curvature of the earth becomes important, then yeah, measurements like distances and areas become extremely inexact if implemented with straight forward cartesian geometry . The [PostGIS](http://postgis.net/workshops/postgis-intro/geography.html documentation) has a great example of this.
Note that in general we don't really know the exact shape of the earth, so there is really three different ways to approximate geospatial calculations with progressively increasing difficulty, performance overhead and precision.

Project into a planar coordinate space. This is what we currently achieve with GEOS and PROJ.
Model the earth as a perfect sphere. This is what e.g. Googles S2 library does (and I think BigQuery?).
Model the earth as an ellipsoid. This is what the algorithms in GeographicLib does.

Like PostGIS it would be cool if we could support all three to some degree, but a lot of the more advanced algorithms (e.g. polygon intersection) are already extremely complicated in the planar case, so I'd like to take this in small steps.
That said, I have something in the works using Geographiclib for the elementary algorithms (distance, length, area). But I think we should implement and focus on 2. in the future for a potential GEOGRAPHY type.

Partially implemented in #74

Guys guys... #74 was merged in May 2023 but the documentation was never updated so I just discovered that they are in the current extension!!!
D select ST_Distance_spheroid(ST_Point(49.60, 6.12), ST_Point(49.60, 6.14));
┌────────────────────────────────────────────────────────────────────┐
│ st_distance_spheroid(st_point(49.60, 6.12), st_point(49.60, 6.14)) │
│                               double                               │
├────────────────────────────────────────────────────────────────────┤
│                                                  1445.776772642289 │
└────────────────────────────────────────────────────────────────────┘

Hi – it's exciting to see that this extension is still being actively developed! Almost a year on since this roadmap item was opened, I was wondering if the calculation of geographic/spheroid distances between polygons and points was on the horizon? Otherwise it looks like falling back to PostGIS is my best bet (but open to other suggestions).

Line segment <-> point and the additional combinations that follow require an iterative algorithm that I've left out for now.

I would also be curious to know what this algorithm involves. Thanks!

Time flies!
Ive recently completed a pretty major overhaul of the internal geometry representation used during execution so im planning on going back and adding the remaining missing measurement functions, including geodetic/haversine based ops, in the near future.
Im currently working on refactoring the docs and will try to shape up and share more about the roadmap for my plans for 2024 as well.

DuckDB version == v1.0.0
Thanks for your contributions on this! I think I've identified a possible issue where the x and y coordinates are getting transposed for each other in one of the checks. If you go past -90 on the x coordinate (longitudinal) plane, the calculations seem to stop working
SELECT ST_AREA_SPHEROID(ST_ENVELOPE(ST_BUFFER(ST_POINT(-89.999, 30), .0001)));

st_area_spheroid(st_envelope(st_buffer(st_point(-89.999, 30), .0001))) │
│                                 double                                 │
├────────────────────────────────────────────────────────────────────────┤
│                                                   0.008709549903869629

^ this works as expected, while incrementing up to from -89.999 to -90 for the longitudinal coordinate returns a nan with everything else the same
SELECT ST_AREA_SPHEROID(ST_ENVELOPE(ST_BUFFER(ST_POINT(-90, 30), .0001)));

 st_area_spheroid(st_envelope(st_buffer(st_point(-90, 30), .0001))) │
│                               double                               │
├────────────────────────────────────────────────────────────────────┤
│                                                                nan

@Maxxen I'm also seeing the error above.
overturemaps download -f geoparquet --bbox -71.063432,42.301047,-71.009501,42.382221  -o boston.parquet -t building
D SELECT
  id,
  ST_AREA(ST_GeomFromWKB(geometry)) as area,
  ST_Area_Spheroid(ST_geomFromWKB(geometry)) AS cartesian_area
  FROM 'boston.parquet' limit 5;
┌──────────────────────────────────┬────────────────────────┬───────────────────┐
│                id                │          area          │  cartesian_area   │
│             varchar              │         double         │      double       │
├──────────────────────────────────┼────────────────────────┼───────────────────┤
│ 08b2a3066bd41fff0200fc6ab276c90d │  1.285837500012519e-08 │  51.9845110103488 │
│ 08b2a3066bd4cfff0200bc057338d4ed │ 1.2229789998652358e-08 │ 49.44350370578468 │
│ 08b2a3066bd41fff020028311e9c371c │ 1.5778415000042524e-08 │  63.7901326790452 │
│ 08b2a3066bd4cfff02008dcf88943bb9 │ 1.1989005000108085e-08 │ 48.47045111026091 │
│ 08b2a3066bd4cfff020002be80094552 │ 2.0510755000441452e-08 │ 82.92415748536587 │

overturemaps download -f geoparquet --bbox -122.365604,47.573155,-122.307926,47.623162  -o seattle.parquet -t building
D SELECT
  id,
  ST_AREA(ST_GeomFromWKB(geometry)) as area,
  ST_Area_Spheroid(ST_geomFromWKB(geometry)) AS cartesian_area
  FROM 'seattle.parquet' limit 5;
┌──────────────────────────────────┬────────────────────────┬────────────────┐
│                id                │          area          │ cartesian_area │
│             varchar              │         double         │     double     │
├──────────────────────────────────┼────────────────────────┼────────────────┤
│ 08b28d555096bfff0200ba6e244e17a4 │   8.85314630001753e-07 │            nan │
│ 08b28d5550948fff0200b8ce7ac64e3b │ 1.0191719999341135e-08 │            nan │
│ 08b28d555095efff02004bd14aeeb6be │  9.111243699996493e-07 │            nan │
│ 08b28d5550958fff0200eb9c47a75fc9 │  2.090709999588343e-09 │            nan │
│ 08b28d5550855fff02007c80ff8ad9f0 │  2.003438000002535e-08 │            nan │
└──────────────────────────────────┴────────────────────────┴────────────────┘

I just want to weigh in here that I believe this is the root of an issue I am having with Overture Maps, specifically with:
ST_Transform(ST_GeomFromWKB(geometry), 'EPSG:4326', 'EPSG:3857')
When I run that on the whole world I get NULL values for a good chunk of it:

I am fairly novice, self taught developer - I don't understand the specific details of this kind of thing, but it's my understanding that ST_Transform uses spherical calculations.

Hi! There's a couple of things at play here.
ST_Transform defaults to respecting the axis order defined by the CRS authority. 'EPSG:4326' is defined as lat/lon, while 'EPSG:3857' is defined as lon/lat. Meaning that when transforming 'EPSG:4326' to 'EPSG:3857` it is expected that the input is already in lat/lon axis order.
You can pass a boolean as an optional third argument to force st_transform to always expect [lon/lat] axis order regardless of what projection you use. The new docs are still a bit rough around the edges but I've attempted to document this better here: . https://github.com/duckdb/duckdb_spatial/blob/main/docs/functions.md#st_transform
Additionally, while most functions in the spatial extension is ambivalent to the axis order or projection (as they almost all work in planar space) the _spheroid functions expect their input to be in lat/lon EPSG:4326 (WGS84).
This is a common cause of confusion, see e.g:
https://github.com/duckdb/duckdb_spatial/issues/222, https://github.com/duckdb/duckdb_spatial/issues/219 https://github.com/duckdb/duckdb_spatial/issues/215 https://github.com/duckdb/duckdb_spatial/issues/179 https://github.com/duckdb/duckdb_spatial/issues/63
I've elaborated more on this both on discord and in the issues reported above. But in short:
Most GIS tools tend to always work with a fixed axis order. Most FOSS GIS tools prefer lon/lat (x/y) while others (especially in the GPS/radio-space) prefer lat/lon. Around the time DuckDB spatial was created it seemed like to me that the big libraries in the open source GIS world such as GDAL and PROJ had recently made an attempt to actually start respecting the CRS authority instead of always expecting lon/lat. See e.g. GDAL axis order post 3.0 and PROJ's FAQ. Therefore the approach taken in DuckDB spatial was to simply stay ambivalent to the axis order used. As we don't store SRID's in each geometry anyway it made sense to me that the user would ultimately be responsible for knowing what coordinate system and axis order they worked within.
Unfortunately it seems like the idea of respecting the axis order defined by the CRS authority never really caught on in practice. Modern specs such as GeoJSON uses geographic coordinates but mandates lon/lat anyway, and even brand new specs such as GeoParquet require lon/lat always.
Judging by the number of issues opened by users confused by this, I am definitely ready to change this behavior so that we also normalize all coordinates into easting/northing (e.g. lon/lat) when ingested by duckdb internally.  However, this will require a bit of work as we then would need some way to track the projection information for each geometry column whenever we import/export data from duckdb spatial so that we can flip the coordinates back from/to what the CRS mandates when data enters or leaves spatial.
I have some ideas on how to do this but it is going to be part of a larger overhaul I've got planned for how we handle projection information in spatial, so I don't have a timeline for when this behavior will change.

ST_Transform defaults to respecting the axis order defined by the CRS authority. EPSG:4326 is defined as lat/lon, while 'EPSG:3857' is defined as lon/lat. Meaning that when transforming 'EPSG:4326 to EPSG:3857 it is expected that the input is already in lat/lon axis order.

To further complicate matters (and mentioned further down the post), it is also "expected" that GeoJSON input sources will be in both EPSG:4326 and X-Y (or Lon-Lat) order, and current behavior and expectation in duckdb means always_xy must always be used for 4326 -> 3857 conversion of GeoJSON data when imported into DuckDB.

As we don't store SRID's in each geometry anyway it made sense to me that the user would ultimately be responsible for knowing what coordinate system and axis order they worked within.
However, this will require a bit of work as we then would need some way to track the projection information for each geometry column whenever we import/export data from duckdb spatial so that we can flip the coordinates back from/to what the CRS mandates when data enters or leaves spatial.

As a user, I think it is okay to not track the projection/SRID, provided that DuckDB does not change the axis order without explicit user intent/awareness. By that I mean, the output of any function should follow the axis order of the input.

means always_xy must always be used for 4326 -> 3857 conversion of GeoJSON data when imported into DuckDB.

Not necessarily, you could transform OGC:CRS84 -> EPSG:3857 instead in which case you won't need it, as OGC:CRS84 is the same as WGS84 but with a lon/lat axis order.

provided that DuckDB does not change the axis order without explicit user intent/awareness. By that I mean, the output of any function should follow the axis order of the input (unless the user chooses otherwise).

Thats how it currently works. The only function that can change the axis order is ST_Transform (and I guess st_flipcoordinates), and it does so by trusting that the user supplies (and expects) geometry in the axis order defined by the given source and target CRS.

Not necessarily, you could transform OGC:CRS84 -> EPSG:3857 instead in which case you won't need it, as OGC:CRS84 is the same as WGS84 but with a lon/lat axis order.

Refer to the screenshot: https://github.com/duckdb/duckdb_spatial/issues/211#issuecomment-2316275955. St_X ends up picking up the latitude values (which is problematic for me, although I probably made a wrong flip in between to avoid the infinity values).

The only function that can change the axis order is ST_Transform (and I guess st_flipcoordinates), and it does so by trusting that the user supplies (and expects) geometry in the axis order defined by the given source and target CRS.

I guess this is the part where there is a conflict in expectations - I don't expect DuckDB to be having any expectations regarding CRS, when DuckDB is not keeping track of CRS (or "CRS-blind"). Of course, this is not a statement on which of these expectations are more justified, just a sharing of user sentiment.

Thanks for the explanation @Maxxen!

Additionally, while most functions in the spatial extension is ambivalent to the axis order or projection (as they almost all work in planar space) the _spheroid functions expect their input to be in lat/lon EPSG:4326 (WGS84).

This is the biggest point of confusion for me. If the EPSG:4326 spec mandates long/lat, why would the spheroid logic require flipping the coordinates to be the opposite of what they are expected to be  in? Feels like a very small minority of users, if any would ever get the usage of this right.
If I'm following the PostGIS convention, which I remember reading the spatial extension is modeled after, if I just wanted to inline the selection of a point via ST_POINT, the only way to get the "correct" result for a query of the area of a buffer of it would be with an invocation of ST_FLIPCOORDINATES which feels very unergonomic.
SELECT
    ST_AREA_SPHEROID(
        ST_BUFFER(
            ST_FLIPCOORDINATES(ST_POINT(-90,30)),
	    .00001
        )
    )

I don't expect DuckDB to be having any expectations regarding CRS, when DuckDB is not keeping track of CRS (or "CRS-blind").

And it generally doesn't. You have to supply both a "source" and a "target" SRID when transforming a geometry, and DuckDB will treat the geometry as having the axis order as defined by the source CRS. That is, if you transform ST_Transfrom(st_point(1,2), 'EPSG:4326', 'EPSG:3857') the input is expected to be in lat/lon and the output will be in lon/lat.  If you instead do ST_Transform(st_point(1,2), 'OGC:CRS84', 'EPSG:3857') the input is expected to be in lon/lat and the output will be the same.
The only exception to this rule is the _spheroid functions, as the axis order is actually significant for the result and the algorithm is hardcoded for the WGS84 datum. Here we chose again to go with respecting the axis order as defined by the authority, that is __lat/lon__. It would be even more inconsistent if we went with the crs-mandated axis order when projecting, but not in the _spheroid functions, or vice versa.

This is the biggest point of confusion for me. If the EPSG:4326 spec mandates long/lat, why would the spheroid logic require flipping the coordinates to be the opposite of what they are expected to be in?

@jtbaker you still got it the wrong way around, EPSG:4326 mandates lat/lon. PostGIS convention is to not respect the CRS authority and always assumes all geometries to be in lon/lat. But they also "track" the CRS of each geometry value so that you don't have to supply a source SRID when transforming.

Just to reiterate, Im fully on board with changing the current behavior because, for better or worse, a lot of users are obviously not used to or do not expect to consider that different coordinate systems are standardized to have different axis-orders. The convention for GIS tools to normalize geometries so that x corresponds to the "easting" and y "northing" is very strong - and that's not necessarily a bad thing. We are not completely alone in this though, pyproj also has a always_xy parameter.
Im just trying to contextualize why the current behavior is what it is, why it is not a bug, and why I think it makes the most sense considering our approach of being "blind" to the CRS in general (i.e. not implicit tracking of geometry columns, no normalization/coordinate flipping on import/export).

And it generally doesn't. You have to supply both a "source" and a "target" SRID when transforming a geometry, and DuckDB will treat the geometry as having the axis order as defined by the source CRS. ST_Transfrom(st_point(1,2), 'EPSG:4326', 'EPSG:3857') the input is expected to be in lat/lon and the output will be in lon/lat. If you instead do ST_Transform(st_point(1,2), 'OGC:CRS84', 'EPSG:3857') the input is expected to be in lon/lat and the output will still be lon/lat.

In the case of GeoJSON inputs, the expected axis order is lon/lat. In practice, whether it is specified as EPSG:4326 or OGC:CRS84 makes no material difference, even if the GeoJSON file did not specify any CRS, most use cases just need the lon-lat values to be converted to X-Y values in some kind of projected CRS (e.g. EPSG:3857) for the purpose of plotting. For DuckDB to be truly "CRS-blind", I would prefer/expect ST_Transform to work like ST_Transform(St_Point(X,Y), 'source_projection_code', 'target_projection_code') -> ST_Point(X,Y), without caring if it is is 4326, 3857 or some user-specified CRS. So to me, always_xy` is necessary.

@Maxxen Thanks for this explanation. It cleared the confusion that I had.
May I propose that you add some of this explanation to this blog post (https://duckdb.org/2023/04/28/spatial.html) . It is one of the top ranked Google results when I started exploring DuckDB spatial.


Show the address of the base of the program in Triage view

It would be convenient if we can see the address of the base in the triage view, especially after we rebased it.
This should be easy to do.

pushed


Can you please share the jaad_data.py and pie_data.py with us?

It seems that these two file from the original repo cannot run the code successfully, I think the jaad_data.py and pie_data.py may be modified.

Neither jaad_data.py nor pie_data.py have been modified recently. Could you please provide more information? What are you trying to run? What error are you getting?


Repeat of #3649 Conflict with Object.prototype.watch in FireFox/Gecko

See #3649 Conflict with Object.prototype.watch in FireFox/Gecko
Corresponding PR for that was #3648
Resolved in June 2015, but more appeared

It will be removed in the future https://www.fxsitecompat.com/en-CA/docs/2015/object-prototype-watch-will-be-removed/

Why is it closed? Was it really fixed?

Sorry, didn't notice your other comment. Thanks a lot @mhegazy :+1:


Update DropWizard 1.0.x to Jersey 2.23.2.

Update DropWizard 1.0.x to the latest patch release of Jersey 2.23 in
order to pick up HK2 fixes from HK2 2.5.
Fixes #1807.

Coverage remained the same at 82.02% when pulling 39d611d40ec9c00afe00b151961a94db407a5356 on pkwarren:jersey-2.23.2 into 18ffb946c45b54f83cdef41be123437e06559743 on dropwizard:release/1.0.x.

@pkwarren Please also add a short not to the release notes in https://github.com/dropwizard/dropwizard/blob/release/1.0.x/docs/source/about/release-notes.rst

Since we didn't have release notes 1.0.4, I've merged the PR and updated the release notes manually.
Thanks, @pkwarren for your contribution.


AnyOf Schema Fix, Renames

Two changes:

AnyOf generated schemas will have an improved is_a? method.

In order to do this, I had to re-implement is_a? in the Base schema. Now, we are going to let the schema actually validate the payload. Why? This allows concrete schemas to define their custom type check.
By doing so, AnyOf generated schemas can compare the payload to any of the allowed schemas.
Also, I noticed is_valid? check wasn't performed during new. This is needed to be consistent with import. And this will actually fix some of the issues we were facing.

Renamed a few things

Remainings of hash was renamed to data.
private method render_schema is renamed to render_payload.
renamed @request_payload and @response_payload to @__erlen__request_payload and @__erlen__response_payload.

Added more test cases to cover all the changes mentioned in this PR.

Coverage increased (+0.06%) to 97.674% when pulling 769accb375458c88544c0b1dfed8fcbfaf9b4efe on any_of_fix into 2659d6e1d1b9b6b4e469ac21a5e99c50496b5a35 on master.


Typography Guide

This is a short document describing the typography and iconography for our lessons.
Typography
Lesson Topic
Quiz Links, Challenge, Review & Self Study, Assignment Title, and Topic Headings (capitalize these)
Tasks

Special callouts

Use descriptions for code blocks to enable formatting ( ```javascript)
code blocks

Icons
✅ Knowledge Check
🚀 Challenge
🎓 Lexicon/Jargon Descriptions
🧮  Show Me the Math
💁  'Trivia' or interesting supplemental content

Moving this to a wiki


Custom configuration section in place of appSettings values?

I see that the MvcReportViewer current uses a large handful of appSettings key/value pairs to hold its configuration values. Would it make more sense to define a custom configuration section instead? For reference: http://haacked.com/archive/2007/03/12/custom-configuration-sections-in-3-easy-steps.aspx/
Basically, you would wind up with something like this (plus the bits to register the section):
<mvcReportViewer
	webFormUrl="~/MvcReportViewer.aspx"
	scriptUrl="~/Scripts/MvcReportViewer.js"
	errorPage="~/MvcReportViewerErrorPage.html"
	showErrorPage="true"
	reportServerUrl="http://localhost/ReportServer_SQLEXPRESS"
	username=""
	password=""
	encryptParameters="false"
	isAzureSSRS="false"
	localDataSourceProvider="MvcReportViewer.SessionLocalDataSourceProvider, MvcReportViewer" />

Using a custom section like this has the distinct advantage of making it possible to force the values to be valid, since they get mapped to a custom reader that can be strongly typed.
If you're interested, I can build the required bits and submit a pull-request at some point.

This is good idea. You can start working on the change. Then I will merge it and add backward compatibility. Unfortunately we will have to keep supporting two versions to make sure that we will not break existing code.

Hi, is it possible to set/override these settings in the code other than doing it in web.config, because sometimes eg. the reportServerUrl/username/password has to be programmatically changed based on bussiness logic.

Yes, you can pass username and password directly to Html.MvcReportViewer call. Please check the documentation in README.md file.

Thanks, I saw that in the doc. One more dumb question, does this mean I can remove those keys in the web.config since I can pass through fluent API?

Yes, you can.


Contributing removal

This PR removes the  contributing section. This has been migrated to https://github.com/ome/ome-contributing.
The doc will then be available on readthedocs
The rtd url is not active yet
suggested url is the default rtd one i.e. ome-contributing.readthedocs.io

I am in favour of making the switch so we can test the redirects etc.

Conflicting PR. Removed from build OMERO-docs#789. See the console output for more details.
Possible conflicts:

PR #2136 dgault 'Temporarily add imagej.net to ignore list'

contributing/conf.py

--conflicts

Happy to see the contributing documentation being built and deployed from https://github.com/ome/ome-contributing. Since this documentation set is always published from the HEAD of the development branch, this is probably the easiest one to publish immediately using readthedocs.
A few questions:

where is the new place where the linkcheck is run against the external links? in particular are we decommissioning https://ci.openmicroscopy.org/view/Docs ?
should we start capturing todos be captured as issues on the new repository (incl. copyright, pr review, redirects...)?
with https://github.com/ome/ome-documentation/pull/2136 being closed, has this been retested using the daily builds to confirm nothing breaks?

Remaining actions:

I need to add GHA for that repo for linkcheck build etc. Then we can decommission job
For todos, let's start an issue that we can then use for other repo
re-run job is on my todo list

https://ome-contributing.readthedocs.io/en/latest/ is now available
https://merge-ci.openmicroscopy.org/jenkins/job/OMERO-docs/792/ is green

omero-doc(s)?

using omero-documentation will match the name used for BF

Merging and renaming repo to omero-documentation


Rendering Glitch on OSX El Capitan

This bug report was migrated from our old Bugzilla tracker.
Reported in version: 1.2.12
Reported for operating system, platform: Mac OS X 10.8, x86_64
Comments on the original bug report:
On 2015-10-16 02:35:24 +0000, manutoo wrote:

Hello,
as the title says, SDL_Image 1.2.12 glitches on OSX El Capitan.
I explained the problem in detail here : http://stackoverflow.com/questions/33115482/rendering-glitch-on-mac-osx-el-capitan-with-opengl .
It seems it only touches RGBA textures, but not all of them.
Using SDL_Image 1.2.10 gives a glitch-free rendering.

This is fixed in the next release by building with newer macOS SDK.


Doesnt build on a java >= 9 modular project

[REQUIRED] Step 2: Describe your environment

Operating System version: Windows 10
java version : 19
Firebase SDK version: 9.1.1
Library version: 9.1.1
Firebase Product: admin-java

[REQUIRED] Step 3: Describe the problem
I want to have a project to use JavaFX so I need the module system to work.
With a module-info.java at the root of the code, having a import com.google.firebase.FirebaseApp; won't even work if you don't add a requires firebase.admin in the module declaration.
But then you get hundreds of errors
Steps to reproduce:

Create a java project in intellij with the javaFX preset,
add implementation ('com.google.firebase:firebase-admin:9.1.1') in the build.gradle
add requires firebase.admin in the module-info.java
try to build
hundreds of errors of the kind the unnamed module reads package com.google.longrunning from both gax.grpc and proto.google.common.protos

Remarks
A fix for this is to state that this SDK works on Java 8 exclusively and isn't compatible with JavaFX
https://github.com/firebase/firebase-admin-java#supported-java-versions
An fix for end users is suggested here https://medium.com/@ygge/firebase-in-java-9-with-modules-9a4eb99cffcb
A hack to have JavaFX working on a non modular java project is explained here : https://edencoding.com/runtime-components-error/

If I understand correctly Java FX is a framework to build client applications. It is not recommended to use Firebase Admin SDK on client side as the SDK is designed to be used in privileged sever environments with admin rights.


Touch library doesn't work with FreeRTOS

#include <Arduino.h>
#include <M5Core2.h>

void checkLCDTask(void* pvparams){
  TickType_t lastTick;
  while(1){
    M5.update();
    if(M5.Touch.ispressed()){
      TouchPoint_t currentTouch = M5.Touch.getPressPoint();
      Serial.printf("%d %d\n", currentTouch.x, currentTouch.y);
    }
    vTaskDelayUntil(&lastTick, 20/portTICK_PERIOD_MS);
  }
}

void setup() {
  // put your setup code here, to run once:
  M5.begin(true, false, true);
  xTaskCreate(checkLCDTask, "CheckTouch", 2048, NULL, 2, NULL);
}

void loop() {
  // put your main code here, to run repeatedly:
}

This code prints only -1 -1 whenever a finger is put on the screen, if I move the M5.update() line to the loop function it will print the correct coordinates for a few seconds then return to only printing -1 -1.
I'd hope that either location for M5.update() would work correctly but I can't figure out why it isn't working.

Fixed by adding yield(); to loop function


Bump pigweed from 1f12d06 to bbcdd74

Done in https://github.com/project-chip/connectedhomeip/pull/35644


Investigate and resolve how to refer to python3 in Noetic

Should shebangs in Python source files be...
/usr/env python

OR
/usr/env python3

See http://wiki.ros.org/UsingPython3/SourceCodeChanges
We will work on this after release 4.0.0

References
Read through See http://wiki.ros.org/UsingPython3/SourceCodeChanges and then the referenced PEP-394: The "python" Command on Unix-Like Systems.
Recommendation
Use specific shebang for Python3 source files: /usr/bin/env python3 for all ROS Noetic code.
Justification

We are targeting a ROS Noetic on Ubuntu 20.04
ROS Noetic is exclusively Python 3
Ubuntu 20.04 includes Python 3.x as the sole default (no Python 2.x)
Ubuntu 20.04 does not provide a python command at all by default, but does provide a python3 command by default.
PEP-394 - For Python runtime distributors encourages changing "less` specific shebangs to more specific ones."
PEP-394 - For Python script publishers recommends using  a specific shebang lines tailored to the target environment.
" In Ubuntu, all python packages use explicit python3 or python2 interpreter and do not use unversioned /usr/bin/python at all" - see python-is-python3
Using the generic /usr/bin/env python shebang has adverse effects:

For Python 3 exclusive systems, it requires a package such as   python-is-python3, which adds a dependency and would likely break legacy Python2 scripts.
The best use-case for generic shebang is for code that is meant to support execution for either Python2 or Python3.  Our code is not meant to be executed by Python2.

@mabelzhang If you concur, I'll close the issue.

I've asked our Noetic + Python expert internally about this ticket specifically.
First, we still recommend keeping the shebangs as python. catkin_install_python() (which you are already using in
https://github.com/Field-Robotics-Lab/dave/blob/281e42b5393ebe26f9a31b63c5c595d3b8f5d89d/examples/dave_nodes/CMakeLists.txt#L41-L44
and that's the only package with Python scripts) will change the shebangs for you automatically. It does that in both the install space and the devel space (this project is using the devel space only, which is when you run catkin_make only and no install). So this setup should already work for you, in both Melodic and Noetic.
What I notice here is that only 2 out of 5 files are in that command, and you probably want to add the remaining 3 files - dvl_state_and_gradient_dsl.py, dvl_state_and_gradient_uuvsim.py, and dvl_gradient_plot.py.
Second, the other concern I have is the Melodic support, which we claim is community-supported. If we change the shebangs to python3, they will no longer work in Melodic. Melodic installs Python modules using Python 2, and if the scripts require Python 3, they won't be able to import any of the modules installed in Python 2.
If you decide to go with python3 shebang, then in order to uphold that community support claim and help out the community, you'd either have another branch for Melodic, or put in the documentation that in Melodic, people would have to change the shebangs to python.
Third, my colleague pointed out that the adverse effects in the bullet list above are not true. You should not need a third-party package to execute those scripts.
What was the reason to look into using python3 in the shebang? Do some files not work? I would recommend adding those 3 files mentioned above to catkin_install_python().

@mabelzhang Thanks, this is helpful. I can only speak for myself, but what I thought we were doing was requiring our Melodic users to install Python3 as part of their environment, which didn't seem like a big deal. It sounds like that is not right because  "Melodic installs Python modules using Python 2", but I'm a little confused about that. Specifically, what does it mean for Melodic to install a Python module?
Probably out of ignorance, I would typically do the installation of required modules without involving the ROS build system. I think we were also skipping the install process altogether for Python scripts called as nodes (which is why they are missing in that list) and just expecting them to function the same was as standalone programs. It sounds like the recommendation is to use the build system to manage these scripts and their dependencies.
That seems fine to me if that's the recommendation, although I don't fully understand what is being gained from this extra management layer. (I can see we get automatic shebang correction, but it seems the cost of this, and also the reason it's necessary, is that we are unable to use Python3 in Melodic.)

what does it mean for Melodic to install a Python module?

I'm not an expert on the inner workings of dependencies in ROS. In practice, I have seen things like that happen, when a script can't find even the most basic Python packages, which I was sure were installed, but they were installed for the other Python version.
Under the hood, I think part of it has to do with how rosdep keys are resolved. When you run rosdep update, rosdep finds system dependencies that the keys are mapped to. For Melodic, many packages probably list the Python 2 version of the rosdep keys, and rosdep would end up installing dependencies in Python 2. For example, in rospy, they specify the rosdep keys for Python 2 and 3 dependencies separately: https://github.com/ros/ros_comm/blob/melodic-devel/clients/rospy/package.xml
That's my educated guess. @sloretz can correct me.

the cost of this, and also the reason it's necessary, is that we are unable to use Python3 in Melodic.)

I found some information here about how to get Python 3 to work with Melodic. The environment variable ROS_PYTHON_VERSION is used in the rospy example above.
https://answers.ros.org/question/295012/how-can-i-install-ros-melodic-with-python3/
These are the recommendations of doing things correctly. At the end of the day, the correct way may not be the most convenient. I see these as trade offs to being backward-compatible. Asking Melodic users to install Python 3 is one side of the trade off, and the other side is to maintain your Python scripts so that they can be run in both Python 2 and Python 3, in order to support both Melodic and Noetic.
Looking at the number of scripts in this repo, the latter shouldn't be a big obstacle. In everyday usage, there are only a handful of things that really require Python 3, especially if these scripts originally came from a Melodic environment. If you don't envision changing the scripts a lot, there shouldn't be too much overhead to do things the correct way. If you do change the scripts often, then running CI in Melodic using Python 2, and in Noetic using Python 3 would check that for you, though that's more overhead.

@mabelzhang, @M1chaelM  and @sloretz - This is great discussion and I've learned a lot thinking through this and following your expertise.
Here is my attempt at a summary of the key points:

Advantage of generic python shebang is that, if all of our scripts are included in the catkin_install_python CMake directive, then Catkin will be smart about a specific shebang for Melodic/Python2 or Noetic/Python3.
This advantage could, in theory, make maintenance simpler as the same scripts can be used for Melodic or Noetic support.

Here is my opinion, for our particular use-case (not for the general use-case).
A key part of my personal use-case is that, when debugging, I tend to run Python scripts directly from the src directory and am not in the habit of using the  catkin_install_python directive ubiquitously.   I also tend to mix and match ROS with other libraries and infrastructure (e.g., LCM) and prefer to keep things as agnostic as possible, so relying on catkin build/make to run a python script correctly seems like overkill.
From the general, pure-ROS case, I can totally see why having all Python scripts run through catkin and used from devel/install makes sense.

I stand by "adverse effects" in the original justification because, at this point, I've experienced in 2 or 3 projects outside of Dave.
To me, relying on catkin and developer/maintainers to include 100% of python scripts in catkin to automatically determine which major version of Python to run is brittle and can lead to uncertainty in debugging, i.e., should I debug the copy in src, devel or install?
Regardless of this issue, I think we will need to have a dedicated Melodic branch of some/all of our repos to be able to support both Melodic and Noetic.
Writing Python code that we are going to test with both Python2 and Python3 adds to our maintenance burden.  I'd prefer to move on to Noetic and only have to test with Python3.

At the end of the day, I think this is a bit of a stylistic question as there seems to be good reasons to go in both directions and no hard showstoppers for either choice.
If we are going to end up with separate branches for Melodic and Noetic (which I think we will), then, for the way I work, it seems simpler to be overt with the shebangs.

I will defer to the collective on this, but I thought I'd add a few comments that seem relevant to me:

An advantage of installing scripts in catkin, I think, is that it will further simplify the Dockerfiles associated with the different operating systems in the dockwater repo. Right now I have to do extra things to make sure our Python scripts can find the dependencies they need. I'd have to check, but I suspect this will also be handled automatically if we let catkin do it.
If I need to run a script directly for debugging and the shebang is not set up by default, I would personally just override it by calling python3 <script> instead. I don't do this often enough for it to be a real hassle, but if it were there's always the option to set the local "python" to point to "python3" or run from a python virtual environment if you don't want to mess with the global settings.
I agree it is a burden to maintain compatibility with multiple versions of Ubuntu / ROS. However, writing Python that works in both 2 and 3 seems pretty easy. I can't think of something off the top of my head that works in Python3 but not Python2. Most of the problems go the other direction, but we already had to fix these anyway.
I agree that I'm not sure whether having catkin manage Python scripts is very useful to me personally, since I'm accustomed to keeping track of Python dependencies myself. That said, this might just be a matter of getting used to something new (to me). In either case, the conversation about whether this is a good design seems to me to be a different question than the current one, which is should our code follow the convention that's currently in place. I'm a little hesitant to strike out on our own here because my view is that the advantages of adhering to almost any standard outweigh the gains of almost any deviation.

Because of the above, I'd lean slightly toward adopting the generic python shebangs for this project for now and VRX, and separating out the discussion of whether catkin_install_python is the best way of doing things.

Going with @mabelzhang 's suggestion and adding the few Python programs to the catkin_install_python directive.  Will close with PR #175.

Closing with the merge of PR #175

Closing with the merge of PR #175


Pybullet, box2d installation; ModuleNotFoundError: No module named 'finrl.meta'

First of all, thank you for developing this beginner-friendly project.
I'd like to point out one issue:

Installation of Pybullet, box2d in the Finrl package requires previous installation of Visual Studio from Microsoft, and it took me roughly 15 minutes for the whole package to finish installing. Perhaps worth adding this to the installation guide to make life easier for others.

Look forward to your reply. Thank you! :)

Thanks very much!

Can anyone please explain what does a 2d physics engine (box2d) has to do with stock trading?


Initialization issue in convolution test

@GMNGeoffrey and I hit a bug in conv.test when we are moving the test to the check framework. This issue is for tracking initialization problem of convolution op.

You want a repro or do you already have one?

I already have one, thank you!

Do you mean initializing output buffer of cov? If yes that will works fine by adding just adding linalg.fill(0) before conv. My understanding is that will not work for Vulkan

Some update.
I found that it's working on llvm-ir.
I hit the same issue when merging dot related test files. It seems that it reuses the same buffer. I don't know why this doesn't happen on llvm-ir. This only happens on vulkan.


Passing the array of bytes as a view content instead of file path of view for creating a view from a database!

Passing the array of bytes as a view content instead of file path of view for creating a view from a database!

Though there are no plans to have this built-in, you can do this today with a custom file provider.
This involves two steps:

Write a custom file provider. You can refer to https://github.com/aspnet/FileSystem/tree/dev/src/Microsoft.Extensions.FileProviders.Embedded to see how it's done.
Register the provider with MVC's Razor View Engine by adding it to RazorViewEngineOptions.FileProviders in the call to .AddMvc in your app's Startup.cs file in the ConfigureServices method.


SAI-5069:   Expose metrics for various solr operations

CCIng @magibney

Looks like we can add following

cumulativeAdds
cumulativeDeletesById
cumulativeDeletesByQuery

Feel free to add for any other solr ops

all the changes will be merged into #216


feat(hr-HR): add autogenerated locale hr-HR. Closes #188

Appreciate if you could have a quick look at this before I merge it, @WebShapedBiz!

Hi @runeb.
I very much appreciate what you've done, thank you. I've browsed through the translation and find that while most of it is either correct or understandable but not ideal, there are a few strings that are not correctly translated.
After the merge, if it would be possible, I'd like to provide you with fixes but need some help on how to go about it. Just fork it or something else?
Thank you again for your time and effort.

@WebShapedBiz Thank you for taking a look! Suggesting a change is fortunately very easy, and you do not need to fork. I have prepared a short screencast which shows how you can contribute suggestions right here in the PR.

Click "Files changed" at the top of the PR
Find the line you wish to suggest a change to and click the plus sign in the margin
Click add suggestion in the editor
Edit and add as a comment

Its all demoed in this short video
https://www.loom.com/share/4ae37eb58985467fb9f68498ce669038?sid=a5d3dc37-22d2-4a78-8452-5ae7039f11e1

You're right @runeb, this is easy. How much time do I have to go through it? Or should I just ping you here when I'm done so you can finish the merge?

@WebShapedBiz Please review at your own leisure, I will receive a notification when any suggestions are added and I will merge and release the plugin after that 👍 Thanks again!

Cheers @runeb. I left Dataset un-translated for the same reason you mentioned, but something later in the text made me go back and change it. Nevertheless, it would absolutely work for my locale.
Thank you again @runeb for all your help.

Thanks again for the review @WebShapedBiz and for adding yourself as a maintainer! I will merge this PR now and the plugin will be published shortly


Add Nuget projects.

This PR adds two EFDA projects for Nuget-based .NET projects.

In efda/csharp/nuget/with-packages.config, we have the dependencies specified in the packages.config file.
In efda/csharp/nuget/with-packagereference, we have the dependencies specified as PackageReference directives in the .csproj. file.

The diff is a bit messy right now as it includes the changes in #2. I'll rebase this PR once that has been merged so it's a little bit easier to review.

Rebased and ready for review.


🤫 Silence patch-version warnings for consumers

We've been doing this in our specs, but consumers of this library end up with warnings if they're not in perfect compliance (which we've deemed unnecessary). This is a bet that good citizenship leans more on protecting downstream workflows than patch-level exactness.

What warning is this spitting out?

Can you provide an example of the warning this is spitting out?

@jeffwidman We've gotten this output when using dependabot-core from an app running Ruby 3.1.2:
warning: parser/current is loading parser/ruby31, which recognizes3.1.3-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.

Patch-level enforcement isn't something I think we should be in the game of, so I'd like to see this relaxed. That said, I haven't touched this in two months and I think leaving it open provides little to no value. I'm going to close this for now.


speed up tilt_map: parallel apply

tilt_map is currently reasonably fast, but applied to large raster ( > 5000x5000 cells) it is kind of a bottleneck.
We could simply wrap the last line of the function where we apply the shear and rotate matrix in a future_map or similar.
Will be implemented, as soon as someone needs this.

Big fan of dependency creep, if they are packages like you mentioned :) Happy for your PR Joshua!

Hi Joshua!
I merged your solution and it looks very promising, thanks a ton!
Here are the results for the US dataset with wildfires:

Raster is 800 x 350 cells. I added you as contributor, hope that is fine! Couldn't find your mail, if you want it to be included ... that would be another PR or you send it to me via DM on twitter :)
Cheers

This is good to see @marcosci! Yeah that's totally fine adding my email I'll send it to you on twitter.


token_unseal: use cgettop

Shave two instructions off the fast unsealer.  It's helpful to remember the ISA. :)

Just checking: this change means that ct0 is no longer clobbered. I think that is OK as it contains the user's key which is not secret?

We never actually use ct0, so we could replace line 60 with a mv / cgetaddr instead of a cmove and just extract the value.  I don't think it makes a different for security, but it means that we are still clobbering the capability (which is not secret), just leaking the integer value (which is also not secret, but conveys no rights by itself).

Oh, yea, good call.  Done, and some other cleanups while in the neighborhood; hopefully nothing objectionable.


Progress Bar

Resolves #4
This PR applies the same progress bar format as in featuretools.
Elapsed: 00:00 | Remaining: 00:00 | Progress: 100%|███████| Calculated: 5/5 chunks

i think the unit can be better than chunks. should it be instance id? can we even make it dynamic so it is the name of the column they provide?

Yes, will make dynamic to be name of the column provided.


update

How can I update the files without editing them every time

How can I update the files without editing them every time

Nice question. +1

merge them

@rafalohaki how ?

https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/merging-an-upstream-repository-into-your-fork

close it, i have spam on home page....

@toprak1224


The 'VFPOLEDB.1' provider is not registered on the local machine

When executing:
dotnet run -- FoxProDataBaseExtractor.csproj mydb.dbc output/

The following error shows up:
Unhandled exception. System.InvalidOperationException: The 'VFPOLEDB.1' provider is not registered on the local machine.
   at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
   at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.OleDb.OleDbConnection.Open()
   at FoxProDatabaseExtractor.FoxProDatabaseConnector..ctor(String databasePath) in E:\repos\FoxProDatabaseExtractor\src\FoxProDatabaseConnector.cs:line 41
   at FoxProDatabaseExtractor.Program.Main(String[] args) in E:\repos\FoxProDatabaseExtractor\src\Program.cs:line 87

The root cause is that VFP9 is x86 only, and the project is currently being built for AnyCPU. The fix is to force building for x86, and the tool works now.
Source: https://stackoverflow.com/questions/15684575/getting-the-error-the-vfpoledb-1-provider-is-not-registered-on-the-local-mach


Add SOCKS5 proxy support for TCP upstream

Hi Holyshawn,
As suggested here https://github.com/shadowsocks/shadowsocks-org/issues/52#issuecomment-281669753, it seems we can replace the old ChinaDNS with this project.
I'm wondering if it's possible to add SOCKS5 proxy support for TCP upstream. If so, we can directly integrate overture to many shadowsocks projects, like shadowsocks-android and go-shadowsocks2.
Thanks,
Max

SGTM.

I found some comments may be useful: https://github.com/miekg/dns/pull/247#issuecomment-131732420

It's a good idea, but why not use another program and communicate with it by socket? @madeye

@holyshawn Do you mean talking to overture from shadowsocks? For the proposal from @riobard, I think it's doable.
But currently, we just want to replace PDNSD/ChinaDNS/ss-tunnel with one overture...

@madeye I think @holyshawn meant that you can now use overture and as-tunnel to do remote resolution without adding SOCKS5 support to overture itself.

@madeye I mean perhaps we can make each program do one thing well. And ss-tunnel is a great program for avoiding DNS pollution, we can just use its ip and port.

Hmm, actually it's feature request for shadowsocks-android, where we are using ss-tunnel to setup tunnels to upstream DNS servers. However, the problem is if we want to use multiple upstreams, we have to start multiple ss-tunnel...
So, it'd be very useful to have SOCKS5 proxy support, then we can use overture with ss-local (only one instance required).

Got it. Multiple upstreams socks5 proxy support is quiet necessary.

I have implemented SOCKS5 proxy support in overture and tested ok, I have added two options in config.json: UseSOCKS5Proxy and SOCKS5Proxy for enabling the functionality and proxy address respectively.
Is it OK to assume that once this option is enabled, all queries that goes via TCP will go through the proxy? If so I will submit a pull request for review.

@madeye Thank you for your work. Hmm, I write some code too yesterday and I have finished it now, you may check my update. I think every DNS upstream has its own socks5 configuration would be better, and the other revision you do I will review later.

Hmm, I think the pull request is from @maddie, not from me @madeye. 😃

Thanks for change! Closing the issue.

@maddie @madeye Oh, there is something wrong......

@holyshawn There isn't much other changes, I have only renamed hostsfile directory to hosts and made amendments to README


Major backend revisions for asyncronous processing…

Also added beginnings of upload page which adds to DB.

This is a pretty unrefined solution for #10
It will be revisited later to flesh out the feature


[WIP?] make Loader interface a bit more consistent

New: Loader.fromFile(string filename), Loader.fromBuffer(ubyte/void[]), Loader.fromString(string)
Removed: Loader(string filename)
Made private: Loader(void[])
We already had Loader.fromString, so adding fromFile and fromBuffer just makes things more consistent and clearer for users.
The Loader.fromString(string) overload is added for simplification. There was already a documented way to pass a string so we might as well minimize the work for the users where we can.
I'm sure there will be nits to pick, so go nuts.

ha, wasn't expecting that building the examples on Travis-CI would pay off so soon.

I forgot to mention: I explored the possibility of deprecating the removed/modified constructors, but found I could not do it consistently. So I figured just making a breaking change for 0.7 was more appropriate.


Serie limit in bubble chart is not working

Superset version
0.17.4
Expected results
When creating a bubble chart if you  set the maximum number of series to display it should only display this number of bubble at max.
Actual results
Currently all the series are displayed whatever the value in the field series limit.
Steps to reproduce
Create a bubble chart with X series of point and set a series limit Y smaller.
On another point, it would be great to be able to not display the plot legend but to be able to keep the tool tip. Currently if you disable the legend the tool tip is also disabled.

@360d-io-labs From examining this it looks like this field is only used when dealing with time series charts, though the "Series limit" field appears on non-time series charts also.
@mistercrunch Any reason this shouldn't be supported on a non-time series chart? I can attempt a pull request if you agree it's worth doing.

Here's the fix:
https://github.com/airbnb/superset/pull/2815


Fix Jeopardy hasRemainingQuestion

A chat command crashed again with this stack trace:
TypeError: Cannot read property 'answer' of null
     at Jeopardy.revealAnswer
(/home/ps/showdown/chat-plugins/jeopardy.js:227:98)
     at Jeopardy.nextQuestion
(/home/ps/showdown/chat-plugins/jeopardy.js:424:8)
     at CommandContext.pass
(/home/ps/showdown/chat-plugins/jeopardy.js:732:14)
     at CommandContext.run (/home/ps/showdown/chat.js:363:28)
     at CommandContext.parse (/home/ps/showdown/chat.js:209:19)
     at Object.Chat.parse (/home/ps/showdown/chat.js:889:17)
     at User.chat (/home/ps/showdown/users.js:1409:9)
     at Function.Users.socketReceive (/home/ps/showdown/users.js:1606:12)
     at Worker.worker.on.data (/home/ps/showdown/sockets.js:53:11)
     at emitTwo (events.js:111:20)
     at Worker.emit (events.js:194:7)

Additional information:
   user = XnadrojX
   room = kertrio
   pmTarget = undefined
   message = /jp pass


Fingerprint all data from aResolvedComponentResult used as a task intput

Two pieces were missing:

the selection reason
the variants metadata

This PR adds snapshotting of the missing pieces, reusing existing serializers that are shared with the dependency resolution result caching.

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

OK, I've already triggered a build for you.

There is a known issue with the windows build, so I just retry it.


Columns visibility configuration in results view

like #3199

This sounds like two separate features:

Add global (on connection level) filter for columns
Use column filter settings in results viewer as default visibility config

I cannot show the 'LAST_%' columns. Did you hard code it?

I don't understand your use case.
In any case there is no any hardcode.

column missing in both v503 and v502

Can't reproduce that. DBeaver doesn't filter columns in results viewer at all (this feature isn't yet implemented).
Check your connection properties, perhaps these are two different databases.

The name1 varchar(256) column ONLY disappears on one of my computers. I cleared the dot dbeaver folder and the column failed to show. It worked on another computer.
I can hide the 'LAST_%' columns on the ER diagrams, but not the F4 table view.

Now I can't understand the actual problem.
Could you post steps to reduce this?

Sorry for the confusion. I have produced the following screenshots from the microsoft ie11 win7 x64 vm for vmware. This is supposed to be a clean reference environment available to both of us. I have tried both the connection-level column filter and table-level column filter. I cannot make the hello.name1 column disappear on the F4 table view.
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

This feature will be added in 5.0.5


Is it possible to make custom component filter?

Expected Behavior

There is 4 filter type in mui-datatables: dropdown, checkbox, textField, and, multiselect. Is it possible to make custom filter component in mui-datatables?
For ex: I want to replace that 4 filter type with my own component(for ex: other library).
And, can i use different filterType on each column? for ex:
column: [
      {
        name: 'Username',
        options: {
          filter: false,
          sort: false,
          filterType: 'textField',
        },
      },
      {
        name: 'Date',
        options: {
          filter: true,
          sort: false,
          filterType: 'multiselect',
        },
      },
      {
        name: 'Age',
        options: {
          filter: true,
          filterType: 'dropdown',
          sort: false,
        },
      }
]

Thank you
Current Behavior

I already tried this: link but it's not working for me.
Steps to Reproduce (for bugs)

Your Environment

Tech
Version

Material-UI
3.8.2

MUI-datatables
2.0.0-beta-53

React
16.6.0

browser
Chrome

etc

Bump +1

+1, would be great to have date picker as a filter.

Bump +1

Custom filters are coming, and there's a PR open for it now: https://github.com/gregnb/mui-datatables/pull/578

Bump +1

it works for me, but I when do build production. it doesn't work before

it works for me, but I when do build production. it doesn't work before

Yes, you can provide a different filter type for each column via filterType on the column options. As of 2.4.0 you can also set custom filter logic via filterOptions: { logic: function }.

@gabrielliwerant , I recently used customRowRender to build custom rows for the table. Despite including the filter option as a checkbox. I noticed that when I use custom rows, I lose the ability to selection given rows.

@Stanley-Okwii Your issue doesn't sound like it pertains to custom filters. Can you please up a new issue with specific steps to reproduce your issue so that we may track it separately?

okay. cool

It is now possible, as of 2.6.0, to add custom rendering for filters, thanks to @Avd6977!
Use filterOptions: { display: Component } and filterType: 'custom' in the column options.

can you give a example


Speed up for BinaryDiff used by hasSameBinaryContentAs for example. Fixes #3193.

Check List:

Fixes #3193
Unit tests : NA (not added methods, hoping there are unit tests in place already)
Javadoc with a code example (on API only) : NA (not added a method)
PR meets the contributing guidelines

Following the contributing guidelines will make it easier for us to review and accept your PR.

Integrated thanks @matthiaskraaz !


feat: added update api for default config

Problem
Describe the problem you are trying to solve here
Solution
Provide a brief summary of your solution so that reviewers can understand your code
Environment variable changes
What ENVs need to be added or changed
Pre-deployment activity
Things needed to be done before deploying this change (if any)
Post-deployment activity
Things needed to be done after deploying this change (if any)
API changes

Endpoint
Method
Request body
Response Body

API
GET/POST, etc
request
response

Possible Issues in the future
Describe any possible issues that could occur because of this change

Not putting FunctionNameEnum in superposition types as CI checks for Linux were failing :


burp加载变慢

你好，请教一下，为什么现在加载这个插件之后，burp会变得很卡，切换标签都要会卡一下。burp版本我也换过，还是卡顿

是新版本吗？我这边没啥问题呢

是的，新版本，我之前用着也挺流畅的，不知道现在为啥卡顿了，我再试试吧，重装试试

Hello, the use of this plug-in is very good, I have tested several times, when the test volume, this plug-in takes up a lot of COMPUTER CPU and memory, the computer directly stuck. So it didn't work out

@fayewong00 It may be that the UI thread and worker thread are not considered well, I am not very good at java, you can cmd run burpsuite and view error log

@fayewong00 It may be that the UI thread and worker thread are not considered well, I am not very good at java, you can cmd run burpsuite and view error log

Plugins consume a lot of CPU and resources. Can you optimize performance? I don't really look at what caused it.

It should be the cause of blocking when using a large amount of payload fuzz. This problem will not occur when the number of threads and payload is relatively small, and I will optimize it.
@fayewong00

Thank you very much! New plug-in, can not set the thread, bother the author to optimize the thread and performance.
@ggg4566

Message ID: @.***>

@fayewong00 你试一下新版本


Add Issue(For feature and bug Report) and Pull request Templates

@urvashi-code1255 Can I work on the issue?

Sure @96RadhikaJadhav go for it :)


RKE2 Node's external IP is set as the internal IP

Rancher Server Setup

Rancher version: 2.6head commit id: 11a7451
Installation option (Docker install/Helm Chart): docker install

Information about the Cluster

Kubernetes version: v1.21.9+rke2r1
Cluster Type (Local/Downstream): Linode node driver cluster - 1 etcd, 1 cp and 3 worker nodes. Container network - Cilium

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom) Standard user

Describe the bug
Node's external IP is set as the internal IP
To Reproduce

Deploy an RKE2 cluster Linode
Wait for the cluster to come up Active.
Navigate to Cluster Explorer --> Nodes --> External and Internal IP
The nodes have 1 IP address and the Internal IP addresses are set. The external IP addresses = None
Yaml of the node also has the internal IP set

status:
  addresses:
  - address: Ip
    type: InternalIP
  - address: sowmya-cilium-pool1-83e7c181-xwv4t
    type: Hostname

Expected result:
The Ip is the external IP.

The difference here is that in the RKE1 land, the user has the ability to specify that they want the node to have a private IP address. If they select the checkbox when creating the node template for an RKE1 cluster, then the private IP address is added.
In RKE2 provisioning, the user doesn't have this opportunity. If the checkbox existed for Linode provisioned clusters, then the backend should be setup to handle this (it does correctly for EC2 nodes, for example).
@gaktive This was in our v2.6.5 milestone which is why I put that milestone here.

Is this a Linode only issue or can it be tested in Digital Ocean? Are there group linode credentials that can be used to implement this (our individual access was removed... because we didn't need them?)
What properties should be set on which resource?

@thedadams sorry to question, haven't investigated fully yet so this might be super obvious, but is it a property in provisioning.cattle.io.cluster that needs to be set?

@richard-cox No problem. It's a property on the DigitalOceanConfig or LinodeConfig objects that needs to be set: privateNetworking in the former and createPrivateIp in the latter.

Ok, for DO we do allow setting a privateNetworking value, it's just sneakily hidden under additional options Private Networking

For Linode though there's nothing. I've implemented a fix... but have no way of validating it.

The change submits the below json to v1/rke-machine-config.cattle.io.linodeconfigs/fleet-default. Most of it is junk (no creds to get proper info...) but shows the createPrivateIp at the root level.
@thedadams if this looks correct i'll submit a PR. If you fancy validating it first i can create a build that can be tested by changing the ui-dashboard-index setting, just let me know
   "createPrivateIp":true,
   "image":"linode/ubuntu20.04",
   "instanceType":"g6-standard-2",
   "metadata":{
      "annotations":null,
      "finalizers":[

      ],
      "generateName":"nc-undefined-pool1-",
      "labels":null,
      "managedFields":[

      ],
      "namespace":"fleet-default",
      "ownerReferences":[

      ]
   },
   "region":"us-west",
   "type":"rke-machine-config.cattle.io.linodeconfig",
   "interfaces":[

   ]
}```

I tested this with Linode and enabling the private IP address checkbox that @richard-cox added and the node was assigned a private IP as expected.

On 2.6-head commit 7db4fe4

Deployed an RKE2 Do and Linode RKE2 cluster
Private Networking is enabled on both the clusters
DO nodes show only Internal IP. External IP still shows None
Linode - Both IPs are seen on the Nodes page. But this issue is seen.

@richard-cox Are we not fixing this for DO ?

@sowmyav27 From the UI's perspective I think we're providing the correct values for both DO and Linode

For DO, when Additional DigitalOcean Options --> Private Networking is checked, we POST the following to v1/rke-machine-config.cattle.io.digitaloceanconfigs/fleet-default  (note the privateNetworking `true').{
   "image":"ubuntu-20-04-x64",
   "metadata":{
      "annotations":null,
      "finalizers":[

      ],
      "generateName":"nc-rc-rke2-2-pool1-",
      "labels":null,
      "managedFields":[

      ],
      "namespace":"fleet-default",
      "ownerReferences":[

      ]
   },
   "privateNetworking":true,
   "region":"lon1",
   "size":"s-4vcpu-8gb",
   "type":"rke-machine-config.cattle.io.digitaloceanconfig"
}

For Linode we do as per https://github.com/rancher/dashboard/issues/5603#issuecomment-1108777558

@thedadams From our conversations above I think the UI is doing the right thing, if so would you like a new issue or for us to transfer this over? If not could you confirm privateNetworking on DO is still correct?

Closing this issue as Linode works and DO -- is a backend issue.

Marking as blocked, once https://github.com/rancher/rancher/issues/37510 is resolved this will also be resolved.

Same issue here with Hcloud a.k.a Hetzner Cloud when checked the box it inverts the internal to external and vice versa.

37510 now resolved for 2.6.7 so UI can proceed.

Ticket #5603 - Test Results [pt. 2]
With HA Helm:
Verified on rancher v2.6-988b8d1f63c19b13f6afba9de2e34e30cac133a7-head:

Fresh install of rancher v2.6-head
Provision a downstream RKE2 Linode Node driver cluster
Once cluster is provisioned and Active, navigate to Cluster Explorer => Nodes => IP Address
Verified - External/Internal IP field has been changed to IP Address and reflects external address, as expected

Screenshots:
Step 4 - Cluster Details => Machine Pools

Step 4 - YAML of cp node

This seems broken again to me. Latest versions of everything, custom cluster on hetzner. Not sure how you are trying to guess the IP addresses here.

This looks broken again to me.
Not sure why one would try to guess an IP address instead of letting users specify it as k3s does.


updating GH pages for helm repo data

adds helm repository at helm-repos/
refreshes documentation to current versions

check, looks good


Build failed error on running $ ionic serve --lab

From @iAn-Pinto on September 29, 2016 7:59
Build failed error on running $ ionic serve --lab after running $ npm install:
Error: Module<EMAIL_ADDRESS>does not export platformBrowserDynamic (imported by /Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/.tmp/app/main.dev.js)
at Module.trace (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:7677:29)
at ModuleScope.findDeclaration (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:7300:22)
at CallExpression.bind (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:5826:28)
at /Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:5151:50
at MemberExpression.eachChild (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:5168:5)
at MemberExpression.bind (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:5151:7)
at MemberExpression.bind (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:6693:24)
at /Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:5151:50
at CallExpression.eachChild (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:5168:5)
at CallExpression.bind (/Users/ianpinto/Documents/WebstormProjects/ionic-conference-app/node_modules/rollup/dist/rollup.js:5151:7)
[13:17:21]  sass started ...
[13:17:21]  sass failed:  Cannot generate Sass files without first bundling JavaScript files in order to know all used modules. Please build JS files first.
[13:17:21]  build dev failed:  Build failed
**System information:
Cordova CLI: 6.3.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-rc.0
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.0.0-beta.20
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v4.4.7
Xcode version: Xcode 8.0 Build version 8A218a
Copied from original issue: driftyco/ionic-conference-app#256

Hello, thanks for opening an issue with us! Unfortunately I cannot seem to reproduce this issue. Are you running NPM 3? (you can check by running npm --version)

Hello! I am going to be closing this issue for now as i cannot reproduce this issue and it has been a while since there was any activity on this issue. Thanks for using Ionic!

Hello! I ran into this issue when pulling a colleagues project to local.
Error:

[12:37:06]  sass started ...
[12:37:06]  sass failed:  Cannot generate Sass files without first bundling JavaScript files in order to know all used modules.
Please build JS files first.

Ionic info:
Your system information:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.0-201610041708
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v6.7.0
Xcode version: Not installed
Npm version:
3.10.3
What I have tried so far:

Upgraded node.js
Uninstall/Install Ionic
I can build other RC0 projects with no error with the same environment

Other error that may or may not be related:
Error: Module /...path/@angular/platform-browser-dynamic
/esm/index.js does not export platformBrowserDynamic


NCCL error

I pulled the docker image and downloaded the checkpoint. When running generate_interactive.sh, I encountered the following error:
Traceback (most recent call last):
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
    main()
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
    _ = load_checkpoint(model, None, None)
Traceback (most recent call last):
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
    main()
    main()
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
Traceback (most recent call last):
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
Traceback (most recent call last):
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
    _ = load_checkpoint(model, None, None)
    _ = load_checkpoint(model, None, None)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
    torch.distributed.barrier()
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
    main()
    main()
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
    _ = load_checkpoint(model, None, None)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
    torch.distributed.barrier()
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier
    _ = load_checkpoint(model, None, None)
    main()
    torch.distributed.barrier()
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
    main()
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
    _ = load_checkpoint(model, None, None)
    _ = load_checkpoint(model, None, None)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
    torch.distributed.barrier()
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
    torch.distributed.barrier()
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier
    work = default_pg.barrier(opts=opts)
    torch.distributed.barrier()
RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).    torch.distributed.barrier()
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier

    work = default_pg.barrier(opts=opts)
RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).    work = default_pg.barrier(opts=opts)

RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).
    work = default_pg.barrier(opts=opts)
RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).
    work = default_pg.barrier(opts=opts)
RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).
    work = default_pg.barrier(opts=opts)
    work = default_pg.barrier(opts=opts)
RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).
RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).
Traceback (most recent call last):
  File "megatron_lm/tools/generate_samples_gpt2.py", line 104, in <module>
    main()
  File "megatron_lm/tools/generate_samples_gpt2.py", line 89, in main
    _ = load_checkpoint(model, None, None)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 183, in load_checkpoint
    load_checkpoint_new(model, optimizer, lr_scheduler)
  File "/workspace/YaLM-100B/megatron_lm/megatron/checkpointing.py", line 373, in load_checkpoint_new
    torch.distributed.barrier()
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/distributed_c10d.py", line 2709, in barrier
    work = default_pg.barrier(opts=opts)
RuntimeError: NCCL error in: ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:957, invalid usage, NCCL version 21.0.3
ncclInvalidUsage: This usually reflects invalid usage of NCCL library (such as too many async ops, too many collectives at once, mixing streams in a group, etc).
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 554) of binary: /opt/conda/bin/python3
Traceback (most recent call last):
  File "/opt/conda/bin/torchrun", line 33, in <module>
    sys.exit(load_entry_point('torch==1.8.0a0+17f8c32', 'console_scripts', 'torchrun')())
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 345, in wrapper
    return f(*args, **kwargs)
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/run.py", line 719, in main
    run(args)
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/run.py", line 713, in run
    )(*cmd_args)
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/launcher/api.py", line 131, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/opt/conda/lib/python3.6/site-packages/torch/distributed/launcher/api.py", line 261, in launch_agent
    failures=result.failures,
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
megatron_lm/tools/generate_samples_gpt2.py FAILED

I forgot to change the MP_SIZE, closing this issue.


Hostname funcitonality is not working

Looks like MDNS has stopped working, Arduino OTA manager reports esp- instead of proper names like Device.local.

Fixed


Switch from stacked to unstacked on button click

Is it possible to switch bar graph from stacked to unstacked on button click?
I tried the following code. Bit its not working.
			window.onload = function() {
				var ctx3 = document.getElementById("canvas1").getContext("2d");
				window.myBar = new Chart(ctx3, {
					type: 'bar',
					data: barChartData,
					options: {
						responsive: true,
						tooltips: {
							mode: 'label'
						},

						elements: {
							line: {
								fill: false
							}
						},

						scales: {
							xAxes: [{
								id: "x-axis-1",
								display: true,
								stacked: true,
								gridLines: {
									display: false
								},
								labels: {
									show: true,
								},
								scaleLabel: {
									display: true,
									labelString: 'month'
								}
							},

							{
							    display: false,
							    stacked: true,
							    id: "x-axis-2",
							   /barThickness: 70,
							    type: 'category',
							    categoryPercentage: 1,
							    barPercentage: 1,
							    gridLines: {
							        offsetGridLines: true
							    }
							}
							],
							yAxes: [{
								type: "linear",
								stacked: true,
								display: true,
								position: "left",
								id: "y-axis-1",

								gridLines:{
									display: false
								},

								labels: {
									show:true,
								},

								scaleLabel: {
									display: true,
									labelString: 'value'
								}
							},
							{
								type: "linear",
								stacked: false,
								display: false,
								position: "right",
								id: "y-axis-2",

								gridLines:{
									display: false
								},

								labels: {
									show:true,
								}
							}]
						}
					}
				});
			};

i try to change the xAxes id based on button click(stacked or unstacked). stacked bar is working fine, but unstacked bar is overlapping on each other.
Here's the fiddle :
https://jsfiddle.net/2a7Lzukc/2/

Hmmm, changing the axis IDs currently requires recreating the chart. You should be able to change the stacked option for the current axes though

@etimberg Can you please provide a code sample.
Thanks in advance.

in version 2.5, there is a dataset property called stack.
Using different stack values for stacked and unstacked works.


Support for ignoring/limiting max age

Sometimes the max age can be large, resulting in the total cache size becoming absolutely massive because there's loads of data with long TTLs. It would be convenient to have the TTL be the minimum out of the default ttl and the max age, instead of the sum, perhaps?
I think the way to get around this for now is going to be wrap up the psr cache in a class that limits the TTL.

that really depends on the scenario. in my eyes it should be up to the cache implementation to evict old entries when it is using up too much space. e.g. redis is able to do that afaik.
i would not tie such a thing to default ttl, but could see supporting a hard upper limit for cache lifetime that the plugin could use as min($maxCacheLifetime, $maxAgeHeader) or something like that. the default behaviour would stay the same, but if you configure max cache lifetime, it would do the min thingy. wdyt?

the plugin could use as min($maxCacheLifetime, $maxAgeHeader)

Yeh, exactly. For now, I have just implemented the limit within a psr cache proxy.

I don't know. Maybe the best approach is to do it in the way I've done it, and for the plugin not to have to be responsible for maximum TTLs.

that would work too, yep.


Root to leaf path sum

Would like to add an algorithm to check whether there is root to leaf path with its sum as S in C++.
Please assign this to me under gssoc2021.

hey @tarun26091999 @rudrakshi99 under gssoc'21 can i work on this issue in python
Thank you!

I'm the Participant in GSSOC'21. Please issue me this issue. I'll do thee code in Python.

Hello! I am a GSSoC'21 Participant. I would like to work on this issue. Would be highly obliged if you could assign it to me. Thanks!

Hello, I want to contribute to this issue and can code for the same in java language. Please assign me this issue.


Feature request: Allow choosing the “keyboard scale”

First off: love the app. The sound quality is so good. Thank you!
The request is essentially: Allow users to press anything on the keyboard and have it sound like it belongs. Same as the arpeggiator, but then even a child could manually arpeggiate.

I don't understand this feature. Sounds like magic.

Sorry, I wasn’t clear enough.
For example, if you choose the C major pentatonic scale, then the keyboard only contains C, D, E, G, and A with the octaves continuing to the left and right.

With this image as a reference, only the green keys would be visible, with the others hidden.

(Apologies for the roughness on this edit, but I hope the idea is clear)

This is something that maybe @marcussatellite will consider for his keyboard view?


Failing test case in SeleniumGridListener.beforeInvocation() method w…

…hen pre validation or configuration got failed

Please review this

@sundaramrajendran I like this approach better than before but as I mention it does not fully address the issue.

@mach6 I have added same fix to Exception block also. But wrapping to RuntimeException, because users don't need to add try catch block in their test case when invoke Grid.driver()

@sebady are all of your concerns addressed?

I think it's a little cleaner to save the exception AS-IS in thread local and convert at the throw site to runtimeException or whatever.  This is pretty minor though.

@sebady making your suggested change to this and merging it.
@sundaramrajendran fyi

Updated and merged this.


Bug/finalizer

Fixes #55 #54

Take a look at how this case is handled here: https://github.com/mikeshng/argo-workflow-multicluster/blob/main/controllers/workflow/workflow_controller.go#L122-L160
Also, there's a problem with the commits here and the commit message is not good

Fix the problem with the commits here so we can merge

Closed by #52


Fixes #603: Now use a rolling restart to minimize downtime.

@indexzero is this going to get merged in?


Update New-SPEnterpriseSearchMetadataManagedProperty.md

Fix for #2417

OPS Build status updates of commit 8466555:
:clock10: Preparing: average preparing time is 1 min(s) 13 sec(s)

OPS Build status updates of commit 8466555:
:clock10: Incremental building: average incremental building time is 12 min(s) 23 sec(s)

OPS Build status updates of commit 8466555:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/New-SPEnterpriseSearchMetadataManagedProperty.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Dispatcher no longer has quadratic behaviour

We had a production incident earlier today in which outgoing requests were blocked, with jstacks suggesting a lock in the Dispatcher as the culprit (on 3.12.0). (cc @swankjesse who worked on this recently)
This PR eliminates some quadratic behaviour in the Dispatcher by keeping track of requests per host.
I doubt this PR will really solve the problem we encountered (especially as we only use maxRequests = 256 and maxRequestsPerHost = 64), but it did seem a bit inefficient that the promoteAndExecute method iterated through the entire runningAsyncCalls for every item of readyAsyncCalls. I thought I'd put this PR up anyway as you might be interested in a perf improvement. Happy to add more test coverage if this is a direction you'd be interested in.

A very unscientific benchmark on my laptop showed speedups as maxRequests increased:
maxRequests | before   | after
64          | 30ms     | 30ms
640         | 101ms    | 71ms
6400        | 1266ms   | 196ms
64000       | 2minutes | 917ms

  @Test public void benchmark() throws Exception {
    int maxRequests = 640;
    dispatcher.setMaxRequestsPerHost(maxRequests);
    dispatcher.setMaxRequests(maxRequests);
    long before = System.currentTimeMillis();
    for (int i = 0; i < maxRequests; i ++) {
      client.newCall(newRequest("http://a/" + i)).enqueue(callback);
    }
    long after = System.currentTimeMillis();
    System.out.println("Elapsed = " + (after - before));
    assertEquals(executor.calls.size(), maxRequests);
  }

For reference, jstacks showed:

64 threads BLOCKED on 0x00007f28956a5000 line okhttp3.Dispatcher.finished(Dispatcher.java:219)
52 threads BLOCKED on 0x00007f28956a5000 on line okhttp3.Dispatcher.enqueue(Dispatcher.java:134)
jstacks over ~5 seconds showed a RUNNABLE thread stuck holding the lock in the runningCallsForHost method:

"OkHttp https://redacted:redacted/..." #699949 prio=5 os_prio=0 tid=0x00007f2929116000 nid=0x9730 runnable [0x00007f28956a5000]
   java.lang.Thread.State: RUNNABLE
	at okhttp3.Dispatcher.runningCallsForHost(Dispatcher.java:198)
	at okhttp3.Dispatcher.promoteAndExecute(Dispatcher.java:175)
	- locked <0x00000000ab2ff958> (a okhttp3.Dispatcher)
	at okhttp3.Dispatcher.finished(Dispatcher.java:224)
	at okhttp3.Dispatcher.finished(Dispatcher.java:209)
	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:218)
	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

Synchronous calls don't participate. You got it.

Nice improvement.

Yep, I think we should still see a speedup when lots of requests are queued/in-flight!


More region codes for the RTX 3090?

I wonder when the rest of the region codes will come for the RTX 3090, as a Belgian I'm very interested in the Founders Edition of the RTX 3090 and this script can help me with that.

#43 Please Close @User2018-ux


vcmi: 1.3.2 -> 1.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/vcmi/versions.
meta.description for vcmi is: An open-source engine for Heroes of Might and Magic III
meta.homepage for vcmi is: https://vcmi.eu
meta.changelog for vcmi is: https://github.com/vcmi/vcmi/blob/1.4.0/ChangeLog
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.4.0 with grep in /nix/store/kdbqh1x6qp6cg1vlll5bpi0m925r0080-vcmi-1.4.0
found 1.4.0 in filename of file in /nix/store/kdbqh1x6qp6cg1vlll5bpi0m925r0080-vcmi-1.4.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vcmi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/kdbqh1x6qp6cg1vlll5bpi0m925r0080-vcmi-1.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vcmi https://github.com/r-ryantm/nixpkgs/archive/97fe27db45aaafc95fee8b95735ed684c6810cfa.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/97fe27db45aaafc95fee8b95735ed684c6810cfa#vcmi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/kdbqh1x6qp6cg1vlll5bpi0m925r0080-vcmi-1.4.0
ls -la /nix/store/kdbqh1x6qp6cg1vlll5bpi0m925r0080-vcmi-1.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vcmi

Maintainer pings
cc @azahi for testing.

Handled in #273111.


Question [post-script] modify referenceType if a tag is present

Hello,
i wish i could change the type  of a reference on bibtex export if a tag (among others) is set to this reference.
I try this :

if ('Compte-rendu' in this.item.tags) {
  this.referencetype = 'note'
}

my problem is javascript and how to test one tag in a list of tags (your extension and the post-script feature are wonderful).

You were pretty close already:
if (Translator.BetterTeX && item.tags && item.tags.includes('Compte-rendu')) {
  this.referencetype = 'note'
}

Thank you very much :)
it's perfect !


malformed xbar.var format (name needs VAR_ prefix)

After updating to the latest version, I ran into https://github.com/matryer/xbar/commit/7c935c5a79626247c74b82ec74e85bca0cc64a7f which impacted a Vault xbar plugin I've been tinkering with. The plugin still worked, but the plugin page in the xbar app now throws an error due to a malformed format. The plugin continued to function thanks to the JSON config saved on disk from the old version, but I can no longer edit the value from the app because the variables don't have the VAR_ prefix.
# <xbar.var>string(VAULT_ADDR="http://localhost:8200"): Vault address.</xbar.var>
# <xbar.var>string(VAULT_TOKEN=""): Vault API token.</xbar.var>
# <xbar.var>string(VAULT_CACERT=""): Full path to the Vault CA cert.</xbar.var>
# <xbar.var>string(VAULT_CLIENT_CERT=""): Full path to the Vault client cert.</xbar.var>
# <xbar.var>string(VAULT_CLIENT_KEY=""): Full path to the Vault client key.</xbar.var>

These environment variables were helpful/easy as a plugin developer, since they are naturally supported by the vault binary on the system.
🤔 Would it make sense to continue supporting setting any environment variables from the config as a feature?

@picatz I think you're right. The VAR_ prefix was supposed to prevent clashes but maybe we can trust plugin developers a little more than this. I'll remove this constraint.

@picatz please try the latest release and let me know how that is for you.

Works with the latest release ( v2.0.33-beta ). Thank you!

No @picatz thank you.


Update transform server device

Needs #130 to be merged first

I also need to change the corresponding yarpmanager applications

I also need to change the corresponding yarpmanager applications

Done in https://github.com/robotology/walking-teleoperation/pull/133/commits/a9155d21c32764ea34321db136c7991ee0c5ddc6


Mistakes in documentation

Just filing these so that I don't forget:

Header guidelines docs mention all telemetry headers being removed. This is no longer the case with 1.1 so we need to rephrase that.
Our configs samples use "Version" : "2" for the request version. We should make this explicitly 2.0 since changing it to just 1 will kill your perf.

since changing it to just 1 will kill your perf

Alternatively, we could just log a warning if you specify 1.0 as that's most likely a mistake.