Error: WithLatestTag(): invalid tag format (on rancher/k3s-upgrade)

Version
not using system-upgrade-controller binary, but applying manifest 0.6.1
Platform/Architecture
K3S v1.17.4+k3s1
Describe the bug
After applying server-plan:
time="2020-06-24T09:11:05Z" level=error msg="WithLatestTag(): invalid tag format (on rancher/k3s-upgrade)"
E0624 09:11:05.321244       1 controller.go:135] error syncing 'system-upgrade/server-plan': handler system-upgrade-controller: Get https://update.k3s.io/v1-release/channels/stable: x509: certificate signed by unknown authority, handler system-upgrade-controller: failed to create system-upgrade/apply-server-plan-on-dvkube007188.nl.novamedia.com-with- batch/v1, Kind=Job for system-upgrade-controller system-upgrade/server-plan: Job.batch "apply-server-plan-on-dvkube007188.nl.novamedia.com-with-" is invalid: [metadata.name: Invalid value: "apply-server-plan-on-dvkube007188.nl.novamedia.com-with-": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is 'a-z0-9?(.a-z0-9?)'), spec.template.labels: Invalid value: "apply-server-plan-on-dvkube007188.nl.novamedia.com-with-": a valid label must be an empty string or consist of alphanumeric characters, '-', '' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9.])?[A-Za-z0-9])?')], requeuing
To Reproduce
Create controller:
kubectl apply -f https://github.com/rancher/system-upgrade-controller/releases/download/v0.6.1/system-upgrade-controller.yaml

server-plan.yaml:
kind: Plan
metadata:
  name: server-plan
  namespace: system-upgrade
spec:
  concurrency: 1
  cordon: true
  nodeSelector:
    matchExpressions:
    - key: node-role.kubernetes.io/master
      operator: In
      values:
      - "true"
  serviceAccountName: system-upgrade
  upgrade:
    image: rancher/k3s-upgrade
  channel: https://update.k3s.io/v1-release/channels/stable

Add plan:
kubectl apply -f server-plan.yaml

E0624 09:11:05.321244 1 controller.go:135] error syncing 'system-upgrade/server-plan': handler system-upgrade-controller: Get https://update.k3s.io/v1-release/channels/stable: x509: certificate signed by unknown authority

This is an indication that your root of trust does not include a signing certificate for the cert presented by update.k3s.io. Please note that by default the system-upgrade-controller deployment attempts to bind mount this from the host: https://github.com/rancher/system-upgrade-controller/blob/v0.6.1/manifests/system-upgrade-controller.yaml#L84-L93
If your system does not have /etc/ssl you will need to change that hostPath to another directory honored by the go runtime (see https://golang.org/src/crypto/x509/root_linux.go). If, however, that directory is present on your system then what is mostly likely the problem is an out-of-date root of trust. This can typically be updated by upgrading the ca-certificates package (or similar) for your distribution.


Generate did:webs from anywhere that you can resolve an OOBI

See #16
Generate currently uses replyToOobi in order to produce the keri.cesr file. However that requires a hab, and technically you should be able to run ‘generate’ from anywhere if you have an oobi….. I'll create a follow-on issue so we bootstrap a hab from an oobi. We should be able to resolve an oobi remotely and/or locally and then provide the cesr stream for keri.cesr
See the oobi.pin function seems to only deal with oobi records.

Related to https://github.com/hyperledger-labs/did-webs-resolver/issues/21


Test Handler's ReadMaxSize

Check that the Hander short-circuits when the request's payload exceeds ReadMaxBytes. These tests set the scene for #3. I'm not sure if the plan is to grow the more end-to-end suite in rerpc_test. If so, I can move the tests there.
I also added a new variable length field in ping to make it easier to test larger payloads—especially protobuf-marshaled ones.

This is fantastic - thanks, @severb! I'll take a more detailed look tonight.

I made some very large changes to the internals of handlers and clients - sorry, @severb! I'll fix up these changes so they apply to the current state of the code and land them.

I don't have push access to your branch, so I pulled these commits down, added a few on top, and pushed them to main.
Your commits are 9655eb144fcdcc35850897101afa23615eb79440, 02a0bce311054706c22952ae788b66f709af851b, and 19f4ea4dde1af46c6c7666726ce6115a2ab3acdb :tada:


fix apply-sysctl command

to keep same sequence as procps service

retest

So I think this is right, I'm just concerned about what this will result in, that we have ordering issues in our setups.

I summarized current status in RTC's attachment, which contains those conflict information.  And I add one more commit to fix the inconsistent status, please review it too.


Bug fix for 3rd party panelshadow extension

Some android browser (4.2.2 for sure) have a layout issue with box-shadow and overflow-y:auto.
It is not possible to completely workaround the bug, but this fix minimizes it.
Possibly related bug: https://code.google.com/p/android/issues/detail?id=33028

thanks, merged it.


Upgrade to from 0.7.0 to 0.8.0 results in ERR_STATE_STORE_NOT_CONFIGURED

Expected Behavior
Call the API at http://localhost:3500/v1.0/invoke/bankingapi/method/deposit or http://localhost:5000/deposit and get a 200 back.
Actual Behavior
tda@techdev:~/git/dapr.poc/src/DaprPoc.BankingApi$ dapr run --app-id bankingapi --app-port 5000 --port 3500 dotnet run
ℹ  Starting Dapr with id bankingapi.  Skipping certificate request and tls validation" app_id=bankingapi instance=techdev scope=dapr.runtime type=log ver=0.8.0

== DAPR == time="2020-06-11T15:31:15.326336966Z" level=warning msg="failed to load components: open /home/tda/.dapr/components: no such file or directory" app_id=bankingapi instance=techdev scope=dapr.runtime type=log ver=0.8.0

== DAPR == time="2020-06-11T15:31:15.326369366Z" level=info msg="application protocol: http. waiting on port 5000.  This will block until the app is listening on that port."   Status: Running. Init Elapsed 4038.640236ms" app_id=bankingapi instance=techdev scope=dapr.runtime type=log ver=0.8.0

ℹ  Updating metadata for app command: dotnet run
✅  You're up and running! Both Dapr and your app logs will appear here.

== APP == fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]

== APP ==       An unhandled exception has occurred while executing the request.

== APP == Grpc.Core.RpcException: Status(StatusCode=Unknown, Detail="ERR_STATE_STORE_NOT_CONFIGURED")

== APP ==    at Dapr.Client.DaprClientGrpc.MakeGrpcCallHandleError[TResponse](Func`2 callFunc, CancellationToken cancellationToken)

== APP ==    at Dapr.Client.DaprClientGrpc.GetStateAndETagAsync[TValue](String storeName, String key, Nullable`1 consistencyMode, CancellationToken cancellationToken)

== APP ==    at Dapr.Client.DaprClient.GetStateEntryAsync[TValue](String storeName, String key, Nullable`1 consistencyMode, CancellationToken cancellationToken)

== APP ==    at DaprPoc.BankingApi.Controllers.AccountController.Deposit(Transaction transaction, DaprClient daprClient) in /home/tda/git/dapr.poc/src/DaprPoc.BankingApi/Controllers/AccountController.cs:line 59

== APP ==    at lambda_method(Closure , Object )

== APP ==    at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult()

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

== APP ==    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)

== APP ==    at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)

== APP ==    at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)

== APP ==    at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

^Cℹ
terminated signal received: shutting down
✅  Exited Dapr successfully
✅  Exited App successfully

Steps to Reproduce the Problem
Repository can be found here:
https://github.com/jsacapdev/dapr.poc

Open in vs code
cd into src/DaprPoc.BankingApi
a. run it up on debug mode or
b. run it from the command line dapr run --app-id bankingapi --app-port 5000 --port 3500 dotnet run

statestore.yaml is present under components.
This is what i get from the command line:
tda@techdev:~/git/dapr.poc/src/DaprPoc.BankingApi$ dapr list
  APP ID      HTTP PORT  GRPC PORT  APP PORT  COMMAND     AGE  CREATED              PID
  bankingapi  3500       37735      5000      dotnet run  13s  2020-06-11 15:42.32  5454
tda@techdev:~/git/dapr.poc/src/DaprPoc.BankingApi$ dk ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
aa5c33546c40        daprio/dapr         "./placement"            3 hours ago         Up 14 minutes       <IP_ADDRESS>:50005->50005/tcp   dapr_placement
e5d5c56dd3d1        redis               "docker-entrypoint.s…"   3 hours ago         Up 14 minutes       <IP_ADDRESS>:6379->6379/tcp     dapr_redis
tda@techdev:~/git/dapr.poc/src/DaprPoc.BankingApi$

@jsacapdev What state store were you using? Did you update both cli and and the dapr runtime.
Could you share the steps for upgrading from 0.7.0 to 0.8.0

@amanbha i used the steps here:
https://github.com/dapr/dapr/releases#upgrading-to-dapr-0.8.0
dapr uninstall --all
dapr init
now if i run:
tda@techdev:~/git/dapr.poc/src/DaprPoc.BankingApi$ dapr --version
CLI version: 0.6.0
Runtime version: 0.8.0

can you confirm the CLI version is correct?

This is older cli, you would need to get the new cli as well (dapr.io)
Linux : wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash
Windows: powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"
Mac:  curl -fsSL https://raw.githubusercontent.com/dapr/cli/master/install/install.sh | /bin/bash

@amanbha thanks. (as you can probably tell) i am just getting started with dapr. i will remember the upgrade path for the future. thanks again from the prompt response.


Add nightly job

Now that we use latest for everything - we want to start building our LSPs nightly to provide our users with the latest and greatest.

Wouldn't it suffice to run the build and publish just on every merge to main?

We already do this - this would be to rotate images nightly so we also get those updates too.


Invoking the Gulp tool programmatically

I am trying to invoke Gulp within another Node.js script. Is there any non-hackish way to do this? e.g. by not manually requiring bin/gulp.js or setting up a new Liftoff({ ... }), or running the command in the shell as is done at the moment in this plugin I'm currently working on?
To be more general I'm asking if there's an official way to run Gulp as a part of another tool, without the extra overhead of spawning a new child process. A meta-API, if you like.
I think this is somewhat related to issue #755, except that no gulpfile has been loaded yet.

Logs get suppressed when triggered with gulp.start(). How do you get them back?

afaik, logging is added when you run gulp from the cli so if you are running it programmatically you will have to add them

@contra Is there an equivalent functionality for gulp.tasks.test in 4.0 alpha 1? While the above code works in 3.8, 4.0 alpha 1 gives an error "Uncaught TypeError: Cannot read property 'test' of undefined".
I also couldn't able to invoke a task programmatically with gulp.series(test)

@dacodekid gulp.task('test') will return the function that is registered for a task named test

@contra In the 3.9 version, gulp.task('test') returns the all gulp tasks information, not the single task. It your mentioned feature new in 4.0?

Here is solution for gulp 3.9:
https://github.com/gulpjs/gulp/issues/494#issuecomment-44716601

Ok, but what if want to get the "return" values from Gulp tasks?
Maybe someone could help me with my SO question?
https://stackoverflow.com/questions/40496855/retrieving-result-of-gulp-4-task-programmatically
basically, I have a Gulp task like so:
const t = gulp.task('foo', function(){
        return 5;
});

how can I capture the result of the task?
t.on('done', function(val){

      // this doesn't work TMK
});

@ORESoftware
var gulp = require('gulp')
require('./gulpfile') // import the gulp file

const result = gulp.task('foo')()

Nothing fancy

oh shazam, but what about a curve ball like this Terminator sequence:
const t1 = gulp.task('one',['two'], function(){
             return Promise.resolve(5)
});

const t2 = gulp.task('two', function(){
          return Promise.resolve(11);
}):

surely I can't just do
const result1 = t1();
I must have to listen to an event or something...?
?
apologies, because I have only used Gulp 3 and am planning on using Gulp 4 heavily but still new to it, please correct syntax if it's wrong.

@ORESoftware Yeah, you need gulp 4 for that case
gulpfile.js:
import gulp from 'gulp'

const two = () => Promise.resolve(11)
const one = gulp.series(two, () => Promise.resolve(5))

gulp.task('one', one)
gulp.task('two', two)

code.js:
import gulp from 'gulp'
import './gulpfile'

const result = gulp.task('one')()

With 4, you can also export the tasks from your gulpfile if you're trying to test them. The CLI picks these up too.
Here's what that would look like -
gulpfile.js:
import gulp from 'gulp'

export const two = () => Promise.resolve(11)
export const one = gulp.series(two, () => Promise.resolve(5))

code.js:
import { one, two } from './gulpfile'

const result = one()

thanks let me try that out

another question I have, just for context => the main reason I am interested in using Gulp programmatically is that it may offer some sophisticated ways to only run tasks once and cache the result. In fact, that is the primary reason I am interested in using it programmatically - I can compose tasks and if two different tasks (2,3) both depend on task 1, I can configure it so that task 1 only runs once, and caches the result. I assume this is possible with Gulp 4, if not then I might not use it. Sorry for sidetrack.

@ORESoftware Wrap your task functions with a module like http://npm.im/once

ok, cool, I can do that, but I think it would be really cool if Gulp did that natively

Tried this, I am getting undefined as a result
const util = require('util');
const gulp = module.exports = require('gulp');

const two = () => Promise.resolve(11);

const one = gulp.series(two, () => Promise.resolve(5));

gulp.task('one', one);
gulp.task('two', two);

const prelim = gulp.task('one');
const result = prelim();

console.log(util.inspect(prelim));
console.log(util.inspect(result));

very confused :/

@ORESoftware Maybe series isn't returning the value - @phated would have more info on that since he built the task system

series and parallel don't return results because they have nothing to return.  When invoking, you pass a callback function that passes the errors and results.
prelim(function(err, results) { console.log(err, results); });

Trying to do this with a babel-transpiled Gulpfile, Gulpfile.babel.js - doesn't work for me:
.../node_modules/DEPENDENCY/Gulpfile.babel.js:23
import gulp from "gulp"
^^^^^^
SyntaxError: Unexpected token import
    at Object.exports.runInThisContext (vm.js:76:16)
    at Module._compile (module.js:528:28)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .js] (.../node_modules/babel-watch/runner.js:63:7)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)

Somebody experiencing the same issues?

nah heres how you really do it
var gulp = require('gulp');
require('./gulpfile');

if (gulp.tasks.test) {
    console.log('gulpfile contains task!');
    gulp.start('test');
}

a gulpfile is just a node script, so you can require it in like any other.
As they said though, .start will be gone in 4.0 and replaced with series and parallel

This doesnt work for me. First of all start doesn't seem to be a function.  TypeError: gulp.start is not a function
Second, when I use your if statement. It doesn't pick up my task either.

Do you know why its not working?
(I can run the task with my defined npm start script which just runs  gulp watch

In case someone stumbles over this. It seems like the provided solution is deprecated.
I was able to achieve it via gulp.task('watch')();
gulp.task('taskname') will return the task itself. So we just need to invoke it with another pair if brackets ()


[Question] Mekanism Tools/Generators

Wondering what the two addons for mekanism contain
The Tools/Generators addons: http://cdn.minecraftmodarchive.org/Mekanism/Addons/
what do they add? obviously tools and gens, but specifically?

MekanismTools includes basic armor/tool sets.
MekanismGenerators includes all means of energy generation, including the new Fusion Reactor.


Allow to get activation list by a binding package name

Description
Users cannot query the activation list by a binding package name. And It also becomes ambiguous if there is a package that is the same as the original package name of the binding package.
This PR changes the activation list query to more clear.
Ambiguous case

/whisk.system/p1 (package, shared=yes)

a1 (action)

/guest/p1 (general package)  -> It's using same name as the above shared package

a1 (action)

/guest/p2 (binding package, /whisk.system/p1)
/guest/p3 (binding package, /whisk.system/p1)

In this case, the guest namespace cannot get the activations invoked only in the /guest/p1 package.
The entity name /whisk.system/p1/a1 and /guest/p1/a1 returns same results:
$ wsk activation list /whisk.system/p1/a1
Datetime            Activation ID                    Kind      Start Duration   Status  Entity
2020-06-12 13:18:19 692adad6d83d4172aadad6d83da17207 nodejs:10 cold  2.311s     success guest/a1:0.0.1
2020-06-12 13:17:39 f0223c6f2b2a4383a23c6f2b2af383cb nodejs:10 cold  2.856s     success guest/a1:0.0.1

$ wsk activation list /guest/p1/a1
Datetime            Activation ID                    Kind      Start Duration   Status  Entity
2020-06-12 13:18:19 692adad6d83d4172aadad6d83da17207 nodejs:10 cold  2.311s     success guest/a1:0.0.1
2020-06-12 13:17:39 f0223c6f2b2a4383a23c6f2b2af383cb nodejs:10 cold  2.856s     success guest/a1:0.0.1

User expected behavior for activations of binding package action
In general, the behavior expected by the user is to get activations for each binding package. They expect to see activations of the two binding packages separately.

/guest/p2 (binding package)
/guest/p3 (binding package)

$ wsk activation list /guest/p2/a1
2020-06-12 14:01:02 2853df16a7f74e9b93df16a7f79e9bc9 nodejs:10 warm  32ms       success guest/a1:0.0.1

$ wsk activation list /guest/p3/a1
2020-06-12 14:00:55 39b688aaea454884b688aaea456884c5 nodejs:10 cold  2.964s     success guest/a1:0.0.1

Related issue and scope

None

My changes affect the following components

[x] API
[x] Data stores (e.g., CouchDB)

Types of changes

[x] Enhancement or new feature (adds new functionality).
[x] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[x] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

Merging #4919 into master will decrease coverage by 5.79%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #4919      +/-   ##
==========================================
- Coverage   83.51%   77.72%   -5.80%
==========================================
  Files         201      201
  Lines        9441     9521      +80
  Branches      396      407      +11
==========================================
- Hits         7885     7400     -485
- Misses       1556     2121     +565

Impacted Files
Coverage Δ

...e/elasticsearch/ElasticSearchActivationStore.scala
83.95% <100.00%> (+0.30%)
:arrow_up:

...core/database/cosmosdb/RxObservableImplicits.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedConsumer.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0.00% <0.00%> (-96.23%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0.00% <0.00%> (-93.90%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0.00% <0.00%> (-92.31%)
:arrow_down:

...enwhisk/connector/kafka/KamonMetricsReporter.scala
0.00% <0.00%> (-83.34%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0.00% <0.00%> (-77.78%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0.00% <0.00%> (-74.08%)
:arrow_down:

... and 32 more

Continue to review full report at Codecov.

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

This would fix https://github.com/apache/openwhisk/issues/1843.

@rabbah Thank you for your review. I've added the v2.1.0 view again.

I am merging this with the confirmation from @rabbah again on Slack.


"ARAD" is a locality in "ARAD" county.

Descriptions
"ARAD" belongs to Arad county

Step 1
Acces the link https://peviitor-ro.github.io/ui.orase/
Expected result
The page opens


Add support to python 3

My friend thanks for this amazing library , but please would be possible add support to python 3.
I think that is only change iteritems by items() , return Bunch( (k, bunchify(v)) for k,v in items(x) ) .
thanks

Dupe of #17

Come on... Python2 is DEAD, not supporting Python3, really?

I did the following changes in /python3.8/site-packages/bunch/__init__.py to support Python3:
Line 245:  return Bunch( (k, bunchify(v)) for k,v in x.items() )
Line 270:  return dict( (k, unbunchify(v)) for k,v in x.items() )
Now from bunch import bunchify is working.


Vector3f is in client.util.math

It's not client-only (as of 1.15-pre1).

Hmm, these Vector stuff etc. are featured by their mutable fields and overwhelmingly client usage compared to their util.math counterparts. Interesting thing to look into.

The Vec and Vector naming is also very weird. It doesn't make sense to name two classes the same but with one name abbreviated. What's the important difference between Vector3d and Vec3d (why doesn't Mojang use a single class?).

we have Vec for immutable types and Vector for mutable types.

Then I think Vector Should be MutableVec.

@Yanis48 Actually I am not very sure on handling this yet; should we rename this to Vector3f to distinguish from the immutable vec3d in minecraft util math package and move to minecraft util math, or?

I think we should rename it to Vec3f, and move it to nm.util.math


RBAC Decision Strategy

It's about https://spiral.dev/docs/security-rbac/current/en
Description
Imagine that there are 2 user roles ROLE_USER, ROLE_BAD_GUY. Initially, the user has the ROLE_USER and has access to some area.
$actor->getRoles(); // ['ROLE_USER']
if ($guard->allows('some.area')) { // true
    return 'can read';
}

After the user gets the ROLE_BAD_GUY access to the the area should be denied.
$actor->getRoles(); // ['ROLE_USER', 'ROLE_BAD_GUY']
if ($guard->allows('some.area')) { // false
    return 'never get here';
}

Now this cannot be done because GuardScope allows access if as least one $allows = true.
https://github.com/spiral/framework/blob/0a0cd245739b014d583f25fb838c108afbab32d7/src/Framework/Security/GuardScope.php#L40
Solution
I ask you to realize something like Symfony decision manager. Then SF programmer can set DecisionStrategy for GuardScope
For example
final class GuardScope implements GuardInterface
{
    public function __construct(
        private readonly PermissionsInterface $permissions,
        private readonly DecisionMakerInterface $decisionMaker
         //...
    ) {
    }

    public function allows(string $permission, array $context = []): bool
    {
        $allowsList = [];
        foreach ($this->getRoles() as $role) {
            if (!$this->permissions->hasRole($role)) {
                continue;
            }

            $rule = $this->permissions->getRule($role, $permission);

            //Checking our rule
            $allowsList[] = $rule->allows($this->getActor(), $permission, $context);
        }

        return $this->decisionMaker->makeDecision($allowsList);
    }

    // ...
}

class AffirmativeDecisionMaker
{
    public function makeDecision(array $list): bool
    {
        return \array_reduce(
            $list,
            static fn (bool $res, bool $b) => $res || $b,
	    false
        );
    }
}

class ConsensusDecisionMaker {
    public function makeDecision(array $list): bool
    {
         $result = \array_reduce(
	    $list,
	    static fn (int $res, bool $b) => $res + ($b ? 1 : -1),
	    0
        );
        return $result > 0;
    }
}

class UnanimousDecisionMaker {
    public function makeDecision(array $list): bool
    {
      return \array_reduce(
          $list,
          static fn (bool $res, bool $b) => $res && $b,
	  true
      );
    }
}

At this moment GuardScope realize only Affirmative strategy. And this is not goot for me.

I've found more native way to achive this wtih Custom checker.


Implement az aks kshow command to display the diagnostics information

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[x] My extension description/summary conforms to the Extension Summary Guidelines.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/xizhamsft/azure-cli-extensions.git@xizha-peri#subdirectory=src/$EXT&egg=$EXT"


Data availability

Hi Adam,
Is the training data available somewhere? You mention Zenodo in the model train repo, but I cannot find a corresponding record there.
Thanks a lot for your help,
Best,
Adrian

Many thanks for pointing out that I never uploaded this! Was waiting on the review process to upload a final dataset, but alas it takes a long time, so I just went ahead and uploaded the current dataset. The link is here: https://doi.org/10.5281/zenodo.4058664 and I have also updated the README.md in the other repository with this link as well (https://github.com/adamhockenberry/bacphlip-model-dev). I note on Zenodo that the fullest explanation about how the dataset is structured is contained within the aforementioned model development repo/notebooks but it should still mostly make sense.
Let me know if you encounter any issues/questions and thanks for your feedback


Daily Report from refugee areas

We have a Refugee Daily Register form to show the type of information required for the northern border area
Basically it is just entering aggregated information for mortality, morbidity and then some additional figures on staffing, consultations etc. Around 10 tablets would be entering this single form and we would need to aggregate the forms data to produce a report. we have three types of report to make - the public health profile, communicable disease and a tabular report of information.
See example reports:
Zaatri Surveillance Report Week 04 2016.pdf
Zaatri Detailed Report Week 04 2016.pdf
Zaatri Profile Report Week 04 2016.pdf

The first version of form entry for refugee register can be found via this link:
https://jor1.emro.info/::YYYH
The plan would be for each clinic to simply complete this single form at the end of each day, rather than to be using case-based entry. The content of the form may change but hopefully this helps to understand the aggregated structure for the form.
We would need separate reports (as above) to aggregate the various forms from each clinic (we anticipate maximum of 10 tablets to be reporting each day).
I would appreciate your feedback but may be best to set up a separate instance of the site just for this emergency setting, as we have done for RMS?

I have included all variables ref_1 to ref_331 in the codes file, which basically covers mortality and morbidity due to CD, NCD, MH and Injuries.
ref_1 to ref_11 shows population, no of consultations, referrals indicators etc.
Some more conditions may be added etc but this is the core for the report. I will share the report template for content and calculated fields in a following comment.

Jordan | North Eastern Border Public Health Profile
Key Findings
Information reported in this public health profile represents cumulative cases reported from X outpatient clinics in the North Eastern Border up until end of Epidemiological Week X (X February 2016).
A total of X consultations and X cases reported from X health facilities.
X% female and X% under five years of age.
X% CMR, X% U5MR.
X% morbidity due to communicable disease, including other CD breakdown.
X% morbidity due to non-communicable disease, including NCD breakdown.
X% morbidity due to mental health conditions, including MH breakdown
Public Health Indicators

Health Utilisation Rate [(Total no of new consultations / Total population) * 12]
Number of consultations per clinician per day  [Total no of new consultations / Total no of clinicians / Days in reporting period]
Hospitalisation rate [Total no of referrals to hospital / Total no of new consultations]
Referral rate [Total no of referrals / Total no of new consultations]
Crude Mortality Rate (CMR) (/1000/month) [(Total number of mortality / Total population) * 1000]
Under-five Mortality Rate (U5MR) (/1000/month) [(Total number of U5 mortality / Total U5 population) * 1000]

Reporting Sites
As before
Demographics
As before
Presenting Complaint
As before, for CD, NCD, MH, Injuries
Gender
As before
Nationality
As before
Communicable Disease
As before
Non-Communicable Disease
As before
Mental Health
As before
Injuries
As before
More Information
Contact Information


Remove nope

console.log('nope') causes nope to be printed in formatted files

Fixed in another PR closing


Improve Design.

In this branch, I focused on improving the design and UX of the web page, I included a scroll bar on the leaderboard and I made the form display a message after the user submits.

Hi @PabloEGonz ,
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!

Highlights
passing linters ✅
good readme ✅
Required Changes ♻
Check the comments under the review.

please fix the broken link to you MIT license 👍🏾

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
You can also consider:

x
y
z

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


change apiVersion from apps/v1beta1 to apps/v1

Kubernetes 1.16 had following Changes:
Continued deprecation of extensions/v1beta1, apps/v1beta1, and apps/v1beta2 APIs; these extensions will be retired in 1.16!
What changes were proposed in this pull request?
change apiVersion from apps/v1beta1 to apps/v1
How was this patch tested?
local helm install on that repo.

It looks like @t-rap hasn't signed our Contributor License Agreement, yet.

The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen licence.
Wikipedia

You can read and sign our full Contributor License Agreement here.
Once you've signed reply with [clabot:check] to prove it.
Appreciation of efforts,
clabot


Support 'in' type guard of intersections

Fixes #37039.

 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.:x: pizzacat83 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


TileSet&TextureRegion: fix error when getting nonexistent tile

Fixes these:

Note to self: This currently isn't needed for 3.0.3 but if we merge the other related work into 3.0.x then this should come in also

Now that Godot 3.1 has been released, we only plan to cherry-pick critical bug fixes to the 3.0 branch, unless there is very strong support in favor of a specific non-critical issue. Removing cherrypick label for 3.0.


any way to use HUD overlay with CS xray?

is it possible to use this hud but use the in-game xray to show team/equipment? as default every player is the same color regardless of team and you can't see their in-game name or equipment.
let me know if this is possible or if i missed something in the customization/documentation.
thanks!

Not entirely sure if this is what you're asking, but at least in CS:GO you could tell the game to show the little triangle, their name, and their equipment above players' heads using these commands in the in-game console:
cl_drawhud_force_teamid_overhead 1
cl_teamid_overhead_mode 2

Not sure if these commands still exist in CS2, or if they've been renamed or something.

force_teamid_overhead 1 worked perfectly. thanks again!


Crash after recent update of flutter after a dart roll

I updated Flutter, and the analyzer crashed, which I already filed (#36494).  Then, after about 5 minutes it crashed again, with a different stack.  This is the second crash.
Version information

IDEA IC-191.6183.87
2.2.1-edge.896f1c4bb94a390c2969953626980d9de320cd84
IC-191.6183.87, JRE 1.8.0_202-release-1483-b39x64 JetBrains s.r.o, OS Linux(amd64) v4.19.20-1rodete1-amd64, screens 3840x2160, 3840x2160

Exception
Dart analysis server, SDK version 2.2.1-edge.896f1c4bb94a390c2969953626980d9de320cd84, server version 1.25.0, FATAL error: Bad state: Attempt to modify immutable list
#0      Driver._captureExceptions.errorFunction (package:analysis_server/src/server/driver.dart:579:7)
#1      _CustomZone.handleUncaughtError (dart:async/zone.dart:1003:19)
#2      _CustomZone.runGuarded (dart:async/zone.dart:925:7)
#3      _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#4      _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#5      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#6      _Timer._runTimers (dart:isolate-patch/timer_impl.dart:391:30)
#7      _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
#8      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

report.txt
1554479682649 => {"id":"34","method":"analysis.updateContent","params":{"files":{"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart":{"type":"add","conte
1554479682650 <= {"id":"34","result":{}}
1554479682650 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":true}}}
1554479682660 => {"id":"35","method":"edit.getAssists","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","offset":699,"length":0},"cli
1554479682682 <= {"event":"analysis.errors","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","errors":[]}}
1554479682683 <= {"id":"35","result":{"assists":[{"message":"Convert to block documentation comment","edits":[{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/foc
1554479682686 <= {"event":"analysis.highlights","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","regions":[{"type":"DIRECTIVE","offs
1554479682689 <= {"event":"analysis.navigation","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","regions":[{"offset":173,"length":12
1554479682689 <= {"event":"analysis.closingLabels","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","labels":[]}}
1554479682690 <= {"event":"analysis.outline","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","kind":"LIBRARY","outline":{"element":{
1554479682690 <= {"event":"analysis.overrides","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","overrides":[{"offset":17716,"length"
1554479682829 <= {"event":"completion.availableSuggestions","params":{"changedLibraries":[{"id":858,"uri":"package:flutter/src/widgets/focus_manager.dart","items":[{"label":"FocusNode","element":{"kin
1554479682850 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":false}}}
1554479683008 <= {"event":"analysis.implemented","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","classes":[{"offset":5574,"length":
1554479683330 => {"id":"36","method":"analysis.updateContent","params":{"files":{"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart":{"type":"add","conte
1554479683330 => {"id":"37","method":"completion.getSuggestions","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","offset":701},"clie
1554479683332 <= {"id":"36","result":{}}
1554479683333 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":true}}}
1554479683371 <= {"id":"37","result":{"id":"3"}}
1554479683372 <= {"event":"analysis.errors","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","errors":[]}}
1554479683374 <= {"event":"completion.results","params":{"id":"3","replacementOffset":701,"replacementLength":0,"results":[],"isLast":true,"includedSuggestionSets":[{"id":904,"relevance":5},{"id":966,
1554479683377 <= {"event":"analysis.highlights","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","regions":[{"type":"DIRECTIVE","offs
1554479683380 <= {"event":"analysis.navigation","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","regions":[{"offset":173,"length":12
1554479683380 <= {"event":"analysis.closingLabels","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","labels":[]}}
1554479683381 <= {"event":"analysis.outline","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","kind":"LIBRARY","outline":{"element":{
1554479683381 <= {"event":"analysis.overrides","params":{"file":"/usr/local/google/home/gspencer/code/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","overrides":[{"offset":17718,"length"
1554479683597 <= {"event":"server.error","params":{"isFatal":false,"message":"Captured exception","stackTrace":"Bad state: Attempt to modify immutable list\n#0      _FbList.length= (package:analyzer/s
1554479683597 <= {"event":"server.error","params":{"isFatal":false,"message":"Captured exception","stackTrace":"Bad state: Attempt to modify immutable list\n#0      _FbList.length= (package:analyzer/s
1554479683597 <= {"event":"server.error","params":{"isFatal":false,"message":"Captured exception","stackTrace":"Bad state: Attempt to modify immutable list\n#0      Driver._captureExceptions.errorFunc
1554479683597 <= {"event":"server.error","params":{"isFatal":false,"message":"Captured exception","stackTrace":"Bad state: Attempt to modify immutable list\n#0      Driver._captureExceptions.errorFunc

Closing in favor of consolidating with related crashes: https://github.com/dart-lang/sdk/issues/36496


Change Null-safe equal operator from cross join to hash join

ISSUE-2136
This commit change the join method from cross join to hash join when the equal operator is Null-safe '<=>'.
It will improve the speed of query which has the Null-safe equal operator.
The finds_nulls field is used to save if there is Null-safe operator.
The finds_nulls[i] is true means that the i-th equal operator is Null-safe.
The equal function in hash table will return true, if both val and loc are NULL when finds_nulls[i] is true.

#2155

#2136


dump power save block

Seems like this drops an idle lock on macOS, which doesn't seem great. I guess we will need a different solution to the problem I see where Electron goes idle.
cc @chrisnojima

seems like the kinda bug that you'd say:  "we should cut a release just to fix this."
wasting power does nobody any good.
just sayin'

thanks for the latest release!


Some Examples Of Useage

Hi,
Can you please give some example of usage?
maybe a complimentary js file with the example of:
{{#Multiselect name='myMultiselect' options=myOptions selected=selectedOptions }}     <option value="{{ _id }}" {{ attrs }}>{{ caption }}</option>   {{/Multiselect}}
myOptions and selectedOptions definitions..?
Thanks ahead.

Hi @asafshen,
I had the same frustration.  I compared emdagon version to JSSolutions.  They both had things I liked so I combined their features and created this: https://github.com/brucejo75/meteor-bootstrap-multiselect.
I am hoping it is more approachable for beginners (like me) and it has more features (being able to set config options).
Take a look and let me know what you think!  Any/all feedback welcome.

Based on this file Multiselect Template Js file on Github  the options and selected have to be:
Template.myTmpl.helpers({
  myOptions() {
    return [
      {_id: 'item-a', caption: 'Item A'},
      {_id: 'item-b', caption: 'Item B'},
      {_id: 'item-c', caption: 'Item C'},
    ]
  },
  selectedOptions() {
    return [ 'item-a', 'item-b' ]
  }
})

You can change the caption key by whatever you want (or add multiple keys) but you have to update the HTML part, Ex:
<option value="{{ _id }}" {{ attrs }}><strong>{{ name }}</strong>{{ desc }}</option>
Warning The selected options are based the _id so you can't update this one.


#790 .NET Core support

WIP!
The projects are building, and I added an SPA test project to be able to test the client (until we solve the hosting issue mentioned in #790). Tests are failing though, the test runner is missing some compiled method; I'll investigate that next.

We now have the compilers running on both net461 and netcoreapp2.0; however the output is invalid. In WebSharper.SPA.Tests, some methods are missing members. The test engine's computation expression builder (WebSharper.Testing.Pervasives.SubtestBuilder) has some methods present, such as Equal and IsTrue, while others are missing, such as IsTrueAsync and PropertyWithSample. These methods are present in WebSharper.Testing.dll's embedded JS file, which means they got removed by the bundler's dead code elimination. Something in the dependency graph is not right.

The above issue was fixed, compiler output seems correct now. I'm updating *.paket.template to generate correct NuGet packages.


Use BWA to add read groups

We should use the -R flag  to add read groups.

There were some problems with that.... I can't remember what, but it's why
I have a separate step for that!
On May 4, 2016 10:40 PM, "Jacob Pfeil"<EMAIL_ADDRESS>wrote:

We should use the -R flag to add read groups.
-R STR read group header line such as '@RG https://github.com/RG
\tID:foo\tSM:bar'
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/BD2KGenomics/protect/issues/21


smart move the map when mouse cursor near borders of map.

Test case:
Use branch 230:
Use Cesium.
Plot a polygon. edit polygon by dragging control point to border of map where the smart map move is activated. The test is a success if the control point stays with the mouse cursor while the map is smart moving. The test is also a success if smart map move ends when positioning the mouse cursor away from  the map area.
I think the editing sometimes brake but I don't think is the engine's fault. The editors in the core needs to get more robust handling the recovery of map motion modes. Sometimes cancelling an edit does not cancel the edit and the smart map mode continues.

Reintegrate

Merged into the dev branch. closing this issue.


PopupMenuButton's elevation is not being respected when using useMaterial3

Steps to Reproduce

Execute flutter run on the code sample
Click on the PopupMenuButton.
You will see a menu without elevation.

Expected results:
According to material3  specs for Menus we should be able to see elevation.
(Side note that #91605 doesnt state any progress of the migration of Menu while in the material site says it is in progress)

When running the sample code and not using the useMaterial3 flag it shows elevation as it should.

Actual results:
As you can see without elevation its very hard to notice the popup menu.

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(),
      home: Scaffold(
          appBar: AppBar(
        actions: [
          PopupMenuButton(
            itemBuilder: (context) => List.generate(
                4, (index) => PopupMenuItem(child: Text('Item $index'))),
          )
        ],
      )),
    );
  }
}

Logs
[√] Flutter (Channel stable, 3.0.1, on Microsoft Windows [Version 10.0.22000.675], locale en-MY)
    • Flutter version 3.0.1 at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (12 days ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[√] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at C:\Users\samue\AppData\Local\Android\sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] VS Code (version 1.67.2)
    • VS Code at C:\Users\samue\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.40.0

[√] Connected device (4 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 12 (API 31) (emulator)
    • Windows (desktop)            • windows       • windows-x64    • Microsoft Windows [Version 10.0.22000.675]
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome 102.0.5005.62
    • Edge (web)                   • edge          • web-javascript • Microsoft Edge 101.0.1210.53

[√] HTTP Host Availability
    • All required HTTP hosts are available

Workaround
Since I rely on userMaterial3 for my app I cant disable it. But a workaround is to disable it only for the PopupMenuButton like this.
Theme(
            data: Theme.of(context).copyWith(useMaterial3: false),
            child: PopupMenuButton(
              itemBuilder: (context) => List.generate(
                  4, (index) => PopupMenuItem(child: Text('Item $index'))),
            ),
          )

or
specify the shadowColor in ThemeData. HOWEVER, this doesn't work if you already specify the colorScheme and no specifying the shadow property in ColorScheme doesnt fix the issue too. So if you use colorScheme in you app you have no choice but to use the solution above.
This code will still give the same issue
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
          useMaterial3: true,
          shadowColor: Colors.black,
          colorScheme: const ColorScheme.light(shadow: Colors.black)),
      home: Scaffold(
          appBar: AppBar(
        actions: [
          PopupMenuButton(
            itemBuilder: (context) => List.generate(
                4, (index) => PopupMenuItem(child: Text('Item $index'))),
          )
        ],
      )),
    );
  }
}

The real solution here would be to expose the shadowColor to the PopupMenuButton constructor so that we can specify it or give it a default value or follow the colorScheme's shadow property?
https://github.com/flutter/flutter/blob/3d62732d6044284a71e0f577a17b75280663667f/packages/flutter/lib/src/material/popup_menu.dart#L604-L613
This is not really a bug per se because according to the doc this is the expected behavior of using the userMaterial3 flag. (See https://github.com/flutter/flutter/issues/102296#issuecomment-1105813048). However, as a side effect, we made the PopupMenuButton not follow the material spec.
I would love to contribute and fix this issue if this is actually an issue and my solution is more than sufficient or I just have overlooked a way to enable elevation.

Hi @Mayb3Nots
PopupMenuButton for Material 3 is being tracked in https://github.com/flutter/flutter/issues/91605 by https://github.com/flutter/flutter/issues/101017 and the https://github.com/flutter/flutter/pull/103606 will support for Material 3.
Closing for https://github.com/flutter/flutter/issues/101017


Portable RTK Base Station Setup

I am trying to configure the base and rover stations having exactly this setup: https://docs.holybro.com/gps-and-rtk-system/f9p-h-rtk-series/portable-rtk-base-station-setup
For Base RTK UBLOX U-Center app:
    PRT: UART1, 57600 baud, RCTM3 out, UBX in…press send button in lower left
    TMODE3: Survey-in, 60seconds, 2 meters…press send
    MSG: RTCM3.3 - 1005, UART1 in/out, 1sec…press send
    RTCM3.3 - 1074, UART1 in/out, 1sec…press send
    RTCM3.3 - 1084, UART1 in/out, 1sec…press send
    RTCM3.3 - 1094, UART1 in/out, 1sec…press send
    RTCM3.3 - 1124, UART1 in/out, 1sec…press send
    RTCM3.3 - 1230, UART1 in/out, 5sec…press send
    CFG: Save current configuration to FLASH…press send

For the Base:
       params_base= [
        {'DEVICE_SERIAL_STRING': "esab"},
        {'FRAME_ID': "base"},
        # config measurement interval to 200 ms (ie 5 Hz) and nav update rate to once per measurement
        {'CFG_RATE_MEAS': 0xc8},
        {'CFG_RATE_NAV': 0x1},

        # disable all messages on UART2
        {'CFG_UART2INPROT_NMEA': False},
        {'CFG_UART2INPROT_RTCM3X': False},
        {'CFG_UART2INPROT_UBX': False},
        {'CFG_UART2OUTPROT_NMEA': False},
        {'CFG_UART2OUTPROT_RTCM3X': False},
        {'CFG_UART2OUTPROT_UBX': False},

        # set UART1 baud rate to 57600
        {'CFG-UART1-BAUDRATE': 0xE100},

        # send RTCM messages only (to rover) on UART1
        {'CFG_UART1INPROT_NMEA': False},
        {'CFG_UART1INPROT_RTCM3X': False},
        {'CFG_UART1INPROT_UBX': False},
        {'CFG_UART1OUTPROT_NMEA': False},
        {'CFG_UART1OUTPROT_RTCM3X': True},
        {'CFG_UART1OUTPROT_UBX': False},

        # RTCM and UBX messages as required on USB
        {'CFG_USBINPROT_NMEA': False},
        {'CFG_USBINPROT_RTCM3X': True},
        {'CFG_USBINPROT_UBX': True},
        {'CFG_USBOUTPROT_NMEA': False},
        {'CFG_USBOUTPROT_RTCM3X': False},
        {'CFG_USBOUTPROT_UBX': True},

        # output RTCM messages required for moving base+rover mode on UART2
        {'CFG-MSGOUT-RTCM_3X_TYPE4072_0_UART1': 0x1},
        {'CFG-MSGOUT-RTCM_3X_TYPE1074_UART1': 0x1},
        {'CFG-MSGOUT-RTCM_3X_TYPE1084_UART1': 0x1},
        {'CFG-MSGOUT-RTCM_3X_TYPE1124_UART1': 0x1},
        {'CFG-MSGOUT-RTCM_3X_TYPE1230_UART1': 0x1},

        # messages required for navsatfix calcs by ROS node
        {'CFG_MSGOUT_UBX_NAV_HPPOSLLH_USB': 0x1},
        {'CFG_MSGOUT_UBX_NAV_COV_USB': 0x1},
        {'CFG_MSGOUT_UBX_NAV_STATUS_USB': 0x1},
        {'CFG_MSGOUT_UBX_NAV_PVT_USB': 0x1},
        ]

For the Rover UBLOX U-Center app,:
    PRT: UART2, 57600Kbaud, RCTM3 in, UBX out…press send
    CFG: Save current configuration to FLASH…press send

For the Rover:
        params_rover = [
        {'DEVICE_SERIAL_STRING': "revor"},
        {'FRAME_ID': "rover"},

        # config measurement interval to 200 ms (ie 5 Hz) and nav update rate to once per measurement
        {'CFG_RATE_MEAS': 0xc8},
        {'CFG_RATE_NAV': 0x1},

        # disable all messages on UART1
        {'CFG_UART1INPROT_NMEA': False},
        {'CFG_UART1INPROT_RTCM3X': False},
        {'CFG_UART1INPROT_UBX': False},
        {'CFG_UART1OUTPROT_NMEA': False},
        {'CFG_UART1OUTPROT_RTCM3X': False},
        {'CFG_UART1OUTPROT_UBX': False},

        # set UART2 baud rate to 57600
        {'CFG-UART2-BAUDRATE': 0xE100},

        # receive RTCM messages only (from base) on UART2
        {'CFG_UART2INPROT_NMEA': False},
        {'CFG_UART2INPROT_RTCM3X': True},
        {'CFG_UART2INPROT_UBX': False},
        {'CFG_UART2OUTPROT_NMEA': False},
        {'CFG_UART2OUTPROT_RTCM3X': False},
        {'CFG_UART2OUTPROT_UBX': False},

        # send/receive UBX messages only on USB
        {'CFG_USBINPROT_NMEA': False},
        {'CFG_USBINPROT_RTCM3X': False},
        {'CFG_USBINPROT_UBX': True},
        {'CFG_USBOUTPROT_NMEA': False},
        {'CFG_USBOUTPROT_RTCM3X': False},
        {'CFG_USBOUTPROT_UBX': True},

        # messages required for navsatfix calcs by ROS node
        {'CFG_MSGOUT_UBX_NAV_HPPOSLLH_USB': 0x1},
        {'CFG_MSGOUT_UBX_NAV_COV_USB': 0x1},
        {'CFG_MSGOUT_UBX_NAV_STATUS_USB': 0x1},
        {'CFG_MSGOUT_UBX_NAV_PVT_USB': 0x1},

        # output relative position messages
        {'CFG_MSGOUT_UBX_NAV_RELPOSNED_USB': 0x1},
        ]

However, I can not see the base and rover communicating. Is there a way to debug?
From Base ros2 topic echo /base/ubx_nav_status:
       header:
      stamp:
        sec:<PHONE_NUMBER>
        nanosec: 466416165
      frame_id: base
    itow: 403600400
    gps_fix:
      fix_type: 3
    gps_fix_ok: true
    diff_soln: false
    wkn_set: true
    tow_set: true
    diff_corr: false
    carr_soln_valid: true
    map_matching:
      status: 0
    psm:
      state: 0
    spoof_det:
      state: 2
    carr_soln:
      status: 0
    ttff: 12622
    msss: 4355423

From Rover ros2 topic echo /rover/ubx_nav_status:
  header:
    stamp:
      sec:<PHONE_NUMBER>
      nanosec: 285342624
    frame_id: rover
  itow: 403486200
  gps_fix:
    fix_type: 3
  gps_fix_ok: true
  diff_soln: false
  wkn_set: true
  tow_set: true
  diff_corr: false
  carr_soln_valid: true
  map_matching:
    status: 0
  psm:
    state: 0
  spoof_det:
    state: 2
  carr_soln:
    status: 0
  ttff: 4549
  msss: 4392950

A few suggestions.

Have you set the device serial strings for both base and rover devices using u-center first?

There appears to be a typo in the device serial string specified for the rover.  Is this intentional?
        params_rover = [      {'DEVICE_SERIAL_STRING': "revor"},

The Holybro setup you refer to is for a fixed base, moving rover config.  The launch files you have above are for a moving base + rover config which is very different.  What setup do you actually have?

In a moving base+rover config, the only communications between the two devices are RTCM messages sent from the moving base to the rover via UART or USB.  You will not see these as ROS topics.

When you launch the ublox_dgnss node, do you see any ROS warnings, errors or other messages which might provide guidance on the issues you're having?

Hi @gsokoll ,

Yes, I've set them  revor and esab, actually I wanted to set rover and base, but when I converted them to hex I got these. But However, with serial numbers these strings are correct.

Nope, that is correct.

I want to have a fixed base, however, communication between the base and rover should be over telemetry; UART1 for the base and UART2 for the rover.  I have disabled UART2 from the base and UART1 from the rover. Also, set input and output accordingly. Can I know which part is wrong in the above configs?

Nope, both start fine, and it gives the correct lat lon coordinates as well over fix topic

In the Rover node,  I can see these warning messages:
[component_container_mt-1] [WARN] [1708680541.414113402] [gps.ublox_dgnss]: parameter supplied: CFG_UART2INPROT_NMEA is not recognised. Ignoring!
[component_container_mt-1] [INFO] [1708680541.414120559] [gps.ublox_dgnss]: parameter supplied: CFG_UART2INPROT_RTCM3X
[component_container_mt-1] [WARN] [1708680541.414128636] [gps.ublox_dgnss]: parameter supplied: CFG_UART2INPROT_RTCM3X is not recognised. Ignoring!
[component_container_mt-1] [INFO] [1708680541.414135467] [gps.ublox_dgnss]: parameter supplied: CFG_UART2INPROT_UBX
[component_container_mt-1] [WARN] [1708680541.414143351] [gps.ublox_dgnss]: parameter supplied: CFG_UART2INPROT_UBX is not recognised. Ignoring!
[component_container_mt-1] [INFO] [1708680541.414149512] [gps.ublox_dgnss]: parameter supplied: CFG_UART2OUTPROT_NMEA
[component_container_mt-1] [WARN] [1708680541.414157356] [gps.ublox_dgnss]: parameter supplied: CFG_UART2OUTPROT_NMEA is not recognised. Ignoring!
[component_container_mt-1] [INFO] [1708680541.414163287] [gps.ublox_dgnss]: parameter supplied: CFG_UART2OUTPROT_RTCM3X
[component_container_mt-1] [WARN] [1708680541.414173721] [gps.ublox_dgnss]: parameter supplied: CFG_UART2OUTPROT_RTCM3X is not recognised. Ignoring!
[component_container_mt-1] [INFO] [1708680541.414180205] [gps.ublox_dgnss]: parameter supplied: CFG_UART2OUTPROT_UBX
[component_container_mt-1] [WARN] [1708680541.414188224] [gps.ublox_dgnss]: parameter supplied: CFG_UART2OUTPROT_UBX is not recognised. Ignoring!

@GPrathap believe @gsokoll is going to update the read me. Can you please set those parameters coming up with a warning in u-center (saved to flash). Not all the parameters listed are in the published cfg_item.hpp file as yet. There are so many parameters for the device we need to maybe refactor how we tackle this moving forward... so the work around is to set them via u-center in flash memory. Once set they dont need to change - hence can comment out in the launch file to

Thank youu, I will update them using U-center and update here

Thank you ... part of the reason to turn some messages off or change frequency is to reduce the load on the F9P processor. It's limited the amount of work it can do.

Hi @hortovanyi , @gsokoll
I've commented out this from base
        # disable all messages on UART2
        # {'CFG_UART2INPROT_NMEA': False},
        # {'CFG_UART2INPROT_RTCM3X': False},
        # {'CFG_UART2INPROT_UBX': False},
        # {'CFG_UART2OUTPROT_NMEA': False},
        # {'CFG_UART2OUTPROT_RTCM3X': False},
        # {'CFG_UART2OUTPROT_UBX': False},

        # set UART1 baud rate to 57600
        # {'CFG-UART1-BAUDRATE': 0xE100},

        # send RTCM messages only (to rover) on UART1
        # {'CFG_UART1INPROT_NMEA': False},
        # {'CFG_UART1INPROT_RTCM3X': False},
        # {'CFG_UART1INPROT_UBX': False},
        # {'CFG_UART1OUTPROT_NMEA': False},
        # {'CFG_UART1OUTPROT_RTCM3X': True},
        # {'CFG_UART1OUTPROT_UBX': False},

And I've commented out this from rover
        # # disable all messages on UART1
        # {'CFG_UART1INPROT_NMEA': False},
        # {'CFG_UART1INPROT_RTCM3X': False},
        # {'CFG_UART1INPROT_UBX': False},
        # {'CFG_UART1OUTPROT_NMEA': False},
        # {'CFG_UART1OUTPROT_RTCM3X': False},
        # {'CFG_UART1OUTPROT_UBX': False},

        # set UART2 baud rate to 57600
        # {'CFG-UART2-BAUDRATE': 0xE100},

        # # receive RTCM messages only (from base) on UART2
        # {'CFG_UART2INPROT_NMEA': False},
        # {'CFG_UART2INPROT_RTCM3X': True},
        # {'CFG_UART2INPROT_UBX': False},
        # {'CFG_UART2OUTPROT_NMEA': False},
        # {'CFG_UART2OUTPROT_RTCM3X': False},
        # {'CFG_UART2OUTPROT_UBX': False},

However, this is what I've noticed.
Config for rover  using U-center

Then I run the rover (https://github.com/aussierobots/ublox_dgnss/blob/main/ublox_dgnss/launch/ublox_mb%2Br_rover.launch.py),
After that I plug back to

U-Center and check its values
For base it is fine, nothing has overwritten. Is this a bug or If I configure rover also using UART1 will it be fine?
Thanks,
Geesara

@GPrathap it will depend how you have physically wired your devices up. If the CFG items are in ubx_cfg_item.hpp  such as CFG_UART1* then its ok to set them in the launch file..... I myself dont have two F9Ps so to configure it need to make sure you are following whats in the UBLOX documentation

@GPrathap as already mentioned by @hortovanyi, the example launch files for moving base+rover config include many configuration items which the ublox_dgnss driver currently does not support.  This was an oversight and will be fixed shortly.  You should configure these directly using u-center.  You may need to use the "Generation 9 configuration view" to set some of these.
But there still seems to be a conflict in what you're trying to achieve.  You stated above that you want to use a moving base + rover, however your base is stationary.  "Moving base" means the base station is physically attached and moves with the rover.  It is only used in order to provide heading data.  Sections <IP_ADDRESS> and <IP_ADDRESS> of the F9P integration manual describes these, and notes the different RTCM messages that should be used for each.

@hortovanyi @gsokoll Thank you very much! I will try to configure with the Generation 9 configuration view
Sure, I will check the section Sections <IP_ADDRESS> and <IP_ADDRESS>
However, in the first place, I want to verify whether communication happens between two modules over telemetry using URAT1 or UART2. What could be a possible way to verify that first place?

How to configure device sequence strings that are entered
Is the Generation 9 configuration view configured in CFG-USB?

@ noob3-3  you need to use  UBX-CFG-VALSET , CFG-USB is read only
Have a look here: https://portal.u-blox.com/s/question/0D52p0000C7vMxjCQE/neom9n-change-usb-serial-number

Thanks to the big boss, the configuration is ready, my revor and base are started normally. Go outside and test it tomorrow. My base station's RTCM can also be released to ros. But which topic gets accurate positioning information and heading Angle? There is also how far away the antennas of the two cars need to be, and the distance value of the antenna does not need to be set to the program?

You should output UBX_NAV_HPPOSLLH, UBX_NAV_COV, UBX_NAV_STATUS, UBX_NAV_PVT messages to get navsatfix ROS2 messages.  Can be from either (or both) the base and/or rover.  See comments about "ROS2 NAVSATFIX Messages" in the readme file.
The UBX-NAV-RELPOSNED messages from the rover provides information on calculated heading and distance between the  two antenna.  You can compare it against the known physical seperation as an indication of a valid solution.  See section 2.4 of the ZED-F9P Moving base app note, and comments about "Moving Base and Rover" in the readme.

Thanks to the big boss, the configuration is ready, my revor and base are started normally. Go outside and test it tomorrow. My base station's RTCM can also be released to ros. But which topic gets accurate positioning information and heading Angle? There is also how far away the antennas of the two cars need to be, and the distance value of the antenna does not need to be set to the program?

How did you go @noob3-3 ? interested if you got it all working?

@noob3-3 @GPrathap Do you have more details, how can i set "DEVICE_SERIAL_STRING" with string instead of int by using UBX-CFG-VALSET?
I can't change information here in figure as follow. After send i use params_rover = [ {'DEVICE_SERIAL_STRING': "0x50650015"}, i got this error: [ERROR] [component_container_mt-1]: process has died [pid 22548, exit code -11, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args -r __node:=ublox_dgnss_moving_base -r __ns:=/'].

Maybe a SOLUTION: If there is problem with UART communication between moving base and rover, although the set up is in a way that moving base is sending RTCM to rover and I expected to have the cabling like Tx (Moving Base) -> Rx (Rover)!
But supersize supersize!
Connect Rx of moving base to Tx of rover, in my case this worked and not otherwise!
Specifically, I am using two Ardusimple F9P 2B, you can connect Tx of Rx of zigbee headers via a wire, which is considered as UART2 of Ublox. if corrections are being send from moving base, the "GPS>XBEE" led should blink and if corrections are being received via rover,  "XBEE>GPS" led should blink.
Beside configuring the UART-in in u-center for sending and receiving RTCM3 , you have to enable below msgs for UART2:
RTCM 4072.0
RTCM 1077
RTCM 1087
RTCM 1097
RTCM 1127
RTCM 1230
Comment out uart2 configuration parameters in launch files.

感谢大佬，配置已经准备好了，我的revor和base都正常启动了。明天出去测试一下。我的基站的RTCM也可以发布到ros。但哪个主题能够获得准确的定位信息和航向角度呢？还有就是两辆车的天线需要距离多远，天线的距离值不需要给程序设置？

你是怎么去的@noob3-3？如果你一切正常的话有兴趣吗？

Having recently been delayed by other matters, I was finally able to obtain positioning and heading data using F9P, but not through this project, but using other python libraries to implement the functionality on their own. Because I am not familiar with c++, I cannot troubleshoot code problems. After the completion of the work in hand, I still want to continue to learn this project, and I feel that the implementation of this project is relatively elegant.

It should be noted that there are some differences between the fixed base station sending rtm to the mobile base station and the mobile base station sending rtcm to the mobile mobile station. I failed to use this project because part of automatic configuration could not be successfully configured, so I think it is possible to add a flag bit to determine whether the code is automatically configured or the user manually configured. At the same time, I provide the configuration file of u-center, and let the user try the manual position when the program configuration is wrong


AttributeError: ‘torch.dtype’ object has no attribute 'type'

when I executed the training on Macro placement, I got this error:
AttributeError: ‘torch.dtype’ object has no attribute 'type'
I refer to this solution: https://discuss.pytorch.org/t/attributeerror-torch-dtype-object-has-no-attribute-type/135871
but then I got this:

I wonder whether editing code is needed or not
Thanks

I have updated main.py, so the problem won't happen any more.

I have updated main.py, so the problem won't happen any more.

actually I downloaded the code three days before, and I saw you updated the file on April 5th, but I still got this error

Hi all, I found a way to work around this.
Replace the print statement in line 194 inside main.py with the following:
            print(                 "Updates {}, num timesteps {}, FPS {} \n Last {} training episodes: mean/median reward {:.1f}/{:.1f}, min/max reward {:.1f}/{:.1f}\n"                 .format(j, total_num_steps,                         int(total_num_steps / (end - start)),                         len(episode_rewards), torch.mean(torch.stack(list(episode_rewards))),                         torch.median(torch.stack(list(episode_rewards))), torch.min(torch.stack(list(episode_rewards))),                         torch.max(torch.stack(list(episode_rewards))), dist_entropy, value_loss,                         action_loss))
Basically, episode_rewards as a collection.deque object with a list of tensor objects cannot be input to NumPy directly. Here, I convert it to a list and then stack the value together. I changed all the functions to the corresponding torch functions.
Please let me know if there are any mistakes. Hope this helps!

Hi all, I found a way to work around this. Replace the print statement in line 194 inside main.py with the following:  print( "Updates {}, num timesteps {}, FPS {} \n Last {} training episodes: mean/median reward {:.1f}/{:.1f}, min/max reward {:.1f}/{:.1f}\n" .format(j, total_num_steps, int(total_num_steps / (end - start)), len(episode_rewards), torch.mean(torch.stack(list(episode_rewards))), torch.median(torch.stack(list(episode_rewards))), torch.min(torch.stack(list(episode_rewards))), torch.max(torch.stack(list(episode_rewards))), dist_entropy, value_loss, action_loss))
Basically, episode_rewards as a collection.deque object with a list of tensor objects cannot be input to NumPy directly. Here, I convert it to a list and then stack the value together. I changed all the functions to the corresponding torch functions.
Please let me know if there are any mistakes. Hope this helps!

Thanks for your solution! I have solved this problem by your method.


chore: Enable execute command on aws ecs services

This allows executing commands from the AWS CLI directly on the containers for troubleshooting.
See https://aws.amazon.com/about-aws/whats-new/2021/03/amazon-ecs-now-allows-you-to-run-commands-in-a-container-running-on-amazon-ec2-or-aws-fargate/ for more info.

Benchmark results
Metrics with a significant change:

protocol_circuit_simulation_time_in_ms (private-kernel-tail-to-public): 837 (-44%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,773
1,559
710 (+1%)
760 (+2%)
770 (+1%)

proof_construction_time_sha256_30_ms
11,888
3,181
1,418
1,465 (+1%)
1,477

proof_construction_time_sha256_100_ms
45,424
12,031
5,447
5,410 (-1%)
5,377

proof_construction_time_poseidon_hash_ms
78.0
34.0
34.0
59.0 (+2%)
88.0 (-1%)

proof_construction_time_poseidon_hash_30_ms
1,529
422
202
233
268 (-1%)

proof_construction_time_poseidon_hash_100_ms
5,651
1,546 (+2%)
680
731 (+1%)
750 (+1%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
4,324
7,844
14,852

l1_rollup_calldata_gas
49,696
92,500
177,668

l1_rollup_execution_gas
1,294,359
2,042,131
3,869,338

l2_block_processing_time_in_ms
259 (-3%)
449 (+1%)
812

l2_block_building_time_in_ms
9,289
18,164
36,431 (+1%)

l2_block_rollup_simulation_time_in_ms
9,289
18,164
36,430 (+1%)

l2_block_public_tx_process_time_in_ms
7,858 (+1%)
16,611
34,820 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
2,939 (-1%)
3,853 (+1%)

node_database_size_in_bytes
12,730,448
16,834,640

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms
bytecode_size_in_bytes

FeeJuice:_increase_public_balance
55.8 (+5%)
8,139

FeeJuice:set_portal
10.3 (+1%)
2,362

Token:constructor
84.6
31,107

FPC:constructor
56.8 (+4%)
22,380

FeeJuice:mint_public
38.6
6,150

Token:mint_public
71.8 (+14%)
11,720

Token:assert_minter_and_mint
40.0 (-1%)
8,028

AuthRegistry:set_authorized
36.2 (-4%)
4,537

FPC:prepare_fee
234 (-2%)
8,812

Token:transfer_public
23.1 (+11%)
47,374

FPC:pay_refund
54.2 (-4%)
12,114

Benchmarking:increment_balance
972
7,450

Token:_increase_public_balance
39.8 (-7%)
8,960

FPC:pay_refund_with_shielded_rebate
67.3 (-5%)
12,663

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.164

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
2.17
3.88 (-3%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.112
0.109 (-3%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
11.5
17.8 (+2%)
31.2 (+2%)
59.5 (+1%)
114 (+2%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.110
0.103 (+1%)
0.102 (+2%)
0.102
0.102 (+1%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
14.3 (-1%)
25.9 (+2%)
44.2 (+2%)
82.9
161 (+1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.109 (-2%)
0.104 (+1%)
0.107 (+2%)
0.102
0.102 (+1%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
16.4
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
132
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.105
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
64,779
668,997

Transaction size based on fee payment method
| Metric |  |
| - |  |


Adding documentation for MLflow integration

Hi team! I’m Yuki Watanabe, a maintainer of MLflow.
We’ve implemented tracing integration with AutoGen, allowing users to view detailed agent steps in AutoGen executions with just one line of code. Additionally, users can track the AutoGen agent as a model within MLflow.
For more details, check out our blog post: Autogen Agent Integration.

I was wondering if we can document about this feature in AutoGen doc for user awareness. The Agent Observability page seems like a possible fit, though it currently focuses on AgentOps. If this isn’t the best location, could you suggest an alternative? Thank you!

Hi @B-Step62 - we are developing guidance to help clarify how we will accept external contrib and docs going forward. stay tuned.

@rysweet Could you kindly provide an update on this?


Pre-built files

Hi! I am a member of CDNJS.
We've received a request to add this library. However, we didn't see any pre-built files on npm. Would you please upload those files for us? Thanks!

Built file pdfkit.standalone.js for browsers is available in npm package.


Support for xiFDR input

supports input of files from xiSearch / xiFDR

input is auto selected based on file ending: xlsx for MS Annika, csv for xi

improvement of scan number reader

Todo:

[ ] write tests
[ ] test


Ability to control user-agent would be just swell

Some RSS feed providers refuse connections according to user-agent strings (one, two)
It sure would be real nice to be able to pass in a custom user-agent string so that I'm able to use feedparser-clj to consume feeds that I'm already able to consume from the browser or curl.

Something like the following would do the trick, but any change to the arity of parse-feed would be a breaking change that I'd rather leave to someone else:
First, add (java.net HttpURLConnection) to (:require).
Then, modify parse-feed so that it handles the following arity (which conflicts with the existing content-type arity):
([feedsource ua]
       (parse-internal (new XmlReader (if (string? feedsource)
                                        (doto (cast HttpURLConnection
                                                    (.openConnection (URL. feedsource)))
                                          (.setRequestProperty  "User-Agent" ua))
                                        feedsource))))

Currently it's possible to do this by passing in the HttpURLConnection, for example:
(rss/parse-feed (doto (cast HttpURLConnection
                              (.openConnection (URL. "http://www.whatever/feed.xml")))
                    (.setRequestProperty  "User-Agent"
                                          "Mozilla /5.0 (Compatible MSIE 9.0;Windows NT 6.1;WOW64; Trident/5.0)")))

...but I think this is functionality that belongs inside feedparser-clj.


Basic SwiftMonkey-Implementation via pods fails with “Bundle couldn't be loaded”

Hi Everyone!
I've been trying to add a SwiftMonkey-Target to my current project for several hours, and nothing seems to work.
The Example-Project is working. Everything is set up the same way / According to instructions.
Running on XCode 10.1
Pods installed (to iOS 11.0 base level)
SwiftMonkeyPaws imported to AppDelegate, paws assigned on startup
New UI-Test Deploy-Target with the example testMonkey()-function
Scheme set to "test" only (not run), as in example-project
Scheme Deploy-Target set to 11.0

This is the test-code (identical to example-code without comments):
import XCTest
import SwiftMonkey

class AdviceAppMonkeyTests: XCTestCase {

override func setUp() {
    super.setUp()
    XCUIApplication().launch()
}

override func tearDown() {
    super.tearDown()
}

func testMonkey() {
    let application = XCUIApplication()
    _ = application.descendants(matching: .any).element(boundBy: 0).frame
    let monkey = Monkey(frame: application.frame)
    monkey.addDefaultXCTestPrivateActions()
    monkey.addDefaultUIAutomationActions()
    monkey.addXCTestTapAlertAction(interval: 100, application: application)
    monkey.monkeyAround(forDuration: 10)
}
}

And this is the Podfile:

platform :ios, '11.0'
use_frameworks!

def advice_pods
    pod 'SwiftyJSON'
    pod 'Firebase/Core'
    pod 'Firebase/AdMob'
    pod 'SwiftLint'
    pod 'SwiftMonkeyPaws', '~> 2.1.0'
    pod 'SwiftMonkey', '~> 2.1.0'
end

target 'AdviceApp' do
    advice_pods
end

target 'Daily Advice' do
    advice_pods
end

target 'AdviceAppTests' do
    advice_pods
end

target 'AdviceAppMonkeyTests' do
    advice_pods
end

When I run the test I get a "test failed" warning as well as this:
2019-01-07 10:15:54.790962+0100 AdviceAppMonkeyTests-Runner[14731:110840] The bundle “AdviceAppMonkeyTests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle. 2019-01-07 10:15:54.791073+0100 AdviceAppMonkeyTests-Runner[14731:110840] (dlopen_preflight(/Users/matthias.zarzecki/Library/Developer/Xcode/DerivedData/AdviceApp-hantxpruajwefgbjvzwhvlvwhmrh/Build/Products/Debug-iphonesimulator/AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/AdviceAppMonkeyTests): Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib Referenced from: /Users/matthias.zarzecki/Library/Developer/Xcode/DerivedData/AdviceApp-hantxpruajwefgbjvzwhvlvwhmrh/Build/Products/Debug-iphonesimulator/AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/Frameworks/SwiftMonkey.framework/SwiftMonkey Reason: image not found)
Do you have any ideas what I could try out?

Hey @matthiaszarzecki! I have created a sample project (TestSwiftMonkey) in which I integrated both SwiftMonkey and SwiftMonkeyPaws pods. It have tested it on a simulator and on a real device and the "monkey tests" ran on both. Could you please have a look whether the project works for you as well?

Cool, thanks @wojciechczerski!
Your project does actually work on my computer, huh. Did we maybe set it up differently?
I recreated mine again too (failing to work, legacy-build-fix not enabled) and uploaded it. Does it maybe work on your side? SwiftMonkeyForZalando
Here are the steps I did:

Create new project (without ui-tests attached)
Add new UI-Test-Target
Add target to schemes
Check that new MonkeyTesting-Scheme is set to "test" and "run" only
Add PodFile
Add SwiftMonkeyPaws for main target, MonkeyPaws for MonkeyTesting-Target
Close Xcode
Install Pods
Open XCWorkSpace-file
Add monkeyPaws-display to appDelegate
Add basic monkey-Test
Run tests from SwiftMonkeyInstallForZalandoMonkeyTesting-file

@matthiaszarzecki Thanks for sharing the project! I did some investigation and assuming it does compile on your machine at all (I'll explain this later), the fix most likely is to move use_frameworks! from the top of the Podfile to the SwiftMonkeyInstallForZalando target, like that:
platform :ios, '11.0'

target 'SwiftMonkeyInstallForZalando' do
  use_frameworks!
  pod 'SwiftMonkeyPaws'
end

target 'SwiftMonkeyInstallForZalandoMonkeyTesting' do
  pod 'SwiftMonkey'
end

In my case your project did not compile at all. After I ran pod install, opened the workspace and tried to build it, I got an error caused by missing files:

I deleted the Pods folder and opened the SwiftMonkeyInstallForZalando.xcodeproj (not the workspace!). The project looked like this:

The project should not contain references to the Pods directory. I removed this reference, saved the SwiftMonkeyInstallForZalando.xcodeproj and ran the pod install again. After opening the workspace, the project did not contain missing files and it could build:

With these changes I was able to build and run the app but the tests were still failing to run. I didn't get exactly the error you had:

SwiftMonkeyInstallForZalandoMonkeyTesting-Runner.app (35153) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying error: The test runner failed to load the test bundle. Executable cannot be loaded for some other reason, such as a problem with a library it depends on or a code signature/entitlements mismatch.))

At this point making a change to the Podfile that I mentioned solved the issue and the tests could run.
NOTE: I did all testing using CocoaPods version 1.5.3. Your Podfile.lock indicates you are using 1.6.0.beta.2 which could generate the workspace differently. Perhaps you could also update your CocoaPods installation to the latest 1.6.0.rc.2 (if you need to use 1.6 version, otherwise stable 1.5 should work fine).

@wojciechczerski good idea looking into the CocoaPods-Version, I didn't think of that!
I think it's the use_frameworks! :D
I just did several tests with the project I provided earlier, and the actual project I've been trying to add MonkeyTests too.
Setting it to the actual build-engine (not legacy) and adding use_frameworks to the main target in the podfile makes it work.
Counter-Test: Putting it at the top of the podfile again (and doing a pod deintegrate, pod install) then triggers an error on run. Putting it back into the main targets and doing a clean pod-install with deintegrate before works again :)
This is a way more satisfying solution than putting it into legacy-build-mode ;P

@matthiaszarzecki Glad to hear that it worked! If it is solved for you, can we close this issue?

Thank you so much @wojciechczerski! Yes, this is done then. Would of course love to see your pod-install-instructions on the main page be updated with this new info :)


ceilometer: dpkg error processing of ceilometer packages due to dependency problems

Problem with Ceilometer  installation on Ubuntu 14.04
Openstack liberty
> Distributor ID:	Ubuntu
> Description:	Ubuntu 14.04.5 LTS
> Release:	14.04 Codename:	trusty
> 138-Ubuntu SMP Fri Jun 24 17:00:34 UTC
> 2016 x86_64 x86_64 x86_64 GNU/Linux

Complaining about dpkg error processing of ceilometer packages due to dependency problems:
apt-get install ceilometer-api ceilometer-collector \
ceilometer-agent-central ceilometer-agent-notification \
ceilometer-alarm-evaluator ceilometer-alarm-notifier \
python-ceilometerclient

Reading package lists... Done Building
dependency tree        Reading state
information... Done The following
extra packages will be installed:
ceilometer-common python-ceilometer
Suggested packages:   python-pysnmp4
The following NEW packages will be
installed:   ceilometer-agent-central
ceilometer-agent-notification
ceilometer-alarm-evaluator
ceilometer-alarm-notifier
ceilometer-api   ceilometer-collector
ceilometer-common python-ceilometer
python-ceilometerclient 0 upgraded, 9
newly installed, 0 to remove and 0 not
upgraded. Need to get 0 B/597 kB of
archives. After this operation, 8,214
kB of additional disk space will be
used. Do you want to continue? [Y/n] Y
Selecting previously unselected
package python-ceilometerclient.
(Reading database ... 110527 files and
directories currently installed.)
Preparing to unpack
.../python-ceilometerclient_1.0.8-0ubuntu1_all.deb
... Unpacking python-ceilometerclient
(1.0.8-0ubuntu1) ... Selecting
previously unselected package
python-ceilometer. Preparing to unpack
.../python-ceilometer_2014.1.5-0ubuntu2_all.deb
... Unpacking python-ceilometer
(2014.1.5-0ubuntu2) ... Selecting
previously unselected package
ceilometer-common. Preparing to unpack
.../ceilometer-common_2014.1.5-0ubuntu2_all.deb
... Unpacking ceilometer-common
(2014.1.5-0ubuntu2) ... Selecting
previously unselected package
ceilometer-agent-central. Preparing to
unpack
.../ceilometer-agent-central_2014.1.5-0ubuntu2_all.deb
... Unpacking ceilometer-agent-central
(2014.1.5-0ubuntu2) ... Selecting
previously unselected package
ceilometer-agent-notification.
Preparing to unpack
.../ceilometer-agent-notification_2014.1.5-0ubuntu2_all.deb
... Unpacking
ceilometer-agent-notification
(2014.1.5-0ubuntu2) ... Selecting
previously unselected package
ceilometer-alarm-evaluator. Preparing
to unpack
.../ceilometer-alarm-evaluator_2014.1.5-0ubuntu2_all.deb
... Unpacking
ceilometer-alarm-evaluator
(2014.1.5-0ubuntu2) ... Selecting
previously unselected package
ceilometer-alarm-notifier. Preparing
to unpack
.../ceilometer-alarm-notifier_2014.1.5-0ubuntu2_all.deb
... Unpacking
ceilometer-alarm-notifier
(2014.1.5-0ubuntu2) ... Selecting
previously unselected package
ceilometer-api. Preparing to unpack
.../ceilometer-api_2014.1.5-0ubuntu2_all.deb
... Unpacking ceilometer-api
(2014.1.5-0ubuntu2) ... Selecting
previously unselected package
ceilometer-collector. Preparing to
unpack
.../ceilometer-collector_2014.1.5-0ubuntu2_all.deb
... Unpacking ceilometer-collector
(2014.1.5-0ubuntu2) ... Processing
triggers for ureadahead (0.100.0-16)
... Setting up python-ceilometerclient
(1.0.8-0ubuntu1) ... Setting up
python-ceilometer (2014.1.5-0ubuntu2)
... Setting up ceilometer-common
(2014.1.5-0ubuntu2) ... Traceback
(most recent call last):   File
"/usr/bin/ceilometer-dbsync", line 6,
in
from ceilometer.cli import storage_dbsync   File
"/usr/lib/python2.7/dist-packages/ceilometer/cli.py",
line 32, in
from oslo.config import cfg ImportError: No module named config
dpkg: error processing package
ceilometer-common (--configure):
subprocess installed post-installation
script returned error exit status 1
dpkg: dependency problems prevent
configuration of
ceilometer-agent-central:
ceilometer-agent-central depends on
ceilometer-common (=
2014.1.5-0ubuntu2); however:   Package ceilometer-common is not configured
yet.
dpkg: error processing package
ceilometer-agent-central
(--configure):  dependency problems -
leaving unconfigured dpkg: dependency
problems prevent configuration of
ceilometer-agent-notification:
ceilometer-agent-notification depends
on ceilometer-common (=
2014.1.5-0ubuntu2); however:   Package ceilometer-common is not configured
yet.
dpkg: error processing package
ceilometer-agent-notification
(--configure):  dependency problems -
leaving unconfigured dpkg: dependency
problems prevent configuration of
ceilometer-alarm-evaluator:
ceilometer-alarm-evaluator depends on
ceilometer-common (=
2014.1.5-0ubuntu2); however:   Package ceilometer-coNo apport report written
because the error message indicates
its a followup error from a previous
failure.
No apport report written because the
error message indicates its a followup
error from a previous failure.
No apport report written because
MaxReports is reached already
No apport report written because
MaxReports is reached already
No apport report written because
MaxReports is reached already
No apport report written because
MaxReports is reached already
mmon is not configured yet.
dpkg: error processing package
ceilometer-alarm-evaluator
(--configure):  dependency problems -
leaving unconfigured dpkg: dependency
problems prevent configuration of
ceilometer-alarm-notifier:
ceilometer-alarm-notifier depends on
ceilometer-common (=
2014.1.5-0ubuntu2); however:   Package ceilometer-common is not configured
yet.
dpkg: error processing package
ceilometer-alarm-notifier
(--configure):  dependency problems -
leaving unconfigured dpkg: dependency
problems prevent configuration of
ceilometer-api:  ceilometer-api
depends on ceilometer-common (=
2014.1.5-0ubuntu2); however:   Package ceilometer-common is not configured
yet.
dpkg: error processing package
ceilometer-api (--configure):
dependency problems - leaving
unconfigured dpkg: dependency problems
prevent configuration of
ceilometer-collector:
ceilometer-collector depends on
ceilometer-common (=
2014.1.5-0ubuntu2); however:   Package ceilometer-common is not configured
yet.
dpkg: error processing package
ceilometer-collector (--configure):
dependency problems - leaving
unconfigured Errors were encountered
while processing:  ceilometer-common
ceilometer-agent-central
ceilometer-agent-notification
ceilometer-alarm-evaluator
ceilometer-alarm-notifier
ceilometer-api  ceilometer-collector
E: Sub-process /usr/bin/dpkg returned
an error code (1)

Tried to remove-purge the packages and upgrade the system, no success:
sudo apt-get purge ceilometer-api ceilometer-collector ceilometer-agent-central ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier python-ceilometerclient
sudo apt-get --purge autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/ceilometer/ /var/log/ceilometer
sudo deluser ceilometer
sudo apt-get update
sudo apt-get dist-upgrade

Issue solved by installing the appropriate Liberty repository
apt-get install software-properties-common
add-apt-repository cloud-archive:liberty
apt-get update && apt-get dist-upgrade


vals: 0.37.8 -> 0.38.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/helmfile/vals/releases.
meta.description for vals is: Helm-like configuration values loader with support for various sources
meta.homepage for vals is: https://github.com/helmfile/vals
meta.changelog for vals is: https://github.com/helmfile/vals/releases/v0.38.0
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.38.0 with grep in /nix/store/jxj4y5xa6pppglaid290bjcyrrrwcwyx-vals-0.38.0
found 0.38.0 in filename of file in /nix/store/jxj4y5xa6pppglaid290bjcyrrrwcwyx-vals-0.38.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

vals

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/af971f3091c27e2e11f792d9578b5f935492ebcf#vals

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

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

x86_64-linux

:white_check_mark: 1 package built:

vals

Maintainer pings
cc @stehessel for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 364832

aarch64-darwin

:white_check_mark: 1 package built:

vals


Chat is not displayed in the console

Since the chat is rewritten as system messages there is no longer output to the console. Config option and console output would be nice.

fixed in 0.27.3


Missing Mongoose methods

The two methods allowDiskUse and exec aren't supported as of today.

Wow I would love to have I would love for this to be merged.