Missing packages

When following the installation instructions from README.md, I got errors about missing packages from go get github.com/aeonurutu/shade/...:

package github.com/aeonurutu/shade/entity: cannot find package "github.com/aeonurutu/shade/entity" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/entity (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/entity (from $GOPATH)
package github.com/aeonurutu/shade/fonts: cannot find package "github.com/aeonurutu/shade/fonts" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/fonts (from $GOROOT)
/home/anonymous/my-projects/redpanda/shade-engine/src/github.com/aeonurutu/shade/fonts (from $GOPATH)
package github.com/aeonurutu/shade/shapes: cannot find package "github.com/aeonurutu/shade/shapes" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/shapes (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/shapes (from $GOPATH)
package github.com/aeonurutu/shade/sprite: cannot find package "github.com/aeonurutu/shade/sprite" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/sprite (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/sprite (from $GOPATH)

I'm not sure how to fix the issue since apparently go generate github.com/aeonurutu/shade/... does nothing. Neither scripts/gen.sh generates those missing files.

Hi, thanks for the feedback.  I am in the process of re-writing/designing a lot of things.  So everything is kinda in a broken state.  I honestly didn't expect to have anybody find the project yet.  I have a goal of getting things stable and working by the end of the year.
If you don't mind providing some feedback on what you would like to use Shade for, it would be helpful to know as it progresses.
Thanks!

I honestly didn't expect to have anybody find the project yet.

Well, it showed up in github's search when I was looking for a game engine written in golang. There aren't a lot, and most of them are unfinished, or dead projects. Shade was one of the few with an active development, that is way I picked it up.

If you don't mind providing some feedback on what you would like to use Shade for, it would be helpful to know as it progresses.

I'd like to use shade for rapid prototyping and building simple 2.5D games for game jam events like Ludum Dare and a-like, nothing else. Normally, I use SFML/GLFW/SDL for these kind of tasks, but since I'm a seasoned Golang developer I would like to ditch C++ in favour of Go.
I don't mind if share doesn't have a stable API; eventually, I can vendor a specific snapshot that fits my needs, provided that I can go get it in the first place ;)

I'd like to use shade for rapid prototyping and building simple 2.5D games for game jam events like Ludum Dare and a-like

This is basically my overall goal, to have something that is very simple and fun to use for similar contests/projects/things.
If you don't mind, I would love to have a conversation directly with you about this.  Would you mind emailing me at<EMAIL_ADDRESS>

@Dr-Terrible Can you verify that this patch fixes your import issues?  (examples and demos are still kinda broken, but that should at least fix the import issue you were having)

Unfortunately no. When running go get github.com/hurricanerix/shade/... (note that I'm not pulling from this repository but from your fork) in my GOPATH, I got a lot of new errors:

package github.com/aeonurutu/shade/dev: cannot find package "github.com/aeonurutu/shade/dev" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/dev (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/dev (from $GOPATH)
package github.com/aeonurutu/shade/display: cannot find package "github.com/aeonurutu/shade/display" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/display (from $GOROOT)
/home/eanonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/display (from $GOPATH)
package github.com/aeonurutu/shade/entity: cannot find package "github.com/aeonurutu/shade/entity" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/entity (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/entity (from $GOPATH)
package github.com/aeonurutu/shade/archive: cannot find package "github.com/aeonurutu/shade/archive" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/archive (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/archive (from $GOPATH)
package github.com/aeonurutu/shade/shader: cannot find package "github.com/aeonurutu/shade/shader" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/shader (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/shader (from $GOPATH)
package github.com/aeonurutu/shade/events: cannot find package "github.com/aeonurutu/shade/events" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/events (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/events (from $GOPATH)
package github.com/aeonurutu/shade/shapes: cannot find package "github.com/aeonurutu/shade/shapes" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/shapes (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/shapes (from $GOPATH)
package github.com/aeonurutu/shade/camera: cannot find package "github.com/aeonurutu/shade/camera" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/camera (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/camera (from $GOPATH)
package github.com/aeonurutu/shade/scene: cannot find package "github.com/aeonurutu/shade/scene" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/scene (from $GOROOT)
/home/anonymous/my-projectsshade-engine/src/github.com/aeonurutu/shade/scene (from $GOPATH)
package github.com/aeonurutu/shade/sprite: cannot find package "github.com/aeonurutu/shade/sprite" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/sprite (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/sprite (from $GOPATH)
package github.com/aeonurutu/shade/time/clock: cannot find package "github.com/aeonurutu/shade/time/clock" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/time/clock (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/time/clock (from $GOPATH)
package github.com/aeonurutu/shade/fonts: cannot find package "github.com/aeonurutu/shade/fonts" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/fonts (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/fonts (from $GOPATH)
package github.com/aeonurutu/shade/light: cannot find package "github.com/aeonurutu/shade/light" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/light (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/light (from $GOPATH)
package github.com/aeonurutu/shade/examples/ex2-platform/game: cannot find package "github.com/aeonurutu/shade/examples/ex2-platform/game" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/examples/ex2-platform/game (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/examples/ex2-platform/game (from $GOPATH)
package github.com/aeonurutu/shade/splash: cannot find package "github.com/aeonurutu/shade/splash" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/splash (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/splash (from $GOPATH)
package github.com/aeonurutu/shade/examples/ex2-platform/block: cannot find package "github.com/aeonurutu/shade/examples/ex2-platform/block" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/examples/ex2-platform/block (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/examples/ex2-platform/block (from $GOPATH)
package github.com/aeonurutu/shade/examples/ex2-platform/player: cannot find package "github.com/aeonurutu/shade/examples/ex2-platform/player" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/examples/ex2-platform/player (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/examples/ex2-platform/player (from $GOPATH)
package github.com/aeonurutu/shade/examples/ex1-pong/game: cannot find package "github.com/aeonurutu/shade/examples/ex1-pong/game" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/examples/ex1-pong/game (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/examples/ex1-pong/game (from $GOPATH)
package github.com/aeonurutu/shade/examples/ex1-pong/player: cannot find package "github.com/aeonurutu/shade/examples/ex1-pong/player" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/examples/ex1-pong/player (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/examples/ex1-pong/player (from $GOPATH)
package github.com/aeonurutu/shade/examples/ex1-pong/ball: cannot find package "github.com/aeonurutu/shade/examples/ex1-pong/ball" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/examples/ex1-pong/ball (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/examples/ex1-pong/ball (from $GOPATH)
package github.com/aeonurutu/shade/splash/ghost: cannot find package "github.com/aeonurutu/shade/splash/ghost" in any of:
/usr/lib/go/src/github.com/aeonurutu/shade/splash/ghost (from $GOROOT)
/home/anonymous/my-projects/shade-engine/src/github.com/aeonurutu/shade/splash/ghost

Just in case, my setup is quite easy to replicate:
$ mkdir ~/shade-engine/
$ cd ~/shade-engine/
$ export GOPATH="$PWD"
$ export GOBIN="$PWD/bin"
$ go env
GOARCH="amd64"
GOBIN="/home/anonymous/shade-engine/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/anonymous/shade-engine"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="x86_64-pc-linux-gnu-gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="x86_64-pc-linux-gnu-g++"
CGO_ENABLED="1"

Then I go get Shade:
$ go get -v -u github.com/aeonurutu/shade/...
github.com/hurricanerix/shade (download)
github.com/aeonurutu/shade (download)
package github.com/hurricanerix/shade
	imports github.com/aeonurutu/shade/dev: cannot find package "github.com/aeonurutu/shade/dev" in any of:
	/usr/lib/go/src/github.com/aeonurutu/shade/dev (from $GOROOT)
	/home/anonymous/shade-engine/src/github.com/aeonurutu/shade/dev (from $GOPATH)
package github.com/hurricanerix/shade
	imports github.com/aeonurutu/shade/display: cannot find package "github.com/aeonurutu/shade/display" in any of:
	/usr/lib/go/src/github.com/aeonurutu/shade/display (from $GOROOT)
	/home/anonymous/shade-engine/src/github.com/aeonurutu/shade/display (from $GOPATH)
package github.com/hurricanerix/shade
	imports github.com/aeonurutu/shade/entity: cannot find package "github.com/aeonurutu/shade/entity" in any of:
	/usr/lib/go/src/github.com/aeonurutu/shade/entity (from $GOROOT)
	/home/anonymous/shade-engine/src/github.com/aeonurutu/shade/entity (from $GOPATH)
[...]

$ tree . -d
.
└── src
    ├── github.com
    │   ├── aeonurutu
    │   │   └── shade
    │   │       ├── assets
    │   │       │   └── shaders
    │   │       ├── core
    │   │       │   ├── camera
    │   │       │   ├── dev
    │   │       │   ├── display
    │   │       │   ├── entity
    │   │       │   ├── events
    │   │       │   ├── gen
    │   │       │   ├── light
    │   │       │   ├── scene
    │   │       │   ├── shader
    │   │       │   ├── shapes
    │   │       │   ├── splash
    │   │       │   │   └── ghost
    │   │       │   ├── time
    │   │       │   │   └── clock
    │   │       │   └── util
    │   │       │       ├── actor
    │   │       │       ├── archive
    │   │       │       ├── fonts
    │   │       │       └── sprite
    │   │       ├── examples
    │   │       │   ├── 01-basic
    │   │       │   ├── 02-animation
    │   │       │   ├── 03-basic-collisions
    │   │       │   │   ├── ball
    │   │       │   │   ├── block
    │   │       │   │   └── player
    │   │       │   ├── 03-collisions
    │   │       │   │   ├── ball
    │   │       │   │   └── block
    │   │       │   ├── 04-lighting
    │   │       │   ├── 05-text
    │   │       │   ├── assets
    │   │       │   └── demos
    │   │       │       ├── platformer
    │   │       │       │   ├── block
    │   │       │       │   ├── game
    │   │       │       │   └── player
    │   │       │       └── pong
    │   │       │           ├── ball
    │   │       │           ├── game
    │   │       │           └── player
    │   │       ├── gen
    │   │       └── scripts
    │   ├── go-gl
    │   │   ├── gl
    │   │   │   ├── all-core
    │   │   │   │   └── gl
    │   │   │   ├── v2.1
    │   │   │   │   └── gl
    │   │   │   ├── v3.1
    │   │   │   │   └── gles2
    │   │   │   ├── v3.2-compatibility
    │   │   │   │   └── gl
    │   │   │   ├── v3.2-core
    │   │   │   │   └── gl
    │   │   │   ├── v3.3-compatibility
    │   │   │   │   └── gl
    │   │   │   ├── v3.3-core
    │   │   │   │   └── gl
    │   │   │   ├── v4.1-compatibility
    │   │   │   │   └── gl
    │   │   │   ├── v4.1-core
    │   │   │   │   └── gl
    │   │   │   ├── v4.4-compatibility
    │   │   │   │   └── gl
    │   │   │   ├── v4.4-core
    │   │   │   │   └── gl
    │   │   │   ├── v4.5-compatibility
    │   │   │   │   └── gl
    │   │   │   └── v4.5-core
    │   │   │       └── gl
    │   │   ├── glfw
    │   │   │   ├── v3.0
    │   │   │   │   └── glfw
    │   │   │   ├── v3.1
    │   │   │   │   └── glfw
    │   │   │   │       └── glfw
    │   │   │   │           ├── deps
    │   │   │   │           │   ├── EGL
    │   │   │   │           │   ├── GL
    │   │   │   │           │   ├── glad
    │   │   │   │           │   └── KHR
    │   │   │   │           ├── include
    │   │   │   │           │   └── GLFW
    │   │   │   │           └── src
    │   │   │   └── v3.2
    │   │   │       └── glfw
    │   │   │           └── glfw
    │   │   │               ├── deps
    │   │   │               │   ├── glad
    │   │   │               │   ├── KHR
    │   │   │               │   ├── mingw
    │   │   │               │   └── vulkan
    │   │   │               ├── include
    │   │   │               │   └── GLFW
    │   │   │               └── src
    │   │   └── mathgl
    │   │       ├── mgl32
    │   │       │   └── matstack
    │   │       └── mgl64
    │   │           └── matstack
    │   └── hurricanerix
    │       └── shade
    │           ├── actor
    │           ├── archive
    │           ├── assets
    │           │   └── shaders
    │           ├── camera
    │           ├── dev
    │           ├── display
    │           ├── entity
    │           ├── events
    │           ├── examples
    │           │   ├── 01-basic
    │           │   ├── 02-animation
    │           │   ├── 03-basic-collisions
    │           │   │   ├── ball
    │           │   │   ├── block
    │           │   │   └── player
    │           │   ├── 03-collisions
    │           │   │   ├── ball
    │           │   │   └── block
    │           │   ├── 04-lighting
    │           │   ├── 05-text
    │           │   ├── assets
    │           │   └── demos
    │           │       ├── platformer
    │           │       │   ├── block
    │           │       │   ├── game
    │           │       │   └── player
    │           │       └── pong
    │           │           ├── ball
    │           │           ├── game
    │           │           └── player
    │           ├── fonts
    │           ├── gen
    │           ├── light
    │           ├── scene
    │           ├── shader
    │           ├── shapes
    │           ├── splash
    │           │   └── ghost
    │           ├── sprite
    │           └── time
    │               └── clock
    └── golang.org
        └── x
            └── image
                ├── bmp
                ├── cmd
                │   └── webp-manual-test
                ├── colornames
                ├── draw
                ├── example
                │   └── font
                ├── font
                │   ├── basicfont
                │   ├── inconsolata
                │   ├── plan9font
                │   └── testdata
                │       └── fixed
                ├── math
                │   ├── f32
                │   ├── f64
                │   └── fixed
                ├── riff
                ├── testdata
                ├── tiff
                │   └── lzw
                ├── vp8
                ├── vp8l
                └── webp
                    └── nycbcra

Obviously, the fork github.com/hurricanerix/shade is importing github.com/aeonurutu/shade (which doesn't have the new fixes), thus confusing the Golang compiler; you cannot cross-importing packages, see https://golang.org/doc/code.html.

Yeah, go imports occasionally burns me by grabbing the wrong things.  I thought it was all fixed, but I guess I missed some again...
I'll try to go through this tonight (replicating your setup) and fix it.

@Dr-Terrible Putting some comments inline
This part is similar to yours
$ mkdir /tmp/shade-engine
$ cd /tmp/shade-engine
$ export GOPATH="$PWD"
$ export GOBIN="$PWD/bin"
$ go env
GOARCH="amd64"
GOBIN="/tmp/shade-engine/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/tmp/shade-engine"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

However, here instead of issuing a "$ go get -v -u github.com/aeonurutu/shade/..." I am pulling the branch with my fixed imports manually.
$ mkdir -p src/github.com/aeonurutu
$ cd src/github.com/aeonurutu
$ git clone git@github.com:hurricanerix/shade.git
Cloning into 'shade'...
remote: Counting objects: 2232, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 2232 (delta 2), reused 0 (delta 0), pack-reused 2219
Receiving objects: 100% (2232/2232), 3.06 MiB | 1.43 MiB/s, done.
Resolving deltas: 100% (1157/1157), done.
Checking connectivity... done.
$ cd shade
$ git checkout imports
Branch imports set up to track remote branch imports from origin.
Switched to a new branch 'imports'

Now I am successfully (I think) installing them from the cloned directory.
$ go get -v -u ./...
github.com/aeonurutu/shade (download)
github.com/go-gl/gl (download)
github.com/go-gl/glfw (download)
github.com/go-gl/mathgl (download)
Fetching https://golang.org/x/image/math/f32?go-get=1
Parsing meta tags from https://golang.org/x/image/math/f32?go-get=1 (status code 200)
get "golang.org/x/image/math/f32": found meta tag main.metaImport{Prefix:"golang.org/x/image", VCS:"git", RepoRoot:"https://go.googlesource.com/image"} at https://golang.org/x/image/math/f32?go-get=1
get "golang.org/x/image/math/f32": verifying non-authoritative meta tag
Fetching https://golang.org/x/image?go-get=1
Parsing meta tags from https://golang.org/x/image?go-get=1 (status code 200)
golang.org/x/image (download)
github.com/aeonurutu/shade/core/gen
github.com/go-gl/gl/v4.1-core/gl
github.com/aeonurutu/shade/core/util/archive
github.com/go-gl/glfw/v3.1/glfw
golang.org/x/image/math/f32
github.com/go-gl/mathgl/mgl32
github.com/aeonurutu/shade/core/time/clock
github.com/aeonurutu/shade/core/time
github.com/aeonurutu/shade/core/util/actor
github.com/aeonurutu/shade/core/shapes
github.com/aeonurutu/shade/core/light
github.com/aeonurutu/shade/core/entity
github.com/aeonurutu/shade/core/shader
github.com/aeonurutu/shade/core/camera
github.com/aeonurutu/shade/core/util/sprite
github.com/aeonurutu/shade/core/splash/ghost
github.com/aeonurutu/shade/core/util/fonts
github.com/aeonurutu/shade/examples/03-collisions/ball
github.com/aeonurutu/shade/examples/03-basic-collisions/ball
github.com/aeonurutu/shade/examples/03-basic-collisions/block
github.com/aeonurutu/shade/examples/03-collisions/block
github.com/aeonurutu/shade/examples/demos/platformer/block
github.com/aeonurutu/shade/core/events
github.com/aeonurutu/shade/core/dev
github.com/aeonurutu/shade/core/display
github.com/aeonurutu/shade/examples/03-basic-collisions/player
github.com/aeonurutu/shade/examples/demos/platformer/player
# github.com/aeonurutu/shade/core/dev
core/dev/dev.go:139: undefined: gen.Version
core/dev/dev.go:140: undefined: gen.GitURL
core/dev/dev.go:140: undefined: gen.Hash
github.com/aeonurutu/shade/examples/demos/pong/player
github.com/aeonurutu/shade/examples/demos/pong/ball
github.com/aeonurutu/shade/core/splash
github.com/aeonurutu/shade/examples/02-animation
github.com/aeonurutu/shade/examples/03-basic-collisions
github.com/aeonurutu/shade/examples/03-collisions
github.com/aeonurutu/shade/examples/04-lighting
github.com/aeonurutu/shade/examples/05-text
github.com/aeonurutu/shade/examples/demos/platformer/game
github.com/aeonurutu/shade/examples/demos/platformer

I am assuming that when the PR is merged to master on github.com/aeonurutu/shade, then "go get -u -v github.com/aeonurutu/shade" should start working, correct?  Or is there a flaw in my logic somewhere?


Error when querying nearest vector

I am getting the same error when querying for similar vector. I have looked at the 50 as well as others linked there but still can't resolve. My encoding and insertions work correctly. I am using sentence transformer encoding and inserting by converting it into numpy.array using the following code
from sentence_transformers import SentenceTransformer
import numpy as np
from pgvector.psycopg import register_vector
import psycopg

model = SentenceTransformer('multi-qa-MiniLM-L6-cos-v1')
#read dataframe from csv and get the list to be encoded
string_list = list(df["NAME"][:10])

#Encode the string list
string_embeddings = model.encode(string_list)
conn = psycopg.connect(connection parameters)
conn.execute('CREATE EXTENSION IF NOT EXISTS vector')
register_vector(conn)

conn.execute('DROP TABLE IF EXISTS master_vec')
conn.execute('CREATE TABLE master_vec (master_id bigserial PRIMARY KEY, name text, embedding vector(384))')

for master_name, embedding in zip(string_list, string_embeddings):
    conn.execute('INSERT INTO master_vec (name, embedding) VALUES (%s, %s)', (name, np.array(embedding)))

#verify insertion
master_id = 1
neighbors = conn.execute('SELECT name FROM master_vec WHERE master_id != %(id)s ORDER BY embedding <=> (SELECT embedding FROM master_vec WHERE master_id = %(id)s) LIMIT 5', {'id': master_id}).fetchall()
for neighbor in neighbors:
    print(neighbor[0])

this works as expected and gives me the 10 records that are inserted
Now doing the semantic search
from sentence_transformers import SentenceTransformer
import numpy as np
from pgvector.psycopg import register_vector
import psycopg

model = SentenceTransformer('multi-qa-MiniLM-L6-cos-v1')
conn = psycopg.connect(connection parameters)
register_vector(conn)

target = 'target string'
target_embedding = model.encode(target)
target_embedding = np.array(target_embedding)
neighbors = conn.execute('SELECT name FROM master_vec ORDER BY embedding <-> %s LIMIT 3', target_embedding).fetchall()
for neighbor in neighbors:
    print(neighbor[0])

This fails with TypeError: query parameters should be a sequence or a mapping, got ndarray
I get the same TypeError irrespective of whether I convert the embeddings to a numpy.array or not. If I use a list then it gives me the error ProgrammingError: the query has 1 placeholders but 384 parameters were passed. These same errors are obtained even if cast embeddings as a vector in the query. What am I doing wrong here?

Hi @ashwincr, positional parameters need to be passed as a tuple or list (docs).
conn.execute(sql, (target_embedding,))


Scheduling Announcements

DESCRIPTION
Schedule announcements via bot.
Describe the solution you'd like
If user does " %announce -time ", the user can type in the time + zone (18:00 EST), which will schedule the bot to post at 18:00 EST.

Announcements can be scheduled with EST


How to deal the error when run (./python_env/bin/pip3 install -e .) in the Readme.md

When I fellow the Readme.md to run the ./python_env/bin/pip3 install -e .  , i meet a error.

My os is Ubuntu18.04 and version of Python is Python3.9.1.
I also try the Python3.7.9 and Python 3.8.6, but the error is same.
I don't know how to cope the error.

I assume you've compiled Python 3.9 from source, since it is not available in the Ubuntu 18.04 repositories.
Python is complaining that the _ctypes module is not found. CTypes is only compiled with python if you have libffi-dev is installed before compiling python.
So to add support for it should be something like:
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev

Then go to the Python-3.9.1 source directory, and do:
./configure
make
sudo make install

Then, remove your virtual environment and re-create it, and you should be good to go.
Ubuntu 18.04 does provide an apt-package for python 3.7 and 3.8, which I believe should have support for _ctypes built in.
If you did not compile Python 3.9 from source yourself, how did you install it?


fix enums could not be cast to decimal

could you create a new nuget?

I'll release it within a few days.


Add unratified Svadu extension

Adds support for unratified Svadu extension.
The specification is here: https://github.com/riscv/riscv-svadu

apart from the ISA string you will need to add the required CSR updates this extension adds here and other relevant places.

I sent PR #138 to add the bits to menvcfg. And also to add the missing menvcfgh.

I sent it as a separate PR since the tip has moved since I sent this PR and unfortunately I ended up refreshing.
If you would like I can move contents of this PR to that one

please move this PR contents to the other one.. so its one PR with all feature requests


Hof 405

Anchore replaced with trivy scan in the Drone.yaml
The node image updated from node:14 to node:18
The cve-exception file updated

What?: I have replaced anchore  with Trivy scan
why?: This is because the ACP team has now decided to use Trivy instead of Anchore scans. Anchore has not been supported since January 2023 and as result runs the risk of not detecting vulnerabilities effectively.
Anchore is an open source scanner which scans the following: OS packages and software dependencies in use (SBOM)
Known vulnerabilities (CVEs)
IaC issues and misconfigurations
Sensitive information and secrets
Software licenses
https://docs.acp.homeoffice.gov.uk/how-to/security/trivy/#trivy-overview
How?:
Trivy has been added to drone.yaml pipeline which will scan against any vulnerability to primarily detect CVEs present in OS and Language packages. In addition it will try to detect any secrets like private rsa keys within the container image layers.

Please update Git commits to HOF standards.
This link helps you : https://cbea.ms/git-commit/#separate


Tool Locales

I was made aware by @Psychpsyo that the translated tool names we decided on weren't actually showing in-game. I took that as an opportunity to go through all tools. Here's what I found:
Equip names of all tools aren't using locale strings
Missing loceles on Individual tools:

Dev Tool:

"Selection: Single / Multi"
"Interaction: Projection / Tip"

Component Clone Tool:

"Single Instance: On / Off"
"Clear Template"

Glue Tool

Alle 3 mode options

Light Tool

"Change Color"
"Shadows: None / Hard / Soft"

Rig Mesh Transfer Tool

"Clear Source"

Meter Tool

"Measure in World / Object Space"
"Two / Multiple Points"
"Mode: Ray / Perpendicular / Drag"

Module Snapping Tool

All texts
Has no equip name

Multi Tool

All Texts

@ProbablePrime for general tool locales
@RyuviTheViali for Module Snapping Tool
@Aegis_Wolf for Multitool

I'll take a look


[FEAT]how about move "reset" button aside "hard" button in card review

Is your feature request related to a problem? Please describe.
Current reset button is above card content, and hard/good/easy button is at the bottom. When we learn new card, if we don't know the answer, we may want to rate it as reset. But clicking reset is not as convenient as clicking the other three options
Describe the solution you'd like
move reset button aside hard button,

Additional context
Add any other context or screenshots about the feature request here.

Good idea. With the current layout, sometimes I simply click "hard" when I probably should be clicking "reset"
I'd probably suggest calling the button "wrong" rather than "reset" (or "again")

"reset", Not great as the software resets the scheduling data, but that isn't obvious to a user
"again", Not great as more is being done than just shown the card again

Regarding the button color, I think that red is probably the most appropriate. Perhaps change the color for "hard" to something else, e.g. orange
I think this would address one of the points of confusion raised in:
can someone provide a more elaborate explainer on how Again & skip really works?
Hey @KyleKlus what do you think?

I basically never click reset, unless I didn't learn for a bit and then the schedule can be off because of it.
So I don't really have an opinion on that.
Design wise, it would offset the nice color and button trinity a bit.
It just looks a bit more visually pleasing that way.

All good things come in threes -

I would ask @st3v3nmw how he intended the use of the reset button and then decide based on that.

Maybe we could add it as a setting. It would work like this:

It is off by default and the user has to opt-in so that the users can adjust the plugin to their learning strategy.
The function of the button would be that this card is either randomly but back into the session queue or that the card is just appended to the session queue, such that it will resurface at the end of the session.

I've been trying it out for a while, but found that I don't use it very often. So just keep it three is good, if want reset, use Reset on the menu.


no sound on some devices

Environment

Browser: chrome
Browser Version:  latest
Operating System: android

Amplitude.js Version: 2.3

Issue description
On some android phones there is no sound. We tried 2 equal phones of the same brand. One played, the other not..
Link to where issue can be reproduced
http://loschi.de/mobil/05demo.html

Hi @snote,
Can you try upgrading your Amplitude version to Amplitude 3.1? You should just have to replace your current amplitude.js file with the latest one from here: https://github.com/521dimensions/amplitudejs/tree/master/dist
Let me know if that fixes your issue.

Negative. No change. Sorry.

What operating systems are you running? You said one works but the other doesn't? Both are running latest version of Chrome?

On windows, both Versions are working with firefox and chrome.
On Android 4.2.2 only the older js file is working with icecat, chrome.
On Anroid 5 nothing is working on the latest chrome browsers.
Yes, we had two phones of the same brand, one was working, one not.
The one that was not working was on the latest chrome, the other i don't
know.
Am 31.07.2017 um 13:06 schrieb Jay Rogers:

What operating systems are you running? You said one works but the
other doesn't? Both are running latest version of Chrome?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/521dimensions/amplitudejs/issues/186#issuecomment-319163540,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeomUtDNz_zH78i1Rl6FKhHdHEjoTghks5sTiO0gaJpZM4Onh2S.

I see your site is still running Amplitude 2.3. Could you update your link to Amplitude 3.1 and let me know?
I don't have an Android device so I will need to email the link out to some friends to test it with.

The thing is, that with Version 3.1 it is not working even on my win
Computer..
I loaded the 3.1 files now.
So there must be an issue which is more basic. Nothing to do with Android..
Am 01.08.2017 um 11:52 schrieb Jay Rogers:

I see your site is still running Amplitude 2.3. Could you update your
link to Amplitude 3.1 and let me know?
I don't have an Android device so I will need to email the link out to
some friends to test it with.
screen shot 2017-08-01 at 12 50 35 pm
https://user-images.githubusercontent.com/3174134/28839111-35a2a2ea-76b8-11e7-9349-1e309584cadf.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/521dimensions/amplitudejs/issues/186#issuecomment-319446360,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeomZyQNzwPdP0lN6NZPxMgQWphQpPJks5sT2XJgaJpZM4Onh2S.

Your amplitude.js file is incorrect. It's some sort of HTML. Download the original 3.1 file here and upload it to your server.

ok. I changed it.
Am 01.08.2017 um 12:44 schrieb Jay Rogers:

Your |amplitude.js| file is incorrect. It's some sort of HTML.
Download the original 3.1 file here
https://github.com/521dimensions/amplitudejs/releases/download/v3.1.0/amplitude.js
and upload it to your server.
screen shot 2017-08-01 at 1 42 20 pm
https://user-images.githubusercontent.com/3174134/28841301-6447bf8e-76bf-11e7-8fdc-930efa8ef28e.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/521dimensions/amplitudejs/issues/186#issuecomment-319460813,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeomcCYVGs4C7K5df1LqOSPYfXmnZqxks5sT3IMgaJpZM4Onh2S.

Seems like it is working now..
But now the autoplay function is working no more and the cover art
pictures aren't visible anymore. Does this have something to do with the
new file?

Your auto play is working for me. The new file should be quite backwards compatible. You can double check everything here: https://521dimensions.com/open-source/amplitudejs/docs#initializing-amplitude-js
If you need additional support, @danpastori will be your best resource, but I know he has been really busy lately and might be some time before he can look at your code.
You can always see the source code of the player on the AmplitudeJS site in the examples folder: https://github.com/521dimensions/amplitudejs/blob/dev/examples/blue-playlist/index.html

Jay Rogers
Thanks a lot for the help and all your effort!
I appreciate this very much.
snote
Am 02.08.2017 um 14:27 schrieb Jay Rogers:

Your auto play is working for me. The new file should be quite
backwards compatible. You can double check everything here:
https://521dimensions.com/open-source/amplitudejs/docs#initializing-amplitude-js
If you need additional support, @danpastori
https://github.com/danpastori will be your best resource, but I know
he has been really busy lately and might be some time before he can
look at your code.
You can always see the source code of the player on the AmplitudeJS
site in the |examples| folder:
https://github.com/521dimensions/amplitudejs/blob/dev/examples/blue-playlist/index.html
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/521dimensions/amplitudejs/issues/186#issuecomment-319788314,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeomaROjWvJ7Lxfh-UCOhhzZS_U9O8lks5sUNujgaJpZM4Onh2S.

@snote did you need any more support with this issue?

Hey Don.
Yes and No.
The sound problem is solved with the swap of the newer amplitude.js. It
works now on all devices,
but I have a new problem. The artworks are not shown anymore.
Do I perhaps have to update an other file to make this work again?
But thanks again for the great support!
snote
Am 17.08.2017 um 23:20 schrieb Dan Pastori:

@snote https://github.com/snote did you need any more support with
this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/521dimensions/amplitudejs/issues/186#issuecomment-323262054,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeomf7lnnNoX6HefcOeJpn7J9K9s-ERks5sZR84gaJpZM4Onh2S.

Try using the latest version of Amplitude (v3.2.1). If you are having issues, just comment and we will re-open the issue for you.


Test Cases T-2 and T-3 Scripts.

Adding the scripts for test cases(Module: "API Key Management"):
NP-T2 Verify the form is titled “Generate API Key”.
NP-T3 Verify The form displays mandatory input fields.
Team, please review and approve 😊

LGTM!


Escaped tracers only in initialization

My f.apply works but f.init has escaped tracers. For a reproduction, see Issues in this notebook
Does this combination of working apply and failing init point to an issue with Haiku? The motivating tfp issue is here

Hi @mattwescott, it looks like inside TFP they are doing a JAX transform (e.g. jit/pmap or similar) and the module you pass in is getting called inside this inner transformation (that is where the tracers are coming from).
Haiku (and other OO JAX libraries) need you to use wrapped versions of JAX transforms if you are using JAX transforms that close over the usage of Modules without explicitly passing state. In Haiku this means inside your hk.transformed function you need to use hk.jit etc if you are wrapping code that makes use of a module.
For modules that only make use of parameters/rng in Haiku (e.g. if you are using hk.transform and not hk.transform_with_state) there is a "trick" you can use to handle these inner JAX transforms, which is making use of the jax.core.eval_context() context manager inside your modules). This will cause values to not be eagerly "staged out" to the inner transform (unless they have been explicitly passed in to it) and will stop parameters becoming (deeper) tracers.
Here is an updated copy of your notebook with the trick applied: https://colab.research.google.com/gist/tomhennigan/94ce417598baeb0b8db703981ea83992/autoregressive_flow_on_jax-ipynb-txt.ipynb. I've wrapped this up as a decorator (run_in_eval_context) to make the delta from your original code small (defining and using the decorator is the only meaningful difference).
The other approach (as you highlighted in the TFP issue) is to transform each Haiku module into a pure function and thread the state yourself.
I hope that's useful for you! We've recently been developing some "guides" for Haiku (e.g. using Haiku with jax2tf) and perhaps we should do the same with TFP to document this.

Thanks @tomhennigan, this was helpful.
In this example, the unroll_loop option on MaskedAutoregressiveFlow is enough to avoid inner transforms in sampling. Your version probably works with more bijector types. Really none of these options is satisfying, maybe I'm missing something. For now will move this over to tensorflow/probability#1176


Image Packaging part 2

Webpack Plugin
This is an optimization plugin that builds a sprite sheet from all of the image assets referenced in a given chunk and outputs a style sheet that contains rules referencing the main sprite sheet and using background position to display only relevant images. In this way production builds that utilize the plugin are able to achieve maximum GPU performance.
:local(.something), :local(.somethingElse) {
  background-image: url(DATA_URI);
}

:local(.something) {
  background-position: X y;
}

This ticket encapsulates efficiently providing  the standard interface for using image assets defined in #38


make request and notication classes customizable

This looks a huge PR, the most significant change is the customizable classes at here. It allows plugin developers to override the default Request and Notification classes if necessary. A potential usage is to honor the extended protocol used by clangd. See also https://github.com/Microsoft/language-server-protocol/issues/255.

Check https://gist.github.com/randy3k/b18ceb94a4daf010528c1d281935cc65 for such a implemented LanguageHandler.

Ambitious change - replacing the standardised APIs behaviour feels like it undermines the idea of LSP (especially as now the custom notification class is responsible for maintaining the "didOpen" implementation in LSP).

I think LSP would be better off exposing a much smaller extension surface
Cquery has less invasive ways of getting flags, as discussed in https://github.com/cquery-project/cquery/issues/486#issuecomment-370171388

Perhaps replacing document metadata is something already under consideration by the clangd developers?

Perhaps replacing document metadata is something already under consideration by the clangd developers?

With a compile_commands.json file at the root of the project, there is no need for sending metadata.

I have switched to cquery and the following project setting solve my problem. As it is not likely that this PR will be merged. I would close it for now.
	"settings":
	{
		"LSP":
		{
			"cquery-r":
			{
				"enabled": true,
				"initializationOptions":
				{
					"cacheDirectory": "/tmp/cquery",
					"extraClangArguments": [
						"-I/Library/Frameworks/R.framework/Headers"
					]
				},
			}
		}
	}


Black

Unify codestyle

Pull Request Test Coverage Report for Build 427

97 of 102 (95.1%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.005%) to 98.881%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

logwrap/_log_wrap.py
26
31
83.87%

Totals

Change from base Build 418:
-0.005%

Covered Lines:
442

Relevant Lines:
447

💛  - Coveralls


Provide default Owners and Organizations in the RepoUrlPicker dropdown

#helpwanted
A solution required to have an option to make Owner in The Repository Picker as default instead of manually adding the Owner.
This is regarding the Software template: https://backstage.io/docs/features/software-templates/writing-templates#the-repository-picker

Hi! Could you explain the use case a bit more? Who / what should the value be, is there some particular logic? This might be solvable with a custom picker component either way, and that could be a good contribution.

@freben , Hi!
The Use case is as follows:
Existing logic for repository location
- title: Choose a location   required:     - repoUrl   properties:     repoUrl:       title: Repository Location       type: string       ui:field: RepoUrlPicker       ui:options:         allowedHosts:           - github.com
RepoUrlPicker will return an object so parameters.repoUrl  as { host: string; owner: string; repo: string }
Output format : { host: string; owner: string; repo: string }
From this output we are able to get the owner and repo details the user has passed.
Requirement
If the user is belonging to an organization the owner remains the same, is there a possibility to default the owner (without hardcoding the owner in the url directly) , rather than making the user to fill the owner details each and every time they use the software template.
An example :
- title: Choose a location   required:     - repoUrl   properties:     repoUrl:       title: Repository Location       type: string       ui:field: RepoUrlPicker       ui:options:         allowedHosts:           - github.com          allowedOwner(or Owners):           - ABC

#8207 is the PR I believe for this ticket.

@benjdlambert I believe what's being asked for is a way to default the owner field.
E.g. If I'm in group "Finance" on Github and I go to and create a new service. The owner field should default to "Finance" so the users don't have to retype that every time.
I spot one issue though - what if you're in multiple groups?
Maybe just pick the first.

So maybe we can leave this open for now to track the work, but I believe the solution here is to use the users oauth token when they are signed in with github etc, to grab the teams or owners then belong to right and automatically add it to the RepoPicker owner part right?

This

So maybe we can leave this open for now to track the work, but I believe the solution here is to use the users oauth token when they are signed in with github etc, to grab the teams or owners then belong to right and automatically add it to the RepoPicker owner part right?

This solution seems to be more dynamic in structure , then on usage of the software template , it is automatically picked up with their sign-in oauth token!

Yep - so we've had this in mind for a while, #8328 is starting the work off that shows how to grab a users token. So hopefully we can build on that and add this feature after. I'd also really like to break apart and refactor the RepoUrlPicker component as it's just growing in complexity and becoming harder to reason about what its going on there too.

We created a custom scaffolder extension for this, but it's a little customized to how we represent our groups. The gist is the same though we have a selector/dropdown that grabs all groups, then we grab the current user's identity and use their group as the default option when selecting an owner
import React, { useCallback, useEffect } from 'react';
import { identityApiRef, useApi } from '@backstage/core-plugin-api';
import {
  catalogApiRef,
  humanizeEntityRef,
} from '@backstage/plugin-catalog-react';
import { parseEntityRef } from '@backstage/catalog-model';
import useAsync from 'react-use/lib/useAsync';
import { FieldProps } from '@rjsf/core';
import {
  createScaffolderFieldExtension,
  scaffolderPlugin,
} from '@backstage/plugin-scaffolder';
import { TextField } from '@material-ui/core';
import FormControl from '@material-ui/core/FormControl';
import Autocomplete from '@material-ui/lab/Autocomplete';

export const DefaultOwnerPicker = (props: FieldProps<string>) => {
  const {
    onChange,
    schema: { title = 'Owner', description = 'The owner of the component' },
    required,
    rawErrors,
    formData,
    idSchema,
  } = props;
  const allowedKinds = ['Group'];
  const defaultKind = 'Group';

  const catalogApi = useApi(catalogApiRef);

  const { value: entities, loading } = useAsync(() =>
    catalogApi.getEntities(
      allowedKinds ? { filter: { kind: allowedKinds } } : undefined,
    ),
  );

  const entityRefs = entities?.items.map(e =>
    humanizeEntityRef(e, { defaultKind }),
  );

  const onSelect = useCallback(
    (_: any, value: string | null) => {
      onChange(value || '');
    },
    [onChange],
  );

  useEffect(() => {
    if (entityRefs?.length === 1) {
      onChange(entityRefs[0]);
    }
  }, [entityRefs, onChange]);

  // get the initial default value for the team
  const identityApi = useApi(identityApiRef);
  useAsync(async () => {
    const identity = await identityApi.getBackstageIdentity();

   // CUSTOM LOGIC THAT GRABS THEIR TEAM TO SET AS DEFAULT
    const userTeam = identity.ownershipEntityRefs.find(ref => {
      const entityRef = parseEntityRef(ref);
      return entityRef?.name.startsWith('team-');
    });

    if (userTeam === undefined) {
      return;
    }

    const entityRef = parseEntityRef(userTeam);

    onChange(entityRef?.name);
  });

  return (
    <FormControl
      margin="normal"
      required={required}
      error={rawErrors?.length > 0 && !formData}
    >
      <Autocomplete
        disabled={entityRefs?.length === 1}
        id={idSchema?.$id}
        value={(formData as string) || ''}
        loading={loading}
        onChange={onSelect}
        options={entityRefs || []}
        autoSelect
        freeSolo={false}
        renderInput={params => (
          <TextField
            {...params}
            label={title}
            margin="normal"
            helperText={description}
            variant="outlined"
            required={required}
            InputProps={params.InputProps}
          />
        )}
      />
    </FormControl>
  );
};

export const DefaultOwnerPickerExtension = scaffolderPlugin.provide(
  createScaffolderFieldExtension({
    name: 'DefaultOwnerPicker',
    component: DefaultOwnerPicker,
  }),
);

Related https://github.com/backstage/backstage/pull/11551

Maybe one for after #10430

Going to use this ticket as a base here for a little more features.
What I think we want to do here is have an @backstage/integrations-backend-plugin that can do a few things, and that plugin will be called by the RepoUrlPicker and other customFieldExtensions to grab the owners and organizations that are available to the user.
If no token is provided from the frontend, then it will use the integrationsConfig for the specified host, (this might include GitHub apps for instance too), or if a token is provided then it will go an grab the owners and orgs that are available to the token for creation.

We are trying the similar implementation using the custom field extensions.
We have 2 custom fields in the template, once user enters some value in the first field we invoke scmAuthApi and pop up the Gitlab auth. After successful auth by user we are trying to grab the token and invoke an api to fetch subgroups belonging to user and load them in another custom field (a dropdown). However, we are not able to call the load the dropdown field with api response. Any suggestions on this one or you have a better approach, please let us know.

@RSG-12 i'm not sure I full understand what the issue is, can you put together an example reproduction or some sample code that explains the problem and what you expect to happen? :pray:


.ci: Fix CRI-O build by installing manually libdevmapper and btrfs

This patch adds some commands to build and install libdevmapper and
btrfs-tools from sources, so that we ensure we get the most recent
version. Indeed, CRI-O needs some pretty recent versions of those
libraries/tools.
Fixes #143

lgtm

lgtm


No Typescript auto completion in Live Share

Describe what happened:
What was your system configuration?
Product and Version [VS/VSCode]: VS Code  1.58.2
OS Version[macOS/Windows]: macOS
Live Share Extension Version: v1.0.4631
Target Platform or Language [e.g. Node.js]:
Steps to Reproduce / Scenario:

Live share a TypeScript project
Notice Initializing JS/TS Language Features and no intelisense.

Please attach logs to this issue:
Archive:  /Users/me/Desktop/AudioHandling.zip
End-of-central-directory signature not found.  Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive.  In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of /Users/me/Desktop/AudioHandling.zip or
/Users/me/Desktop/AudioHandling.zip.zip, and cannot find /Users/me/Desktop/AudioHandling.zip.ZIP, period.
AudioHandling.zip
Screenshots
If applicable, add screenshots to help explain your problem.

Hi @theLMGN ,
I have tried reproducing the issue with a typescript project using Nodejs, but I have not encountered any issues with auto completion or any other intellisense features. Let me know if the issue is resolved on your part or if I am missing any repro step.
Thank you!

Closing this out for now. Please let us know if you're still running into the problem!


Use pyproject-toml

Resolves #247

Replaced Project and BuildSystem structures for those in pyproject-toml-rs
Switched out toml crate for toml_edit due to troubles serializing and deserializing in conjunction with pyproject-toml-rs

It's passing CI?? 😮

It's passing CI?? 😮

No clue what fixed it 😅

I should have time either today or tomorrow to get this merged. Thanks again for helping! :)

Merging! Tysm!


Add Ubuntu 24.04 to tests

And Nginx 1.25.5 (mainline) and 1.26.0 (stable).
Also fix a typo.
PD: Ubuntu-24.04 GH runner is in beta. https://github.com/actions/runner-images/issues/9848

The dev workflow with PHP 8.4 is running OK.
And show a fail with PHP 8.4 to fix.
https://github.com/rryqszq4/ngx-php/actions/runs/9148703767/job/25151526198?pr=189#step:6:663


Build status on poky pyro release

Similar to #443, I have tested bitbake core-image-ros-world -k on the current poky
pyro release with all qemu machines in that yocto release.
The common target-machine independent build configuration is:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal-4.8"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3"
meta
meta-poky
meta-yocto-bsp    = "pyro:f0d128ea0dfc2c403ff53a1ac1db3521854b63d5"
meta-oe
meta-python
meta-multimedia   = "pyro:5e82995148a2844c6f483ae5ddd1438d87ea9fb7"
meta-ros          = "master:b0bf3da6d5543234bda7c87b1ea93f323e8ac469"

There are some errors in the recipes for some of those machines. The individual errors are reported in separate issues. Here, we just collect the list of issues:

qemux86: No build errors.
qemux86-64: sophus fails (#497).
qemuarm: cv-bridge and image-geometry fail due to a common issue with the opencv header (#524).
qemuarm64: No build errors.
qemumips: assimp fails (#526) and mavros fails (#525)
qemumips64: assimp fails (#526)
qemuppc: assimp fails (#526) and mavros fails (#525)

Lately, I tested bitbake core-image-ros-world -k with and without ROS_USE_PYTHON3 = "yes" on some current poky pyro release with all qemu machines in that yocto release.
The common target-machine independent build configuration is:
Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3.1"
meta
meta-poky
meta-yocto-bsp    = "pyro:d9b63154aa74f443bd5d8216670428ccb91a6ca5"
meta-oe
meta-python
meta-multimedia   = "pyro:5e82995148a2844c6f483ae5ddd1438d87ea9fb7"

As testing core-image-ros-world with all qemu machines took some days, the testing was first done without ROS_USE_PYTHON3 = "yes" on this commit, which was the latest commit at the time of testing:
meta-ros          = "master:859f5da5cb2320e67f63f826ec4b07ffd4af83a6"

Then, testing core-image-ros-world with all qemu machines with ROS_USE_PYTHON3 = "yes" was continued on this commit, which incidentally also already resolved an issue with python3 compared to the commit above:
meta-ros          = "master:3ff83184bd16a9ef13660dd5df08687a6c17a458"

All test builds with and without ROS_USE_PYTHON3 = "yes" were successful for all machines except for the qemuarm machine. On qemuarm, there was only one already known build error with cv-bridge and image-geometry, which fail due to a common issue with the opencv header (#524), which has already been resolved on the current master with an recipe update (cf. #524).
The target-machine specific build configurations are:
NATIVELSBSTRING   = "universal-4.8"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "qemux86"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""

NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "qemuarm"
TUNE_FEATURES     = "arm armv5 thumb dsp"
TARGET_FPU        = "soft"

NATIVELSBSTRING   = "universal-4.8"
TARGET_SYS        = "aarch64-poky-linux"
MACHINE           = "qemuarm64"
TUNE_FEATURES     = "aarch64"
TARGET_FPU        = ""

NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "mips-poky-linux"
MACHINE           = "qemumips"
TUNE_FEATURES     = "o32 bigendian fpu-hard mips32r2"
TARGET_FPU        = ""

NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "mips64-poky-linux"
MACHINE           = "qemumips64"
TUNE_FEATURES     = "n64 bigendian fpu-hard"
TARGET_FPU        = ""

NATIVELSBSTRING   = "universal-4.8"
TARGET_SYS        = "powerpc-poky-linux"
MACHINE           = "qemuppc"
TUNE_FEATURES     = "m32 fpu-hard ppc7400 altivec"
TARGET_FPU        = ""

NATIVELSBSTRING   = "universal-4.8"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE           = "qemux86-64"
TUNE_FEATURES     = "m64 core2"
TARGET_FPU        = ""

@bulwahn < I was hoping not to have to support OpenEmbedded releases prior to thud. If this is OK, please close this issue.

"Silence implies consent" (see http://wiki.c2.com/?SilenceImpliesConsent).


Create "Terms & Conditions" Menu Item

Positions:

About
Blog
Terms & Conditions
Contact Us

HD Design here:
https://drive.google.com/open?id=1dmYs_mkl9fwsvjbRUGINaDGVY-43-4ey
For the content, please refer to this other issue:
https://github.com/Alexintosh/DexWallet/issues/87

Added T&C page


brew upgrade for a cask creates a 0-byte file in Applications directory

brew doctor output
Your system is ready to brew

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 4.0.19-24-ge96fd24
ORIGIN: https://github.com/Homebrew/brew
HEAD: e96fd24a7328a4913de2f7c56fd2c97d9aaa4572
Last commit: 5 hours ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 34b732b38991b8b2f26b592d87287ebc77937f19
Core tap last commit: 4 months ago
Core tap branch: master
Core tap JSON: 25 May 15:52 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 10
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 10-core 64-bit arm_firestorm_icestorm
Clang: 14.0.3 build 1403
Git: 2.40.1 => /opt/homebrew/bin/git
Curl: 7.87.0 => /usr/bin/curl
macOS: 13.3.1-arm64
CLT: <IP_ADDRESS>.1.1679647830
Xcode: 14.3
Rosetta 2: false

What were you trying to do (and why)?
Upgrade a cask
What happened (include all command output)?
==> Upgrading 4 outdated packages:
raycast 1.51.3 -> 1.52.0
==> Upgrading raycast
==> Downloading https://releases.raycast.com/releases/1.52.0/download?build=universal
==> Downloading from https://d3jdrrl94b667u.cloudfront.net/Raycast_v1.52.0_71264205ebdf6061183dbe7343efa9de279b19fe_un
############################################################################################################### 100.0%
==> Quitting application 'com.raycast.macos'...
Application 'com.raycast.macos' quit successfully.
==> Backing App 'Raycast.app' up to '/opt/homebrew/Caskroom/raycast/1.51.3/Raycast.app'
==> Removing App '/Applications/Raycast.app'
==> Moving App 'Raycast.app' to '/Applications/Raycast.app'
cp: /Applications/Raycast.app/Contents: Operation not permitted
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents: unable to copy extended attributes to /Applications/Raycast.app/Contents: Operation not permitted
cp: /Applications/Raycast.app/Contents/_CodeSignature: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/_CodeSignature: unable to copy extended attributes to /Applications/Raycast.app/Contents/_CodeSignature: No such file or directory
cp: /Applications/Raycast.app/Contents/_CodeSignature/CodeResources: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/_CodeSignature: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/_CodeSignature: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/_CodeSignature: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/_CodeSignature: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/_CodeSignature: unable to copy ACL to /Applications/Raycast.app/Contents/_CodeSignature: No such file or directory
cp: /Applications/Raycast.app/Contents/MacOS: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/MacOS: unable to copy extended attributes to /Applications/Raycast.app/Contents/MacOS: No such file or directory
cp: /Applications/Raycast.app/Contents/MacOS/Raycast Restart Helper: No such file or directory
cp: /Applications/Raycast.app/Contents/MacOS/Raycast App Uninstall Helper: No such file or directory
cp: /Applications/Raycast.app/Contents/MacOS/Raycast: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/MacOS: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/MacOS: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/MacOS: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/MacOS: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/MacOS: unable to copy ACL to /Applications/Raycast.app/Contents/MacOS: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/Inter-Bold.otf: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/Inter-Regular.otf: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/emoji.json: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/JetBrainsMono-Bold.ttf: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/JetBrainsMono-Italic.ttf: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/AppIcon-Release.icns: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/Inter-SemiBoldItalic.otf: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/JetBrainsMono-Regular.ttf: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/package.json: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/.prettierrc: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/tsconfig.json: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets/icon.png: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/assets: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/.eslintrc.json: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src/index.tsx: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started/src: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/getting-started: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit/.gitignore: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/teams-starter-kit: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin/ray: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/bin: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/hash: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: No such file or directory
cp<EMAIL_ADDRESS>No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/server: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: No such file or directory
cp<EMAIL_ADDRESS>No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/api: No such file or directory
cp: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: unable to copy extended attributes to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: No such file or directory
cp<EMAIL_ADDRESS>No such file or directory
cp<EMAIL_ADDRESS>No such file or directory
cp<EMAIL_ADDRESS>No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.52.0/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: unable to copy ACL to /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast/napi: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast: No such file or directory
cp: chown: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents/Resources/RaycastCommands_RaycastCommands.bundle/Contents/Resources/api/node_modules/@raycast: No such file or directory
cp:
[SNIPPED BECAUSE OUTPUT WAS TOO LONG FOR GITHUB TO ACCEPT THE REQUEST]
cp: /Applications/Raycast.app/Contents/Info.plist: No such file or directory
cp: /Applications/Raycast.app/Contents/PkgInfo: No such file or directory
cp: utimensat: /Applications/Raycast.app/Contents: No such file or directory
cp: chown: /Applications/Raycast.app/Contents: No such file or directory
cp: chmod: /Applications/Raycast.app/Contents: No such file or directory
cp: chflags: /Applications/Raycast.app/Contents: No such file or directory
cp: /opt/homebrew/Caskroom/raycast/1.51.3/Raycast.app/Contents: unable to copy ACL to /Applications/Raycast.app/Contents: Operation not permitted
What did you expect to happen?
Process should upgrade the application and replace it. The only solution is to delete the 0-byte application and then run brew reinstall raycast to create the new version of the application. I have also seen the same behavior with the following casks:

obsidian
stats
visual-studio-code

I thought this might be a temporary bug that would clear itself, but I have been seeing this happen for about a month for these casks. All other casks seem to upgrade fine.
Step-by-step reproduction instructions (by running brew commands)
`brew upgrade raycast`

I have the same problem for a similar amount of time with multiple crates. To me it happened with Firefox, Chrome, Spotify, Raycast and some others. Forcing a reinstall fixed it. If it helps, it looks like it happens to the first crate that brew tries to install after asking for the password

@JBYoshi, do you mind taking a look at this?

This looks like the same issue as https://github.com/Homebrew/homebrew-cask/issues/147383 and https://github.com/Homebrew/homebrew-cask/issues/147789. A fix should be coming in https://github.com/Homebrew/brew/pull/15483, but the workaround in the meantime is to go to System Settings > Security and Privacy > App Management and turn on the switch for your terminal. You can then fix any broken apps using brew reinstall --force --cask <cask name>.

The workaround works, thanks a lot, it was getting really annoying to have to manually fix all the updates 🙏


[2000] Fix flaky spec

Context
Fixed the stubbing of the constant Dttp::CodeSets::AgeRanges::MAPPING in the test. If a trainee is generated with age_range 0-5, then this constant is stubbed with two identical keys.
Changes proposed in this pull request
Guidance to review

 EY - fix flaky spec


Calculate net from gross amount?

We'd like to make sure that all of our customers are billed a fixed amount, regardless of their country. This means we'd need to take the gross subscription cost and calculate the net amount from it. Is there any way to do it or plans to support it? AFAIK, this should be a fairly standard practice in EU - you always display the price with VAT.
Let's say I have a subscription plan that's priced at gross 15€/month, and my business is located in Germany. Since VAT rate in Germany is 19%, the net price would be 15€ - 2,39€ = 12,61€.

Customer is from Germany - price is 15€ (including 19% or 2,39€ VAT)
Customer is from Finland, does not have a VAT number - price is 15€ (including 24% or 2,9€ VAT)
Customer is from outside of EU - price is 12,61€ (VAT is always 0% when exporting)
Customer is from any EU country (except from Germany), and has a valid VAT number - price is 12,61€ (VAT is always 0% in this case)

The above calculations are based on the input we've had from our accountant. They are basically the same as your library already does, with one exception - the base price is a gross price, not a net price. This does, admittedly, make the calculation a bit trickier, but then again is fair and easier to understand for customers.

Hi,
can you tell me how you would want to use this new method?
Something like this?
VatCalculator::calculateNet( 15.00, 'DE') => 12.61

Hi @mpociot - yes, something like that would work very well. However, you would need to know the base country in order to deduct the correct VAT rate in case the customer is outside of EU or has a valid VAT number.
// signature
function calculateNet( $gross, $customerCountry, $sellerCountry, $isCompany ) {
}

// we don't need to set sellerCounrty here, because Finnish VAT will be applied
VatCalculator::calculateNet( 15.00, 'FI' ); // => 12.1

// we need to set sellerCountry here, because german VAT will be deducted from the gross amount
VatCalculator::calculateNet( 15.00, 'FI', 'DE', $isCompany = true ); // => 12.61

// we need to set sellerCountry here, because german VAT will be deducted from the gross amount
VatCalculator::calculateNet( 15.00, 'US', 'DE' ); // => 12.61

This sounds good to me!
Do you have time for a pull request? Otherwise, I can probably add the code + tests in the next few days.

I would also be interested in this. Is it difficult to add?
(Thanks for the great library @mpociot by the way!)

This is now fixed, thanks to @mrk-j and released in version 2.2.0


Run release error on iOs

I've clone example code, in debug mode, everything is ok, but when i run example in releae mode for ios, i've getting an error :
clang: error: no such file or directory: '/Users/MyUser/react-native-twitter-signin/Example/ios/build/Build/Products/Release-iphonesimulator/libRNTwitterSignIn.a'

** BUILD FAILED **

The following build commands failed:
	Ld build/Build/Intermediates.noindex/Example.build/Release-iphonesimulator/Example.build/Objects-normal/x86_64/Example normal x86_64
	Ld build/Build/Intermediates.noindex/Example.build/Release-iphonesimulator/Example.build/Objects-normal/i386/Example normal i386
(2 failures)

Installing build/Build/Products/Release-iphonesimulator/Example.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Failed to install the requested application
The bundle identifier of the application could not be determined.
Ensure that the application's Info.plist contains a value for CFBundleIdentifier.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Release-iphonesimulator/Example.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

How to fix it?

Please check your both of folder  oganization  in Xcode.
・yourproduct.xcodeproj > Libraries folder
・Pods.xcodeproj > Pods folder
If you find RNTwitterSignin.xcpdeproj and TwitterCore & TwitterKit as shown below, this problem is caused by batting between these files.

Delete yourproduct.xcodeproj> Libraries > RNTwitterSignin.xcpdeproj and solve it.
Consideration of cause
RNTwitterSignin.xcodeproj was generated previously when executing the react-native link command.
But if you hit this command from this time, RNTwitterSignin.xcodeproj will not be generated and the following will be added to the Podfile instead.
pod 'react-native-twitter-signin',: path => '../node_modules/react-native-twitter-signin'
This problem is occurring when attempting to access libRNTwitterSignIn.a, which has no new version due to existence of new and old libraries in the environment of people who used react-native-twitter-signin from the previous version.

I got rid of the error by adding RNTwitterSignIn.xcodeproj to Target Dependencies (Your target > Build Phases > Target Dependencies).
In my project I'm using Libraries > RNTwitterSignIn.xcodeproj instead of adding pod 'react-native-twitter-signin',: path....
I found that the library cannot be loaded from react native if it is added via pod.

Any solutions here?
I got same issue on my latest react-native project.

Try to add the RNTwitterSingIn as Target Dependencies inside Build Phases. This should work.

I feel like I have the same issue, but I don't find RNTwitterSingIn in Target Dependencies...


Now you can use latest wlroots :)

Hello, My pullrequest got marged into wlroots related to xcusor.
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4091
The issue is fixed now  for Hyprland.

Just letting know.


Review WGQUALITY recommendations for consist managing of challenges and opportunities within ICES

Updates to how Challenges and opportunites should be managed in DIG:

Continute using Github project to manage challenges and opportunites
label each item with risk or opportunity (most items will be either or but some might be both)
label each item with likelyhood (scale 1-3) and impact (scale 1-3)
Items with a multiplied score of:

1-3 -> minor
4-6 -> medium
7-9 -> major

Yearly update after annual DIG meeting by subgroup


Language picker inaccessibility

Affected page
Language picker in main menu for curriculum.
Discussion
The language picker in the main menu in the curriculum is currently inaccessible to keyboard only users because the change is triggered as soon as you press the down arrow key (which triggers a change event causing the language to be changed immediately). There really is no good way to use a <select> here if you want the change to be triggered without clicking a separate button to initiate the change (this just isn't how selects were intended to operate). You basically have to implement an alternative solution that is accessible to keyboard users.
I have spent the past few days creating an alternative, accessible solution, and am just about ready to submit the PR, but before I do that I can't help thinking that this might be over-complicating the issue and there is a better way. I'd like to suggest that we move the language picker to the user's settings page. If we did that then we could have a button that initiates the change and then we could use a plain old <select> which would reduce the complexity of implementing this functionality considerably. We could still include the language picker in the main menu, but it would just be a link that takes the user to their settings page.

OK, I just discovered that you can actually use the keyboard to force the select list to show all of the options and then arrow to the option you want and hit 'Enter' to select it. (On my computer usng FF it is `Alt+DownArrow). So there is in fact a way to make the language select work as it is now and thus it is technically not inaccessible to keyboard only users.
I think I would still argue that this workaround may not be known to all keyboard users, so having this option on the settings page instead would allow us to make it a little easier for keyboard users to use. But if we are happy with keeping it on the main menu for now then we are good to go for accessibility and all the fun I had implementing a custom language picker was for naught.

Sorry for all the updates, I'm still learning some of this accessibility stuff.
After further investigation, I think the current language picker implementation is actually not technically accessible even though the user can use the "Alt+Arrow" combination to expand the select and choose a language. According to WCAG 3.2.2 On Input:
"Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component."
The "change of context" in this case is changing to a new language. Since we aren't warning the user that the mere act of selecting a language in the select will automatically cause the page to refresh in that language then we are in violation of 3.2.2. Adding a button that says "update language" would remediate this issue because the button is telling the user what will happen as a result of clicking it. The other option here would be to add visible text that tells the user that selecting a language will change the language of the page immediately, which I don't think would fit nicely in the menu.
So I guess I am reinstating by original suggestion that we move the language picker to the settings page and have a link to it in the main menu.

@bbsmooth Thanks for opening the issue, and no need to apologize. I love reading these analyses and I actually have learned a ton from your opened issues and PRs (case in point: this a11y requirement).
Accessibility aspect aside, I think language is not something the user would need to change often, so moving the picker to the Setting page would allow us to preserve some space in the dropdown menu. The Account Settings section seems to be the most appropriate place to add the picker, but @ahmadabdolsaheb is the best person for UI/UX recommendation.
Additionally, we should add the lang attribute to the options to help screen readers announce them properly (I just tested with VoiceOver and it is struggling with Chinese, Ukrainian, and Japanese).

Thanks, for taking the time to debug/research this.
To Stress: Some of the main features of the freeCodeCamp community are:
a) The ability to go through the curriculum without an account
b) The wonderful effort that has gone into making the content accessibility in other languages
So, we have the language setting there, because we want non-signed in Campers (no access to a /settings page) to be able to access the language.

if you want the change to be triggered without clicking a separate button to initiate the change

Personally, I dislike this current behaviour.
My suggestion
The dropdown could appear as though navigating with a mouse, and only upon selection (enter), does the languages get selected, and the page change location.

Sorry, I was under the impression that the language option only showed up in the main menu if you were signed in. I see now that it is always there (my bad). If I had realized this earlier I wouldn't have suggested we move it to the settings page. Seeing as this needs to stay available even when not logged in then yes, it makes sense to keep it in the main menu.

The dropdown could appear as though navigating with a mouse, and only upon selection (enter), does the languages get selected, and the page change location.

This is exactly what my alternative version does. Basically, you have to roll your own custom selection menu so that the change does not trigger until the user hits the Enter button.
The other option would be to pop up a modal for the language picker, which would allow us to use a simple <select> with a <button> to trigger the change. I'm starting to think this might be the better approach because it would make it clear that the language will change immediately when clicking the button (satisfying WCAG 3.2.2) and we could also rely on default browser positioning when the select is expanded rather than having to position it ourselves when there isn't enough height in the view port.

@bbsmooth That all sounds fine to me. Except, I know people are buy-n-large anti-modal.
Is it bad practice to just Jerry-rig a group of input type="radio" for this?

By default, radio buttons aren't intended to trigger a context change by pressing the Enter when they are focused, so I think that would be a big anti-pattern. On the WAI-ARIA best practices example for radio buttons they don't even define functionality for the Enter key. My alternative uses a custom navigation submenu which does specify that the Enter/Space keys activate the menu item. I'm still not convinced this 100% meets WCAG 3.2.2, but it is definitely more accessible than what we currently have.
Modals get a bad rap because they often aren't implemented properly (i.e. accessibly). I can assure you that mine would be as accessible as possible :-) Does FCC currently use any modals? I don't believe I've run into any yet but maybe I'm not looking in the right place?

Does FCC currently use any modals? I don't believe I've run into any yet but maybe I'm not looking in the right place?

Only every time you complete a challenge/project.
Are we talking about different things, when we talk about modals? I mean the "fake page" that pops up taking focus - I dislike them on a usability standpoint, but also mostly because most that I have encountered are ads.

Thanks @bbsmooth for looking into improving the accessibility of the language picker.
We have placed the language picker in the main navigation to increase awareness for our i18n clients  and our  translation efforts.

If we change the "English" in the menu to a button with area "Change Language", it should do the trick?

You are reading my mind. That's exactly what I did (before I even read this).


[QUERY] Azure key vault with manged identities error in console

Hi,
I am using azure key vault with managed identities meaning that my app service is recognized by my azure key vault (access polices in the key vault).
we are using azure-security-keyvault-secrets, azure-identity and it works.
the only thing is we get an error in the console on start when running in eclipse (identify via azure tools) and in Azure:
ERROR com.azure.core.util.logging.ClientLogger [main] Azure Identity => ERROR in EnvironmentCredential: Missing required environment variable AZURE_CLIENT_ID
ERROR com.azure.core.util.logging.ClientLogger [main] IntelliJ Authentication not available. Please log in with Azure Tools for IntelliJ plugin in the IDE.
we use DefaultAzureCredentialBuilder()  to create SecretClient
Why is this not a Bug or a feature Request?
maybe a bug ...
Setup (please complete the following information if applicable):

OS: windows / linux on Azure
IDE :eclipse
Version of the Library used: azure-security-keyvault-secrets: 4.2.2 , azure-identity: 1.2.0

That's possibly expected behavior of DefaultAzureCredential because it tries to find a valid credential from a list of providers, which is a try-and-error process. Since you are using managed identities only, you can just use ManagedIdentityCredential instead:
var secretClient = new SecretClientBuilder()
        .vaultUrl("https://SCTestingVault.vault.azure.net")
        .credential(new ManagedIdentityCredentialBuilder().build())  // Instead of DefaultAzureCredentialBuilder
        .buildClient();

That's possibly expected behavior of DefaultAzureCredential because it tries to find a valid credential from a list of providers, which is a try-and-error process. Since you are using managed identities only, you can just use ManagedIdentityCredential instead:
var secretClient = new SecretClientBuilder()
        .vaultUrl("https://<vault_name>.vault.azure.net")
        .credential(new ManagedIdentityCredentialBuilder().build())  // Instead of DefaultAzureCredentialBuilder
        .buildClient();

@g2vinay could you please follow up?

Hi,
Thanks for the answer, probably  ManagedIdentityCredential  will work in Azure deployment but it does not work locally when I use it inside eclipse so for now I will stay with DefaultAzureCredentialBuilder

@Liave
Yes, this behavior is expected if you've logging enabled and you are using DefaultAzureCredential.
The credential tries a list of credentials underneath, these logging messages just let you know which credential failed and which one worked.
If your app is working fine, there is no need to be concerned with these log messages.

I understand the issue is closed, but I am curious what is the rationale for logging those information as ERRORs and not e.g. INFO or even DEBUG?


Update Adam optimizer to follow pytorch convention for betas parameter (#510)

see #510
Update optimiser to follow pytorch convention (Adam Optimiser) instead of tensorflow, to allow for better integration with other pytorch libraries and frameworks.

Codecov Report

Merging #723 into master will not change coverage.
The diff coverage is 83.33%.

@@           Coverage Diff           @@
##           master     #723   +/-   ##
=======================================
  Coverage   62.22%   62.22%
=======================================
  Files          18       18
  Lines        3979     3979
=======================================
  Hits         2476     2476
  Misses       1503     1503

Impacted Files
Coverage Δ

pytorch_pretrained_bert/optimization.py
74.26% <100%> (ø)
:arrow_up:

pytorch_pretrained_bert/optimization_openai.py
34.84% <66.66%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Ok, can you update the examples that use these optimizers as well?

Ok, can you update the examples that use these optimizers as well?

I had a look at the examples, all seem to use the default values for b1/b2 so there shouldn't be any change required.

Perfect!