Rendering is blurry

Example: https://eprint.iacr.org/2012/071.pdf

This text renders much more clearly in the Chromium PDF reader and in Evince and qpdfview.
Configuration:

Web browser and its version: 68.0b10
Operating system and its version: Debian 10
PDF.js version:

var pdfjsVersion = '2.2.177';
var pdfjsBuild = '1421b2f2';

Possibly a duplicate of e.g. #10807.

I'm using a 1440p laptop screen. I have not modified that FF preference. I am using GNOME 2X scaling on Wayland.

Lmk if I should file a bug upstream w/ Mozilla.

I cannot reproduce this on Arch Linux with Firefox 67.0.4. Perhaps the canvas is being scaled (stretched) instead of rendered with the correct device pixel ratio, which would indicate a relation to #10807. I'm not familiar with GNOME 2X scaling; it's probably best to file this upstream because I don't really see how this is caused by PDF.js. If it turns out that we can in fact improve the rendering, then we can always reopen this. You can try to check the device pixel ratio and/or set the device pixel ratio yourself to see if that has any effect.

After toggling off privacy.resistFingerprinting PDFs are rendering nicely. So I guess you and Mozilla are going to need to figure this one out together, or they just fix it on their end.


XIVY-8512 Raise project build plugin version

Raise project build plugin version in all given repos
Create PR on GitHub for each repo

Keep current state. Try to improve this later.


Fix README troubleshooting

What
Styling on README is wrong making the example code hard to read, this commit corrects it.

Commit added to another PR - https://github.com/alphagov/ckan-functional-tests/pull/16


Fix legacy token flow for ArcGIS services not supporting Oauth2

Added URL validation to check if the Oauth2 endpoint we derived from metadata do exist, if not we fall back to legacy token flow.
Also fixed status code return by ArcGisUtilities.validateSource

@Mergifyio backport release/4.2.x


Weird behaviour of raw query containing st_dwithin and radius parameter binding

Bug description
Radius parameter binding behaves weirdly when querying postgres database with st_dwithin function.
// produces incorrect result
prisma.$queryRaw`st_dwithin(pos1, pos2, ${500 * 1000})`;
// produces incorrect result
prisma.$queryRaw`st_dwithin(pos1, pos2, ${500 * 1000}::float)`;
// this one produces correct result
prisma.$queryRaw`st_dwithin(pos1, pos2, ${500 * 1000}::int)`;

I spent few hours to find out why my queries don't work. Not sure why I need to cast to int to make it work. If I run any of the queries in reproduction directly in database, it works correctly.
How to reproduce

create any prisma client
run the following script

const { PrismaClient } = require('@prisma/client');

const result = await prisma.$queryRaw`
      /* incorrect */
      SELECT
        extensions.st_dwithin(
          extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
          extensions.st_geomfromgeojson(${geojson2})::extensions.geography,
          ${500 * 1000}
        ),
        extensions.st_distance(
          extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
          extensions.st_geomfromgeojson(${geojson2})::extensions.geography
        )
      UNION ALL
        /* correct */
        SELECT
          extensions.st_dwithin(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson2})::extensions.geography,
            ${500 * 1000}::int
          ),
          extensions.st_distance(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson2})::extensions.geography
          )
      UNION ALL
        /* incorrect */
        SELECT
          extensions.st_dwithin(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson2})::extensions.geography,
            ${500 * 1000}::float
          ),
          extensions.st_distance(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson2})::extensions.geography
          )
      UNION ALL
        SELECT
        extensions.st_dwithin(
          extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
          extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
          ${500 * 1000}
        ),
        extensions.st_distance(
          extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
          extensions.st_geomfromgeojson(${geojson1})::extensions.geography
        )
      UNION ALL
        /* correct but it seems, that radius is actually 0 that's why it's matching */
        SELECT
          extensions.st_dwithin(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            ${500 * 1000}::int
          ),
          extensions.st_distance(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography
          )
      UNION ALL
        /* correct but it seems, that radius is actually 0 that's why it's matching */
        SELECT
          extensions.st_dwithin(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            ${500 * 1000}::float
          ),
          extensions.st_distance(
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography,
            extensions.st_geomfromgeojson(${geojson1})::extensions.geography
          )
    `;

  console.table(result);

see the output

➜  labka git:(develop) ✗ DEBUG=prisma:client node test.js
[dotenv][DEBUG] did not match key and value when parsing line 1: # Environment variables declared in this file are automatically made available to Prisma.
[dotenv][DEBUG] did not match key and value when parsing line 2: # See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
[dotenv][DEBUG] did not match key and value when parsing line 3:
[dotenv][DEBUG] did not match key and value when parsing line 4: # Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
[dotenv][DEBUG] did not match key and value when parsing line 5: # See the documentation for all the connection string options: https://pris.ly/d/connection-strings
[dotenv][DEBUG] did not match key and value when parsing line 6:
[dotenv][DEBUG] "DATABASE_URL" is already defined in `process.env` and will not be overwritten
[dotenv][DEBUG] did not match key and value when parsing line 1: # Environment variables declared in this file are automatically made available to Prisma.
[dotenv][DEBUG] did not match key and value when parsing line 2: # See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
[dotenv][DEBUG] did not match key and value when parsing line 3:
[dotenv][DEBUG] did not match key and value when parsing line 4: # Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
[dotenv][DEBUG] did not match key and value when parsing line 5: # See the documentation for all the connection string options: https://pris.ly/d/connection-strings
[dotenv][DEBUG] did not match key and value when parsing line 6:
[dotenv][DEBUG] "DATABASE_URL" is already defined in `process.env` and will not be overwritten
  prisma:client clientVersion: 2.25.0 +0ms
  prisma:client prisma.queryRaw(
  prisma:client       /* incorrect */
  prisma:client       SELECT
  prisma:client         extensions.st_dwithin(
  prisma:client           extensions.st_geomfromgeojson($1)::extensions.geography,
  prisma:client           extensions.st_geomfromgeojson($2)::extensions.geography,
  prisma:client           $3
  prisma:client         ),
  prisma:client         extensions.st_distance(
  prisma:client           extensions.st_geomfromgeojson($4)::extensions.geography,
  prisma:client           extensions.st_geomfromgeojson($5)::extensions.geography
  prisma:client         )
  prisma:client       UNION ALL
  prisma:client         /* correct */
  prisma:client         SELECT
  prisma:client           extensions.st_dwithin(
  prisma:client             extensions.st_geomfromgeojson($6)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($7)::extensions.geography,
  prisma:client             $8::int
  prisma:client           ),
  prisma:client           extensions.st_distance(
  prisma:client             extensions.st_geomfromgeojson($9)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($10)::extensions.geography
  prisma:client           )
  prisma:client       UNION ALL
  prisma:client         /* incorrect */
  prisma:client         SELECT
  prisma:client           extensions.st_dwithin(
  prisma:client             extensions.st_geomfromgeojson($11)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($12)::extensions.geography,
  prisma:client             $13::float
  prisma:client           ),
  prisma:client           extensions.st_distance(
  prisma:client             extensions.st_geomfromgeojson($14)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($15)::extensions.geography
  prisma:client           )
  prisma:client       UNION ALL
  prisma:client         SELECT
  prisma:client         extensions.st_dwithin(
  prisma:client           extensions.st_geomfromgeojson($16)::extensions.geography,
  prisma:client           extensions.st_geomfromgeojson($17)::extensions.geography,
  prisma:client           $18
  prisma:client         ),
  prisma:client         extensions.st_distance(
  prisma:client           extensions.st_geomfromgeojson($19)::extensions.geography,
  prisma:client           extensions.st_geomfromgeojson($20)::extensions.geography
  prisma:client         )
  prisma:client       UNION ALL
  prisma:client         /* correct but it seems, that radius is actually 0 that's why it's matching */
  prisma:client         SELECT
  prisma:client           extensions.st_dwithin(
  prisma:client             extensions.st_geomfromgeojson($21)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($22)::extensions.geography,
  prisma:client             $23::int
  prisma:client           ),
  prisma:client           extensions.st_distance(
  prisma:client             extensions.st_geomfromgeojson($24)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($25)::extensions.geography
  prisma:client           )
  prisma:client       UNION ALL
  prisma:client         /* correct but it seems, that radius is actually 0 that's why it's matching */
  prisma:client         SELECT
  prisma:client           extensions.st_dwithin(
  prisma:client             extensions.st_geomfromgeojson($26)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($27)::extensions.geography,
  prisma:client             $28::float
  prisma:client           ),
  prisma:client           extensions.st_distance(
  prisma:client             extensions.st_geomfromgeojson($29)::extensions.geography,
  prisma:client             extensions.st_geomfromgeojson($30)::extensions.geography
  prisma:client           )
  prisma:client     , ["{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}"]) +2ms
  prisma:client Prisma Client call: +1ms
  prisma:client Prisma Client call: +4ms
  prisma:client prisma.queryRaw({
  prisma:client   query: '\n      /* incorrect */\n      SELECT \n        extensions.st_dwithin(\n          extensions.st_geomfromgeojson($1)::extensions.geography, \n          extensions.st_geomfromgeojson($2)::extensions.geography, \n          $3\n        ),\n        extensions.st_distance(\n          extensions.st_geomfromgeojson($4)::extensions.geography, \n          extensions.st_geomfromgeojson($5)::extensions.geography\n        )\n      UNION ALL\n        /* correct */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($6)::extensions.geography, \n            extensions.st_geomfromgeojson($7)::extensions.geography, \n            $8::int\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($9)::extensions.geography, \n            extensions.st_geomfromgeojson($10)::extensions.geography\n          )\n      UNION ALL\n        /* incorrect */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($11)::extensions.geography, \n            extensions.st_geomfromgeojson($12)::extensions.geography, \n            $13::float\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($14)::extensions.geography, \n            extensions.st_geomfromgeojson($15)::extensions.geography\n          )\n      UNION ALL \n        SELECT \n        extensions.st_dwithin(\n          extensions.st_geomfromgeojson($16)::extensions.geography, \n          extensions.st_geomfromgeojson($17)::extensions.geography, \n          $18\n        ),\n        extensions.st_distance(\n          extensions.st_geomfromgeojson($19)::extensions.geography, \n          extensions.st_geomfromgeojson($20)::extensions.geography\n        )\n      UNION ALL\n        /* correct but it seems, that radius is actually 0 that\'s why it\'s matching */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($21)::extensions.geography, \n            extensions.st_geomfromgeojson($22)::extensions.geography, \n            $23::int\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($24)::extensions.geography, \n            extensions.st_geomfromgeojson($25)::extensions.geography\n          )\n      UNION ALL\n        /* correct but it seems, that radius is actually 0 that\'s why it\'s matching */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($26)::extensions.geography, \n            extensions.st_geomfromgeojson($27)::extensions.geography, \n            $28::float\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($29)::extensions.geography, \n            extensions.st_geomfromgeojson($30)::extensions.geography\n          )\n    ',
  prisma:client   parameters: {
  prisma:client     values: '["{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.370911]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}",500000,"{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}","{\"type\":\"Point\",\"coordinates\":[17.5833218,48.3709108]}"]',
  prisma:client     __prismaRawParamaters__: true
  prisma:client   }
  prisma:client }) +1ms
  prisma:client Generated request: +0ms
  prisma:client mutation {
  prisma:client   queryRaw(
  prisma:client     query: "\n      /* incorrect */\n      SELECT \n        extensions.st_dwithin(\n          extensions.st_geomfromgeojson($1)::extensions.geography, \n          extensions.st_geomfromgeojson($2)::extensions.geography, \n          $3\n        ),\n        extensions.st_distance(\n          extensions.st_geomfromgeojson($4)::extensions.geography, \n          extensions.st_geomfromgeojson($5)::extensions.geography\n        )\n      UNION ALL\n        /* correct */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($6)::extensions.geography, \n            extensions.st_geomfromgeojson($7)::extensions.geography, \n            $8::int\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($9)::extensions.geography, \n            extensions.st_geomfromgeojson($10)::extensions.geography\n          )\n      UNION ALL\n        /* incorrect */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($11)::extensions.geography, \n            extensions.st_geomfromgeojson($12)::extensions.geography, \n            $13::float\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($14)::extensions.geography, \n            extensions.st_geomfromgeojson($15)::extensions.geography\n          )\n      UNION ALL \n        SELECT \n        extensions.st_dwithin(\n          extensions.st_geomfromgeojson($16)::extensions.geography, \n          extensions.st_geomfromgeojson($17)::extensions.geography, \n          $18\n        ),\n        extensions.st_distance(\n          extensions.st_geomfromgeojson($19)::extensions.geography, \n          extensions.st_geomfromgeojson($20)::extensions.geography\n        )\n      UNION ALL\n        /* correct but it seems, that radius is actually 0 that's why it's matching */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($21)::extensions.geography, \n            extensions.st_geomfromgeojson($22)::extensions.geography, \n            $23::int\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($24)::extensions.geography, \n            extensions.st_geomfromgeojson($25)::extensions.geography\n          )\n      UNION ALL\n        /* correct but it seems, that radius is actually 0 that's why it's matching */\n        SELECT \n          extensions.st_dwithin(\n            extensions.st_geomfromgeojson($26)::extensions.geography, \n            extensions.st_geomfromgeojson($27)::extensions.geography, \n            $28::float\n          ),\n          extensions.st_distance(\n            extensions.st_geomfromgeojson($29)::extensions.geography, \n            extensions.st_geomfromgeojson($30)::extensions.geography\n          )\n    "
  prisma:client     parameters: "[\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.370911]}\",500000,\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.370911]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.370911]}\",500000,\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.370911]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.370911]}\",500000,\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.370911]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",500000,\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",500000,\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",500000,\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\",\"{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[17.5833218,48.3709108]}\"]"
  prisma:client   )
  prisma:client }
  prisma:client  +0ms
┌─────────┬────────────┬─────────────┐
│ (index) │ st_dwithin │ st_distance │
├─────────┼────────────┼─────────────┤
│    0    │   false    │ 0.02223951  │
│    1    │    true    │ 0.02223951  │
│    2    │   false    │ 0.02223951  │
│    3    │    true    │      0      │
│    4    │    true    │      0      │
│    5    │    true    │      0      │
└─────────┴────────────┴─────────────┘

Expected behavior
I'm expecting all the queries to work and return correct results. See the result of the same query invoked directly against DB.

st_dwithin
st_distance

t
0.02223951

t
0.02223951

t
0.02223951

t
0

t
0

t
0

Prisma information
Use any schema.
Environment & setup

OS: Mac OS Big Sur 11.4
Database: postgres 12.5-1.pgdg100+1 (supabase/postgres:0.14.0 docker image)
Node.js version: 12.21.0

Prisma Version
prisma               : 2.25.0
@prisma/client       : 2.25.0
Current platform     : darwin
Query Engine         : query-engine c838e79f39885bc8e1611849b1eb28b5bb5bc922 (at node_modules/@prisma/engines/query-engine-darwin)
Migration Engine     : migration-engine-cli c838e79f39885bc8e1611849b1eb28b5bb5bc922 (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine : introspection-core c838e79f39885bc8e1611849b1eb28b5bb5bc922 (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary        : prisma-fmt c838e79f39885bc8e1611849b1eb28b5bb5bc922 (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash : c838e79f39885bc8e1611849b1eb28b5bb5bc922
Studio               : 0.402.0

Hey,
This issue was fixed by https://github.com/prisma/prisma-engines/pull/2847. It will be available in the next release under the improvedQueryRaw feature flag.
Beware that enabling improvedQueryRaw is a breaking change. Release notes will contain information as to how to upgrade (so will the documentation).
Thanks for reporting 🙏


Factor out copywriting to en.json

In order to prepare for localization, we need to factor out all text into the /langs/en.json file. This is a continuation of the work in #581.
In essence, we need to structure the /langs/en.json file with a lot of keys and strings that will be the text presented in English. For example:
{
  "translation": {
    "hero": "Step by step publishing of your research",
    "hero_subtitle": "A new publishing format: Research modules."
  }
}

Part of this issue is to find a good structure for the key and to ensure all the text that would need to be translated is in there. Please make sure to not forget checking all the non-visual aspects like aria-label and others!
We are starting to document the work for localization over in the Wiki - additional edits there are welcome as necessary while working on this.
Todo

[ ] Add i18 to each page (import "../core/i18n")
[ ] Add useTranslation to components (for the t method)
[ ] Consistent naming scheme for text
[ ] Actually factoring out the strings

Closing this as it's been open for a while and we're clearly not doing it at the moment. Will move to our backlog so we don't lose track.


Comparing idea

Great package, I think it will be useful to have comparing feature.
So if I will get Model without saving it into DB, I can compare it in front-end and after, if I want, restore that version id DB.
As I see, it can be easy implemented doing this steps

Copy RollbackRevisionJsonRepresentation.php and remove save() and attach() methods.
In HasRevisions trait copy rollbackToRevision() method and
2.1. Delete "$this>saveAsRevision();" line.
2.2. Replace rollbackModelToRevision(), rollbackDirectRelationToRevision(), rollbackPivotedRelationToRevision() with methods created in new Trait (created in step 1).
Maybe there are some steps too, as I don't know whole construction.
Thanks!

Hi @armen9494
I don't think implementing a comparing feature will be withing the scope of this package, which are revisions.
I think it will be better to have the package doing one specific thing.
Also, there are already open-source packages for comparing sets of data.
Thanks :)

Maybe I have not described right.
How is real life logic - for example, you store multiple revisions of article. Now user wants to rollback to one of them. But before rolling back he needs to check which one he wants. How can he check? You cannot present him json, it will be converted to model for presenting it.

@armen9494
You can do that right now:

In your controller method that returns the view for displaying the revision

DB::beginTransaction();

$revision = Revision::find($id);
$model = $revision->revisionable;

$model->rollbackToRevision($revision);

// don't commit the transaction

return view()->with([
    'model' => $model,
    'revision' => revision,
]);

At this point, your $model is an instance of you actual model class containing the data from the revision.

At the end of your displaying (in the bottom of your view) (optional)

DB::rollBack();

Good idea, but I think it will add additional queries to DB. I think, will be better to construct it on "empty" model, as we have all info in metadata.


Fix: Self DM message count

For self DM message the counts where not correct as the LastReadL column date was not being set.
In SetLastRead, we test for self DM and set the LastReadL fixing the message count.

Closing for now


Fix @return comment of getRequest()  for correct auto completion

HttpRequest is an implementation of Zend\Stdlib\RequestInterface

Yes, i understand.
PhpStorm says "Method getPost not found in class \Zend\Stdlib\RequestInterface", if I write $this->getRequest()->getPost() in my controller. Maybe it's bug of PhpStorm.
Sorry for my English.

There is no bug.
The implementation by ZF2 simply offers much more than the interface is
requiring. That is not an error or bug at all.
What you can do is this:
/** @var \Zend\Http\PhpEnvironment\Request $request */
$request = $this->getRequest();

And with this you'll then have full IDE support of all the functions :)
marinovdf<EMAIL_ADDRESS>schrieb am Di., 6. Okt. 2015 um
12:44 Uhr:

Yes, i understand.
PhpStorm says "Method getPost not found in class
\Zend\Stdlib\RequestInterface", if I write $this->getRequest()->getPost()
in my controller. Maybe it's bug of PhpStorm.
Sorry for my English.
—
Reply to this email directly or view it on GitHub
https://github.com/zendframework/zend-mvc/pull/34#issuecomment-145819209
.

IIRC its possible add the magic @method annotation at class level. However for to be purist the best option is use the instanceof operator with the return of getRequest and avoid accidental PHP Errors.


Add more crafting recipes

Currently, the following mobs lack a recipe to obtain a morph item:

Cave Spider
Dolphin
Enderman
Iron Golem
Llama
Piglin
Panda
Polar Bear
Spider
Zombified Piglin
Bat
Cat
Chicken
Cod
Cow
Donkey
Fox
Horse
Mooshroom
Mule
Ocelot
Parrot
Pig
Pufferfish
Rabbit
Salmon
Sheep
Skeleton Horse
Snow Golem
Squid
Strider
Tropical Fish
Turtle
Villager
Wandering Trader
Ender Dragon
Wither
Agent
NPC
Axolotl
Glow Squid
Goat

Recipe Items:

Cave Spider - Spider Eye
Dolphin - TBD
Enderman - Ender Pearl
Iron Golem - Iron Ingot
Llama - TBD
Piglin - Gold Nugget
Panda - Bamboo
Polar Bear - TBD
Spider - Spider Eye
Zombified Piglin - Gold Nugget
Bat - TBD
Cat - TBD
Chicken - Raw Chicken
Cod - Raw Cod
Cow - Leather
Donkey - TBD
Fox - Sweet Berry
Horse - TBD
Mooshroom - Leather
Mule - TBD
Ocelot - TBD
Parrot - Wheat Seeds
Pig - Raw Pork
Pufferfish - Pufferfish
Rabbit - Rabbit Hide
Salmon - Raw Salmon
Sheep - Raw Mutton
Skeleton Horse - Bones
Snow Golem - Snowballs
Squid - Inc Sack
Strider - TBD
Tropical Fish - Tropical Fish
Turtle - Sea Grass
Villager - TBD
Wandering Trader - TBD
Ender Dragon - Dragon Egg (& return)
Wither - Nether Star (& return)
Agent - TBD
NPC - TBD
Axolotl - TBD
Glow Squid - Glow Inc Sack
Goat - Goat Horn (when available)


MML-106 - Add the Symphony Element "tableselect" tag

Closing as we decided to support this feature in a different way than having a messageml tag.


fix backup restore command

it was broken. now it is not.
Just did a wipe and upgrade of the OS. The restoring process was flawless. Amazing work!

Excellent! Thanks @s-crypt ! 🙏


Fix color output on Windows

Sources:
https://stackoverflow.com/questions/56460651/golang-fmt-print-033c-and-fmt-print-x1bc-are-not-clearing-screenansi-es
https://github.com/containerd/console/blob/f652dc3/console_windows.go#L46
Fixes #614

Thanks for the PR! I'm super booked this week, but will try to take a look in the next few days.

so I'm not sure on how to test this.

FYI I had plans to test this on my windows desktop tomorrow or Wednesday.

@yorinasub17 Let me know if you've had a chance to try this out.

Apologies for the delay here. I have verified that this works on my windows box!

Thanks Yori! @jereksel Could you resolve the last remaining (very minor) comment? After that, I can kick off tests.

Sorry that it took so long

Thanks! Kicking off tests now.

Hm, looks like a compile error?
# github.com/gruntwork-io/terragrunt/shell
shell/run_shell_cmd.go:98:31: not enough arguments in call to runCommandWithPTTY
	have (*exec.Cmd, io.Writer, io.Writer)
	want (*options.TerragruntOptions, *exec.Cmd, io.Writer, io.Writer)
# github.com/gruntwork-io/terragrunt/shell [github.com/gruntwork-io/terragrunt/shell.test]
shell/run_shell_cmd.go:98:31: not enough arguments in call to runCommandWithPTTY
	have (*exec.Cmd, io.Writer, io.Writer)
	want (*options.TerragruntOptions, *exec.Cmd, io.Writer, io.Writer)
FAIL	github.com/gruntwork-io/terragrunt/cli [build failed]
FAIL	github.com/gruntwork-io/terragrunt/config [build failed]
FAIL	github.com/gruntwork-io/terragrunt/configstack [build failed]

Should be fine now

Re-running...

Tests passed! Merging now, thanks!

https://github.com/gruntwork-io/terragrunt/releases/tag/v0.23.27


Spacepolice

Description
Correct usage of spaces in docs
Motivation and Context
Make space usage in doc consistent
How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

space change

Checklist:

[x] My code follows the code style of this project.
[ ] I have updated the documentation accordingly.

@FSchumacher , would you please add a Spotless rule for that?

@FSchumacher , would you please add a Spotless rule for that?

Have done so in another PR #523 as I am unsure about the usage of spotless and think it is another issue all in all.

There are lots of Spacepolice commits, and I guess it would be great if we just fix all the lines at once and close the topic. That is why I would prefer if we forbid bad spaces coming to the repository?


[Feature request] [Help] Change task background color on task board

Hello,
Im currently implementing Kanboard on my company, my users requested me if I could make the task background colored on the Galaxy theme.
I tried my best to find a way on the css, but I have not been able :(
Could you help me with this? Also this option would be nice to have on the customizer! (Solid color task background)
Thanks for your amazing job,
Cheers!

Not sure i understand what you're asking for

Still don't understand what you are asking for, so closing for now.


Compare Skeleton to X Library

I'm a huge fan of Vitest's version of this concept:
https://vitest.dev/guide/comparisons.html
I'd love to introduce a similar doc to Skeleton, as we've had similar questions come up in the past. Like "how does Skeleton stack up to library X or Y?".
Here's my first draft:
https://docs.google.com/document/d/1yI7kIxnJzPpMdGTConB2Y97GkTfKQThrKggdyqNC03c/edit#
I'm currently comparing to other a small set of framework-specific or Tailwind-based libraries, which aligns with where we reside more than the big alts like Material Design or Tailwind. However, if you think I've missed something important please let me know! I just don't want this to be too long.
I'll look to implement this in the near future, so copy reviews and updates are welcome. Feel free to request direct access to the doc if you wish to make changes!

@ Jacob H. (sorry, don't know your GitHub user) - I saw you request access to the document and have granted this. Feel free to make edits directly. I can review the document history to see what changes are made over time
Thanks for the help!

I went through and made some edits to grammar and punctuation. Any larger edits that could change the idea of what you were going for have been made using Google Docs suggestion system so you can approve or reject as you see fit.

Awesome, thanks Jacob! We're about to launch a big update to Skeleton today, so I'll be plenty busy rolling that out, providing support, and promoting today. However, I'll give this a look asap! Thank you for the help!

If needed, I can implement the docs page once you have reviewed.

FYI I've accepted most of your suggestions and merged a few of the more notable changes.
Note I'm on the fence about mentioning the "upcoming guides" for Daisy/Flowbite. Perhaps it's better to introduce these alongside this page? Perhaps the guides would be short enough to be embedded directly below each section? Even if they are long, perhaps they could exist in expandable sections, so not to dominate space?
Thoughts?

I think the guides would be short enough to be include. One or two code snippets of utilizing both Skeleton and Daisy/Flowbite would get the idea across that you can use one with the other.
I do think examples beyond your theming example would require more documentation. For example, showing how to put a Skeleton button with a DaisyUI card. Maybe that could be on another page? If hybrid-ing Daisy/Flowbite becomes more official, I don't see why that can't have its own page with a link in the comparison one.
It's definitely an interesting concept. Before I read the doc I had never considered combining UI library's in a single project and I don't think any other libraries have guides on how to do so out-of-the-box.

Yeah I agree with all that.
Combining libraries would put us in a unique position. While Skeleton can focus on functional/svelte-based components, users can augment presentation components using these libraries (heros, cta, etc)
Obviously the lines blur a bit if you introduce something like Flowbite Svelte. But perhaps at some point we reach out to the maintainers of those projects and make proposals for something more official. I'm definitely open to working with them, if they're open to helping with us.
So far I believe Flowbite (their basic free version) to be the easiest to document this process for. Here's what that would look like, using their card component as an example:
https://flowbite.com/docs/components/card/
Mostly just changing color values:

Noteworthy technology acquisitions 2021

Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.

Noteworthy technology acquisitions 2021

Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.

Looks pretty similar right? Given we appear to be using the same color values for our default theme:

However, change the theme, and you'll immediately see the difference:

Easy right? However, Daisy may be a bit more complicated because they seem to abstract a lot of the color values. They don't inline as much. Probably something to do with how they handle themes.

Shoes!

If a dog chews shoes whose shoes does he choose?

      <button class="btn btn-primary">Buy Now</button>

I'm wondering now how easy it would be to have your Skeleton theme be used by Daisy using their custom themes. I know it would take a little work but I think it could be done pretty seamlessly.  You would just wrap  around the Daisy components you would want to style and follow their guidelines.
For example, the default theme would look like this:
daisyui:{
 themes: [
  {
   skeleton: {
      primary: "##34d399",
      secondary: "#6366f1",
      accent: "#f43f5e",
      neutral: "#6b7280"
      },
   }

The colors could be tweaked of course but that is the general idea.

The idea of some kind of combined or universal theme did occur to me. However, the problem is Daisy themes are not fully optimized for Tailwind theme support. Namely, you provide pure hex color values, which means no support of color opacity!
Take a look at our default theme for comparison:
https://github.com/Brain-Bones/skeleton/blob/dev/src/themes/theme-skeleton.css
We talk a bit about this at the top of the Theme section:
https://skeleton.brainandbonesllc.com/guides/themes

Skeleton themes integrate with Tailwind using CSS custom properties converted to RGB values. This enables the use of background opacity as well as support for dark mode. Components intelligently implement each color from the theme's palette. Follow the instructions below to get started.

So the inverse would probably be better, some way to translate Skeleton themes back to hex values and inject them into the Tailwind config. That might make Daisy components usable turnkey. However, I don't know how many color "slots" they have offhand, so cannot guarantee things would match up 1:1. That would require a deeper review. Plus deciding if level of effort is worthwhile or not.

I thought about the opacity as soon as I finished, and it's a very good point. Supporting opacity out-of-the-box is great and would need some thinking if combining with Daisy. I think on a comparison page it would be much easier to show the use of Skeleton theming and Flowbite like you did here.
I think the Daisy portion would require a little more thought and effort, but could definitely be added later.

Yep, I think with a little effort we can make it work. For now, don't hate me, but I've rewritten a good bit of the comparison document. A lot of the ideas you brought forth are still there, but after coming back with a fresh set of eyes I was not happy with the tone. I also needed to make some adjustments to segue into the tutorials for Flowbite and Daisy.
By all means, feel free to review the latest draft. Though, I'm planning to go ahead and create the the branch and begin implement a version of this now. I'll happily apply updates as relevant though.
I'll also work to add a couple quick examples of converting Flowbite/Daisy components so we have something more concrete to reference. Expect that soon!

I've pushed my first commit to the docs/comparison branch if you would like to review. Here's a quick preview:
https://i.imgur.com/AkfzeY4.png
Note that I also did a review of how Daisy is handling themes and component styles, and must say, it's not great. In fact I'm a bit shocked at the popularity of the library, given the fact they are blatantly missing the point of Tailwind and misusing it. I'd go so far as to say it's harmful to recommend them, though I don't want to come across super harshly in our message. Let me know you have ideas for softening that up Jacob.
We already discussed the misstep of using hex values for themes, but it appears they are also leaning heavily into using the @apply directive, which is honestly a misstep on their part At that point Tailwind isn't really providing any benefit over vanilla CSS. They are greatly inflating the final stylesheet produced for everyone by default. Let me know if the links I included explain this well enough, or if we need to tailor the copy to better explain this. I'm open to suggestions!

I think it looks very good. I hadn't realized until reading your explanation and then looking for myself that Daisy was going against Tailwind's own recommendation. I think perhaps their popularity comes from ease of use, and those utilizing it are probably looking for something they can plug and play in a personal project.
From reading it, I think the only thing that sounds "harsh" would be where you say Daisy goes against the Tailwind recommendation. I think without it you are still getting your point across without knocking the other project, instead you are just remarking about the difference approach Skeleton takes.
Maybe consider in the Flowbite section adding the images you showed earlier in this issue? The HTML is great, but the final image you showed doesn't match with the "Flowbite + Skeleton" card. It looks to me that all that would need to be changed is what is in your

 in the converted component. I know it is small, but speaking as someone who often takes code snippets from docs and pastes them to see if it matches, small differences matter.

Ok, that sounds fair. I'll see what I can do. Yeah I want to include the theme comparison images, but right now I've not settled on the best place for hosting those. I know we can just embed them into the project, which I may do, however I'd rather wait until we have a proper CDN in place for this sort of thing. I agree with the benefit of those though, however maybe recommending folks toggle light/dark mode would suffice for now?
Also I'll update the heading tag as well, good catch!

I've pushed an update to address the concerns above.

This drops the "goes against" line and instead links the @apply callout. Allowing Tailwind themselves to deliver the news. Lead a horse to water, and all that :)
It collapses the Flowbite example into a Skeleton Accordion, which helps prevents interrupting the flow of the page.
I'm also recommending user toggle dark mode. In a future iteration it'll be a similar process to adjust the documentation theme (ala Daisy). Once that's ready. we can advise users to toggle that as well.

I'll await your final review of latest text copy, otherwise unless @niktek and @thomasbjespersen have other suggestions, we'll look to merge. I'll send a PR asap guys, just let me know!
Thanks for the help with this Jacob! I always struggle with writing text copy like this, so I really appreciate the help. If you're up to it, we would gladly welcome your contributions to any other part of the project! Code, copy, or whatever!


FileSystemStorage putting local paths into migrations

Examples/potential Fixes:

https://stackoverflow.com/questions/32349635/django-migrations-and-filesystemstorage-depending-on-settings

PootleFileSystemStorage (from Evernote) - https://github.com/translate/pootle/commit/8ff2463f0b1f1771595334df9ff9f7ba4ec33ae5#diff-0073684248aab77bd945bf6209970a09R34

FilePondStoredSystemStorage - https://githubmemory.com/repo/ImperialCollegeLondon/django-drf-filepond/issues/31

Update with consideration to Django 4.2 and the STORAGES setting. Put on hold until deployment determined sans Azure


Generating wake word fails in step 1 with "NameError: name 'generate_samples' is not defined"

When pressing the play button next to the code, I receive the following error. None of the following fixed it:  Clearing the browers cache, reloading the page, restarting the runtime, clearing all outputs and starting all over.
`NameError                                 Traceback (most recent call last)
 in <cell line: 45>()
43                 )
44
---> 45 text_to_speech(target_word)
46 Audio("test_generation.wav", autoplay=True)
 in text_to_speech(text)
35
36 def text_to_speech(text):
---> 37     generate_samples(text = text,
38                 max_samples=1,
39                 length_scales=[1.1],
NameError: name 'generate_samples' is not defined`

This fixed it: click on Runtime->Disconnect and delete runtime (I believe this is how it’s called in English) and then start all over again.


Initial Russian language support

Codecov Report

Merging #4103 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4103   +/-   ##
=======================================
  Coverage   19.97%   19.97%
=======================================
  Files         153      153
  Lines       30494    30494
=======================================
  Hits         6091     6091
  Misses      23489    23489
  Partials      914      914

Continue to review full report at Codecov.

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

@Mauladen if there is no content in one page, don't create that blank page then CI will create the default en-US one.

@lunny I translated only the header of the site, and the menu items on the left in the documentation

@Mauladen Just for detail can you prepend with "docs: " you PR title as it will be the commit message ?


Replace disco.py, which is no longer maintained

Not immediately urgent but at some point we should probably swap out our Discord handling with something that's still maintained. Disco.py was archived on github and has some stale dependencies (see also #320)

discopy already removed, @asdfryan working on rebuilding


Added documentation how to sync fork from original repo

updated docs
updated npm packages

I think, there is a need to remind to leave the forked repo url in package.json while resolving conflicts after fetching from upstream


[Named Entity Recognition] Better Handling of Input Sentences

This plugin is soooo dirty, need to clean up the last fixes.
In particular:

handle empty sequence separately,
do a proper chunk writing (at the moment, this is doing thing in memory, silly). For that need to set up the schema upfront (see here).

For chunk writing, an example is here


docs: Add contribution page

Explain how to contribute in detail.

[ ] How to fork
[ ] How to make changes
[ ] Good practices & final checks
[ ] How to give pull request

If you can, you can also work on this. FR

Okay @anburocky3


When the json has some type error, the plugin cann't work.

my json is like this.
there are some error at last. So the plugin cannot work.
Cant it works for the content previous errors?
May be it 's  a little hard.
I copy it into vscode to show. It's ok.
{"deviceInstances":[{"id":"traffic-light-instance-01","name":"traffic-light-instance-01","model":"traffic-light","twins":[{"propertyName":"red","desired":{"value":"ON","metadata":{"type":"string"}},"reported":{"value":"ON","metadata":{"timestamp":"1655777520444","type":"string"}}},{"propertyName":"yellow","desired":{"value":"OFF","metadata":{"type":"string"}},"reported":{"value":"OFF","metadata":{"timestamp":"1655777520444","type":"string"}}},{"propertyName":"green","desired":{"value":"ON","metadata":{"type":"string"}},"reported":{"value":"ON","metadata":{"timestamp":"1655777520444","type":"string"}}}]},{"id":"lamp-opcua","name":"lamp-opcua","protocol":"opcua-lamp-opcua","model":"opcua-model","twins":[{"propertyName":"switcher","desired":{"value":"false","metadata":{"timestamp":"1550049403598","type":"boolean"}},"reported":{"value":"true","metadata":{"timestamp":"1655779193063","type":"boolean"}}},{"propertyName":"temperature","desired":{"value":""},"reported":{"value":"17","metadata":{"timestamp":"1655779193079","type":"string"}}}],"propertyVisitors":[{"name":"temperature","propertyName":"temperature","modelName":"opcua-model","protocol":"opcua","visitorConfig":{"nodeID":"ns=3;i=2002"}},{"name":"switcher","propertyName":"switcher","modelName":"opcua-model","protocol":"opcua","visitorConfig":{"nodeID":"ns=3;i=2003"}}]}],"deviceModels":[{"name":"traffic-light","properties":[{"name":"red","dataType":"string","description":"Indicates
    whether the led light is ON/OFF","accessMode":"ReadWrite","defaultValue":"OFF"},{"name":"yellow","dataType":"string","description":"Indicates
    whether the yellow light is ON/OFF","accessMode":"ReadWrite","defaultValue":"OFF"},{"name":"green","dataType":"string","description":"Indicates
    whether the green light is ON/OFF","accessMode":"ReadWrite","defaultValue":"OFF"},{"name":"red-pin-number","dataType":"int","description":"Indicates
    red led pin munber","accessMode":"ReadOnly","defaultValue":25,"minimum":0,"maximum":0},{"name":"green-pin-number","dataType":"int","description":"Indicates
    green led pin munber","accessMode":"ReadOnly","defaultValue":23,"minimum":0,"maximum":0},{"name":"yellow-pin-number","dataType":"int","description":"Indicates
    rellow led pin munber","accessMode":"ReadOnly","defaultValue":24,"minimum":0,"maximum":0}]},{"name":"opcua-model","properties":[{"name":"temperature","dataType":"int","description":"temperature
    in degree celsius","accessMode":"ReadOnly","defaultValue":1,"minimum":0,"maximum":0},{"name":"switcher","dataType":"boolean","description":"turn
    on or turn off","accessMode":"ReadWrite","defaultValue":false}]}],"protocols":[{"protocolConfig":null,"protocolCommonConfig":null},{"name":"opcua-lamp-opcua","protocol":"opcua","protocolConfig":{"url":"opc.tcp://<IP_ADDRESS>:4840/","userName":"testuser","password":"/ca/pass","securityMode":"None","certificate":"/ca/clientcert.pem","privateKey":"/ca/clientkey.pem"},"protocolCommonConfig":{"customizedValues":{"remoteCertificate":"/ca/servercert.pem"}}}]}

Personally, I too would like the plugin to be more forgiving of JSON errors, but I certainly understand if that's too much work.

@alongL , I guess it work. Hope, this is what your ask.
I copied the text the text and open json viewer window. I see below -

Please note: that formatting of this is not possible as the json itself has error.

Feel free to reopen or open a new bug if anything needs attention.


CONUS404 on AWS Open Data Program

On October 5, I received this email from Chris Stoner at AWS:

Congratulations! We have reviewed your application and are happy to confirm that CONUS404 is eligible for the AWS Open Data Sponsorship Program. For next steps, please refer to the Onboarding Handbook for Data Providers, available at https://assets.opendata.aws/aws-onboarding-handbook-for-data-providers-en-US.pdf.

The steps in the PDF are:

APPLY - Submit applications via online web form. We typically process applications and communicate results via email within two weeks of your submission.
PREPARE DOCUMENTATION - Program participants must provide documentation and an
example tutorial of working with their dataset on AWS. Development of these resources can
happen in tandem with other steps, but must be completed prior to dataset launch.
SIGN TERMS & CONDITIONS - Agree to the program’s legal agreement via the online web
form.
CREATE & LINK NEW AWS ACCOUNT - Create a pristine AWS account that will be used
exclusively for hosting your dataset.
This account must then be linked to the program’s billing organization1 prior to the account’s
use. You will provide your new AWS account number to opendata@amazon, and we will issue
an invitation to link your account. Important: You are responsible for any charges incurred
prior to confirmed account linking.
PREPARE AND UPLOAD DATA - Upload and organize your data into a newly created Amazon
S3 bucket created using a supplied Cloud Formation template.
LIST DATASET ON THE REGISTRY OF OPEN DATA & LAUNCH! - Submit your dataset’s
registry listing entry as a .yaml file via Github. The AWS Open Data team will review and
merge your pull request. This must be in place before quarterly launch announcement.

Step 1 is obviously complete.
Step 3 will shortly be complete, as Megan Frayer,  Compliance Branch Chief in the WMA Enterprise Technology Office, will be signing the AWS Open Data Terms and Conditions.   We received approval previously from Sheryl Rakestraw, Senior Attorney for DOI, that there were no legal issues with this.

Thinking Step 2 will be met by the USGS Web Page that's the formal "web release" for the dataset. This page should go live pretty much in sync with the appearance of the data on ODS.
There's also the journal article, but I expect that to be released a month or two after the appearance of the data on ODS (so might want to drop that from dialog w/Amazon, if we think that'll clutter the discussion).

For Step 3, we're shopping the "who should sign?" question with ACIO now (Carter Elmore, WMA ETO Director elevated it). Part of it is influenced by whether we can/want to have this done for the whole bureau in one shot or we just want to go for it at the WMA level to get it done quick.
Rich is working on Step 4, which is related, to bring together the Amazon Fed Rep, the Amazon ODS rep, and the CHS Amazon contract boss to talk w/us.  Right now, we're trying to determine whether we're even able to make a "fresh account" and how that relates to USGS' existing account(s).

DOCUMENTATION
Hi both - just looking into the documentation piece of the AWS Open Data Sponsorship in more detail. I think we need 3 things:

a link to a web page with documentation describing data organization (hosted by us, like this)
example notebooks of how to use the data
we need to fill out the Amazon Open Data Registry template for the documentation that shows up on their page

For #1 my gut instinct was to use the drupal web page - I can talk to Krista about making a section of the web page specifically about the Open Data Sponsorship data. A concern with that could be timeline though - not sure if the web page will be up in time. Another option is to make a markdown file in our Github for this. Just wanted to see if y'all thought this is legitimate enough (we don't need to go through some kind of approval process for this type of content, right? - especially if NCAR is now signing?). I'd like to ask if we can update this documentation link (maybe we start with a github markdown file then transition to the web page later). I'll take a stab at drafting this text, but I won't be able to fill in the details until we decide exactly what subset of the data we are sending to them. Two questions here for @rviger-usgs and @rsignell-usgs:

What do y'all think about using the github markdown until our drupal page is up?
Can I reach out to ask if we can update this url (maybe once we get the signature piece figured out)

For #2 Rich and I discussed some notebooks to explore and export netcdfs of CONUS404. I will make sure they are ready to go.
For #3 I can fill out this template. I don't believe I should push it anywhere yet, but I'll have it filled out so it's ready to go when we need it.

@amsnyder This all sounds great.
I'm okay w/your plan of going with a github page to start, eventually shifting to a drupal (or ScienceBase) page eventually, if we need to. Think we should check in w/Krista and the WMA Drupal folks (need to figure out the real name of this team!) about the timeline there, in case that's actually quick enough.  Checking w/Amazon on whether we can change that would also be good.
Do we want to loop an NCAR person into this issue re: this whole process and signing the paperwork? I can try to identify who that ought to be, if we're ready for that.

@rviger-usgs I think we need to abandon the idea of USGS being the maintainer of an AWS Public Data Set, at least for now.   Although the DOI lawyers were okay with the AWS Open Data Sponsorship Program Terms and Conditions, USGS apparently cannot set up a totally new AWS account that the program demands for linking with the AWS corporate account.
However, we don't have to abandon the idea of the CONUS404 data being available on AWS Public Data.  Once USGS publishes data, anyone 3rd party is free to be the maintainer of that data on the AWS Open Data Program.   This is what Planet.os did with USGS Landsat data before USGS had it available in cloud storage.
If another organization, say NCAR, would find value in the data being there, they could be the maintainer.   USGS doesn't have a role in this, so we don't need to wait to hear from senior USGS management.

@rsignell-usgs okay, I think we should do as you recommend. Let's close this issue and focus on the globus/black pearl solution.


Pyinstaller Distribution not found error

Hey can someone help fixing this it always appears when i import iota
Traceback (most recent call last):
  File "pyintest.py", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\iota\__init__.py", line 39, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\iota\api.py", line 10, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\iota\commands\__init__.py", line 13, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\filters\__init__.py", line 13, in <module>
  File "site-packages\pkg_resources\__init__.py", line 888, in require
  File "site-packages\pkg_resources\__init__.py", line 774, in resolve
pkg_resources.DistributionNotFound: The 'filters' distribution was not found and is required by the application

why it has problems with filters since it installed as usual with pycharm
i m unable to find the --paths or hiddenimport to fix this

Hey @Zenkazio that's a strange one.
filters is declared as part of PyOTA's requirements in setup.py, so PyCharm should have installed it.
This may be a bug in PyCharm.  Try removing and rebuilding the virtualenv.  If it still doesn't install the filters distro, please report it on the PyCharm issue tracker.  The PyCharm development team are very responsive, and you'll be helping out your fellow developers 😺
As a workaround, you can install the filters distro manually.
Let me know if you are able to resolve the issue.

Hey, thanks for answering but you got me wrong, in PyCharm the programs work like a ...Charm but the problem is building a standalone using Pyinstaller thats were this error apears if i start the .exe file

Ah... 🐍 🏅 😹
Hm.  I'm not that familar with PyInstaller.  I had a quick look through the docs, and it recommended a few workarounds for missing dependencies, but all of them seem to be related to modules imported in a sneaky way, which PyOTA doesn't do.
Can you confirm what distros PyInstaller does install?  Is it just filters that is missing, or are there others?  Maybe there's a configuration issue that is preventing PyInstaller from finding any dependencies.

i tried a few workarounds already but i will search further was just hoping that someone already build a standalone and has this issues fixed....

Sounds good!  Also, try asking in the #python channel on the IOTA Discord server.  There might be some other developers there who have run into this issue before.

@Zenkazio Did you figure this out?
If so, could you post a solution

Some additional info and links to possible solutions in #341


iOS - Event not triggered.

Hi,
I think you have a couple of issues in the iOS version.

rewardedAdDidDismiss should be notified the same as onRewardedVideoAdClosed IMO.
No event is fired at all once a video is loaded. From my testing, it seems like it happens since the delegate functions are private and not public
events order should be:
self.notifyListeners("onRewardedVideoCompleted", data: ["type": reward.type, "amount": reward.amount])
self.notifyListeners("onRewarded", data: ["value": true])
self.notifyListeners("onRewardedVideoAdClosed", data: ["value": true])

If you report onRewardedVideoAdClosed first, most clients usually deduce that video wasn't completed..
Can you confirm these issues?
Because im not getting a single event and on android everything works perfectly.

Sorry for late reply. Some fixed. Thanks.


Access denied when adding url from Netlify to allowed_origins

We have moved from hosting our vue-app in s3 to Netlify, now the passwordless feature fails with the following error:
{"__type":"UnexpectedLambdaException","message":"VerifyAuthChallengeResponse invocation failed due to error AccessDeniedException."}
There are no changes in the app besides moving the hosting

Best check the logs of the Verify Auth challenge lambda function? It's that lambda function that reports it does not have access in your message. Hopefully the stack trace in the logs reports what the lambda function was doing. Otherwise set loglevel to Debug.
Looks like it's unrelated to the Netlify move by the way?

Hard to follow what it happening. Maybe the User Pool does not have permission to invoke the lambda function. This permission is created automatically by the CDK stack but maybe got inadvertantly removed. (Still I see no reason why this would be related to a move from S3 to Netlify)

Any luck @seel93 ?
If not can you provide more details? Eg show how you use the Passwordless construct and how you deploy. Ideally we can reproduce. Also, what version of the passwordless lib are you on ?

We're only using a small part of the code in this repo and using terraform instead of the cdk.
Magiclink is currently the only sign-in method we're using, and code for all the other methods is not a part of our repo.
This solution was working fine with s3 and cloudfront, and when we introduced Netlify the verifyAuth trigger failed to run.
I don't have the passwordless lib version in front of me right now, but will provide it asap.

@ottokruse  we're using v0.5.1 of the passwordless lib

Check the resource based policy statements of the VerifyAuth lambda in the AWS console and make sure correct?
Should be something like:

And when opened:

@ottokruse This issue was linked to setting the wrong client_id for cognito in netlify. The correct id has been set for the env vars and the solution works as intended.
Apologies for the inconvenience!


exp/vulncheck: no unique module sharing in Binary

Binary API currently does not return module information, which is internally modeled suboptimally. Unique modules are not represented by a unique pointer value, which could cause issues if Binary at some point starts returning module and package information.

Fixed by https://go.dev/cl/400118.


Adding BufferReader TryReadTo benchmark with alternatives.

BenchmarkDotNet=v0.11.1, OS=Windows 10.0.17763
Intel Core i7-6700 CPU 3.40GHz (Max: 2.50GHz) (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=3.0.100-alpha1-009667
  [Host]     : .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT
  DefaultJob : .NET Core 2.1.3 (CoreCLR 4.6.26725.06, CoreFX 4.6.26725.05), 64bit RyuJIT

Method
Mean
Error
StdDev
Scaled
ScaledSD
Allocated

SingleSegmentBufferReader_original
13.263 us
0.1038 us
0.0920 us
1.60
0.02
0 B

SingleSegmentBufferReaderSkipAdvance
10.344 us
0.0755 us
0.0670 us
1.25
0.02
0 B

SingleSegmentBufferReaderNoOptionalArg
12.053 us
0.2347 us
0.2883 us
1.45
0.04
0 B

SingleSegmentBufferReaderUnsafeAdvance
11.738 us
0.0901 us
0.0799 us
1.42
0.02
0 B

SingleSegmentSpan
8.295 us
0.1311 us
0.1162 us
1.00
0.00
0 B

Related to https://github.com/dotnet/corefx/issues/32588#issuecomment-426894197 (where @JeremyKuhne observed performance regression by just having a "slow" method call rather than just a return).

Notice, the optimized method is even faster than the one that has no method calls.

Single return statement
Slow method signature matches the original method
We return right after the slow method.

TryReadOriginal versus TryRead_NoSlowMethodCall: https://www.diffchecker.com/t5Gcicee

52 versus 46 instructions

TryRead_NoSlowMethodCall versus TryReadOriginal_optimized: https://www.diffchecker.com/AKVl271L

46 versus 43 instructions

Note: We can use the same tricks to re-write TryRead_NoSlowMethodCall like TryReadOriginal_optimized and then both will have identical performance (44 vs 43 istructions): https://www.diffchecker.com/P3dJXjok


Create base fastlane files for simple editing.

[x] Issue does not already exist
Identify exactly what aspect you're issue is about

[x] ignite base applicattion
[ ] ignite the cli
[ ] ignite generated code

completed


rest api for  /tag/edit

you can look rest-codes and can write the  /tag/edit api

This api has not written yet, can you write it asap?

PR #191


0.14.0: Building (partially) fails with EOF error when "static" directory is empty

hugo version:
Hugo Static Site Generator v0.54.0/extended darwin/amd64 BuildDate: unknown (installed via Homebrew)
Steps to reproduce:

Create a site folder with an empty static directory.
Run hugo.

Observed result:
Output resembling the following:Total in 215 ms
Error: Error copying static files: EOF

The list of total files generated does not display. Files generate and build into the default destination directory as expected.
Expected result:
Output resembling the following:
                   | EN
+------------------+----+
  Pages            | 13
  Paginator pages  |  0
  Non-page files   |  0
  Static files     |  0
  Processed images |  0
  Aliases          |  0
  Sitemaps         |  1
  Cleaned          |  0

Total in 209 ms

This was the behavior previously observed with my test case in 0.53.0, and the behavior observed when the empty "static" directory is deleted or a file is added to it (with the addition of that blank file being notated in the list of generated files).
Other observations:
This also affects hugo server; namely, preventing it from running entirely. In order to get hugo server to run, either the empty "static" directory needs to be deleted or a file needs to be added to it.

Interesting. I can't reproduce it neither on 0.54 nor on HEAD commit of the repo. Can you create a repo with the site that's failing to build?

Nothing significant has changed in my environment in the past few days, but I now seem to be unable to replicate this, even though I could make this trigger over and over and over just a few days ago. I'll re-open if I see it again and can provide any more information on what particular circumstances make it happen.

Appears (to me) to be an empty folder inside of static. My layout:
...
▶ resources
    ▼ static
        ▼ css
            site.css
        ▼ js
▶ themes
...

As soon as I add a file to static/js Hugo renders fine. Without any files, Hugo errors:
❯ hugo
Total in 2 ms
Error: Error copying static files: EOF

Cheers.

This looks like a bug to me. Readdir in Golang returns io.EOF when a directory is empty, which I suspect is what happens here -- and it shouldn't fail.

It's strange, on my machine everything works fine. Here is the output of hugo version:
Hugo Static Site Generator v0.54.0/extended darwin/amd64 BuildDate: unknown
I'm using https://github.com/bep/hugotest as a test hugo site. It builds without any issues, no matter if I add an empty folder or not to static.

@themartorana, can you provide a test site that reproduces this issue?

@moorereason done! And I found a few things along the way required to create the error:

Must be using a theme (and have it set in the config)
Must have an empty folder in /static and it must have a matching empty folder in the theme's ./static directory! (This feels like the important bit.)

If I renamed the /static/css folder to /static/empty-test the error went away. But if I added a matching folder /themes/empty-dir-theme/static/empty-test the error came back.
Repo here: https://github.com/themartorana/hugo-empty-dir-test-site

@themartorana, excellent! 🏆
I'm able to reproduce the issue with your repo after the following:
sh$ mkdir content static themes/empty-dir-theme/static && hugo
Total in 1 ms
Error: Error copying static files: EOF

sh$ hugo env
Hugo Static Site Generator v0.55.0-DEV-908692FA linux/amd64 BuildDate: 2019-02-22T09:49:09-0600
GOOS="linux"
GOARCH="amd64"
GOVERSION="go1.11.5"

Filed upstream issue: https://github.com/spf13/afero/issues/197


Add hover to a class

What is the best way to add .input:hover { -- some css code here --}? Right now I have svolved it with creating an own .inputHover:hover class that I append to my React component trough classNames. Just wondering if there is a more elegant way to achieve this.
Thanks for this!

Neither this library or CSS Modules itself changes the behavior of :hover AFAIK...


[Bug] [Module Name] Server-side exception: task instance is null or host is null

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Task displays submission success by master, but not excute by worker. how to fix it?

What you expected to happen
task need done well
How to reproduce

Anything else
sometimes
Version
3.1.x
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Please check if worker Group management is configured correctly?
security  -> worker group manage

I also encountered a similar problem. When I manually executed the task, this error occurred. After restarting the cluster, it returned to normal. My configuration is a single machine work node.

I have also experienced such problems, which seriously affect the normal operation of scheduled tasks.
version：3.1.7
Reproduction steps

I have also experienced such problems, which seriously affect the normal operation of scheduled tasks.
version：3.1.7
Reproduction steps

Create Work groups

Create Test Tasks(Three different working groups)
Task 1 use '大数据集群' worker group

Task 2 use '算法集群' worker group

Task 3 use 'default' worker group

Set scheduled execution，online workflow and scheduling
* * * * * ? *
3. Stop the worker of the '算法集群'

After stopping, all tasks will be affected and an error will be reported as task instance is null or host is null.
After stopping woker group info:

After stopping task execution status:

error logs message：

After starting the stopped worker, the task resumes execution. A large number of backlogged tasks are resuming execution, which may cause the cluster to be in a high load state and lead to the downtime of other services in the cluster. This is very dangerous

I have also experienced such problems, which seriously affect the normal operation of scheduled tasks. version：3.1.7
Reproduction steps

Create Work groups

Create Test Tasks(Three different working groups)
Task 1 use '大数据集群' worker group

Task 2 use '算法集群' worker group

Task 3 use 'default' worker group

Set scheduled execution，online workflow and scheduling 3. Stop the worker of the '算法集群'* * * * * ? *
After stopping, all tasks will be affected and an error will be reported as task instance is null or host is null.
After stopping woker group info:
After stopping task execution status:
error logs message：
After starting the stopped worker, the task resumes execution. A large number of backlogged tasks are resuming execution, which may cause the cluster to be in a high load state and lead to the downtime of other services in the cluster. This is very dangerous

I don't quite understand why the node downtime of the '算法集群' worker group affects the tasks of other worker group nodes

Log in to the DS machine and run [status-all.sh] to check the health status of DS cluster nodes，When I have this error, it is usually accompanied by a node exception in the cluster，You can prioritize whether it is a machine node problem

After I restarted the cluster, the machine node status returned to normal and the task could be executed normally. However, the cause of DS node death still needs to be further identified according to the specific situation
@yihao-tcf @AmriStrong @touchhuang

@touchhuang This error is caused by the abnormal work node, so I think this issue can be closed

@touchhuang This error is caused by the abnormal work node, so I think this issue can be closed

I don't think this is a bug, if one of the worker nodes goes down for some reason, causing all tasks to fail to run. Is this a bug?

I have also experienced such problems, which seriously affect the normal operation of scheduled tasks. version：3.1.7
Reproduction steps

Create Work groups

Create Test Tasks(Three different working groups)
Task 1 use '大数据集群' worker group

Task 2 use '算法集群' worker group

Task 3 use 'default' worker group

Set scheduled execution，online workflow and scheduling 3. Stop the worker of the '算法集群'* * * * * ? *
After stopping, all tasks will be affected and an error will be reported as task instance is null or host is null.
After stopping woker group info:
After stopping task execution status:
error logs message：
After starting the stopped worker, the task resumes execution. A large number of backlogged tasks are resuming execution, which may cause the cluster to be in a high load state and lead to the downtime of other services in the cluster. This is very dangerous
I don't quite understand why the node downtime of the '算法集群' worker group affects the tasks of other worker group nodes

@kezhenyang163
From the steps of replication, it can be seen that when the nodes corresponding to my "算法集群" workgroup were closed, the tasks of the "大数据集群" and "default" workgroups were also affected and could not work properly. I think this is very unreasonable, as one of the executor nodes goes down, causing all nodes in the current system to be affected. Do you think it's reasonable?

I believe that if the node corresponding to the "algorithm cluster" workgroup goes down, it should affect the tasks of its corresponding workgroup. And it will not affect the working groups of other normal worker nodes. If a single node goes down and all tasks cannot run, then I think it will deviate from the "High Performance Workflow" described by Dolphinscheduler

@kezhenyang163 This may not be a bug, but it can indeed be troublesome, especially when multiple teams are collaborating.

mark


Document using RDS (MySQL/PostgreSQL) via a VPC

This is currently not documented and is a major use case of Bref.
Limitations: using MySQL or PostgreSQL from Bref via RDS requires using a VPC. That means:

setting up correct permissions in template.yaml to access the VPC
accepting much longer cold starts (around 5s)

You are free to comment below with any information that can help regarding this topic. This issue can serve as an alternative to documentation until such a documentation article exists.

@mnapoli Why do you feel that cold starts are arround 5s with VPC? I Read here in many places and in my experience it never happened.
I Am using Lambda PHP With Aurora MySQL in a prod env with more than 1B calls/mo(API and Web).
In my use case(with ALBs) our cold starts are never more than 400ms.
Usually is less
REPORT RequestId: 6eaf294b-a1f6-4944-be3c-74d66809d005	Init Duration: 217.45 ms	Duration: 487.16 ms	Billed Duration: 800 ms Memory Size: 384 MB	Max Memory Used: 95 MB

See https://mikhail.io/serverless/coldstarts/aws/ for an up-to-date measurment of cold starts on AWS, specifically the part about VPC. In any case this is something that is documented in all cold start benchmarks that I read online. I also see them myself. You may not be seeing them because of the volume, and maybe because such a volume keeps lambdas warm?
From what I've seen it seems the VPC part of the cold start (the 5s) are not reported in the cloudwatch logs (and in the lambda duration itself). I need to dig more into this.

@atrope by the way it would be extremely interesting to learn a bit more about your stack. Have you written an article online about it? We have a Case studies page in the documentation where we could link to it. If you haven't I encourage you to write it ^^

@mnapoli we still need to find time to write something about our experiences in converting our whole structure to serverless :).
As soon as we do, I Will be sure to ping you.
As for the cold start part..  it could be our volume that we don't ever notice it, but even in our tests envs we dont see that much time.
Also we use ALBs healthchecks to keep them warm.
Now i will stop hijacking this issue!

@atrope can't wait to read about your project!
And regarding this issue I might be able to publish some documentation this week! (I'll try to spend 1 or 2 days on Bref this week)

@mnapoli could you quickly share some insights into getting VPC working as this issue is addressing this?
Im still struggling with this getting timeouts and 500 errors.

@viezel please read the pull request (#269).

I did, and I configured it as well:
Policies:
   - VPCAccessPolicy: {}
   - AWSLambdaVPCAccessExecutionRole
VpcConfig:
   SecurityGroupIds:
      - 'sg-xxx'
   SubnetIds:
      - 'subnet-aaa'
      - 'subnet-bbb'
      - 'subnet-ccc'

but app says:
Fatal error: Uncaught Hoa\Socket\Exception\Exception: Client returns an error (number 111): Connection refused while trying to join unix:///tmp/.bref/php-fpm.sock. in /var/task/vendor/hoa/socket/Client.php:19


CMakeLists.txt cleanup

@zalox consider this a proposal. The thought behind this PR was mainly to get rid of much of the duplicate code in src/CMakeLists.txt and tests/CMakeLists.txt

I'll combine this with a tests compile cleanup and an additional test later.


feat(window): adds skip_taskbar for windows

Trivial to add into the current way PlatformSpecific is implemented.
It would allow me to write a task tray app for windows.

My pleasure, and thank you too.


revisit uses cases for "add link"

@sdebodt to discuss with stakeholders.

Will be taken up again when the need arises, will use this in archive.


Delete Demo interfaces

Whats added:

Removing unnecessary interfaces:
-- DemoAdditionalParams.kt
-- DemoRequest.kt
-- DemoResult.k

First path issue #1762

@sanyavertolet why do we remove these interfaces?

@sanyavertolet why do we remove these interfaces?

As we want to support a configurable demo, we are not going to implement those interfaces. We are going to use one unified data class instead of each interface.


BPCJ-5 As a developer, I want to be able to utilize the Enum data structure, so that I can develop cool domain features.

This has been implemented in the base.app.js


Recipe: custom type implements FromStr

Create a custom type that implements FromStr.  An example would be IPv4Address.  This could be an email address, splitting on the '@', or separating first,middle (optional), and last names (this is really hard internationally, but a contrived example might be helpful).

This isn't labelled "easy", but can I work on this?

You can.  It isn't all that hard actually.  I'm just not very good at labelling.

Oké, thank you Andy

Hi @AndyGauge,
Should I only do simple parsing, or can I also use parser library (not that complex)?
Thank you

Hi. I'd suggest to avoid introducing new crates to cookbook if the task can be done with pure std with comparable complexity.

I thought a lot about what to do. You mentioned IPv4, but I thought it was a too simple. So I tried to make an IPv6 parser, but I have no idea how to do this in a rust ideology.
With my vacation coming up, I will try to work a little harder on this.

@NiekGr
I'd suggest to avoid using IPv6 parsing as an example as it is surprisingly complex and correct implementation would take a lot of code completely irrelevant to the relatively trivial FromStr toppic.
Moreover, there is already an implementation in stdlib, IPv6 (and IPv4 for that matter) example could lead new rustaceans to believe that one has to implement such parser from scratch.

If we stick to the IPv4 route which would be both trivial and to the point, we would need to explicitly mark this example as a toy code not to be used in production
otherwise we could provide a parser from equally trivial topic like hex/web color specification subset

Honestly, the stdlib's example https://doc.rust-lang.org/std/str/trait.FromStr.html#examples is pretty good, I just wanted something in the cookbook to demonstrate some of std features that could help a wide audience (as not many people read std docs like a book).
+1 for converting a string of 6 hex characters into a Red Green and Blue struct.

@budzig @AndyGauge I really like the web colour parsing. And I have a much better idea how to do that. Thank you for the idea, I will work it out.
Have a good evening.

Since this issue seems to be vacant, I'd like to pick it up.
But I'm not sure where is should go in the new structure of the book. I'm thinking to insert it as

18 Text Processing / 18.2 String Parsing


Log info instead of warning when entrypoint is used

Not sure why but on 3.3.0 a warning is issued when using entrypoint instead of mainclass (and other java friends):
[WARNING] mainClass, extraClasspath, jvmFlags, and expandClasspathDependencies are ignored when entrypoint is specified

Is it possible to lower the level (idea being warning -> requires attention, error -> fails). Here it does not require any intention since it is an explicit user action so it is intentional.

Hi,
any news on this one? Would a PR help?

Hi @rmannibucau, feel free to contribute.

Here it is https://github.com/GoogleContainerTools/jib/pull/3904 :)


AppServiceManagementTag IP for Gov cloud are different in the published ip ranges json

I see the following IP tag in the published "Azure IP Ranges and Service Tags – US Government Cloud" - https://www.microsoft.com/en-us/download/confirmation.aspx?id=57063
{
"name": "AppServiceManagement",
"id": "AppServiceManagement",
"properties": {
"changeNumber": 1,
"region": "",
"platform": "Azure",
"systemService": "AzureAppServiceManagement",
"addressPrefixes": [
"<IP_ADDRESS>/26",
"<IP_ADDRESS>/26"
]
}
This is different than what the Management IPs mentioned in this page for Gov Cloud. Can you please confirm why this discrepancy and which one is the correct list?

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

ID: 80d8f411-2e7f-abc4-3e62-8b467e2409e7
Version Independent ID: b4737b1d-b963-2ee4-aed0-558c80f02704
Content: App Service Environment management addresses - Azure
Content Source: articles/app-service/environment/management-addresses.md
Service: app-service
GitHub Login: @ccompy
Microsoft Alias: ccompy

Hi @whihathac, thank you for the detailed question. We are currently investigating and will update you when we have accurate information to provide.

Hi @whihathac, this is the response from the product team "The app service management tag includes pre allocated address blocks that we have in each region for app service management purposes.  If we were to add another server to do management then the IP is already in the tag.The doc reflects the exact addresses being used. "
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Can the deep link provided by this plugin register just during installation?

I want to register the deep link operation during the installation, and I check the code of the plugin and find out that it registers the deep link operation during runtime, which means  I have to run my app at least once before using the deep link, so here comes the question.

Hi there,
This plugin is only doing one half of the full "deep linking" workflow. What you're asking for can definitely be done at install time, using a wix template like the one someone put together here. That template is what allows a custom URI scheme like "my-app://launch" to actually launch your application on windows.
What this plugin does is the second half of the problem, which is what happens AFTER you launch "my-app://launch"? This plugin allows new instances of your application to talk to existing instances, which is needed for OAuth 2.0 flows where there is a handshake between your app, another app, and back to your app.
So if your use case does not require communicating between different instances of your app, and just requires custom URI schemes to launch the app, that's totally doable without this plugin.

What this plugin does is the second half of the problem, which is what happens AFTER you launch "my-app://launch"?

The plugin indeed does both parts (registering the schemes and handling the events). but as huangjj27 said, it registers the uri schemes only at runtime. This is by design for 3 reasons:

There is no installation step where you could register the schemes on Linux and macos and i wanted to keep it as similar as possible.
Registering it at runtime makes it usable in portable executables (until the user moves the executable of course)
The most important part: I can't change the wix config/template or add fragments from within the plugin, though i did have plans to add a copy-pastable solution for this but never got around doing it.

@madaster97, @FabianLars, thanks both of you!

What you're asking for can definitely be done at install time, using a wix template like the one someone put together https://github.com/tauri-apps/tauri/issues/323#issuecomment-920928947.

Indeed, I'm using the solution above and fixing the multi-window issue with tauri-plugin-single-instance. However, by applying these solutions, I have to provide a command to make the parsing available for the frontend, while I just want to keep the parsing work only available in the backend, as the parsing is done at the setup once. Therefore, I came here to find out another solution, but it seems not to meet my requirements.


Version 535: All text on whole page flickering rapidly

Since updating to 535 developer build almost every time I visit youtube the text on the whole page is flickering on/off 2 or 3 times per second. That's button labels, comments titles.. everything.
From time to time it stops flickering.
I've tried HTML5 and Flash player still the same issue.
It's basically unusable now. What can I do to stop it?

I met same problem with you too. How to stop it

What browser are you using?

Sorry I forgot to say:
Firefox 42.0. I'm on Linux (64 bit OS)
Anything else I should mention?

No, thank you. I will try to look at why this issue occurs. Hopefully, the latest update have reduced the problem.

“Flash mode” will apear this problem, but "html5 mode" is OK. I'm using firefox 42.0 on windows 7 32bit


Fixed prefix randomization

-The loop was incorrectly using 'l' instead of 'i'.
-Added test that ensure that prefix is correctly set.
Resolves issue #3 (https://github.com/nats-io/nuid/issues/3)

Without the fix, the new test would produce something like:
=== RUN   TestProperPrefix
--- FAIL: TestProperPrefix (0.00s)
	nuid_test.go:54: Iter 27. Valid range for bytes prefix: [48..90]
		Incorrect prefix at pos 0: [0 50 51 77 75 88 48 81 75 87 82 81] (23MKX0QKWRQ)

Notice the 0 at the first position in the pre array.