Helmfile doesn't work when no internet access

Hi there,
we are using helmfile to deploy our stack to kubernetes on premise.
I have downloaded charts offline and constructed:
context: kubernetes-admin@kubernetes                # kube-context (--kube-context)

releases:

  # Prometheus deployment
  - name: prom-helmf-ns-monitoring              # name of this release
    namespace: monitoring                       # target namespace
    chart: /opt/kubernetes/stable/prometheus                    # the chart being installed to create this release, referenced by `repository/chart` syntax
    values: ["values/values_prometheus_ns_monitoring.yaml"]
    set:                                        # values (--set)
      - name: rbac.create
        value: true
  # Grafana deployment
  - name: graf-helmf-ns-monitoring              # name of this release
    namespace: monitoring                       # target namespace
    chart: /opt/kubernetes/stable/grafana
    values: ["values/values_grafana_ns_monitoring.yaml"]

  # Controller pod (Nginx)
  - name: controller-pod-nginx                  # name of this release
    namespace: ingress-nginx                    # target namespace
    chart: /opt/kubernetes/stable/nginx-ingress                 # the chart being installed to create this release, referenced by `repository/chart` syntax
    values: ["values/values_nginx_ns_ingress-nginx.yaml"]
    set:                                        # values (--set)
      - name: rbac.create
        value: true

Everything is happening offline
My kubernetes cluster is up and running
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
helm init   --service-account tiller --skip-refresh

When I run helmfile:
 helmfile -f monitoring_deployment.yaml sync
exec: helm repo update --kube-context kubernetes-admin@kubernetes
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Unable to get an update from the "stable" chart repository (https://kubernetes-charts.storage.googleapis.com):
        Get https://kubernetes-charts.storage.googleapis.com/index.yaml: dial tcp: lookup kubernetes-charts.storage.googleapis.com on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:53788-><IP_ADDRESS>:53: i/o timeout
Update Complete. ⎈ Happy Helming!⎈
exec: helm dependency update /opt/kubernetes/stable/prometheus --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/prometheus/charts.
exec: helm dependency update /opt/kubernetes/stable/grafana --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/grafana/charts.
exec: helm dependency update /opt/kubernetes/stable/nginx-ingress --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/nginx-ingress/charts.
exec: helm upgrade --install --reset-values prom-helmf-ns-monitoring /opt/kubernetes/stable/prometheus --namespace monitoring --values /opt/kubernetes/monitoring/values/values_prometheus_ns_monitoring.yaml --set rbac.create=true --kube-context kubernetes-admin@kubernetes
exec: helm upgrade --install --reset-values controller-pod-nginx /opt/kubernetes/stable/nginx-ingress --namespace ingress-nginx --values /opt/kubernetes/monitoring/values/values_nginx_ns_ingress-nginx.yaml --set rbac.create=true --kube-context kubernetes-admin@kubernetes
exec: helm upgrade --install --reset-values graf-helmf-ns-monitoring /opt/kubernetes/stable/grafana --namespace monitoring --values /opt/kubernetes/monitoring/values/values_grafana_ns_monitoring.yaml --kube-context kubernetes-admin@kubernetes
Error: UPGRADE FAILED: "graf-helmf-ns-monitoring" has no deployed releases
Error: UPGRADE FAILED: "prom-helmf-ns-monitoring" has no deployed releases
Error: UPGRADE FAILED: "controller-pod-nginx" has no deployed releases
err: exit status 1
err: exit status 1
err: exit status 1

VERSIONS:
 helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

and
 helmfile --v
helmfile version v0.18.0

@xjantoth Thanks for the report!
Just curious but how can you run a vanilla helm upgrade --install without internet connection? If helm is able to handle that, it would be possible for helmfile to support it, too.

Well actually in my original post I posted this:
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
helm init   --service-account tiller --skip-refresh

Please notice last command. You can actually initialize helm with tiller pod offline
Please advise :)

@xjantoth Thanks for the info!
I have not tried that myself, so I'm still trying to understand if that's how helm is designed to work.
Are you sure you don't have failed releases as discussed in https://github.com/kubernetes/helm/issues/3353?

Also: Do you actually use the same kubeconfig context kubernetes-admin@kubernetes to run kubectl, helm and helmfile? You seem to miss an explicit context in your kubectl create and helm init examples.

@mumoshu when it comes to heml version itself - I have installed helm in the following fashion:
wget   https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
tar -xvzf helm-v2.9.1-linux-amd64.tar.gz
cp  linux-amd64/helm /bin/

So I do not think tahat I am using buggy version.

@mumoshu take a look at this:
 helm install --name grafanax /opt/kubernetes/stable/grafana --values values/values_grafana_ns_monitoring.yaml --namespace monitoring

no errors and when I run  kubectl get svc,pods -n monitoring
kubectl get svc,pod -n monitoring
NAME               TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
service/grafanax   NodePort   <IP_ADDRESS>   <none>        80:30777/TCP   1m

NAME                            READY     STATUS    RESTARTS   AGE
pod/grafanax-7cff99d885-9kwn7   1/1       Running   0          1m

So it means like the pure command helm works as expected.

@xjantoth Thanks. After downloading the grafana chart locally, the following helmfile worked, without internet connection:
charts:
  - name: grafana
    namespace: grafana
    chart: /Users/mumoshu/go/src/github.com/roboll/helmfile/examples/deployments/published/grafana

$ tar zxvf ~/.helm/cache/archive/grafana-1.10.0.tgz
$ pwd
/Users/mumoshu/go/src/github.com/roboll/helmfile/examples/deployments/published
$ helmfile -f charts.yaml sync
exec: helm repo update
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Unable to get an update from the "stable" chart repository (https://kubernetes-charts.storage.googleapis.com):
	Get https://kubernetes-charts.storage.googleapis.com/index.yaml: dial tcp: lookup kubernetes-charts.storage.googleapis.com: no such host
Update Complete. ⎈ Happy Helming!⎈
exec: helm upgrade --install grafana /Users/munmoshu/go/src/github.com/roboll/helmfile/examples/deployments/published/grafana --namespace grafana
Release "grafana" has been upgraded. Happy Helming!
LAST DEPLOYED: Thu May 31 10:49:09 2018
NAMESPACE: grafana
STATUS: DEPLOYED
...

So, it seems to work locally :)

I installed it with brew install kubernetes-helm and from helmfiles
github releases respectively onto my macOS machine.
2018年5月31日(木) 13:21 Jan Toth<EMAIL_ADDRESS>
Well @mumoshu https://github.com/mumoshu that's great - but we knew
about it :), The question is however the same as it was in the begining -
it does not work for me OFFLINE - without internet. Could you please
provide the commands how did you install helm and helmfile ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/roboll/helmfile/issues/155#issuecomment-393397135,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABV-W7rdZsNoPx5C477JFYlLtB3mnNhks5t32-3gaJpZM4UTOX3
.

Btw, are you sure you don't have already failed helm releases in your
cluster? The helm issue linked from my prev comment, and helm list could
help.
2018年5月31日(木) 13:27 Yusuke KUOKA<EMAIL_ADDRESS>
I installed it with brew install kubernetes-helm and from helmfiles
github releases respectively onto my macOS machine.
2018年5月31日(木) 13:21 Jan Toth<EMAIL_ADDRESS>
Well @mumoshu https://github.com/mumoshu that's great - but we knew
about it :), The question is however the same as it was in the begining -
it does not work for me OFFLINE - without internet. Could you please
provide the commands how did you install helm and helmfile ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/roboll/helmfile/issues/155#issuecomment-393397135,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABV-W7rdZsNoPx5C477JFYlLtB3mnNhks5t32-3gaJpZM4UTOX3
.

well now I nocited something strange:
exec: helm upgrade --install --reset-values prom-helmf-ns-monitoring /opt/kubernetes/stable/prometheus --namespace monitoring --values /opt/kubernetes/moni

I do not see --reset-values in your output. Perhaps - that would be the problem. Why helmfile is putting that parameter to its command?

@xjantoth I'm still unsure if that affects these upgrade failures:
Error: UPGRADE FAILED: "graf-helmf-ns-monitoring" has no deployed releases
Error: UPGRADE FAILED: "prom-helmf-ns-monitoring" has no deployed releases

But anyway, suppose you don't have a fancy http proxy, you need internet connection to run helm repo update. It should try to download repository indices at minimum, which requires internet connection.
Also, help dependency update may require internet connection, as it should fetch chart dependencies reading requirements.yml.
Can you write some golang? I guess you can fix that by introducing an another flag which skips helm repo update and helm dependency update. In other words, make this block conditional:
https://github.com/roboll/helmfile/blob/37f6ae8557e93f3d45be3989acf67b28e7265772/main.go#L195-L207

Unfortunately, I can't write golang - I am sure that the issue with offline
helmfile usage is just because helmfile is trying to ask for some updates from
Internet - which is not needed at all because it literally has

all docker container
all helm charts

stored locally.
Look if helm binary itself is able to proceed deployment OFFLINE with no issues
as it has been proved
helm install --name grafanax /opt/kubernetes/stable/grafana --values values/values_grafana_ns_monitoring.yaml --namespace monitoring

it means that we need to find a way how to tell helmfile do the same.
Something like - please HEMFILE - do not check fro anything from Internet
because this SERVER has no access to internet.

Thanks for the response and the explanation! I understood this as a feature request. Not sure I can work on this, but I am open to accept PRs relevant to this feature.

Adding an flag like helm sync --skip-dependency-update to skip helm repo update and helm dependency update would be good. Of course I'm open to suggestions.

Well so now we would need to find someone who could help to write this simple code ? if I got your comment right?

@mumoshu yes that what we need 100% positive.

@xjantoth Unfortunately, yes!
Personally saying, I already have a plenty of feature requests discussed in this project and waiting to be implemented.
Also, this is more or less an open-source project with no financial sponsorship or no contracted developer. Even I can't force anyone to work on something specific.
But you can expect me to do my best to spend my spare time to maintain this project :) It is just that there's no guarantee.

@mumoshu personally I'm very happy how this project is maintained. I am grateful for this amazing
piece of software you are working at. I probably need to lean golang to be able to implement these
hopefully simple feature to helmfile binary. Much appreciate your help!

@mumoshu perhaps you could help me find some workaround for now:
I have removed few lines from: /root/.helm/repository/repositories.yaml
file and now it looks like this:
 cat  /root/.helm/repository/repositories.yaml
apiVersion: v1
generated: 2018-05-30T22:05:42.031075224Z
repositories:
- caFile: ""
  cache: /root/.helm/repository/cache/local-index.yaml
  certFile: ""
  keyFile: ""
  name: local
  password: ""
  url: http://<IP_ADDRESS>:8879/charts
  username: ""

Which seems to be a little improvement  however,
helmfile -f monitoring_deployment.yaml sync
exec: helm repo update --kube-context kubernetes-admin@kubernetes
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
Update Complete. ⎈ Happy Helming!⎈
exec: helm dependency update /opt/kubernetes/stable/prometheus --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/prometheus/charts.
exec: helm dependency update /opt/kubernetes/stable/grafana --kube-context kubernetes-admin@kubernetes
No requirements found in /opt/kubernetes/stable/grafana/charts.
exec: helm upgrade --install --reset-values prom-helmf-ns-monitoring /opt/kubernetes/stable/prometheus --namespace monitoring --values /opt/kubernetes/monitoring/values/values_prometheus_ns_monitoring.yaml --kube-context kubernetes-admin@kubernetes
exec: helm upgrade --install --reset-values graf-helmf-ns-monitoring /opt/kubernetes/stable/grafana --namespace monitoring --values /opt/kubernetes/monitoring/values/values_grafana_ns_monitoring.yaml --kube-context kubernetes-admin@kubernetes
Error: UPGRADE FAILED: "graf-helmf-ns-monitoring" has no deployed releases
Error: UPGRADE FAILED: "prom-helmf-ns-monitoring" has no deployed releases
err: exit status 1
err: exit status 1

I am trying to figure out why do I get
Error: UPGRADE FAILED: "graf-helmf-ns-monitoring" has no deployed releases
Error: UPGRADE FAILED: "prom-helmf-ns-monitoring" has no deployed releases
err: exit status 1
err: exit status 1

@mumoshu we have found perhaps workaround

remove these lines from:  /root/.helm/repository/repositories.yaml
so it will look like this in the end

 cat  /root/.helm/repository/repositories.yaml
apiVersion: v1
generated: 2018-05-30T22:05:42.031075224Z
repositories:
- caFile: ""
  cache: /root/.helm/repository/cache/local-index.yaml
  certFile: ""
  keyFile: ""
  name: local
  password: ""
  url: http://<IP_ADDRESS>:8879/charts
  username: ""

always need to check heml list -a

because there might be some failing deployments - which in my case - there were exactly two
run helm delete <deployment_name> --purge

Note: I run
helmfile -f monitoring_deployment.yaml sync many times and  many deployments were failed.

Hey. Thanks a lot for sharing your workaround!
I just got sometime to review pending issues like this, and noticed that you could use helmfile -f helmfile.yaml charts to do upgrade only, i.e. skip dependency updates.

If that works for you, could this be a documentation issue?

@mumoshu if you could document this workaround - it would be awesome :)


Trillian: Add ability to specify custom storage system

Description of the change
Trillian: Add ability to specify custom storage system
Currently, the Trillian installation is hard-coded to use the mysql
storage system. While this is mostly fine (it is the most common and
used storage system for Trillian after all!), this makes it non trivial
to try custom backends for Trillian.
There is work on the way to introduce a CockroachDB storage system for
Trillian. And, while this
is currently not usable using the mainline Trillian image, it is
possible to try out if one specifies a custom image for trillian.
To enable this, some variables were introduced:

storageSystem.driver: defines the storage backend to use for both the log
signer and the log server. Defaults to mysql.

storageSystem.envCredentials: is the kubernetes deployment
definition of environment variables to aide the log signer in connecting to the
desired database. When set to null it defaults to the environment
variables used by MySQL:

A values file that would take this work into use would look as follows:
storageSystem:
  driver: crdb
  envCredentials:
    - name: CRDB_USER
      valueFrom:
        secretKeyRef:
          name: mySecret
          key: crdb-user
    - name: CRDB_PASSWORD
      valueFrom:
        secretKeyRef:
          name: mySecret
          key: crdb-password
    - name: CRDB_HOST
      value: crdb.trillian.svc.cluster.local
logServer:
  image:
    registry: ghcr.io
    repository: equinixmetal-security/trillian-log-server
    version: latest
  extraArgs:
    - "--crdb-uri=postgres://$(CRDB_USER):$(CRDB_PASSWORD)@$(CRDB_HOST):26257/"
logSigner:
  image:
    registry: ghcr.io
    repository: equinixmetal-security/trillian-log-signer
    version: latest
  extraArgs:
    - "--crdb-uri=postgres://$(CRDB_USER):$(CRDB_PASSWORD)@$(CRDB_HOST):26257/"
mysql:
  enabled: false

Existing or Associated Issue(s)
Additional Information
Checklist

[ ] Chart version bumped in Chart.yaml according to semver. Where applicable, update and bump the versions in any associated umbrella chart
[x] Variables are documented in the values.yaml and added to the README.md. The helm-docs utility can be used to generate the necessary content. Use helm-docs --dry-run to preview the content.
[x] JSON Schema generated.
[ ] List tests pass for Chart using the Chart Testing tool and the ct lint command.

@k4leung4 I addressed the comments. Thanks for the review!

looks good. thanks for the changes.
please bump the helm chart version https://github.com/sigstore/helm-charts/blob/main/charts/trillian/Chart.yaml#L8

done 😄

/assign @hectorj2f


Issue found on page 'Text Functions': bar output contains '?' after bar output, but what does that mean?

The function bar is documented here:
https://duckdb.org/docs/sql/functions/char#barx-min-max-width
The given example works as advertised, but when I use it on my data I often but not always see the bar output is followed by '?'.
I am not sure what this means and that is not documented.
I suspect it has something to do with the output being an approximate indicator of the value such as when the value cannot be expressed exactly by a discrete number of bars.
For example when I do:
select bar(5.5, 0, 20, 10);
I get
┌─────────────────────┐
│ bar(5.5, 0, 20, 10) │
│       varchar       │
├─────────────────────┤
│ ██?                 │
└─────────────────────┘

I'm fine with documenting this, but I'd need to know if my assumption is correct, and also what the name is of this feature

I suspect that's a bug in the bar function

Hi @Tishj !
Ugh, I feel so silly now! You're absolutely right - I recently moved to win 11 and apparently the default for the command shell, or at least, the way I got the machine, is not unicode/utf8.
For whomever needs it, do;
"Time & Language > Language & Region > Administrative Language Settings'", then hit "Change system locale" and check "Beta: Use Unicode UTF8 for world-wide language support". (Reboot required).


[WIP] Metrics

I know metrics are still not exposed on the operand, will do it later

/retest-required

/retest


client: Include version info and interface name in BindError

When BindError is returned (and bubbled up by callers) it is no longer clear what interface or version was requested (nor what is the highest this server might be able to provide), leaving users to wonder what the context for the error is.
Add this information to the object to elaborate in error messages and allow callers to read the values after the fact.

This supersedes #671 by also including the requested version and interface name (in addition to the available version), and a documtation fix.
Note that all of this might be considered redundant as the caller typically knows these values (they passed them as function arguments), and it would be up to them to re-wrap the error with this info as context?  Is there a policy for this?

Yup, I was using this on top of wayland-backend-v0.3.2 to test as [patch.crates-io] without running into incompatible changes. Should be good now :)


sitemap.xml on a public ghost.io hosted blog ist broken

Welcome to Ghost's GitHub repo! 👋🎉
We use GitHub only for bug reports 🐛
Anything else should be posted to https://forum.ghost.org 👫
🚨For support, help & questions use https://forum.ghost.org/c/help
💡For feature requests & ideas you can post and vote on https://forum.ghost.org/c/Ideas
If your issue is with Ghost CLI, please report it on the CLI repo ➡ https://github.com/TryGhost/Ghost-CLI/issues/new.
Issue Summary
wget https://elektro.autofahren.de/sitemap-posts.xml
yields an
ERROR 500: Internal Server Error.
To Reproduce

setup a site on ghost.io
try to get a valid sitemap.xml (with posts e.g.)

wget https://elektro.autofahren.de/sitemap-posts.xml
--2020-12-24 16:51:33--  https://elektro.autofahren.de/sitemap-posts.xml
Resolving elektro.autofahren.de... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to elektro.autofahren.de|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2020-12-24 16:51:34 ERROR 500: Internal Server Error.

Technical details:

Ghost Version: ghost.io hosted
Node Version: ürgs
Browser/OS: any
Database: any

fixed by manual fix of ghost.io operations. happy x-mas and thanks!


it does not work with 5.1

it does not work with 5.1 ;( maybe some update?

it does not work with 5.1
links function not exists

:(
Not working for Laravel5.0.
call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Database\Eloquent\Collection' does not have a method 'links'

Sorry, Laravel 5+ not supported custom service. Look this https://github.com/laravel/framework/issues/7510
If you have any ideas, please send PR.

How to use with lumen?  can not find 'Illuminate\Pagination\PaginationServiceProvider' with app.php

@kubill not compatible with Lumen.


Support Maproulette cooperative challenges

Description
Maproulette cooperative challenges are special challenges that give the user data to work with, eg a new node.
@mvexel will be able to better explain, with JOSM it looks like there is an extra request, eg:
http://<IP_ADDRESS>:8111/import?new_layer=false&layer_name=MR%20Task%20215603166%20Changes&layer_locked=false&download_policy=&upload_policy=&url=https://maproulette.org/api/v2/task/215603166/cooperative/change/task_215603166_change.osc
Along with the load and zoom call.
Rapid would have to load that osc file.

A few additional notes
Maybe start with the Tag Fix Challenges (docs), which are a lot easier to prepare and easier to apply. Hey also fit neatly in what was talked about in https://github.com/facebook/Rapid/issues/585#issuecomment-1755434863 with an osm_tags object that might be applied / rejected based on an external source.
However, it might be worth considering if the tag fix challenge data model should be extended first, see https://github.com/maproulette/maproulette3/issues/2299
On the data format of cooperative challenges: If this format where to be used more, I think that would be a good time to also consider making the data format easier to access. The whole osc+base64 (see docs) create quite a big entrance barrier.

Here is a test case for a tag fix challenge https://learn.maproulette.org/en-us/documentation/tag-fix-challenges/

Rough code to create the geojsonl (with emphasis on the l)

The core is the operations section that allows to remove some tagging with one click https://github.com/FixMyBerlin/atlas-app/blob/develop/src/app/api/maproulette/cycleway-shared/route.ts#L112-L125

MapRoulette https://maproulette.org/challenge/45242/task/227680961
GeoJSONL https://staging.radverkehrsatlas.de/api/maproulette/cycleway-shared/?ids=62504 for Brandenburg, Germany (can be any osm boundary in Germany with ids being a list of osm id of boundaries (that we processed…))
Example Location with tag fix on https://rapideditor.org/canary#map=19.00/51.94494/13.88890&background=Brandenburg-DOP20c&datasets=fbRoads,msBuildings&disable_features=boundaries

There is the issue of a missing description, which is #1419
There is also the issue of https://github.com/maproulette/maproulette3/issues/2342 which is why I have those dots in the description

If there's a desire to support Tag Fix challenges, maybe that should have it's own ticket. We wouldn't want to confuse closing that issue with full support for Cooperative challenges.


proposal: errors: replace sentinel errors with typed constants where possible

Sentinel errors are a common error handling pattern involving comparisons with global variables. The oserror package from the standard library has a good example of how these are typically defined:
package oserror

import "errors"

var (
	ErrInvalid    = errors.New("invalid argument")
	ErrPermission = errors.New("permission denied")
	ErrExist      = errors.New("file already exists")
	ErrNotExist   = errors.New("file does not exist")
	ErrClosed     = errors.New("file already closed")
)

They come with all the usual caveats of global variables, namely that they can be reassigned:
package main

import (
	"fmt"
	"os"
)

func main() {
	var nilFile *os.File

	// prints 0, error("invalid argument")
	fmt.Println(nilFile.Read(nil))

	// allowed :(
	os.ErrInvalid = nil

	// segfaults due to an internal error check being bypassed
	fmt.Println(nilFile.Read(nil))
}

An alternative, backwards-compatible(?) way of defining these using typed constants is possible:
package oserror

// no imports needed! :)

// unexported error type means that no other package
// can define an error equal to any of the below constants,
// even if the string values match.
type osError string

func (err osError) Error() string {
	return string(err)
}

// constants can't be reassigned :)
const (
	// errors are unique as long as the strings are unique.
	ErrInvalid    = osError("invalid argument")
	ErrPermission = osError("permission denied")
	ErrExist      = osError("file already exists")
	ErrNotExist   = osError("file does not exist")
	ErrClosed     = osError("file already closed")
)

I haven't thought through the potential downsides or long-term implications of this.

Thanks, that is a good idea.  But we can't make that change now, as it will break the Go 1 compatibility guarantee.

I think a better alternative which elide allocations is to use zero sized dedicated types:
type errInvalid struct{}

func (errInvalid) Error() string {
	return "invalid argument"
}

type errPermission struct{}

func (errPermission) Error() string {
	return "permission denied"
}

type errExist struct{}

func (errExist) Error() string {
	return "file already exists"
}

type errNotExist struct{}

func (errNotExist) Error() string {
	return "file does not exist"
}

type errClosed struct{}

func (errClosed) Error() string {
	return "file already closed"
}

var (
	ErrInvalid    errInvalid
	ErrPermission errPermission
	ErrExist      errExist
	ErrNotExist   errNotExist
	ErrClosed     errClosed
)

It technically is possible to reassign them, os.ErrInvalid = os.ErrInvalid is valid code, however that do absolutely nothing so it's fine and avoid an allocation every time someone return or errors.Is the error value.
Would be nice to find a less verbose way to express this.
If we could pass const as type parameters could do:
type errInvalid errors.Error["invalid argument"]
var ErrInvalid errInvalid

One drawback of using constant string errors is, we can easily invent new errors of the same type:
package main

type osError string

func (err osError) Error() string {
	return string(err)
}

const ErrInvalid = osError("invalid argument")

func main() {
	var myError error = ErrInvalid + " 2"
	println(myError.Error())
}

Maybe, it is a good idea to add a vet rule: find all modifications of global error values (including the operations taking addresses of global error values).

Would be nice to find a less verbose way to express this. If we could pass const as type parameters could do:
type errInvalid errors.Error["invalid argument"]
var ErrInvalid errInvalid

To add to this, there's already a precedent for const type parameters in the language: arrays
var a [4]int
var b [3]float32
var c [8]string

Without getting too off track, has go considered adding a val qualifier to ensure the variable can't be re-assigned post initialization ? I'd be interested in reading a thread about it if there is one. I've read through several proposals about adding immutable types and found myself agreeing with the arguments against it, but it seems like preventing re-assignment and leaving interior mutability to the type (i.e no setters) might be middle ground solution that could apply to more than just errors.


Crash in outlining with workflows disabled

Version and Platform (required):

Binary Ninja Version: 3.6.4546-dev (does not repro on stable)
OS: macOS
OS Version: 12.6
CPU Architecture: M1

Bug Description:
When loading specific functions with workflows disabled, the outlining resolver crashes with an uncaught c++ exception thrown. Somewhere in OutlineResolver::ResolveTypeConstraints is throwing an absl::btree_map::out_of_range
Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

Open this one specific bndb I have that reproes it (private, ask for access)
Crash happens a few seconds into reanalysis

Expected Behavior:
I expected analysis to not crash.

Fixed in 3.6.4547-dev.


Issue with loading additional associated entities during postLoad

Sorry for the lack of better wording for the question, as I'm not so sure how to describe the problem in a few words.
In my Symfony project with the latest Doctrine (~2.5), to create a form of dynamic association, I need to automatically load additional entities then assign to the current object before I return the object.
A simple version of the code looks like this
public function postLoad(LifecycleEventArgs $args)
{
    $entity = $args->getEntity();

    if (!$entity instanceof ExtendableInterface || !$entity->hasExtension()) {
        return;
    }

    $manager = $args->getEntityManager();
    $accessor = PropertyAccess::createPropertyAccessorBuilder()
        ->enableMagicCall()
        ->getPropertyAccessor()
    ;

    foreach ($entity->getExtension()->getReferences() as $field => $configs) {
        if ($entity->hasField($field) && $data = $entity->getField($field)) {
            $repository = $manager->getRepository($configs['target']);

            if ($configs['options']['multiple']) {
                $criteria = array('id' => $data);
                $resources = $repository->findBy($criteria);
                $accessor->setValue($entity, $field, $resources);
            } else {
                $accessor->setValue($entity, $field, $repository->find($data));
            }
        }
    }
}

In the code, I use the repository to query the additional entities then assign to the current entity. The problem I'm facing is that if these additional entities have association with other entities as well, then these associated fields will not be fetched. When dumped, the "initialized" value is always set to false, and even in the case that I explicitly attempt to fetch the it still doesn't work.
So
$repository->find($data)->getValues() // getValues() access a referenced collection, but in this case it will still return an empty Collection
I'm not sure if it helps but pre-update to Doctrine 2.5 and Symfony 3.x this code used to work.

Upon further investigation it is actually a logic issue in my code, _


Improve the projection operator with renaming and re-ordering columns

We want to finish the PR #1134, which allows projection to re-order columns.
Ideally, the new projection operator can do: 1) re-order columns, 2) drop columns (by selecting the checkbox), and 3) rename columns.
But if it's hard to combine into one single operator, one alternative implementation is to have 1) a projection operator that can do reordering and dropping, and 2) add a new renaming operator that only does renaming.

Update: we want to separate renaming and re-ordering: projection only supports dropping and renaming columns, we add another renaming operator to handle renaming

Update Apr. 17 2023: Related to #1134.

@Yicong-Huang will finish it.


[EDGINREACH-47]/[EDGINREACH-48] - Update to Java 17./Update the module to Spring boot v3.0.0 and identify issues.

Purpose

https://issues.folio.org/browse/EDGINREACH-47
https://issues.folio.org/browse/EDGINREACH-48
Approach

TODOS and Open Questions

Learning

Pre-Merge Checklist:
Before merging this PR, please go through the following list and take appropriate actions.

Does this PR meet or exceed the expected quality standards?

[ ] Code coverage on new code is 80% or greater
[ ] Duplications on new code is 3% or less
[ ] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] Were any API paths or methods changed, added or removed?
[ ] Were there any schema changes?
[ ] Did any of the interface versions change?
[ ] Were permissions changed, added, or removed?
[ ] Are there new interface dependencies?
[ ] There are no breaking changes in this PR.
[ ] Check logging.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all they appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment.  Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

I did not get the green build [WARNING] Tests run: 6, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.038 s - in org.folio.edge.authentication.JwtAuthenticationConverterTest [INFO] [INFO] Results: [INFO] [ERROR] Errors: [ERROR] InnReachProxyControllerTest.shouldUpdateRequestHeaders:110 » SdkClient Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region. [INFO] [ERROR] Tests run: 35, Failures: 0, Errors: 1, Skipped: 2 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE
This error has in master branch also

but don't have any error in deployment
https://jenkins-aws.indexdata.com/job/Rancher/job/Update/job/feature-backend-module-deploy/595/

Karate test result


Implement a Sequential Module

Users often ask for this so it would be good to just add it. I can be as simple as this:
class Sequential(nn.Module):
  layers: Sequence[nn.Module]

  def __call__(self, x):
    for layer in self.layers:
      x = layer(x)
    return x

Example usage:
class Foo(nn.Module):
  feature_sizes: List[int]
  @nn.compact
  def __call__(self, x):
    return Sequential([nn.Dense(sz, name=f'layers_{idx}')
                       for idx,sz in enumerate(self.feature_sizes)])(x)

Hi @marcvanzee,
I am interested in working on this issue. is that possible?

flax.nn.Sequential: https://flax.readthedocs.io/en/latest/_autosummary/flax.linen.Sequential.html


feat(docs): Added link to New Relic documentation

Summary
Added a link to new New Relic CircleCI doc.

Hey @paperclypse! We had an update to circleci go in, could you resolve the conflict?

Sorry @aswanson-nr, I missed the GitHub notification for this one. I'll resolve the conflict now.


Unable to get the value of styleSheetText in Scala 3

I'm having an issue getting the styleSheetText when Scala 3 in an example that works for 2.13. For example, given a file like this (which can be ran with scala-cli):
//> using lib "com.lihaoyi::scalatags:0.12.0"

object Main extends App {
  println(Style.styleSheetText)
}

import scalatags.stylesheet.CascadingStyleSheet
import scalatags.Text.all._

object Style extends CascadingStyleSheet {
  initStyleSheet()

  def example = cls(
    display.flex
  )
}

Running this with 2.13.10 you get the following:
❯ scala-cli run --scala 2.13.10 .
Compiling project (Scala 2.13.10, JVM)
Compiled project (Scala 2.13.10, JVM)
.Style-example{
  display: flex;
}

This is what I'd expect. However, running the same code with Scala 3.2.1 results in an empty output. Same with 3.1.3.
❯ scala-cli run --scala 3.2.1 .

// nothing here

It's odd because I do see there are tests for this here:
https://github.com/com-lihaoyi/scalatags/blob/6a93955e5cf8dc204362aecae9ebb5e882f320a6/scalatags/test/src/scalatags/generic/StyleSheetTests.scala#L135-L156
However in practice I can't seem to get this to work.

So a bit more information after digging in. The issue is actually here:
https://github.com/com-lihaoyi/scalatags/blob/6a93955e5cf8dc204362aecae9ebb5e882f320a6/scalatags/src-3/scalatags/stylesheet/SourceClasses.scala#L15-L17
We are only collecting the ValDefs so my assumption that the def would work like it does in Scala 2 isn't correct. It must be a val. I'd consider this a regression from the Scala 2 implementation unless this was done on purpose.


Unable to use google-cloud-storage backend with boto client

Hello, I hope I'm just missing something simple, but I cannot get s3proxy to work with google cloud storage on the backend and boto as a client.
Here is my s3proxy config file:
# Local proxy settings
s3proxy.authorization=aws-v2
s3proxy.identity=access
s3proxy.credential=secret
s3proxy.endpoint=http://<IP_ADDRESS>:7000

jclouds.provider=google-cloud-storage
jclouds.identity=<project<EMAIL_ADDRESS>jclouds.credential=/home/me/gce-default.key

And here is my boto test script:
#!/usr/bin/env python

from boto import connect_s3
from boto.s3.connection import OrdinaryCallingFormat
from boto.s3.key import Key

import sys

s3 = connect_s3(aws_access_key_id = 'access',
    aws_secret_access_key = 'secret',
    host = '<IP_ADDRESS>', port = 7000, is_secure = False,
    calling_format = OrdinaryCallingFormat())

bucket_name = sys.argv[1]

bucket = s3.get_bucket(bucket_name)

filename = "%s" % sys.argv[2]
print 'Uploading %s to bucket %s' % (filename, bucket_name)

def percent_cb(complete, total):
  sys.stdout.write('.')
  sys.stdout.flush()

k = Key(bucket)
k.key = filename
k.set_contents_from_filename(filename, cb=percent_cb, num_cb=10)

This all works fine when I use the s3 provider like so:
s3proxy.authorization=aws-v2
s3proxy.identity=access
s3proxy.credential=secret
s3proxy.endpoint=http://<IP_ADDRESS>:7000

jclouds.provider=s3
jclouds.endpoint=https://storage.googleapis.com
jclouds.s3.virtual-host-buckets=false
jclouds.strip-expect-header=true
jclouds.identity=<hmac id>
jclouds.credential=<hmac secret>
jclouds.regions=us-east-1

...but I'd like to try the native google-cloud-storage backend to see if it's faster / works better.  Also, I'd like to understand how to set up a logback.xml file for use with s3proxy to see jclouds logging output like this: http://jclouds.apache.org/reference/logging/#configure.  I've tried setting -Dlogback.configurationFile=logback.xml but that didn't work.

You can enable trace logging via:
java -DLOG_LEVEL=trace -jar target/s3proxy --properties /path/to/properties

I ran your test script and uncovered boto/boto3#544 which fails uploads due to a spuriously incorrect ETag:
  File "/usr/lib/python2.7/dist-packages/boto/s3/key.py", line 927, in should_retry
    'ETag from S3 did not match computed MD5')
boto.exception.S3DataError: BotoClientError: ETag from S3 did not match computed MD5

You can work around this by commenting out this check in your local boto/s3/key.py.
I also ran S3ProxyTest against GCS and it has good compatibility, with only one unexpected failure in conditional copy object.

Thanks for the quick reply - I'll patch, rebuild, and give it a try.
Just to be super-clear about the boto work around - I should comment out just these two lines in boto?
https://github.com/boto/boto/blob/2.39.0/boto/s3/key.py#L926:L927

No comment out these lines:
https://github.com/boto/boto/blob/2.39.0/boto/s3/key.py#L982:L983

OK, I got it working as well with both fixes in place, thanks!
For completeness' sake, I actually changed the relevant part in the key.py file in boto from this:
            # If you use customer-provided encryption keys, the ETag value that
            # Amazon S3 returns in the response will not be the MD5 of the
            # object.
            server_side_encryption_customer_algorithm = response.getheader(
                'x-amz-server-side-encryption-customer-algorithm', None)
            if server_side_encryption_customer_algorithm is None:
                if self.etag != '"%s"' % md5:
                    raise provider.storage_data_error(
                        'ETag from S3 did not match computed MD5. '
                        '%s vs. %s' % (self.etag, self.md5))
            return True

To this:
            # If you use customer-provided encryption keys, the ETag value that
            # Amazon S3 returns in the response will not be the MD5 of the
            # object.
            server_side_encryption_customer_algorithm = response.getheader(
                'x-amz-server-side-encryption-customer-algorithm', None)
            if server_side_encryption_customer_algorithm is None:
                pass
            return True


Fenix2GSX won't open when sim is open

Hi,
I can't seem to open fenix2GX whenever the sim is open, I open it, it appears in the system tray for a few seconds, then disappears, when checking task manager it isn't open and nothing happens in the sim.
Any ideas?
Thanks!

No.
Any Logs?

Here's the logs. That's all it gets up to. This use to work in version 0.36.
Fenix2GSX20240102_004.log

Don't know what is messed up, the Filename of the Log should not be like that in the first Place.
Fiddled with "run as admin" on anything?
Forgot to edit the AV-Exclusion to the new Install Location?
Attempting to start multiple Instances (i.e. setup Auto-Start in both FSUIPC in MSFS)?

I'll add an exclusion to it and see if that does it. However, running it before the sim starts seems to work. I've tried it with MSFS, but not FSUIPC. I will try.

So you've ignored what the Installer told you. Maybe there are other Things you've missed and I've already written down ... ?
Watch out - the Installer does not remove any Entries in the other (not selected) Auto-Start Option. Remove the Entry for Fenix2GSX yourself, before setting up Auto-Start via FSUIPC

Ok so a re-install and a manual download of the requirements has fixed it.

I'm also having this issue, It seems work but I cant access the menu from the system tray as it disappears when on the home screen when MFS starts up.


Feature from DeWilX

It would be great if you made protection against spam like this too - http://img37.imageshack.us/img37/367/axk.png
Maybe by finding matching letters like mc. or .lv or ignore "space".

Closed as i can't see the image anymore and the filters in general should find more problems


checkov: init at 1.0.674

Motivation for this change
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] 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
[ ] Fits CONTRIBUTING.md.

Is there a reason to not put the python dependencies in pkgs/development/python-modules and pkgs/top-level/python-packages.nix ?

The 4 I put here is the only version that worked with the build. I tried to not override, but the build will fail with the versions in python-packages.

I don't know what the policy is about duplicating python packages in full vs overriding, cc @jonringer ?
deep_merge and bc-python-hcl2 are not in nixpkgs, so they should go with other python modules.
In any case, you should try to run tests. If you leave doCheck = false, please also leave a comment explaining why it's not possible to run the tests.

The more generic python packages should be added to python-modules.nix.
If specific version is necessary, then I would prefer to do an override specific to the application as so:
let
  py = python.override {
    packageOverrides = self: super: {
      aws-sam-translator = super.aws-sam-translator.overridePythonAttrs (oldAttrs: rec {
        version = "1.25.0";
        src = oldAttrs.src.override {
          inherit version;
          sha256 = "08756yl5lpqgrpr80f2b6bdcgygr37l6q1yygklcg9hz4yfpccav";
        };
      });

      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
        version = "1.0.2";
        src = oldAttrs.src.override {
          inherit version;
          sha256 = "0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92";
        };
      });

      cookiecutter = super.cookiecutter.overridePythonAttrs (oldAttrs: rec {
        version = "1.6.0";
        src = oldAttrs.src.override {
          inherit version;
          sha256 = "0glsvaz8igi2wy1hsnhm9fkn6560vdvdixzvkq6dn20z3hpaa5hk";
        };
      });
    };
  };

in

with py.pkgs;

buildPythonApplication rec {
   ....

Overall stance on pinning python packages:
The preference to handling pinning is to relax version bounds in the "install_requires" field. (could be in setup.py, pyproject.toml, requirements or others). In most cases, packages are still compatible with small API changes which may warrant a major version bump. We use test suites to verify that the package still works correctly.
If the package is still incompatible with the latest major version, then the most proper way to handle this is make an issue with the upstream package to adopt the latest major version. Or if upstream is not very responsive, you are free patch the source to make it compatible.
In very few circumstances, two versions of the same package are allowed to exist if the packages are extremely difficult to package. Some examples of this are tensorflow, which has huge ecosystems built around it and is hard to package. Another is django, which has 2 actively developed versions, and large ecosystems built around each.
One exception to this is applications, due to the way buildPythonApplication and toPythonApplication functions work, the related derivations will not bleed dependencies between packages. If the package doesn't need to be imported by other python modules, then this package would be a good candidate to convert into application. You can look at https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/admin/awscli/default.nix as an example of using an overlay within a python application.
Info on buildPythonApplication can be found here.
Info on toPythonApplication can be found here.

@jonringer I updated based on guideline. Only dpath I kept within checkov/default.nix because dpath 2.0 will crash. Should I write dpath/1.5.nix fo it?

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

7 packages built:

checkov
python37Packages.bc-python-hcl2
python37Packages.deep_merge
python38Packages.bc-python-hcl2
python38Packages.deep_merge
python39Packages.bc-python-hcl2
python39Packages.deep_merge

Result of nixpkgs-review pr 107028 run on x86_64-linux 1

7 packages built:

checkov
python37Packages.bc-python-hcl2
python37Packages.deep_merge
python38Packages.bc-python-hcl2
python38Packages.deep_merge
python39Packages.bc-python-hcl2
python39Packages.deep_merge

@symphorien  @SuperSandro2000  I will fix all the commits one the changes are all agreed.

I want to ask on another part when moving propagatedBuildInputs to buildInputs.
This is the problem of moving lark-parser 0.7.8 from propagatedBuildInputs to buildInputs in bc-python-hcl2/default.nix.

Both checkov and bc-python-hcl2 share the lark-parser requirements and they have to be the same version to build successfully.
After testing, I think if switch to buildInputs I may need to patch it twice (checkov/default.nix, and bc-python-hcl2/default.nix). So I think it is best to include a lark-parser pinned version at 0.7.8 or just use propagatedBuildInputs.

I need your comments on the findings. Thank you!

leaving runtime python dependencies in propagatedBuildInputs is fine.


Fix isset on null values

PHP isset returns false when array item value is NULL. This resulted in __unset throwing an exception when attempting to remove a null field from the insert clause.

please provide unit tests

Merged in with commit: acfb14bf618be64b1db19437b5995cf10d4d57da


Selecting Subalbums not possible

I would expect the same behaviour as with albums, being able to select subalbums to e.g. delete more the one at once. Trying to catch a subalbum results in:

Try to create multiple sub albums and delete them by selecting WITHOUT selecting pictures.

Yepp, that is  working, so the problem is in what I posted in the next issue ;-) No "unselecting" when "reselecting" :-)

Thus... not an issue. :smile:

Indeed :-D


Folder Refactor

Summary

Added a containers folder where the main "pages" lie (Login, 404, Dashboard, Settings (?))
Organized components into folders

All components related to Requirements/SemesterView/BottomBar in one folder
Components that are re-used in multiple places are kept at the highest level Components folder ( e.g. Course.vue and DropdownArrow.vue)

Test Plan

Make sure npm run serve works
Look through the file structure and see if it makes sense

specifically, see if there are some components in sub-folders that should be at the highest level.

Notes
We are holding off on merging this till winter break to reduce merge conflicts while people are finishing up their final PRs for the semester.

@willespencer thoughts on just merging this rn?

Thanks for doing this Hahnbee! I'm trusting Sam on this one so I do think we can merge it in, just make sure you mention that this happened in cp-dev after this gets finished. I also have a couple suggested changes haha.

Can you move the 4 onboarding components and 1 scss file to their own separate folder as well?
Can you delete Settings.vue altogether instead of moving it? It is a remnant from our starter code as well. You probably have to remove it from the Router too.

Done!


Implement fast batching for Univariate KZG

lurk-lab/Nova#28 introduced a batched KZG that's rather elementary, we should replace it with :
https://eprint.iacr.org/2023/033.pdf

Done in https://github.com/lurk-lab/arecibo/commit/344c695d7a9e79da5179baa6ea7742020d57dbd5


refactor(ledger): flatten shred field nesting

closes #212

Moved shred fields out of GenericShred struct into each respective shred struct: DataShred and CodeShred.
Anywhere that fields from fields were being accessed, switched it to get the fields directly from the shred struct. so shred.fields.common is now shreds.common
For any usages of methods in GenericShred via fields outside shred.zig, analogous methods were added to DataShred and CodeShred to serve the same purpose. this is in service to the point above, so things like shred.fields.merkleRoot() are now shred.merkleRoot()
All the methods from GenericShred are now just functions in a private namespace called generic_shred. other shred structs that used to call self.fields.function() now call generic.function(self)
Renamed default initializers in the shred structs to zeroedForTest since the output data is actually an invalid shred and should probably not be used for anything. it's barely distinguishable from initializing the data as undefined. In the future i think these methods should be replaced with a way to initialize well-formed shreds. For now, we need it for tests, so I'd like it to be named in a way that indicates clearly what it does and what it's for, rather than implying it is a well-formed "default."

lgtm - is a large improvement, much cleaner and easier to follow


proto-build "No such file or directory"

It took me some time to figure out what was missing, since the rust error complains about a file/directory.
thread 'main' panicked at 'exit status missing: Os { code: 2, kind: NotFound, message: "No such file or directory" }', proto-build/src/main.rs:134:10

I am on linux so I installed buf via npm and updated main.rs to run "npx buf" instead of "buf".
npm install @bufbuild/buf

 run_cmd(
        "npx",
        vec![
            "buf",
            "generate",
            "--template",
            "buf.wasmd.gen.yaml",
            "--include-imports",
            "-o",
            &out_dir.display().to_string(),
            &proto_path.display().to_string(),
        ],
    );

For  convenience it would be great to have a README.md that mentions the requirements.
Otherwise good work!
Best regards,
Philipp-Sc

This was just merged a couple days ago, so it's a little rough around the edges: #358

The ergonomics here should've been improved by #387


Onjoin

hai, author Onjoin and Onjoinfirst it doesnt work with [] or without [] i try it
update_books_on_use: true
books_on_join: 52
books_on_first_join: 1
update_books_on_use: true
books_on_join: [52]
books_on_first_join: [1]

@Xour48 in books_on_join and books_on_first_join you have to insert a list of ids of the books that you want to with this pattern:
books_on_join:
- YourBook1
- YourBook2
- etc.

[image: gambar.png]
still cannot plz
Pada tanggal Min, 17 Mar 2019 pukul 20.56 Leomixer17 <
<EMAIL_ADDRESS>menulis:

@Xour48 https://github.com/Xour48 in books_on_join and
books_on_first_join you have to insert a list of ids of the books that
you want to with this pattern:
books_on_join:

YourBook1
YourBook2
etc.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Leomixer17/InteractiveBooks/issues/18#issuecomment-473662991,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AuZGnWQ83G-aqhahyanSYgFrDP9jIy7Aks5vXjtxgaJpZM4b4Tx9
.

eh, its works but its giving not open can you make it open not give item ?

@Xour48 When join the server make that the console execute the command /ibook open

But how?
Pada tanggal Sen, 18 Mar 2019 16.42 Leomixer17<EMAIL_ADDRESS>menulis:

@Xour48 https://github.com/Xour48 When join the server make that the
console execute the command /ibook open
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Leomixer17/InteractiveBooks/issues/18#issuecomment-473818464,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AuZGnQtAisE-fVzJreBtv_7Gwa0sVI-dks5vX1GJgaJpZM4b4Tx9
.

@Xour48 for example with a skript

I got it but, i got setspawn with essentials when we teleport the book will
despawn, gone, and something like that sadly:(
Pada tanggal 18 Mar 2019 18.02, "Leomixer17"<EMAIL_ADDRESS>menulis:
@Xour48 https://github.com/Xour48 for example with a skript
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Leomixer17/InteractiveBooks/issues/18#issuecomment-473844737,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AuZGnR1vAldZEjpU_EHbd-Cw7hHqdbeIks5vX2QtgaJpZM4b4Tx9
.

@Xour48 I need more informations


Update gaze-and-dwell.md

loc header

Docs Build status updates of commit 472a678:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/gaze-and-dwell.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


vimPlugins.lf-vim: init at 2019-10-11

Motivation for this change
Added vim plugin lf.vim. for integration with lf, the file manager.
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
[ ] 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
[ ] Fits CONTRIBUTING.md.

force pushed because I forgot to add override for lf-vim that lists bclose-vim as a dependency


Fixes issue #156

Sorry for the delay. I'm merging this now that I'm working on this buildpack again


Image and Icon elements

Image and Icon elements
User Story
AS A marketing agency
I WANT a codebase that follows accessibility standards
SO THAT our own site is optimized for search engines
Acceptance Criteria
Image and icon elements contain accessible alt attributes

alt attributes added


Create statesync.bash

state sync juno with pebble

Overall looks good .. just a couple bash globbing nits

what do the quotes do?

what do the quotes do?

Prevents accidental word splitting:
https://github.com/koalaman/shellcheck/wiki/SC2046

thanks!

thanks!

just passed it through shellcheck and it flagged those last three

this is the way

+5000 🚀 very helpful, straight gonna test it


Dev against mucklet test server broken

Issue
Following the README.md Quick Start instructions does not work.

Resolved in PR #157
Thanks @farcaller for pointing out the issue!


Server not Available

The commands you ran to start the app

# Backend
conda activate opendevin
uvicorn opendevin.server.listen:app --port 3000

# Frontend
conda activate opendevin
npm start

The environment/config variables you used (redacting your API keys)

MallocNanoZone=0
USER=xulelin
COMMAND_MODE=unix2003
__CFBundleIdentifier=com.microsoft.VSCode
PATH=/Users/xulelin/miniconda3/bin:/Users/xulelin/google-cloud-sdk/bin:/usr/local/bin:/usr/local/bin:/bin:/usr/sbin:/sbin:/usr/bin:/Library/Developer/CommandLineTools/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/opt/homebrew/bin:.
LOGNAME=xulelin
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.mBRPOZ4iaJ/Listeners
HOME=/Users/xulelin
SHELL=/bin/zsh
TMPDIR=/var/folders/93/qllsxfwn1tz2jbj6zt868c780000gn/T/
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
XPC_SERVICE_NAME=0
XPC_FLAGS=0x0
ORIGINAL_XDG_CURRENT_DESKTOP=undefined
SHLVL=1
PWD=/Users/xulelin/Documents/Apps/OpenDevin
OLDPWD=/Users/xulelin/Documents/Apps/OpenDevin
python=python3
OPENAI_API_KEY=XXXXX
CONDA_EXE=/Users/xulelin/miniconda3/bin/conda
_CE_M=
_CE_CONDA=
CONDA_PYTHON_EXE=/Users/xulelin/miniconda3/bin/python
CONDA_SHLVL=1
CONDA_PREFIX=/Users/xulelin/miniconda3
CONDA_DEFAULT_ENV=base
CONDA_PROMPT_MODIFIER=(base)
TERM_PROGRAM=vscode
TERM_PROGRAM_VERSION=1.87.2
LANG=en_US.UTF-8
COLORTERM=truecolor
GIT_ASKPASS=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh
VSCODE_GIT_ASKPASS_NODE=/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)
VSCODE_GIT_ASKPASS_EXTRA_ARGS=
VSCODE_GIT_ASKPASS_MAIN=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js
VSCODE_GIT_IPC_HANDLE=/var/folders/93/qllsxfwn1tz2jbj6zt868c780000gn/T/vscode-git-17c621477d.sock
VSCODE_INJECTION=1
ZDOTDIR=/Users/xulelin
USER_ZDOTDIR=/Users/xulelin
TERM=xterm-256color
_=/usr/bin/printenv

Everything output from uvicorn after running that command and starting the frontend

INFO:     Will watch for changes in these directories: ['/Users/xulelin/Documents/Apps/OpenDevin']
INFO:     Uvicorn running on http://<IP_ADDRESS>:3000 (Press CTRL+C to quit)
INFO:     Started reloader process [21053] using WatchFiles
INFO:     Started server process [21055]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

A screenshot of the /ws item in the network tab of your browser's console (CMD+Shift+C or CTRL+Shift+C ususally)

Thank you for time and consideration!

Based on the provided information, there doesn't seem to be any issue with starting the backend server using uvicorn. The server is running successfully on http://<IP_ADDRESS>:3000, and the application startup has completed without any errors.
However, since you mentioned starting both the backend and frontend, it's possible that there could be an issue with the frontend part (npm start). The output provided here only pertains to the backend server. If you are encountering any issues with the frontend, please provide additional information or error messages related to that part of your application.
@rbren

@linxule the 500 errors are suspicious. There should be some logs from uvicorn--can you share those?

For Frontend, Error message in the browser is "ERROR: Failed connection to server. Please ensure the server is reachable at ws://localhost:3001/ws."
><EMAIL_ADDRESS>start
> vite

  VITE v5.2.7  ready in 315 ms

  ➜  Local:   http://localhost:3001/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help
6:18:36 PM [vite] ws proxy error:
Error: connect ECONNREFUSED ::1:3000
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)
6:18:36 PM [vite] http proxy error: /litellm-models
Error: connect ECONNREFUSED ::1:3000
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)
6:18:36 PM [vite] http proxy error: /litellm-models
Error: connect ECONNREFUSED ::1:3000
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) (x2)

For Backend, there seems no be no error:
uvicorn opendevin.server.listen:app --port 3000
INFO:     Started server process [29925]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:3000 (Press CTRL+C to quit)

Backend works.
(opendevin) xulelin@Xules-MBP14 OpenDevin % uvicorn opendevin.server.listen:app --port 3000 --host <IP_ADDRESS>
INFO:     Started server process [33336]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:3000 (Press CTRL+C to quit)

Encountered the same error with frontend.
><EMAIL_ADDRESS>start
> vite

  VITE v5.2.7  ready in 446 ms

  ➜  Local:   http://localhost:3001/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help
6:41:04 PM [vite] ws proxy error:
Error: connect ECONNREFUSED ::1:3000
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)
6:41:04 PM [vite] http proxy error: /litellm-models
Error: connect ECONNREFUSED ::1:3000
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)
6:41:04 PM [vite] http proxy error: /litellm-models
Error: connect ECONNREFUSED ::1:3000
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) (x2)

I have also enabled Allow the default Docker socket to be used (requires password) on Docker Desktop.

I believe I have the same issue. The backend server starts fine at port 3000
The frontend comes up on port 3001, then tries to connect to http://localhost:3001/api/litellm-models and receives a HTTP500. Note the port in that url, shouldn't it be connecting to the backend on port 3000, rather than trying to reach a 3001 url?

but then the /api path doesn't exist on the backend either..
curl -I http://localhost:3001/api/litellm-models
HTTP/1.1 500 Internal Server Error

curl -I http://localhost:3000/api/litellm-models
HTTP/1.1 404 Not Found

curl http://localhost:3000/litellm-models
["gpt-4","gpt-4-turbo-preview","gpt-4-0314","gpt-4-0613", .... ]

I tested the endpoint and got
curl -I http://localhost:3001/api/litellm-models
HTTP/1.1 500 Internal Server Error
Access-Control-Allow-Origin: *
Content-Type: text/plain
Date: Mon, 01 Apr 2024 17:57:31 GMT
Connection: keep-alive
Keep-Alive: timeout=5

tl;dr: downgrade to node 16 and it works again.

The issue seems to be related to this change from a few hours ago: https://github.com/OpenDevin/OpenDevin/commit/1ae3f1bf6ad514c2f72858d91164cfcbb3a93fa8
And the cause seems to be this issue: https://github.com/nodejs/node/issues/40537
I don't know the proper fix, but downgrading node to v16 goes around the issue by using localhost instead of [::1] as the destination address.

Alternatively, for node 17+, start your backend with:
uvicorn opendevin.server.listen:app --host '::' --port 3000

Alternatively, for node 17+, start your backend with:
uvicorn opendevin.server.listen:app --host '::' --port 3000

@foragerr amazing. thank you so much for this!

It seems that localhost cannot proxy correctly on node17+. Simply replace it with <IP_ADDRESS> works. I have opened a pull request: https://github.com/OpenDevin/OpenDevin/pull/535


[Editor] Avoid to throw when an highlight annotation is resetted

Fixes #18696.

/botio integrationtest


Function Error

This is now happening to do when I try to run the program. I think I have everything necessary installed, what could be the issue.

The error says that no cuda-capable device is found. This can mean that either you don't have an nvidia card, or you don't have nvidia driver installed.
You can check if an nvidia driver exists by
$ lsmod | grep nvidia

and you should see something like
nvidia_uvm            724992  2
nvidia_drm             45056  0
nvidia_modeset        765952  1 nvidia_drm
nvidia              11476992  35 nvidia_modeset,nvidia_uvm

If not, you need to install the nvidia driver. It is possible to have cuda installed without a working nvidia driver, but then cuda will not work. Actually this happened to me this very morning when Ubuntu updated the kernel, after which the nvidia driver did not work anymore, so I had to reinstall it.
That was assuming that you have an NVIDIA card. You can check that, too, from the command line:
$ lspci | grep -i nvidia

and you should see something like:
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1b81 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 10f0 (rev a1)


fix #1770, processor metrics is aggregated in wrong way

Current coverage is 62.20%

Merging #1771 into master will decrease coverage by -1.57% as of 45a7821

@@            master   #1771   diff @@
======================================
  Files          167     167
  Stmts         5005    5006     +1
  Branches       549     549
  Methods
======================================
- Hit           3192    3114    -78
  Partial          0       0
- Missed        1813    1892    +79

Review entire Coverage Diff as of 45a7821

Uncovered Suggestions

+0.26% via .../master/Master.scala#123...135
+0.24% via ...cutor/Executor.scala#271...282
+0.22% via .../MasterService.scala#204...214
See 7 more...

Powered by Codecov. Updated on successful CI builds.

+1


SRI breaks the application on mobile devices

Version
nuxt-security: ^2.0.0-beta.5
nuxt: ^3.10.3
Reproduction Link

N/A. I have spoken with @Baroshem on the matter and we have decided to start with a mere explanation about the bug and without a reproduction, since the nuxt-security playground is also broken on mobile devices (which could be for the same, or a similar, reason) and the bug happened within a closed source project.
Steps to reproduce
Don't disable SRI, go to the app on mobile, and you should be met with an error page that it failed to load the dynamically imported module.
What is Expected?
SRI should work fine and not break the app on mobile devices.
What is actually happening?
SRI is breaking the app on mobile devices (desktop works fine)

Hi @GalacticHypernova
Can you give more details about the circumstances under which SRI fails on mobile, a log of the errors reported by the browser, or a reproducible example ?
The documentation page of Nuxt Security is deployed with SRI and works fine on mobile devices. I’d like to understand why it works on that deployment but not on another one ?

Hey @vejja , the details about the issue are pretty vague as mobile devices don't have dev tools enabled by default and I am trying to connect to my phone from my PC to debug it remotely, but from what I gathered so far I saw a couple things:

SRI causes the app to fail with an error message stating "failed to fetch dynamically imported module website.com/_nuxt/index.[file hash].js", but the file does load when going to the file URL directly.
Regarding the errors, I don't have them currently due to what I said, but I did notice that when checking the site performance using lighthouse (https://pagespeed.web.dev), at least according to the snapshots it provided, it didn't seem to fail. When trying to enter it on a "real" mobile device it does however. This was tested on 2 separate mobile devices and across mobile browsers.
The stackblitz playground is also broken on mobile devices so I could not create a reproduction yet.

Which browser are you using for the stackblitz playground ?

I'm using chrome, the actual app where it failed was tested on chrome and edge

ok Chrome is fine
can you set crossOriginEmbedderPolicy to credentialless so that stackblitz will get correct isolation ?

Do you have enabled : false also ?

Yes, I tried disabling it, but I think because there's no ctrl + s combination in the changes can't get applied and therefore it doesn't do anything

If you have enabled : false, the module is completely disabled.
What's your testing setup ? Is the playground running on mobile here ?

If you have enabled : false, the module is completely disabled.

That's if the changes actually apply, which they don't seem to, considering it's still stating that. The playground is ran on mobile here

I'm not sure stackblitz can run on mobile.
https://developer.stackblitz.com/platform/webcontainers/browser-support
Can you run stackblitz on desktop and connect your mobile via local network. Then launch the dev tools on your desktop to observe the mobile logs

That's what I'm gonna have to try

Ok
Also you said SRI failed on mobile in production
How do you deploy? Which hosting provider are you using?

How do you deploy? Which hosting provider are you using

My apologies, this was a slightly misleading statement. I haven't tested in dev mode yet as I'm deploying on a self hosted server (not server less, full ssr)

@vejja I have made some more testing (of the actual app, not stackblitz), and found a few more things:
Let's say my mobile device is phone A, and the other mobile device is phone B. When I attached phone A to my desktop and launched the debugger with the devtools instance (made sure to rebuild the app), it briefly fixed SRI for both phone A and B. Now, phone A works perfectly fine with SRI, but phone B is once again broken.

Which server are you using?
And is your app a PWA?

Using a self hosted server by ultahost (I believe at least), the app is not a PWA. As stated above, I couldn't check mobile logs because as soon as I attached the local debugger to my device it somehow fixed it for every mobile device

Sounds more like a cache issue than an SRI issue
Shall we close or do you want to keep open?

Yea we can close it, sorry about that! I'm not entirely sure it was a cache issue considering it was across different devices and different browsers which guaranteed at least one of the time it would be fresh data,  and it definitely doesn't explain the local debugger fixing the global issue, but at least it works now. Thanks a lot for the help!

Hey guys,
Thanks for extensive research. I completely missed this issue yesterday due to other tasks.
Great that together you have found a solution! 🎉


Update readme for new testing code

Please update readme file to reflect change to purest...can we run individual tests now? Tests are quick so doesn't matter so much if not.

What do you mean, 'purest'?

I think he means pytest.

He does
Sent from my iPhone

On 24 Jul 2020, at 17:18, RonanDaly<EMAIL_ADDRESS>wrote:

I think he means pytest.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Done.


Add retry to fix permission error in call to listen()

Fixes #111

Hello, I'm also experiencing this bug quite badly on the Pi Zero v1.3 (not W) where I think it is the same problem with a race condition / slower threading. At the moment various pins never fully bind to EPoll / trigger a state change. My temporary solution was to just write unexport, export and direction a second time to /sys/class/gpio after the initial binding, which makes sure the pins report back their state:
    for (let i = 0; i < PINS.length; i++){
        let PIN = PINS[i]
        console.log(`[o-dsk] refreshing pin ${PIN}`)
        let cmds = {
            unexport: `echo ${PIN} > /sys/class/gpio/unexport`,
            export: `echo ${PIN} > /sys/class/gpio/export`,
            direction: `echo in > /sys/class/gpio/gpio${PIN}/direction`
        }
        try { await execSync( cmds.unexport ) } catch(err) { console.error('[o-dsk]', err.message) }
        try { await execSync( cmds.export ) } catch(err) { console.error('[o-dsk]', err.message) }
        try { await execSync( cmds.direction ) } catch(err) { console.error('[o-dsk]', err.message) }
    }

I'm thinking it could benefit to rewrite this lib as asynchronous and also add in optional setup args for delays between calls, something like this:
const wait = async ms => ( new Promise(resolve => setTimeout(resolve, ms) ) )

const someSetupFunc = args => {
    await bindSomething( args )
    await wait( 100 )
    await bindSomethingElse()
}

What do you think?


IDEA Ultimate freezes when using mirrord

threadDump-20230525-085318.txt
2023-05-25 11:26:17,131 [ 493787]   FINE - mirrord - updateJavaParameters called
2023-05-25 11:26:17,131 [ 493787]   FINE - mirrord - Check if relevant
2023-05-25 11:26:17,131 [ 493787]   FINE - mirrord - wsl check
2023-05-25 11:26:17,131 [ 493787]   FINE - mirrord - getting env
2023-05-25 11:26:17,131 [ 493787]   FINE - mirrord - calling start
2023-05-25 11:26:17,132 [ 493788]   FINE - mirrord - version check trigger
2023-05-25 11:26:18,121 [ 494777]   FINE - mirrord - target selection
2023-05-25 11:26:18,147 [ 494803]   FINE - mirrord - target not selected, showing dialog
2023-05-25 11:26:18,147 [ 494803]   FINE - mirrord - executing on pooled thread
2023-05-25 11:29:30,011 [ 686667]   INFO - sun.awt.AWTThreading - InvocationEvent has timed out (awaiting 1555 ms). Originated at java.desktop/sun.lwawt.macosx.CAccessibility.accessibilityHitTest(CAccessibility.java:481)
2023-05-25 11:29:32,009 [ 688665]   INFO - sun.awt.AWTThreading - InvocationEvent has timed out (awaiting 1993 ms). Originated at java.desktop/sun.lwawt.macosx.CAccessibility.getAccessibleRole(CAccessibility.java:286)
2023-05-25 11:30:04,010 [ 720666]   INFO - sun.awt.AWTThreading - InvocationEvent has timed out (awaiting 1890 ms). Originated at java.desktop/sun.lwawt.macosx.CAccessibility.accessibilityHitTest(CAccessibility.java:481)
2023-05-25 11:30:06,006 [ 722662]   INFO - sun.awt.AWTThreading - InvocationEvent has timed out (awaiting 1995 ms). Originated at java.desktop/sun.lwawt.macosx.CAccessibility.getAccessibleRole(CAccessibility.java:286)
2023-05-25 11:30:08,009 [ 724665]   INFO - sun.awt.AWTThreading - InvocationEvent has timed out (awaiting 2001 ms). Originated at java.desktop/sun.lwawt.macosx.CAccessibility.getAccessibleRole(CAccessibility.java:286)
2023-05-25 11:30:10,009 [ 726665]   INFO - sun.awt.AWTThreading - InvocationEvent has timed out (awaiting 1991 ms). Originated at java.desktop/sun.lwawt.macosx.CAccessibility.getAccessibleComponent(CAccessibility.java:348)

Debugging a Spring application on macOS

Happens only when debugging mirrord..


claim state at top of page

this looks like it needs changing ("show" page for a claim)

Fixed as part of pr #1077


Confusing hour discrepancy time sheet "Billable Summary"

If you have vacation time clocked, Billable + Non-billable != Uninvoiced, which is confusing. How should we handle this?

Maybe we should just include "verified" and "approved" in the summary?


common-io: Refactoring SPI test cases

Description
Refactored tests to perform open/close during setup/tear-down phases.
This is part of the work related to the following issue: https://github.com/aws/amazon-freertos/issues/1859
Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

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

@qiutongs I made the revert as requested. Also did some minor refactoring where I moved all code that could potentially fail between open/close calls into the TEST_PROTECT statement. Please let me know what you think about this.

@qiutongs I made the revert as requested. Also did some minor refactoring where I moved all code that could potentially fail between open/close calls into the TEST_PROTECT statement. Please let me know what you think about this.

It looks great. Thank you for improving the test code quality!

/bot run checks

One last thing is to format the code. Our team uses the uncrustify tool
Please note to use this config: https://github.com/aws/amazon-freertos/blob/master/tools/uncrustify.cfg

/bot run checks

/bot run checks