Getting error for kubernetes.config.load_incluster_config(). Invalid kube-config file. No configuration found.

Describe the bug
I have a microk8s v1.23 running which i have updated from v1.16 latesly. I have a component which list the namespace for installing few components dynamically when there is a request. Below is my code snippet:
from kubernetes import client, config

if __name__ == "__main__":
config.load_incluster_config()
namespace = get_namespace()
LOGGER.info("Namespace: "+namespace)

Expected behavior
I should not get any exception. Im gettting below error instead:
kubectl logs -f sagatewaystub-5c84568b-tb8g8
Exception: [Errno 2] No such file or directory: '/app/config/gateway.yaml'
Traceback (most recent call last):
 File "/home/ubuntu/gatewaySoftwareManager.py", line 105, in <module>
   config.load_incluster_config()
 File "/usr/local/lib/python3.6/dist-packages/kubernetes/config/incluster_config.py", line 121, in load_incluster_config
   try_refresh_token=try_refresh_token).load_and_set(client_configuration)
 File "/usr/local/lib/python3.6/dist-packages/kubernetes/config/incluster_config.py", line 54, in load_and_set
   self._load_config()
 File "/usr/local/lib/python3.6/dist-packages/kubernetes/config/incluster_config.py", line 73, in _load_config
   raise ConfigException("Service token file does not exist.")
kubernetes.config.config_exception.ConfigException: Service token file does not exist.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "/home/ubuntu/gatewaySoftwareManager.py", line 107, in <module>
   config.load_kube_config()
 File "/usr/local/lib/python3.6/dist-packages/kubernetes/config/kube_config.py", line 810, in load_kube_config
   persist_config=persist_config)
 File "/usr/local/lib/python3.6/dist-packages/kubernetes/config/kube_config.py", line 768, in _get_kube_config_loader
   'Invalid kube-config file. '
kubernetes.config.config_exception.ConfigException: Invalid kube-config file. No configuration found.

To Reproduce

My Platform
kubectl get node -o wide
NAME     STATUS   ROLES    AGE    VERSION                     INTERNAL-IP     EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
devgpu   Ready    <none>   2d1h   v1.23.12-2+7f311b86ce6934   <IP_ADDRESS>   <none>        Ubuntu 20.04.5 LTS   5.4.0-128-generic   containerd://1.5.13
devgpu@devgpu:~/go/src/sa-app-operator/sagateway-operator/local_deploy/crds$

Additional context

Hi, this issue tracker is for issues with the codebase behind https://pypi.org itself, not the projects hosted on PyPI.
You should report this issue to the tracker for the project in question instead.


freeze zinc

fixes #480

test run https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-integrate-community-build/534/consoleFull

merged onto 2.11.x-jdk8 as well, test run https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-jdk8-integrate-community-build/343/consoleFull


Couldn't build the Image

Host: Ubuntu18.04
OpenVINO: 2020 LTS version
When building with docker as mentioned, it brakes when building dependencies.
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-l_y1pacb/grpcio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-6trk24u_-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-l_y1pacb/grpcio/ Error on or near line 92; exiting with status 1 The command '/bin/sh -c ./install_prerequisites.sh' returned a non-zero code: 1
What is the tested OpenVINO version? so I could reproduce the system

@Mohamad1994HD, our system currently support OpenVINO 2020.2 version. Support for OpenVINO 2020.3 LTS 2020.4 and 2020.5 releases in progress

So i will rebuild it with OpenVINO 2020.2 and confirm it to you asap


Change shortcuts

I'm using a notebook, my keyboard is ABNT2 and flip horizontal shortcut don't work.
It's don't a good idea a configuration file or settings dashboard?

Should be fixed in the version 4.0.0


feat: applied references for ISO and RFC consistently (#491)

Please check if the PR https://github.com/zalando/restful-api-guidelines/pull/491 introduces changes which are relevant to the Zally project.

Irrelevant for Zally project


Invalid / outdated documentation and examples

The original https://github.com/spring-cloud/spring-cloud-sleuth did the typical magic spring modules do, wrapped in spring-boot's auto-configuration - it just worked in servlet-based components, reactive, messaging (amqp, kafka), you name it.
Migration to micrometer (tracing) is still an issue:

frequent (and sometimes breaking) changes to the micrometer API,
missing auto-configuration for certain modules (amqp, kafka i.e.)
issues with reactor (mostly adjusted with spring framework 6.1 and boot 3.2.x)

The biggest problem from a team doing the migration or keeping up with dependencies is lack of / outdated documentation 😢
Just to name some:

https://github.com/micrometer-metrics/tracing/wiki/Spring-Cloud-Sleuth-3.1-Migration-Guide#async-instrumentation was adjusted based on an issue (https://github.com/spring-projects/spring-boot/issues/34622); now it points to deprecated code, while there is no information why it is deprecated and what is the alternative
https://github.com/micrometer-metrics/tracing/issues/372 does not state about the impact and alternative
a lot of questions about "how to wire it up" / "trace is lost" under https://stackoverflow.com/questions/tagged/micrometer-tracing
outdated / not complete examples in https://github.com/micrometer-metrics/micrometer-samples
documentation spread across different projects, with different level of maturity

all in all - it is really hard to have some overview:

which documentation I need to study when I bump SB dependencies?

how those "observability" components are really correlated?

what to do if something stopped working after migration (is it micrometer issue? spring-core, spring-boot or some other dependency?)

Within this issue I mainly wanted to bring awareness to the problem, but also asking for advise - based on points mentioned above, do I miss something obvious and the problem (maybe) does not exist 🤔 ? otherwise - I am eager to contribute but here I would also need some guidance.

Hey @chechoochoo, thank you for your issue.

The original https://github.com/spring-cloud/spring-cloud-sleuth did the typical magic spring modules do, wrapped in spring-boot's auto-configuration - it just worked in servlet-based components, reactive, messaging (amqp, kafka), you name it.

Thank you for your kind words! The problem with Sleuth and reactive was that it didn't do reactive properly - it's full of bugs and memory leaks.

frequent (and sometimes breaking) changes to the micrometer API,

I don't recall doing breaking changes, can you name some?

missing auto-configuration for certain modules (amqp, kafka i.e.)

They are being done progressively, I think that both amqp and kafka are already done.

issues with reactor (mostly adjusted with spring framework 6.1 and boot 3.2.x)

We are working on these. Believe me, the topic is very difficult and will require still some time to work properly. I'll state it again, it didn't work well with Sleuth.

https://github.com/micrometer-metrics/tracing/wiki/Spring-Cloud-Sleuth-3.1-Migration-Guide#async-instrumentation was adjusted based on an issue (https://github.com/spring-projects/spring-boot/issues/34622);

That's how it is, sometimes I forget to add things and then when an issue is filed I fix them :)

now it points to deprecated code, while there is no information why it is deprecated and what is the alternative

What is the deprecated code exactly?

https://github.com/micrometer-metrics/tracing/issues/372 does not state about the impact and alternative

Because this is not used at all in e.g. Boot and is not maintainable in the long run. Are you actually using this?

a lot of questions about "how to wire it up" / "trace is lost" under https://stackoverflow.com/questions/tagged/micrometer-tracing

That only proves that the project gets traction. I don't know how I should comment on this one.

outdated / not complete examples in https://github.com/micrometer-metrics/micrometer-samples

Why are they outdated, why aren't they completed? Can you elaborate on this one? We will not add all possible examples there really.

documentation spread across different projects, with different level of maturity

What does it even mean? Documentation of what? Which projects are immature?

which documentation I need to study when I bump SB dependencies?

I have no idea what you are referring to? What do you want to bump?

how those "observability" components are really correlated?

What do you mean by how they are correlated?

what to do if something stopped working after migration (is it micrometer issue? spring-core, spring-boot or some other dependency?)

It depends on what is not working. It's really hard to answer your question.

Within this issue I mainly wanted to bring awareness to the problem, but also asking for advise - based on points mentioned above, do I miss something obvious and the problem (maybe) does not exist 🤔 ? otherwise - I am eager to contribute but here I would also need some guidance.

Again, thanks for asking the question. We'll try to answer all of your concerns and find solutions to your problems.


Security problem: autosign

Hi,
puppetserver/Dockerfile has a command
puppet config set autosign true --section master
and at runtime
puppetserver/docker-entrypoint.d/60-setup-autosign.sh
runs
if test -n "${AUTOSIGN}" ; then
puppet config set autosign "$AUTOSIGN" --section master
fi
So if the variable  AUTOSIGN has not been set, the server is configured to allow autosign without admin's agreement, which is a severe security problem if puppet installes credentials on the client.

thx for the issue, PR is on the way


Update documentation (flv playback plugin)

Coverage increased (+0.2%) to 76.31% when pulling 93d314e2cc5104c366b0278ded2eee80122456f1 on andrefilimono:flvjs_doc into 1e5df5d89570eadd7a99fe886a98f38f1924927c on clappr:master.

Thank you very much @andrefilimono


UIMARCAUTH-122 correctly scroll the details pane

The only direct descendants of a <Paneset> should be <Pane>
components. Here, an extraneous <div> wrapper was inserted for the
purpose of providing a test hook. This change resolves the issue by
hooking directly onto the test-id of the inner <Pane>. This feels a
little risky since that test-id is not directly controlled by this
application.
A more thorough fix might be to allow the test-id in @folio/quick-marc
to be overridden by prop.
Refs UIMARCAUTH-122
Attn: @JohnC-80, @BogdanDenis (since I don't have write permission here and thus cannot add reviewers)

@zburke looks good, thanks for fixing this! Just need to fix the Sonar error in the builds - I've contacted devops channel about it

@BogdanDenis , the Sonar error is because this is from a fork and I don't have write access to this repo. To resolve it, please check out my branch locally and then push it to origin (folio-org instead of zburke); this will allow sonar to run. GitHub will recognize the commits on your branch and my fork as the same and should enable the PR.
See https://issues.folio.org/browse/FOLIO-3290 for details.

@zburke oh, I didn't know that would cause the issue. Thanks!


feat: ask user for enableSecurelyPassphraseCache

This pr includes these changes:

Implement the popup feature described at https://github.com/wdhongtw/vscode-gpg-indicator/pull/48#issuecomment-1462304729;
Rename indicator folder to backend to indicate that the codes in this folder should not be coupled with vscode api;
Move other codes to frontend folder to reduce the size of extension.ts;
Abstracte the ObjectStorage class to provide consistent interfaces;
Modify .vscodeignore to reflect the changes from #49.

@wdhongtw Hi, sorry for pinging. Does this issue have any problem?

@AnnAngela I'll start review these days. sorry for the late response.

Hi @AnnAngela , this PR looks great to me. Especially AbstractObjectStorage, I realy likes that. :D
As the change of project structure..  I would like to keep structure of ./src and ./src/indicator untouched.
Could you change it back? :D

@wdhongtw No problem.
And I would like to discuss the required vscode version, if we can update to vscode v1.74, we can use built-in LogOutputChannel so we don't need to make a logger by ourself. This LogOutputChannel follow the developer log level setting, and has ability to popup up the panel (LogOutputChannel#show) when we need to show error detail to user.
You can try it yourself by using these codes, then when debugging in extension debugger host, play the global.outputChannel in debug console of the original vscode window:
// we need to disable ts type check for `global`
// @ts-ignore
global.outputChannel = vscode.window.createOutputChannel('GPG Indicator test', { log: true });

Even further, if we can update to v1.75, we can avoid the warning message for activationEvents in package.json.

The only con I can think of is that we would lose the users who don't updating their vscode or using forked version like cloud studio. What do you think?

And one of the pro for using LogOutputChannel is that the LogOutputChannel can be used like console, it can output object and error directly, like this:

It seems to run JSON.stringify on the object passed in, but not a big problem.

if we can update to vscode v1.74, we can use built-in ...

Even further, if we can update to v1.75 ...

I think six-months is a reasonable choice for backward compatibility.
So for logger interface, we can set engine version to v1.74 around May 2023, and to v1.75 around June 2023.
We can create GitHub issue beforehand if you want this to be tracked. :D
@AnnAngela

I noticed another force-push today https://github.com/wdhongtw/vscode-gpg-indicator/compare/61b63fb7120042e6122604ab265752b9eb5d0e72..66dfa9e205bf82f943a395aa9559d874a371f36f . Thanks for the self-review. :D

Passphrase-cache feature should be ready now (I think?).
I will update contributor list and make next release these days, maybe in early April. :D

if we can update to vscode v1.74, we can use built-in ...

Even further, if we can update to v1.75 ...

I think six-months is a reasonable choice for backward compatibility.
So for logger interface, we can set engine version to v1.74 around May 2023, and to v1.75 around June 2023.
We can create GitHub issue beforehand if you want this to be tracked. :D
@AnnAngela

Your idea is great, let's track it in the new issue.

I noticed another force-push today https://github.com/wdhongtw/vscode-gpg-indicator/compare/61b63fb7120042e6122604ab265752b9eb5d0e72..66dfa9e205bf82f943a395aa9559d874a371f36f . Thanks for the self-review. :D

Passphrase-cache feature should be ready now (I think?).
I will update contributor list and make next release these days, maybe in early April. :D

I think so, thanks for your review!


Add jasmine-enzyme definition

A library definition for: https://www.npmjs.com/package/jasmine-enzyme

This hasn't been updated for quite a while and I can't add commits to the PR.
If this is still relevant please submit a new PR.


Add geolocation to destination and expense item activities

I will take on adding geolocation to destinations.

Destinations portion finished in 1d24384. New issue (#118) made for expense items portion for better clarity of the issue.


Ability to get window Z-orders from hyprctl

Description
I would like to see the zorder listed on each hyprctl clients -j object.

as in the order in the stack? they are sorted then in the output. Tiled windows are on their own (base) plane. Filtering out those will leave you with a sorted list from bottom to top

as in the order in the stack?

I think, yes. Whatever the alterzorder dispatcher changes (for floating windows).

they are sorted then in the output ... from bottom to top

Would that be ascending or descending? :stuck_out_tongue: I can find out.
I think that is unintuitive, but it is also problematic for hyprland-rs. Vec is ordered by implementation detail, but ordering can't be relied upon. I will have to make a PR to change Clients inner Vec into an OrdredVec of some kind, which brings in another dependency. @yavko
I think the most straightforward solution would be a backwards compatible additive feature,
the introduction of a zorder or zindex which is always 0 for base plane, and greater than zero for floating windows. Or, null for base plane, if you must.

Now, I thought the order listed by hyprctl was corresponding to focusHistoryId? It appears to be this way.

as in the order in the stack?

I think, yes. Whatever the alterzorder dispatcher changes (for floating windows).

they are sorted then in the output ... from bottom to top

Would that be ascending or descending? :stuck_out_tongue: I can find out.
I think that is unintuitive, but it is also problematic for hyprland-rs. Vec is ordered by implementation detail, but ordering can't be relied upon. I will have to make a PR to change Clients inner Vec into an OrdredVec of some kind, which brings in another dependency. @yavko
I think the most straightforward solution would be a backwards compatible additive feature,
the introduction of a zorder or zindex which is always 0 for base plane, and greater than zero for floating windows. Or, null for base plane, if you must.

Now, I thought the order listed by hyprctl was corresponding to focusHistoryId? It appears to be this way.

Isn't Vec ordered, why would it require another dependency?

Now, I thought the order listed by hyprctl was corresponding to focusHistoryId? It appears to be this way.

No.

but it is also problematic for hyprland-rs

That's not my problem though is it? :P
zindex would be fine... but it is not kept anywhere internally. It doesn't exist. That's not how our renderer works.
All I could give you would be i when iterating over the vector, but that's kinda pointless... otherwise I'd have to count the tiled windows that came before, which can be done by the client too..

@yavko Sorry, I am misremembering. My concern is coming from how the memory layout is an implementation detail, not to be relied upon after insertions/removals. Yes, Vec is ordered. What a silly statement I made.


2022-01-11 Meeting Notes

Resolves #81

It looks the meeting record is located in https://virtualinc-my.sharepoint.com/. How can normal members like me visit this recording?


Nested ( ) Highlight

A clear and concise description of what the bug is.

The syntax highlight of \( \) behaves weird in, e.g., \hyperref[]{}

The previous version (e.g., version 9.7.0) is the expected highlight behavior

A minimal example to reproduce the issue
\hyperref[\(\)]{\(\)}

VS Code Version: 1.82.2
OS Version: macOS 13.5.2 (22G91)
LaTeX-Workshop version if you use it: 9.13.4

Actually, I do not think the new rendering of hyperref is a bug. Let's have a closer look.
First, disabling editor.bracketPairColorization.enabled removes what you call the weird colouring

Second, why did not we have this weird colouring before version 1.5.3 of the LaTeX grammar? This is because \(...\) inside the first bracket pair was considered as delimiters of a math block before #59. This was actually wrong. It seems to me that the new grammar is better and uses more relevant scopes.
Btw, \hyperref expects a label as its optional argument. Isn't it a bit weird to find \( inside a label? I would even have thought this these are not accepted as part of a label.

I understand the expected behavior for the first optional argument, i.e., \hyperlink[\(\)]{some text...}, is probably not correct and should not be used in the first place.
However, a more concerning problem is for the second argument, i.e., \hyperlink[some label]{\(\)}: this is what I use on a daily basis. However, now it's not rendered in the usual way. I think a potential reason is the following:

As you can see, the scope inside \(\) is not even math.

This causes me other problems when using other extensions (which is irrelevant to this one, though).

I'm not sure whether this is a VSCode bug or something else.

You are right the second argument in \hyperlink[some label]{some text} is not matched against the LaTeX syntax, hence math is not highlighted. I will investigate if it can be fixed.


(New Request) generating code for fetch would be nice

I know, code will be generated for axios, but fetch would be perfect and more general to be used (node, browser, polyfill, ...)

It's already there please see this image below

Oh sorry - fasted feature addition i have ever seen ;)

@subasraj was just checking them out ... and found PHP > fetch does show the curl version (I expected PEAR's HTTP_Request https://pear.php.net/manual/en/package.http.http-request.php )
and: I love seeing HTTPie there :)


kubeless topic ls - panic: assignment to entry in nil map

BUG REPORT
What happened:
kubeless topic ls
panic: assignment to entry in nil map

goroutine 1 [running]:
net/textproto.MIMEHeader.Set(...)
	/usr/local/Cellar/go/1.12.6/libexec/src/net/textproto/header.go:22
net/http.Header.Set(...)
	/usr/local/Cellar/go/1.12.6/libexec/src/net/http/header.go:37
github.com/kubeless/kubeless/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec.(*roundTripper).RoundTrip(0xc000497e80, 0xc000105400, 0xc000047bc0, 0x7, 0x200b38e)
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go:176 +0x270
github.com/kubeless/kubeless/cmd/kubeless/topic.execCommand(0xc0001768c0, 0x22bd9e0, 0xc000132b40, 0x200b38e, 0x8, 0xc0001460a0, 0x5, 0x5, 0x2256400, 0xc0000ec000, ...)
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/cmd/kubeless/topic/topicCreate.go:103 +0x48f
github.com/kubeless/kubeless/cmd/kubeless/topic.listTopic(...)
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/cmd/kubeless/topic/topicList.go:60
github.com/kubeless/kubeless/cmd/kubeless/topic.glob..func4(0x2e1a780, 0x2e46e90, 0x0, 0x0)
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/cmd/kubeless/topic/topicList.go:47 +0x2bb
github.com/kubeless/kubeless/vendor/github.com/spf13/cobra.(*Command).execute(0x2e1a780, 0x2e46e90, 0x0, 0x0, 0x2e1a780, 0x2e46e90)
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/vendor/github.com/spf13/cobra/command.go:766 +0x2ae
github.com/kubeless/kubeless/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc000134500, 0x1d89f5a, 0xc0003e1f88, 0xc0000c0058)
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/vendor/github.com/spf13/cobra/command.go:852 +0x2ec
github.com/kubeless/kubeless/vendor/github.com/spf13/cobra.(*Command).Execute(...)
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/vendor/github.com/spf13/cobra/command.go:800
main.main()
	/private/tmp/kubeless-20190702-51707-1pec8sr/kubeless-1.0.4/src/github.com/kubeless/kubeless/cmd/kubeless/kubeless.go:48 +0x28

What you expected to happen:
List topics in Kafka.
Environment:

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.9-2+4a03651a7e7e04", GitCommit:"4a03651a7e7e04a0021b2ef087963dfb7bd0a17e", GitTreeState:"clean", BuildDate:"2019-08-16T19:08:17Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.10-eks-5ac0f1", GitCommit:"5ac0f1d9ab2c254ea2b0ce3534fd72932094c6e1", GitTreeState:"clean", BuildDate:"2019-08-20T22:39:46Z", GoVersion:"go1.11.13", Compiler:"gc", Platform:"linux/amd64"}

Kubeless version (use kubeless version):

Kubeless version: v1.0.4

Cloud provider or physical cluster:

Amazon EKS

Installed the Kafka trigger with:

kubectl create -f https://github.com/kubeless/kafka-trigger/releases/download/v1.0.2/kafka-zookeeper-v1.0.2.yaml

Any ideas on this? Blocker for me. Thanks

The kubeless topic command assumes a few things in the cluster, it's mainly used for testing purposes (I wouldn't recommend using it for any production setup).
If you really want to do it, what the kubeless CLI does under the hood, is exec into the kafka pod and execute: /opt/bitnami/kafka/bin/kafka-topics.sh --zookeeper zookeeper.kubeless:2181 --list
https://github.com/kubeless/kubeless/blob/master/cmd/kubeless/topic/topicList.go#L56
You can manually run that using kubectl instead.

@andresmgot thanks for the reply. Running:
MacBook-Pro ➜  ~ kubectl get pods --namespace kubeless
NAME                                          READY   STATUS    RESTARTS   AGE
kafka-0                                       1/1     Running   0          9d
kafka-trigger-controller-69cf947d6b-nbc4v     1/1     Running   0          9d
kubeless-controller-manager-646876977-qb46g   3/3     Running   0          24d
zoo-0                                         1/1     Running   0          9d

MacBook-Pro ➜  ~ kubectl --namespace kubeless exec -it kafka-0 -- /bin/bash

/opt/bitnami/kafka/bin/kafka-topics.sh --zookeeper zookeeper.kubeless:2181 --list

Worked. This seems to indicate an issue then in kubeless since go is crashing with panic: assignment to entry in nil map.

The kubeless topic command assumes a few things in the cluster, it's mainly used for testing purposes (I wouldn't recommend using it for any production setup).

What do you recommend then to create topics kubeless topic create and kubeless topic publish?

Yes, probably something in the client-go library is wrong (or not updated) and that's why you are getting that error.

What do you recommend then to create topics kubeless topic create and kubeless topic publish?

You can follow the same approach, you can check what the commands do in the code:
https://github.com/kubeless/kubeless/blob/master/cmd/kubeless/topic/topicCreate.go#L61
https://github.com/kubeless/kubeless/blob/master/cmd/kubeless/topic/topicPublish.go#L67
In the case of the publish command you need to pipe the text to be published.


Update to SendOut API V2

Update the gem to support the new version of the API.

Gem updated to support the V2 of the API.


Freezing image stream with FAILED BINDER TRANSACTION error

Problem
We are facing the following issue with the mobileapi - on Galaxy S10, the image stream would freeze every few seconds. The error in the console logs is:
E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 263244)
I have attached a video with logs. https://user-images.githubusercontent.com/3404751/136535327-c8e49438-2a62-4293-ad02-bfb0b3c7bceb.mp4
Setup
Clarius App/ Probe version - Beta 8.5.1-234+b29e095128
Mobileapi - 8.0.1
Phone used - Galaxy S10, 8GB RAM
Current workaround
The only workaround we found is to detect when the images freeze (no more events MSG_NEW_PROCESSED_IMAGE) and fire another MSG_REGISTER_CLIENT event. This event, triggers the flow of images again.
Failed workarounds
We tried toggling freeze or changing gain/depth but they didn't solve the problem. Only the above method worked.
Technical discussion
Based on the analysis of the logs, it seems that there is a separate background process/thread or service, in the Clarius app which gets killed or something. I'm not sure why the binder doesn't work only for some images but works for most.
NOTE: On Galaxy S21 this issue is much harder to reproduce, so it may be related to constraint resources.

Thanks. I will explore further and report here with developments.


Release of version 1.1.0

Create a tag of version v1.1.0 and release it via continuous integration.

Release v1.1.0 created.


Add HTTPS support

Hi,
I'm using etherpad in https context with your plugin. It uses an unsecure URL to generate (or get ?) formula. In this context, we got a warning on browser and it brokes the security icon on URL.
The website used to generate (get?) the formula seems has https support.
It should be interresting to use HTTPS to avoid these warning.
Thanks for your feedback.

https://github.com/JohnMcLear/ep_mathjax/blob/master/static/js/hooks.js#L39 is the offending line

I changed to https://  that should fix it.


Ts 3656

Changes to allow activating follow redirection in send server response hook.  Originally this would not work for the post case, because the buffers storing the post data for redirect were being freed too early.  Delayed the cleanup until later.  Also changed one of the buffers stored with the post state to be set up as local variables instead.
Also since the redirection decision is made late, we needed to make a copy (reference counted copy) of the post buffer regardless what the enable_redirection flag value happens to be at the time the post data is received from the client.
Given that the redirect and post logic are both squirrelly, I'd appreciate another set of eyes looking this over before I commit.
I have validation from a production environment that this patch works to enable the functionality.

Do we claim to support redirection for POST? POST is not an idempotent method and AFAIK, it is highly unreliable and not recommended to use redirection with POST method. See below link for more details:
http://www.alanflavell.org.uk/www/post-redirect.html

The existing code goes to some effort to support post redirect.  That logic has been there since before I got involved.  It is a broader discussion if we want to remove that support.

AFAIK, we have always maintained (within our prod at least) that the behavior of redirect follow w/ POST is not guaranteed. As such, the current code of not resubmitting the body to the follow at least seems to address the concerns above. I'm not sure if that should now be changed to resubmit the body. It could result in a significant break of things afaict.

The existing code does resubmit the body if the enable_redirect is set statically or set early enough in the life cycle of the transaction.  This change adjust the logic to enable the body resubmit if the decision is made later.  This was a customer request.  We may want to reconsider our decision to redirect posts, but I think that is a different bug than this one.

Can you ask the customer/user not to use redirect with POST (with the supporting material from above) I believe I've done that on more than one occasion in the past successfully.

It's not really feasible to ask the user agent to change behavior. In my view the bottom line is that ATS does this, it's an incompatible change to not do it, so we should make it work until we decide if such functionality should be dropped.

This is not a real UA we are talking about. It's a plugin IIUC.
If you are talking about real UA, fyi, what ATS does with internal redirect is non-standard. Per the RFC, UA handles redirect follow on its own.

My understanding is it is a plugin that enables redirection following for the request but the request is from a user agent. I am aware this is not compliant but as I noted changing to be strictly RFC compliant in this regard is a incompatible change that is outside the scope of this bug. Until that change is made, we should make what functional does actually exist not be broken.


Responsive grid and verticalCompact false

Using a modified version of your example 6-dynamic-add-remove.jsx, by setting "verticalCompact: false", the components all end up on top of one another in the upper left corner as they are added in both Chrome and FF, and they are not draggable. Does the responsive component not support "verticalCompact: false" or am I missing initial parameters?
I have tried comparing to 11-no-vertical-compact.jsx but it's not using the responsive control, so its use seems slightly different.

For anyone else with this problem: If the items y-property is set to "Infinity", it causes the verticalCompact: false setting on the grid to crash.

Is this still an issue?


systemJS again...

I try to include your module in https://github.com/mgechev/angular-seed , anf had error:
(SystemJS) XHR error (404 Not Found) loading http://localhost:5555/jspm_packages/npm/angular-oauth2-oidc/angular-oauth2-oidc.js
after changing system config I have new erorr:
(SystemJS) XHR error (404 Not Found) loading<EMAIL_ADDRESS>Someone can explain me, hot it works? Thank you

Disclaimer: This is a temporary fix I came up with. It somehow works and enables me to continue testing. I am also awaiting  a better solution to this
I have the same error message. I managed to get around it temporarily, with some pretty hacky changes. But since I saw your issue I thought I'd share what I did.
Basically it was three things

In systemjs.config.js I had specify the path to angular-oauth2-oidc to the dist/src folder
In systemjs.config.js I had to manually references to dependencies of angular-oauth2-oidc
In source the imported oauth-service.js, I changed the imported RxJs to RxJs/Rx.

This is our current systemjs.config.js:
(function (global) {
    System.config({
        paths: {
            // paths serve as alias
            'npm:': 'node_modules/'
        },
        // map tells the System loader where to look for things
        map: {
            // our app is within the app folder
            app: 'app',
            specs: 'tests',
            // angular bundles
            '@angular/core': <EMAIL_ADDRESS>            '@angular/core/testing': <EMAIL_ADDRESS>            '@angular/common': <EMAIL_ADDRESS>            '@angular/common/testing': <EMAIL_ADDRESS>            '@angular/compiler': <EMAIL_ADDRESS>            '@angular/compiler/testing': <EMAIL_ADDRESS>            '@angular/platform-browser': <EMAIL_ADDRESS>            '@angular/platform-browser/testing': <EMAIL_ADDRESS>            '@angular/platform-browser-dynamic': <EMAIL_ADDRESS>            '@angular/platform-browser-dynamic/testing': <EMAIL_ADDRESS>            '@angular/http': <EMAIL_ADDRESS>            '@angular/http/testing': <EMAIL_ADDRESS>            '@angular/router': <EMAIL_ADDRESS>            '@angular/router/upgrade': <EMAIL_ADDRESS>            '@angular/router/testing': <EMAIL_ADDRESS>            '@angular/forms': <EMAIL_ADDRESS>            '@angular/forms/testing': <EMAIL_ADDRESS>            '@angular/upgrade': <EMAIL_ADDRESS>            '@angular/upgrade/static': <EMAIL_ADDRESS>
            'rxjs': 'npm:rxjs',

            // other libraries
            'angular-oauth2-oidc': 'npm:angular-oauth2-oidc/dist/src/oauth-service.js',
            'base64-js': 'npm:base64-js/base64js.min.js',
            'js-base64': 'npm:js-base64/base64js.min.js',
            'sha256': 'npm:sha256/lib/sha256.js',
            'convert-hex': 'npm:convert-hex/convert-hex.js',
            'convert-string': 'npm:convert-string/convert-string.js'
        },
        // packages tells the System loader how to load when no filename and/or no extension
        packages: {
            app: {
                main: './main.js',
                defaultExtension: 'js'
            },
            rxjs: {
                defaultExtension: 'js'
            },

            specs: {
                defaultExtension: 'js'
            }
        }
    });
})(this);

After doing these changes, all that remained was a 404 error for RxJs. I found an answer on Stack Overflow: Angular2 Rxjs 404 error.  Based on that answer, I modified the source code of the oauth-service:
In the node_modules/angular-oauth2-oidc/dist/src folder, open the file oauth-service.js and replace
var rxjs_1 = require('rxjs);
with
var rxjs_1 = require('rxjs/rx');
Maybe this can bring you forward as well, for now.

I tried this fix but I had to add few more references. It looks like below
'angular-oauth2-oidc': 'npm:angular-oauth2-oidc/dist/src/oauth-service.js',
'base64-js': 'npm:base64-js/base64js.min.js',
'js-base64': 'npm:js-base64/base64.min.js',
'sha256': 'npm:sha256/lib/sha256.js',
'convert-hex': 'npm:convert-hex/convert-hex.js',
'convert-string': 'npm:convert-string/convert-string.js',
'buffer': 'npm:buffer/index.js',
'ieee754': 'npm:ieee754/index.js',
Now I am able to run but now I am getting below error .
index.html:41 Error: (SystemJS) Cannot read property 'forRoot' of undefined
TypeError: Cannot read property 'forRoot' of undefined
at Object.eval (http://localhost:6897/src/app/app.module.js:29:151)
at eval (http://localhost:6897/src/app/app.module.js:37:4)
at eval (http://localhost:6897/src/app/app.module.js:38:3)
at eval ()

It was first step of project, so we had to choose another seed. I still have no solution for it

The next version of this lib will only have one dependency. This will hopefully make such things more easy. To find a good systemjs config for it, I would download it with JSPM and then look at the generated config.


Use of insecure HostKeyCallback implementation

Tasks

#47

Use of insecure HostKeyCallback implementation

Solution :heavy_check_mark:
HostKeyCallback: ssh.HostKeyCallback(
	func(hostname string, remote net.Addr, key ssh.PublicKey) error {
		return nil
}),

Screenshots :framed_picture:

Note to reviewers :notebook:

@riteshsonawane1372 are there no other methods available?

FixedHostKey : When the allow list contains only a single host key
 HostKeyCallback: ssh.FixedHostKey(publicKey),

func secureHostKeyCallback() {
	publicKeyBytes, _ := ioutil.ReadFile("allowed_hostkey.pub")
	publicKey, _ := ssh.ParsePublicKey(publicKeyBytes)

	_ = &ssh.ClientConfig{
		User:            "username",
		Auth:            []ssh.AuthMethod{nil},
		HostKeyCallback: ssh.FixedHostKey(publicKey),
	}
}

@riteshsonawane1372 could you replace the password-based auth with ssh key auth?
if you are up for it

@riteshsonawane1372 could you replace the password-based auth with ssh key auth? if you are up for it

	signer, _ := ssh.ParsePrivateKey([]byte(password))
	config := &ssh.ClientConfig{
		User: "root",
		Auth: []ssh.AuthMethod{
			ssh.PublicKeys(signer),
		},
		HostKeyCallback: ssh.HostKeyCallback(
			func(hostname string, remote net.Addr, key ssh.PublicKey) error {
				return nil

@riteshsonawane1372 could you replace the password-based auth with ssh key auth? if you are up for it

	signer, _ := ssh.ParsePrivateKey([]byte(password))
	config := &ssh.ClientConfig{
		User: "root",
		Auth: []ssh.AuthMethod{
			ssh.PublicKeys(signer),
		},
		HostKeyCallback: ssh.HostKeyCallback(
			func(hostname string, remote net.Addr, key ssh.PublicKey) error {
				return nil

If we can move to private key Auth
We have to create sshkeypair function and delete when delete cluster
Get the key and save it to ksctl cluster folder and use it to ssh
Ig that will match with rest of the cloud providers

Issue #61
@AvineshTripathi

@riteshsonawane1372 could you replace the password-based auth with ssh key auth? if you are up for it

	signer, _ := ssh.ParsePrivateKey([]byte(password))
	config := &ssh.ClientConfig{
		User: "root",
		Auth: []ssh.AuthMethod{
			ssh.PublicKeys(signer),
		},
		HostKeyCallback: ssh.HostKeyCallback(
			func(hostname string, remote net.Addr, key ssh.PublicKey) error {
				return nil

If we can move to private key Auth We have to create sshkeypair function and delete when delete cluster Get the key and save it to ksctl cluster folder and use it to ssh Ig that will match with rest of the cloud providers @AvineshTripathi @kranurag7 your thoughts

Can you describe a bit ?

@riteshsonawane1372 could you replace the password-based auth with ssh key auth? if you are up for it

	signer, _ := ssh.ParsePrivateKey([]byte(password))
	config := &ssh.ClientConfig{
		User: "root",
		Auth: []ssh.AuthMethod{
			ssh.PublicKeys(signer),
		},
		HostKeyCallback: ssh.HostKeyCallback(
			func(hostname string, remote net.Addr, key ssh.PublicKey) error {
				return nil

If we can move to private key Auth We have to create sshkeypair function and delete when delete cluster Get the key and save it to ksctl cluster folder and use it to ssh Ig that will match with rest of the cloud providers @AvineshTripathi @kranurag7 your thoughts

Can you describe a bit ?

ig it will be clear if you can check the Issue created still any doubt we can discuss

@riteshsonawane1372 you are working on main branch do checkout to a different branch
I am closing this PR you can create a another PR as this PR will break the main branch code
ig some miscommunication between us
we can communicate what needs to be done (i.e. the workflow and how to change the src code)


Read and Write Cookie with httpOnly=true.

All Submissions:

[ ] Have you followed the guidelines stated in CONTRIBUTING.md file? A little bit, but not all.
[X] Have you checked to ensure there aren't any other open Pull Requests for the desired changed?

Type of change
Please delete options that are not relevant.

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

New Feature Submission:

[ ] Does your submission pass the tests?
[X] Have you linted your code locally prior to submission?

Changes To Core Features:

[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your core changes, as applicable?
[ ] Have you successfully ran tests with your changes locally?

Description
Now its possible to set and read httpOnly Cookies.
What I did?

Added 'cookie' to HeaderData(state.py).
Added new default_endpoint(app.py) as _/set_cookie/
Added new set_http_only_cookie event(event.py) to easy create a httpOnly cookie.

How to use it?

Create a State
Use 'self.router.headers.cookie'
Create a function and 'return rx.set_http_only_cookie(...)'

Like that:
class MyCustomState(rx.State):
    def get_my_cookies(self):
        myCookies = self.router.headers.cookie
        logger.info(myCookies)

    def set_cookie(self):
        return rx.set_http_only_cookie(
            key="Test",
            value="5Test5",
            max_age=1500,
        )

...

rx.button(
            "Get All Cookie",
            width="100%",
            size="3",
            radius="large",
            variant="solid",
            on_click=MyCustomState.get_my_cookies,
        ),

rx.button(
            "Set A Cookie",
            width="100%",
            size="3",
            radius="large",
            variant="solid",
            on_click=MyCustomState.set_cookie,
        ),

What can be improved?

self.router.headers.cookie should be a dictionary... Possible but need more work...
self.router.headers.cookie doesnt returns any cookie that has a 'path' different to '/'. It only works with a path='/'. I dont know why...
Maybe can it be built-in with rx.Cookie in state.py? I couldnt find a good way to integrate with it...

Marking this as draft until resynced with main and conflict are addressed.


Add ACL 2021

Associated with https://github.com/gentaiscool/code-switching-papers/issues/10 .

thanks for adding


Longer builds due to ccache having poor cache hits ?

Problem description
Builds seem to be taking much longer than usual apparently due to ccache repeatedly missing cache hits.
No cache is found for key: velox-ccache-debug-arch1-linux-amd64-6_85-7jfZ04uqHBAKI5Pfy_WPaoFNv6nPC0cnV7IZKqQPZn4=

System information
On CircleCI.
CMake log
No response

Example Run : https://app.circleci.com/pipelines/github/facebookincubator/velox/18123/workflows/a14dcad8-8b47-4e16-9c2b-e821b0b63c41/jobs/114548

We believe this might be due to cache size being too small and shared across various runs.
cache directory                     /root/project/.ccache
primary config                      /root/project/.ccache/ccache.conf
secondary config      (readonly)    /etc/ccache.conf
stats updated                       Thu Dec 22 20:55:49 2022
cache hit (direct)                   599
cache hit (preprocessed)             297
cache miss                          1984
cache hit rate                     31.11 %
cleanups performed                   110
files in cache                       923
cache size                           4.3 GB
max cache size                       5.0 GB

Would make sense to split the cache and not have 1 integrated one.

This: No cache is found for key: velox-ccache...  is a cicleci cache miss, not ccache itself. As we only look for direct key matches and not partial hits this means that the ccache db will be built from scratch in these cases -> 100% miss.
The solution should be to add partial keys e.g. velox-ccache-debug-arch1-linux-amd64-6_85- so that even if there is no perfect match to the hashes, the most recently created cache is still restored. That way there will be a ccache cache to use which should lower the miss rate considerably.
There is also another issue, that I think is the main issue with low hit rates even when the cache is successfully restored: cci caching does not support updating caches. Skipping cache generation, cache already exists for key: velox-ccache-debug-arch1-linux-amd64-6_85-... (This issue also exists on GHA so I am quite familiar with it)
Yes, this is quite surprising as it completely invalidates it for caching build caches like ccache or the cargo cache. Once something happens that changes the cache key (here arch + merge base date) a new cache will be generated. For as long as the key does not change the ccache cache will be restored to that initial state, during compilation new artifacts are added but the changes are never updated into the cache and are discarded at the end of the job.
During  periods without changes to the cache keys the state of the cache will diverge further and further from the state of the repo and the hit rate will decrease steadily.
One rather wasteful workaround  (especially with cci as it seems you have to pay for cache storage?) is to use partial keys for restore and save under a unique key on every run. That allows us to "update" the cache. I will investigate if there are any better solutions for cci.


Add a two-pane view with a keyboard shortcut to switch back and forth

Is your feature request related to a problem? Please describe.
When working on a three-paned challenge (e.g. lessons of the Responsive Web Design certificate and probably many others), especially on smaller screens the code pane in the middle is just too narrow. Line wrapping is happening way too often, which reduces usability. Manually resizing the panes each lesson is cumbersome. Using Ctrl-- to reduce font size results in a font too small for some people, especially in the text pane.
Describe the solution you'd like
Add a keyboard shortcut to quickly switch between 3- and 2-pane view, where the latter will display two even sized panes of code and preview
Describe alternatives you've considered
Remembering pane ratio across lessons is partially helpful but the text pane should anyway be wide when reading it (especially because of code blocks).
Additional context
As a bonus, the preview pane becomes much wider with one shortcut.

There's a few things you can possibly do to help with this for the time being @adql. If you make your window a little smaller, the view does change to where each pane takes up the whole screen, and you can switch between them with tabs. Although, you can't do that on a phone. I'm curious what device you are using? You can stop the text from wrapping with ctrl/cmd + f1 - not sure if you can do that on a phone either. But f1 brings up a menu, and then there's a Toggle Accessibility Mode option to accomplish the same thing.
I like the idea of remember the pane size across challenges.
I believe our future editor will have all the instructions embedded within the code, so there will be one less pane to deal with.
As a quick fix, we could possible change the width at which the view changes from panes to tabs so it's a little sooner (bigger).

I'm using a laptop with a 14" HD monitor. Do people actually use the phone to study coding? It would be interesting to see statistics...
These tips are really useful! It's especially helpful knowing about the f1 menu that includes not only accessibility and usability options but also keyboard shortcuts. I think it would be a good idea to inform the user about this menu at least at the first time of visiting the study interface (I don't remember such guidance, excuse me if I'm wrong).

Since https://github.com/freeCodeCamp/freeCodeCamp/pull/42519 means that any resizing you do will be persisted between challenges and reloads, I think this problem is mitigated somewhat.


mincore has been removed from OpenBSD current.

Hi Guys
mincore has been remove from OpenBSD current[1]

Antiquated mincore(2) will not be needed and was removed, eliminating an interface that exposed physical machine information unnecessarily.

i am not sure the best way of fixing/not compiling "hvt_module_dumpcore".
/home/asteen/devl/solo5/tenders/hvt/hvt_module_dumpcore.c:195:9: error:
      implicit declaration of function 'mincore' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
    if (mincore(hvt->mem, hvt->mem_size, mvec) == -1) {
        ^
1 error generated.

Before i make a change, i was hoping to get a direction on fixing this.
gdb and dumpcore are a fair way off from getting OpenBSD support with ocaml/opam porting, and mprotect ept kernel work required for general Mirage use.
Cheers
Adam
[1] https://marc.info/?l=openbsd-cvs&m=154723400730318&w=2

mincore has been remove from OpenBSD current[1]

While it's nice that the OpenBSD folks are removing "antiquated" system calls, I don't see any sensible way of implementing dumpcore functionality without a mincore() or equivalent. Yes, we could write out the guest memory in its entirety, but that would cause the host to page in all pages of guest memory, not just those it has actually touched.
The OpenBSD commit mentions "only a few pieces of software use it, generally poorly thought out.  they are being fixed, so mincore() can be deleted.". May be worth asking (with a pointer to the Solo5 dumpcore code) how they would recommend fixing this.
Then again, it is a fairly obscure feature, so it could also just not be supported on OpenBSD, up to you.

Before i make a change, i was hoping to get a direction on fixing this.

Can you wait a week or so? I need to rip out the specialization-at-compile-time in hvt, then it'll be easier to desupport dumpcore for OpenBSD.

Yeah, my todo list is a mile long, just let me know and I will fix up OpenBSD!

@adamsteen Will do. In any case I'm going to close #278 for now as it looks like that won't happen given the removal of mincore().

I hate to be that person, but I just arrived to the MirageOS retreat and fired up solo5 on my 6.5-current snapshot and ran into this. If there are patches or a branch I can help test, Id really love to.
in the mean time I'll just run a 6.4-release in vmm and nest (which I think is possible...)

@aaglenn
See https://github.com/adamsteen/solo5/tree/openbsd_fix?files=1 for a temporary fix you could pin
Also OpenBSD now has Ocaml 4.07.1 and OPAM 2.0.3 in ports, hopefully packages soon, see https://gist.github.com/adamsteen/6bdae8dc93d8f91f9eb6cf1dbbbbe4b5 for OpenBSD for 6.4 help
With the above branch I am able to run the solo5 tests, but when trying to run mirage_skeleton tutorial noop I get a fatal error, have only just started to look into it, was going to start at 6.4 and work forwards to see when it broke
Hope that gives you something

@aaglenn @adamsteen The build system changes in #326 will fix this by not compiling any of the hvt debug modules on OpenBSD. If you want to help, it's worth testing the tip of the branch mentioned there with OpenBSD-current but note that it's currently a moving target and does not work with OPAM/MirageOS correctly yet.

fwiw, mincore was removed because of https://arxiv.org/abs/1901.01161

fixed in #345. solo-hvt is built correctly and solo-hvt-debug is not built, not causing any issues.
closing.


build fails on master and v2.4.1 on arm64

Kairos version:

master/v2.4.1
CPU architecture, OS, and Version:

ARM64
Describe the bug

I try to build kairos on master/v2.4.1 branch, it fails at building the framework. Not sure what I have been missing
To Reproduce

checkout master branch
run earthy.sh +iso --FLAVOR=alpine
wait for a while and seeing a failure.

Expected behavior

build should go OK

Logs

./earthly.sh   +iso --FLAVOR=alpine
detected cgroups v2; earthly-entrypoint.sh running under pid=1 with controllers "cpuset cpu io memory hugetlb pids rdma" in group 0::/
loading config values from "/etc/.earthly/config.yml"
           buildkitd | Starting buildkit daemon as a docker container (earthly-buildkitd)...
           bootstrap | Warning: Bootstrapping buildkit failed: maybe start buildkitd: start: could not start buildkit: 1 error occurred:
           bootstrap | 	* command failed: docker run --privileged --env BUILDKIT_MAX_PARALLELISM=20 --env BUILDKIT_DEBUG=false --env BUILDKIT_TCP_TRANSPORT_ENABLED=true --env BUILDKIT_TLS_ENABLED=true --label dev.earthly.settingshash=53bb7043424f0e87 --mount type=volume,source=earthly-cache,dst=/tmp/earthly --mount type=bind,source=/root/.earthly/certs/ca_cert.pem,dst=/etc/ca.pem,ro=true --mount type=bind,source=/root/.earthly/certs/buildkit_cert.pem,dst=/etc/cert.pem,ro=true --mount type=bind,source=/root/.earthly/certs/buildkit_key.pem,dst=/etc/key.pem,ro=true --publish <IP_ADDRESS>:8371:8371/tcp --publish <IP_ADDRESS>:8372:8372/tcp -d --pull missing --name earthly-buildkitd docker.io/earthly/buildkitd:v0.7.20: exit status 125: docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /root/.earthly/certs/ca_cert.pem.
           bootstrap | See 'docker run --help'.: exit status 125
           bootstrap |
           bootstrap | Bootstrapping successful.
loading config values from "/etc/.earthly/config.yml"
 Init 🚀
————————————————————————————————————————————————————————————————————————————————

           buildkitd | Connecting to tcp://5062f758fc6f:8372...
           buildkitd | ...Done
           buildkitd | Version github.com/earthly/buildkit v0.7.20 af796f0cb8ff6cf53fdebd543ff1e7cd173c00a1
           buildkitd | Platforms: linux/arm64 (native) linux/amd64 linux/amd64/v2 linux/riscv64 linux/ppc64le linux/s390x linux/386 linux/mips64le linux/mips64 linux/arm/v7 linux/arm/v6
           buildkitd | Utilization: 0 other builds, 0/20 op load
           buildkitd | GC stats: 0 B cache, avg GC duration 0s, all-time GC duration 0s, last GC duration 0s, last cleared 0 B

 Build 🔧
————————————————————————————————————————————————————————————————————————————————

              alpine | --> Load metadata alpine linux/arm64
               +base | FLAVOR=alpine
               +base | --> FROM alpine
               +base | [----------] 100% FROM alpine
               +base | FLAVOR=alpine
               +base | *cached* --> mkdir /run
               +base | FLAVOR=alpine
               +base | *cached* --> IF [ "$FLAVOR" = "ubuntu" ]
            +version | FLAVOR=alpine
            +version | *cached* --> RUN apk add git
            +version | FLAVOR=alpine
            +version | --> COPY . ./
            +version | FLAVOR=alpine
            +version | --> mkdir /run/buildargs
            +version | FLAVOR=alpine
            +version | --> ARG _GIT_VERSION = RUN $(git describe --always --tags --dirty)
            +version | FLAVOR=alpine
            +version | --> mkdir /run
            +version | FLAVOR=alpine
            +version | --> IF [ "$K3S_VERSION" != "" ]
            +version | FLAVOR=alpine
            +version | --> RUN --no-cache echo ${_GIT_VERSION}${_K3S_VERSION} > VERSION
            +version | FLAVOR=alpine
            +version | --> mkdir /run/buildargs
            +version | FLAVOR=alpine
            +version | --> ARG VERSION = RUN $(cat VERSION)
            +version | FLAVOR=alpine
            +version | *cached* --> SAVE ARTIFACT VERSION +version/VERSION
                +iso | FLAVOR=alpine
                +iso | *cached* --> COPY +version/VERSION ./
                +iso | FLAVOR=alpine
                +iso | *cached* --> mkdir /run/buildargs
                +iso | FLAVOR=alpine
                +iso | *cached* --> ARG VERSION = RUN $(cat VERSION)
q/k/osbuilder-tools:v0.8.6 | --> Load metadata quay.io/kairos/osbuilder-tools:v0.8.6 linux/arm64
         +base-image | FLAVOR=alpine
         +base-image | *cached* --> IF [ "$BASE_IMAGE" = "" ]
         +base-image | FLAVOR=alpine
         +base-image | *cached* --> IF [[ "$FLAVOR" =~ ^alpine* ]]
         +base-image | FLAVOR=alpine
         +base-image | *cached* --> mkdir /run/buildargs
         +base-image | FLAVOR=alpine
         +base-image | *cached* --> ARG SIMPLE_FLAVOR = RUN $(echo alpine | sed s/-arm-.*//)
       golang:alpine | --> Load metadata golang:alpine linux/arm64
  q/luet/base:0.35.0 | --> Load metadata quay.io/luet/base:0.35.0 linux/arm64
               +luet | FLAVOR=alpine
               +luet | --> FROM quay.io/luet/base:0.35.0
          +framework | FLAVOR=alpine
          +framework | --> FROM golang:alpine
               +luet | [----------] 100% FROM quay.io/luet/base:0.35.0
               +luet | FLAVOR=alpine
               +luet | *cached* --> SAVE ARTIFACT /usr/bin/luet +luet/luet
          +framework | [----------] 100% FROM golang:alpine
          +framework | FLAVOR=alpine
          +framework | *cached* --> WORKDIR /build
          +framework | FLAVOR=alpine
          +framework | *cached* --> COPY ./profile-build /build
          +framework | FLAVOR=alpine
          +framework | *cached* --> COPY framework-profile.yaml /build
          +framework | FLAVOR=alpine
          +framework | *cached* --> COPY +luet/luet /usr/bin/luet
          +framework | FLAVOR=alpine
          +framework | --> RUN go run main.go ${FLAVOR} framework-profile.yaml /framework
          +framework | go: downloading github.com/kairos-io/kairos-sdk v0.0.14
          +framework | go: downloading github.com/urfave/cli v1.22.14
          +framework | go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.2
          +framework | go: downloading gopkg.in/yaml.v3 v3.0.1
          +framework | go: downloading github.com/containerd/containerd v1.7.1
          +framework | go: downloading github.com/denisbrodbeck/machineid v1.0.1
          +framework | go: downloading github.com/google/go-containerregistry v0.15.2
          +framework | go: downloading github.com/hashicorp/go-multierror v1.1.1
          +framework | go: downloading github.com/qeesung/image2ascii v1.0.1
          +framework | go: downloading github.com/joho/godotenv v1.5.1
          +framework | go: downloading github.com/pterm/pterm v0.12.63
          +framework | go: downloading gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0
          +framework | go: downloading github.com/russross/blackfriday/v2 v2.1.0
          +framework | go: downloading github.com/containerd/continuity v0.3.0
          +framework | go: downloading golang.org/x/sys v0.10.0
          +framework | go: downloading github.com/docker/cli v23.0.5+incompatible
          +framework | go: downloading github.com/mitchellh/go-homedir v1.1.0
          +framework | go: downloading github.com/docker/docker v23.0.5+incompatible
          +framework | go: downloading github.com/docker/distribution v2.8.1+incompatible
          +framework | go: downloading golang.org/x/sync v0.2.0
          +framework | go: downloading github.com/opencontainers/go-digest v1.0.0
          +framework | go: downloading github.com/hashicorp/errwrap v1.1.0
          +framework | go: downloading atomicgo.dev/cursor v0.1.3
          +framework | go: downloading atomicgo.dev/keyboard v0.2.9
          +framework | go: downloading atomicgo.dev/schedule v0.0.2
          +framework | go: downloading github.com/gookit/color v1.5.3
          +framework | go: downloading github.com/lithammer/fuzzysearch v1.1.8
          +framework | go: downloading github.com/mattn/go-runewidth v0.0.14
          +framework | go: downloading golang.org/x/term v0.10.0
          +framework | go: downloading golang.org/x/text v0.11.0
          +framework | go: downloading github.com/sirupsen/logrus v1.9.0
          +framework | go: downloading github.com/pkg/errors v0.9.1
          +framework | go: downloading github.com/docker/go-connections v0.4.0
          +framework | go: downloading github.com/docker/go-units v0.5.0
          +framework | go: downloading github.com/opencontainers/image-spec v1.1.0-rc3
          +framework | go: downloading github.com/containerd/stargz-snapshotter/estargz v0.14.3
          +framework | go: downloading github.com/containerd/console v1.0.3
          +framework | go: downloading github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e
          +framework | go: downloading github.com/rivo/uniseg v0.4.4
          +framework | go: downloading github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
          +framework | go: downloading github.com/docker/docker-credential-helpers v0.7.0
          +framework | go: downloading github.com/klauspost/compress v1.16.5
          +framework | go: downloading golang.org/x/net v0.10.0
          +framework | go: downloading github.com/vbatts/tar-split v0.11.3
          +framework | go: downloading github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59
          +framework | go: downloading github.com/mattn/go-isatty v0.0.17
          +framework | go: downloading github.com/wayneashleyberry/terminal-dimensions v1.1.0
          +framework | go: downloading github.com/gogo/protobuf v1.3.2
          +framework | No profile found
          +framework | exit status 1
          +framework | ERROR Earthfile line 261:4
          +framework |       The command
          +framework |           RUN go run main.go ${FLAVOR} framework-profile.yaml /framework
          +framework |       did not complete successfully. Exit code 1

================================== ❌ FAILURE ===================================

          +framework *failed* | Repeating the failure error...
          +framework *failed* | FLAVOR=alpine
          +framework *failed* | --> RUN go run main.go ${FLAVOR} framework-profile.yaml /framework
          +framework *failed* | go: downloading github.com/kairos-io/kairos-sdk v0.0.14
          +framework *failed* | go: downloading github.com/urfave/cli v1.22.14
          +framework *failed* | go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.2
          +framework *failed* | go: downloading gopkg.in/yaml.v3 v3.0.1
          +framework *failed* | go: downloading github.com/containerd/containerd v1.7.1
          +framework *failed* | go: downloading github.com/denisbrodbeck/machineid v1.0.1
          +framework *failed* | go: downloading github.com/google/go-containerregistry v0.15.2
          +framework *failed* | go: downloading github.com/hashicorp/go-multierror v1.1.1
          +framework *failed* | go: downloading github.com/qeesung/image2ascii v1.0.1
          +framework *failed* | go: downloading github.com/joho/godotenv v1.5.1
          +framework *failed* | go: downloading github.com/pterm/pterm v0.12.63
          +framework *failed* | go: downloading gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0
          +framework *failed* | go: downloading github.com/russross/blackfriday/v2 v2.1.0
          +framework *failed* | go: downloading github.com/containerd/continuity v0.3.0
          +framework *failed* | go: downloading golang.org/x/sys v0.10.0
          +framework *failed* | go: downloading github.com/docker/cli v23.0.5+incompatible
          +framework *failed* | go: downloading github.com/mitchellh/go-homedir v1.1.0
          +framework *failed* | go: downloading github.com/docker/docker v23.0.5+incompatible
          +framework *failed* | go: downloading github.com/docker/distribution v2.8.1+incompatible
          +framework *failed* | go: downloading golang.org/x/sync v0.2.0
          +framework *failed* | go: downloading github.com/opencontainers/go-digest v1.0.0
          +framework *failed* | go: downloading github.com/hashicorp/errwrap v1.1.0
          +framework *failed* | go: downloading atomicgo.dev/cursor v0.1.3
          +framework *failed* | go: downloading atomicgo.dev/keyboard v0.2.9
          +framework *failed* | go: downloading atomicgo.dev/schedule v0.0.2
          +framework *failed* | go: downloading github.com/gookit/color v1.5.3
          +framework *failed* | go: downloading github.com/lithammer/fuzzysearch v1.1.8
          +framework *failed* | go: downloading github.com/mattn/go-runewidth v0.0.14
          +framework *failed* | go: downloading golang.org/x/term v0.10.0
          +framework *failed* | go: downloading golang.org/x/text v0.11.0
          +framework *failed* | go: downloading github.com/sirupsen/logrus v1.9.0
          +framework *failed* | go: downloading github.com/pkg/errors v0.9.1
          +framework *failed* | go: downloading github.com/docker/go-connections v0.4.0
          +framework *failed* | go: downloading github.com/docker/go-units v0.5.0
          +framework *failed* | go: downloading github.com/opencontainers/image-spec v1.1.0-rc3
          +framework *failed* | go: downloading github.com/containerd/stargz-snapshotter/estargz v0.14.3
          +framework *failed* | go: downloading github.com/containerd/console v1.0.3
          +framework *failed* | go: downloading github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e
          +framework *failed* | go: downloading github.com/rivo/uniseg v0.4.4
          +framework *failed* | go: downloading github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
          +framework *failed* | go: downloading github.com/docker/docker-credential-helpers v0.7.0
          +framework *failed* | go: downloading github.com/klauspost/compress v1.16.5
          +framework *failed* | go: downloading golang.org/x/net v0.10.0
          +framework *failed* | go: downloading github.com/vbatts/tar-split v0.11.3
          +framework *failed* | go: downloading github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59
          +framework *failed* | go: downloading github.com/mattn/go-isatty v0.0.17
          +framework *failed* | go: downloading github.com/wayneashleyberry/terminal-dimensions v1.1.0
          +framework *failed* | go: downloading github.com/gogo/protobuf v1.3.2
          +framework *failed* | No profile found
          +framework *failed* | exit status 1
          +framework *failed* | ERROR Earthfile line 261:4
          +framework *failed* |       The command
          +framework *failed* |           RUN go run main.go ${FLAVOR} framework-profile.yaml /framework
          +framework *failed* |       did not complete successfully. Exit code 1

Additional context

Hello @liyimeng
You are setting a random flavor name, so when framework tries to include the packages it tries searc hing for the given flavor in the profiles, but alpine is not a valid falvor.
You should use either alpine-opensuse-leap or alpine-ubuntu as the ---FLAVOR to get an apline iso.

You can seea ll supported out of the box flavors to build with earthly under https://github.com/kairos-io/kairos/blob/master/framework-profile.yaml

Hello @liyimeng
You are setting a random flavor name, so when framework tries to include the packages it tries searc hing for the given flavor in the profiles, but alpine is not a valid falvor.
You should use either alpine-opensuse-leap or alpine-ubuntu as the ---FLAVOR to get an apline iso.

@Itxaka thanks! In this case, the we probably need to update document at https://kairos.io/docs/development/development/, where it is misleading, what do u think?

@Itxaka by the way, even using alpine-ubuntu, it fails as well. since package   grub-bios   is not available on arm64 in alpine3.18
I re-open this issue, hope it is OK with u

Hi @liyimeng ,
yeah, for arm64 isos, we have only tested opensuse-leap as its the only one that works out of the box. For other flavors, the only supported arm64 devices is rpi3/rpi4.
Are you building an generic arm64 iso for an arm machine?
I will send a patch to install grub-bios only under the x86 arch in the alpine image, as this is still an issue :)

Hello @liyimeng
You are setting a random flavor name, so when framework tries to include the packages it tries searc hing for the given flavor in the profiles, but alpine is not a valid falvor.
You should use either alpine-opensuse-leap or alpine-ubuntu as the ---FLAVOR to get an apline iso.

@Itxaka thanks! In this case, the we probably need to update document at kairos.io/docs/development/development, where it is misleading, what do u think?

Indeed this is an issue, we never updated the docs to show the current state of arm building.
Basically to build a generic arm iso (generic means its not tied to a device like a rpi4) you need to run a different target (earthly +all-arm-generic --FLAVOR=$FLAVOR) and also we dont mark that that has only been tested to work with opensuse-leap and under a VM in arm64 platforms, so not even on real hardware (is there any arm64 dev boxes out there?)
Will also update the docs to mention this. Thanks for the heads up!

it seem the build was not that reproducible. I try a couple of flavours. The one most close to succeed is alpine-ubuntu on amd64, it fails like this
          +framework | FLAVOR=alpine-ubuntu
          +framework | --> RUN luet cleanup --system-target /framework
          +framework |   ERROR    Error on removing 02
          +framework | ERROR Earthfile line 269:4
          +framework |       The command
          +framework |           RUN luet cleanup --system-target /framework
          +framework |       did not complete successfully. Exit code 2

================================== ❌ FAILURE ===================================

          +framework *failed* | Repeating the failure error...
          +framework *failed* | FLAVOR=alpine-ubuntu
          +framework *failed* | --> RUN luet cleanup --system-target /framework
          +framework *failed* |   ERROR    Error on removing 02
          +framework *failed* | ERROR Earthfile line 269:4
          +framework *failed* |       The command
          +framework *failed* |           RUN luet cleanup --system-target /framework
          +framework *failed* |       did not complete successfully. Exit code 2
🛰 Reuse cache between CI runs with Earthly Satellites! 2-20X faster than without cache. Generous free tier https://cloud.earthly.dev


Incorrect generated code in ScreenHandler#insertItem

The first while loop in ScreenHandler#insertItem is decompiled incorrectly.
Quiltflower generates this code:

Which is incorrect, as the while loop will continue if the if condition is false.
CFR generates code which matches the actual behaviour:

Hey, thanks for this report- seems like the ternary in if statement simplifier continues to cause problems. While not a permanent fix, the simplification step has been disabled by default in 1.8.0 as a stopgap measure.

#104 fixes this properly, and Quiltflower now outputs the correct code. Thank you again for making this known!


Move constants to the right, making it the same as the way it is associated

This way we don't need a special-case addition constant folding in reassoc.egg

Closing because we are not working on the milestone


"is:issue-query" vs "is:add-issue"

One thing that makes serialization a little trickier is that the "is" keys don't all follow an order. I'd expected them to be roughly: is:resource_name-action or is:action-resource_name but not both. In my implementation I will probably support just one. Can one become preferred? (I'm probably going to go with essentially is:verb-direct_object.)

I am not sure about what you are trying to here - but those identifiers are link relations and as such they have no semantics attached to the textual structure. Link relations can be of just about any form - those are just examples I chose for the demo.
Making a serialization that depends on the link rel textual structure seems very wrong to me.
Remember that "is" is a namespace prefix as used in XML which means it should be expanded to its full URI before evaluation (the related URI base is defined in the "@meta" element). Check "CURIES" in the Mason specification.

@JornWildt Well, here's where it's coming up for me: I want to generate Mason responses from Ruby objects. Ideally, I'd like to not have to specify the name of each link rel, and if they all follow a convention I can easily reflect on the object and action and infer them directly:
 64     def action_template(params)
 65       {
 66         "is:#{params[:name]}-#{resource_name_of(serializer.object).singularize}" => params.except(:name).merge!(
 67           {
 68             href: get_url_for(params[:name])
 69           }
 70         )
 71       }
 72     end

For posterity, I'm thinking this through here though I think I understand what you meant before @JornWildt.
Looking at:
 8   "@namespaces": {
 9     "is": {
 10       "name": "http://localhost:9292/rels#"
 11     }
 12   },

and
 17     "is:filter": {

gets expanded to "http://localhost:9292/rels#filter" right? (Haven't worked with CURIEs before, but following: http://crosstech.crossref.org/2008/12/curies_a_cure_for_uris.html).
Thing is, if I have a pre-JSON object, say in Ruby, and I want to translate it into JSON, I will prob want some conventions around that translation. So say I have generic object like "submissions" -- it doesn't look from the example like I have a separate namespace for it, right? Which is why in the link relations we see stuff like "update-issue" etc? My initial feeling was ok, if I'm serializing a Ruby object into JSON, do namespace:action-resource_name. This isn't a concern for Mason though, it's really just a concern for me implementing serializers.

Oh I did have one question though -- the namespace, it's totally arbitrary, yes? "is" is just short for "issue" and not actually meant to mean "this is x", yeah? I think I read too much meaning into that!

1 {
2   "title": "View submissions",
3   "description": "idk yet",
4   "@meta": {
5     "@title": "Submissions",
6     "@description": "This resource represents submissions."
7   },
8   "@namespaces": {
9     "submissions": {

Can I have more than one namespace? Do they link to entirely different pages? I'm assuming yes.
10       "name": "http://localhost:9292/rels#"
11     }
12   },
13   "@controls": {
14     "self": {
15       "href": "http://localhost:9292/welcome/newest"
16     },

If my namespace maps to an object, is this better? It'd save me the repetition of a link relation including it.
17     "submissions:filter": {
18       "href": "http://localhost:9292/submission_filter_template/filter?category={category}&has_photo={has_photo}",
19       "isHrefTemplate": true,
20       "title": "filter submissions by category",
21       "description": "in addition to category, you can ensure the submission has a photo"
22     },
23     "submissions:add": {
24       "title": "add new submission",
25       "encoding": "json",
26       "href": "http://localhost:9292/submission_add_template/submit",
27       "method": "POST",
28       "template":
29       {
30         "title": "default title",
31         "category": "cats",
32         "photo_url": "http://cats.com"
33       }
34     }
35   }
36 }

"is:filter" gets expanded to "http://localhost:9292/rels#filter" right?

Yes.

the namespace, it's totally arbitrary, yes? "is" is just short for "issue"

Yes, mentally. Semantically it is short hand for "http://localhost:9292/rels#" using your namespace declaration. In my example it is sematically equivalent to something else. The "is" could as well have been "qw" or "bug" or another random short identifier.

Can I have more than one namespace?

I have not given it much attention, but that is the idea, yes.

If my namespace maps to an object, is this better?

Sorry, I do not know what you mean by "maps to an object".
Please be aware that using "localhost" for a link relation would be rather odd. Usually the link relation will refer to the organization behind the API. More like "http://info.acme.org/schema/rels/issue-tracker".

Yeah for now, everything I'm generating is on localhost, so I can look at it as I go along. There's currently no settings to set the host url or anything, but there will be. :) Thanks again for your feedback and humoring all my questions!


[schema-engine/sql-schema-describer/src/mysql.rs:884:42] called Result::unwrap() on an Err value

"Getting delete_rule from Resultrow ResultRow { columns: ["constraint_name", "column_name", "referenced_table_name", "referenced_column_name", "ordinal_position", "table_name", "delete_rule", "update_rule"], values: [Text(Some("Post_authorId_fkey")), Text(Some("authorId")), Text(Some("User")), Text(Some("id")), Int64(Some(1)), Text(Some("Post")), Enum(Some("SET NULL")), Enum(Some("CASCADE"))] } as String failed"

Command: prisma migrate dev --name init
Version: 5.3.1
Binary Version: 61e140623197a131c2a6189271ffee05a7aa9a59
Report: https://prisma-errors.netlify.app/report/14943
OS: arm64 darwin 22.1.0
JS Stacktrace:
RustPanic: Error in Schema engine.
Reason: [schema-engine/sql-schema-describer/src/mysql.rs:884:42] called `Result::unwrap()` on an `Err` value: "Getting delete_rule from Resultrow ResultRow { columns: [\"constraint_name\", \"column_name\", \"referenced_table_name\", \"referenced_column_name\", \"ordinal_position\", \"table_name\", \"delete_rule\", \"update_rule\"], values: [Text(Some(\"Post_authorId_fkey\")), Text(Some(\"authorId\")), Text(Some(\"User\")), Text(Some(\"id\")), Int64(Some(1)), Text(Some(\"Post\")), Enum(Some(\"SET NULL\")), Enum(Some(\"CASCADE\"))] } as String failed"

Rust Stacktrace:
[EXIT_PANIC]
Starting schema engine RPC server
[schema-engine/sql-schema-describer/src/mysql.rs:884:42] called `Result::unwrap()` on an `Err` value: "Getting delete_rule from Resultrow ResultRow { columns: [\"constraint_name\", \"column_name\", \"referenced_table_name\", \"referenced_column_name\", \"ordinal_position\", \"table_name\", \"delete_rule\", \"update_rule\"], values: [Text(Some(\"Post_authorId_fkey\")), Text(Some(\"authorId\")), Text(Some(\"User\")), Text(Some(\"id\")), Int64(Some(1)), Text(Some(\"Post\")), Enum(Some(\"SET NULL\")), Enum(Some(\"CASCADE\"))] } as String failed"
   0: backtrace::capture::Backtrace::new
   1: schema_engine::set_panic_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic_handler::{{closure}}
   4: std::sys_common::backtrace::__rust_end_short_backtrace
   5: _rust_begin_unwind
   6: core::panicking::panic_fmt
   7: core::result::unwrap_failed
   8: <quaint::connector::result_set::result_row::ResultRow as sql_schema_describer::getters::Getter>::get_expect_string
   9: <sql_schema_describer::mysql::SqlSchemaDescriber as sql_schema_describer::SqlSchemaDescriberBackend>::describe::{{closure}}::{{closure}}
  10: <sql_schema_describer::mysql::SqlSchemaDescriber as sql_schema_describer::SqlSchemaDescriberBackend>::describe::{{closure}}
  11: sql_schema_connector::flavour::mysql::connection::Connection::describe_schema::{{closure}}::{{closure}}
  12: <sql_schema_connector::flavour::mysql::MysqlFlavour as sql_schema_connector::flavour::SqlFlavour>::describe_schema::{{closure}}::{{closure}}
  13: sql_schema_connector::flavour::mysql::shadow_db::sql_schema_from_migrations_history::{{closure}}
  14: <sql_schema_connector::flavour::mysql::MysqlFlavour as sql_schema_connector::flavour::SqlFlavour>::sql_schema_from_migration_history::{{closure}}::{{closure}}
  15: <sql_schema_connector::SqlSchemaConnector as schema_connector::schema_connector::SchemaConnector>::database_schema_from_diff_target::{{closure}}
  16: schema_core::commands::diagnose_migration_history::diagnose_migration_history::{{closure}}
  17: <schema_core::state::EngineState as schema_core::api::GenericApi>::dev_diagnostic::{{closure}}::{{closure}}::{{closure}}
  18: schema_core::state::EngineState::with_connector_for_schema::{{closure}}::{{closure}}::{{closure}}
  19: schema_core::state::EngineState::with_connector_for_schema::{{closure}}::{{closure}}
  20: tokio::runtime::task::raw::poll
  21: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
  22: tokio::runtime::task::raw::poll
  23: tokio::runtime::task::UnownedTask<S>::run
  24: std::sys_common::backtrace::__rust_begin_short_backtrace
  25: core::ops::function::FnOnce::call_once{{vtable.shim}}
  26: std::sys::unix::thread::Thread::new::thread_start
  27: __pthread_deallocate

Hey @jkomyno do we have the necessary information to reproduce this? If not, then let's close this issue.

I don't have anymore than what's in https://prisma-errors.netlify.app/report/14943.

Isn't the string at the beginning of the issue enough to figure out what part of the code and what data is problematic here?

I don't think so. Let's close it for now, @jkomyno or anybody else, feel free to reopen if you disagree.


Custom cache control headers

I'm testing out https://github.com/developmentseed/cogeo-mosaic-tiler/pull/2 with a ttl argument.
If ttl is not None, the returned Cache-Control header is max-age={ttl}.
https://github.com/vincentsarago/lambda-proxy/blob/abfcb4e12adefd196bdbe3732efacc15afb502a5/lambda_proxy/proxy.py#L577-L580
I'm trying to use Cloudflare to reduce my lambda and bandwidth costs. I believe that without the public keyword in the Cache-Control header, Cloudflare doesn't cache the item. For example, the response headers for
https://naip-lambda.kylebarron.dev/4c4d507790e8afa837215677bd6f74f58711bfaf3e1d5f7226193e12/14/2620/6332@2x

are:
access-control-allow-credentials: true
access-control-allow-methods: GET
access-control-allow-origin: *
cache-control: max-age=2592000
cf-cache-status: DYNAMIC
cf-ray: 57120388aecdf778-DEN
content-type: image/jpg
date: Mon, 09 Mar 2020 04:22:19 GMT
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
...

I believe that cf-cache-status: DYNAMIC means that Cloudflare won't cache the item. (For other items that I know Cloudflare is caching; the response is always either MISS or HIT).
Thus, I'd like to add functionality for custom cache-control headers. Could it be an arbitrary string used instead of ttl?

sure do it !


okhttp 3.x thinks it is running on Java 9+ from Java 8u252

The OkHttpClient.Builder has a deprecated method to inject SSLSocketFactory: OkHttpClient.Builder#sslSocketFactory(SSLSocketFactory)
This method is fetching the X509TrustManager via reflection.
This is not supported on Java 9+ (I guess JPMS restricts it).
From Java 8u252 (8u242 is fine), the Jdk9Platform is picked because the logic which picks the right platform is based on checking if certain methods exist via reflection and those methods were backported into Java 8 from 8u252: Jdk9Platform.java#L92-L94. This breaks the OkHttpClient.Builder#sslSocketFactory(SSLSocketFactory), it always throws an exception on 8u252.
Here is SSLParameters#setApplicationProtocols(String[]) in 8u252
While 8u242 does not contain it
And here is SSLSocket#getApplicationProtocol() in 8u252
While 8u242 does not contain it
Here's a test suite to demo the issue:

Both cases are ok on java 8u242
The first one (shouldCreateTheClientWithoutTheTrustManager) fails on 8u252

import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
import okhttp3.OkHttpClient;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertNotNull;

class OkHttpJavaDetectionTest {
  @Test
  void shouldCreateTheClientWithoutTheTrustManager() throws NoSuchAlgorithmException {
    OkHttpClient client = new OkHttpClient.Builder()
      .sslSocketFactory(SSLContext.getDefault().getSocketFactory())
      .build();

    assertNotNull(client);
  }

  @Test
  void shouldCreateTheClientWitTheTrustManager() throws NoSuchAlgorithmException, KeyStoreException {
    OkHttpClient client = new OkHttpClient.Builder()
      .sslSocketFactory(SSLContext.getDefault().getSocketFactory(), createTrustManager())
      .build();

    assertNotNull(client);
  }

  private X509TrustManager createTrustManager() throws NoSuchAlgorithmException, KeyStoreException {
    TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
    trustManagerFactory.init((KeyStore) null);
    TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
    if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
      throw new IllegalStateException("Unexpected default trust managers: " + Arrays.toString(trustManagers));
    }

    return (X509TrustManager) trustManagers[0];
  }
}

Here's the relevant section of the stacktrace:
java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+

	at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.java:77)
	at okhttp3.internal.platform.Platform.buildCertificateChainCleaner(Platform.java:177)
	at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.java:743)
...

That method is deprecated, and 3.14.x is generally unmaintained only for security fixes.  Can you avoid calling the deprecated form?
If you are unable to make this fix because it's in another codebase, can you provide a stacktrace so if we can see where the calling code is?

Removing the bug label, as failing this call is generally the intention when clients have upgraded/redeployed.

@yschimke I know it is deprecated (that's how I started this issue), though the fact that the method is deprecated should not imply that it is not working, that's why I opened the issue.
I'm ok, I fixed it on my side by providing the TrustManager (see my second test), just wanted to let the project maintainers know it is not working on latest Java8.
I'm using okhttp through Feign, I think I should be able to upgrade, I will check this, thank you.

Thanks for raising the issue.  We've fixed the issue for the non deprecated case already https://github.com/square/okhttp/issues/5970.
And thanks for moving off the deprecated method.


createContext is not a function

Hi there,
Until version 2.11.0, json-viewer was working flawlessly for me. Since version 2.11.1, I get following runtime error:

Following the call stack, the error is stemming from this line of code (dist/index.js:97):
 const { useStore: useJsonViewerStore , useStoreApi: useJsonViewerStoreApi , Provider: JsonViewerProvider  } = createContext();
We are using json-viewer in a React project with following (core) dependencies:
 "dependencies": {
    "@textea/json-viewer": "^2.12.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
  },

When downgrading to version 2.11.0 everything works fine again.

I will check this later

Could you provide a minimum reproduction for us to identify the problem?

Hi pionxzh,
Sorry for my delay in replying. I have tried to reproduce the bug both in a fresh React project and by isolating the root cause in our own app. But even if I strip our app down to the abolute minimum, the createContext issue persists. Somehow the scope of the textea module is wrong.
I have so far not been able to reproduce the bug outside of our environment. We are working on an ejected React app and at this point, I am suspecting, that the behavior is related to our highly customized webpack configuration. But I will have to dig deeper into it.
I will update you, as soon as I have news.
Thanks and best regards

This createContext API call has been removed from the codebase (#250).
I will close this as it shouldn't be a problem anymore.


Rework icons of noise-related classes

The idea was to match the designs with a set of classes that are in a pretty similar relationship:

So what do you think? I think they look quiet noise.
Noise: It's an abstract, dimension-agnostic class, it has functions to sample 1D through 3D. So the icon references a noise function. Using the usual white color in case #80184 gets rejected.
FastNoiseLite: Similar design to Gradient, but with the classical noise jumble we all know and love. I think if you know about 2D noise, you should instantly recognize this class is about that. Also, this noise library doesn't have you think much about 1D.
NoiseTexture2D: Same idea, but may be a bit less obvious because there's only 9x7 space to communicate the idea.
NoiseTexture3D: Same idea, but again may be a bit less obvious, as now the space is only 7.75x6 so the noise pattern is even more squished.
How it looks among other icons:

Current icons for reference
https://media.discordapp.net/attachments/499951549406248971/1138470057698152509/image.png

New take. It addresses a common concern that the icons were easily confused with GradientTexture2D. I'm pushing this.

Take 4:

I think it looks excellent now!
The only icon that's a different concept from what users are familiar in 4.1 is NoiseTexture2D, and I have to mention that that icon was also not in 4.0 by accident.

Based on feedback I'll try to reduce the blurriness.

You should mention in your commit message that you also modify the gradient texture icons. (and maybe add an updated screenshot to the PR's description so that everyone can quickly view the changes since GH's SVG diff view is not usable here)

Real size:

I might have to open an issue in ThorVG about it, there's still confused rasterization.

May I poke in? How do we feel about this?

I myself feel pretty good about it now.

I am completely fine with this, too. I don't know who could have the final saying, however.

It's not that, you have merge conflict markers in your icons you need to remove

Yeah I noticed that I missed to fix merge conflicts of gradient files, but I think it's both things.

Have you set up the pre-commit on your computer? These should be covered by the optimizations

Nope, I haven't. Although, I'm confirming now that attribute order in SVG matters for passing the style checks.


comment api - partial

add new comment
new coment - pause for build errors

partial fleshing out of the comments api. Pause for supporting auth in next pr.


Feature/robosense lidar driver

Status
PRODUCTION / DEVELOPMENT
Description
#1500
Steps to Test

Checkout this branch
Update submodules git submodule update --init --recursive
Compile
Launch from Runtime Manager / Sensing Tab

or from a sourced terminal
roslaunch rslidar_pointcloud cloud_nodelet_32.launch
roslaunch rslidar_pointcloud cloud_nodelet_16.launch
Open RVIZ, change fized frame to rslidar
Add PointCloud2 /rslidar_points

@kitsukawa thaks.. i try to compile.. but error..
[  2%] Building CXX object util/packages/RobotSDK/fastvirtualscan/CMakeFiles/fastvirtualscan.dir/FastVirtualScan/fastvirtualscan.cpp.o
[  2%] Building CXX object sensing/drivers/gnss/packages/garmin/CMakeFiles/garmin_gps_18x_lvc.dir/src/garmin_gps_18x_lvc.cc.o
make[1]: *** [computing/perception/localization/lib/ndt_cpu/CMakeFiles/ndt_cpu.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  2%] Built target pcl_omp_registration
[  2%] Linking CXX shared library /home/puma/Autoware/ros/devel/lib/libfastvirtualscan.so
[  2%] Built target fastvirtualscan
[  2%] Linking CXX executable /home/puma/Autoware/ros/devel/lib/fake_drivers/fake_camera
[  2%] Built target fake_camera
[  2%] Linking CXX executable /home/puma/Autoware/ros/devel/lib/garmin/garmin_gps_18x_lvc
[  2%] Built target garmin_gps_18x_lvc
make: *** [all] Error 2
Invoking "make -j5" failed

@droneboxid This is another problem so can you make a new issue?

@droneboxid and add the whole error trace. The actual error is not shown there.

@amc-nu
[  2%] Linking CXX executable /home/puma/Autoware/ros/devel/lib/vectacam/vectacam_node
[  2%] Linking CXX shared library /home/puma/Autoware/ros/devel/lib/libfastvirtualscan.so
[  2%] Built target fastvirtualscan
Scanning dependencies of target obj_db
[  2%] Building CXX object data/packages/obj_db/CMakeFiles/obj_db.dir/lib/obj_db/SendData.cpp.o
/usr/bin/ld: cannot find -lQt5::Core
/usr/bin/ld: cannot find -lQt5::Gui
/usr/bin/ld: cannot find -lQt5::Widgets
/usr/bin/ld: cannot find -lQt5::Test
/usr/bin/ld: cannot find -lQt5::Concurrent
/usr/bin/ld: cannot find -lQt5::OpenGL
collect2: error: ld returned 1 exit status
make[2]: *** [/home/puma/Autoware/ros/devel/lib/vectacam/vectacam_node] Error 1
make[1]: *** [sensing/drivers/camera/packages/vectacam/CMakeFiles/vectacam_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  2%] Building CXX object data/packages/obj_db/CMakeFiles/obj_db.dir/lib/obj_db/util.cpp.o
[  2%] Linking CXX shared library /home/puma/Autoware/ros/devel/lib/libobj_db.so
[  2%] Built target obj_db
[  2%] Linking CXX executable /home/puma/Autoware/ros/devel/lib/fake_drivers/fake_camera
/usr/bin/ld: cannot find -lQt5::Core
/usr/bin/ld: cannot find -lQt5::Gui
/usr/bin/ld: cannot find -lQt5::Widgets
/usr/bin/ld: cannot find -lQt5::Test
/usr/bin/ld: cannot find -lQt5::Concurrent
/usr/bin/ld: cannot find -lQt5::OpenGL
collect2: error: ld returned 1 exit status
make[2]: *** [/home/puma/Autoware/ros/devel/lib/fake_drivers/fake_camera] Error 1
make[1]: *** [util/packages/fake_drivers/CMakeFiles/fake_camera.dir/all] Error 2
[  2%] Linking CXX executable /home/puma/Autoware/ros/devel/lib/laser_scan_converter/laser_scan_converter_node
[  2%] Built target laser_scan_converter_node
[  2%] Linking CXX executable /home/puma/Autoware/ros/devel/lib/garmin/garmin_gps_18x_lvc
[  2%] Built target garmin_gps_18x_lvc
[  2%] Linking CXX shared library /home/puma/Autoware/ros/devel/lib/libpcl_omp_registration.so
make[1]: *** [computing/perception/localization/lib/ndt_cpu/CMakeFiles/ndt_cpu.dir/all] Error 2
[  2%] Linking CXX executable /home/puma/Autoware/ros/devel/lib/hokuyo/hokuyo_3d
[  2%] Built target pcl_omp_registration
[  2%] Built target hokuyo_3d
make: *** [all] Error 2
Invoking "make -j8 -l8" failed


libretro.mame2016: fix build with Make 4.3

Motivation for this change
Builds currently fail with ar trying to operate on what are clearly two paths concatenated together.  It stems from a backward-incompatible change in Make:

Previously appending using '+=' to an empty variable would result in a value starting with a space.  Now the initial space is only added if the variable already contains some value.  Similarly, appending an empty string does not add a trailing space.

This issue was first reported on https://github.com/mamedev/mame/issues/6248, and affects libretro's 2016 snapshot as well.  A fix that is reported to work with previous versions of Make was upstreamed to GENie, the build system, MAME, and now to libretro-mame2016 (pending), from which the patch comes.

Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

If this gets backported to 20.09, libretro can then be unmarked as broken, as far as I can tell.

Result of nixpkgs-review pr 101949 1 run on x86_64-darwin

Thanks a lot for the fix :+1:


LXD Feature Request: Allow specifying a different init instead of /sbin/init

When trying to diagnose issues with systemd failing to start, with the normal 'Failed to mount API filesystems, freezing.' error that signifies it is unhappy with what it can see mounted, I discovered there is no way to convince LXD to start with a different init, to ease debugging.
Console log:

Failed to insert module 'autofs4'
Failed to insert module 'unix'
Failed to mount sysfs at /sys: Operation not permitted
Failed to mount proc at /proc: Operation not permitted
[!!!!!!] Failed to mount API filesystems, freezing.

Normally, from this point, you'd switch init to be /bin/bash and then step through why systemd is annoyed, however, that feature is not available in LXD.
The only way to do this could be to exec into the broken container, mv /sbin/init to /sbin/init.old and then link bash into init, which then - by changing the container - makes repeatability of error diagnosis and unit testing impossible.
Is there any possibility of implementing this feature?

You can use:
lxc config set <container-name> raw.lxc 'lxc.init.cmd = /bin/bash'

Well crap. I didn't find that documented anywhere. Thanks, @brauner

Oh that's totally fine. :) We do not make a lot of noise about it but the simple rule is: raw.lxc let's you set any key documented in lxc.container.conf: man lxc.container.conf.

The actual REASON for the error turned out that /sys and /proc were missing from the image I built - I would think that LXD should error out and refuse to start, especially as they're defined as a prerequisite.
I'll be creating a pull request against doc/debugging.md page with some hints as to what can go wrong, and how to diagnose them, if that's OK? Or would you like them somewhere else?

Debugging sounds good, and indeed hinting at reading lxc console --show-log NAME for early boot errors seems like a good plan.
LXD doesn't itself rely on /proc or /sys existing so while it's something that should be there for a normal working Linux system, there are weird embedded distros that have it somewhere else and so a hard check for it may turn out problematic.


Service Worker, 6.0.0-beta.4, ngsw.json doesn't include js and css bundles

Versions
Angular CLI: 6.0.0-beta.4
Node: 8.9.4
OS: linux x64
Angular: 5.2.7
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router, service-worker

@angular/cli: 6.0.0-beta.4
@angular-devkit/build-optimizer: 0.4.3
@angular-devkit/core: 0.4.3
@angular-devkit/schematics: 0.4.3
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 6.0.0-beta.4
@schematics/angular: 0.4.3
@schematics/package-update: 0.4.3
typescript: 2.5.3
webpack: 4.0.1

Repro steps

Create new project ng new test --service-worker;
Build ng build --prod.

Observed behavior

css and js bundles in dist don't match src/ngsw-config.json and are not included in dist/ngsw.json;
Published project is not caching, doesn't support offline mode.

Desired behavior
dist/ngsw.json should include css and js bundles and publised project should be cached.

Any updates on this?