Excessive secret resources generation issue with starborad scanning

What steps did you take and what happened:
Environment : OpenShift v.4.7
Aqua v6.2.x
Aqua Enforcer installed with non-privileged mode
Kube Enforcer with starboard installed
When we perform an scan using starboard, it created a scan job and a secret. But when scan failed secret didn't get deleted. In customer env its not deleted even when scan is successful.
due to this It created multiple secrets around 80k in customer env.
What did you expect to happen:
Temp secrets should be auto-deleted even when scan is successful or failed.

I'm seeing the same symptoms on EKS, hundreds of secrets created in the starboard namespace.
Environment: EKS (1.20)
Starboard-Operator 0.13.2

It would be very helpful to see some logs streamed by Starboard Operator's pod and minimal reproduction steps on upstream K8s cluster. We have limited capacity to support managed platforms. In particular, I'd like to see what is the root cause of scan jobs failing, which probably prevents us from cleaning up orphaned Secrets. I assume it's related to some PSP or admission control that prevents scan jobs from running successfully, but we need more details to advice.

Today this killed the secrets api in one of our clusters ....
kubectl get secrets -n starboard-operator | grep -c Opaque
Error from server (Timeout): the server was unable to return a response in the time allotted, but may still be processing the request (get secrets)
7500

In our case the issue was the plugin "polaris" which kept failing. I let it run for a day in which it produced 203 Error Logs in the starboard-operator and left 1569 secrets behind. I'm not sure how these numbers correlate, maybe there are 7-8 retries on average? Removing the plugin stopped the errors and stopped leaving secrets behind.
The secrets which are left behind contain the values worker.password and worker.username
I'm not able to track the issue down further because the scan jobs immediately die and won't leave logs. Here is the logentry from the starboard-operator (reformatted for better readability):
{
  "level": "error",
  "ts":<PHONE_NUMBER>.9482412,
  "logger": "reconciler.configauditreport",
  "msg": "Scan job container",
  "job": "starboard-operator/scan-configauditreport-797f6d9d6d",
  "container": "polaris",
  "status.reason": "Error",
  "status.message": "",
  "stacktrace": "github.com/aquasecurity/starboard/pkg/operator/controller.(*ConfigAuditReportReconciler).reconcileJobs.func1
	/home/runner/work/starboard/starboard/pkg/operator/controller/configauditreport.go:363\nsigs.k8s.io/controller-runtime/pkg/reconcile.Func.Reconcile
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/reconcile/reconcile.go:102\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227"
}

I found the parameter to disable polaris and let it run for over an hour. So far no error logs regarding polaris and also no secrets being stuck. Alternatively I tried to switch to Conftest instead of Polaris but received different errors and abandoned the idea.
Here is the parameter to disable configAuditScanner and therefore polaris as well.
operator: {
              configAuditScannerEnabled: false,
}

Thank you for the feedback @MPritsch We are actually working on so called built-in configuration audit scanner that is going to displace Polaris and Conftest plugins in the upcoming release. It won't create Kubernetes Job objects nor Secrets and it will be much faster. See #971 for more details.

We now have a working version with polaris. The underlying issue were missing IAM permissions. We also needed to use polaris 4.2 instead of 5.0.
Every starup of the starboard-operator we received "401 Unauthorized: Not Authorized" error for AWS Images from ECR. E.g.:
{
  "level": "error",
  "ts":<PHONE_NUMBER>.6945415,
  "logger": "reconciler.vulnerabilityreport",
  "msg": "Scan job container",
  "job": "starboard-operator/scan-vulnerabilityreport-6cd9546b84",
  "container": "fluent-bit",
  "status.reason": "Error",
  "status.message": "2022-03-01T08:36:33.091Z\t\u001b[31mFATAL\u001b[0m\tscanner initialize error: unable to initialize the docker scanner: 3 errors occurred:
	* unable to inspect the image<PHONE_NUMBER>24.dkr.ecr.eu-central-1.amazonaws.com/aws-for-fluent-bit:2.21.5): Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
	* unable to initialize Podman client: no podman socket found: stat podman/podman.sock: no such file or directory
	* GET https://906394416424.dkr.ecr.eu-central-1.amazonaws.com/v2/aws-for-fluent-bit/manifests/2.21.5: unexpected status code 401 Unauthorized: Not Authorized",
  "stacktrace": "github.com/aquasecurity/starboard/pkg/operator/controller.(*VulnerabilityReportReconciler).reconcileJobs.func1
	/home/runner/work/starboard/starboard/pkg/operator/controller/vulnerabilityreport.go:320
sigs.k8s.io/controller-runtime/pkg/reconcile.Func.Reconcile
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/reconcile/reconcile.go:102
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:114
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:311
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227"
}

These were the Images which produced the error. The account IDs are from AWS, not from us:
602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon-k8s-cni:v1.10.1
602401143452.dkr.ecr.eu-central-1.amazonaws.com/eks/kube-proxy:v1.21.2-eksbuild.2
602401143452.dkr.ecr.eu-central-1.amazonaws.com/eks/coredns:v1.8.4-eksbuild.1
906394416424.dkr.ecr.eu-central-1.amazonaws.com/aws-for-fluent-bit:2.21.5

The solution for these images was giving following permissions to starboard (as described by the 'Important' block here https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html)
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:ListImages",
                "ecr:BatchGetImage"
            ],
            "Resource": [
                "arn:aws:ecr:*:602401143452:repository/*",
                "arn:aws:ecr:*:906394416424:repository/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": "ecr:GetAuthorizationToken",
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

This probably would have been much easier to debug with proper error messages from polaris...

We've marked this issue as won't fix because we merged #971 that performs configuration audits without creating Kubernetes Jobs and Secrets. We call it a built-in configuration audit scanner and it will be enabled by default in the upcoming v0.15.0 release. Polaris and Conftest will be deprecated at some point.
We'll keep this issue open until v0.15.0 is released.

Just a quick update. While we were able to fix the secret creation and errors on one cluster, another one keeps creating secrets. Not sure if this is a permission problem again, although we don't see any errors regarding them. We will disable Polaris completely and wait for your v0.15.0 release to replace it.


Add option to pass arguments to node on test/run (#267)

Description of the change
First pass at --node-args (fix #267)
$ spago run
Installation complete.
Build succeeded.
["/usr/bin/node"]
$ spago run -n "foo bar"
Installation complete.
Build succeeded.
["/usr/bin/node","foo","bar"]

Checklist:

[x] Added the change to the "Unreleased" section of the changelog
[x] Added some example of the new feature to the README
[ ] Added a test for the contribution (if applicable)

Looks great, thank you! 👏

I want to ask a question about this feature. Currently spago executes a javascript expression in run and test. This strategy changes the behavior of option passing when we compare it to directly running bundle:
$ node output/bundle.js --help

passes three values: [PATH_TO_NODE, PATH_TO_SCRIPT, "--help"]
$ spago run --node-args --help

passes option directly to node and not to the purescript module. This is how node processes arguments with -e option.
$ spago run --node-args "-- --help"

passes two values [PATH_TO_NODE, "--help"]
Libraries like purescript-optparse here or purescript-aptlicative here assume the first two arguments to be node path and script name. I think that we should think about consistent solution command arguments passing as this can be really important during testing or even development.
What do you think Guys?

@paluh if I read your comment correctly this should be fixed in master (went in with #297), so it will ship with the next release

Yeah! Thanks!

You're welcome 🙂


Allow base64 password

Small request for an awesome plugin!
Would make it easier to transition from Filezilla.
Maybe with a new parameter?
"passdecode": "base64",
Thanks!

I can not see its meaning, it can be decoded in minutes :/
https://www.base64decode.org
FileZilla I think is plain text, but only show hash. This is not working here.

Yes, it's not a security feature. Just to skip that decoding step (I'm moving 100+ sites from filezilla to remote ftp). 5 seconds * 100 sites :P

uhhf :)


Update broken data structure

Summary

Fixed broken structure for imagenet, mapillary_vistas format.

How to test

Checklist

[X] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues

License

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

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

Codecov Report
Base: 84.64% // Head: 84.12% // Decreases project coverage by -0.51% :warning:

Coverage data is based on head (7dbfe7c) compared to base (c5327b3).
Patch has no changes to coverable lines.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #766      +/-   ##
===========================================
- Coverage    84.64%   84.12%   -0.52%
===========================================
  Files          157      157
  Lines        21925    21925
  Branches      4804     4799       -5
===========================================
- Hits         18558    18445     -113
- Misses        2263     2389     +126
+ Partials      1104     1091      -13

Flag
Coverage Δ

macos-10.15_Python-3.7
?

macos-10.15_Python-3.8
?

macos-10.15_Python-3.9
?

ubuntu-20.04_Python-3.10
84.12% <ø> (ø)

ubuntu-20.04_Python-3.7
?

ubuntu-20.04_Python-3.8
?

ubuntu-20.04_Python-3.9
?

windows-2019_Python-3.7
?

windows-2019_Python-3.9
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

datumaro/plugins/synthetic_data/utils.py
17.94% <0.00%> (-64.11%)
:arrow_down:

datumaro/plugins/synthetic_data/image_generator.py
69.93% <0.00%> (-12.89%)
:arrow_down:

datumaro/util/os_util.py
69.69% <0.00%> (-7.58%)
:arrow_down:

datumaro/plugins/mars_format.py
86.15% <0.00%> (-3.08%)
:arrow_down:

datumaro/util/test_utils.py
88.39% <0.00%> (-1.11%)
:arrow_down:

datumaro/plugins/yolo_format/extractor.py
89.75% <0.00%> (-0.61%)
:arrow_down:

datumaro/plugins/kitti_raw_format/extractor.py
85.47% <0.00%> (-0.56%)
:arrow_down:

datumaro/plugins/icdar_format/extractor.py
87.09% <0.00%> (-0.47%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

What is this PR for?
Currently, in the document https://openvinotoolkit.github.io/datumaro/docs/formats/imagenet/, we can choose imagenet or imagenet_txt through tab as below.


Updates to make the webcode work with the new regulation api

These should make the webcode work with the new regulation api on master as soon as this pull request:
https://github.com/Ensembl/ensembl/pull/216
has been merged into Ensembl core.

Thanks, Michael - I'll merge it in after db handover, so that we don't break the web team's sandboxes

Are the core patches that are needed to get this working on staging committed ?

Core has merged my pull request. It should all work.

@ens-ap5 - could you take a look at this conflict ?

Which conflict? I did the merge ages ago.
Anne

On 22 Nov 2017, at 14:47, Steve Trevanion<EMAIL_ADDRESS>wrote:
@ens-ap5 https://github.com/ens-ap5 - could you take a look at this conflict ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/Ensembl/ensembl-webcode/pull/588#issuecomment-346371026, or mute the thread https://github.com/notifications/unsubscribe-auth/AF0sTxpzdbFesQB3DiKN5PjutKM8cw-7ks5s5DPvgaJpZM4PtyYi.

OK, done


ArangoDB of devel demonized start using "--supervisor" option of arangod ends up in hanging child DBServer process

My Environment

ArangoDB Version:        self-compiled devel branch from 2d9e5288ab
Storage Engine:             any
Deployment Mode:       Single Server
Configuration:               supervisor mode
Infrastructure:               own
Operating System:        Ubuntu 16.04
Used Package:              other

Component, Query & Data
Affected feature: ArangoDB startup using arangod in supervisor mode

AQL query (if applicable):
AQL explain (if applicable):

Dataset:

Steps to reproduce

Clone and compile ArangoDB of described version using plain cmake without any flags in descibed environment.
Execute the command arangod --supervisor true --database.directory ./tmp/db --pid-file ./tmp/arangod.pid --log.file ./tmp/arangod.log assuming that
Explore process tree and attach to the spawned (should be noted in pid file) using GDB.

Problem:
The spawned DBServer process has 1 single thread and is blocked somwhere in the dtor of IResearchFeature - bt.log.
Expected result:
The spawned DBServer process executing and ArangoDB is ready.

Checked with current devel. Was fixed in PR #5882.


Improve the issue with nanoX operations

Load/delete operation on device are disabled by default for nanox, because it requires a Test device.
It is possible to use the setting checkbox tostill try to use the features
Could we have a better way to handle this, with clear error message, or whatever if the operation fails?

Fixed in #55


Permit print to work with and without newline

print x
print x newline

Where newline is an optional keyword (like if on an else or into on external)

Clear
Doesn't clutter the statement selector
Prompts the user each time whether or not they want a newline

Note print without either an expression or option will have no observable effect.

Mostly done but currently stashed. Remaining issues:

If you are selected on a field (c.f. the frame) then adjacent optional field is being rendered in amber-on-white - it should be grey-on-white.

(here, cursor is on the expression field)

If sameline option is taken, then on re-selecting the field, the completion shows up again

Abandoning this, as it has proven unnecessarily difficult for the value added. If you don't want a newline between items either:

Use a string with multiple interpolated fields
Build up a string from items (e.g. in a loop) and then print it as one string.
Use the Character Mapped Display


Initialising a grid below minWidth disables resize and move

I found some odd behaviour when i was refreshing my browser and found that when a grid initialises and has less space than the minWidth resize and move gets disabled.
At time of writing (Sep 2016) you can see this happening on the gridstack home page demo grid (https://troolee.github.io/gridstack.js/), just resize your browser to less than 770px wide (i think thats the default minWidth) and then hit refresh and you will see that the grid is disabled.
I found a workaround in my project by setting the minWidth to 0 which is fine for my project but might be problematic if people want to use the single column mode.

So the media query breaking point is 768 for mobile view. The grid is disabled on dragging items yes, but once you've resized the window above 768 the grid is active again and you're able to move the objects around.

minWidth indicates a bound after which gridstack changed to one-column mode (for mobile devices). In this mode drag/drop function is disabled.

I'm seeing a similar issue where I set the minWidth to be 1280, refresh the page, and the drag/drop functionality disables around 1100 and the column mode does not enable until a width of about 685. Overall inconsistent based on the minWidth value. Only seeing this issue when refreshing the browser - once the screen has been made wider and and brought back down, it disappears.


Update our existing emoji set.

Currently we are using NotoColorEmoji and AndroidEmoji. It seems that we last updated them in June last year. There have been significant changes in NotoColorEmoji like addition of new gendered professions, rainbow flag, single parent families etc. So it seems a good idea to upgrade them.

@zulipbot claim


The liquidityFile is too large. Is there a faster way to get the poolInfo from two tokens?

Whenever the swap executes the program will call the following codes to get the poolInfo  to load the liquidity file. The file is 467MB. Is there a better and faster way to get the poolInfo?
await raydiumSwap.loadPoolKeys(Raydium_Liquidity_File);

let poolInfo = raydiumSwap.findPoolInfoForTokens(sourceToken, destinationToken);

You are right , did you find any other way to find be poolInfo faster ?

Hey guys, a valid point. I updated the project to only use the trimmed version. Check the TLDR quick run section as it has the details https://github.com/chainstacklabs/raydium-sdk-swap-example-typescript/blob/main/README.md#tldr-quick-run

❯ ts-node ./trimMainnet.ts
Error: Cannot create a string longer than 0x1fffffe8 characters
    at Object.readFileSync (node:fs:441:20)
    at trimMainnetJson (/home/me/repos/work/raydium-sdk-swap-example-typescript/src/trimMainnet.ts:31:39)
    at Object.<anonymous> (/home/me/repos/work/raydium-sdk-swap-example-typescript/src/trimMainnet.ts:58:1)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Module.m._compile (/home/me/.local/share/mise/installs/node/22.8.0/lib/node_modules/ts-node/src/index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)
    at Object.require.extensions.<computed> [as .ts] (/home/me/.local/share/mise/installs/node/22.8.0/lib/node_modules/ts-node/src/index.ts:1621:12)
    at Module.load (node:internal/modules/cjs/loader:1317:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1127:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14) {
  code: 'ERR_STRING_TOO_LONG'
}

Unsure if this is OS specific or not, I'm using Arch Linux and Node v22.8.0.
In my main project I'm using JSONStream to load the JSON in chunks rather than loading the full file at once. Maybe something similar should be done for the trim script?


Incorrect Demo

Incorrect Demo for RecyclerViewFastScroller shows demo for AndroidTreeView

@LachlanGoodhew
Hi.
thanks
https://github.com/wasabeef/awesome-android-ui/commit/06678b9d5b70b96f3c3399e6bbd465db294821e7


Channel reordering via Shift stopped working

(reported by Kobold)

https://github.com/lucasmerlin/hello_egui looks cool


Touch with drag and drop

Using drag and drop to play a game, touch is not working on Windows with Edge

I tested if drag and drop DOM events are handled by mobile browsers -> No.
As already discussed implementing a drag and drop functionality using the DOM touch events seems to be overcomplicated for this scenario.


megaparsec 4.4.0 causes hspec-megaparsec test failure

Ping @mrkkrp
  ./Test/Hspec/Megaparsec.hs:182:
  1) failsLeaving works
       the parser is expected to leave unconsumed input: "xxa"
       but it left this: "a"

Yes, I expected this (unfortunately I didn't have enough time to publish updated version of hspec-megaparsec on the same day). This is due to the fact that new version of Megaparsec returns exact parser state at the moment when parser fails (when functions for incremental parsing are used), while older versions work fine with succeeding parsers, but sort of “backtrack” on failure (in terms of returned state).
hspec-megaparsec-0.1.1 is now on Hackage, it will work with all Megaparsec versions just fine, you can remove the megaparsec < 4.4.0 constraint, I guess.

Ping @DanBurton. Is there anything else that needs to be done in order to allow Megaparsec 4.4.0?

That should be it, we'll try it in the next nightly.

https://www.stackage.org/nightly-2016-02-23/package/megaparsec-4.4.0


Is it possible Object Tracking in a video?

Hi,
I would like to know if is it possible to give a file video as input setting the configuration?

Hi @ablanda,
Could you clarify what you'd like to do? Running object tracking on a video or live video feed can be done using YOLO (without OpenPTrack), or you can test how well your custom object training did on a pre-recorded video by following this section of the wiki. Please let me know if I've misunderstood the question!

Not easily, but you could use the Yolo code directly to achieve this.  https://pjreddie.com/darknet/yolo/


[Bug] recordHomeFlexipage2 not visible in navexConsoleTabset

Actual behavior

recordHomeFlexipage2 object not visible when inside a tabset

[ ] Unable to compile a Page Object

[ ] Invalid generated code

[x] Runtime error

What is your expected behavior?

When nested in navexConsoleTabset, a recordHomeFlexipage2 object should be reachable
Steps to reproduce

Record (recordHomeFlexipage2 object) nested in tabSet:

import Flexipage from "salesforce-pageobjects/global/pageObjects/recordHomeFlexipage2";

const flexiPage = await utam.load(Flexipage);
await flexiPage.waitForVisible();
const tabSet = await flexiPage.getTabset();
await (await tabSet.getTabBar()).clickTab("Details");

Returns timeout error even thought the page and record are displayed. So a step to select active content is missing?
Error: waitForVisible method did not complete within timeout 10000ms.
Environment

Node.js: 14.19.3
OS: linux
Browser: chrome
Browser Version: 105

Additional context

await utam.load(Flexipage) loads and waits for Flexipage presence, why call waitForVisible()? Most likely record home has "size" 0, so visibility is always false. So first thing to do is to remove await flexiPage.waitForVisible();
Based on your screenshot, you have console navigation in your app, record home or tabset that you're trying to use are for standard navigation and will not work. AFAIK there is no page objects that do that for console navigation.
A little tip as to how to find which page object to use is in the article here https://utam.dev/salesforce/use-pageobject or even better there is browser extension for that helps https://utam.dev/tools/browser-extension

Thank you for quick reply,

indeed, it was me trying additional wait to try and troubleshoot
that's the root of the problem there, so if there's no page object covering console navigation, I'll have to find another way. Please keep me posted if you think of something by anychance.
Will look it up, that would make life easier. Thank you for the tip.

No worries, I will close the bug for now, does not seem we can do anything.
Feel free to open another if you have further issues.


[Bug Report] el-select with multiple and filterable property, when I input a char by a composition input method, the 'Enter' action may select the first option.

Element UI version
2.4.5
OS/Browsers version
MacOS Mojave / Chrome 81.0.4044.138
Vue version
2.5.2
Reproduction Link
https://codepen.io/liushengxi123/pen/yLYqbea
Steps to reproduce

select the first option
clear the selected item
type 'a' character by a composition input method, such as Chinese Input Method
press 'ENTER' key, then the first option is selected.

What is Expected?
The first option should not be selected while 'ENTER' the search string.
What is actually happening?
This issue happens on Chrome. Safari and Firefox works ok.

选择首项
清空选择框
用中文输入法输入‘a'字符，通过回车键让字符'a'上屏到输入框
结果发现首项被选中了

Chrome浏览器出现，safari/firefox都没有出现这个bug


Merge from master

Issue Link :link:

Goals :soccer:

Implementation Details :construction:

Testing Details :mag:

It compiles and build.. but the candle stick has viewport issue with our app.  Not sure if it's our code or theirs.. but I will just patch to make it work with xcode 14.


Re-add Noxinfluencer

Noxinfluencer appears to have been locked behind a login-wall for several months now. I would still like to keep it in, though. Maybe authenticating via cookies could work.

The system should be that if https://www.noxinfluencer.com/youtube/video-analytics/{id} returns with 200 note as Available and link it and 404 as Not Available. The search engine is locked behind a login-wall but if you have the direct link it's fine.

@JaxonPlays Unfortunately, while I did have that system for awhile, I eventually got blocked by Cloudflare.
Wasn't aware that the direct URLs were accessible, though, thanks!


Merge & remove develop branch

I've been merging these changes into a develop branch to keep them out of master but I think it would be best to drop develop and keep master as the primary development branch.
develop currently only contains changes from the following PRs. However two of these PRs (#87 and #89) required a fairly substantial refactor so the number of changes is quite large. All changes have been tested on their appropriate PRs.

#87
#88
#89

Updated :F (read source file) operator to use resolveFile() implemented in #93


502 <Model.otto.otto8.ai "text-embedding-3-small" not found\n>

I'm trying to use text-embedding-3-small with Azure OpenAI. I have this configured in Otto8. I have deleted all other model configurations. The only two model configurations I have:

text-embedding-3-small as a text-embedding model
gpt-4o as the default as an agent

When attempting to ingest a knowledge document, an error occurs:
failed to ingest file: ingestion failed for at least one file: failed to add documents from file "ws://directory:///data/.local/share/otto8/workspace-provider/af4accb1-396c-4152-a027-d2be574a9783/.conversion/image-streams-manage.txt.json": couldn't add document '28a9c87f-a0f4-4ea3-9959-c219f8ab07e2': couldn't create embedding of document: error sending request(s): retry limit (5) exceeded or failed with non-retriable error(s): #1/5: 502 <Model.otto.otto8.ai "text-embedding-3-small" not found > (err: <nil>); #2/5: 502 <Model.otto.otto8.ai "text-embedding-3-small" not found > (err: <nil>); #3/5: 502 <Model.otto.otto8.ai "text-embedding-3-small" not found > (err: <nil>); #4/5: 502 <Model.otto.otto8.ai "text-embedding-3-small" not found > (err: <nil>); #5/5: 502 <Model.otto.otto8.ai "text-embedding-3-small" not found > (err: <nil>)

Is there a way to get more debug logging via environment variable? It's not clear what URL Otto8 is attempting to reach.

Thanks for opening this issue. This is not yet supported, but a change has been submitted to make this possible: https://github.com/otto8-ai/tools/pull/212

Tested with latest version:
 "github.com/otto8-ai/tools": "53542f56c49e51c4f72ed0b89c9a666c697e96ec",
  "otto": "v0.0.0-dev+a23826b0"

Able to ingest knowledge files successfully using text-embeddng-3-small mode from Azure OpenAI. provider.

Configured Azure OpenAI model provider by going to ModelProviders->Azure OpenAI model provider and click on settings icon.
Add the following models with Azure OpenAI model provider by going to Models ->Add  Model

Set all these model from Azure OpenAI model provider as default model aliases.

Deleted all defaults models from OpenAI model provider ( This step is not needed. But i did this to prove that we will be able to test with out having any openAI models)
Create an agent and add  knowledge files.

Able to ingest knowledge files successfully.


Fix  URL on kubernetes docs (1.0 backport)

Backport of https://github.com/grafana/beyla/pull/481

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (31c196e) 78.21% compared to head (4b06efb) 43.78%.

Additional details and impacted files
@@               Coverage Diff                @@
##           release-1.0     #483       +/-   ##
================================================
- Coverage        78.21%   43.78%   -34.44%
================================================
  Files               61       59        -2
  Lines             5032     4910      -122
================================================
- Hits              3936     2150     -1786
- Misses             883     2627     +1744
+ Partials           213      133       -80

Flag
Coverage Δ

integration-test
?

unittests
43.78% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Traefik connection refused

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
Bug report
Version of Helm and Kubernetes:
kubernetes 1.8.4-1.9.3
Which chart:
stable/traefik
What happened:
Installed traefik using helm then connection refused
[node1 /]$ curl <IP_ADDRESS>
curl: (7) Failed connect to <IP_ADDRESS>:80; Connection refused

What you expected to happen:
When following the official guide, before submitting an ingress but after deploying the service I can query a node and get a 404 back.
curl <IP_ADDRESS>
404 page not found

How to reproduce it (as minimally and precisely as possible):
spin up an instance at:
https://labs.play-with-k8s.com/
curl https://gist.githubusercontent.com/joshuacox/ed8173a43659f01ede983fcbaa0dafe2/raw/4b4de85d6528d7533a8adf720982d99cea16536f/kubestart.sh | bash

run the kubeadm join command on a second node
Then back on the master node label it, and install traefik
kubectl  label --overwrite node node2 node-role.kubernetes.io/node=
helm install stable/traefik

then curl port 80 on the second node:
[node1 /]$ curl <IP_ADDRESS>
curl: (7) Failed connect to <IP_ADDRESS>:80; Connection refused

Anything else we need to know:
When trying to match the NodePort of the official guide helm returns the error:
Error: release traefik failed: Service "traefik-traefik" is invalid: spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. The range of valid ports is 30000-32767

yet on the same cluster when I apply the yaml files from the official guide I can assign port 80 no problem
To replicate this condition on https://labs.play-with-k8s.com/ start up your first instance and:
curl https://gist.githubusercontent.com/joshuacox/ed8173a43659f01ede983fcbaa0dafe2/raw/8faf3eca30cff2cbc319b67e8fc420f5eea084b7/kubestart.sh | bash

create a second instance and run the kubeadm join command on it then label it.
kubectl  label --overwrite node node2 node-role.kubernetes.io/node=

then test by curling port 80 on node2
[node1 /]$ curl <IP_ADDRESS>
404 page not found

@joshuacox, I don't believe there's any bug here. I think there might be a misunderstanding of how connectivity from outside your cluster works.
When you install this chart, the default is that you get a service of type LoadBalancer. This can be overridden with another type-- NodePort, for instance-- if you're not in an environment with a cloud provider that can provision an external load balancer for you. In_both_  of these common cases-- LoadBalancer or NodePort-- the ports within the container  are mapped to non-privileged ports on the nodes(s)-- all in the range 30000-32767. 80 is not only not in that range, but is also a privileged port.
It seems you've attempted to override some of the chart's default values to request a mapping to port 80, but Kubernetes doesn't let you do that-- hence the error message you got:

Error: release traefik failed: Service "traefik-traefik" is invalid: spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. The range of valid ports is 30000-32767

The way this is supposed to work is that port 80 on your load balancer gets mapped to the dynamically assigned node port on your node(s), which (via the kube-proxy and your Service) is mapped to port 80 of the endpoint(s) (pods) that are running a Traefik container.
So... if you have a load balancer in play here, curl its public IP; not the public IP of a k8s node.
No doubt, at this point, you're wondering how this ever could have worked in the official guide you linked to. It seems that guide offers two distinct options for how to deploy this. In one model, they use a Deployment (which is what this chart does) and in the other, they use a DaemonSet (this chart doesn't do that yet, but I believe there's an open PR to make that an option). In that latter example (using a DaemonSet, the pod templates they use directly specify a hostPort of 80. This is different than using a service. This makes it a requirement that the scheduler only schedules your Traefik pod(s) to node(s) where port 80 is available.
I have a feeling you were using that second option when following their guide.
Anyway-- try curling your load balancer and see what happens. Hope this helps. Let me know if you have any questions.

Ya I think that is the issue, I'm doing this on on-premise with bare-metal and I was thinking traefik would be my load-balancer.  It's entirely possibly that traefik could do that (I certainly had it doing that for http/s services when using rancher+traefik on bare-metal).
I'd gladly try any out some different methods to that effect, but it seems at the moment I'm attempting to do the same with voyager instead:
https://github.com/appscode/voyager
closing here, feel free to re-open and ask me to try out something different.  The above gists + the PWK K8S playground can duplicate my attempts if anyone cares to.

I was thinking traefik would be my load-balancer.

That really is not it's role. It's role is to direct traffic coming into the cluster to an appropriate service. The services themselves, internally, can be thought of as internal load balancers, in manner of speaking.
Assuming you have more than one Traefik pod, you need need a load balancer in front of that. i.e. An external load balancer. In the cloud, this would be an ELB or similar. On bare metal, you need to provide something similar yourself.
The poor man's option is to use DNS round robining to distribute traffic across all your Kubernetes nodes (or across all the nodes that are running a Traefik pod).


[QUERY] Calling CloseAsync() or DisposeAsync() on ServiceBusProcessor throws exception with reason ServiceBusFailureReason.MessagingEntityNotFound

Library name and version
Azure.Messaging.ServiceBus 7.17.5
Query/Question
I keep track of  topic subscriptions in a concurrent dictionary:
private readonly ConcurrentDictionary<string, ServiceBusProcessor> _subscriptions = new();
and when I want to clear out an entry from _subscriptions, I call CloseAsync() on the ServiceBusProcessor associated with the topic.
  var removed = _subscriptions.TryRemove(topicName, out var servicBusProcessor);
  if (servicBusProcessor!= null)
  {
      await servicBusProcessor.CloseAsync();
  }

The call await servicBusProcessor.CloseAsync(); throws ServiceBusException with the reason: ServiceBusFailureReason.MessagingEntityNotFound
Is that normal behavior? I wouldn't expect an exception.
Environment
Windows 11, .NET 8

Hi @exciting-prism.  Thanks for reaching out and we regret that you're experiencing difficulties.   Can you please share the full error message and stack trace that you're seeing?

   In this scenario, you're deleting the topic while the processor is running.   That's not something that we'd recommend doing.  The error is normal and expected.
To avoid it, you should be stopping the processor before deleting the topic.  When the topic is deleted, the existing AMQP link used by the processor is force-closed by the service.  When you call to stop the processor in this scenario, you're in a race condition.   If the processor is able to stop before error recovery attempts to recreate the link, there is no exception.   If the processor attempts to recreate the link before stopping, then you'll correctly see this error.

/unresolve
Thank you for your response!
In our case we have two or more processes.
Process A is the creator, owner and deleter of the topic.
Process B is subscribed to that topic.
When we want to delete the topic, process A sends an event on a second channel, so process B can try to close the connection to the topic.
Some time after sending the event process A deletes the topic.
Most of the time process A is faster than process B, which results in this exception.
Do you have any recommendation on how to change that?
Is there a way to check if an topic has been deleted without throwing an Exception?
Or would it be possible to add a TryCloseAsync()-function which doesn't throw an exception if the topic doesn't exist?

@exciting-prism:  At the end of the day, if you want to avoid this exception you must stop your processor before deleting the topic.   As stated, we do not advise that you delete entities while they are still in use.
If it were me, I'd look to have my application signal that it would like to delete the topic as you're doing but take no further action until the other processes acknowledge that they have closed their readers.  The topic is not deleted until the other nodes have acknowledged that they have completed their shut down procedure.  There's no variant of this where simply guessing at the timing is 100% safe.
Unfortunately, as this is outside the scope of the Azure SDK package and is something related to your application domain, we're unable to provide further assistance for the scenario.

Or would it be possible to add a TryCloseAsync()-function which doesn't throw an exception if the topic doesn't exist?

Thank you for the suggestion, but this is not a feature that we would consider adding.   From the library's perspective, you've asked it to read from a subscription that does not exist, which is a legitimate problem.  You could add this as an extension method in your application that does a try/catch around the processor's StopProcessingAsync and ignores exceptions, if that is something that you feel is desirable in your specific scenario.


A runtimeerror was encountered while converting the model to onnx

Hello,
When I use sh samples/bevformer/base/pth2onnx.sh -d 0, I got a runtime error:
RuntimeError: CUDA out of memory. Tried to allocate 236.00 MiB (GPU 0; 9.78 GiB total capacity; 8.04 GiB already allocated; 82.31 MiB free; 8.44 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Looks like enough memory, and I use RTX 3080.
Do I need to switch to a graphics card with more memory?
Thx.

You can modify the pth2onnx.sh file and remove --cuda. It will run on CPU instead of GPU.
By the way, I recommend you to convert with custom plugins to save much memory.

how do i use custom plugins  to convert？

Run the scripts in samples/bevformer/plugin. See README.md.


Problems with the library ACAN-ESP32.cpp for ESP32-S3

I' having some issues trying to use the CAN library with my ESP32-S3. When I run the ino file it gives me these errors .
new bugs :  C:\Users\gag_a\Documents\Arduino\libraries\ACAN_ESP32\src\ACAN_ESP32.cpp: In member function 'uint32_t ACAN_ESP32::begin(const ACAN_ESP32_Settings&, const ACAN_ESP32_Filter&)':
C:\Users\gag_a\Documents\Arduino\libraries\ACAN_ESP32\src\ACAN_ESP32.cpp:149:25: error: 'PERIPH_TWAI_MODULE' was not declared in this scope
periph_module_enable (PERIPH_TWAI_MODULE) ;
^~~~~~~~~~~~~~~~~~
C:\Users\gag_a\Documents\Arduino\libraries\ACAN_ESP32\src\ACAN_ESP32.cpp:149:3: error: 'periph_module_enable' was not declared in this scope
periph_module_enable (PERIPH_TWAI_MODULE) ;
^~~~~~~~~~~~~~~~~~~~
C:\Users\gag_a\Documents\Arduino\libraries\ACAN_ESP32\src\ACAN_ESP32.cpp:149:3: note: suggested alternative: 'dhcps_router_enabled'
periph_module_enable (PERIPH_TWAI_MODULE) ;
^~~~~~~~~~~~~~~~~~~~
dhcps_router_enabled
C:\Users\gag_a\Documents\Arduino\libraries\ACAN_ESP32\src\ACAN_ESP32.cpp:205:19: error: 'ETS_TWAI_INTR_SOURCE' was not declared in this scope
esp_intr_alloc (ETS_TWAI_INTR_SOURCE, 0, isr, this, & mInterruptHandler) ;
^~~~~~~~~~~~~~~~~~~~
C:\Users\gag_a\Documents\Arduino\libraries\ACAN_ESP32\src\ACAN_ESP32.cpp:205:19: note: suggested alternative: 'ETS_INTERNAL_SW0_INTR_SOURCE'
esp_intr_alloc (ETS_TWAI_INTR_SOURCE, 0, isr, this, & mInterruptHandler) ;
^~~~~~~~~~~~~~~~~~~~
ETS_INTERNAL_SW0_INTR_SOURCE
exit status 1
Compilation error: exit status 1
I tried to edit the downloaded library as a momentary fix but I was wondering if you have a long term fix solution .
These are the lines I had to commented so that the library could work ACAN-ESP32.cpp .
**// periph_module_enable(PERIPH_TWAI_MODULE);
// esp_intr_alloc(ETS_TWAI_INTR_SOURCE, 0, isr, this, &mInterruptHandler);**
Let me know if you have an updated solution that I can use.
Thanks

I can't run it with these 3  and I already checked your last updated and it is the one which Iam having troubles with, it seems they are not compatible with ESP32-S3
**periph_module_enable(PERIPH_TWAI_MODULE);
esp_intr_alloc(ETS_TWAI_INTR_SOURCE, 0, isr, this, &mInterruptHandler);**
#include <esp_private/periph_ctrl.h> .****


Really weird bug relating to dynamic data loading

When changing dynamic data, lume creates an additiional page.
I have duplicated this on the cff page:
Before change, with a live site, running find _site/projects/ -type f results in
_site/projects/cff/index.html
_site/projects/toolkit/index.html
_site/projects/index.html

Changing dynamic data
_site/projects/cff/cff/index.html
_site/projects/cff/index.html
_site/projects/toolkit/index.html
_site/projects/index.html

It does not add additional ones after that.
Theories:

Something to do with the data augmentation
Something to do with URL creation

This seems to affect site data in a local _data directory, but not in a _data.yml file.

Official! It's a bug https://discord.com/channels/794537085641818124/1098741793618657370
Óscar, maintainer of Lume, has a fix in the dev branch.

Looks like this will be resolved with next release of Lume. Not sure when that will be, but propose closing this in expectation


Zombie processes using 100% CPU after tab closed

Describe the bug
When I close tabs, sometimes there will be "zombie processes" created with the URL of the closed tab.
To Reproduce
I don't have very good reproduction steps, as it happens randomly, but:

Close a tab.
Watch as a process is created with that tab name, and that it uses 100% of a CPU core.
I will need to kill -9 the process to remove it. It does not respond to SIGTERM.

Expected behavior
I expect to not see any abnormal behaviour when closing a tab.
Screenshots

Environment:

OS/Platform and version: Arch Linux, kernel 5.10.4-artix2-1
ungoogled-chromium version: Version 87.0.4280.88 (Installed from AUR)

Have you disabled chrome://settings/content/backgroundSync?

Have you disabled chrome://settings/content/backgroundSync?

I disabled that and it's not happening anymore. Thank you!

I disabled that and it's not happening anymore. Thank you!


Warning Messages / Incorrect Reporting

With the latest update the integration is throwing the following warning message
2023-01-03 11:23:27.112 WARNING (MainThread) [custom_components.aprilaire] Received extra data from request

As a result the integration is reporting either unavailable, random information, and the wrong status. This may be a result of my two zone system or the new status update.

Here is an example of how the card / integration looks.

I would think it's more related to your two zone system. The recent changes relate to being able to display the heating/cooling status which I see correct on your card, and the rounding of Fahrenheit temperatures on the sensors to whole numbers to match the logic on the device.
The warning you see is when the thermostat basically sends multiple messages in the same socket write. It then tries to parse the whole message as one which is of course invalid. It happens occasionally, but the only impact would be occasionally stale data. I have thoughts on how to split these types of data better, but for now I haven't seen any negative impacts from my side.

Ahhhhhh, so the status is what the unit is currently doing not the mode it is set to! I was confused then.
I wasn't seeing the extra data messages until recently. But that being said I wasn't monitoring it super closely either. Stale data does happen occasionally or it'll show the upstairs zone or just 0's for certain parts of it. Makes sense that it is just getting confused with the extra messages getting sent.

Yes exactly. If you don't provide the current action, it displays the current mode there. I added the action so now it shows that.
I'll probably get you to provide a bit of data for the multi-zone so that I can figure out the format, I'm assuming it comes through like a normal status with an extra data point, hence it sometimes showing one vs the other.
Im going to close this issue and I'll get a task opened for that.


Small change description minipool balance

The current description to the minipool balance in Grafana is this: "This is how much ETH is currently available for distribution in each of your minipool contracts (on the execution layer). Note that if any of them have a refund, this shows the total balance minus that refund amount - in other words, it shows whatever's left over after your refund."

I do not think this number is the amount that is available in each, shouldn't it be "in all"?

S

Hey @SgtDinosaur, thanks for letting us know. I have applied the fix in the relevant repository.


protos: v2 squash.proto removal

Commit Message: protos: v2 squash.proto removal
Additional Description:
Fork of #16336 with a fix and readd of previous_message_type info
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

Sorry, why are protos being removed? We should be removing v2 API support from the Envoy implementation, but v2 xDS should continue to live in api/envoy for non-Envoy implementations. CC @envoyproxy/api-shepherds

... v2 xDS should continue to live in api/envoy for non-Envoy implementations.

ok - mho is that we should remove and downstream implementations should pin to a version where they are supported - not doing so risks confusion and maintains an unimplemented API i think
either way - i think most of what is removed (apart from the protos itself) do need to go
format is failing so ill work on that - reWIPping...

I think there is some confusion here. The xDS APIs are not only the Envoy APIs. They are implemented in various states across different implementations, including gRPC, many proprietary clients (we have multiple in Google) and so on. Some clients may remain v2 for some time to come. Some folks, like Google, work with HEAD Envoy repo for these APIs.
So, I think we should continue to support v2 APIs at HEAD in our repository as part of our commitment to xDS client neutrality.
We should remove any need to include them in the v3 APIs and we should be able to build the v3 APIs independently. This includes removing some of the major version upgrade annotations, +1.

@htuch @alyssawilk after quite a lot of experimentation - afaict - this is the minimum required to remove a proto without actually removing the proto file
i have put back the pgv tests as without remove the proto file it wasnt necessary to remove - altho we might still want to
if we land this im happy to go through and remove the rest of the no longer used v2 protos in a similar fashion
if we do that it will speed up ci quite a bit i think - at least for the docs build where these are no longer required but are still being built

/lgtm api

/lgtm api


How to deal with defaultLanguage

Hi @GertjanReynaert, before going forward I wanted to say thank you for your work, great job!
I opened this issue since I'm a bit confused about how to deal with the defaultLanguage.
Let's say you wrote all the message descriptors in your components and then used babel-plugin-react-intl to extract them to a directory, you google a while about how to join them and found this package, so you read the docs and create a script like this:
import manageTranslations from 'react-intl-translations-manager';

const defaultLanguage = 'en-US';

manageTranslations({
  messagesDirectory: 'src/translations/extractedMessages',
  translationsDirectory: 'src/translations/locales/',
  languages: [defaultLanguage], // any language you need
});

you run the script and voila, everything worked as expected, but there is a file that grabs your attention: whitelist_en-US.json, so you read the docs again and found this:

languages (optional, default: [])
What languages the translation manager needs to maintain. Specifying no languages actually doesn't make sense, but won't break the translationManager either.
example: for ['nl', 'fr'] the translation manager will maintain a nl.json, fr.json, whitelist_nl.json and a whitelist_fr.json file

You think: "I can have more control with this feature, great!"

So the question would be:

Shouldn't it work like I'm expecting or if not, why?

Thanks!

First: thx for using this package!
Second: sorry for the confusion around the default language!
I haven't found a good way to deal with the defaultLanguage yet, but ATM, it's not really recommended to include the defaultLanguage in your languages array. At the start of this package I approached it like this: since your defaultMessages are in your defaultLanguage, you don't need to manage them, so you don't need to include the language in the array of languages to be managed.
That being said, we should come up with an approach to help people out (either a way to include the default language, or better docs) since this is a frequently returning question.

First of all thanks for the tool @GertjanReynaert Im using it and its amzazing. Im also having questions regarding this feature.
I have it included because I want it to generate the 'en.json' file from my messages, but I don't like to get that output.
Maybe we should be able to define a defaultLanguage, the manager will then generate the defaultMessages .json with that name but ignore it when comparing files?
That way we get the file generation and nice translations management.  just an idea!

I wrote a small workaround for this very issue today, it's not very clean since it re-reads the messages, and it prevents checking for untranslated strings in other languages, but it works with the current API and may be a start. In the original example:
import manageTranslations, {
  readMessageFiles,
  getDefaultMessages
} from 'react-intl-translations-manager';

const defaultLanguage = 'en-US';
const messagesDirectory = 'src/translations/extractedMessages';

manageTranslations({
  messagesDirectory,
  translationsDirectory: 'src/translations/locales/',
  languages: [defaultLanguage], // any language you need
  overrideCoreMethods: {
    provideWhitelistFile: (lang) => {
      // Avoid reporting untranslated stuff in defaultLanguage
      if (lang === defaultLanguage) {
        const messageFiles = readMessageFiles(messagesDirectory);
        const messages = getDefaultMessages(messageFiles).messages;
        return Object.keys(messages);
      } else {
        // This is no good, unfortunately :(
        // You could do your own whitelist retrieval here..
        return [];
      }
    }
  }
});

I wonder if provideWhitelistFile (and perhaps provideTranslationsFile as well to stay consistent) should also be passed the set of default messages? The core runner does have them at this point, would it be odd to pass them along for use in overridden hooks like this?
I've also opened https://github.com/GertjanReynaert/react-intl-translations-manager/issues/84 which might be of interest. If implemented it would allow for the else clause I wrote to continue normally.

It looks like this package is not maintained anymore, so I forked it and made a little change to suppress the warnings about untranslated messages with a defaultLanguage option in config.
You can check it here: https://github.com/hudovisk/react-intl-translations-manager

@hudovisk I couldn't really find how to configure your fork with the suppression though. Since I'm not using this package on a day to day basis my attention to the package has slacked a bit. However it's in a pretty solid state right now, so it doesn' require frequent updates anymore, but this lack of updates might have given an unmaintained impression.
Long story short: If you'd like to create a pr, that's always welcome!

Hi @GertjanReynaert, sorry if I misunderstood the state of the package, would be nice to have you opinion on my patch #113 , I use it with the config:
...
languages: ['en-US', 'pt-BR'],
defaultLanguage: 'en-US',
....

this way I can extract all de defaultMessages in a simple json file without having the untranslated warnings.

Great work @GertjanReynaert. Thanks, really. What’s the status for the #113 PR? Looks promising! I believe having the default locale in translations/locales makes things more coherent for integrating with translation apps.


fix/white-space

for 100% file coverage ( when there is no violation_lines ), there is a issue with whitespacing, the file title following, are concatenated with the prev violating_lines block.
This PR aims to solve that.

I'm not 100% sure that your solution is the best one compared to removing the - at the end of {% block coverage_single_file scoped -%} but I think in the end, it's not very different. Jinja and whitespaces is confusing.
Would you mind writing a test ?

I believe there's already a test around this question: https://github.com/ewjoachim/python-coverage-comment-action/blob/v2/tests/unit/test_template.py#L54-L62
Any idea why it didn't show the issue ?

So I added the necessary tests, I'll merge as soon as it's green.
As a side note: when contributing from a fork, it help if you name your branch with a name different from the default branch of the original repo. I almost pushed to this repo's v2 instead of your fork's v2.


Add docstrings to public facing code

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

Codecov Report

Merging #43 (a7f0282) into main (961a226) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #43   +/-   ##
=======================================
  Coverage   94.04%   94.04%
=======================================
  Files          38       38
  Lines         940      940
  Branches      132      132
=======================================
  Hits          884      884
  Misses         38       38
  Partials       18       18

Flag
Coverage Δ

unittests
94.04% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ObjectMapper/Attribute/IonAnnotateTypeAttribute.cs
100.00% <ø> (ø)

...tMapper/Attribute/IonDoNotAnnotateTypeAttribute.cs
100.00% <ø> (ø)

...jectMapper/Attribute/IonPropertySetterAttribute.cs
100.00% <ø> (ø)

...IonObjectMapper/Factory/DefaultIonReaderFactory.cs
100.00% <ø> (ø)

...IonObjectMapper/Factory/DefaultIonWriterFactory.cs
47.36% <ø> (ø)

...on.IonObjectMapper/Factory/DefaultObjectFactory.cs
100.00% <ø> (ø)

Amazon.IonObjectMapper/IonSerializationOptions.cs
100.00% <ø> (ø)

Amazon.IonObjectMapper/IonSerializer.cs
92.40% <ø> (ø)

...pper/NamingConvention/CamelCaseNamingConvention.cs
100.00% <ø> (ø)

...pper/NamingConvention/SnakeCaseNamingConvention.cs
86.20% <ø> (ø)

... and 25 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 961a226...a7f0282. Read the comment docs.

Can we have code snippets somewhere >_<?

I expect the developer guide / cookbook to have code snippets.
If you're expecting snippets in docstrings, can you point me to such an example in another repo?

Can we have code snippets somewhere >_<?

I expect the developer guide / cookbook to have code snippets.
If you're expecting snippets in docstrings, can you point me to such an example in another repo?

There is an example in java driver. While I think cookbook also works.


SAM Picker won't run/extract

When I extract the zipped folder, SAM.Picker is either not included in the extracted folder or, when it is and I am able to attempt to run it, I get this error.

Your Antivirus is deleting the file.


Not Working With Tmate

Bug description
Hi.
I Am Trying To Connect To My Terminal Using ConnectBot SSH Client App. I Created Tmate Link. Pasted It On URL Section Of App. When Started, It Shows :-
"Connection Lost
Key exchange was not finished, connection is closed.
Cannot negotiate, proposals do not match."
Steps to reproduce

I Created Tmate Link.
Pasted It On URL Section Of App.
Started Session

Expected behavior
Connection Should Establish
Screenshots

Android device

Device: [Xiaomi Redmi 7A]
OS: [Android 10 MIUI 12.0.3]
ConnectBot Version: [1.9.8-oss]

Server information

OS: [Termux 0.118.0]
SSH Software and Version: [OpenSSH 9.0p1]

Additional context

I Don't Know Whether This Is An Issue With Tmate Or ConnectBot, Or I Have Configured Something Wrong.
Mentioned The Same To Tmate Here :-
https://github.com/tmate-io/tmate/issues/269

any update about this?

I Currently Don't Have A Phone To Check It. Will Try Few Months Later.


`final Node chartBackground = chart.lookup(".chart-plot-background");  for what?

Hi, I need the zoom function so I added your ZoomManager class in my application.  And I made some changes to it. But when I added my chart in my pane (chart in StackPane in VBox in GridPane in Scene) and zoom, the chart disappeared. So I want to kown your code how to work. However I have a question that I can not  understand.

In line 233  final Node chartBackground = chart.lookup(".chart-plot-background"); Do this for what?

Hi,
please see the Examples.
// DO NOT ADD DATA TO CHART
// bc.getData().addAll(series1, series2, series3);
final StackPane pane = new StackPane();
pane.getChildren().add(bc);
final Scene scene = new Scene(pane, 500, 400);
new ZoomManager(pane, bc, series1, series2, series3);

Do not add the chart data to the chart, but to the zoom manager.

Fixed with cd931bd9ae002054ddc4ebf616d04677a103ac6c

chart.setOnMouseReleased(new EventHandler<MouseEvent>() {
	@Override
	public void handle(final MouseEvent event) {
	final Bounds bb = chartBackground.sceneToLocal(rect.getBoundsInLocal());
	final double minx = bb.getMinX();
	final double maxx = bb.getMaxX();
	final double miny = bb.getMinY();
	final double maxy = bb.getMaxY();
	doZoom(true, chart.getXAxis().getValueForDisplay(minx), chart.getXAxis().getValueForDisplay(maxx));
	doZoom(false, chart.getYAxis().getValueForDisplay(miny), chart.getYAxis().getValueForDisplay(maxy));
	rect.setWidth(0);
	rect.setHeight(0);
	}
});

when I print miny and maxy, I get negative. Why?


Copy code feature to each code block in blog

By the way, is there any way to add copy code to each of them in the follow-up, or would it require more than I think?

i think this feature need integration of clipboard.js, if you want it i may do it in another pr. wdyt?
Originally posted by @floyd-li in https://github.com/kodadot/nft-gallery/issues/6794#issuecomment-1684648848

lmk if it's ready to start dev.

is this one taken? @exezbcz ?

is this one taken? @exezbcz ?

We did not decide whether we will make it yet, thus it's p5

If you need me, I'm just here to help.


Impersonated transactions from = address(0)

Component
Anvil
Describe the feature you would like
When sending transactions with an impersonated account getTransaction returns from address as 0x000... I know this is usually derived from the signature, which we can't have, but hardhat does set from (while leaving vrs=0) and it is useful to have.
Maybe related to work in https://github.com/foundry-rs/foundry/issues/3803
Additional context
No response

I know this is usually derived from the signature, which we can't have, but hardhat does set from (while leaving vrs=0) and it is useful to have.

set from to what?

to the impersonated account address

but hardhat does set from

sorry, not following yet. There's no address field in a transaction so I don't understand this yet. Do they include an additional field?

Psuedo code example:
anvil_impersonateAccount(0x12345...)
res = eth_sendTransaction({
  from: 0x12345...
}) // returns transaction hash
transaction = eth_getTransactionByHash(res.result)

When I'm using hardhat eth_getTransactionByHash returns an object with from set correctly, when using anvil from is set to the zero address. I'm using ethers.js, but don't think that's changing behaviour here as from is included in the RPC spec https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionbyhash.

ah gotcha, there are multiple transactions types so this is always confusing...
yeah I now think, #3775 was on the right, but what was missing was storing the address separately.
because currently we only store the signed transaction, so the receipt transaction's from field is set to the recovered address, which obviously does not work for impersonated addresses.
TODO

[ ] Store Signed tx + address
[ ] reapply changes in #3775

@JSRossiter any chance this only happens for transactions that are pending (not minded yet)?

yes, I was only working with pending transactions

great, then #3813 should fix it

this bug is also related to #3803


SyntaxError: Unexpected token import

The ES2015 module syntax is not supported by the latest Node.js version - you'll have to transpile the code before running it with micro.

@leo while it might be too much to add this as an error hyperlink,  do you think it should be documented in the errors directory?

If it's not an error link, it can't be part of the directory. If we can make an error link happen, let's try it? Though I'm with you and I think it's overkill - we can't document every scenario not related to micro.

@leo I agree, documenting each scenario is difficult. A search of syntaxError: Unexpected token import results in < 2400 issues so I'll pass on it right now. However, old-node-version.md documents transpilation of async/await and that got me thinking that this could be a "good first bug" for someone new to the project to get up and running. Idea source: opensource.guide Building Welcoming Communities: Meet contributors where they’re at.
If you think it's appropriate, I can open an issue and you could tag it as such? Just let me know if you want the issue filed under micro or micro-dev?
@jdbrocca this link has a solution for how to transpile your code https://github.com/webpack/webpack/issues/4857


Support for node aliases

Some argument that we can add to the node to change its name to alias:name and refrence it as myNode.alias without doing explicit string manipulation in the code.
I suggest to set a getter to the alias property that gets the alias, or gets the node name if the node has no alias.

@ShadyZekry Thanks for mentioning it. Do the PR please


Validation still not working in Angular 18.1

Description
In the reproduction below, both the email and password field are required. Filling the email field and clicking submit without touching the password field would previously (prior to Angular 18.1) show the validation message on the password field.
Additionally, form.markAllAsTouched() and form.get('password').markAsTouched() have no effect.
Touching the email field again will trigger change detection and finally show the message.
Minimal Reproduction

https://stackblitz.com/edit/g3rvwa?file=src%2Fapp%2Fapp.component.ts
Your Environment

Angular version: 18.1.3
Formly version: 6.3.6

I also encountered the same problem. Had to roll back to version 17

This issue has been fixed and released as part of v6.3.7 release.
Please let us know, in case you are still encountering a similar issue/problem.
Thank you!


Implement a gradient explainer for autograd

@KOLANICH I am not aware that autograd is any kind of model, but rather a method.
@thatlittleboy Candidate for closing?


Mac M1 Laptops not Supported

Environment:

OS: Mac M1 Laptop - Monterey 12.0.1
Java version Azul Zulu 15.0.5
usb4java version 1.3.0

Bug description
When running this library on the new M1 Max Macbook Pros you get the following exception:
Caused by: org.usb4java.LoaderException: Native library not found in classpath: /org/usb4java/darwin-aarch64/libusb4java.dylib
This doesn't seem to be a supported CPU architecture.

Try building the source for this CPU architecture. Hope that helps.


Broken link fixed

The book: Introduction to Classical and Quantum Computing, by Thomas G. Wong.
What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!

Related to #6942

Thanks, and welcome to free-programming-books!

Thank you! I hope to continue collaborating soon.


Add BLaze Or Iris by Phyrnna

Song Name
BLaze Or Iris
Artist Name
Phyrnna
Source
Youtube
Youtube Link
TOdjK4pYCUg
Direct File Link
No response
Song ID
359229
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 107456182

Accept

accept

accept


CP-SAT solver couldn't prove the solution is optimal if num_workers < 5 but otherwise it did instantly.

What version of OR-Tools and what language are you using?
Version: 9.5.2237
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CP-SAT
What operating system (Linux, Windows, ...) and version?
Ubuntu 22.04, Debian 11 on WSL
What did you do?

build a model for my problem (see attached pb file)
create a cp_model.CpSolver
set solver.parameters.max_time_in_second = 60
set solver.parameters.num_workers to 4 or 5
solve the model

What did you expect to see
In both cases of num_workers=4 and num_workers=5 the solver can find optimal solution within 60 seconds.
What did you see instead?
In the case of num_workers=5 the solver found the optimal solution in less than 1 second.
In the case of num_workers=4 the solver spent whole 60 seconds and only returned a feasible solution.
By checking the attached logs, I found in both case the objective value is the same but in the case of  num_workers=4  the best_bound was still higher than objective. That is, both solver found the the true optimal solution but in the case of num_workers=4 the solver failed to prove it is optimal.
Note that I re-ran the program multiple times but the results were always the same. I also tried num_workers=6,7,8 and the solver found the optimal solution instantly. But with num_workers=1,2,3 the solver only returned a feasible solution like num_workers=4 case.
Attachments
model.pb.txt
4_workers.log
5_workers.log

this is expected.
CP-SAT is a portfolio based solver, not a work sharing one.
Recommended number of workers is at least 8.

@lperron Thank you for the explanation.
I checked the lof and found these messages.
Starting  search at 0.02s with 12 workers.
10 full subsolvers: [default_lp, no_lp, max_lp, core, reduced_costs, pseudo_costs, quick_restart, quick_restart_no_lp, lb_tree_search, probing]
Interleaved subsolvers: [feasibility_pump, rnd_var_lns_default, rnd_cst_lns_default, graph_var_lns_default, graph_cst_lns_default, rins_lns_default, rens_lns_default]

The variation of full subsolvers increased as I use more workers. I guess this is what you mentioned by portfolio based solver.
Please let me ask a few more questions.

What are full subsolvers and Interleaved subsolvers?
The number of full subsolvers didn't increase after it reached 10.  Is this the limit?
If I'm going to run in a machine whose number of CPU cores is less than 8, should I still set num_workers to 8 or higher to leverage more different subsolvers?

I didn't find any explanation for them in the OrTools documentation. If I missed something, please kindly let me know.
Thank you.

Full solver: complete search
Interleaved solver: more or less large neighborhood search. Can be a
feasibility pump.

There is only a limited number of possible full solvers. If you use more
workers. we gradually add extra full solvers.

use 8.
Laurent Perron | Operations Research | @.*** | (33) 1 42 68 53
00

Le jeu. 2 févr. 2023 à 16:13, 杜世橋 Du Shiqiao @.***> a
écrit :

@lperron https://github.com/lperron Thank you for the explanation.
I checked the lof and found these messages.
Starting  search at 0.02s with 12 workers.
10 full subsolvers: [default_lp, no_lp, max_lp, core, reduced_costs, pseudo_costs, quick_restart, quick_restart_no_lp, lb_tree_search, probing]
Interleaved subsolvers: [feasibility_pump, rnd_var_lns_default, rnd_cst_lns_default, graph_var_lns_default, graph_cst_lns_default, rins_lns_default, rens_lns_default]
The variation of full subsolvers increased as I use more workers. I guess
this is what you mentioned by portfolio based solver.
Please let me ask a few more questions.

What are full subsolvers and Interleaved subsolvers?
The number of full subsolvers didn't increase after it reached 10.
Is this the limit?
If I'm going to run in a machine whose number of CPU cores is less
than 8, should I still set num_workers to 8 or higher to leverage more
different subsolvers?

I didn't find any explanation for them in the OrTools documentation. If I
missed something, please kindly let me know.
Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/3662#issuecomment-1413903682,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3PBQZFCAYRCY2E327DWVPFKLANCNFSM6AAAAAAUO4S2SU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Two duplicate accounts require two reauthentications.

The screenshot shows that two accounts have been setup. If you only need one account, remove everything and start from scratch. Obviously if you've managed to install more than one account with the same credentials, you will force yourself to log out as Amazon won't support two logins with the same account/domain and each will kick the other out.
Without logs, I can't tell what's going on.
Originally posted by @alandtse in https://github.com/custom-components/alexa_media_player/issues/1656#issuecomment-1166768545
I removed everything and started from scratch. So far it has accepted and I was able to send a TTS. So we will see if it lasts the night!

Don't open unnecessary issues please.

Don't open unnecessary issues please.

Sorry, seems like another person learned from my post too. It started after an update so I thought something was wrong.
Best


Move Concordion.NET to .NET Standard and NUnit v3

This is a first step at moving legacy concordion.net baseline to .NET Standard and NUnitv3.
Currently code compiles and tests succeed but we need to rebuild NUnit integration because NUnitv2 AddIn has been completely replaced in NUnitv3 as explained here.

Hello Angelo,
thank you very much for contributing to the Concordion.NET project. Your help is highly welcome.
Before, we include your changes to the project, could we clean it up a bit?

Could you remove "CAZZONE" from the source code?
Could you remove all debugging code such as lines with Console.WriteLine?

Cheers

Hello ShaKaRee,
Thank you for spotting those issues, I've now cleaned up a bit, keep in mind two things:

I've removed Console.WriteLines added by me (that were already commented out) but kept Console.WriteLines already present in code before (if that's a problem just make me know).
This version is not intended to be released as it is, as discussed in Concordion Slack I worked on it this summer and now I've problems in finding more time to work on it so it was suggested me to open a pull request in order to start sharing work with others. If you prefer to add it to a nunit3 branch or whatever instead of targeting master I'm more than happy to redirect the PR there.

Hello Angelo,
great that you share your work as soon as possible with others. I would like to include it directly into the master branch and I am looking forward to see the NUnit3 integration growing. :-)
Thank you for cleaning up the code.
Could you do a final step before we include it to the main branch? Could you remove the .old files? I think git provides a great history so that we can recover the old files easily.
Cheers

Hi, I'm in 2 minds about pulling to master:

master should always be in a releasable state. My understanding is that this code breaks the NUnit integration.
The concordion-net project isn't live. This is a step forward that takes us towards a working version of NUnit 3 code.

Keen to understand your thoughts on merging to master, @KidFashion, @ShaKaRee?

Also, should we set up CI for this branch? Using AppVeyor or something else?

Finally, can we clearly comment on the concordion.net and concordion-net projects, so users can understand the status of each project?

@ShaKaRee: I've removed the .old files.
@nigelcharman: Current code does not break NUnit integration, I started by making the current version compilable on .NET Core (this means with a working NUnit2 integration) and then I created a new Concordion.NUnit3 project where I started working on NUnit3 integration.
This means that we're not breaking NUnit2 but you will have an half finished (and not working) version of NUnit3 support, this is why I was asking if it was better to target a different branch from master.
I think we should have a CI for each branch and AppVeyor works fine for me.

Hi guys,
what about mergin the start of NUnit 3 integration into the main project?
@KidFashion perhaps you will find some time in near future to finish it. :-)
Cheers

@ShaKaRee Indeed, I started it during summer holidays, so Christmas holidays seems a nice period to complete it :)

@KidFashion any chance of an update on this PR? I've mentioned it in the discussion about future .NET direction at concordion/concordion.net#15.

@KidFashion any chance of an update on this PR? I've mentioned it in the discussion about future .NET direction at concordion/concordion.net#15.

Unfortunately I've still to find time to look into that, since you pinged me I could look into that in the next two weeks but can't promise... :(

There are a few bugs relating to PRE tags that are causing us issues.

The parser gobbles up spaces between SPAN tags if space is all there is.
If you use an "&NBSP;", the parser throws an exception. Instead, you have to use " " (ugly!)
The parser includes spaces at the beginning of the PRE object for indenting, even though PRE content is supposed to be left alone.

I'm guessing that fixing any of this is out of the question with this PR hanging over things.

@jamiehankins as you might have guessed this PR has stalled.
Would you raise your bugs as issues please, with a test case to show them? I'd like to see how the Java version of Concordion behaves with the same spec.
I suggest we then reach out to our users to see if anyone has the bandwidth to fix them.

@nigelcharman done as issue #28

Thanks @jamiehankins , can you confirm which code base you are using? Is it concordion.net or concordion-net? If the latter, have you applied this PR? Just so we can be clear to anyone wanting to contribute fixes. Thanks

@nigelcharman Oops, I missed your last message. I'm no longer with the company I was working for, so I don't know the answer to your main question. The answer to the second question is no, we never applied the PR.
I have a job offer that I'm likely to accept later today. The job involves a lot of C#, so I might evangelize Concordion.NET. If that works out, maybe I can get buy-in to work on this.


Define Emacs menu

Initial work on Emacs menu:

This issue tracks the progress and will be closed by merging this work to master.

I think we need to extend the pluginDescriptor to give a short name and a description to each plugin.
e.g. "HaRe" "The haskell refactorer"
so that it can be used in the UI where it makes sense, perhaps around structuring the menu.


[5.3] Only bind int with PDO::PARAM_INT

If for example a float is bound with PDO::PARAM_INT, SQLite (haven't tested with any other DBMS) will discard the decimal part (0.5 will become 0.0 in the DB). This totally broke my application.
Related to #14786.
Side note: Should we use PDO::PARAM_BOOL here, too?

This isn't going to work either because you can pass strings that are ints and expect them to bound as ints, especially when coming from an HTTP form.

I pushed a commit to check filter_var for FILTER_VALIDATE_INT which will work for strings.

I still don't know if this is even totally possible to solve automatically in every case.

Actually I think your solution is probably best and is the most sensible behavior.

Bah, now it has conflicts. I'll fix it.

Thanks. Just to clarify: Strings that are ints were not bound as PARAM_INT before, either.


Make sure all years are tabs in the yearly selector (even years with no donations)

Currently, the yearly selection menu in the donations view is based on the first donation recieved. We should have a tab for all years since the donor registered (the donor registration date is available on the donor object, witch is fetched on the GET /donors/:id endpoint, similarly to the profile view).


Add Azure and GCP support to Cloud Providers for BSL/VSL

Need to confirm our API can handle Azure configuration along with S3 and test compatibility with velero.

I am marking this as a beta-blocker as I believe support for Azure will be desired for OCP 4.2.   Assuming we will want to support use cases of migrations between cloud providers.

Closing as GCP/Azure support has been merged.


Support for Partitioning By Date and Hour

I have a use case where millions of rows can be added to a table on the same day, and it seems to make sense to partition the tables by date and hour. Is this something that could be added?

Hey @eni9889, thanks for the suggestion. Daily partitions should be enough granularity for a vast majority of applications, so I don't think it makes sense to add the extra complexity.


Keep wrapValidator and wrapMonetaryPolicyScript in plutus

Describe the feature you'd like
Recently on the road to 1.0.0 (as the branch release/1.0.0 suggests), the plutus-ledger package moved to the plutus-apps repository.
As an avid user of plutus and non-dependant of plutus-apps, we would like to propose to keep 3 functions somewhere in plutus to not need to vendor them into our codebase:

wrapValidator https://github.com/input-output-hk/plutus/blob/942bd8c6de6a2d5981d91c704b0258bddd9d9d7c/plutus-ledger/src/Ledger/Typed/Scripts/Validators.hs#L82-L88
wrapMintingPolicy https://github.com/input-output-hk/plutus/blob/942bd8c6de6a2d5981d91c704b0258bddd9d9d7c/plutus-ledger/src/Ledger/Typed/Scripts/MonetaryPolicies.hs#L36-L42
validatorHash :: Validator -> ValidatorHash https://github.com/input-output-hk/plutus/blob/942bd8c6de6a2d5981d91c704b0258bddd9d9d7c/plutus-ledger/src/Ledger/Scripts.hs#L39-L40

The rationale being:

It's quite common to have typed validators instead of BuiltinData -> BuiltinData -> BuiltinData -> () (and minting policies)
wrapValidator does not depend on the "typed interface" and were mixed up there in my opinion
wrapValidator directly and meaningfully applies the class UnsafeFromData interface to validator functions
Having access to the validatorHash is a must have to refer to other scripts and essential to every non-trivial use of plutus

Describe alternatives you've considered
Vendoring respective functions downstream as we did within Hydra: https://github.com/input-output-hk/hydra-poc/blob/ch1bo/no-plutus-ledger/hydra-plutus/src/Plutus/Extras.hs

If this is something of interest, I would gladly create the PR re-adding them and re-implementing validatorHash without cardano-api functions (not having that dependency should be possible and desired).

The idea is to have a library in plutus-apps (current proposed name plutus-script-utils) with minimal dependencies that's usable without depending on the rest of the repo. I really don't want irrelevant stuff in plutus-ledger-api, but I agree that it's unclear where plutus-script-utils should live.

cc @koslambrou

There the draft PR which will move type validators from plutus-ledger to plutus-script-utils: https://github.com/input-output-hk/plutus-apps/pull/447

@ch1bo does the plutus-script-utils package serve your purposes?

@ch1bo does the plutus-script-utils package serve your purposes?

Looks like it will. Would be great if you could ensure it's keeping minimal dependencies besides the ones from plutus (which it would automatically if it were there)

Okay, then I'll close this for now.

I really don't want irrelevant stuff in plutus-ledger-api, but I agree that it's unclear where plutus-script-utils should live.

Why is it irrelevant?


Update haskellPackages

This Merge
This is the regularly happening merge of the haskell-updates branch into master.
This branch is being continually build and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.
I will aim to merge this PR until 2021-05-14. If I can merge it earlier, there might be successor PRs in that time window. As part of our rotation @cdepillabout will continue these merges from 2021-05-15 to 2021-05-28.
haskellPackages Workflow Summary
Our workflow is currently described at https://github.com/NixOS/nixpkgs/issues/121140#issuecomment-830816599.
The short version is this:

We regularly update the stackage and hackage pins on haskell-updates (normally at the beginning of a merge window).
The community fixes builds of Haskell packages on that branch.
We aim at at least one merge of haskell-updates into master every two weeks.
We only do the merge if the mergeable job is succeeding on hydra.
If a maintained package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)

This is the follow-up to #122117.

Scan for unbroken packages
This pull request is special in the sense that I haven‘t bumped stackage or hackage at the moment. I don‘t want anything confounding happening right now.
I have thrown away the broken list and now we will try to let hydra build all hackage packages once. When this evaluation is over I will mark all failing builds broken again.
After that we can go back to business as usual.
During this time merging fixes for broken packages is okay but we should try not to touch anything that is deep down in the dependency chain so that we don‘t case an unnecessary huge number of hydra builds.

haskell-updates build report from hydra
evaluation 1668621 of nixpkgs commit b324675 as of 2021-05-09 09:34 UTC
Build summary

Platform
Failed :x:
DependencyFailed :heavy_exclamation_mark:
TimedOut :hourglass::no_entry_sign:
Unfinished :hourglass_flowing_sand:
Success :heavy_check_mark:

aarch64-linux :iphone:
5156
3384
12

6519

x86_64-darwin :apple:
1088
2296
7
5364
6168

x86_64-linux :penguin:
5227
3203
8

6681

Maintained packages with build failure

[ ] tamarin-prover @thoughtpolice

[:iphone::x:] [:apple::x:] [:penguin::x:] toplevel
[:iphone::heavy_exclamation_mark:] [:apple::heavy_exclamation_mark:] [:penguin::heavy_exclamation_mark:] haskellPackages

Maintained packages with failed dependency

[ ] haskell-language-server @maralorn

[:iphone::heavy_check_mark:] [:apple::heavy_exclamation_mark:] [:penguin::heavy_check_mark:] toplevel
[:iphone::heavy_check_mark:] [:apple::heavy_check_mark:] [:penguin::heavy_check_mark:] haskell.packages.ghc8104
[:iphone::heavy_check_mark:] [:apple::heavy_exclamation_mark:] [:penguin::heavy_check_mark:] haskell.packages.ghc884
[:iphone::heavy_exclamation_mark:] [:apple::heavy_exclamation_mark:] [:penguin::heavy_exclamation_mark:] haskell.packages.ghc901
[:iphone::heavy_check_mark:] [:apple::heavy_check_mark:] [:penguin::heavy_check_mark:] haskellPackages

[ ] llvm @7c6f434c @dtzWill @lovek323

[:iphone::heavy_exclamation_mark:] [:apple::hourglass_flowing_sand:] [:penguin::heavy_exclamation_mark:] haskellPackages
[:iphone::heavy_check_mark:] [:apple::heavy_check_mark:] [:penguin::heavy_check_mark:] haskellPackages.llvmPackages

[ ] [:penguin::heavy_exclamation_mark:] maintained @cdepillabout @maralorn @sternenseemann
[ ] [:penguin::heavy_exclamation_mark:] mergeable @cdepillabout @maralorn @sternenseemann
[ ] [:iphone::heavy_exclamation_mark:] [:penguin::heavy_check_mark:] haskellPackages.reflex-dom @maralorn

Okay. So we see ~5200 that I will mark broken again.
I am confused about llvm. Apparently that package exists as a haskellPackage but is broken as such? Anyways the not working build will be disabled again and llvmPackages.llvm will be alright. So I think there is nothing to do there.

I am confused about llvm. Apparently that package exists as a haskellPackage but is broken as such? Anyways the not working build will be disabled again and llvmPackages.llvm will be alright. So I think there is nothing to do there.

Yes, we reexpose the LLVM version used by GHC. We should probably filter this out in the build report, seems like it has been broken in master for some time.

Okay. This is going great! We have gained about 700 more working packages. :tada:.

On x86-linux we are left with 20 to 30 build errors.
All those packages are not marked broken right now, because they do not fail itself but have a failing dependency.
The transitive broken script does not detect them because for the failing dependency there is no hydra job.

Until this point I am certain.
I looked into some of them and I have the feeling the biggest reason for this are packages that have license unknown. They seem to get a hydra-platform = none from hackage2nix.
This is not a huge problem either way. In the worst case I just mark them manually broken.
But I am not sure what the most principled way forward is. It strikes me as a bit weird anyways that we don‘t have jobs with unknown license but then we take no issue in building them for reverse dependencies?
Any opinions?

This is not a huge problem either way. In the worst case I just mark them manually broken.
But I am not sure what the most principled way forward is. It strikes me as a bit weird anyways that we don‘t have jobs with unknown license but then we take no issue in building them for reverse dependencies?

To be honest the correct way forward is to patch cabal2nix to emit lib.licenses.unfree instead of unknown. Unknown literally means that and as well that we can't know if we'll run into legal issues if we build such packages on hydra and redistribute them in binary form.

To be honest the correct way forward is to patch cabal2nix to emit lib.licenses.unfree instead of unknown

This seems like a completely reasonable thing to do.
I guess it would be great if we could report them upstream (or add new licenses to Nixpkgs), but that is quite a lot of annoying work.

This is not a huge problem either way. In the worst case I just mark them manually broken.
But I am not sure what the most principled way forward is. It strikes me as a bit weird anyways that we don‘t have jobs with unknown license but then we take no issue in building them for reverse dependencies?

To be honest the correct way forward is to patch cabal2nix to emit lib.licenses.unfree instead of unknown. Unknown literally means that and as well that we can't know if we'll run into legal issues if we build such packages on hydra and redistribute them in binary form.

I think it’s not that easy. I have looked at a few of those packages. (I count 496 with LICENSE unknown.) Unknown means that hackage displays the license as LicenseRef-OtherLicense. Which means "custom". All licenses I looked at were open source. Some even CC0.
Also consider this: https://hackage.haskell.org/upload

The code and other material you upload and distribute via this site must be under an open source license.

So IANAL but I assume we are pretty safe with assuming that all packages on Hackage are somehow Open Source licensed.
I am curious about other opinions but I vote for enabling builds of those packages.


feat: sntp

Will get the time from a NTP server
let sntp = EspSntp::new(SntpConf::default())?;
sntp.wait_for_sync(Duration::from_secs(30));

After you can use the usual time APIs and get the real-world time (i.e. std::time::SystemTime::now())
Depends on #13

Since I did not know when (or even if) you would be resuming work on this PR, I've taken it and - with a few changes - merged it: https://github.com/esp-rs/esp-idf-svc/commit/d20b9bd479e82b4c5fe1af6354542da4a06bf656
The changes in details:

The suggested changes as per my feedback
Additionally:

Make it work in no_std
Remove the waiter (even though we have generic Waitable now!). I just was not sure what is the benefit of that. If somebody really wants to wait until the first sync with the NTP server had happened, we can always restore/implement a similar functionality

Thanks for your effort!

Remove the waiter (even though we have generic Waitable now!). I just was not sure what is the benefit of that. If somebody really wants to wait until the first sync with the NTP server had happened, we can always restore/implement a similar functionality

Why would you not want a way to wait for it?
For me, the purpose was to get a timestamp I can send to influxdb


0.6.1 release

[x] Use PG timestamp rather than serial for chat logs
[x] Clean up test/test_text_w_apostrophe.ipynb

We should yank 0.6.0 once this is out, to minimize the risk that any user needs to make a DB migration.

0.6.1 released, 0.6.0 yanked


Avk003/masterchef params

Key Changes:

Removing redundant members from masterchef params, added it's test case
adding validation for ProtocolRevenueAddress BlockedAddress check in the keeper and before initializing genesis (based on Halborn  report)
Local testing done for migration

Please check unit tests, they are failing

Done. It was majorly dependent on one of the other PRs


Feature/passthrough arguments to actions

It shouldnt be necessary to review the largest function _parseCommand because I copied it from the original Command class. (what a pity they didn't created  the outputHelpIfRequested function to the class as well. Than I could have done it without copying so much)
The main reason for requesting feedback is if I don't have missed or brook something and if you are ok with it how it does work.
What is different now:

-h --help is now only possible if it is the first argument of a command. If its not the Option will be ignored (so it can be passed to the actions command)
-V --version is handled by ourselves to only print the version number if no other commands/arguments got passed (for the same reason: to pass -V --version to the actions command as arguments)
Now all Arguments/Options after a Action-Command will be bassed as shell arguments. So now it is possible to create more advanced and flexible actions.

Example setup for passing through the args
services:
  svc:
    path: xxx
    actions:
      npm: npm $@ # $@ passes all the arguments npm command
      create-branch: git checkout -b feature/$1 # $1 ... $[x] can be used as well to for placing single arguments to specific position in the final command
      exec: $@

Example Commands
via svc npm install foobar
via svc npm ls
via svc create-branch foobar
via svc exec via --help # ;P

PS: I think I will create a more advanced example config which also demonstrates how to use this feature. If you have good reallife examples, feel free to mention them here.

Looks good. Regardings use cases, I think running arbitrary commands in the docker container would be quite common, also the git command that you already wrote in your example.
Is there a specific reason why you want the arguments to start at $1? For me it'd be more intuitive if they would start at $0, just because almost everything in IT starts at 0.
I think we should make a habit out of documenting new features in the readme in the PR where we're adding them, just so we don't forget about them.

Thanks for testing and your feedback.
The reason why I start at $1 is the behavior of sh. ($0 means the command itself, $1 ... are the arguments). Thats because $@ only includes the arguments not $0. If we would start with $0 instead of $1 we need to define our actions in this format to pass all arguments from via: action: $0<EMAIL_ADDRESS>So I decided to skip $0 for an easier action syntax.

Ah, makes sense! You'll have to explain to my at some point what the empty string is for then, but that's not a discussion for this PR I think :D


Compatability question

Hey droe, simple question I think. What prevents sslsplit from being compiled/used from an windows environment?

The dependency on POSIX.1 in the source code and POSIX.2 in the build environment.


a bad patch to quiet the generate_field_data" from chef-ruby-lvm-attrib conflicts with /opt/chef/embedded/bin/generate_field_data issue

So RH updated their LVM package, which changes some paths, and the ruby seems fixated on paths.  Thus, we need to update our LVM and we hope its compatibility window still includes Chef14 until CinC has a good repo.
This will be the familiar sight to RH/EL people (including PLOS):
hostname     STDOUT:
hostname     STDERR: ERROR:  Error installing chef-ruby-lvm-attrib:
hostname                  "generate_field_data" from chef-ruby-lvm-attrib conflicts with /opt/chef/embedded/bin/generate_field_data
hostname     ---- End output of /opt/chef/embedded/bin/gem install chef-ruby-lvm-attrib -q --no-rdoc --no-ri -v "0.3.0" --clear-sources  --source=https://www.rubygems.org ----
hostname     Ran /opt/chef/embedded/bin/gem install chef-ruby-lvm-attrib -q --no-rdoc --no-ri -v "0.3.0" --clear-sources --source=https://www.rubygems.org returned 1

There's a few layers of concern, here, and I'm wondering if it's worthwhile to take on some risk and end some pain:
diff --git a/libraries/lvm.rb b/libraries/lvm.rb
index ded1df5..3b13909 100644
--- a/libraries/lvm.rb
+++ b/libraries/lvm.rb
@@ -31,6 +31,7 @@ module LVMCookbook
       action :install
       version node['lvm']['chef-ruby-lvm-attrib']['version']
       source node['lvm']['rubysource']
+      options '--force'
       clear_sources true
       compile_time true
     end

Your call, but until the gem gets fixed to not clobber their predecessors' file on every upgrade I can't see a better way to avoid breaking the run.
Remember when 'breaking the build' incurred a latte or pizza debt and some mild heckling?

Can confirm:  still happens on 6.1.0 and 0.3.10 .