Draw trajectory

Hello. Thanks for your code.
How ca i possibly draw trajectory after? Do you have any code for that? It will be much of the help for me.
python geonet_main.py --mode=test_pose --dataset_dir=/path/to/kitti/odom/dataset/ --init_ckpt_file=/path/to/trained/model/ --batch_size=1 --seq_length=5 --pose_test_seq=9 --output_dir=/path/to/save/predictions/
THanks in advance.

Wrote drawer myself. If anyone needs it, here. THough it should be mentioned, that in my case i've inferenced model with seq_length 5 and it saved tons of files in the eval folder. If you somehow test this model other way, you'll probably need to change the code.
import os
import numpy as np
import matplotlib.pyplot as plt
path_to_poses = "/home/daddywesker/TestingNeuralSlam/GeoNet/sber_eval/Pose/"

plt.switch_backend('agg')
def get_matrix_from_quat(quat):
    """Create a 4x4 homography matrix that represents the rotation
    of the quaternion.
    """
    #quat - x, y, z, qx, qy, qz, qw

    # Init matrix (remember, a matrix, not an array)
    a = np.zeros((4, 4), dtype=np.float32)
    quat = [float(x) for x in quat]
    x, y, z, qx, qy, qz, qw = quat
    # First row
    a[0, 0] = - 2.0 * (qy * qy + qz * qz) + 1.0
    a[1, 0] = + 2.0 * (qx * qy + qz * qw)
    a[2, 0] = + 2.0 * (qx * qz - qy * qw)
    a[3, 0] = 0.0
    # Second row
    a[0, 1] = + 2.0 * (qx * qy - qz * qw)
    a[1, 1] = - 2.0 * (qx * qx + qz * qz) + 1.0
    a[2, 1] = + 2.0 * (qz * qy + qx * qw)
    a[3, 1] = 0.0
    # Third row
    a[0, 2] = + 2.0 * (qx * qz + qy * qw)
    a[1, 2] = + 2.0 * (qy * qz - qx * qw)
    a[2, 2] = - 2.0 * (qx * qx + qy * qy) + 1.0
    a[3, 2] = 0.0
    # Fourth row
    a[0, 3] = x
    a[1, 3] = y
    a[2, 3] = z
    a[3, 3] = 1.0
    return a

res = sorted(os.listdir(path_to_poses))
opened = open(path_to_poses + res[0])
pose0 = opened.readline()
H0 = get_matrix_from_quat(pose0.split("\n")[0].split(" ")[1:])
traj = []
traj.append(np.asarray([H0[0, 3], H0[1, 3]]))
for i in range (4, len(res), 4):
    opened = open(path_to_poses + res[i])
    pose = opened.readlines()[-1]
    HLast = get_matrix_from_quat(pose.split("\n")[0].split(" ")[1:])
    H0 = np.matmul(H0, HLast)
    traj.append(np.asarray([H0[0, 3], H0[1, 3]]))

traj = np.asarray(traj)
plt.scatter(traj[:, 0], traj[:, 1])
plt.savefig('sber_eval.jpg')


perf: optimize insert perfomance

We used to run sysbench on 3 8C16G CN:
dashboard: http://metabase.risingwave-cloud.xyz/dashboard/278-sysbench-3cn-rw-qps
example: https://buildkite.com/risingwave-test/sysbench/builds/698#018e061f-1719-4907-9c2c-15bddb895327
But lately we have been running sysbench on 1 8C16G CN:
dashboard: http://metabase.risingwave-cloud.xyz/dashboard/1133-sysbench-1cn-rw-qps
example: https://buildkite.com/risingwave-test/sysbench/builds/746#018ee38f-d9de-4f54-b698-7e7518a4a829
In Sysbench, we have two insert benchmarks:

OLTP-insert, which is included in the vanilla sysbench: https://github.com/risingwavelabs/sysbench/blob/master/src/lua/oltp_insert.lua
Bulk-insert, which is added by us: https://github.com/risingwavelabs/sysbench/blob/master/src/lua/bulk_insert.lua

There are feedback from users that the insert performance is not desirable. We want to improve it.
One observation is that 3CN(128 sysbench threads) vs 1CN(128 sysbench threads) vs 1CN (256 sysbench threads) do not differ from each other too much.
Some other common observations:

The frontend is CPU-intensive, i.e. 600+%, but not utilizing all 8 CPUs.
The CPU utilization of compute node is low.

We enabled CPU profiling by default. The CPU flamegraph is generated and uploaded in buildkite pipelines, e.g. https://buildkite.com/risingwave-test/sysbench/builds/746#018ee38f-d9de-4f54-b698-7e7518a4a829 under artifacts tab.

https://buildkite.com/risingwave-test/sysbench/builds/746#018ee38f-d9de-4f54-b698-7e7518a4a829
For example:
##Bulk Insert

OLTP Insert
Grafana: https://grafana.test.risingwave-cloud.xyz/d/EpkBw5W4k/risingwave-dev-dashboard?orgId=1&var-datasource=Prometheus: test-useast1-eks-a&from=1713217013000&to=1713217444000&var-namespace=sysbench-daily-test-20240415
CN:

FN:

One example: https://buildkite.com/risingwave-test/sysbench/builds/755#018ef126-d6ee-41e0-a309-606a9c89119d
CN and FN FlameGraph under the artifacts tab.
oltp-insert workload. no checks in MV executor (disabled index):
https://github.com/risingwavelabs/sysbench/blob/master/src/lua/oltp_insert.lua#L50-L61
Grafana: https://grafana.test.risingwave-cloud.xyz/d/EpkBw5W4k/risingwave-dev-dashboard?orgId=1&var-datasource=Prometheus: test-useast1-eks-a&from=1713443508000&to=1713443906000&var-namespace=sysbench-lmatz-test
Frontend is using close to 7CPUs out of 8CPUs in total.
Frontend CPU usage is much higher than Compute CPU usage.
Probably we optimize the CPU usage of Frontend.

Considering that the insert statement is the same, I suppose FN does not need to spend so much time on gen_batch_plan_by_statement? Need something like a plan cache? cc: @chenzl25

Theoretically, yes. Plan cache can improve the performance in this scenario, but it has some shortcomings as well, i.e. it needs to normalize the SQL and parameterize it which would introduce an additional overhead, furthermore, from the optimizer view, during optimization we can't see the actual parameter anymore which would introduce a huge refactoring to RisingWave. With a plan cache, people might introduce a new optimization without considering how it will affect the optimization time anymore, so I think we'd better do not introduce plan cache.


map not working

Hi, I'm new with keyd, and I'm using a Satechi keyboard, a very good Apple like keyboard, including the behavior of the f1, f2, f3 keys...
for example, by default the F1 key represents Brightnessdown and to access f1 I need to press fn+f1
default output of 'sudo keyd monitor' for f1 is brightnessdown
the default output of 'sudo keyd monitor' for fn+f1 is f1
So I created this default.conf:
[ids]
*

[main]

brightnessdown = f1

But it's not working, I'm doing anything wrong?
ps.: this test works: a=b
sudo keyd monitor
device added: 0fac:1ade keyd virtual pointer (/dev/input/event20)
device added: 0fac:0ade keyd virtual keyboard (/dev/input/event19)
device added: 1c4f:0043 Satechi ST-UCSW3M Consumer Control (/dev/input/event4)
device added: 1c4f:0043 Satechi ST-UCSW3M (/dev/input/event3)
device added: 30fa:0400 USB OPTICAL MOUSE  (/dev/input/event2)
keyd virtual keyboard	0fac:0ade	enter up
Satechi ST-UCSW3M Consumer Control	1c4f:0043	brightnessdown down
Satechi ST-UCSW3M Consumer Control	1c4f:0043	brightnessdown up
keyd virtual keyboard	0fac:0ade	f1 down
keyd virtual keyboard	0fac:0ade	f1 up
keyd virtual keyboard	0fac:0ade	leftcontrol down

This is a bit off the direct issue, but what about Fn + Esc?

https://support.satechi.com/hc/en-us/articles/360059139252-Quick-Guide-and-Instructional-Manual-
Even if that works, do you have to do it every time after OS startup?

fn+esc doesn't work after reboot, so I thought about remapping the keys and keyd seemed like the best option, but then I ran into this problem

Following #601, can you explicitly put the device ID in your config? ie:
[ids]
1c4f:0043

[main]
brightnessdown = f1

Closing due to inactivity.


Weights file does not exit [yolov3_1_cls_final.weights]

Hi,
can you please share your weights file to test???
thanks

Hi guys,
where the file yolov3_1_cls_final.weights we can not find it ?, can you upload it as soon as possible ?!
Thanks in advance,
Muhammed


Make azure_service_bus asyncio compatible

@Alex-Izquierdo @hsong-rh @ttuffin please review again. I have run actual test again azure and added unit test too.


Jenkins

Configuring Jenkins on the API server. Please don't try pulling changes to the server until I'm done!

Building works as of now, but autobuilding doesn't.

Autobuilding works now, documented in the wiki. Leaving this open in case anyone runs into issues.

Jenkins now autobuilds to the webclient server as well. No problems!


version control on GitHub

It would be great to see the actual version of the Zakadabar-stack on GitHub.

Done.


Add CI for Windows

Use AppVeyor to run CI on Windows.

Configured AppVeyor to build the library with Visual Studio 2019, tests aren't run however. Need to look into that later.


Confusing error when path is omitted from a json filter

Bug description
When the path field is omitted from a json filter the following error is returned:
Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("42883"), message: "operator does not exist: jsonb ~~ unknown", detail: None, hint: Some("No operator matches the given name and argument types. You might need to add explicit type casts."), position: Some(Original(116)), where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("parse_oper.c"), line: Some(722), routine: Some("op_error") }) }) })

How to reproduce

Start the Query Engine with the datamodel provided below and execute the given GraphQL query.
Expected behavior
I would've expected an error message similar to the one provided when a field is missing from a createOne mutation, e.g.
Failed to validate the query: `Unable to match input value to any allowed input type for the field. Parse errors: [Query parsing/validation error at `Mutation.createOnePost.data.PostCreateInput.title`: A value is required but not set., Query parsing/validation error at `Mutation.createOnePost.data.PostUncheckedCreateInput.title`: A value is required but not set.]` at `Mutation.createOnePost.data`

Prisma information
datasource db {
  provider = "postgres"
  url      = env("DATABASE_URL")
}

generator db {
  provider             = "prisma-client-py"
  interface            = "asyncio"
  recursive_type_depth = -1
  previewFeatures      = ["filterJson"]
}

model Types {
  id       String @id @default(cuid())
  json_obj Json?  @default("{}")
}

GraphQL query:
query {
  result: findFirstTypes
  (
    where: {
      json_obj: {
        string_contains: "Rott"
      }
    }
  )
  {
    id
    json_obj
  }
}

Environment & setup

OS:  Mac OS
Database:  PostgreSQL
Node.js version:  N/A

Prisma Version
prisma                : 3.4.0
@prisma/client        : Not found
Current platform      : darwin
Query Engine (Binary) : query-engine cc47a92cdfc3d0b9210fd4c86f33946a11e4636a (at ../../../../../var/folders/ql/0v8h20s972s6zz4t_3qc49bc0000gp/T/prisma/binaries/engines/cc47a92cdfc3d0b9210fd4c86f33946a11e4636a/prisma-query-engine-darwin, resolved by PRISMA_QUERY_ENGINE_BINARY)
Migration Engine      : migration-engine-cli cc47a92cdfc3d0b9210fd4c86f33946a11e4636a (at ../../../../../var/folders/ql/0v8h20s972s6zz4t_3qc49bc0000gp/T/prisma/binaries/engines/cc47a92cdfc3d0b9210fd4c86f33946a11e4636a/prisma-migration-engine-darwin, resolved by PRISMA_MIGRATION_ENGINE_BINARY)
Introspection Engine  : introspection-core cc47a92cdfc3d0b9210fd4c86f33946a11e4636a (at ../../../../../var/folders/ql/0v8h20s972s6zz4t_3qc49bc0000gp/T/prisma/binaries/engines/cc47a92cdfc3d0b9210fd4c86f33946a11e4636a/prisma-introspection-engine-darwin, resolved by PRISMA_INTROSPECTION_ENGINE_BINARY)
Format Binary         : prisma-fmt cc47a92cdfc3d0b9210fd4c86f33946a11e4636a (at ../../../../../var/folders/ql/0v8h20s972s6zz4t_3qc49bc0000gp/T/prisma/binaries/engines/cc47a92cdfc3d0b9210fd4c86f33946a11e4636a/prisma-prisma-fmt-darwin, resolved by PRISMA_FMT_BINARY)
Default Engines Hash  : 1c9fdaa9e2319b814822d6dbfd0a69e1fcc13a85
Studio                : 0.438.0

Does this problem also affect Prisma Client JS when you write an equivalent Prisma Client Query there?

Yes it does, on 3.4.0
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["filterJson"]
}

datasource client {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model Post {
  id         String   @id @default(cuid())
  meta       Json     @default("{}")
}

import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();

async function main() {
  await prisma.post.findFirst({
    where: {
      meta: {
        string_contains: "foo",
      },
    },
  });
}

main()
  .catch((e) => {
    throw e;
  })
  .finally(async () => {
    await prisma.$disconnect();
  });

/prisma-ts-starter/node_modules/@prisma/client/runtime/index.js:38870
        throw new PrismaClientUnknownRequestError(message, this.client._clientVersion);
              ^
Error:
Invalid `prisma.post.findFirst()` invocation:

  Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("42883"), message: "operator does not exist: jsonb ~~ unknown", detail: None, hint: Some("No operator matches the given name and argument types. You might need to add explicit type casts."), position: Some(Original(104)), where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("parse_oper.c"), line: Some(722), routine: Some("op_error") }) }) })
    at Object.request (/prisma-ts-starter/node_modules/@prisma/client/runtime/index.js:38870:15)

This is already fixed in 4.0

Can you confirm @RobertCraigie?

@janpio Yes the error is no longer shown when I run the script that I shared earlier on v4.2.1.
The script now just silently returns nothing, I'm not sure what the correct behaviour here is but I would've thought that omitting the path from the query would throw an error as AFAIK the filter cannot match anything when there is no path, but I could be wrong about that assumption.
Thanks for fixing this @cprieto!

Let's reopen this issue to tackle this last question:

The script now just silently returns nothing, I'm not sure what the correct behaviour here is but I would've thought that omitting the path from the query would throw an error as AFAIK the filter cannot match anything when there is no path, but I could be wrong about that assumption.

The issue of no data and no error does exist in 4.3.1. Reproduction:
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model Post {
  id         String   @id @default(cuid())
  meta       Json     @default("{}")
}

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient({
  log: ['query', 'info', 'warn', 'error'],
})

async function main() {
  await prisma.post.deleteMany()

  await prisma.post.create({
    data: {
      meta: {
        field: "foobar",
      }
    }
  })

  const data = await prisma.post.findMany({
    where: {
      meta: {
        //path: ["field"], <- uncomment this to make it work
        string_contains: "foo",
      }
    }
  })

  console.log(data)
}

main()
  .then(async () => {
    await prisma.$disconnect()
  })
  .catch(async (e) => {
    console.error(e)
    await prisma.$disconnect()
    process.exit(1)
  })

Debug logs:
  prisma:tryLoadEnv  Environment variables loaded from /prisma-10103/.env +0ms
  prisma:tryLoadEnv  Environment variables loaded from /prisma-10103/.env +2ms
  prisma:client  dirname /prisma-10103/node_modules/.prisma/client +0ms
  prisma:client  relativePath ../../../prisma +0ms
  prisma:client  cwd /prisma-10103/prisma +0ms
  prisma:client  clientVersion 4.3.1 +0ms
  prisma:client  clientEngineType library +0ms
  prisma:client:libraryEngine  internalSetup +0ms
  prisma:client:libraryEngine:loader  Searching for Query Engine Library in /prisma-10103/node_modules/.prisma/client +0ms
  prisma:client:libraryEngine:loader  loadEngine using /prisma-10103/node_modules/.prisma/client/libquery_engine-debian-openssl-1.1.x.so.node +0ms
  prisma:client  Prisma Client call: +45ms
  prisma:client  prisma.post.deleteMany(undefined) +1ms
  prisma:client  Generated request: +0ms
  prisma:client  mutation {
  deleteManyPost {
    count
  }
}
 +0ms
  prisma:client:libraryEngine  sending request, this.libraryStarted: false +45ms
  prisma:client:libraryEngine  library starting +0ms
prisma:info Starting a postgresql pool with 33 connections.
  prisma:client:libraryEngine  library started +17ms
prisma:query BEGIN
prisma:query SELECT "public"."Post"."id" FROM "public"."Post" WHERE 1=1 OFFSET $1 /* traceparent=00-00-00-00 */
prisma:query SELECT "public"."Post"."id" FROM "public"."Post" WHERE 1=1 /* traceparent=00-00-00-00 */
prisma:query DELETE FROM "public"."Post" WHERE "public"."Post"."id" IN ($1) /* traceparent=00-00-00-00 */
prisma:query COMMIT
  prisma:client  Prisma Client call: +31ms
  prisma:client  prisma.post.create({
  data: {
    meta: {
      field: 'foobar'
    }
  }
}) +0ms
  prisma:client  Generated request: +0ms
  prisma:client  mutation {
  createOnePost(data: {
    meta: "{\"field\":\"foobar\"}"
  }) {
    id
    meta
  }
}
 +0ms
  prisma:client:libraryEngine  sending request, this.libraryStarted: true +15ms
prisma:query BEGIN
prisma:query INSERT INTO "public"."Post" ("id","meta") VALUES ($1,$2) RETURNING "public"."Post"."id" /* traceparent=00-00-00-00 */
prisma:query SELECT "public"."Post"."id", "public"."Post"."meta" FROM "public"."Post" WHERE "public"."Post"."id" = $1 LIMIT $2 OFFSET $3 /* traceparent=00-00-00-00 */
prisma:query COMMIT
  prisma:client  Prisma Client call: +4ms
  prisma:client  prisma.post.findMany({
  where: {
    meta: {
      string_contains: 'foo'
    }
  }
}) +1ms
  prisma:client  Generated request: +0ms
  prisma:client  query {
  findManyPost(where: {
    meta: {
      string_contains: "foo"
    }
  }) {
    id
    meta
  }
}
 +0ms
  prisma:client:libraryEngine  sending request, this.libraryStarted: true +4ms
prisma:query SELECT "public"."Post"."id", "public"."Post"."meta" FROM "public"."Post" WHERE ("public"."Post"."meta"::text LIKE $1 AND JSONB_TYPEOF("public"."Post"."meta") = $2) OFFSET $3 /* traceparent=00-00-00-00 */
[]
  prisma:client:libraryEngine  library stopping +6ms
  prisma:client:libraryEngine  library stopped +0ms
  prisma:client:libraryEngine:exitHooks  exit event received: beforeExit +0ms
  prisma:client:libraryEngine:exitHooks  exit event received: exit +0ms

The script now just silently returns nothing, I'm not sure what the correct behaviour here is but I would've thought that omitting the path from the query would throw an error as AFAIK the filter cannot match anything when there is no path, but I could be wrong about that assumption.

So, json values can be anything JSON valid. This includes raw strings. If a ´path´ was always required, we wouldn't be able to match strings at the root of the JSON blob. Check the following example:
import { PrismaClient } from '.prisma/client'

const prisma = new PrismaClient({
  log: ['query', 'info', 'warn'],
});

async function main() {

  await prisma.post.create({
    data: {
      meta: "Hello, world",
    }
  });

  const foo = await prisma.post.findFirst({
    where: {
      meta: {
        string_contains: "el",
      },
    },
  });
  console.log(foo);
}

main()
  .catch((e) => {
    throw e;
  })
  .finally(async () => {
    await prisma.$disconnect();
  });

prisma:query BEGIN
prisma:query INSERT INTO "public"."Post" ("id","meta") VALUES ($1,$2) RETURNING "public"."Post"."id"
prisma:query SELECT "public"."Post"."id", "public"."Post"."meta" FROM "public"."Post" WHERE "public"."Post"."id" = $1 LIMIT $2 OFFSET $3
prisma:query COMMIT
prisma:query SELECT "public"."Post"."id", "public"."Post"."meta" FROM "public"."Post" WHERE ("public"."Post"."meta"::text LIKE $1 AND JSONB_TYPEOF("public"."Post"."meta") = $2) LIMIT $3 OFFSET $4
{ id: 'clagtie2b0000rbjyh5z96a7v', meta: 'hello world' }

For that reason I'm hesitant to consider this a bug, and unless there's any objection, the existing behavior is correct, and the query should return null when the intent of the user is look into the JSON structure, but no field is provided in the query.

Closing from the moment. Will reopen if need be.


Connectiontype over missing line/area elements

Task:
We need a new channel parameter: connectiontype
If the user filters from the data series on the X-axis (parallel to the line or area), then:
1.) connect on - we connect the lines and the area.
2.) connect off - we "cut" the lines and the area, they are not connected, and they end at the height of the remaining values that were not filtered out.
So I am very much sure my data does not end with low values right now.
But every day, the graph still ends as it seems to require finishing down its drawing to zero.

It is possible that's within Vizzu's engine that it drops to low values near the end like that?
Expected

last days of data should reflect actual data

Actual

drops to zero every day

Thanks

No, it should not go down to zero on its own:
https://jsfiddle.net/VizzuHQ/dk7b86vc/76/
Do you filter out values by date? I seems like the last values on the x axis are filtered out.

I managed to reproduce the problem by filtering out the last value on the X-axis:
https://jsfiddle.net/VizzuHQ/dk7b86vc/81/

No I am not filtering recent data.  And numbers are up for every "categories" right now.
I tried to replace the 'max' x value by being explicit. That's all.
Thanks for your example. I will check when I get home. but I don't know what I could be doing differently.
Could be directly related to my other issue that have a blank value.
I can try to reproduce with a smaller dataset

I updated your example to be more similar with my code but still cannot reproduce
https://jsfiddle.net/h5s3gfk6/1/

There, I could reproduce both this bug and #65
https://jsfiddle.net/h5s3gfk6/2/
Apparently both are related.
Occurs when there are more series in the data.

confirmed, if I remove the other series from the data, I don't have that problem...

but I can't use animate to switch data as easily as setting x/y sets like I am doing...
I tried making this change.
initial chart loads but animate to switch data won't work..

Ideally, Vizzu should only take the sets specified into consideration when drawing the chart.
      config: {
        channels: {
          x: { set: ['Date'+x] },
          y: { set: ['City'+x, 'Cases'+x] },
          color: { set: ['City'+x] }
        }

And ignore other series from the data.
Thanks

simplest way to reproduce
import Vizzu from<EMAIL_ADDRESS>
let data = {
  series: [
    { name: 'Sports', type: 'dimension', values: [
    	'Basket', 'Volley', 'Tennis', 'Basket', 'Volley', 'Tennis',
      'Basket', 'Volley', 'Tennis', 'Basket', 'Volley', 'Tennis',
      'Basket', 'Volley', 'Tennis', 'Basket', 'Volley', 'Tennis'] },
    { name: 'Friends', type: 'dimension', values: [
    	'Alice', 'Alice', 'Alice', 'Bob', 'Bob', 'Bob',
      'Mary', 'Mary', 'Mary', 'Maurice', 'Maurice', 'Maurice',
      'Jessica', 'Jessica', 'Jessica', 'Ted', 'Ted', 'Ted'] },
    { name: 'Scores', type: 'measure', values: [
      15, 32, 120, 45, 34, 87,
      32, 66, 69, 100, 200, 300,
      30, 60, 70, 60, 70, 120
    ] },
    { name: 'Unrelated', values: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
  ]
};

let chart = new Vizzu("myVizzu", { data });

chart.animate({
  channels: {
    x: { set: ['Friends'] },
    y: { set: ['Sports', 'Scores'] },
    color: { set: ['Sports'] }
  },
  geometry: 'area'
});

https://jsfiddle.net/h5s3gfk6/3/

Until this is fixed, you could try to set the range of the X axis to range: { min: 0.5, max: '-1.5max' }
https://jsfiddle.net/VizzuHQ/krvnaf2q/5/

Also, thanks for the simplified code, it helps a lot!

I just realized that the 'Unrelated' data series is one value longer than the others. This'll cause Vizzu to append an empty value at the end of all the others. That is the cause of both the empty legend entry and the drop at the end.

I just realized that the 'Unrelated' data series is one value longer than the others. This'll cause Vizzu to append an empty value at the end of all the others. That is the cause of both the empty legend entry and the drop at the end.

That's exactly what I am thinking as well

the work around works !

Thanks to you
Vizzu is awesome

The latest major release (0.12.0) fixes this issue: No "unwanted" marker extends the line/area charts.


Using properties on route.data in the template do not server render

In a default generated app we attempt to use:

The {{this.routeData.page}} page

But that property doesn't server render. In the console you get a message:
index.stache:9: Unable to find key "this.routeData.page".

Fixed by https://github.com/donejs/autorender/pull/188


Add AnalysisCallback to coupled semidiscretization

Note: Do not merge main directly into this PR - always update #1452 first and then merge the sc/coupled-reduced branch in here!
In this PR we try to make the AnalysisCallback work with the coupled semidiscretization from #1452.

In general, the AnalysisCallbackCoupled logically seems to work, but at the moment the error calculation still has an issue (or the coupling is wrong 😬)
@SimonCan Can you maybe run the coupled simulation and check in ParaView if the results still make sense/look correct? And/or maybe check if my code here (or in the base version https://github.com/trixi-framework/Trixi.jl/pull/1452) has bugs?

src/callbacks_step/analysis.jl and src/auxiliary/special_elixirs.jl have a reduced code coverage on codecov.

Good catch! We need to add small tests for the convergence_test and for analysis_callback(sol)

analysis_callback(sol) for AnalysisCallbackCoupled ` still throws errors in the tests. At least on github. It runs through locally.

analysis_callback(sol) for AnalysisCallbackCoupled ` still throws errors in the tests. At least on github. It runs through locally.

I am afk. Can you find out what's wrong and then try to fix it?

This is somewhat odd. In test_structured_2d.jl the elixir_advection_basic_coupled.jl test returns the correct l2 and linf errors. Calling analysis_callback(sol) after that these errors change, which causes the test to fail. Should it not be the same for both?

With #1452 looking already quite good, it would be great to get a review on this one as well.

CI fails. Otherwise, this LGTM


Minor spec quibble to § 1.3.2

Love the proposal, but the following has been nagging me

An inout parameter is a parameter that the function body can read and write. At least one path must contain a non-const use of x (else the parameter should be in).

I think this should be relaxed to

At least one path must contain a non-const use except when the function is marked override

That is, given a virtual function where the caller of the base class that defines is "the callee may modify this", it should be possible to satisfy the interface without necessarily reading it. The parenthetical about how it should be 'in' is true only if the definition doesn't need to satisfy that other constraint.

Here's a contrived example:
`struct ModifyingIntegerObserver
{
virtual void valueDidChange(inout int x) = 0;
// Some day this will automatically happen
virtual ~ModifyingIntegerObserver() = default;

};
struct PrintObserver : public ModifyingIntegerObserver
{
virtual void valueDidChange(inout int x) override
{
printf("The value is now %d\n", x);
}
};
struct MakeEvenObserver : public ModifyingIntegerObserver
{
virtual void valueDidChange(inout int x) final
{
x += (x % 2);
}
};
int main(void)
{
vector<unique_ptr>> observers;
observers.push_back(make_unique());
observers.push_back(make_unqieu());
observers.push_back(make_unique());
int i = 1;
for(in auto observer : observers) {
    observer.valueDidChange(i);
}

return 0;

}`

I note that this line from the paper suggests the writing should be optional
auto f( inout X x) { } // present me an X I can read and write (page 5)
Page 6 contains a description of inout which appears to agree with yours
If the function is nonvirtual, at least one path must contain a non-const use of x (otherwise, the parameter should be in)
I suspect what you're requesting was the intention (or perhaps the result of an earlier edit which missed that definition). Seems like the definition you quote from page 12 should be updated to match the one on page 6 and possibly the comment on page 5 should be corrected.

Exactly, the rule is intended for nonvirtual functions. Page 6 has it right, "If the function is nonvirtual...". I've now added that to 1.3.2 (page 12) as well, and it'll be there next time I push an update. Thanks!
I'll also add a rationale Note like the following in the paper:
A nonvirtual function's implementation is local and static -- it's a single function body, so we can see the entire implementation with only local static analysis, including statically seeing all the uses of a parameter, and can apply a static rule.
A virtual function's implementation is conceptually dynamic -- it's the union of all the function bodies in the base and derived classes, including future ones in derived classes that haven't been written yet (for open, or non-final, hierarchies which is the default). That's inherently not visible to local static analysis (for humans or for language rules), including we can't statically see all the uses of a parameter, so we can't apply a static rule.
For virtual functions, inout declares the intent that the union of all the bodies of the function needs to be able to both read and write the parameter, but we can’t verify that statically.

Oh, also @shaneasd pointed out that the empty bodies in those sample functions can imply the wrong thing... I've taken a pass at adding /*...*/ in all those otherwise-empty { } illustrative bodies. Thanks, good catch!

oh that's actually not what I meant, though I agree. My point was the comment
// present me an X I can read and write
should probably say
// present me an X I can read and must write

Thanks. I can see that if you take just that line by itself, but it's presented (at least initially in 1.1) as a set of five lines that go together, the first two of which are key to this rule:
auto f(     in X x) { /*...*/ }	// present me an X I can read from
auto f(  inout X x) { /*...*/ }	// present me an X I can read and write
auto f(    out X x) { /*...*/ }	// present me an X I will assign to
auto f(   move X x) { /*...*/ }	// present me an X I will move from
auto f(forward X x) { /*...*/ }	// present me an X I will pass along

So in the context of seeing both of the first two choices as described above...
/*1*/ // present me an X I can read from
/*2*/ // present me an X I can read and write

... logically if you write 2 but don't actually write (which is the only difference from 1), then there's an inconsistency between the intent you declared for the parameter and what the body actually does with the parameter. An inout parameter that never has the out-ness used is a misdeclared in parameter (it tells the caller the wrong thing), and sometimes is less efficient (e.g., losing pass by value).
But this is a good point, thanks -- I didn't realize the wording could be confusing. I'll keep an eye out though to see if this is confusing to others, and see if I can think of a better phrasing. (If I do change the phrasing, I'd like to find something other than "must write" because I'm afraid that would imply a different wrong thing, namely that the function must write on all paths rather than just on some path... the other three options that already say "will" do mean it in that sense of "on all paths").
That said, one use case I'm watching for is whether people try to declare an inout parameter to future-proof their code even if the implementation doesn't currently ever write to it, intending to keep the door open to later making the body actually write to it without an ABI break. If that turns out to be a useful use case, then the you-didn't-write-to-it-on-any-path error maybe should be only a suppressible warning.

you're right. Technically I guess it should be // present me an X I can read and must write on at least one code path but that is quite a mouthful.
Personally I find the requirement to write to an inout parameter on at least one path unintuitive. Probably this is because I would do this in c++ currently as T& or in c# as ref T and neither require me to write to the parameter. This doesn't make this the right solution but it does bias my reading. Anything that is ambiguous and could be interpreted as agreeing with my assumptions I will probably unconsciously interpret as such.
Sadly I don't have a suggestion for concisely improving this.

Incidentally whatever conclusion you reach regarding requiring write on inout, it seems like the same argument would apply to requiring read. void x(inout int x){ x = 4; } looks equally suspicious as void x(inout int x){ std::cout << x; } to me. In both cases, the caller has been restricted by the callee and that restriction is not required but comes with expectations from the caller as to what the callee will do.


Updating Moist and FV3 for NH and GFDL-MP

@wmputman Do your new changes to the FV3 CMakeLists.txt change the hydrostatic results? If so, I can't see how we can pull this into develop without making the default of the whole model non-hydrostatic.
The two moist changes (if on a separate pull) look like they could be fairly safe as they seem to GFDL Moist only updates. But has anyone tested the effect of -DUSE_COND -DMOIST_CAPPA on hydrostatic runs?

I've dismissed the @tclune approval as I'm not sure the FV3 CMakeLists.txt change is safe. @wmputman does that change (-DUSE_COND -DMOIST_CAPPA) affect the model when run in hydrostatic mode?

These changes are not are for the hydrostatic core. They need to wait until we always run NH.


texlive: allow substitutes for texlive packages

Motivation for this change
The pre-combined schemes (texlive.combined.scheme-*) can be installed directly from the cache.
However, if you use texlive.combine to create a different output, the texlive packages will get rebuilt unless already present in the store.
To Reproduce

Remove all texlive packages from your store.
Run nix-shell -p 'texlive.combine { inherit (texlive) scheme-minimal; }': texlive packages will be built.
Run nix-shell -p texlive.combined.scheme-minimal: texlive packages will be fetched.

Clearly 2 and 3 should behave in the same way. My guess is that they diverged after #107204.
Since the packages are in the cache after all, we should drop allowedSubstitutes = false. Unless there is a good reason for it, in which case maybe #107204 should be reverted?
Cc @xeji @veprbl
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

I guess this branch was not intended to be used. We were supposed to be using the fixedHash single step unpack, but that currently requires sha512 hashes to be stripped. We stopped stripping those hashes for some reason. Probably to preserve the information to validate tarballs?
Perhaps we should instead change the condition
https://github.com/NixOS/nixpkgs/blob/576c0f0cf2b44b5f83ec3c2031a37d86da7d3233/pkgs/tools/typesetting/tex/texlive/default.nix#L132
to fixedHash != null?


Suggesstion: Redditmod removes variables with wrong opnions

If a variable has a name that has wrong opinion, Redditmod will remove it.

Maybe instead of removing it, app throws an error

What defines a wrong opinion? should we add AI reddit API moderation to this to check for invalid opinions?!

maybe? that's a good idea


iio-sensor-proxy: 2.8 -> 3.0

Motivation for this change
Given that the source location changd, @r-ryantm is probably unable to follow through ti the right location.
Hopefully changing it once will allow @r-ryantm to continue looking at the new location!
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

cc @t184256

Result of nixpkgs-review pr 125989 at 5a84fc1c run on x86_64-linux 1

1 package built successfully:

iio-sensor-proxy

2 suggestions:

warning: build-tools-in-build-inputs
gtk-doc is a build tool so it likely goes to nativeBuildInputs, not buildInputs.
Near pkgs/os-specific/linux/iio-sensor-proxy/default.nix:26:3:
   |
26 |   buildInputs = [
   |   ^

warning: unclear-gpl
gpl3 is a deprecated license, please check if project uses gpl3Plus or gpl3Only and change meta.license accordingly.
Near pkgs/os-specific/linux/iio-sensor-proxy/default.nix:47:5:
   |
47 |     license = licenses.gpl3 ;
   |     ^


Update README.md

Desription -> Description

Can you also change "Describe" in the table header to "Description" please? @eltociear

Thank you very much!


write tutorial on using spacy projects training  after prepare_for_training for

Is your feature request related to a problem? Please describe.
It is a bit unclear to some users how to actually train a model from prepare_for_training
Describe the solution you'd like
2 tutorials

token classification
text classification

Describe alternatives you've considered
N.A.
Additional context
N.A.

use https://github.com/argilla-io/argilla/issues/2122

@dvsrepo


Redission 3.11.2 OutofMemoryError

When I was using redission 3.11.2, a connection Redis exception occurred, causing the Java heap to overflow. When I restart the service, it's back to normal

Can you share a thread dump?

Only a few services had this problem, but the problem disappeared after the restart

Can you share very first exception?

Can you check if Redis failover has happened during that moment?

redis is fine, but Redission uses the default configuration

Not sure why it causes heap overflow? How can I solve this problem

Redis is always normal, but it is not clear why this problem is caused, restart can solve, and how to reproduce this problem

https://github.com/redisson/redisson/wiki/16.-FAQ#q-what-is-the-cause-of-redistimeoutexception

Why is it okay if I restart the service? Why does the connection fail and cause OutOfMessoryError?

I need a memory dump to learn the reason

Did you read this https://github.com/redisson/redisson/wiki/16.-FAQ#q-what-is-the-cause-of-redistimeoutexception?

I tried using the top-HP, jstack command to see the corresponding information, found that VMThread takes the most resources, Java dump file 2GB, too large for me to provide, I will provide some jvisualVm analysis results later

I tried using the top-HP, jstack command to see the corresponding information, found that VMThread takes the most resources, Java dump file 2GB, too large for me to provide, I will provide some jvisualVm analysis results later

Can you share your Redisson configuration?

I just introduced Redisssion dependencies and redis configuration, no additional redission configuration
spring:
   redis:
      cluster:
          nodes: XXXX

The problem is in FST default codec which allocates FastThreadLocal incorrectly. You need to change it to Kryo5Codec or JsonJacksonCodec.

I try using the way you provided, I tried to make the following modifications, but I don't know how to repeat this problem to verify whether the problem is solved
@Bean
    public RedissonClient redissonClient() {
        Config conf = new Config();
        Codec codec = new JsonJacksonCodec();
        conf.setCodec(codec);
        return Redisson.create(conf);
    }

Found it https://github.com/redisson/redisson/issues/2309. Fixed in 3.11.4 version

Thank you for your answer. I found in the following issue that there may be a problem with version 3.11.4. Do you need to replace it with another version?
https://github.com/redisson/redisson/issues/2362

That issue fixed in 3.12.2 version.

Can I also use Redission version 3.18.0? and Redission Config
@Slf4j
@Configuration
public class RedissonConfiguration {

    @Resource
    private RedisProperties redisProperties;

    @Bean
    public RedissonClient redissonClient() {
        Config config = new Config();
        if (redisProperties.getCluster() != null) {
            //集群模式配置
            List<String> nodes = redisProperties.getCluster().getNodes();
            List<String> clusterNodes = new ArrayList<>();
            for (String node : nodes) {
                clusterNodes.add("redis://" + node);
            }
            ClusterServersConfig clusterServersConfig = config.useClusterServers()
                    .setTimeout(30000)
                    .setRetryInterval(15000)
                    .addNodeAddress(clusterNodes.toArray(new String[clusterNodes.size()]));

            if (!StringUtils.isEmpty(redisProperties.getPassword())) {
                clusterServersConfig.setPassword(redisProperties.getPassword());
            }
        } else {
            //单节点配置
            String address = "redis://" + redisProperties.getHost() + ":" + redisProperties.getPort();
            SingleServerConfig serverConfig = config.useSingleServer();
            serverConfig.setAddress(address);
            if (!StringUtils.isEmpty(redisProperties.getPassword())) {
                serverConfig.setPassword(redisProperties.getPassword());
            }
            serverConfig.setDatabase(redisProperties.getDatabase());
        }
        config.setLockWatchdogTimeout(15000);
        return Redisson.create(config);
    }
}

shure, you can


Re-importing Collada deforms the mesh

Godot version:
3.2 alpha 1
OS/device including version:
Windows 10
Issue description:
Reimporting .dae breaks existing scene (deforms mesh), even though the file stays the same. Everything is ok in 3.1, breaks in 3.2
Steps to reproduce:
I exported a mesh from blender using better collada (Blender 2.8), I import it in godot, open it, everything works perfect. I choose a new inherited scene, save it as .tscn, click "reimport" on the .dae, close the .tscn scene, it asks me whether I want to save - probably due to the reimport, save or don't - the result is the same. Close godot, open it (I think you can also just close and open the scene again, without restarting godot), open the .tscn scene and you get this beauty (it's supposed to be human):

Tried it in 3.1 and it works, so the problem is just in 3.2 alpha.
Minimal reproduction project:
Try it on the unit_2.dae in this project.
sample_project_reimport_bug.zip

I can reproduce it on Linux in the current master branch (3ca1296b8). Note that one should follow the steps to reproduce closely, simply reimporting the .dae is not enough to trigger the issue, one should also have an inherited scene open and save/close it.

This is caching issue. Importer gets instanced/duplicated object from cache instead of what it normally should get. Which is already maimed/modified by importing so mess happens (actually lots of kinds of mess happen) and this object does not relate to file on disk you import, so what kind of mess you get varies. Some people do not care about that at all.
ESCN and dae import are in the same boat (I think all importers are, but it is just not noticed).
You don't need to have inherited scene, any referene in project or just opening/closing is enough, just letting Godot know of object is enough whatever way that is. For clean session you need any resource reference in any of your tscn or tres files. This way the reimport will break immediately without any manipulation.
The only workaround is removal of .import directory for reimport to succeed (Godot exiting is highly recommended but sometimes not required if you're very agile with alt-tabbing or doing that from terminal then alt-tab to Godot, but did not work for me sometimes). This might work as solution as long as somebody gets interested enough to fix this bug if at all.

Gonna add to this, as this bug has been tripping me up for the last few days.
If you import a glb file, Godot will automatically unpack its materials into separate files. If you then import another glb file that references materials with those same names, even if you changed those materials in this second file you're importing, it will not re-unpack them over the originals, as you likely intend; it will simply load the existing ones.

@rhossack That is a separate issue, can you make one for materials not being rewritten. I believe it's part of some workflows that materials don't change import, while the geometry changes.

I bisected this as a regression of #32275, CC @reduz @marstaik.

I bisected this as a regression of #32275, CC @reduz @marstaik.

The first bad commit in the PR is d81ddaf33ecddab1c83bc964b0bee4328b7f7b06.

I am having this issue with FBX too but in my case initial mesh is wrong

Although this issue should be fixed, you may need to erase the broken Skin resource in the MeshInstance affected in scenes that inherit or instantiate the dae.


Inconsistent Decoding of Transaction Outputs in Post-Alonzo (Conway) Era

What Git revision are you using?
I'm using the latest commit as of the time of this issue: be31a7ce38a16bc3f3dad14b43535c58d4ef3f98
What operating system are you using, and which version?

[ ] Linux / Ubuntu
[ ] Linux / Other
[x] macOS
[ ] Windows

Describe what the problem is?
The current implementation of the uplc crate in the Aiken project seems to me use the PreBabbage era transaction decoding method for the outputs, which expects an array for a TransactionOutput.
However, in the Post-Alonzo (Conway) era, a transaction output is either a map (preferred) or an array.
This discrepancy is causing a decoding error when attempting to decode transaction outputs from the Post-Alonzo era using (an array/list of) map.
When trying to decode a Conway era CBOR transaction, the following error occurs:
unsupported era, please use Conway
Decoder error: unexpected type map at position 78: expected array

Note: This logic expects arrays, but Post-Alonzo transactions (including Conway) should use a map format for decoding UTXOs.

The example of a Conway era CBOR encoded transaction that triggers this error:
84aa0082825820666214b4886652876695f01a2dc20f75d90c9cae4d9e9cfd2a8b61b95c0c9d20038258200000000000000000000000000000000000000000000000000000000000000000020184a300581d703bcae3a853293f4343ce514dd1d6c3c3e53c4561ca84db8bcc5f699b011a0cfe6a80028201d818582bd8799f581cc8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee81b00000191dd2c2ae8ff82583900c8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee8f8ed3a0eea0ef835ffa7bbfcde55f7fe9d2cc5d55ea62cecb42bab3c821a00115cb0a1581c75c0c1c7643c07b42d89fdb1bf1c72594b650e1c03fc1d85eeae5437a1446164616d01a300581d70d4dc5145a60937eb4080545c64a39a48877e6a63f6ad3b4be946878001821a00151c56a1581c9c15e5d9d3a27077c32349ee644f3fa070d148bff17e25a4e8e37310a1416101028201d818584fd8799f01d87980446164616d413158206eceab8a03bbe884a91333138c9437c4b56068d9dd274a101006f58f5b9b907a581c75c0c1c7643c07b42d89fdb1bf1c72594b650e1c03fc1d85eeae5437ff82583900c8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee8f8ed3a0eea0ef835ffa7bbfcde55f7fe9d2cc5d55ea62cecb42bab3c1b0000091841557c3a021a000a5ab90319018f082009a1581c75c0c1c7643c07b42d89fdb1bf1c72594b650e1c03fc1d85eeae5437a1446164616d010b5820550801e6529e51f30c53214ab6ce9c576082f90dce8b677404d50a93bbe0fe340d818258200000000000000000000000000000000000000000000000000000000000000000021082583900c8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee8f8ed3a0eea0ef835ffa7bbfcde55f7fe9d2cc5d55ea62cecb42bab3c1b000009184e72a0001283825820666214b4886652876695f01a2dc20f75d90c9cae4d9e9cfd2a8b61b95c0c9d2000825820666214b4886652876695f01a2dc20f75d90c9cae4d9e9cfd2a8b61b95c0c9d2001825820666214b4886652876695f01a2dc20f75d90c9cae4d9e9cfd2a8b61b95c0c9d2002a2008182582000000000000000000000000000000000000000000000000000000000000000005840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000582840001d87980821a00d59f801b00000002540be400840100d8799fd8799fd8799f413041604162ffd8799f413041604162ffd8799f5820400faa9e8294220de4e7a6ff7c42b21c1999815397c86cf4afa6095047515c0cd87a9f5820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ffd87a9f5820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ffffffff821a00d59f801b00000002540be400f5f6

It appears that the code segment responsible for decoding UTXOs is still expecting an array format.
Specifically, this part of tx.rs:
https://github.com/aiken-lang/aiken/blob/5879dcfd4c3e467559adc9a7d36e8942a2d8e5f7/crates/uplc/src/tx.rs#L115
for (input, output) in utxos_bytes {
    utxos.push(ResolvedInput {
        input: TransactionInput::decode_fragment(input)?,
        output: TransactionOutput::decode_fragment(output)?,
    });
}

What should be the expected behavior?
The TransactionOutput::decode_fragment method should be updated to handle both array and map structures, depending on the era of the transaction being decoded. This will ensure that transactions from both the PreBabbage and Post-Alonzo eras can be decoded correctly.

Good catch, thanks for the thorough report @ilap; will fix ASAP.

Hey @KtorZ,
Sorry, but it was my mistake. As I have just started to debug it and the error message the unexpected type map at position 78: expected array is the last  (Alonzo's) of the three decodes  when it cannot decode the tx for any era.
The issue that the in my tx the validity is set to -1 which should be an unsigned integer and the error cascades down to the alonzo decoding which expect an array.
So all good and sorry for any inconvenience caused by this.
    let multi_era_tx = MultiEraTx::decode_for_era(Era::Conway, tx_bytes)
        .or_else(|_| MultiEraTx::decode_for_era(Era::Babbage, tx_bytes))
        .or_else(|_| MultiEraTx::decode_for_era(Era::Alonzo, tx_bytes))?;


Ignore runner labels in actionlint

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same change?
[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

This PR adds an ignore flag to actionlint to ignore GitHub Actions runner labels.

This is very Homebrew-specific naming and I don't think it makes sense for third-party taps to be mandated to match one of these.
homebrew-large-bottle-build is already deprecated and linux-self-hosted-1 will be soon be replaced with a new name.
I'd probably be OK disabling the check entirely tbh, or certainly at least for third-party taps.

I'd probably be OK disabling the check entirely tbh

Me too, let's not bother being different for third-party taps here, it's not a useful check for the Homebrew ecosystem. @shivammathur you should be able to pass another -ignore, shout if you need help here!

@Bo98 @MikeMcQuaid I have updated the PR.


Feature awarding x

Pull Request Test Coverage Report for Build 94

25 of 25 (100.0%)  changed or added relevant lines in 3 files are covered.
39 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-3.8%) to 67.634%

Files with Coverage Reduction
New Missed Lines
%

openprocurement/auctions/rubble/migration.py
39
21.57%

Totals

Change from base Build 80:
-3.8%

Covered Lines:
606

Relevant Lines:
896

💛  - Coveralls

Pull Request Test Coverage Report for Build 94

25 of 25 (100.0%)  changed or added relevant lines in 3 files are covered.
39 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-3.8%) to 67.634%

Files with Coverage Reduction
New Missed Lines
%

openprocurement/auctions/rubble/migration.py
39
21.57%

Totals

Change from base Build 80:
-3.8%

Covered Lines:
606

Relevant Lines:
896

💛  - Coveralls


handle empty quests

don't show preview in this case

nope, the behaviour here is very inconsistent and it's better to not cause more confusion


Stick to wall horizontal only

Hi,
Thanks for the quick fix on the other issue.
I have another request, I would like the 'Stick to wall' option to only work horizontally, so only stick to the left or right wall.

You can do this by subclassing Magnet.java and overriding this method: https://github.com/premnirmal/Magnet/blob/master/library/src/main/java/com/premnirmal/Magnet/Magnet.java#L262 like so:
   @Override
   protected void goToWall() {
        if (shouldStickToWall) {
            final float nearestXWall = mLayoutParams.x >= 0 ? mWidth : -mWidth;
            mAnimator.start(nearestXWall, mLayoutParams.y);
         }
    }

The above code basically removes the check to see which wall is closest (X or Y), instead always snap to the X wall.

You will also have to subclass the Builder so it instantiates your subclass of Magnet

Hi, I have some problems achieving this.
I can't access the start method of the MoveAnimator. It says 'start(float, float) has protected access in com.premnirmal.Magnet.Magnet.MoveAnimator.
Also, the magnet field is not public in the Magnet.Builder so I can't set it to my CustomMagnet.

Bear with me while I make that class and the start(float, float) method public. I'll release 1.1.4 to maven central once it's done.
Thanks for pointing this out

This is fixed now. Version 1.1.4 has been uploaded to maven central. Give it a few hours to upload.
Once you have 1.1.4 you can Subclass Magnet and the Magnet.Builder, and use the following for horizontal stick to wall only:
@Override
   protected void goToWall() {
        if (shouldStickToWall) {
            final float nearestXWall = mLayoutParams.x >= 0 ? mWidth : -mWidth;
            mAnimator.start(nearestXWall, mLayoutParams.y);
         }
    }

It works now, I can access the animator.
One more issue,
I've subclassed the Magnet.Builder but I can't access the magnet field.
Could you make that public so I can override it?
Thanks!

Updated. You can instantiate your subclass like this:
final MyMagnet magnet = (MyMagnet) new Builder(MyMagnet.class, context)
                        .setIconView(iconView)
                        .build();

Version 1.1.5 is released to maven central. Give it a few hours to go through.

Thanks, it works now!


docker-machine virtualbox

Rancher versions:
rancher/server: v1.6.2
rancher/agent: v1.2.2
Docker version: (docker version,docker info preferred)
Docker version 1.12.6, build 78d1802
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
4.8.0-58-generic
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
single node rancher, internal DB
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
I'm trying to add virtualbox host with "generic docker-machine" driver. But when I click "other" in host creation, there is no "virtualbox" option, only "generic".
So basic question is - "How to add virtualbox docker-machine in rancher?".
P.S. I can use it from CLI like docker-machine create --driver virtualbox ...

The virtualbox driver is not shown because it's useless in this situation.  It has no options to tell it where virtualbox is and assumes you're running it in the same scope (i.e. you have both machines and virtualbox installed on your laptop).
With Rancher you are running machine from inside the server container, and there is no virtualbox in there to use.

Why I cant set rancher on host and keep groups of containers in vms?


Adding missing OS_ENDPOINT_TYPE inside rpc_maas

Closes-Bug: #781
(cherry picked from commit da1209e0cbf2d05763983e225e69c50603f786ea)
Signed-off-by: Matthew Thode<EMAIL_ADDRESS>

:+1:

:+1:


TypeError: bytes or integer address expected instead of str instance

Hello, i'm using python 3.5.x, and windows 7 x64.
When i use this piece of code:
import lackey

pattern = lackey.Pattern(r'C:\Users\rainman\Documents\cam\my.png')
screen = lackey.Screen()
screen.click(pattern) # or screen.find(patter) or screen.capture()

Error happens:
hdc = self._gdi32.CreateDCA(ctypes.c_char_p(device_name), 0, 0, 0)
TypeError: bytes or integer address expected instead of str instance

This is a known issue with Python x64 (see #47). I'm working on a fix.

Oh, thanks.

As noted in the other thread, I've pushed the fix to the develop branch. I'll roll out a new release later this week after more thorough testing.

This has been fixed in the latest release.


Remove notebookDecoration API usage

Fixes #9598
This api is not on track for finalization and we plan to remove it from VS Code

Thanks for the review!
I'll go ahead and merge this but keep Jupyter on the list of API consumers until a new version of the extension is published


ZEVA - Squash Django Migrations for Project ZEVA

Describe the task
The goal of this task is to squash Django migrations in the backend for project ZEVA to optimize the application's performance and reduce the time taken for running migrations during deployment.
Purpose
Squashing migrations will help maintain the cleanliness of the codebase, improve the application's performance, and reduce deployment times. It adds value by streamlining the development process and providing a better experience for the development team.
Acceptance Criteria

[ ] Identify and list all the Django migrations that need to be squashed.
[ ] Create a new squashed migration file combining the selected migrations.
[ ] Ensure that the new squashed migration file correctly replaces the original individual migration files.
[ ] Test the squashed migration file to confirm that the application's functionality remains unchanged.
[ ] Update any relevant documentation and inform the development team about the squashed migrations.

Additional context

Consider the dependencies between migrations while squashing to avoid conflicts.
Coordinate with the development team to ensure that no ongoing work is disrupted during the migration squashing process.

Hey team! Please add your planning poker estimate with Zenhub @AlexZorkin @emi-hi @JulianForeman @tim738745


stop ./loop_wcbench.sh

I am running ./loop_wcbench.sh -t 2 -r.
How to stop it? Say I want to run wcbench script for 100 times. How do I do this? (Using loop_wcbench ofcourse, but I want the script to stop when run numbers reach 100). I pressed ctrl+c and the process stopped. In the results.csv, there are values for 24 runs. The used ram column varies too. Is there any specific reason for that? Is there any other place where I could ask such general questions?

Say I want to run wcbench script for 100 times. How do I do this?

loop_wcbench.sh is a pretty simple helper. It currently isn't designed to loop for N times, but that would be trivial to add. PRs welcome, as always. I raised #64 to track that feature request.

I pressed ctrl+c and the process stopped.

That's the expected way.

In the results.csv, there are values for 24 runs.

This isn't a question, right?

The used ram column varies too. Is there any specific reason for that?

The used RAM on systems varies all the time, this is expected. If it didn't change, that would be more strange.

Is there any other place where I could ask such general questions?

Per the contact section of the README, the issue tracker (here) is the recommended place. So good job! :+1: :)


sendDocument() doesn't retain original filename and extension

When using the sendDocument method, the file output from the receiving end of whatsapp (to be Open/Save as) doesn't retain the original filename or extension. Instead, it will be downloaded something like "DOC-20240911-WA0001[1].dat"

This is going to be added on v1.0.0

Thanks !


Set commands not working?

Hi,
it's me again ;-)
There is a topic weconnect/vehicles/WVWxxx/controls/climatization but it seems that I'm not able to control it as a set command.
I tried to send "start" or "stop" but nothing happend.
Currently unsupported or did I something wrong?
Thx

Nevermind, it just takes very, very, very long until the command is executed. But this is not an issue of this project :-)

Yes, the command is transmitted to the VW servers and from there to the car. But I'm thinking what I can do to give better feedback of what is going on


Added property attribute to meta tags for The Open Graph protocols support

Types of Changes
Prerequisites
Please make sure you can check the following two boxes:

[ ] I have read the CONTRIBUTING document
[ ] My code follows the code style of this project

Contribution Type
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue, please reference the issue id)
[ ] New feature (non-breaking change which adds functionality, make sure to open an associated issue first)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Description
[Place a meaningful description here.]

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

As mentioned you can (if you want to) bring in this convenience property. But then I'd also like to see other convenience properties on meta, too.
Furthermore, it needs to be compliant with the spec. So remove DomName. Such a thing does not exist.


Replaced Init Function

Replaced the init function because the init wasn't handling an error from RegisterCertifier()
Also a couple tests for RegisterCertifier()

Signed-off-by: nathannaveen<EMAIL_ADDRESS>

Hey @nathannaveen, this PR might not be needed now based on the changes made in PR https://github.com/guacsec/guac/pull/340.

Closed as PR https://github.com/guacsec/guac/pull/340 fixes this issue.


Fish now supports a new version of a ctrl+r search by default which seems to cause key binding collision

Before proceeding...

[X] My CLIs meet the minimum version requirements
[X] I have read through the troubleshooting guide
[X] If I updated fzf.fish for the first time in over 6 months, I read the migration guides to make sure I'm caught up

Describe the bug
I did not have fzf_configure_bindings in my config previously because I never customized anything. Now that fish added a newer default ctrl+r implementation I am unsure how to have the fzf implementation be the default version. I tried putting fzf_configure_bindings in my config but it doesn't work, I need to manually execute fzf_configure_bindings to restore the keybinding for the fzf version.
This doesnt seem to be working for me in the fzf.fish config
# Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings
fzf_configure_bindings

Steps to reproduce
Install fzf
Install fish 3.6.0+
ctrl+r to use new fish reverse search
fzf_configure_bindings
ctrl+r to use fzf version of reverse search
Environment
Versions installed:

Fish: 3.6.0
fzf.fish: latest

Which, if any, configuration variables such as fzf_preview_file_cmd are set?
Additional context
https://github.com/fish-shell/fish-shell/pull/9089

Hi, yeah that comment is out of date. I did not foresee fish releasing their own reverse-i-search. Now, you need to put fzf_configure_bindings --history= in your config.fish. fzf_configure_bindings --help was more info.

Hi, yeah that comment is out of date. I did not foresee fish releasing their own reverse-i-search. Now, you need to put fzf_configure_bindings --history= in your config.fish to use Ctrl+R for the default. fzf_configure_bindings --help has more info.
FWIW, yesterday I tried the default reverse-i-search and I decided I'll stick with fzf.fish's because it's much better.

I came to the same conclusion regarding fzf.fish's vs this new one :)
Thanks, will use this in my config!

Sorry, I misunderstood that setting. I want to do the opposite of what --history= is doing
On my system, fzf_configure_bindings in my config is not taking over the default so I am stuck with the default fish implementation, I have to run it manually after startup

On my system, fzf_configure_bindings in my config is not taking over the default so I am stuck with the default fish implementation, I have to run it manually after startup

Oh I see, sorry I misunderstood the issue. Hmmm that is a bug indeed. Let me get back to you...

I do not see that exact line, but I do see some \cr entries so I would expect them to be overriden?, I see
bind --preset \cr history-pager
bind --preset \e\ ep fish_clipboard_paste
bind \e\cf _fzf_search_directory
bind \e\cl _fzf_search_git_log
bind \e\cs _fzf_search_git_status
bind \cr fzf-history-widget
bind \e\cp _fzf_search_processes
bind \cv '_fzf_search_variables (set --show | psub) (set --names | psub)'
bind -M insert \e\cf _fzf_search_directory
bind -M insert \e\cl _fzf_search_git_log
bind -M insert \e\cs _fzf_search_git_status
bind -M insert \cr fzf-history-widget
bind -M insert \e\cp _fzf_search_processes
bind -M insert \cv '_fzf_search_variables (set --show | psub) (set --names | psub)'
bind \ct fzf-file-widget
bind \ec fzf-cd-widget
bind -M insert \ct fzf-file-widget
bind -M insert \ec fzf-cd-widget

I see bind -M insert \cr fzf-history-widget, which comes from a different fzf plugin. The one that ships with fzf. Would recommend uninstalling that. That might be what is overriding fzf.fish's version.
 See the second line of https://github.com/PatrickF1/fzf.fish/wiki/Troubleshooting#default-or-custom-key-bindings-do-not-work.

I see, this plugin relies on fzf based on the documentation, and I am using homebrew to install https://formulae.brew.sh/formula/fzf which is causing the problems as you mentioned
Does this mean I need to explicitly unbind this from the other plugin and figure out how that syntax works?
I looked at the referenced lines you mentioned and cant find an obvious "add this to config to force override" anywhere

I think you probably ran  $(brew --prefix)/opt/fzf/install and that's the issue. You have to uninstall it now.

Great, this seems to work for me, I had done that ages ago, thanks and have a nice day!

No problem! I need to make this more obvious in the docs NOT to install that and how to install it. Learned something today, thanks.

https://news.ycombinator.com/item?id=34298157
https://github.com/junegunn/fzf/issues/3115


Widgets for Smiley Rating

Are you requesting a feature, reporting a bug or ask a question?
a feature
What is the current behavior?
rating possible with bar-rating and numbers
What is the expected behavior?
I need a rating feature with smiley. Is there any possibility to implement it with existing rating feature or should I implement a new widget for it? How can I implement an widget for this feature using angular.
How would you reproduce the current behavior (if this is a bug)?
For example, http://uttesh.com/ngreactions/
Specify your

browser:
browser version:
surveyjs platform (angular or react or jquery or knockout or vue):
surveyjs version:

I't possible via the custom widget.
Here is the demo - https://surveyjs.io/Examples/Library/?id=custom-widget-barrating&platform=jQuery&theme=default
Custom widgets repo - https://github.com/surveyjs/widgets
Bar rating widget code - https://github.com/surveyjs/widgets/blob/master/src/jquery-bar-rating.js

I have found a  JQuery plugin for smiley rating
https://github.com/YanNerio/emotion-ratings
and tried the following
function init(Survey, $) {
  $ = $ || window.$;
  var emotionsArray = ['angry','disappointed','meh', 'happy', 'inLove'];
  var options = {
    emotionSize: 30,
    bgEmotion: 'happy',
    emotions: emotionsArray,
    color: '#FF0066', //the color must be expressed with a css code
	  initialRating: 4, //initialize the rating number
	  disabled: true, //set if the rating can be changed or not, default is false
  }
  var widget = {
    name: "emotionrating",
    title: "Bar rating",
    iconName: "icon-emotionrating",
    widgetIsLoaded: function() {
      return !!$.fn.emotionRating;
    },
    defaultJSON: options,
    isFit: function(question) {
      return question.getType() === "emotionrating";
    },
    isDefaultRender: true,
    afterRender: function(question, el) {
        var $el = $(el).is("select") ? $(el) : $(el).find("select");
        $el.emotionRating("show", options);
    }};

  Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "customtype");
}

if (typeof Survey !== "undefined") {
  init(Survey, window.$);
}

export default init;

but unable to produce an output. Could you please help me to implement this custom widget.

We'll take a look

Moved to the widget repo https://github.com/surveyjs/widgets/issues/58, please follow


Facing problem with logout

did the following steps for logout

GET "https://login.live.com/oauth20_logout.srf?client_id=000000004813EF9B&redirect_uri="

response received -> "https://login.live.com/err.srf?lc=1033#error=invalid_request&error_description=The+provided+request+must+include+a+'redirect_uri'+input+parameter."
    Q1) why "redirect_uri" query parameter value is being demanded???

continue...
On one of the github page it is been quoted(https://github.com/OneDrive/onedrive-api-docs/blob/master/auth/msa_oauth.md)
"The redirect URL that the browser is sent to when authentication is complete. This must match exactly the redirect_uri value used in the get token request."
To acquire the access token, i always keep "redirect_uri" query parameter value empty, following is the query
GET "https://login.live.com/oauth20_authorize.srf?client_id=000000004813EF9B&scope=wl.signin+wl.contacts_skydrive&response_type=code&redirect_uri="
in the above scnerio, successfully receives the "access_token", without specifying the value for redirect_uri

It should be required in the login flow as well, but it looks like there is a bug there. For desktop and mobile applications (or anything that isn't a web application) you can use https://login.live.com/oauth20_desktop.srf as the redirect_uri. If you don't specify a redirect URI on the logon flow, it will default to the first URL defined in your application configuration.

pls refer the snapshots

pls refer the following snapshots

@rgregg sir, in the above scenario is bug present???

I talked with the team that owns this stuff, and it's "by design" to make it easier to use the OAuth 2 flow. Since the logout flow isn't required and isn't used very often, the team chose not to make the optimization to substitute the redirect_uri value with a default value when it was missing.
It's recommended that you always provide a redirect_uri so your can be predictable about how the OAuth flow will work. While it may work without redirect_uri, external changes may break your application.

thank u for ur response, ur hepling alot

if it is by design, then redirect_uri value should not be compulsory for logout purpose also...
as of now it is compulsory to give the redirect_uri value for logout purpose, otherwise error occurs...

I agree that the design could be better, but as I mentioned before, the usage of logout is low and it's easy enough to work around the problem. It doesn't rise to the level of a critical bug that we feel must be fixed.
Hope you understand and thanks for providing so much feedback!

(Let's try reopening this with a variation on the OP.)
The redirect_uri doesn't redirect for me.
I logout the client with (PHP) https://login.live.com/oauth20_logout.srf?client_id=' . urlencode(CLIENT_ID) . '&redirect_uri=' . urlencode(CALLBACK_URI)
... which is all by the book ("redirect_uri ... must match exactly the redirect_uri value used in the get token request"). (Unlike the OP I do supply the redirect_uri value in the login call.)
The client is duly signed out (and required to sign in again) - but there's no redirection and I need to code an explicit redirect.
So, is redirect_uri actually used by oauth20_logout.srf?
Is there any downside to doing an explicit redirect myself?


Enforce maxLength attribute

Is your feature request related to a problem? Please describe.
Enforce the TextArea maxLength attribute.
Describe the solution you'd like
MaxLength enforcement can be accomplished by adding code that modifies editor.codemirror after it is created, but it would be simpler if the editor handled it internally.
The following code is working for me.
        let editor = new EasyMDE(easyMDESettings)

        // Enforce textarea maxLength by attaching a function to the
        // CodeMirror beforeChange event.
        let maxLength = control.maxLength
        if (maxLength > 0) {
            editor.codemirror.on("beforeChange", function (cm, change) {
                if (change.update) {
                    let str = change.text.join("\n")

                    let delta = str.length - (cm.indexFromPos(change.to) - cm.indexFromPos(change.from))

                    if (delta <= 0) { return true }

                    delta = cm.getValue().length + delta - maxLength

                    if (delta > 0) {
                        str = str.substr(0, str.length - delta)
                        change.update(change.from, change.to, str.split("\n"))
                    }
                }
                return true
            })
        }

Note that TextArea.maxLength is automatically reported as -1 if the attribute is not set, so this code will only apply the rule if the developer has specifically set the maxLength attribute.
Additional context
Easy MDE is fantastic component. Thanks for all the work.

Thanks a lot for sharing!
To make things easier I've used:
let maxLength = editor.element.maxLength


Support transfer leadership to a specific follower master in raft based ha cluster

Is your feature request related to a problem? Please describe.
In a raft based ha cluster, for some reason, we want to transfer leadership to a specific follower gracefully, now, we have to kill the leader master to transfer leadership, but the leadership could transfer to a unexpected follower, we have to kill the leader master again, this is so tricky.
Describe the solution you'd like
Support a command line tools like alluxio ha failover [<NEXT_LEADER_HOST>], without specific NEXT_LEADER_HOST, leadership can transform automatically.
Describe alternatives you've considered
We can leverage the ratis support from these PRs
https://github.com/apache/ratis/pull/372/
https://github.com/apache/ratis/pull/366
https://github.com/apache/ratis/pull/373
Urgency
Normal
Additional context
Look forward to see this feature.

@ggezer FYI

Based on the offline discussion: not a blocker but an important improvement
Once we have bandwidth, we can revisit this issue.
And we need a design doc on this feature, reviewed by @ggezer

https://github.com/apache/ratis/pull/359 Shown that ratis support dynamic change priority.


minor corrections in Readme

readme has the following
Challenges will be added every Monday and Friday morning (9am CET)

[Challenge 1](https://github.com/fermyon/advent-of-spin/blob/main/CHALLENGE-1/README.md)
[Challenge 2](https://github.com/fermyon/advent-of-spin/blob/main/CHALLENGE-2/README.md)
[Challenge 3](https://github.com/fermyon/advent-of-spin/blob/main/CHALLENGE-3/README.md)
Challenge 4: Coming On Dec 16th at 10am CET

Challenge 4 was already uploaded on 12 December.
The top line says challenges will be added at 9am CET, while for Challenge 4 it says 10am CET..

Fixed. Thank you

After seeing that there is no submission for Challenge 5 released today, i thought Advent of Spin is over.
Happy to see in the Readme that there is going to be a Challenge 6 and 7 in the coming weeks.


Complex union types in arrays being returned as type: any

I am using this library to generate an OpenAPI spec for my microservice. I noticed that convertTypeScriptToCoreTypes is returning complex union types in arrays as any.
Input:
export type AddUsersAsFriendsRequestBody = {
   users: ({ email: string; } | { phone: string; } | { username: string; })[];
}

Output:
{
  "data": {
    "version": 1,
    "types": [
      {
        "name": "AddUsersAsFriendsRequestBody",
        "type": "object",
        "properties": {
          "users": {
            "required": true,
            "node": {
              "type": "array",
              "elementType": {
                "type": "any"
              }
            }
          }
        },
        "additionalProperties": false
      }
    ]
  },
  "convertedTypes": [
    "addUsersAsFriendsRequestBody"
  ],
  "notConvertedTypes": []
}

Is it possible to get the elementType to be more specific than any?

It seems like this is due to ParenthesizedTypeNodes not being handled. I was able to get this working by adding
	else if ( ts.isParenthesizedTypeNode( node ) )
		return fromTsTypeNode( node.getChildren()[1], ctx )

to ts-to-core-types.ts. Not sure if this a fragile solution or not though. Will need to write some tests.


Question on safety objects (e.g. Road traffic signs) in MetaDrive

Thank you for your solid open source work.
Does metadrive support setting up certain road traffic signs on or around the road, such as signs with a speed limit of 60 mph? Or can this be done by customizing the environment?

Yes. you need to customize the environment on your own. Just like how we create TrafficBarrier, you can have your own object defined and then put it into the scene. For the 3D model, sometimes you may want the number to be changed instead of having a specific model for each speed limit. In this case, you can use a shader to achieve this.


Foundation up

tries to follow more closely the Foundation docs about compiling sass
moves foundation-sites folder into node_modules and out of the repo
changes from compass to gulp-sass

but...
travis fails
/home/travis/build/MissingMaps/missingmaps.github.io/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:225
        this.processing = new Promise(function (resolve, reject) {
                              ^
ReferenceError: Promise is not defined

which is maybe an issue with the node version. but i think i upped that here. so i'm not sure what's breaking it.

the .travis.yml file includes two language blocks?
that doesn't seem to sync with this guy's post
http://austinpray.com/ops/2015/09/20/change-travis-node-version.html
and this stack overflow
http://stackoverflow.com/questions/36224163/travis-ci-ruby-build-with-node-5

adjusted the build environment to use a newer version of node and it works now

@dalekunce please compare to what you did and weigh in. i think this ends up being cleaner.

Looks good to me. Merge away.


⚠ ClamAV has degraded performance

In 7894671, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: ClamAV performance has improved in 18f56a7.


Perceiver IO: Video Autoencoding notebook - reconstruction of full video doesn't display properly or is broken

Running on Google Colab GPU the Visualize reconstruction of first 16 frames display correctly, but not the reconstruction of full video displays like this and the sound doesn't play:

Thanks for reporting this issue! This should now be fixed.

Hi, thank you looking into it :-) . The video at the bottom now correctly displays but only shows the first segment (the same 16 frames as above). Changing the index from [0] to [n] does show the subsequent segments, but I expect that you intend to play the full video in one go.

Hi! Just bumped into the same issue with this notebook, and fixed the last cell by rearranging the image output with einops:
from einops import rearrange
full_video = rearrange(reconstruction['image'], 'batch frames w h c -> (batch frames) w h c')
table([to_gif(full_video), play_audio(np.array(reconstruction['audio'][0]))])

Hope this helps! ☺


Move buildSpec up a level inside Task.spec

Expected Behavior
Task.spec should no longer contain a Build.spec. All fields that we want to support from Build in Task should be moved up one level and explicitly included inside Task.spec, e.g.:
spec:
      steps:
          - name: runMake
            image: ubuntu
            command: ['make']
            args: ['${inputs.params.makeTarget}']

Actual Behavior
Task.spec contains Build.spec, however we limit the fields which can be used, for example we do not allow the user to provide a reference to a Build template:
https://github.com/knative/build-pipeline/blob/df83248d5bc51103288d3704cc53d7afcf852e63/pkg/apis/pipeline/v1alpha1/task_validation.go#L47-L50
Tasks currently contain a buildSpec field, e.g.:
spec:
    buildSpec:
        steps:
            - name: runMake
              image: ubuntu
              command: ['make']
              args: ['${inputs.params.makeTarget}']

Steps to Reproduce the Problem
n/a
Additional Info
Part of #147

PR for recent build should be merged first to leverage sources in PR for removing build spec.


Add notify: true to files

I needed more controls over how to display the list of files, so by adding notify: true, filename and progress bar can be displayed far away from the file input button element, like having the progress bar in a dialog box.
      files: {
        type: Array,
        notify: true,
        value: function() {
            return [];
        }
      },

If there any other method to change the display, let me know.

Added it in. Thanks!


[Datumaro] Remove annotation dir for cvat dataset format

Motivation and context

Preparation commit for #1463
Synchronizes the expected format of CVAT dataset in Datumaro with CVAT dataset export output.

Removed annotations subdirectory in dataset, annotations are expected in the root directory

How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT

Pull Request Test Coverage Report for Build 5442

15 of 19 (78.95%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 65.627%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

datumaro/datumaro/plugins/cvat_format/extractor.py
14
18
77.78%

Totals

Change from base Build 5409:
-0.02%

Covered Lines:
10822

Relevant Lines:
16085

💛  - Coveralls


Add IBM Cloud Container Registry to list of supported Registries

Description
I work on the IBM Cloud Container Registry (icr.io) which is a OCI compliant registry and therefore works with cosign.
I have done some local testing and know that other people have been using it for a little while, so I am happy from my perspective to be added to the  the list.
If someone on the cosign team needs to test it, before we can added please see our getting started guide  which will give you enough info to get set up to run cosign.

Nice! Want to send a PR? I don't think we need to test it separately.

Thanks @dlorenc will get that done now :+1:


CVE in go modules!

We are using Trivy (https://github.com/aquasecurity/trivy) tool for scanning vulnerabilities. In the Trivy report, we see the following

Can we upgrade these two modules to the latest version available?

Thanks @noorul for tracking this

Can the golang version be updated to latest stable also https://github.com/segmentio/topicctl/blob/75aefabd4f0a829bb0af9b7178b9052219178161/Dockerfile#L1

Thanks for the report, should be fixed in https://github.com/segmentio/topicctl/pull/66.

Thanks @yolken

Thanks @yolken  :)


(fix) Enable logging; fix large videos on slow connection

Description of changes:
When uploading large videos to the s3 bucket (~200mb) on a slow uplink (2 Mb/s) a stall protection for upload kick in.
This protection incorrectly detects stalled upload and panics, even on active uploads healthy uploads.
See https://github.com/awslabs/aws-sdk-rust/issues/1146
Crate changes:

add log and env_logger to aid debugging and root causing
update aws-sdk to latest

Testing:
RUST_LOG=debug cargo run -- -i "~/Downloads/meeting.mp4" -o text
Issue:

RUST_LOG=debug cargo run --  -o text -i ~/Downloads/not_so_humongous_video.mp4

[2024-08-16T16:00:21Z DEBUG hyper::proto::h1::io] flushed 4096 bytes
[2024-08-16T16:00:21Z DEBUG hyper::proto::h1::io] flushed 4096 bytes
[2024-08-16T16:00:21Z DEBUG hyper::proto::h1::io] flushed 4096 bytes
[2024-08-16T16:00:21Z DEBUG hyper::proto::h1::io] flushed 4096 bytes
[2024-08-16T16:00:21Z DEBUG hyper::proto::h1::io] flushed 4096 bytes
[2024-08-16T16:00:21Z DEBUG hyper::proto::h1::io] flushed 3732 bytes
⠦ Using bucket region us-east-1[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] current throughput: 0 B/s is below minimum: 1 B/s
[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] current throughput: 0 B/s is below minimum: 1 B/s
⠖ Using bucket region us-east-1[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] current throughput: 0 B/s is below minimum: 1 B/s
[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] current throughput: 0 B/s is below minimum: 1 B/s
⠒ Using bucket region us-east-1[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] current throughput: 0 B/s is below minimum: 1 B/s
[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] current throughput: 0 B/s is below minimum: 1 B/s
⠐ Using bucket region us-east-1[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] current throughput: 0 B/s is below minimum: 1 B/s
[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::http::body::minimum_throughput] grace period ended; timing out request
[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::orchestrator] encountered orchestrator error; halting
[2024-08-16T16:00:21Z DEBUG tracing::span] finally_attempt;
[2024-08-16T16:00:21Z DEBUG rustls::common_state] Sending warning alert CloseNotify
[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::retries::strategy::standard] not retrying because we are out of attempts attempts=3 max_attempts=3
[2024-08-16T16:00:21Z DEBUG aws_smithy_runtime::client::orchestrator] a retry is either unnecessary or not possible, exiting attempt loop
[2024-08-16T16:00:21Z DEBUG tracing::span] finally_op;
Error: Failed to upload to S3

Caused by:
    0: dispatch failure
    1: timeout
    2: minimum throughput was specified at 1 B/s, but throughput of 0 B/s was observed

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks @kolupaev for the PR and solid description of the issue. And, thank you for updating dependencies to latest versions as well.


Minor optimization for GenericTokenParser

Before while (start > -1) ,   existing judgment  if (start == -1), so I suggest to adjust while do to do while,which can reduce redundant judgment.

Thank you, @chenqimiao !


Silence match on value

It would be useful for a silence to be able to match on the evaluated value of an alert.  For example, if we have an alert triggered by a count, we wish to silence the alert for only that number -- any increase in the count should negate the silence.
Prometheus alerts expose the evaluated value with the $value variable, but it does not seem to be communicated to AlertManager.  I tried to do this by adding a custom label to the alert:
labels:
value: "{{ $value }}"
but this seems to only ever be evaluated on the first occurrence of the alert.  So if the alert was triggered with a count of 15, that is the value of the label even if the number increases.
Is there a feature that can be added or another strategy to support matching on value like this?  thanks

See https://www.robustperception.io/dont-put-the-value-in-alert-labels
Anything that predicates alerts on their value would have to be done in Prometheus, and I don't see any way this would be practical.

You can use count_values() if you really want.

Let me put out a use case where I could see value in this:
We are alerting when the number of incidents is > 0. Imagine we get an alert that there are 4 incidents. We identify the issues, and since it takes some time to solve them, we want to silence the alert for a while. But only for those 4 incidents. If suddenly there are more incidents, we need to get alerted again since there are new problems.
It would be great if I could create a silence saying:
"Silence alert X for Y time when the value is 4 or lower"
I don't really see how this can be solved in the Prometheus rules, as the "identified problems" counter is a flexible, constantly changing value.

I completely agree that this has a raison-d'etre and can't be solved using prometheus rules. @MitchelNijdam-Rockstars precisely explained my thoughts precisely, sometimes you just want the Alert to be silenced because you know of the X number of failures, but if that increases it is relevant to be alerted again.
@stuartnelson3 are we overseeing some feature in Prometheus or AlertManager that solves this?


potobuf version

With merge of #77 we had to fix the secondary dependence of protobuf (dependency of streamlit) to:
https://github.com/hydrocode-de/RUINSapp/blob/7f5781ad536300bffe9d300472a803c8ac3690f2/requirements.txt#L14
The new version 4 of protobuf brought breaking changes including incompability to code generated by protobuf < 4.0, which seems to be the case for streamlit==1.9.0, which we currently use. (Chagelog of Google: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates)
We need to check the upcoming versions of streamlit if we can remove the line in the requirements and update protobuf.

With stremlit==1.9.0, additionally, there seems to be a missing dependency of typing-extensions. Was added with #80.
We need to check this one as well and eventually remove with one of the next streamlit versions.

streamlit 1.10.0 is out


RuntimeError: uvloop does not support Windows at the moment

Impossible to install on a Windows computer.
From what I understand, there is a "winloop" version of "uvloop" and some sources seem to indicate that it should be possible to detect the OS when installing and select automatically the appropriate lib.

@StanGirard please create a windows friendly version of MegaParse

You can bypass this by specifying the latest version in the installation megaparse==0.0.48


Create tensorflow_mnist_with_tensorboard

Example of connecting tensorflow mnist classifier tensorboard output, to trains.

Precedes the merged pull requests


Remove data when an element is removed

As a user I'd expect that when an element is removed the .data() linked to this element are also removed (or at least flushed when Paper.clear() is called).
Nevertheless, if I create another element with the same id, I'm getting the data of the previous element (due to the way it is stored inside the variable eldata)
May be removeData could be called inside elproto.remove

Now ids are random, so at least you shouldn't have that problem.

Note that this bug causes a memory leak, as the eldata variable grows without bound as new data is added without being removed.

I am seeing an issue that tracks with what @jvilk is describing, specific to IE9-Edge where memory is not release because objects are retaining references to data. Other browsers do not seem affected. Would love to fix this if it doesn't require a ton of changes.

@davidjmcclelland I have a fix open in a PR here: https://github.com/DmitryBaranovskiy/raphael/pull/1077

Thanks for contacting me John!
I just checked the source in the version I am using and it has this change
in it.
It has a comment that indicates it is version 2.1.0, but I have found
numerous undocumented changes in the code done before I got involved.
I am still having memory leaks big time in IE 11/Edge - they don't use VML,
couldn't have ever been tested with SVG...
MAC
http://davidjmcclelland.com  | http://twitter.com/davidmcc | LinkedIn:
http://www.linkedin.com/in/davidjmcclelland
On Thu, Apr 6, 2017 at 12:20 PM, John Vilk<EMAIL_ADDRESS>wrote:

@davidjmcclelland https://github.com/davidjmcclelland I have a fix open
in a PR here: #1077
https://github.com/DmitryBaranovskiy/raphael/pull/1077
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DmitryBaranovskiy/raphael/issues/870#issuecomment-292227237,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANwnedprnHrvyxGf12K77BenCn1VX-3ks5rtRDDgaJpZM4CAi9z
.

@davidjmcclelland is this code open source, by any chance? (I'm not promising anything, but I've been on a bit of a JS memory leak bent.)
And is this browser specific? That sounds odd.

Not open source. Someone took to hacking the Raphael library source in the
project I support at some point a few years ago. With IE 11 / Edge
switching from VML to SVG, it isn't too surprising to me that there might
be a leak - I think IE does a different kind of GC than other browsers.
I can't swap out the polluted library because then our visualization break

ironically if produces leaks in all browsers without the hacks in place!
Maybe that's how your PR got in there - there are changes cherry picked
from several subsequent releases in our special version : )

Its very frustrating because the Dev tools in IE11 are still not very good
and the Raphael library is not easy for me to grok.
MAC
http://davidjmcclelland.com  | http://twitter.com/davidmcc | LinkedIn:
http://www.linkedin.com/in/davidjmcclelland
On Thu, Apr 6, 2017 at 9:54 PM, John Vilk<EMAIL_ADDRESS>wrote:

@davidjmcclelland https://github.com/davidjmcclelland is this code open
source, by any chance? (I'm not promising anything, but I've been on a bit
of a JS memory leak bent.)
And is this browser specific? That sounds odd.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DmitryBaranovskiy/raphael/issues/870#issuecomment-292397117,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANwnUCrRdNMSVMXy5hdziOeYIgeyFjtks5rtZdVgaJpZM4CAi9z
.


Fix encoding errors

Fixes: https://github.com/tensorflow/nmt/issues/182

Github joined pull requests


Element not reachable by keyboard

What are you trying to achieve?
Fill a field in a shadow dom
What do you get instead?
I get the following error

Provide console output if related. Use --verbose mode for more details.

 I.seeElement({ shadow: ['.employer', 'input']})
    Emitted | step.before (I see element {"shadow":[".employer","input"]})
    Emitted | step.after (I see element {"shadow":[".employer","input"]})
    Emitted | step.start (I see element {"shadow":[".employer","input"]})
    I see element {"shadow":[".employer","input"]}
    › [Elements] Found 1 'shadow' elements
    Emitted | step.passed (I see element {"shadow":[".employer","input"]})
    Emitted | step.finish (I see element {"shadow":[".employer","input"]})
  OK   I.seeElement({ shadow: ['.employer', 'input']})
 I.fillField({ shadow: ['.employer', 'input']}, 'hi')
    Emitted | step.before (I fill field {"shadow":[".employer","input"]}, "hi…
    Emitted | step.after (I fill field {"shadow":[".employer","input"]}, "hi")
    Emitted | step.start (I fill field {"shadow":[".employer","input"]}, "hi")
    I fill field {"shadow":[".employer","input"]}, "hi"
    › [Elements] Found 1 'shadow' elements
    [1] <pause> Retrying... Attempt #2
    › [Elements] Found 1 'shadow' elements
    [1] <pause> Retrying... Attempt #3
    › [Elements] Found 1 'shadow' elements
    [1] <pause> Retrying... Attempt #4
    › [Elements] Found 1 'shadow' elements
    [1] <pause> Error | element not interactable: Element <input id="input-gu…
    Emitted | step.failed (I fill field {"shadow":[".employer","input"]}, "hi…
    Emitted | step.finish (I fill field {"shadow":[".employer","input"]}, "hi…
 FAIL  Element <input id="input-guid-1002" class="input-field" type="text"> is not reachable by keyboard

Details

CodeceptJS version: 2.6.2
NodeJS Version: 12.14.1
Operating System: Ubuntu 18.04.4 LTS
webdriverio
geckodriver: 1.19
@wdio/selenium-standalone-service: 5.16.10
Configuration file:

exports.config = {
  tests: './steps/*.js',
  output: './output',
  helpers: {
    WebDriver: {
      url: 'http://example.com',
      browser: 'firefox',
      host: '<IP_ADDRESS>',
      port: 4444,
      restart: false,
      windowSize: '1920x1680'
    }
  },
  include: {
    I: './steps.js'
  },
  bootstrap: null,
  mocha: {},
  name: 'functional',
  plugins: {
    retryFailedStep: {
      enabled: true
    },
    screenshotOnFail: {
      enabled: true
    },
    wdio: {
      enabled: true,
      services: ['selenium-standalone']
    }
  }
}

This seems to only fail when using gecko. It works great when using chrome.

I'm in a catch 22 because of issue #2374 which fails on chrome.

were you able to find a solution to your issue? I have he same issue.

I have not. I had to switch to using another tool called webdriverio because this wasn't fixed.

I am also facing the same issue when using geckodriver, Please anyone help on an alternative