Support Overture Map format

The first Overture Map release using the new format is out: https://overturemaps.org/download/overture-july-alpha-release-notes/ and there are quite a few differences from OpenStreetMap data formats that planetiler currently supports:

The data comes in cloud-native parquet format with a WKB-encoded geometry column.
The attributes have a known/fixed schema available in machine readable formats (json-schema and avro) with complex nested data types
The schema is completely different from OSM, so no existing profiles will work with it
Elements use 128-bit string IDs instead of longs

This presents some challenges (like writing new profiles, adding support for parquet sources) but also some opportunities:

since the schema is available in machine-readable format, we could generate typed wrappers for elements from each layer so you get autocomplete and validation in Java, and json-schema so you get the same in yaml
since the data is arranged by layer, and roughly sorted by location (upper bits of IDs contain the H3-cell ID) it might be possible download only the thematic and geographic subset of data that you need
since the elements contain full geographies and we don't need to join like with OSM data it's possible to make a single pass through the data so we could read the data without downloading it to local disk - which also lowers memory requirements since we don't need to
since the schema has already been massaged for usability, it would likely be much simpler to write profiles from it it than from OSM data

What do people think the ideal workflow would be to use Overture maps data from Planetiler?

Some initial observations on the dataset:
It contains 1.5B elements (compared to 1.2B for OSM if you exclude nodes with no tags)
The initial size is 215GB vs. 75GB for OSM
Size breakdown by theme and type:

theme
type
Size (GB)

theme=admins
type=administrativeBoundary
0.1

theme=admins
type=locality
0.5

theme=buildings
type=building
118.3

theme=places
type=place
8.6

theme=transportation
type=connector
21.1

theme=transportation
type=segment
66.9

I wrote a sample Java driver using these dependencies:
org.apache.parquet:parquet-avro:1.13.1
org.apache.hadoop:hadoop-client:3.3.6

They double the size of the planetiler fat jar file (from 60 to 120GB)
On an r7g.metal instance, it takes ~1m30s to download all of the parquet files to disk, then about 1m30s to read all of the 1.5B geometries out of it.
Even though the IDs are 128-bit longs (and some are temp ID strings) - if you FNV1A-hash them to 64 bits, there are no collisions.

It seems the majority of the space is buildings, are there a lot more building than OSM or is the size just the format used?

there should be many more buildings than OSM, if this is a superset of previous Daylight MSFT building releases.
The Parquet format is very efficient at encoding column data but the geometry encoding is simply WKB, which should be less compact than the OSM topological way/node model. So I think it's a combination of both.

Exactly, currently the buildings theme contains a combination of OSM + Microsoft ML + ESRI Community Maps data, for a total of about 786M buildings globally.

A couple of other options for reading parquet format:

spark-sql makes it simple to select and transform columns, filter, etc. but pulls in a ton of dependencies (jar goes from 60 to 260mb)
https://github.com/strategicblue/parquet-floor/ lets you read parquet files without pulling in hadoop dependencies at all and jar only goes up to 80mb

Probably this is stupid so feel free to ignore my comment, but my first thought was let's flatten the nested properties and make a planet.pbf file which looks like OSM...

@mactrem gave a nice presentation about possible improvements of the Mapbox Vector Tile format in the last MapLibre Technical Steering Committee meeting. There was some discussion about nested properties. Maybe this is a bit far in the future, but worth thinking about...
If you are interested in discussions around the tile format, feel free to join the #maplibre-tile-format channel in the OSMUS slack.

I got a little deeper into the low-level parquet format reading this morning. It looks like it should actually work pretty cleanly in planetiler architecture to saturate all cores if I read one row group from a file at a time, then hand it off to a worker to parse and process one element at a time.
I tried playing with https://github.com/joelittlejohn/jsonschema2pojo to generate typed classes from the json schema definition in https://github.com/OvertureMaps/schema/tree/main/schema but looks like it can't handle allOf/oneOf.  I'll play with it a bit more but might just start with a dynamic API  like getInt("level") or getDouble("bbox.minx") instead of marshaling it into a typed wrapper for the first pass.

It should be possible but it should definitely use https://github.com/onthegomap/planetiler/issues/127 - would be highly inefficient to break out Overture into a topological node/ways/relations just to re-assemble them again.

Alright, got a first pass (highly experimental!) overture reader up and running.  Planetiler can download and build a planet.pmtiles for the planet on an r7g ec2 instance in about 15 minutes, compared to 20+ for an OSM planet pbf.  The output is around 50GB.
Here's a demo with a z0-6 for the planet, then z7-14 for just Boston: https://msbarry.github.io/planetiler-overture-demo/#14/42.35647/-71.07003
The structured attributes definitely present a challenge mapping to vector tile key/value pairs, mostly on road segment layer. Take a look at the road "segment" attributes, I just left them JSON for now but I'll need to do something to split up road lines and apply tags conditionally for different segments like flags=[{"value":["isBridge"],"at":[0.040321064,0.448427838]}].

Congratulations @msbarry, this is amazing!

Very cool @msbarry
Looking at it, it doesn't seem like it would be hard to style those values with a case syntax. similar to the ugly way I did the icons in my recent trail map, like
"icon-image":["case",["in", "Fuel", ["get","description"]],"fuel_15", ["case",["in", "Parking", ["get","description"]],"parking_15", ["case",["in", "View", ["get","description"]],"attraction_15", ["case",["in", "Sales", ["get","description"]],"commercial_15", ["case",["in", "Camping", ["get","description"]],"campsite_15", ["case",["in", "Food", ["get","description"]],"restaurant_15", ["case",["in", "Lodging", ["get","description"]],"hotel_15", ["case",["in", "Restroom", ["get","description"]],"toilets_15", ["case",["in", "Club", ["get","description"]],"warehouse_15", "circle_15"]]]]]]]]],
What does that location mean? does the line start at that point or is it longer and telling you at a certain point it changes to a different style?

The at field means that the attribute only applies for a certain segment of the line, so at: [0, 0.5] means it applies for the first half. This is one of the biggest mismatches between overture format and planetiler processing/vector tiles in general.
So to "have support for overture" in planetiler probably means it is able to:

download and read parquet sources
access structured properties (nested structs and lists) and parse json strings, assuming this isn't a bug: https://github.com/OvertureMaps/data/issues/43
break apart lines based on attributes that only apply to partial segment lengths

I'd say understanding the current overture schema could be out of scope for now, since it will evolve and we people should be able to use new attributes without being blocked on a planetiler update.

OK I got a prototype profile with those working (see code and demo)
I think it's easiest to work with the structured schema with a dynamic API, so you can do things like:
feature.setAttr("categories.main", struct.get("categories").get("main").asString())

or handle all of the different ways that partial-length road data is provided (some embed an "at": [start, end] field in an object, some use {"at": [start ,end]: "value": list or value} some use "values" but it's all handled by this code)
For actually handling the partial-length values I came up with an API
var rangeMap = new RangeMapMap();
rangeMap.put(0, 0.25, Map.of("key", "value");
rangeMap.put(0.25, 1.0, Map.of("key", "other value");
var lineSplitter = new LineSplitter(lineString);
for (var range : tags.result()) { // merges overlapping tag maps
  var splitLine = lineSplitter.get(range.start(), range.end());
  features.geometry(sourceFeature.getSourceLayer(), splitLine)
    .putAttrs(range.value());
}

but I could probably simplify it to something like:
features.line(sourceFeature.getSourceLayer())
  .setAttrPartialLength(0, 0.25, "key", "value")
  .setAttrPartialLength(0.25, 1.0, "key", "other value")
  .putAttrsPartialLength(0, 0.5, names)

then have planetiler handle creating multiple line geometries behind the scenes.

If I wanted to try the code at https://github.com/onthegomap/planetiler/tree/overture-generic , how would I use this new profile after compiling planetiler?

If I wanted to try the code at https://github.com/onthegomap/planetiler/tree/overture-generic , how would I use this new profile after compiling planetiler? can it only be used with pmtiles or are mbtiles still possible?

java -jar planetiler.jar overture

should be sufficient. It will download by default, but you can set --download=false --overture-path=... to point to a location you've already downloaded to.  You can also set --split_roads=true to spit road segments (default just leaves the json structs on each full-length road segment) and --connectors=false will disable writing transportation connectors and connector IDs to the output (which double the size).

Also, I'm not sure if we should add full overture support to planetiler while they are still only doing alpha releases if the format might change in the future (for example something besides avro-parquet).  So maybe we should split this out into separate independent issues for the generic lower-level capabilities that planetiler needs to work with overture-like data:

support partial-length line attributes, which effectively splits it up into several vector tile line segments
support for working with structured input feature attributes (lists, maps...)
working with an input source composed of many files (which can be listed through s3 api) - the downloads are a little wonky in overture-generic branch
parquet input format
pole of inaccessibility/maximum inscribed circle centroid option for polygon centers (not strictly necessary but something I added in overture-generic branch)

Then we could have an example profile that used these to read one of the alpha releases but then it's mostly up to consumers if/how they want to use it?

Added initial geoparquet support in #888. There's a still some rough edges and I'm planning to improve support for structured attributes, automatic downloading, linear-referenced tags, exposing row/column filters, and geoarrow improvements - but it's at least possible to use overture data now.

The at field means that the attribute only applies for a certain segment of the line, so at: [0, 0.5] means it applies for the first half. This is one of the biggest mismatches between overture format and planetiler processing/vector tiles in general.
So to "have support for overture" in planetiler probably means it is able to:

download and read parquet sources (realistically people will probably want to mix and match only certain themes from overture with other sources)
access structured properties (nested structs and lists) and parse json strings, assuming this isn't a bug: road field is just a JSON string OvertureMaps/data#43
break apart lines based on attributes that only apply to partial segment lengths

I'd say understanding the current overture schema could be out of scope for now, since it will evolve and we people should be able to use new attributes without being blocked on a planetiler update.
What do people think?

Just a quick note that we're moving forward with fixing the "road field is just a JSON string" issue. (I commented there in a bit more detail).

@msbarry I'm curious about the relative performance of tiling GeoParquet versus OSM. I saw further up you mentioned 15 minutes for GeoParquet versus 20+ for OSM. Is the difference that small, or is it partly influenced by data size, e.g. Overture has roughly 4X the buildings?

It's a little hard to isolate since the volume of data in OSM vs. overture is different, and there's no profile that works with both overture and OSM data yet.  I tested with a noop profile that just does a full scan through latest OSM pbf and 5/16 overture release on a 32-core machine I've been using to test and they each took around 10-11 minutes - although OSM has 1.2B features (excluding nodes without tags) vs. 3.4B for Overture.
OSM pbf has to do 2 full scans, storing node locations on the first pass and using them to construct geometries on the second pass - it also needs 64gb of ram to cache node location lookups in the second pass. Overture provides fully-formed geometries so the reader can get by with only 2-3gb or ram.
That's just for a full scan though - if you specify a bounding box then planetiler skips parquet files where the geoparquet bbox metadata field doesn't intersect, and converts the bbox to a push-down predicated that let it read all of Boston or Massachusetts in 5-10 seconds.  I think people will most likely grab only the themes/types they need for their profile so the amount of data processed should be smaller.  And when I add support for column filters that should help too.

Here's a rough breakdown of the 10-11 minutes to do a full scan through overture:

3 minutes reading parquet values (45s of that is decompressing zstd)
3.5 minutes parsing parquet values and putting them into maps/lists
1 minute reading wkb-encoded geometries
1 minute projecting lat-lon to web mercator
30s reading parquet file/row group metadata

The time spent just reading overture data will likely be in the noise compared with time spent processing geometries/emitting tiles (same for osm data though).

@msbarry - first off these updates are incredible - thanks for taking the time to put these together.
Also - those performance metrics seem incredibly fast across the board. For a whole globe of data, those render times are so fast! Do you have a target you're shooting for? Does your use case require such rapid iteration? I'm curious more so than anything.
Thanks again, looking forward to playing with it.

Thanks! Just to clarify that's not for rendering anything, it's just the fixed cost to read overture data. Rendering a complex profile from it could still take hours depending on how much data/post processing you include.
Since spatial queries appear to be so fast I think an interesting possibility this opens up could be to expose a web server that renders tiles on the fly/hot reloads when the profile definition changes.  But when you're done you'd still run in batch mode to generate all the tiles.

The 0.8.0 release adds geoparquet/overture support. See https://github.com/onthegomap/planetiler-examples for an example and instructions getting started.

The 0.8.0 release adds geoparquet/overture support. See https://github.com/onthegomap/planetiler-examples for an examples and instructions getting started.

This is great! Are you planning on updating this profile as well? Or is the plan to remove it leave the profile details as an exercise to the reader?

That's a good question, my understanding is that overture maps foundation plans to provide x-ray view vector tiles for each release on their end, so the "see what overture data looks like" use case will be covered. A more full-featured overture profile would mostly be so that people could actually build maps based on overture data. I'm not sure if people would want that as a brand new schema closely matching overture raw data, or as an adapter that maps the data to an existing schema like shortbread or openmaptiles - or if that would make sense embedded in planetiler, planetiler-examples, or as a standalone repo.

I didn't know they were planning on providing tiles. Meanwhile, maybe it would make sense to add the remaining data sets (admin and places) to the examples repo?

I didn't know they were planning on providing tiles. Meanwhile, maybe it would make sense to add the remaining data sets (admin and places) to the examples repo?

Just a quick note that the admins theme was replaced with the divisions theme a few months back.

I didn't know they were planning on providing tiles. Meanwhile, maybe it would make sense to add the remaining data sets (admin and places) to the examples repo?

Here's example profiles for Buildings, Transportation and Base that will be migrated into Overture examples : https://github.com/bdon/overture-tiles/tree/main/scripts/2024-05-16-beta.0

Hi, I’m looking for guidance on how to handle both OSM vector tiles and OvertureMaps Parquet files.
Can someone help me with the best approach?

Which data from Overture would you like to use @zachtrong?
I know that @msbarry has combined OSM data for all layers of OpenMapTiles except for the buildings layer, where he used Overture data instead...

Which data from Overture would you like to use @zachtrong?
I know that @msbarry has combined OSM data for all layers of OpenMapTiles except for the buildings layer, where he used Overture data instead...

Yes, I was curious about merging OSM data with Overturemaps Buildings. Seems like inheriting OpenMapTiles profile with a custom Building handler is the approach here.

Seems like inheriting OpenMapTiles profile with a custom Building handler is the approach here.

Yep that's what I did for onthegomap. We could update the openmaptiles profile to support an --overture-buildings flag or something that tells it to use buildings from overture instead of OSM. What I did for onthegomap isn't too generalizable though since I don't use any building tags.

There's nothing that says Overture and OSM data have to be in the same tile archive. We're using protomaps to generate a pmtiles archive for OSM data, and then we are generating another archive for Overture buildings and places using a separate (and pretty simple) planetiler profile.

I am also using overture buildings from the planetiler example profile at
https://github.com/onthegomap/planetiler-examples/blob/main/OvertureBuildings.java
I made them similar to this the Landcover example at
https://gist.github.com/dschep/9a4c875715e62c6b8e7d5697e33780d4
mkdir -p data
overturemaps download -f geoparquet --type=building -o data/buildings.parquet
java -cp planetiler.jar OvertureBuildings.java

It ends up with a tiles like this
https://tiles.wifidb.net/data/overture_buildings/#14.1/42.26058/-71.80832
I added this to my style , which is a little hacky with height of the buildings. I found 'height' wasn't consistently on all buildings, so some I used 'numFloors' multipled by 3 if that existed instead.

    {
      "id": "building",
      "type": "fill",
      "source": "overture_buildings",
      "source-layer": "building",
      "paint": {
        "fill-antialias": true,
        "fill-color": "rgba(222, 211, 190, 1)",
        "fill-opacity": {
          "base": 1,
          "stops": [
            [
              13,
              0
            ],
            [
              15,
              1
            ]
          ]
        },
        "fill-outline-color": {
          "stops": [
            [
              15,
              "rgba(212, 177, 146, 0)"
            ],
            [
              16,
              "rgba(212, 177, 146, 0.5)"
            ]
          ]
        }
      }
    },
    {
      "id": "building-3d",
      "type": "fill-extrusion",
      "source": "overture_buildings",
      "source-layer": "building",
      "filter": [
        "all",
        [
          "!has",
          "hide_3d"
        ]
      ],
      "paint": {
        "fill-extrusion-color": [
          "case",
          [
            "has",
            "colour"
          ],
          [
            "get",
            "colour"
          ],
          [
            "interpolate",
            ["linear"],
            ["case",["has","height"],["get","height"],["case",["has","numFloors"],["*", ["get", "numFloors"], 3],3]], 0, "lightgray", 200, "royalblue", 400, "lightblue"
          ]
        ],
        "fill-extrusion-height": [
            "interpolate",
            ["linear"],
            ["zoom"],
            14,
            0,
            15,
            ["case",["has","height"],["get","height"],["case",["has","numFloors"],["*", ["get", "numFloors"], 3],3]]
        ],
        "fill-extrusion-base": ["case",
            [">=", ["get", "zoom"], 16],
            ["get", "render_min_height"], 0
        ]
      }
    },

Although I'm not sure what I used is always great, for example, the Eiffel Tower..
https://tiles.wifidb.net/styles/WDB_OSM/#15.6/48.860436/2.295161/-52/58


Cooling Only models

Is it possible to provide a config entry to remove the 'Heating' mode? Although its not a major drama it would be great to disable this so it doesnt appear in the UI.
Also with cooling only models the HA HVAC_MODE_HEAT_COOL mode is redundant and HVAC_MODE_AUTO would be more relevant

Yes, the supported modes are set in the climate traits and it should be possible to set them dynamically:
https://github.com/DomiStyle/esphome-panasonic-ac/blob/master/components/panasonic_ac/esppac.cpp#L21

Also with cooling only models the HA HVAC_MODE_HEAT_COOL mode is redundant and HVAC_MODE_AUTO would be more relevant

HVAC_MODE_AUTO  is only allowed for ACs which provide some form of automation, no temperature can be set in that mode.
ACs which just switch between heat and cool depending on the temperature are supposed to use HVAC_MODE_HEAT_COOL.
See: https://github.com/home-assistant/core/blob/3efdf29dfa178838002201eaea258db78e6fa2ba/homeassistant/components/climate/const.py#L16

In Midea climate component it can be set like this (link)
    supported_modes:
      - FAN_ONLY
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY

This would be useful in Panasonic AC too.


Atoti installation - environment resolution problem

Description
On the atoti installation page
https://docs.atoti.io/latest/getting_started/installation.html#conda-package
the command
conda install atoti atoti-jupyterlab python
triggers the following environment resolution problem
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: /
The recommandation is to ensure channels are properly added
conda config --add channels conda-forge
conda config --add channels https://conda.atoti.io
If the environment resolution problem remains,
the recommandation to install in 3 steps instead of 1
conda install python
conda install atoti
conda install atoti-jupyterlab
When executing
conda install atoti
If the environment resolution problem remains,
the recommandation is simply to wait
The root cause for this remains to investigate (it could simply be a server being unavailable during european night time)
Until then, it would be great to have this documented so users know there is no particular action to take, just wait.

Hello Pierre !
Just to be sure I understand: the environment resolution is slow with conda when you install atoti, so you would like to see in the documentation that this is a regular behavior with conda ? 😄

Hi Camille, thanks for reaching out.
Well the waiting time may or may not be documented, as it could become fast in a future version.
The main thing is to document that the messages starting with Solving environment: failed.... are expected.
What happens when you don't know is that, as you are waiting, you google this to see if it's normal.
Google says it's a known issue related to channels addition, and there is a recommended fix.
At that stage, after a good 5mn waiting, you interrupt the command with CTRL+C, and try to fix the issue, only to see the fix doesn't have any effect, etc...
So, knowing that this message is expected is an important information
especially when the command takes a while to kick start.
Hope this helps
Pierre


Support migrating from schemas 4 and 5 to 6

There's a TODO in the code where this should be done

Fixed in 0b311d7


Remove extras from user-supplied constraints in backtracking resolver (fixes #1806)

This change ensures extras are removed from user-supplied constraints in the backtracking resolver, fixing #1806 and https://github.com/dependabot/dependabot-core/pull/6550. Credit goes to @deivid-rodriguez for the suggestion.
Contributor checklist

[ ] Provided the tests for the changes.
[x] Assure PR title is short, clear, and good to be included in the user-oriented changelog

Maintainer checklist

[ ] Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

Given the suggestion came from Deivid and copies his patch, you might want to include him as an additional author on the commit?
Is it possible to include a test to ensure no future regression?

Given the suggestion came from Deivid and copies his patch, you might want to include him as an additional author on the commit?

Thanks for the suggestion! I amended the commit and force-pushed the update.

Is it possible to include a test to ensure no future regression?

Unfortunately, there's only one unit test that uses the backtracking resolver fixture, and it's not fully fleshed out with the required options, nor an InstallCommand that has the appropriate behavior to actually exercise this code. Further, using e.g., mock.MagicMock proved difficult due to type assertions in the code.

Yeah, I actually noticed that by removing a few related lines and seeing that no tests would fail. Hopefully we can get some guidance on how to proceed, maybe get the fix introduced for now based on our realworld testing until unit tests can be improved.

Just an update: I added an integration test for this case. It fails on main, passes with this change. All existing tests pass. 🙌


Exclude tests folders in setup.py

Without this, it would install our tests folder as a module "tests" in python
See https://github.com/lbryio/lbry/issues/498

@kaykurokawa in the future, you can just merge this without a PR :-)


[Add Dataset] 10.000 Chess Games with Centipawn Loss

Description
Can Data Prove Cheating in Chess?
Screenshots

please assign me this issue for hacktoberfest

Go ahead @nik132-eng :)

Hey @nik132-eng | Add the PR by today evening because all the issues will be closed by tonight :))


[backport] Support complex types in solve_triangular

Backport of #4452

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit fe1019a5d4845eabc50ca3db1c13439470a3cea8, target branch v8) succeeded!


[FLINK-30984][table] Upgrade Janino to 3.1.10 and Remove explicit cast required by 3.1.9

What is the purpose of the change
The PR updates Janino to 3.1.10 and removed WA with explicit cast of nulls which was introduced at https://github.com/apache/flink/pull/21500 to cope with Janino issue https://github.com/janino-compiler/janino/issues/188.
Now the fix of this issue is in 3.1.10, so no need for WA anymore
Verifying this change
This change is already covered by existing tests, such as (please describe tests).
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes )
The public API, i.e., is any changed class annotated with @Public(Evolving): ( no)
The serializers: ( no)
The runtime per-record code paths (performance sensitive): ( no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: ( no )
The S3 file system connector: ( no)

Documentation

Does this pull request introduce a new feature? ( no)
If yes, how is the feature documented? (not applicable)

@lincoln-lil , @twalthr since you reviewed the PR (https://github.com/apache/flink/pull/21500) where that WA was introduced could you please have a look here where together with update of Janino it will be removed?

@flinkbot run azure

rebased to see that it passes ci on the latest master

Thanks for having a look


build: Speed up playground build

As discussed in https://github.com/PRQL/prql/issues/1836#issuecomment-1601890278

This works quite well, and solves most of the runtime issues with wasm-pack. We could postpone https://github.com/PRQL/prql/issues/1836#issuecomment-1601890278. And remove the recent additional tasks around caching the playground etc.
But unfortunately we get another stack size issue!
Failed to decode custom "name" section @20041605; ignoring (Maximum call stack size exceeded).

So maybe we look at this again after https://github.com/PRQL/prql/pull/2908 is solved...

Since #2908 seems to be solved, we no longer the stack overflow above.
But we get a different error — Module parse failed: Unexpected section: 0x9

ERROR in ../../bindings/prql-js/dist/bundler/prql_js_bg.wasm
Module parse failed: Unexpected section: 0x9
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
Error: Unexpected section: 0x9
    at new CompileError (/Users/maximilian/workspace/prql/web/playground/node_modules/@webassemblyjs/helper-api-error/lib/index.js:40:109)
    at parseSection (/Users/maximilian/workspace/prql/web/playground/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js:1329:76)
    at Object.decode (/Users/maximilian/workspace/prql/web/playground/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js:1712:25)
    at decode (/Users/maximilian/workspace/prql/web/playground/node_modules/@webassemblyjs/wasm-parser/lib/index.js:248:21)
    at WebAssemblyParser.parse (/Users/maximilian/workspace/prql/web/playground/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js:48:19)
    at /Users/maximilian/workspace/prql/web/playground/node_modules/webpack/lib/NormalModule.js:1089:26
    at processResult (/Users/maximilian/workspace/prql/web/playground/node_modules/webpack/lib/NormalModule.js:802:11)
    at /Users/maximilian/workspace/prql/web/playground/node_modules/webpack/lib/NormalModule.js:862:5
    at /Users/maximilian/workspace/prql/web/playground/node_modules/loader-runner/lib/LoaderRunner.js:407:3
    at iterateNormalLoaders (/Users/maximilian/workspace/prql/web/playground/node_modules/loader-runner/lib/LoaderRunner.js:233:10)
 @ ../../bindings/prql-js/dist/bundler/prql_js.js 3:0-42 5:15-19
 @ ./src/workbench/Workbench.js 5:0-45 71:12-24 98:13-28 104:13-26
 @ ./src/app/App.js 5:0-47 66:37-46
 @ ./src/index.js 8:0-28 13:33-36

Searching for this gives a couple of issues: https://github.com/rustwasm/wasm-pack/issues/1050 & https://github.com/webpack/webpack/issues/14087. These both reference https://github.com/wasm-tool/wasm-pack-plugin, which we don't use[^1].
[^1]: though maybe we could? It looks like one advantage is that it'll identify when we need to recompile the rust, rather than recompiling each time, maybe solving some of the symptoms of https://github.com/PRQL/prql/issues/1836. If anyone wants to have a go, that'd be interesting.)
Overall I'm not experienced enough at JS to do this quickly or well, but if someone wants to investigate further, that'd be welcome.

This now works great! I think because of the move to vite — courtesy of @vanillajonathan .
So I'm merging. task run-playground is down to 7 seconds, including recompilation, from ~40 seconds. Note that it does make the local playground experience slightly-but-noticeably laggier. So if that's a concern, run without the --profile=dev. This only affects local development, not the published version.


don't clobber user-defined environment variables

If I want to set NODE_ENV to "baconator", I should be allowed to. Mutating global state that most devs assume to be immutable is just abysmal dev practice, especially since this mutation only happens when you're building for prod, not running on the simulator.
To test this, run env NODE_ENV=baconator ./gradlew assembleRelease with babel-plugin-transform-inline-environment-variables in your app/.babelrc. You'll see that the final app has NODE_ENV=production.
As a side note, running with babel-plugin-transform-inline-environment-variables in the top-level .babelrc crashes horribly with a compiler error.
For anybody who runs into this bug and doesn't feel like waiting for this to get merged, I wrote a quick babel plugin to remove assignments to process.env, which is sufficient to fix this issue.

By analyzing the blame information on this pull request, we identified @sam-swarr and @davidaurelio to be potential reviewers.

We need this to make sure React runs with the right flags. If we didn't have this, you'd be running all sort of potentially expensive checks in production!
How about making this first check if NODE_ENV is undefined and only doing our args.dev change if it hasn't been set yet.

@javache +1 on the only setting it if NODE_ENV is undefined. If a put in a PR, will you accept?

Closed in favor of https://github.com/facebook/react-native/pull/8057


[API] Reduce exception handling in TextMapPropagator#extract

Previous code used to throw an error from TraceParent.from_string when given a nil, which happens when the carrier is empty.
This pull request changes the implementation to return early instead. It follows the same pattern that was introduced in Baggage::TextMapPropagator in PR #835.

Hey @hosamaly just would like to understand the issue this is meant to correct a little better.

Previous code used to throw an error from TraceParent.from_string when given a nil, which happens when the carrier is empty.

I believe we are handling nil cases in that method https://github.com/open-telemetry/opentelemetry-ruby/blob/8a538e7f60f2ad38600c3d8d83718290f185ea70/api/test/opentelemetry/trace/tracestate_test.rb#L14-L17

This is both a perf optimization and an attempt to reduce the use of exceptions for "normal" flow control. In general, I think it would be worth investing the effort to remove the use of exceptions in TraceParent parsing as well, but this is valid regardless.

Linter error https://github.com/open-telemetry/opentelemetry-ruby/runs/5628071090?check_suite_focus=true#step:5:64
lib/opentelemetry/trace/propagation/trace_context/text_map_propagator.rb:48:54: W: Lint/AssignmentInCondition: Use == if you meant to do a comparison or wrap the expression in parentheses to indicate you meant to assign in a condition.
[65](https://github.com/open-telemetry/opentelemetry-ruby/runs/5628071090?check_suite_focus=true#step:5:65)
            return context unless trace_parent_value = getter.get(carrier, TRACEPARENT_KEY)

Linter error

Fixed


Thank You Issue

I hope you don't consider this spam and I hope maybe you'll consider pinning this issue so other people can add their thanks but I just wanted to say,  I've been using this library for a couple of projects and I'd be dead without it so ....
Thank you so much for all the work all of the contributors have put into this! ❤
Also, I know that donations bring their own set of problems but if you took donations I'd happily donate with no expectations.

I've been using it in production for years, very thankful.....


Support changing the error type via .or_else

Today I commented on P2505R0 that it should be designed to permit this code:
std::expected<Connection, PortableError> convertError(SSLError e) {
    return std::unexpected(PortableError(e));
}

std::expected<Connection, SSLError> e1 = ~~~;
std::expected<Connection, PortableError> e2 = e1.or_else(convertError);

This doesn't work with tl::expected today. I plan to submit a PR for this feature, but will wait for some of my preliminary PRs to get merged first.

As a workaround, this is exactly what .map_error does.
Example:
tl::expected<Connection, PortableError> translateError(SSLError e) {
    return tl::make_unexpected(PortableError(e));
}

tl::expected<Connection, PortableError> s = e1.map_error(translateError);


Fail-whale page content is flush with header

Setup

Rancher version: 2.6.9

Describe the bug

Looks like the page layout has changed and the content is now flush with the header

To Reproduce

Navigate to any cluster's workloads list
Request a bad resource by changing the workload text in the url to junk

Expected Result
There should be more space, ideally by centrally aligning content vertically

Ticket #7099 - Test Results
With Docker on a single-node instance:
Verified on rancher v2.7-ae44c398377516fcd150b8fc2a81a9fd6d4d8fb5-head:

Fresh install of rancher v2.7-head
Navigate to Cluster Explorer > Workloads of local cluster and change /workload in URL to /junk and send request
Verified - Fail Whale screen shows up properly formatted; as expected

Screenshot:


How to get rid of surrounding paranthesis in compiled output?

By issuing this command:
$ echo {+x} | lsc -cpb --no-header

I get following result
({
  x: true
});

but I need
{
  x: true
}

Is there any way to do this without getting regex come into play?

$ echo {+x} | lsc -cpb --no-header --bare

Would you test your suggested code?

dont have bash.

Does echo {+x} | lsc -j come close enough? That gets you
{
  "x": true
}

That works (does what I asked), thank you. But it turns out that this can be applied only JSON objects which don't include functions in them:
echo "{x: ->}" | lsc -cpb --no-header

outputs
({
  x: function(){}
});

but
echo "{x: ->}" | lsc -cpb --no-header -j

outputs:
{}


SupportsPinning Outlook online (outlook.com) not working

Hi, SupportsPinning for outlook online should work now (https://github.com/OfficeDev/outlook-dev-docs/commit/b644ef7d1c586a037839e5a9d4ff3fc1dab9021f).
I was unable to make this functionality operational. Outlook online is meant by outlook.com?
Thank you

@janbalcarik thanks for reaching out with this question and apologies for the delayed response. In order to assist with troubleshooting, can you please share your XML manifest file (with any PII removed)?

I'm closing this issue due to lack of activity on this thread over the past 2+ months. If you're still having trouble getting SupportsPinning to work in Outlook.com (also commonly referred to as "Outlook Online" or "Outlook on the web"), please solicit feedback/assistance by posting your question (and code) to Stack Overflow (tagged with the outlook-web-addins tag).


lib: introduce foreach = flip map

lib: introduce foreach = flip map
The main purpose is to bring attention to flip map, which improves
code readablity. It is useful when ad-hoc anonymous function
grows two or more lines in map application:
    map (lcfg:
        let port = lcfg.port;
            portStr = if port != defaultPort then ":${toString port}" else "";
            scheme = if cfg.enableSSL then "https" else "http";
        in "${scheme}://cfg.hostName${portStr}"
    ) (getListen cfg);

Compare this to foreach-style:
    foreach (getListen cfg) (lcfg:
        let port = lcfg.port;
            portStr = if port != defaultPort then ":${toString port}" else "";
            scheme = if cfg.enableSSL then "https" else "http";
        in "${scheme}://cfg.hostName${portStr}"
    );

(the example was taken with modifications from apache-httpd module)
This is similar to Haskell's for (http://hackage.haskell.org/package/base-<IP_ADDRESS>/docs/Data-Traversable.html#v:for)
Extracted and simplified from a more radical approach in https://github.com/NixOS/nixpkgs/pull/57091.

I can add release doc if this is going to be merged.

Going forward, the next step to improve Nix readability for functional programmers experienced in Haskell should be
    (getListen cfg) `foreach` (lcfg:
        let port = lcfg.port;
            portStr = if port != defaultPort then ":${toString port}" else "";
            scheme = if cfg.enableSSL then "https" else "http";
        in "${scheme}://cfg.hostName${portStr}"
    );

And for people with Scala background:
    (getListen cfg).foreach (lcfg:
        let port = lcfg.port;
            portStr = if port != defaultPort then ":${toString port}" else "";
            scheme = if cfg.enableSSL then "https" else "http";
        in "${scheme}://cfg.hostName${portStr}"
    );

@volth I agree with your sarcasm! But OTOH I'd want flip map instead of map here:
https://github.com/NixOS/nixpkgs/blob/f3282c8/nixos/modules/services/web-servers/nginx/default.nix#L656
We can try to amend documentation, to teach people about flip map idiom from start. But we still have lots of non-functional people around, who are not used to reading flip-ed code.

How about just naming this for?

@Infinisil I'd reserve for as a keyword for https://github.com/NixOS/nix/issues/2543

@danbst & @volth consensus reached...?

This should be forEach since we use camelCase naming for functions.

@aanderse @edolstra renamed.
Now forEach is called 10 times during
$ nix-instantiate ./nixos/ --arg configuration '{ boot.isContainer = true; }' -A system

@edolstra from your comments I assume implicit approval at this point?

thanks @aanderse and @edolstra


All categories using zia_url_categories data source

Discussed in https://github.com/zscaler/terraform-provider-zia/discussions/156

Originally posted by aaron-spencer December  7, 2022
I was wondering if there is a way to retrieve all URL Categories using the zia_url_categories data source, similar to the /urlCategories API endpoint. The data source description seems to suggest that all categories can be fetched, but I am only successful when providing a valid id value.

Hi @aaron-spencer
Thanks for reaching out. At the moment, the provider only allows to retrieve individual categories. In future versions we plan to allow for the retrieval of all categories. Can you describe what would be your use case to retrieve all categories in single data source?
Thank you

Hi @aaron-spencer understood. If the purpose is to move your ZIA configuration to Terraform compliant code, I'd recommend that you take a look at our Zscaler-Terraformer tool. The tool is designed to import your entire ZIA and/or ZPA configuration by creating not only the state file but also the HCL itself.
You can watch the introduction video in our Zenith Community Here
Give it a try and let me know if you have any questions. Either way I'll be looking at your request and see what we can do as it will require some SDK updates as well.
FYI: Feel free to reach out via email if needed<EMAIL_ADDRESS>😉
Thank you
William


comms:http:client: Make possible cancel a request

Delete idler and watch on connection destroy

merged, thanks for reviewing it


Uncaught TypeError: Cannot read property 'status' of undefined at XMLHttpRequest.

Hi, I am getting this error on my production server (https) when running dropzone upload:

Uncaught TypeError: Cannot read property 'status' of undefined at XMLHttpRequest.

However on my local production server it works fine.
Here is how I instantiate dropbox:
<dropzone
    id="myVueDropzone"
    url="/editor/tempPicture" v-on:vdropzone-success="showSuccess"
    :use-custom-dropzone-options=true
    :dropzone-options='{maxFileSizeInMB: 10,
    acceptedFiles: "image/jpeg",
    dictDefaultMessage: "@lang('pages.dropzone default')"}'>
</dropzone>

While I get the error the file is transfered but the error interrupts the execution of the code.
Any ideas?

Can you post the code of showsuccess method?

Here it is
            'showSuccess': function (response) {                 console.log('A file was successfully uploaded')                 console.log(response.xhr.response)                 var res = JSON.parse(response.xhr.response);                 this.picture.filename = res.filename;               },

@vlahde Can't figure out the issue. :frowning_man: . Could you help with some steps to reproduce the same issue?

Ofcourse. What do you need? This error occurs before showSuccess action is emitted

If you expand out the error in the console do you see anything useful @vlahde ? It might be a bit hard for us to debug this without access to your API but we'll do our best...

Here is the full version of the error:
Uncaught TypeError: Cannot read property 'status' of undefined     at XMLHttpRequest.<anonymous> (release.js:2) (anonymous) @ release.js:2
and release.js looks like this (I don't think that the problem is here):
`/*
Vue script & components for releases page
*/
Vue.component('cover', require('./components/Cover.vue'));
Vue.component('editor', require('./components/Editor.vue'));
//modal component
Vue.component('modal', {
template: '#modal-template'
})
new Vue({
el: '#app',
data(){
return{
vars: vars,
modalOn: false, //is modal on or not
modalData: [], //additional modal data
showAddDialog: false,
coverPicture: 0,
galleryPicture: 0,
}
},
computed: {
},
methods: {
showModal: function (data) {
console.log("showModal")
this.modalOn = data.modal;
if(data) this.modalData = data;
},
modalClose: function (){
this.modalOn = false
bus.$emit("modalClose", this.modalData)
},
add: function(){
console.log();
if(this.showAddDialog) this.showAddDialog = false
else{
this.showAddDialog = true
        }
    },
    switchGalleryPicture: function(val){

        console.log('galleryPicture'+ val)
        this.galleryPicture += val;
        if(this.galleryPicture < 0) this.galleryPicture = this.vars.galleryPictures;
        if(this.galleryPicture > (this.vars.galleryPictures - 1)) this.galleryPicture = 0;
        console.log('this.galleryPicture'+ this.galleryPicture)

    },
    switchCoverPicture: function(val){

        this.coverPicture += val;
        if(this.coverPicture > (this.vars.galleryPictures - 1)) this.coverPicture = 0;
        setTimeout(function(){ this.switchCoverPicture(1) }.bind(this), 5000)
    }

},
created() {
    console.log("release.js")
    setTimeout(function(){ this.switchCoverPicture(1) }.bind(this), 5000)

},
components: {

},

});
`

If you want to take a look my app I can give the url to you personally. I rather not share it here because it is not yet in production :)

No worries @vlahde - send me a msg via twitter @ rowanwinsemius

Hi @vlahde
I've taken a look but it's a bit hard to diagnose things with the minified code. From what I can tell the upload is successful. Can you try and remove the vdropzone-success event listener and see if that makes any difference?

Well this is pretty strange. As I unminified the code, it now works! Take a look. What in minification could break the code?

hmm yeah minificiation has resulted in a few issues for people? See this comment here for a possible fix

Yes. That helped. Thank you so much for your help and thanks for the great component too!

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '_c') vue2dropzone

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '_c') vue2dropzone

Found how to fix?


Document that bash is required for the install script

Unless and until https://github.com/dotnet/install-scripts/issues/173 is fixed.
cc @mthalman @bozturkMSFT

@danmoseley Are you happy with me merging this without the other's review?

great @adegeo I think we can merge.


Cannot push to array in a struct

This contract:
contract Foo {
	struct My {
		bytes bb;
	}
	function bar() public pure returns (uint32) {
		My s;
		s.bb.push(2);
		return s.bb.length;
	}
}

causes this error:
thread 'main' panicked at 'not an array', src/sema/types.rs:1415:18

bb declared with bytes is a dynamic byte array and it doesn't have a push method like arrays in some other programming languages. To do that, you gotta manage the length of the array manually and use memory allocation functions.

Declare s as a memory variable. This would allow you to modify data(array in this case) inside of the bar function as it is declared as pure. It aligns with the function's read-only nature and preventing errors related to modifying storage in a read-only context.
Initialize the bytes array s.bb using new bytes(0).

pragma solidity ^0.8.0;

contract Foo {
    struct My {
        bytes bb;
    }

    function bar() public pure returns (uint256) {
        My memory s; //declare s as a memory variable
        s.bb = new bytes(0); // Initialize the bytes array
        s.bb.push(0x02);

        return s.bb.length;
    }
}

Thanks @Shiva953, you are right.
solc does not allow us to push to a bytes array that is not in memory. The bug, however, still exists. The compiler must not panic because we are trying to build incorrect code. It should raise an error.

yeah sire, that's a solidity compiler limitation and I honestly don't have the slightest of the clues about anything related to compilers


[Bug]  Improve Mobile View Layout for Topic and Medium Columns

Description
In the current mobile view of our webpage, the columns for "Topic" , "Medium" , "Languages" are positioned too close to the edge of the screen, making it look crowded and potentially affecting readability.
Reproduction

Open the webpage on a mobile device or resize the browser window to simulate a mobile view.
Observe the positioning of the "Topic" and "Medium" columns.

Expectation
The columns should be centered and have adequate padding on the sides to improve the layout and readability.
Screenshots

Resolution

[x] I would be interested in resolving this bug.

Good catch @nandu-99
actually I am working on a Pull Request (halfway there) that refactors the whole code for index.html and all.html, and the result would be improved UI of homepage (including filters). It would be very nice if you find more issues like this ! 🙌


Page out of date with respect to current portal

It would be helpful to have this updated to reflect the current portal. It is hard to understand what settings to apply to get this to work correctly, since the configuration options have changed in the interim.

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

ID: 4f62a40a-2a72-ad5c-9e75-93711ace3b35
Version Independent ID: b279c9b6-7ff9-5893-a2f8-dada6d77e0ba
Content: Authenticate and authorize users end-to-end on Linux - Azure App Service
Content Source: articles/app-service/containers/tutorial-auth-aad.md
Service: app-service-web
GitHub Login: @cephalin
Microsoft Alias: cephalin

Hi @jhosteny, thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@jhosteny I've updated the steps and screenshots and it should be published sometime today. #please-close


Delete Clan LoSt Clan

name: LoSt Clan Family
key: lostclan
color: blue
emblem: Sword_01
info:
description: >
Welcome to the LoSt Clan family! Founded in March of 2016, LoSt Clan welcomes in a community of players of all skill levels! LoSt Clan is currently expanding with 1 competitive clan and 1 casual clan, with more to come in the future!
social:
- discord: https://discord.gg/k42nBtAGvN
clans:
- name: LoSt Clan
- tag: R20CCU
- name: LoSt Clan Minis
- tag: LJLROQGO
'''

please delete clan family


Repair changelog and fix release script

This PR removes a bad sed command introduced in c249faf that has been
destroying our changelog since release 0.11.1. The changelog is also
restored by piecing together versions from commits just prior to each
release after 0.11.0.
Resolves #1745

Thank you @Theodus! 😸


Optional "spawnName" task property has been added.

It's possible to name SpawnProcess* and KillProcess* tasks in order to be able to spawn several tasks in parallel;
Overridable name of a PID file has been removed due to some resulted source code modifications in compiled plugin which produce "static final" field for PID file.

I decided to provide names for tasks when found that PID file overriding doesn't work at all in one of my projects. SpawnProcessTask just didn't have that property. I believe that having named tasks is a bit convenient case.

Closed because of the fact that I used old 0.6.0 version of the plugin. However, it could be a good idea to use "spawnName" instead of direct PID files name overriding.


Ad 60907 change pci prod1 again

@ilyaMiropolsky : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Add script to run unit tests in CI with external heartbeat

This PR adds a script to provide a heartbeat to CI when running unit tests which is external to the unit tests themselves. With this in place, we can rip out the heartbeat logs we have sprinkled throughout our unit tests. The old logging pattern was annoying as you had to pepper logs throughout your unit tests in different spots in order to make sure heartbeats happen enough. With this approach, you never have to worry about adding heartbeats to your tests.

Closing as this seems somewhat irrelevant now.


dynamico is not a function

I've started a new server according to the steps in
https://github.com/Soluto/dynamico/blob/master/server/readme.md#Storage
and got the error:
TypeError: dynamico is not a function
    at Object.<anonymous> (/Users/ronsivan/Documents/repos/dynamico-registry/index.js:6:28)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

First of all hi and thanks for trying out Dynamico! :)
Could you please give us some more details, what storage are you trying to initiate?
You can take a look at this codesandbox which creates a server with filesystem storage

Hi :)
I am using filesystem storage, this is my index.js
const express = require('express')
const dynamicoMiddleware = require('@dynamico/express-middleware');
const { FSStorage } = require('@dynamico/fs-storage');
const PORT = process.env.PORT || 5000;

const storageProvider = new FSStorage('./components');
const dynamicoMiddleware = dynamico(storageProvider);

const app = express();
app.use('/api/components', dynamicoMiddleware(new FSStorage('./components')));
.listen(PORT, () => console.log(`Listening on ${ PORT }`))

Looks like there's actually no dynamico variable and you are declaring dynamicoMiddleware twice..
Try this
const express = require('express')
const dynamicoMiddleware = require('@dynamico/express-middleware');
const { FSStorage } = require('@dynamico/fs-storage');
const PORT = process.env.PORT || 5000;

const app = express();
app.use('/api/components', dynamicoMiddleware(new FSStorage('./components')));
.listen(PORT, () => console.log(`Listening on ${ PORT }`))

Looks like there's actually no dynamico variable and you are declaring dynamicoMiddleware twice..
Try this
const express = require('express')
const dynamicoMiddleware = require('@dynamico/express-middleware');
const { FSStorage } = require('@dynamico/fs-storage');
const PORT = process.env.PORT || 5000;

const app = express();
app.use('/api/components', dynamicoMiddleware(new FSStorage('./components')));
.listen(PORT, () => console.log(`Listening on ${ PORT }`))

Ok, also added cors packaged and used it as shown in the codesandbox registry example.
It still shows the same error
/Users/ronsivan/Documents/repos/secure-springs-95544/index.js:15 7:00:36 PM web.1 |  app.use('/api/components', cors(), dynamicoMiddleware(new FSStorage('./components'))); 7:00:36 PM web.1 |                                     ^ 7:00:36 PM web.1 |  TypeError: dynamicoMiddleware is not a function 7:00:36 PM web.1 |      at Object.<anonymous> (/Users/ronsivan/Documents/repos/secure-springs-95544/index.js:15:36) 7:00:36 PM web.1 |      at Module._compile (internal/modules/cjs/loader.js:778:30) 7:00:36 PM web.1 |      at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) 7:00:36 PM web.1 |      at Module.load (internal/modules/cjs/loader.js:653:32) 7:00:36 PM web.1 |      at tryModuleLoad (internal/modules/cjs/loader.js:593:12) 7:00:36 PM web.1 |      at Function.Module._load (internal/modules/cjs/loader.js:585:3) 7:00:36 PM web.1 |      at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) 7:00:36 PM web.1 |      at startup (internal/bootstrap/node.js:283:19) 7:00:36 PM web.1 |      at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3) [DONE] Killing all processes with signal  SIGINT 7:00:36 PM web.1 Exited with exit code null

Can you please try and reproduce on codesandbox?

Hey @Rondeveloper, Can you please try adding to the require statement a reference to the default property? like so:
const dynamicoMiddleware = require('@dynamico/express-middleware').default;

Since we're just building the code with typescript the way we export the package is not consistent with commonJS. It's a known issue and we plan to solve it in the near future.
Thanks for pointing that out. We'll open an issue and link it here.

Hey @Rondeveloper, Can you please try adding to the require statement a reference to the default property? like so:
const dynamicoMiddleware = require('@dynamico/express-middleware').default;

Since we're just building the code with typescript the way we export the package is not consistent with commonJS. It's a known issue and we plan to solve it in the near future.
Thanks for pointing that out. We'll open an issue and link it here.

Thanks for helping me out with this! @EladBezalel @eladav
I attended the Duda meetup and since then I've been excited to try dynamico with the new React Native app I'm working on :)

Hey @Rondeveloper,
We're very happy to help :)
As part of our efforts to improve the framework we want to get your feedback on the integration process. We're always happy to get feedback in the form of issues, this helps us improve the product and allows others to contribute.
Also, If you're willing to jump on a quick call to tell us about your experience with setting Dynamico up that would be very helpful.
By the way, can we close this issue?

Yes, I'm closing it, I'll be glad to give feedback when I finish the whole setup process of the client/server


pointer events as not handled and oncontextmenu event type is wrong

I found out that pointer events are not handled by Blazor 0.3.0.
When I was about to add them, I saw that Blazor already have a UIPointerEventArgs class and it is associated with the onContextMenu handler, which is by the specs does not make sense, since it is a mouse event.
If I see it correctly the only changes needed to support pointer events are:
Eventhandlers.cs:
    // Pointer events
    [EventHandler("gotpointercapture", typeof(UIPointerEventArgs))]
    [EventHandler("lostpointercapture", typeof(UIPointerEventArgs))]
    [EventHandler("pointercancel", typeof(UIPointerEventArgs))]
    [EventHandler("pointerdown", typeof(UIPointerEventArgs))]
    [EventHandler("pointerenter", typeof(UIPointerEventArgs))]
    [EventHandler("pointerleave", typeof(UIPointerEventArgs))]
    [EventHandler("pointermove", typeof(UIPointerEventArgs))]
    [EventHandler("pointerout", typeof(UIPointerEventArgs))]
    [EventHandler("pointerover", typeof(UIPointerEventArgs))]
    [EventHandler("pointerup", typeof(UIPointerEventArgs))]

EventForDotNet.ts:
case 'gotpointercapture':
case 'lostpointercapture':
case 'pointercancel':
case 'pointerdown':
case 'pointerenter':
case 'pointerleave':
case 'pointermove':
case 'pointerout':
case 'pointerover':
case 'pointerup':
  return new EventForDotNet<UIPointerEventArgs>('pointer', { Type: event.type });

All the other places because of the oncontextmenu handler already having the pieces for pointer events.
Would you like to have a PR or you will copy these to the appropriate places?

Hmm - you're right about contextmenu.
I was working from this list: https://github.com/Microsoft/TypeScript/blob/master/lib/lib.dom.d.ts#L3475 - which is inconsistent with the MDN docs. My gut is that mozilla's docs are more trustworthy.
Feel free to send a PR, that would be helpful.
If you need an unblocker on this based on 0.3 you can handle arbitrary events using UIEventArgs. Our mappings for these are just to help with strong typing and intellisense.

Yes, MDN is better as a source of truth :-)
Actually I was not able to handle arbitrary events, since when I declared my markup as:
<Button onpointerdown=@"OnActivate" /> compiler complained about cannot convert the delegate to string.
But it is not a blocker, I just exclude this event for now.

<Button onpointerdown=@"OnActivate" /> compiler complained about cannot convert the delegate to string.

It is supposed to be onpointerdown=@OnActivate or "@OnActivate"
not @"OnActivate"

Yes, I agree with @galvesribeiro - it should be possible to handle any event with the current approach. What's missing is the data.

A pr adding the event payloads would be awesome if it includes some E2E tests where possible/practical 😍
Regarding the browser APIs, it's clear it would be good that somebody build these kind of interop libraries and ship them. Long term it's not clear to us if we want Blazor to own them, or if they will be part of some other layer of the stack (like Mono). My suggestion for now would be to create a separate repo/package and put that on nuget. We'd be happy to link to it, and point folks in that direction. Example:

You see the squiggles, the error is this:
Cannot convert method group 'OnActivate' to non-delegate type 'object'. Did you intend to invoke the method?

What's the signature of OnActivate look like? You might need to do something like @((Action<UIEventArgs>)OnActivate)

@rynowak based on my time in the Orleans team, I know that once you lift something into the product and don't have the resources to maintain/test it, it is not the best for the customers, because they expect some level of support, etc.
We've talked with @galvesribeiro and window and document objects can be lifted to Blazor in many different (opiniated) way, but these are so fundamental pieces of browser interop that some level of baseline would be good from Microsoft ;-) yeah, maybe not at this point, but later.

@rynowak OnActivate is a generic event handler in the base class, works with the other events:
protected void OnActivate(UIEventArgs e) { }
The proposed cast syntax did not help.

A pr adding the event payloads would be awesome if it includes some E2E tests where possible/practical

Will work on that as soon as I get the first release of BlazorMaterial out on nuget. The initial release will be interoping with Google's JS. After that, we will try to drop the JS and use only C# and that is why I asked about event data.

Regarding the browser APIs, it's clear it would be good that somebody build these kind of interop libraries and ship them.

Ok, got it. Will do that then. Thanks

@rynowak for me don't waste time on this ;-) if that's something that should work, then fine!


add binary fully connected operator

Binary fully connected operator is in essence doing binary matrix matrix multiplication (BGemm). Assume that the input is M × N , the weight is N×K (M is the batch size,N is the number of neurons of the previous layer, K is the number of neurons of the current layer)

@lgeiger @arashb @Tombana  any update on the implementation for the binary dense layers?

@rameshKrSah we haven't made any specific efforts towards implementing a binary dense layer.
I think the most obvious and easiest way we could support binary dense layers would actually not involve adding a new op at all, but instead mapping Larq binary dense layers to an equivalent LCE 1x1 binary convolution. This would be an automated way of doing the penultimate bullet point from this page of our docs.
This wouldn't be particularly fast (though it would hopefully be faster than float dense layers), because our optimised binary convolution kernels operate on 'chunks' of four input pixels at a time, whereas this 'equivalent' convolution here would have only one input pixel. This is, however, something that we could very easily solve once we switch over to using the (currently experimental) indirect bgemm kernels, by adding a micro-kernel that operates on one input pixel at a time.


fix(shared key): update apikey atomically to avoid concurrency issue

Issue
https://gravitee.atlassian.net/browse/APIM-3848
Description
When subscribing to an API Key plan with a shared api key, instead of creating a new api key, we add the subscription if to the existing apikey.
To avoid concurrency issues, we now add directly the subscription in database instead of doing GET, modify and UPDATE (which can be interrupted)

Do not forget to apply on bridge repository for version 4.x.

Closed to rename the branch


When adding file layers, parent directories ownership is changed to root

Jib Core Version 0.15.0
Building Linux Image
In my scenario, let's say my base image has a directory 'testdir' with owner 'user123'
$ ls -l
drwxr-xr-x    2 user123 user123          4096 May 29 14:20 testdir
I am building images and adding file layers like below. File layer added is just an empty directory. Assume 1200 uid maps to user123 in my base image.
addFileEntriesLayer(FileEntriesLayer.builder().addEntry(path,AbsoluteUnixPath.fromPath(Paths.get("/testdir/subdir")),
FilePermissions.DEFAULT_FOLDER_PERMISSIONS, FileEntriesLayer.DEFAULT_MODIFICATION_TIME,"1200:1200")
Result image will have /testdir/subdir with owner 'user123', but /testdir owner will have been changed to owner 'root'. I do not expect the owner of parent directory /testdir to change. Is this a bug or is this as designed?
I tried using JibContainerBuilder.setUser, but that only sets the user to run container as. It doesn't seem to set user when building the container and adding file layers. This is a problem especially if a file layer I am adding has multiple parent directories. All the parent directories ownership gets changed to root. I can workaround this by adding file layers for all parent directories with ownership set as user123. However I can see a potential issue with this if I am unaware of correct ownership/file permissions of parent directories.

Hi @infa-bchao,
It's a know issue (#1270). Currently we are intentionally overwriting parent directories after we've observed an issue that parent directories that do not exist in the base image result in inaccessible permissions (i.e., no read, write, or executable permissions). We decided to automatically set the permissions of those directories to 0755, and then the side effect became root owning the directories. We've not found a good solution to this issue.

I tried using JibContainerBuilder.setUser, but that only sets the user to run container as. It doesn't seem to set user when building the container and adding file layers.

This is the expected behavior.

Hi @chanseokoh
Something else I noticed and wondering if you have some sort of explanation for it. Based on my testing, it seems like the order in which I add file layers matters for setting ownership of parent directories.
Case where I add parent directory file layer first, then behavior is as expected and ownership of parent directory /dir is 1200.
.addFileEntriesLayer(FileEntriesLayer.builder()
.addEntry(emptyDir,
AbsoluteUnixPath.fromPath(Paths.get("/dir")),
FilePermissions.DEFAULT_FOLDER_PERMISSIONS, FileEntriesLayer.DEFAULT_MODIFICATION_TIME,
"1200:1200")
.addEntry(emptyDir,
AbsoluteUnixPath.fromPath(Paths.get("/dir/subdir")),
FilePermissions.DEFAULT_FOLDER_PERMISSIONS, FileEntriesLayer.DEFAULT_MODIFICATION_TIME,
"1200:1200")
Case where I add parent directory file layer after, then parent directory /dir ownership will be set to root.
.addFileEntriesLayer(FileEntriesLayer.builder()
.addEntry(emptyDir,
AbsoluteUnixPath.fromPath(Paths.get("/dir/subdir")),
FilePermissions.DEFAULT_FOLDER_PERMISSIONS, FileEntriesLayer.DEFAULT_MODIFICATION_TIME,
"1200:1200")
.addEntry(emptyDir,
AbsoluteUnixPath.fromPath(Paths.get("/dir")),
FilePermissions.DEFAULT_FOLDER_PERMISSIONS, FileEntriesLayer.DEFAULT_MODIFICATION_TIME,
"1200:1200")

That is also another side effect of Jib automatically creating tar entries for parent directories.
At some later stage, we establish a "reproducible layer" which lists the tar entries in sorted order without duplication. For example, if you add an entry /foo.txt twice but with different properties, the first /foo.txt will be the entry that goes into a tar.
For the second case above, because you added /dir/subdir first, Jib automatically creates a tar entry for /dir first. So, the next addEntry() to add /dir gets ignored, as /dir is already added to the "reproducible layer." OTOH, for the first case, you added /dir yourself first, so Jib doesn't automatically add /dir.

FTR: for the comment above, we actually have another open issue: #1650

@infa-bchao Closing this issue since it is a duplicate of #1270 and #1650.


Links returning 404 pages in README.md

Description
The profile links, where it says add your profile, are returning 404 pages when clicked.
https://github.com/EddieHubCommunity/LinkFree#-to-add-your-profile

Great spot! Thank you! The files have moved directories, they are no longer in the public/data folder but in the root of the project in data/

Closing as a duplicate! Thank you @CodingSpecies


Import schools and local authority data

Add a rake task that imports the required school and local authority data
Add migrations and models needed for importing the data
Enables the pgcrypto extension for Postgres so we can use UUIDs instead of incrementing integers as IDs
Add WebMock, FactoryBot and Shoulda-Matchers to aid with testing

~TBC: We're clarifying the required fields to assert an eligible school with the policy team~

We've had a response from the policy team regarding which data from GIAS we need to capture to determine if a teacher teaches at a school which is eligible for the student loan reimbursement claim.
This PR is ready for review 👍

I've made all the changes discussed and the tests are passing. However mid-way through running the task I get this error:
ActiveRecord::StatementInvalid (PG::CharacterNotInRepertoire: ERROR:  invalid byte sequence for encoding "UTF8": 0xe0 0x20 0x42)

It fails on the school with URN 126416 on it's name: St Thomas \xE0 Becket Church of England Aided Primary School


Excel Protected View - t : n for both date and number cell values

Hi Team,
I am facing issue in getting the value of cell type - 'date' on reading the excel which is in protected view,
Please see the below picture

Column C contains date as a value,

I am getting the below response from the xlsx,

I cant find whether the cell type is number or date

The format says 'General' for both number and date cell values.

I see, t : n for number and date type cells

Please tell a way to find whether cell type is of number or date
Thanks in advance.

Pass the option cellNF: true and the cell objects will have a z property which represents the cell format.  Then test the format using XLSX.SSF.is_date(cell.z)

Pass the option cellNF: true and the cell objects will have a z property which represents the cell format. Then test the format using XLSX.SSF.is_date(cell.z)

This solves my problem. Thank you!


Added copy-to-clipboard functionality

added copy screenshot of viewer/window to the clipboard
fixed unrelated typo

Description
This PR adds the funcionality to copy screenshot of the viewer (or window) to the user's clipboard. This is accessible via Menu -> File -> Copy Screenshot to Clipboard or via viewer.window.clipboard() to capture screenshot of the entire window or viewer.window.qt_viewer.clipboard() to only capture the canvas.
Type of change

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

How has this been tested?
Added extra test to make sure an iamge is copied into the user's clipboard.
Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] If I included new strings, I have used trans. to make them localizable.

Thanks @goanpeca for the comments and suggestion of adding a flash animation to indicate that a screenshot being taken.
I've added the functionality and it looks pretty sleek.

Thanks @goanpeca for the comments and suggestion of adding a flash animation to indicate that a screenshot being taken.
I've added the functionality and it looks pretty sleek.

Thanks for implementing it @lukasz-migas that looks awesome 💘

This now have a conflict with the Makefile, I'm not sure @lukasz-migas if it is obvious how to fix, or maybe @tlambert03 can fix/ make a recommendation. I'll be happy to merge once that is sorted. Thanks again everyone!!

This now have a conflict with the Makefile

fixed


Fix go modules from vault changes

Vault reorganized their modules, which caused some problems with the imports. This fixes that.

Thanks for review! Merging.


📝 docs(ui): Small update to make the prompts more formal.

What type of PR is this?

/kind documentation
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Hi @samzong DCO.
/assign @warjiang

/lgtm
/approve


schemers/build-base

As the build images are discarded after use, we could switch to shared build image that has the needed build dependencies for all implementations. This would make switching to new debian version easier too.
For example implementations/guile/3.0/Dockerfile would go from this:

# -*- mode: dockerfile; coding: utf-8 -*-
FROM debian:bookworm-slim AS build
RUN apt-get update && apt-get -y --no-install-recommends install \
      build-essential \
      git \
      file \
      libtool \
      autoconf \
      automake \
      libncurses5-dev \
      libreadline-dev \
      libltdl-dev \
      libgmp-dev \
      texinfo \
      flex \
      libunistring-dev \
      libgc-dev \
      libffi-dev \
      pkg-config \
      gettext \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /build
COPY checksum checksum
ADD https://ftp.gnu.org/gnu/guile/guile-3.0.10.tar.gz guile.tar.gz
RUN sha256sum guile.tar.gz && sha256sum -c checksum
RUN mkdir guile && tar -C guile --strip-components 1 -xzf guile.tar.gz
WORKDIR guile
RUN ./configure
RUN make -j`nproc`
RUN make install

FROM debian:bookworm-slim
RUN apt-get update && apt-get -y --no-install-recommends install \
      libgc1 \
      libltdl7
COPY --from=build /usr/local/ /usr/local/
COPY scheme-script /usr/local/bin/
RUN ln -s /usr/local/bin/guile /usr/local/bin/scheme-banner
RUN ln -s /usr/local/bin/guile /usr/local/bin/scheme-r7rs
RUN ldconfig || true
CMD ["scheme-banner"]

To this:

# -*- mode: dockerfile; coding: utf-8 -*-
FROM schemers/build-base AS build
WORKDIR /build
COPY checksum checksum
ADD https://ftp.gnu.org/gnu/guile/guile-3.0.10.tar.gz guile.tar.gz
RUN sha256sum guile.tar.gz && sha256sum -c checksum
RUN mkdir guile && tar -C guile --strip-components 1 -xzf guile.tar.gz
WORKDIR guile
RUN ./configure
RUN make -j`nproc`
RUN make install

FROM debian:bookworm-slim
RUN apt-get update && apt-get -y --no-install-recommends install \
      libgc1 \
      libltdl7
COPY --from=build /usr/local/ /usr/local/
COPY scheme-script /usr/local/bin/
RUN ln -s /usr/local/bin/guile /usr/local/bin/scheme-banner
RUN ln -s /usr/local/bin/guile /usr/local/bin/scheme-r7rs
RUN ldconfig || true
CMD ["scheme-banner"]

Since the build images is not kept having unnecessary packages intalled there wont make the resulting run image bigger, but it would make updating the base linux easier. Any implementation that does not work with for example Bookworm can of course still use any debian as build image.

Fully agreed. We planned to do this a couple years ago, but never got around to it.

Thanks for the fast response. I'll get to it then.

Awesome. Thank you very much for tackling this problem.
Should we name it simply schemers/build?
Another useful item would be a schemeorg container that has everything needed to work on most parts of Scheme.org. At the moment, that entails at least Gauche, Chicken, some Chicken eggs, and Pandoc. I can do this at some point.


[BEAM-83] Move Java 8 tests to their own module

This allows easy setting of the compiler source and target version to 1.8 without any fragile plugin configuration. It also allows the import into Eclipse to easily set separate compliance levels, as this
is done per-Eclipse-project.

R: @davorbonaci

Eclipse has a similar problem with the examples. Should we apply the same logic to them? Just not import them?

Yes, we do also need to sort out the examples. The requirements are different enough that (prior to code drop) we did not come to consensus on whether to use the approach in this PR.
Rather than attempting to bring up the issue and attain consensus on that, I propose this (hopefilly) uncontroversial bit to immediately ease developer pain. You can always omit the examples from m2e import.

I think this approach is good, both for core SDK and examples, but I think this make even more sense after the directory reorganization. So, I'd sit on it a bit since that is coming next week. @kennknowles, does this make sense?

I think we can have some goodness now, some goodness later. It will actually probably make the directory reorg less painful to have removed the more complex maven config.

This was merged into #57, which is also merged.


openvpn: Respect the radius Framed-IP-Address attribute for client ip assignment

Yet, one can choose Radius as an authentication for openvpn already, but assigning an IP is yet not possible, since the Framed-IP-Address attribute is yet not respected.
https://wiki.freeradius.org/guide/Ippool-and-radius-clients should be a reference

As far as i understand, one would do ccd for openvpn - at least that is how i was doing that in the past with custom bash foo when booking in a new client. Not sure there is a better way not involving creating files on the FS?
Problably something where we could neat-pick? https://roessner-network-solutions.com/openvpn-radius-mysqlldap-howto/
Offering funding of this one.

@AdSchellevis
Second FR via Forums:
https://forum.opnsense.org/index.php?topic=7830.0
If you like to go on with your idea to add the Framed-IP-Address via Radius I'd be happy to test/help.

@mimugmail it's not at the top of my priority list at the moment, but if you create an issue, I'll try to collect the plan into it (parts are scattered over different pulls and issues now) and assign it to myself.


can't install islandora defaults

When on a build of Isle (supported build mechanism, yes?) i was surprised to find islandora defaults not installed. however, i need to be able to upload .tif's into paged content, so thought i'd install it.
rosies-MacBook-Pro-2:codebase [git:development] rlefaive$ composer require islandora/islandora_defaults -W
Using version ^1.1 for islandora/islandora_defaults
./composer.json has been updated
Running composer update islandora/islandora_defaults --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - islandora/islandora_defaults 1.1.0 requires islandora/islandora 1.1.0 -> found islandora/islandora[1.1.0] but it conflicts with your root composer.json require (dev-8.x-1.x).
    - islandora/islandora_defaults 1.1.1 requires islandora/islandora 1.1.1 -> found islandora/islandora[1.1.1] but it conflicts with your root composer.json require (dev-8.x-1.x).
    - Root composer.json requires islandora/islandora_defaults ^1.1 -> satisfiable by islandora/islandora_defaults[1.1.0, 1.1.1].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

you may notice that I did use -W in my attempt to install it.
Something's wrong if I can't require it.

Hi @rosiel, I do not know too much about I8 versioning or which branches are stable but looking around it seems that 1.1.0 has a strict dependency in its module composer.json to the matching Islandora version, but https://github.com/Islandora/islandora_defaults/blob/8.x-1.x/composer.json is the current live (looking at commit dates) and matches this Isle deployment's project level composer.json, so ... maybe  (really maybe)
composer require islandora/islandora_defaults:dev-8.x-1.x -W should at least clear the dependencies issue, but again, not sure if other than general composer issue,  if dev-8.x-1. is stable or the one you actually want to use to.
Hope this helps. I'm really lurking

:D That almost worked - it seems Islandora Defaults depends on pdf but that wasn't part of what Composer installed for it.
Thank you 1 million x for composer require islandora/islandora_defaults:dev-8.x-1.x -W .

There's gonna be some documentation about what is/isn't possible with these variations, so this ticket's remaining open for that.

The pdf module dependency was added in https://github.com/Islandora/islandora_defaults/pull/49.
Since the semantic versioning shift, islandora and islandora_defaults are no longer version-locked and composer require should find a compatible version.


fix(popup): now watching anchor size for position correctness

Closes #1234

seems stable. @rinaok can u validate?

@YonatanKra  ### Not stable :(

I was able to reproduce this problem again in the storybook.

I'll try to look at it tonight. Can't promise...


Add build version into ancillaries logging

Currently, we use something like kiwi-ios-react label. The new format should contain even the version so for example kiwi-ios-react-0.0.18. The easiest solution is probably to require package.json directly... (Because hey! We are in JS! 🙂)
Alternative inspiration: https://github.com/facebook/react-native/blob/v0.55.2/Libraries/Core/ReactNativeVersion.js

The current interface looks like
RCT_EXPORT_METHOD(ancillaryDisplayed:(NSString *)type) {
    [self.logger ancillaryDisplayed:type];
}

RCT_EXPORT_METHOD(ancillaryPurchased:(NSString *)type) {
    [self.logger ancillaryPurchased:type];
}

So, there are 2 options

Native developers add the version they get from hotels package.json in the native code
They expand the method to take label/version

🙈  Oh, I though it was related to the logging module

Yeah, sorry - the "logging" word in the title is not very smart. They are actually logging it (well Booking.com is) but for us, it's just a label. Keep it simple... :)


Support for mongodb-core v2

The diff viewer is quite confused about test-trace-mongodb.js? Did you use a git mv to rename the file? The test failure on Node 0.12 needs investigation.

Ok I have added in an extra commit to unconfuse the diff viewer. The test failure on Node 0.12 was caused by Object.assign being used in mongodb-core 2.0.3; this was fixed by a polyfill in mongodb-core 2.0.4 which landed earlier today.

@matthewloring @ofrobots @cristiancavalli PTAL

LGTM.

Merged (manually to avoid squashing) as 589e99e...6994b45.


from the pos demo seems you just randomly choose a validator as winner but not depend on their tokens

from the pos demo seems you just randomly choose a validator as winner but not depend on their tokens

not obvious what fix you are recommending so closing issue


board/arm/stm32h747i_disco: add support of flash with openocd

Allow to flash either Cortex M4 or M7 with OpenOCD
(depending on which Board/Core has been compiled)
Command: west flash
Warning: Dependency with recent OpenOCD patch:
Windows: https://gnutoolchains.com/arm-eabi/openocd/
version 20200408
Linux : http://openocd.zylin.com/
SHA1: 0a804222da63c5f849efa23b019a59e2dea76842
Edit:
OpenOCD dependancy: https://github.com/zephyrproject-rtos/openocd/issues/27
Note: It is necessary to first update ST-Link firmware (see https://github.com/zephyrproject-rtos/zephyr/pull/24671)
Known Restrictions:
Sometimes flashing doesn't work and it is necessary to erase the flash to be able make it work again.
Debugging Cortex M7 works, but it doesn't work with Cortex M4.

Done

Failing tests: qemu_x86_64:tests/kernel/mem_protect/syscalls/kernel.memory_protection.syscalls / tests/kernel/mem_protect/syscalls/kernel.memory_protection.syscalls

Trying to get CI passed


log is not available

Log is almost never displayed under Chrome and not under Firefox, the window "Rhasspy Log" remains empty. Only rarely a log is displayed, I did not fully understand the system. I think, if you have Rhasspy open in your browser and restart it via docker you will see a stream. But I was not able to repeat this in a reproducible way.
If you try to stream the log over a websocket (ws://IP:PORT/api/events/log), it stops at the status "Opening". This is the case for the following 2 extensions under Chrome: Simple Websocket Client, Browser Websocket Client
I also had problems with audio recording and playback - I couldn't get either of them to work. Unfortunately I cannot say more without log.

Did you exec into the docker container and tried arecord -l and aplay -l? Are your devices listed then? It's super confusing in my case as well. I'm able to see my device and my mic is working. Running speaker-test inside the docker container is working as well. But I can't hear the wakebutton sound of rhasspy after hitting the button.

Yes, inside the docker container I can see my audio devices with the commands "arecord -l" and "aplay -l". The speaker-test also works without problems from docker.
With Rhasspy 2.4.19 everything works without problems.
As in your case @Xalip, the sounds from my profiles are not played, e.g. ${RHASSPY_PROFILE_DIR}/wav/wake.wav

Websocket log issue should be fixed now. Hopefully audio recording is also fixed for you.

@synesthesiam
Thanks a lot - with Log testing is much more fun! I have the audio under control now. ᕙ༼◕_◕༽ᕤ


The belief in ε value being correct is a notch too high

context: ConcreteSarsaLaws.scala
It is strange that about 300 actions out of 1000 seem exploration, but at the same time we get very high belief in ε being at most 0.05 (the prescribed).  Perhaps the CDF is not correct?
At the same time why is 300 vs 600 the ratio we obtain? It should be way more skewed with ε of 0.05.
We most likely have two problems to fix: Breeze calculates a wrong CDF value, and the choose action does not obey the right probability.
CC: PR #146

There is a related problem in the same test file ConcreSarsaLaws.scala that the number of samples needed to obtain high belief in equality of means of the two update distributions was pretty high. This could be caused by the same issue (although belief was lower than expected, and in the report above it is higher than expected).


Allow blessing test stdout/stderr

Currently, I need to update the captured stdout/stderr for each test individually whenever it changes. It would be nice to have a ./miri test --bless mode, which would work like ./x.py test --bless

Yeah, that would definitely be nice. Unfortunately I have no idea what would be a good way to do this.
I am also not sure if it is worth sinking more effort into our compiletest-based infrastructure (the non-rustc version of that crate is barely maintained) or if we can use https://github.com/dtolnay/trybuild instead.

Another alternative is to use assert_cmd like in https://github.com/davidbarsky/tracing-tree/pull/21/files (if trybuild doesn't give us the control we ened)

@rustbot claim

@RalfJung I think this is done now?


Fixed problem with float sorting

I think there might be something here worth re-submitting after a rebase, but right now it has too many changes, some of which we don't want to make.


.res files and uuids keep chaning when using git

Tested versions

Reproducable in 4.2.1 stable

System information
nixos unstable
Issue description
I am importing 3D meshes from a GLTF File. The .res files being generated by this keep on chaning. This causes UUIDs to keep breaking, causing a huge mess in my git repository.
I have not fully understood what the issue is, and it is really confusing.
My gut feeling is: something is messed up with how the UUIDs are being generated that causes them to be non-deterministic ... and that causes a lot of weird quirks down the line. I have encountered a lot of other weird behaviors revolving around this, but I was not able to reproduce most of them. :c
Steps to reproduce

initialise a git repo and godot project
set a save path for a mesh in the advanced options for importing 3D meshes
add that mesh to a scene and save it
add *, commit, push
clone the project to a different folder
open the scene save it
observe uuids chaning in the diff
observe res files changing out of the blue

Minimal reproduction project (MRP)
See this repository on gitlab

Duplicate of https://github.com/godotengine/godot/issues/68672

I think there might be more to it than just the UUID issue
I've managed to get an unexpected res diff without uuids changing when starting from a blank project made in godot 4.2
Steps to reproduce:

git clone git@github.com:betalars/godot-uuid-bug.git
open the project with godot
git status

expected:
clean status
observed:
suzanne_Suzanne.res got modified

Updated Issue Description to reflect new findings


Remove the usage of Lato font to avoid the usage of external fonts

Discussing the load of fonts from outside sources with @xavijam, he told me that we're still using Lato although we're deprecating it.
I'm unsure if this is still an issue. Please feel free to close this ticket if it's already been solved.

Branch: issue-10497


wire mock query parameter

i want to mock service for invalid username and password,
how to configure user and password query parameters such that when i hit URL with wrong user name and password, it will return invalid user response.
my major worry is query parameters contains what to put instead of contains which can check if admin is not passed as an value for user and password then it will send response invalid user.
http://localhost:8080/sendmessage.php?user=123&password=123 , this URL should return invalid user
following is my requrest
{
"request":
{
  "urlPattern": "/sendmessage.php\\?user=[A-Za-z0-9_]+&password=[A-Za-z0-9_]+",
  "method": "GET",
  "queryParameters": {
		"user": {
            "contains": "admin"
        },
		"password": {
            "contains": "admin"
        }
    }

},

"response":
{
"status": 200,
"headers":
{
"Content-Type" : "application/json",
"Connection" :"Keep-Alive",
"Date" : "Fri, 27 May 2016 05:47:42 GMT",
"Keep-Alive" : "timeout=5, max=100",
"Server" : "Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_bwlimited/1.4",
"Transfer-Encoding" : "chunked",
"X-Powered-By" :"PHP/5.4.33"
},
"body": "{"status": "Invalid User"}"
}
}

As per the README please can you post questions (vs. bugs or features) on the mailing list.


After added ignite-ir-boilerplate throw 'The file name, directory name, or volume label syntax is incorrect'

After added ignite-ir-boilerplate throw the 'The file name, directory name, or volume label syntax is incorrect' exception， what is wrong? Thank you.

any solution?

Could you post the code & commands you're using?

i just followed the quickstart example on a windows 10 machine (fully updaed FCU+all subsequent updates):
C:\Users\user\rnapps>ignite new MyLatestCreation
(                  )   (
)\ )   (        ( /(   )\ )    *   )
(()/(   )\ )     )()) (()/(   )  /(   (   /(_)) (()/(    ((_)\   /(_))  ( )(_))  )\  (_))    /(_))_   _((_) (_))   (_(_())  ((_)  |_ _|  (_)) __| | \| | |_ _|  |_   _|  | __|   | |     | (_ | | . |  | |     | |    | |
||     _| ||_| ||    ||    |__|
An unfair headstart for your React Native apps.
https://infinite.red/ignite

🔥 igniting app MyLatestCreation
√ using the Infinite Red boilerplate v2 (code name 'Andross')
√ added React Native 0.50.4 in 214.94s
? Would you like Ignite Development Screens? No
? What vector icon library will you use? none
? What internationalization library will you use? none
? What animation library will you use? none
? Would you like to include redux-persist? No
√ added ignite-ir-boilerplate in 219.67s
The filename, directory name, or volume label syntax is incorrect.
......

for my installation i followed the instructions i posted to close both of the issues i initiated concerning installation on windows 10, as follows:
A how-to for a working setup on a windows10 machine in 7 easy steps:
1- Download and install notepad++ [skip if you already have git or are ok with using vim for git editor]
2- Download and install nodejs v8.10 or later [skip if you already have that]
3- Download and install git , NOTE:you will also need to set a git email and username[skip if you already have git]
4- Download and install yarn
5- npm install -g create-react-native-app
6- npm install -g  react-native-cli
7- npm install -g ignite-cli
DONE!

done
On 3/16/18, Steve Kellock<EMAIL_ADDRESS>wrote:

Could you post the code & commands you're using?
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/infinitered/ignite/issues/1189#issuecomment-373770360

Thank you for the step by step instructions @sfthurber!
Awesome!

why closed? the step by step instructions sis not solve the problem --
i was just telling you what id did. the step by step did solve two
earlier issues (under my name)
On 3/17/18, Steve Kellock<EMAIL_ADDRESS>wrote:

Closed #1189.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/infinitered/ignite/issues/1189#event-1526885331

typo
why closed? the step by step instructions did not solve the problem --
i was just telling you what id did. the step by step did solve two
earlier issues (under my name)
On 3/17/18, Steve<EMAIL_ADDRESS>wrote:

why closed? the step by step instructions sis not solve the problem --
i was just telling you what id did. the step by step did solve two
earlier issues (under my name)
On 3/17/18, Steve Kellock<EMAIL_ADDRESS>wrote:

Closed #1189.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/infinitered/ignite/issues/1189#event-1526885331

Ah.  Thought you were telling me how you fixed it.

i wish! :--))
unfortunately i have not found a fix.
On 3/17/18, Steve Kellock<EMAIL_ADDRESS>wrote:

Ah.  Thought you were telling me how you fixed it.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/infinitered/ignite/issues/1189#issuecomment-373933894

No longer relevant, so I'm closing this. 😎


Split robot firmware

It could be beneficial to split the robot firmware into an interface/planner and a controller. This would give the user a choice for selecting hardware for budgeting etc.
The interface controller could be an esp32(cam), raspberry pi or jetson nano. It purpose would be taking input and planning trajectories.
The controller could be an esp32, teensy 4.0, stm32 or other. The main purpose would be collection sensor data (uss, button, imu, adc etc), calculate inverse kinematics and updating hardware (servos, led, oled)

Interesting to see which way you go.


cloud drive

Description
The cloud drive function is not working, when I click on it ,it doesn't work.
Steps To Reproduce
No response
Expected behavior
I just want to access Google drive through cloud drive function.
Files Version
v<IP_ADDRESS>
Windows Version
Windows 10 21H1 19043.1151
Relevant Assets
No response

Thanks for this report. Could you check if this is the same issue as #5050?