agent ssh server starts on ipv6

i have a docker deployment of the agent in a regular ipv4 network and the ssh server starts only on ipv6.
i does not have anything configure for ipv6 and i have set the the PORT variable to <IP_ADDRESS>:45876
╰─λ netstat -tulpn | grep 45876
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::45876                :::*                    LISTEN      -

This obviously means i cant reach my agent.
╰─λ telnet <IP_ADDRESS> 45876
Trying <IP_ADDRESS>...
telnet: connect to address <IP_ADDRESS>: No route to host

Is it somewhat related to the start process?
https://github.com/henrygd/beszel/blob/ec7cb53d935b7d07ed1fbf8fd0893856e75c3981/beszel/internal/agent/server.go#L15

Maybe try <IP_ADDRESS>:45876, or just 45876.
If that doesn't work, please paste your docker compose here.

Thanks for the fast reply.
I have started with the PORT variable set only to 45876 as from the example docker compose file.
Kind of fixed it for now by removing the network_mode: host and using regular port mapping.
This is my docker compose file:
services:
  beszel-agent:
    image: "henrygd/beszel-agent"
    container_name: "beszel-agent"
    restart: unless-stopped
    ports:
      - 45876:45876
#    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      # monitor other disks / partitions by mounting a folder in /extra-filesystems
      # - /mnt/disk1/.beszel:/extra-filesystems/disk1:ro
    environment:
      PORT: <IP_ADDRESS>:45876
      KEY: "XXX"
      # FILESYSTEM: /dev/sda1 # override the root partition /

Any guess whats the problem here? Network monitoring would be nice.

I'm not really sure. This is the first time this behavior has been mentioned. My guess is that it has to do with network configuration on the host machine.
The address:port is passed directly to the gliderlabs/ssh ListenAndServe method, as you found earlier.
That calls net.Listen("tcp", addr) from the standard library. Docs for net.Listen say the following:

For TCP networks, if the host in the address parameter is empty or a literal unspecified IP address, Listen listens on all available unicast and anycast IP addresses of the local system.

You can try the binary to see if you get the same problem. That would at least rule out a Docker issue.

I had something similar:
sudo netstat -tulnp | grep 45876
tcp6       0      0 :::45876                :::*                    LISTEN      49773/agent
But I actually now turned off "host" type... Maybe for me this is different anyways...
I use it like this:
  beszel:
    image: 'henrygd/beszel'
    container_name: 'beszel'
    restart: unless-stopped
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./beszel:/beszel_data
    networks:
      - web
      - internal
    labels:
      - 'traefik.enable=true'
      - 'traefik.docker.network=web'
      - "traefik.http.services.beszel.loadbalancer.server.port=8090"
      - 'traefik.http.routers.beszel.rule=Host(`beszel.domain.my`)'
      - 'traefik.http.routers.beszel.entrypoints=websecure'
      - 'traefik.http.routers.beszel.tls.certresolver=letsencrypt'

  beszel-agent:
    image: "henrygd/beszel-agent"
    container_name: "beszel-agent"
    restart: unless-stopped
    networks:
      - internal
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      PORT: 45876
      KEY: "ssh-ed25519 xyz"
    labels:
      - 'traefik.enable=false'

In beszel itself, I added the agent like this: "beszel-agent" since they are both in the "internal" docker network, the connection between them works.. Before, even with "host" ist was not working.
I'm looking forward when the beszel hub is an agent as well <3
btw... Is there a PayPal where one can show some appreciation?

I'll look into this further. Not sure why it wouldn't listen on both tcp4 and tcp6. Maybe something with Docker networking.
For running on the same system, try adding an extra_hosts property to the hub and using host.docker.internal as the agent's hostname.  That should work with host network mode and allow you to pull in bandwidth stats.
It's explained more in these issues / discussions: #73, #78, #193
I would love to have an agent built into the hub, but it would require you to run the hub in host network mode to get host network metrics. That's a deal breaker for me because it would be much more difficult to connect the hub to other Docker services like reverse proxies.
There's a workaround that requires running an additional tiny helper container that I'll experiment with at some point. You can read more about this here: #140
@christianromeni I do have Buy Me a Coffee page that I plan to link in the docs website when I get that running. I appreciate any support, but it's obviously not required or expected!

First of all, great tool! Really love it!
Regarding this issue, I have the same issue with the latest agent. When using host mode it will only bind to ipv6, even when setting port to <IP_ADDRESS>:45876. When not using host mode it will bind to both ports.

@Sandst4 What OS / architecture / kernel version / docker version are you running? I've tried to replicate without success. Still not sure what would cause this.

I ran Proxmox V8.3.0 on an x86 I5 9500T
Host:

OS: Debian GNU/Linux 12 (bookworm)
Kernel: 6.8.12-4-pve

Guest VM (Docker Host) :

OS Rocky Linux 9.5 (Blue Onyx)
Kernel 5.14.0-503.16.1.el9_5.x86_64

Is it possible that it is somehow related to selinux? I don't know exactly how selinux and docker correlate

For me it happened on one of my hosts which has ubuntu installed with docker (no proxmox or the like);
OS: Ubuntu 20.04.1 LTS (Focal Fossa)
Kernel: 5.4.0-204-generic
Docker version: Docker version 27.4.1, build b9d17ea
Let me know if I can help with anything else!
And for feature requests; would be great if you could edit a hosts information (name, ip, etc) so you don't loose the data when an IP changes.
Thanks!

I played a little and i think it's somehow related to the imo unstable docker host network mode. if you google around you find massive github issues and stackoverflow entries. Maybe im wrong but at this point i dont think it has anything to do with beszel agent it self.
I only tested the ssh part of the project with the dockerfile.
I used a low port number 458 to be on the safe side.
I also updated the dockerfile with tini for the same reason.
Nothing changed.
Here are my example files:
package main

import (
	"log"
	"log/slog"
	"os"
	"strings"

	sshServer "github.com/gliderlabs/ssh"
)

func handleSession(s sshServer.Session) {
	s.Exit(0)
}

func startServer(pubKey []byte, addr string) {
	sshServer.Handle(handleSession)

	slog.Info("Starting SSH server", "address", addr)
	if err := sshServer.ListenAndServe(addr, nil, sshServer.NoPty(),
		sshServer.PublicKeyAuth(func(ctx sshServer.Context, key sshServer.PublicKey) bool {
			allowed, _, _, _, _ := sshServer.ParseAuthorizedKey(pubKey)
			return sshServer.KeysEqual(key, allowed)
		}),
	); err != nil {
		slog.Error("Error starting SSH server", "err", err)
		os.Exit(1)
	}
}

func main() {
	var pubKey []byte
	if pubKeyEnv, exists := os.LookupEnv("KEY"); exists {
		pubKey = []byte(pubKeyEnv)
	} else {
		log.Fatal("KEY environment variable is not set")
	}

	addr := ":458"
	if portEnvVar, exists := os.LookupEnv("PORT"); exists {
		if !strings.Contains(portEnvVar, ":") {
			portEnvVar = ":" + portEnvVar
		}
		addr = portEnvVar
	}

	startServer(pubKey, addr)
}

FROM golang:alpine AS builder

WORKDIR /app

RUN apk add --no-cache tini

COPY go.mod go.sum ./
# RUN go mod download
COPY *.go ./
COPY . .

# Build
ARG TARGETOS TARGETARCH
RUN CGO_ENABLED=0 GOGC=75 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags "-w -s" -o /agent .

ENTRYPOINT ["/sbin/tini", "--", "/agent" ]

docker build -t agent .
docker run -it --rm \
    --name agent \
    --network host \
    -e KEY="<YOUR-KEY>" \
    agent

@MarkusGnigler Good to know, thanks for looking into that!
Unfortunately, host network mode is the only way I've found to access the host's /proc/net/dev. Mounting it doesn't work when using a bridge network.
Maybe I'll just make a tiny standalone container that runs in host mode and provides the content of /proc/net/dev. That way you wouldn't need to run the whole agent in host network mode.

@henrygd with pleasure.
Dont know every details on linux namespaces and respectivly the /proc/net kernel mappings.
Maybe the right namespace permissions are a solution for that?
It exists a docker run flag --security-opt systempaths=unconfined source
I find a test docker command for linux
source
docker run --rm --cap-add=sys_admin --security-opt label:disable -it fedora:rawhide /bin/sh -c 'for dir in $(awk '"'"'/\/proc\// { print $5; }'"'"' /proc/1/mountinfo ); do umount "$dir"; done; /usr/bin/unshare -Ufmp -r /bin/sh -c '"'"'mount --make-private / ; mount -t proc proc /proc ; ls /proc'"'"

If the flag --security-opt systempaths=unconfined works for /proc/net mapping, The network interface troughput should show som values without the betwork mode host, right?

The idea in the Netdata thread is similar to my suggestion above. It needs a separate process with access to /proc/net to copy the contents to /dev/shm. I can make a very tiny docker program to do this.
--security-opt systempaths=unconfined doesn't appear to work unfortunately. To demonstrate the problem, first check the contents of /proc/net/dev on the host:
cat /proc/net/dev

Now check the contents of /proc/net/dev in a container with --security-opt systempaths=unconfined:
# this will be different
docker run --rm --cap-add=sys_admin --security-opt systempaths=unconfined -it fedora:rawhide cat /proc/net/dev

Now check in a container with --net host:
# this should be the same as your host
docker run --rm --net host -it fedora:rawhide cat /proc/net/dev

Frustrating problem. I understand why this is the default behavior, but it would be nice if there was an option to get around it without host network mode.


Clarify debug interceptor log message

The debug interceptor logs the changes to the app-db that resulted from handling
an event. There are two cases without changes to the app-db: one, the effects
resulting from the event don't contain a :db key, and two, there is a :db
key in the effects, but the app-db is the same as before the event.
These two cases had a similar but slightly different log message. However, for
the uninitiated it was practically impossible to determine which of the two
cases described above is given based on the log message.
Improve that by talking about "no changes in" for the first case and about "no
changes resulted from" in the second case.

Thanks @mbertheau this is a good improvement and my apologies for the long delay in me getting to your PRs!


chore: develop -> main

Needs: https://github.com/NibiruChain/go-heartmonitor/pull/270 to pass tests


Unify OpenBSD ztypes; adds arm support

OpenBSD supports go on aarch64, amd64, arm, arm64, armv7, and i386[0].
struct ptmget and PTMGET are defined as [1]
struct ptmget {
	int	cfd;
	int	sfd;
	char	cn[16];
	char	sn[16];
};
#define PTMGET _IOR('t', 1, struct ptmget) /* get ptys */

_IOR is defined as [2]
#define	IOC_OUT		(unsigned long)0x40000000
[...]
#define	_IOC(inout,group,num,len) \
	(inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))
[...]
#define	_IOR(g,n,t)	_IOC(IOC_OUT,	(g), (n), sizeof(t))

The only thing that can vary between architectures is the size of int and on all OpenBSD go arches int is 32 bits.
The GOARCH build constraint is to prevent possibly introducing a tricky to diagnose bug and prod someone to think about if the new arch has 32 bit ints.
0: https://github.com/openbsd/ports/blob/02149e13191e61fde4fa7de89ace05492ca15b6d/infrastructure/mk/arch-defines.mk#L27
1: https://github.com/openbsd/src/blob/3ddf179c951256438053c2d92edb80da28a6c1cd/sys/sys/tty.h#L67-L73
2: https://github.com/openbsd/src/blob/3ddf179c951256438053c2d92edb80da28a6c1cd/sys/sys/ioccom.h#L52-L63

cc @kr, should we reconsider the ztype file generation? IIRC freebsd had a similar case. I am wondering if it wouldn't be easier to just manage types manually instead of adding exceptions.

@phy1729 thank you for the PR and for the detailed links to openbsd to back up the change. I'll try to test it asap with a vm..

cc @kr, should we reconsider the ztype file generation? IIRC freebsd had a similar case. I am wondering if it wouldn't be easier to just manage types manually instead of adding exceptions.

Good question. I don’t have much intuition for which way would be easier in the long run. But I do think that’s the right question to ask.

LGTM, tested without issue.


Libxml rebuild

{package} {version} {:snowflake:}
Destination channel: {Snowflake | defaults}
Links

{ticket_number}
Upstream repository
Upstream changelog/diff
Relevant dependency PRs:

...

Explanation of changes:

...

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_6de7tay8fr/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:92: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:86: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_eagsbt09wn/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_6fp7x2rgyy/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_f1ithwgf11/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_38ishq1q_6/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_fbpqbflkax/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_bcuongj1mg/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_8es22ixtcf/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_71s02hx545/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:30: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:84: invalid_url: https://pdal.io : Not reachable: 403
clone/recipe/meta.yaml:90: invalid_url: https://pdal.io : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found


Rewrite Parser Using Alex and Happy

Resolves issues #8 #12 #25.
By rewriting the parser with Happy and Alex we now have accurate span generation, non-hacky string templates, a formalized grammar, and an overall more extensible parser.
I had to remove the QuickCheck Roundtrip tests. They require a span aware pretty printer which we should work on next.
The Golden Tests are a bit of a mess. It is hard to tell what test covers what language feature. I think we should rewrite them in a more organized way. Should that be included in this PR or a followup?

@solomon-b Presumably the majority of this PR is generated code; can you do a first-pass and just mark off some areas of relevant files that reviewers should take a look at to help us navigating this a bit?

@solomon-b Presumably the majority of this PR is generated code; can you do a first-pass and just mark off some areas of relevant files that reviewers should take a look at to help us navigate this a bit?

Yes I can do that now

@jkachmar I removed the generated Lexer and Parser modules. Cabal can generate them automatically when building the probject and running the repl. I'm assuming this will work when we import the project as a library as well but I'll need to test that before we merge.
This gets rid of all generated code other then golden test results. I can add comments to key areas of change, but this PR represents a pretty significant rewrite of most of Kriti.

Looks fantastic! So much cleaner this way. The only thing I can think of that might be a good addition is some property tests, re. round-trips and evaluation, but that's not a blocker.

Thanks! We used to have round trip tests but I had to remove them because of the introduction of Spans into the lexer. I can bring them back once we have a pretty printer (#7).


Provide better support for embedded views.

Please provide better support for embedded views, historically we have had to use a custom VPP to get around this issue but it would be nice if we could use embedded razor views in a fashion similar to:
namespace MusicStore.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/
        public IActionResult Index()
        {
            return View(GetType(HomeController).Assembly, "MusicStore.Views.Home.Index.cshtml");
        }
    }
}

The VPP workaround has always felt very much a hack. There are various reasons as to why you would want to avoid using a VPP, performance is one, compatibility with 3rd party software is another.
On SO there are many questions asking if this can be done, Eilon himself has responded to a question where someone has asked if this is supported in an older version of the ASP.NET MVC framework:
http://stackoverflow.com/questions/17466155/mvc3-and-virtual-view-without-virtualpathprovider

Have you seen our test \ sample for a site that uses embedded view files - https://github.com/aspnet/Mvc/blob/dev/test/WebSites/RazorEmbeddedViewsWebSite/Startup.cs#L22?

Sorry I completely missed it. However, after looking it appears this issue can be closed. I'll look at the code examples and review the source then create a pull request which includes more examples. Thanks for your help.

And how can I could compile views to resource without Visual Studio and more the one assembly?
options.FileProvider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, "RazorEmbeddedViewsWebSite.EmbeddedResources"); is a single assembly.


app set state cannot transition if app does not call lifecycle.ready

What
app set state cannot transition if app does not call lifecycle.ready
Why
How
How do these changes achieve the goal?
Test
How has this been tested? How can a reviewer test it?
Checklist

[ ] I have self-reviewed this PR
[ ] I have added tests that prove the feature works or the fix is effective

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add items well-known function to Bicep.Decompiler

A follow up on #4456
Contributing a Pull Request
If you haven't already, read the full contribution guide. The guide may have changed since the last time you read it, so please double-check.
Contributing to documentation

[ ] All documentation contributions should be made directly in the Bicep documentation on Microsoft Docs.

Contributing an example
We are integrating the Bicep examples into the Azure QuickStart Templates.  If you'd like to contribute new example .bicep files that showcase abilities of the language, please follow these instructions to add them directly there.  We can still take bug reports and fixes for the existing examples for the time being.

[ ] This is a bug fix for an existing example
[ ] I have resolved all warnings and errors shown by the Bicep VS Code extension
[ ] I have checked that all tests are passing by running dotnet test
[ ] I have consistent casing for all of my identifiers and am using camelCasing unless I have a justification to use another casing style

Contributing a feature

[ ] I have opened a new issue for the proposal, or commented on an existing one, and ensured that the Bicep maintainers are good with the design of the feature being implemented
[ ] I have included "Fixes #{issue_number}" in the PR description, so GitHub can link to the issue and close it when the PR is merged
[ ] I have appropriate test coverage of my new feature

Contributing a snippet

[ ] I have a snippet that is either a single, generic resource or multi resource that uses parent-child syntax

[ ] I have checked that there is not an equivalent snippet already submitted

[ ] I have used camelCasing unless I have a justification to use another casing style

[ ] I have placeholders values that correspond to their property names (e.g. dnsPrefix: 'dnsPrefix'), unless it's a property that MUST be changed or parameterized in order to deploy. In that case, I use 'REQUIRED' e.g. keyData

[ ] I have my symbolic name as the first tab stop ($1) in the snippet. e.g. res-aks-cluster.bicep

[ ] I have a resource name property equal to "name"
e.g.
resource aksCluster 'Microsoft.ContainerService/managedClusters@2021-03-01' = {
  name: 'name'

@stan-sz Would you mind adding an example to https://github.com/Azure/bicep/blob/87f5df3cff76c8ccd5bf056d5e6a20c8cb40c23c/src/Bicep.Decompiler.IntegrationTests/Working/expressions/main.json and running the baseline update script to update https://github.com/Azure/bicep/blob/87f5df3cff76c8ccd5bf056d5e6a20c8cb40c23c/src/Bicep.Decompiler.IntegrationTests/Working/expressions/main.bicep with the result?
That'll just ensure the end-to-end is working, and avoid possible regressions in the future.


Seg Fault

tesseract -v
tesseract 3.05.00dev
leptonica-1.73
libjpeg 8d (libjpeg-turbo 1.3.0) : libpng 1.2.50 : libtiff 4.0.3 : zlib 1.2.8
OpenCL info:
Found 1 platforms.
Platform name: NVIDIA CUDA.
Version: OpenCL 1.1 CUDA 7.0.28.
Found 1 devices.
Device 1 name: GRID K520.
root@ip-172-31-35-3:~# tesseract 1.tiff output
[DS] Profile file not available (tesseract_opencl_profile_devices.dat); performing profiling.
[DS] Device: "GRID K520" (OpenCL) evaluation...
[OD] write binary[kernel-GRID_K520.bin] successfully
[DS] Device: "GRID K520" (OpenCL) evaluated
[DS]          composeRGBPixel: 0.021918 (w=1.2)
[DS]            HistogramRect: 0.008381 (w=2.4)
[DS]       ThresholdRectToPix: 0.010258 (w=4.5)
[DS]        getLineMasksMorph: 0.005291 (w=5.0)
[DS]                    Score: 0.119031
[DS] Device: "(null)" (Native) evaluation...
[DS] Device: "(null)" (Native) evaluated
[DS]          composeRGBPixel: 0.021650 (w=1.2)
[DS]            HistogramRect: 0.072183 (w=2.4)
[DS]       ThresholdRectToPix: 0.041287 (w=4.5)
[DS]        getLineMasksMorph: 0.151936 (w=5.0)
[DS]                    Score: 1.144687
[DS] Scores written to file (tesseract_opencl_profile_devices.dat).


Tips&tricks for decoding of instructions

Hi,
I wanted to know if at the time you designed the specs you thought of some things that would be useful to know for someone that is trying to decode instructions.
To make it clearer, for example, if I want to classify widening instructions there may be common unique bytes in funct6 or something like this. I think that this would make my life easier.
Thanks!!

The instruction table is laid out to help see the patterns.


Font overrides are inconsistent on GitHub.com

Sometimes, font overrides are not working on GitHub. So far, I am having trouble understanding when this will happen and when it won't.
I have removed recursive fonts from my user fonts folder, to make sure that the fonts weren't just being loaded from my system, and now I find that GitHub isn't being overridden, consistently.
This is particularly strange, because wikipedia is being overridden very consistently.
And just now, when I changed tabs to Wikipedia, took a screenshot, and came back, this issue page suddenly gained font overrides (even though they weren't there at first).
Is this something from how GitHub pages are rendered (e.g., maybe React or something is constructing the DOM in a way that the extension doesn't always override)? And then, when I come back to the page, maybe it tries to render again, and works, almost like kicking the machine makes it work? If so, is there any kind of "automatic kicking machine" we might be able to build in? (Credit to ATP for this name and idea).

Closing this in favor of the specific CSP issue.


🐛 [FirebaseAuth] Apple Sign in Method when user already have Microsoft account forcefully changes provider instead of throwing account-exists-with-different-credential

Bug report
We have Microsoft Sign in and Apple Sign in implemented within our app.
I have an Apple ID with the same e-mail as my microsoft Azure AD e-mail.
At first I had created an microsoft account

Then, I tried to log in using Apple sign in using the same e-mail registered with my microsoft account.
with "await FirebaseAuth.instance.signInWithCredential(appleCredential);"
The expected outcome was an exception with the code: "account-exists-with-different-credential"
Since I already had a microsoft account with that e-mail.
Instead, my account was simply changed into an apple provider account, resulting in some unexpected outcomes. Including not being able to access through the microsoft credential anymore.

The Microsoft sign in is made calling the method "signInWithProvider(MicrosoftAuthProvider())" and it works fine and gives the expected outcome: "throws exception with code account-exists-with-different-credential".
Since this bug needs apple authentication and microsoft authentication implemented, its quite hard to provide code to reproduce this behavior.
Let me know if I can help with anything else.
Edit:
When I tried doing the same with an E-mail provider account the result was that the two providers were automatically merged.

Apparently only when the account is based on microsoft provider the microsoft provider gets replaced.

Thanks for the report @vitor-soares-iteam
Can you provide what platform are you seeing this behavior on ? (Android, iOS or web) ?
Can you take a look at the plugin example and use the same scenario and see if using it, you get same behavior or not ?

I tried to log in using Apple sign in using the same e-mail registered with my microsoft account.

This probably could be a reason as the email id is same in your case and could be creating the conflict. Is there a way for you to verify this using different email id, ie, apple and micrsoft with different email ids ?

Hello, @darshankawar . Thanks for the fast reply!
Here are the follow-ups on your questions:

Can you provide what platform are you seeing this behavior on ? (Android, iOS or web) ?

Experiencing this behavior on Flutter when using iOS devices.

Can you take a look at the plugin example and use the same scenario and see if using it, you get same behavior or not ?

The plugin example doesn't implement microsoft sign in nor apple sign in. This can't be tested with the example.

*This probably could be a reason as the email id is same in your case and could be creating the conflict. Is there a way for you to verify this using different email id, ie, apple and micrsoft with different email ids ?

If I use different e-mails, then different accounts would be created successfully. The purpose of this is that I actually expect the conflict to happen, and firebaseAuth plugin is expected to throw an exception with the "account-exists-with-different-credential" code. Which is not happening, firebase is changing the provider of that e-mail from microsoft to apple. (This is an error handling scenario)

Best regards,

Thanks for the feedback.

The plugin example doesn't implement microsoft sign in nor apple sign in. This can't be tested with the example.

It does have both sign-in implementations as you can see below:
https://github.com/firebase/flutterfire/blob/6380a278812d2b046e59376a64df92210397282d/packages/firebase_auth/firebase_auth/example/lib/auth.dart#L105
https://github.com/firebase/flutterfire/blob/6380a278812d2b046e59376a64df92210397282d/packages/firebase_auth/firebase_auth/example/lib/auth.dart#L96
I unfortunately don't have MS and Apple accounts with same email id, so can't recreate / replicate this behavior myself. With different emails though, it works as expected.
I am keeping this issue open for team's attention and insights on expected behavior.

/cc @Lyokone

@darshankawar thans for linking the file of the correct example. I was looking the one on pub.dev page. Sorry.
Anyway, I've tested with the same implementation from the example:
      final appleProvider = AppleAuthProvider();
      appleProvider.addScope('email');
      UserCredential credential = await FirebaseAuth.instance.signInWithProvider(appleProvider);

This approach has the same problem ( Previous Microsoft account gets replaced with apple provider) and it also doesn't return the user name and family name.
The approach I'm currently using is:
       final AuthorizationResult result = await TheAppleSignIn.performRequests([
         AppleIdRequest(requestedScopes: [Scope.email, Scope.fullName])
       ]);
       final appleIdCredential = result.credential;
       final AuthCredential appleCredential = OAuthProvider('apple.com').credential(
         accessToken: String.fromCharCodes(appleIdCredential!.authorizationCode!),
         idToken: String.fromCharCodes(appleIdCredential.identityToken!),
       );
      UserCredential credential = await FirebaseAuth.instance.signInWithCredential(appleCredential);

With the second approach I have access to attributes called "givenName" and "familyName".
Notice the example implementation calls signInWithProvider, and the implementation I'm currently using calls signInWithCredential.
But anyways, the problem reported about the Apple provider replacing Microsoft provider happened on both implementations.
Hope this information helps a bit.
Best regards,


Górowo Iławeckie High School

Institution/School Name
Liceum Ogólnokształcące w Górowie Iławeckim
Instiution/School Website
https://zsgorowoil.edupage.org/
Email Users
Please place an x between the square brackets if yes

[x ] Students
[ x] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[ ] Post-graduate research
[ ] Graduate School
[ ] College (University) or Undergraduate School or equivalent
[ ] Community College or equivalent
[ x] High School or equivalent
[ ] Elementary School or equivalent

@Snowyy4K Thank you for your patience while waiting for a review and processing your request. Pull request merged.


new repository for debian stretch

repository change to https://apt-archive.postgresql.org/pub/repos/apt
https://www.postgresql.org/message-id/Y2kmqL%2BpCuSZiQBV%40msg.df7cb.de

I don't think this fix belongs on this module. Instead, using this: https://github.com/BrandwatchLtd/puppetserver-environments/pull/6362 solves the same problem without changes to the module. This is one example of why hiera and lsbdistcodename is useful. Please do not merge this.

Closing as this was solved already in hiera.


nfs: add service account while deploying nfs pod

Problem:

On openshift need to add securitycontextconstraint with serviceaccount
to allow creation of NFS pods just like CSI pods

Implementation:

Add a method to create service account in namespace where we deploy NFS PVC/Pod.
cleanup method names as we don't need to export k8s specific methods outside of flavor package.

Testing: added unit tests, tested on both OCP and K8s to verify service account, NFS pod deployment.
Review: gcostea, rkumar
Signed-off-by: Shiva Krishna, Merla<EMAIL_ADDRESS>

lgtm. you would be adding ClusterRole rules to perform CRUD on serviceAccounts in yaml or would that be handled only via operator?
yes, need to update yaml/templates to get/create service account as well.


ADS: Navigational Icons

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #2668

PR #2700   👈
PR #2678
PR #2697
PR #2682
PR #2677
PR #2666

PR #2667
PR #2671

PR #2687
PR #2674

This comment was auto-generated by Graphite.


"newListener" event not supported?

This API doesn't seem to be supported, why?

From the documentation:

The newListener event is removed as the use-cases for this functionality are really just edge cases.

Argh!
How you would otherwise know if an event was added or removed? Thats the main tool to act invents being added IMO

I guess it depends on the use case but the listeners method can be used:
ee.listeners('foo', true);
// => `true` if there are listeners for the `foo` event, `false` otherwise.

ee.listeners('foo').includes(fn);
// => `true` if `fn` is a listener of the`foo` event, `false` otherwise.

Sure, but if i'm waiting for a specific event to be added, than i would need to run this in a interval.
I switched to nodes default eventEmitter. Thanks anyway.

Ok, yes in that case the newListener event makes sense. It shouldn't be hard to support this but I'm not sure if we want to add the feature.

Here is a simple use case for supporting a 'newListener' event.  I personally do not think tit would be hard to support this event as it can be very useful.
I have a client that receives updates from the server via a WebSocket that modifies a state object and then emits an 'update' event.  When a subscriber subscribes to the 'update' event, I would like my client to send it the current state object, and not wait until the next server message arrives that could be many minutes.
To get around this, I either have to:

update my subscriber to call client.getData() before (or after?) it subscribes to the 'update' event
change my Client class that extends EE to override the 'on' method  to send the latest data to the subscriber if event is 'update'

Is this a fringe case?  I'd rather EE have a newListener event so my Client's ctor can just:
this.on('newListener', (event, listener) => {
  if (event === 'update') listener(this.data)
})

update my subscriber to call client.getData() before (or after?) it subscribes to the 'update' event

That seems reasonable to me. If I understand correctly, that's what you would do in the newListener listener anyway. So why not calling the update listener manually, one time, before adding it as a listener of the update event?

Maybe someone can fork your project with this feature and call it EventEmitter4 - "ours is faster than Node and has 'newListener' support!!!" lolz

FYI there is already and EventEmitter4 so it could be EventEmitter5 and that someone could be you 😄.

Lol, I created my first package EventEmitter5.  It was surprisingly easy. :)
The description is "For anyone thinking of creating an EventEmitter5 - no,
just no."
On Fri, Sep 23, 2016 at 4:16 PM, Luigi Pinca<EMAIL_ADDRESS>wrote:

update my subscriber to call client.getData() before (or after?) it
subscribes to the 'update' event

That seems reasonable to me. If I understand correctly, that's what you
would do in the newListener listener anyway. So why not calling the update
listener manually, one time, before adding it as a listener of the update
event?
Maybe someone can fork your project with this feature and call it
EventEmitter4 - "ours is faster than Node and has 'newListener' support!!!"
lolz
FYI there is already and EventEmitter4 so it could be EventEmitter5 and
that someone could be you 😄.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/primus/eventemitter3/issues/50#issuecomment-249111706,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABqQY116GCm7FIvr007EAMm--CtxVL03ks5qs263gaJpZM4Hi-1K
.

I think this claim from the README should be dropped then
It's a drop in replacement for existing EventEmitters

because this package is simply NOT a drop in replacement for existing EventEmitters


Cache compiled map in build structure

We have two core commands, lintUnused and ~, that have relied on generating the CompiledMap from the project structure. Generating that map takes about 4 seconds on my computer in the sbt project which manifests as a four second pause in the build loading (due to the lintUnused slowdown) or starting a watch with ~. To eliminate this pause, we can cache the CompiledMap that is generated during project loading in the BuildStructure. The only obvious drawback I can think to this approach is that we will be keeping that CompiledMap in memory but I am somewhat skeptical that that will substantially increase the memory overhead of sbt.

I rebased this branch and need a re-approval.

Thanks @dwijnand!


Tone.Transport and Safari 12.0

I do most of my development in Chrome and test periodically in Safari.  I discovered today that there may be a problem with Tone.js r12 and Safari 12.0.  All my code that relies on Tone.Transport works just as it should in Chrome, but now fails completely in Safari...it's as if the transport doesn't respond to Tone.Transport.start().  I just tried the Tone.js Sequencing/Timing examples.  Step Sequencer, Events, Playback Rate, and Transport Sync don't work in Safari 12 either.
Peter

Did you test if Tone.context.state === 'running'? before the Transport is started? it may be related to additional autoplay restrictions which Safari introduced in 12.0

When I tested Tone.context.state it reported “suspended”.  As you suspected, it wasn’t working correctly because of the autoplay restriction and enabling auto-play fixes it, thankfully.  I’d missed the boat on that.    Unfortunately, the ramifications of the autoplay restriction are kind of frightening for the music ed applications I’m developing.
Thanks for the quick reply.
Peter
On Oct 10, 2018, at 4:07 PM, Yotam Mann <notifications<EMAIL_ADDRESS>wrote:
Did you test if Tone.context.state === 'running'? before the Transport is started? it may be related to additional autoplay restrictions which Safari introduced in 12.0
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Tonejs/Tone.js/issues/395#issuecomment-428732232, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGH4LDWKLkcdKsPclxM0eRw3VVJIrbmZks5ujmGigaJpZM4XWKxC.

i agree, changes in autoplay have been hard to design around for many web audio applications. i started a little project which tries to help with some of the issues:
https://github.com/Tonejs/unmute

Thanks for that!  I guess this whole auto-play thing is sort of a moving target right now regardless of browser, isn’t it?
On Oct 10, 2018, at 4:43 PM, Yotam Mann <notifications<EMAIL_ADDRESS>wrote:
i agree, changes in autoplay have been hard to design around for many web audio applications. i started a little project which tries to help with some of the issues:
https://github.com/Tonejs/unmute
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Tonejs/Tone.js/issues/395#issuecomment-428743380, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGH4LLmOND7cLE3De5gv8331vd9iQzXdks5ujmnygaJpZM4XWKxC.


Named Entity Recognition + Valence Tests

Pull Request Template:
If you are merging in a feature or other major change, use this template to check your pull request!
Basic Info
What's this pull request about?

Tests for NER and valence. NER tests are a modified unit test, checking correct NUMBER of named entities, along with correct named entities themselves. Has it's own test dataset called 'test_named_entity.csv'. Performed valence testing as well using perturbation framework. For a given positive/negative sentence, have generated a corresponding INV and DIR perturbed sentence. Test checks to see if the magnitude of the DIR change is greater than the magnitude of the INV change. Has it's own test dataset called test_chat_level_complex.csv. We can input more tests that operated with the perturbation framework at the chat level in this csv.

Feature Documentation
Did you document your feature? Make sure you do the following before you pull request!

[ ] Copy the Template. Go to the Feature Wiki and Copy/Paste the Feature Template into a new page.
[ ] Fill out the Template. Fill out the basic information for the feature in the template. Use the template to document your plan for implementation and major design decisions; if anything changes along the way, update the documentation as you go.
[ ] At the top of my feature, I indicate whether the feature is conversation level or chat level.

Code Basics

[ ] My feature is a .py file.
[ ] My feature uses snake case in the name. That means the name of the format is my_feature, NOT myFeature (camel case).
[ ] My feature has the name, NAME_features.py, where NAME is the name of my feature.
[ ] My feature is located in feature_engine/features.

Testing

[ ] I have thought about test cases for my features, with inputs and expected outputs.
[ ] I have linked to a location (e.g., .py or .ipynb) where I can run my test cases and show they work (inputs match expected outputs).

The location of my tests are here:

[PASTE LINK HERE]

If you check all the boxes above, then you ready to merge!

I notice that not all the NER tests pass --- but this is because the feature isn't perfect! Would it be possible to run the feature on the full test dataset in order to get metrics (e.g., precision/recall), but then only run the test on a subset of the NER features that we know are supposed to work? That way, we won't have all the tests return as 'failing' ...

Changes made:

assign_chunk_nums: removed temporal parameters
get_all_DD_features: removed temporal parameters from assign_chunk_nums call
burstiness: use wait_times starting at positions 1 (omitted first value), and ensuring time_diff parsing works for both timedelta (when passing in a datetime timstamp) and float (when passing in a unixtime or integer timestamp) objects.
fflow: cosine similarity --> cosine distance
tests for valence + NER + discursive diversity + variance in DD + incongruent modulation + within person discursive range + forward flow + team burstiness (across 3 different timestamps)


Share email draft

@studna - I added the remaining pieces for the mail here, let me know if you think any pieces are missing but pretty much copied from your service in the old repo. Will need to tweak the templates with the final version still but this should let us integrate at least.


Feat: Organization Page management and integration

Changes look good, just need to fix the conflicts.

thanks for the review, conflicts are resolved.


Remove duplicate logic

I signed it!

@devunwired Should I close this?

Will commit again with current e-mail address.

Oh, I commented before seeing your last comment. Feel free to reopen or resubmit considering my review comment.


PrepareWebSocketClient and GetProxyOptions options.

We need to modify the headers and the target url of the websocket connection request, but depending on the request the headers and the target url could be different.
With this PR the headers can then be changed with PrepareWebSocketClient (which works similar to PrepareRequest for normal http requests). But the target url can't be set on the ClientWebSocket. Thats why I changed the fixed ProxyOptions in the RunProxy method to a function in the SharedProxyOptions which gets the HttpRequest and returns the ProxyOptions for each request.

I can't build the tests and samples, I get the following error: "The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1."
Any help how I can solve that, so that I can fix the tests and samples? I searched for a .NET SDK 2.1 preview download, but couldn't find one.

@saithis run the build script, it installs things. Then you need to add the %userprofile%.dotnet to your path (in front of the program files location) to make visual studio work.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: saithis sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@davidfowl Thanks :) Visual Studio still doesn't work, but at least I could check my code with the buildscript. I hope the tests succeed now.

@mkosieradzki because the destinationUri must be provided in await client.ConnectAsync(destinationUri, context.RequestAborted);
How would I do that with PrepareWebSocketClient?
Change PrepareWebSocketClient to also optionally return a destinationUri? But that would seem awkward to me.
If you have a good idea, I'll change it.

@saithis check for conditions (e.g. MapWhen) in the middleware pipeline then run RunProxy with a proper destination url.
I understand that you want to use PrepareWebSocketClient to setup some advanced web socket client options - not the url.
If you can't get it working, I will have a look in couple of days.

Please forgive me if I am missing something (I am typing from mobile phone), but dynamic routing scenario should be handled by #46 and AFAIR you should be able to use HttpContext.ProxyRequest extension method in your dynamic url scenario.

Maybe a bit more about my usecase, because i think MapWhen doesn't work for it:
We have a database with webapps, customers and subdomains. Every customer will have a subdomain resolving to the proxy. Every new version release of our product gets deployed as a new webapp and is inserted in this database. Now when our customer wants to use this new version, he clicks a button and the proxy should automatically switch all following requests to the api with the new version. Also the proxy adds some headers to every request, so the api knows to which customer the request belongs.
We have a prototype working for this, but now we wanted to add SingalR to it and couldn't do it with the code from the current dev branch. With the changes in this PR we got it mostly working. Only missing part is now how to switch the websocket over to the new api version.
As far as I know, we couldn't dynamically add/remove/change customers and apis when using MapWhen. Or am I wrong there?

I understand that you want to use PrepareWebSocketClient to setup some advanced web socket client options - not the url.

I only want to set headers and the url, nothing else. But the headers and url can be different for the requests and can change all the time (they are decided depending on the entries in out database)

Please forgive me if I am missing something (I am typing from mobile phone), but dynamic routing scenario should be handled by #46 and AFAIR you should be able to use HttpContext.ProxyRequest extension method in your dynamic url scenario.

Yes I probably could write my own middleware and use HttpContext.ProxyRequest, I just thought this code would be helpful for more people, as some had already askey for this. With #46 you have to provide dummy ProxyOptions and then override the destination in PrepareRequest, which works, but isn't that nice.

Yup, I get the dynamic routing point and this is basically why I have created #46. In that case IMO you should use ProxyRequest and no:

you don't need to create a middleware as ProxyRequest just works with any kind of inline middleware like .Use
you don't have to provide dumny ProxyOptions as ProxyRequest does not even take ProxyOptions

Yeah, I meant to "create" a inline middleware like .Use :)
Should I change the PR to only add PrepareWebSocketClient then? (If yes, would a new, clean PR be better?)

I am presenting only my personal opinion. As the ProxyRequest API is actually undocumented and very often missed. And IMO existence of this API might have some influence on further API changes.
I cannot speak in the name of team.

@mkosieradzki I think you may be right. Writing my own (inline) middleware is probably the better solution than GetProxyOptions. I'll make a new PR with only the PrepareWebSocketClient option. This PR can then be closed/rejected.


Upgrade Node.js to version 18+

Now the minimum version of Debian installed by default is already V18.x, and I hope the Node.js version of Redash can be updated.

Hmmm, I kind of remember Arik saying 18 has problems.  No idea of the details though.  It might just be a dependency thing, so could become "not a problem" once we've upgraded things a bit.
Really not sure though.

Upgrading will not bring substantial effect, and may cause instability. Upgrading is not recommended for the time being.

When I was deploying on Vercel today, I encountered this issue. I think it is necessary to open this issue.
Error: Node.js version 16.x has reached End-of-Life. Deployments created on or after 2023-08-15 will fail to build. Please set "engines": { "node": "18.x" } in your `package.json` file to use Node.js 18.

Ouch :frowning:

Ugh.  I'm not sure why libraries are dropping support for Python 3.8 when it's not End of Life yet, and won't be until the end of next year:
https://devguide.python.org/versions/

I mean to give up on Python 3.7 and switch to Python 3.8.

Yeah, Python 3.7's official End of Life is in... 6 days. :smile:

There is such a repository from 3.10 https://github.com/Dingolytics/redash-wild-server

Cool.  That's a very interesting repository @konnectr. :smile:


How to generate embed token from Azure AD token

I have already generated AD token and tried Implementing Row Level Security but it didn't work. I actually wanted to implement RLS is it necessary to use embed token to implement RLS? How to generate embed token from AD access token?

Thanks for posting – note that we can only answer feedback related to the documentation, and can’t provide direct support or respond feature requests.
Your best venue for getting an answer or feedback on your question is from the community (https://community.powerbi.com) or from support at https://support.powerbi.com. You can also provide feedback using the Give Product Feedback button at the bottom of the article page.


Quick bugfix for old variables

Quick bugfix for old variables
Fixes

Fixed old variables removed from cf-core

Testing

run npm run cf-link in this repo.
run npm run cf-link && npm link cf-typography in the sandbox.
run npm run build and there should be zero errors.

Review

@Scotchester
@KimberlyMunoz
@contolini

Notes

Didn't bother with updating the link script in the sandbox at this time

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the front end playbook
[x] Passes all existing automated tests
[x] New functions include new tests
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged
[x] Visually tested in supported browsers and devices
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

:+1:

Skipping the bot since this is a bugfix and we've agreed on single sign-off for this repo.


Error while running mvn gcloud:deploy

What steps will reproduce the problem?
I'm following the tutorial created  by google in order to understand the use of manged VMs using java.
Here is the link: https://github.com/GoogleCloudPlatform/appengine-java-vm-guestbook-extras
At stage 1 I'm trying to deploy a sample guestBook app which use  java  libraries that don't run on App Engine. When I use the command mvn gcloud:deploy it told me that the build end with failure and that there is an import error which is : No module named googlecloudsdk.core.util.
What is the expected output? What do you see instead?
I expected the application to be deployed on manged VMs successfully.
Instead I'm seeing this
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building guestbook-stage1 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> gcloud-maven-plugin:<IP_ADDRESS>.v20151008:deploy (default-cli) > package @ guestbook-stage1 >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ guestbook-stage1 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Owner\Documents\code\git\google\stage1\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ guestbook-stage1 ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ guestbook-stage1 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Owner\Documents\code\git\google\stage1\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ guestbook-stage1 ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ guestbook-stage1 ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) @ guestbook-stage1 ---
[INFO] Packaging webapp
[INFO] Assembling webapp [guestbook-stage1] in [C:\Users\Owner\Documents\code\git\google\stage1\target\guestbook-stage1-1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\Users\Owner\Documents\code\git\google\stage1\src\main\webapp]
[INFO] Webapp assembled in [145 msecs]
[INFO] Building war: C:\Users\Owner\Documents\code\git\google\stage1\target\guestbook-stage1-1.0-SNAPSHOT.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] <<< gcloud-maven-plugin:<IP_ADDRESS>.v20151008:deploy (default-cli) < package @ guestbook-stage1 <<<
[INFO]
[INFO] --- gcloud-maven-plugin:<IP_ADDRESS>.v20151008:deploy (default-cli) @ guestbook-stage1 ---
[INFO] Creating staging directory in: C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging
[INFO] Running appcfg --enable_quickstart --disable_update_check -A notused stage C:\Users\Owner\Documents\code\git\google\stage1\target/guestbook-stage1-1.0-SNAPSHOT C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging
Reading application configuration data...
Beginning interaction for module default...
Success.
Temporary staging for module default directory left in C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging
[INFO] Running gcloud app deploy...
[INFO] Running python.exe -S C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/lib/googlecloudsdk/gcloud/gcloud.py --quiet preview app deploy C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging/app.yaml C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging/index.yaml
[INFO] Traceback (most recent call last):
[INFO]   File "C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/lib/googlecloudsdk/gcloud/gcloud.py", line 80, in
[INFO]     _DoStartupChecks()
[INFO]   File "C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/lib/googlecloudsdk/gcloud/gcloud.py", line 72, in _DoStartupChecks
[INFO]     from googlecloudsdk.core.util import platforms
[INFO] ImportError: No module named googlecloudsdk.core.util
[ERROR] Error: gcloud app command with exit code : 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.984 s
[INFO] Finished at: 2015-10-29T23:24:50-04:00
[INFO] Final Memory: 16M/222M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.google.appengine:gcloud-maven-plugin:<IP_ADDRESS>.v20151008:deploy (default-cli) on project guestbook-stage1: Error: gcloud app command exit code is: 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
What is the output of 'gcloud info'?
Google Cloud SDK [0.9.84]
Platform: [Windows, x86_64]
Python Version: [2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)]]
Site Packages: [Disabled]
Installation Root: [C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk]
Installed Components:
core: [2015.10.23]
app-engine-python: [1.9.27]
bq-win: [2.0.18]
core-win: [2015.10.16]
app: [2015.10.23]
gcloud: [2015.10.23]
windows-ssh-tools: [2015.09.21]
beta: [2015.10.08]
gsutil: [4.15]
bq: [2.0.18]
app-engine-java: [1.9.27]
gsutil-win: [4.15]
System PATH: [C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin..\bin\sdk;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\Java\jdk1.7.0_79\bin;C:\Program Files\apache-maven-3.3.3\bin;C:\Program Files (x86)\Skype\Phone;C:\Python27;C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin;;]
Cloud SDK on PATH: [True]
Installation Properties: [C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\properties]
User Config Directory: [C:\Users\Owner\AppData\Roaming\gcloud]
User Properties: [C:\Users\Owner\AppData\Roaming\gcloud\properties]
Current Workspace: [None]
Workspace Config Directory: [None]
Workspace Properties: [None]
Account<EMAIL_ADDRESS>Project: [xxxxx]
Current Properties:
[core]
project: [xxxxx]
account<EMAIL_ADDRESS>disable_usage_reporting: [False]
[app]
use_appengine_api: [True]
[compute]
region: [us-central1]
zone: [us-central1-f]
Logs Directory: [C:\Users\Owner\AppData\Roaming\gcloud\logs]
Last Log File: [C:\Users\Owner\AppData\Roaming\gcloud\logs\2015.10.31\<IP_ADDRESS>7000.log]
Please provide any additional information below.
I using windows 7, maven 3.3.3
I've followed the exact steps describe in the tutorial. (I've read the tutorial multiple times)
I have to add that the command "mvn gcloud:run" works perfectly, only after I have updated the java component for appengine using the command "gcloud components update app-engine-java". But for some reason the command "mvn gcloud:deploy" has always  given me the same error.
Any help will be extremely appreciated, I've been trying to solve this for days

It seems you are using version :<IP_ADDRESS>.v20151008 of the maven plugin.
Can you move to <IP_ADDRESS>.v20151031?

I've move it but I am getting the same error
output
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building guestbook-stage1 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> gcloud-maven-plugin:<IP_ADDRESS>.v20151031:deploy (default-cli) > package @ guestbook-stage1 >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ guestbook-stage1 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Owner\Documents\code\git\google\stage1\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ guestbook-stage1 ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ guestbook-stage1 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Owner\Documents\code\git\google\stage1\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ guestbook-stage1 ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ guestbook-stage1 ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) @ guestbook-stage1 ---
[INFO] Packaging webapp
[INFO] Assembling webapp [guestbook-stage1] in [C:\Users\Owner\Documents\code\git\google\stage1\target\guestbook-stage1-1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\Users\Owner\Documents\code\git\google\stage1\src\main\webapp]
[INFO] Webapp assembled in [113 msecs]
[INFO] Building war: C:\Users\Owner\Documents\code\git\google\stage1\target\guestbook-stage1-1.0-SNAPSHOT.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] <<< gcloud-maven-plugin:<IP_ADDRESS>.v20151031:deploy (default-cli) < package @ guestbook-stage1 <<<
[INFO]
[INFO] --- gcloud-maven-plugin:<IP_ADDRESS>.v20151031:deploy (default-cli) @ guestbook-stage1 ---
[INFO] Creating staging directory in: C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging
[INFO] Running appcfg --enable_quickstart --disable_update_check -A notused stage C:\Users\Owner\Documents\code\git\google\stage1\target/guestbook-stage1-1.0-SNAPSHOT C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging
Reading application configuration data...
Beginning interaction for module default...
Success.
Temporary staging for module default directory left in C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging
[INFO] Running gcloud app deploy...
[INFO] Running python.exe -S C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/lib/googlecloudsdk/gcloud/gcloud.py --quiet preview app deploy C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging/app.yaml C:\Users\Owner\Documents\code\git\google\stage1\target\appengine-staging/index.yaml
[INFO] Traceback (most recent call last):
[INFO]   File "C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/lib/googlecloudsdk/gcloud/gcloud.py", line 80, in
[INFO]     _DoStartupChecks()
[INFO]   File "C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/lib/googlecloudsdk/gcloud/gcloud.py", line 72, in _DoStartupChecks
[INFO]     from googlecloudsdk.core.util import platforms
[INFO] ImportError: No module named googlecloudsdk.core.util
[ERROR] Error: gcloud app command with exit code : 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.745 s
[INFO] Finished at: 2015-11-04T22:41:41-05:00
[INFO] Final Memory: 16M/222M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.google.appengine:gcloud-maven-plugin:<IP_ADDRESS>.v20151031:deploy (default-cli) on project guestbook-stage1: Error: gcloud app command exit code is: 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException


How to package boto3 into Layer?

Hello,
I have really been enjoying this library and have used it to run many different binaries, including aws cli.  Now I want to use boto3 SDK instead of aws cli as I find it is much slower on the Lambda than expected, and you suggested other SDK's may be faster.  I tried simply downloading the boto3 and botocore packages and adding them into the "bin" directory so that the folder in my .zip was structured as so:
new-lambda-layer
├── bin
├── bootstrap
but when I run the lambda it still says it cannot find the package:
ImportError: No module named boto3
Any ideas where I am going wrong?
Thank you in advance!

Hello,
Perhaps you are misunderstanding. Boto3 is the AWS SDK for Python. It can't be used with this layer (at least in an easy, sane way). To use Boto3 you should use the Python runtime in Lambda.
If you really wanted to use Boto3 with this bash layer (which I wouldn't recommend), I would start here and see if this helps:
https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

Hi @gkrizek ,
I understand that boto3 is the Python AWS SDK, but I would like to have access to it so that I can call python scripts from my bash function.
I have packaged lambdas with python many a time, but this time I am hoping to use a combination of bash and python scripts for my function as each has their strengths and weaknesses.
I understand this could get a little hairy, but I have found your bash layer really useful so if you have any advice on how to accomplish this it would be very much appreciated.
Thanks,
Peter

Ok, I understand. Well I would still start with the above link and see how that works.
Python doesn't know to look in the bin/ directory for pip packages. So maybe you could try to add that directory to the python path. like export PYTHONPATH="$PYTHONPATH:/var/task/bin:/opt/bin" or something similar.

It seems that there is no $PYTHONPATH env variable in AWS Lambda.  Do you have any other ideas?

Can you post some example code so I can see what you’ve tried. Is Python even present in the Lambda environment at all. It’s not included in my layer so I’m not sure it’s even there

So for instance, in my handler I will invoke a python script like so:
function handler () {     echo "Python test"     which python     echo $PATH     PYTHONPATH="/var/task/bin:/opt/bin"     python test.py
This part actually is fine, python must be included on the machine by default or something.
But when I try to import the boto3 module in the script itself:
`
import sys
import boto3
print('Hello from python!')
s3 = boto3.client('s3')
response = s3.get_object(Bucket=bucket, Key=key)
print("CONTENT TYPE: " + response['ContentType'])
`
It fails on the second import with this error:
"Traceback (most recent call last):\n  File \"test.py\", line 2, in <module>\n    import boto3\nImportError: No module named boto3"

Ok, makes sense. I guess they still include Python in the environment. I'm not sure which version.
So I would still direct you to this article on creating deployment packages:
https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
I would think this still applies even without using the Python runtime. You should install your dependencies in your code artifact and upload them to Lambda in your code. Then it should be able to find the boto3 module I would think.
Putting boto3 in the bin/ directory won't work because Python doesn't look there.


[TASK] Find a way to show that a JAR file has been imported

Currently, to use a Java class as a source or target in AtlasMap, the user must first import a JAR using the AtlasMap menu, then subsequently use buttons on the Sources and/or Targets columns to select the Java classes to use as Source(s) and/or Target(s), respectively. However, after performing the initial import from the AtlasMap menu, there is no visual indication that this action has been performed. Thus the user, if interrupted for some reason, has no indication to remind them that Java classes are available for selection, nor which JAR file they would be selected from.

Closing this as the Load Java Document From Custom Class dialog lists all downloaded classes/ jars.


authentication error , even after everything is set up perfectly !

error url --> https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=api&scope=r_basicprofile r_emailaddress w_share&state=0.3896433834452182&redirect_uri=callback
can you say me what could be the error ?!
Please help me out ASAP , i would be very thankful to you :+1:

It could be due to the following reason:

Your stateIn and stateOut doesn't match.
The token is invalid and/or expired.
callback url needs to be there instead of &redirect_uri=callback.

im sorry but @ArkeologeN  ur hints , didn't help me !
Everything is perfect in my code & still authentication error exists !
Im thinking that , this error may exist coz of the linkedin API restriction & Partnership program :)

waiting for u confirmation @ArkeologeN ! is it because of restriction of api usage to every1 & partnership integration ?!

As of 12-19/May, the sample code for this module no longer works.  You need to remove some permissions...
https://developer.linkedin.com/support/developer-program-transition

To correct this issue, ensure that the scope parameter in your authorization workflow is no longer requesting any of the following member permissions:
r_fullprofile, r_network, r_contactinfo, rw_nus, rw_groups, w_messages.

The sample code was confusing for me.  "api" actually refers to "client id".
var Linkedin = require('node-linkedin')('Client id', 'client secret', 'http://yourserver.com/oauth/linkedin/callback');

// Using a library like `expressjs` the module will
// redirect for you simply by passing `res`.
app.get('/oauth/linkedin', function(req, res) {
    // This will ask for permisssions etc and redirect to callback url.
    Linkedin.auth.authorize(res, ['r_basicprofile']);
});

// otherwise you can leave `res` out, and the module will respond with the redirect url
Linkedin.auth.authorize(['r_basicprofile']);

// Again, `res` is optional, you could pass `code` as the first parameter
// Be sure to pass the `state` parameter to verify no CSRF intrusion, see [step 2 here](https://developer.linkedin.com/docs/oauth2)
app.get('/oauth/linkedin/callback', function(req, res) {
    Linkedin.auth.getAccessToken(res, req.query.code, req.query.state, function(err, results) {
        if ( err )
            return console.error(err);

        /**
         * Results have something like:
         * {"expires_in":5184000,"access_token":". . . ."}
         */
        console.log(results);
        var linkedin = Linkedin.init(results.access_token);
        linkedin.people.me(function(err, $in) {
                console.log($in);
        });

        return res.redirect('/');
    });
});

still the error exists bro !
Are u able to establish authorization ?! @niknah !

Yes.  The sample code is confusing.  Use my sample instead.
Judging by the link you provided, you need to change 'api' to your 'client id', and remove r_emailaddress,w_share from the permissions.  And change "callback" to the callback url on your webserver.

@weezyboyaxy this most likely to happen when your pre-registered scopes doesn't match with the one you're passing with node-linkedin client.
The error you're facing doesn't belongs to the wrapper itself but with interaction with Linkedin API. Please check:

You have valid API Key (Client ID)
You have valid API Secret
You have valid callback address.

Your scopes [ r_emailaddress .... ] and others matches with the specification defined while created application on LinkedIn Developer.
You have access to private APIs (Job API) etc before invoking them.
You're not reaching the rate limit.

Let me know if its fruitful for you! :)

In the above comment, he mentions that this was his url...
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=api&scope=r_basicprofile r_emailaddress w_share&state=0.3896433834452182&redirect_uri=callback
You can see that the client_id has just been left is "api" and "callback" is just callback.
The sample code doesn't explain where you should put things.
How does someone know that you're supposed to put the "client id" in the string where it says "api"?
The "callback" in the example is confusing, what you mean is the callback url that you put in the application.  There's no mention in the example that you're supposed to change this to anything other than "callback".
.init(access_token) is mentioned before we even have an access_token.
I had the same problems too.

@ArkeologeN  & @niknah   both of u thank you for giving me the brief about error , im dropping my code , please let me know , if i am wrong from my side
[code]
var api = '**********';
var secret = '***********';
var callback = 'http://localhost:1337/oauth/linkedin/callback';
var express = require('express');
var Linkedin = require('node-linkedin')('api', 'secret', 'callback');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({
extended : true
}));
//  content-type: text/plain; charset=UTF-8 - for Amazon SES-SNS
app.use(bodyParser.text({
limit : 1231321
}));
//  content-type: application/json - for VideoCRM
app.use(bodyParser.json({
limit : 24651546
}));
app.get('/oauth/linkedin', function(req, res) {
// This will ask for permisssions etc and redirect to callback url.
Linkedin.auth.authorize(res, ['r_basicprofile']);
});
// otherwise you can leave res out, and the module will respond with the redirect url
Linkedin.auth.authorize(['r_basicprofile']);
// Again, res is optional, you could pass code as the first parameter
// Be sure to pass the state parameter to verify no CSRF intrusion, see step 2 here
app.get('/oauth/linkedin/callback', function(req, res) {
Linkedin.auth.getAccessToken(res, req.query.code, req.query.state, function(err, results) {
if ( err )
return console.error(err);
    /**
     * Results have something like:
     * {"expires_in":5184000,"access_token":". . . ."}
     */
    console.log(results);
    var linkedin = Linkedin.init(results.access_token);
    linkedin.people.me(function(err, $in) {
            console.log($in);
    });

    return res.redirect('/');
});

});
app.listen(1337);
console.log('-------------> Listening at 1337');
[/code]
please let me know if i made any mistake !

Change the  line to...  (remove quotes)
var Linkedin = require('node-linkedin')(api, secret, callback);
And "callback" needs to be something other than localhost.  Do you have a public ip address for your machine?  One that can be accessed by linkedin?

yea , i vl try bro & yea we do have public ip ,
Let me try & get back to u :+1:  thanx 4 the swift reply :)

wow , Thank you  bro , the whole was in dz line -> var Linkedin = require('node-linkedin')(api, secret, callback);
i was getting error cause , i was using quotes ! thanx alot bro O:) u saved my time , im v.thankful to u @niknah

and check the bellow code !
var api = ********* ;
var secret = ****** ;
var callback = 'http://localhost:1337/oauth/linkedin/callback';
var express = require('express');
var Linkedin = require('node-linkedin')(api, secret, callback);
var app = express();
var bodyParser = require('body-parser');
var linkedin = Linkedin.init('my_access_token', {
timeout: 10000 /* 10 seconds */
});
app.use(bodyParser.urlencoded({
extended : true
}));
//  content-type: text/plain; charset=UTF-8 - for Amazon SES-SNS
app.use(bodyParser.text({
limit : 1231321
}));
//  content-type: application/json - for VideoCRM
app.use(bodyParser.json({
limit : 24651546
}));
app.get('/oauth/linkedin', function(req, res) {
// This will ask for permisssions etc and redirect to callback url.
Linkedin.auth.authorize(res, ['r_basicprofile', 'r_fullprofile', 'r_emailaddress', 'r_network', 'r_contactinfo', 'rw_nus', 'rw_groups', 'w_messages']);
});
// otherwise you can leave res out, and the module will respond with the redirect url
Linkedin.auth.authorize(['r_basicprofile', 'r_fullprofile', 'r_emailaddress', 'r_network', 'r_contactinfo', 'rw_nus', 'rw_groups', 'w_messages']);
// Again, res is optional, you could pass code as the first parameter
// Be sure to pass the state parameter to verify no CSRF intrusion, see step 2 here
app.get('/oauth/linkedin/callback', function(req, res) {
Linkedin.auth.getAccessToken(res, req.query.code, req.query.state, function(err, results) {
if ( err )
return console.error(err);
    /**
     * Results have something like:
     * {"expires_in":5184000,"access_token":". . . ."}
     */
    console.log(results);
			var linkedin = Linkedin.init(results['access_token']);
				// https://developer.linkedin.com/forum/what-difference-between-count-and-total-linkedin-j-apis
				return linkedin.connections.retrieve(function(err, connections) {
				var contacts = [];
				for(var idx in connections.values) {
					var contact = connections.values[idx];
					contacts.push({
						FirstName: contact.firstName,
						LastName: contact.lastName,
						LinkedInID: contact.id
					});
				}
				console.log(contacts);
				res.setHeader('linkedinaccesstoken', results['access_token']);
				return res.end(JSON.stringify(contacts));

			});
});

});
app.listen(1337);
console.log('-------------> Listening at 1337');
eventhough im havng correct code & full access ! im getting CSRF alert now :(  before , with basic profile i was able to get my details , after wards i tried with above code and csrf error arised !

The error is raised from here:
https://github.com/ArkeologeN/node-linkedin/blob/master/lib/auth.js#L51

You're asking for all the permissions.  Which hasn't been available since 12/May.
Only ask for ['r_basicprofile']
I've removed this in my sample above.
Print out req.query from the callback.  There should be an error message.

Closing the issue due to no hear.


fix: Added VPE endpoints to connect to resource-controller, account-management, VPC iaas

Description
Under workload VPC we have subnet for VPEs that will provide private access to cos. We need extend the private endpoints to be able to access VPC IaaS service, Resource Controller service and Account Management service as well. The reason is we need to be able to access these services using private end point to create a custom image using Wazi Image Builder

FYI, we have a VPE module you may want to look into using: https://github.com/terraform-ibm-modules/terraform-ibm-vpe-gateway

/run pipeline

@pradeepkadiyala80 Can you address the failing pre-commit hooks please so the pipeline will pass

/run pipeline

/run pipeline

@pradeepkadiyala80 It seems your code is not working. Its failing with:
2024-09-13T22:20:29.5313963Z │     "Result": {
2024-09-13T22:20:29.5314288Z │         "errors": [
2024-09-13T22:20:29.5314635Z │             {
2024-09-13T22:20:29.5315013Z │                 "code": "bad_field",
2024-09-13T22:20:29.5315551Z │                 "message": "Service not found in global catalog",
2024-09-13T22:20:29.5316037Z │                 "target": {
2024-09-13T22:20:29.5316440Z │                     "name": "Crn",
2024-09-13T22:20:29.5316864Z │                     "type": "field",
2024-09-13T22:20:29.5317829Z │                     "value": "crn:v1:bluemix:public:resource-controller:global:::endpoint:private.resource-controller.cloud.ibm.com"
2024-09-13T22:20:29.5318559Z │                 }
2024-09-13T22:20:29.5318956Z │             }
2024-09-13T22:20:29.5319263Z │         ],
2024-09-13T22:20:29.5319681Z │         "trace": "c2672909-95ab-4b58-bed1-16197b7b50d5"
2024-09-13T22:20:29.5320108Z │     },
2024-09-13T22:20:29.5320407Z │     "RawResult": null

There are a few thinks to consider

Separate the reference architecture documentation and the VPE end points
Fix the issue to deploy VPEs for resource-controller and iaas

@pradeepkadiyala80 I suspect this is happening because the github actions runtime does not have access to the private network. I see the same thing when trying locally.
The reason you don't see it with the COS VPE with landing zone is because its using the direct endpoint (here) which can be accessed by the runtime.
As mentioned on the call, you can migrate to using the TestSchematicOptions function in the tests, and that will mean your deployment will happen in a schematics workspace which will have access to the private network.
The problem you are going to face though is he upgrade tests. We currently do not have a schematics upgrade test function, so the upgrade tests will fail. We are looking into it though, so what I suggest is you try to get the standard test migrated to schematics and if that works, at least we know the root cause.
In parallel, I'll try to get an update on getting upgrade support for the schematics test.


Battery life and CPU usage

When viewing a volume with BioimageSuite I see high CPU usage (and presumably poor battery life). I do not see this behavior when viewing the same volume with JavaScript tools that refresh the canvas only when needed, for example MRIcroWeb.
Since BioimageSuite is showing static scenes that only change when the user interacts with the window, I would suggest not having the tool automatically refresh. I believe this page describes the solution.

I think we do a bad job of updating, its straight up 60Hz rendering that probably overloads the CPU. Let me take a look. Thanks!

The patch seems to be working


Add Zenodo DOIs for example data

Why this PR?
So users can have example data to try out the tutorials!
docs build here


Switching channel from beta to master errors on Windows

Error '_snapshot' is not recognized as an internal or external command, operable program or batch file. when switching channel from beta/RP1 to master/latest on Windows.
Steps to Reproduce
Machine starts with v0.5.6 on beta channel, running on Windows 10 release 1803 (RS4). Now run flutter channel master
Logs
Following error:
C:\Users\janedoe\source\flutter\examples\flutter_gallery>flutter channel master
Switching to flutter channel 'master'...
git: M  examples/hello_world/ios/Runner/GeneratedPluginRegistrant.h
git: M  examples/hello_world/ios/Runner/GeneratedPluginRegistrant.m
git: M  examples/hello_world/lib/main.dart
git: Branch 'master' set up to track remote branch 'master' from 'origin'.
git: Switched to a new branch 'master'
'_snapshot' is not recognized as an internal or external command,
operable program or batch file.

Fixed by https://github.com/flutter/flutter/issues/14578.


Publish new version to maven repo

Now that uap-core has been recently updated, it would be great to see a new version of uap-scala published to maven. :)

Hi @jleider! @humanzz published an 0.1.0 release for 2.12 a few days ago, and I'm planning to publish an 0.2.0 release this weekend so that we'll have a cross-built version where all of the artifacts have the same dependencies and same uap-core.

It's out! https://github.com/ua-parser/uap-scala/releases/tag/v0.2.0


Encoding (#520) review

Hello everybody,
I hope that everybody goes right out here!
First of all sorry for forcing this review after being so bad in #520 as I probably could write the following commits along with #520.
Secondly thanks to @FadeMind for #526 which forced me to rewrite my previously submitted function in order to pass more tests.
@FadeMind your PR is great but it does not resolve all the issue behind what you discovered as if we apply your patch, another issue can appear and can take us into a never-ending loop of fixing the same thing.
 Indeed, if we reverse the list today, tomorrow we will still have to reverse it once more to fill a case like the one I mentioned:
<IP_ADDRESS>(tabulations)domain(spaces & tabulations)# comments`

I'm really sorry if I offended you and anyone else. I did not mean to offend anyone. My apologies if I did.
Finally to explain the issue discovered by @FadeMind
I'll invite you to download ŧhis file and test it against the latest updateHostsFile.py (cf) to understand what changed.
If you do not have time for that the discovered issue is the following:
If we have a line which looks like the following
<IP_ADDRESS>(space)domain(tabulation(s) and spaces)# comments

We got an issue because I did not considerate that a tabulation can be after the domain. Which is why I say that #526 is not bad as the reversion solves the problem by splitting space before the tabulation.
To resolve that I first includes new tests to pass.
Then instead of splitting directly according to a list reading order, I decided to search which one of tabs or space comes first in the string with (https://github.com/StevenBlack/hosts/commit/8405f87edb6a1fb9346409daaf5aee39b565355f#diff-0e14783994b4ea380231d48b421ae128R1165):
        tabs_position, space_position = (line.find(tabs), line.find(space))

        if tabs_position > -1 and space_position > -1:
            if space_position < tabs_position:
                separator = space
            else:
                separator = tabs
        elif not tabs_position == -1:
            separator = tabs
        elif not space_position == -1:
            separator = space
        else:
            separator = ''

In between, I discovered an issue which is: once we split if we have multiple occurrences of the separator (tabs or space) we were not capable of converting it. So I fixed that part by introducing a pseudo-index search with(https://github.com/StevenBlack/hosts/commit/8405f87edb6a1fb9346409daaf5aee39b565355f#diff-0e14783994b4ea380231d48b421ae128R1182):
            index = 1
            while index < len(splited_line):
                if splited_line[index]:
                    break
                index += 1

The rest stay almost the same.
Cheers,
Nissar.

@funilrys working fine...
[fademind@manjaro 00-HSTS.EXT]$ python3 updateHostsFile.py -a
Updating source data/add.Risk from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Risk/hosts
Updating source data/someonewhocares.org from http://someonewhocares.org/hosts/zero/hosts
Updating source data/CoinBlockerLists from https://raw.githubusercontent.com/ZeroDot1/CoinBlockerLists/master/hosts_browser
Updating source data/adaway.org from https://raw.githubusercontent.com/AdAway/adaway.github.io/master/hosts.txt
Updating source data/tyzbit from https://raw.githubusercontent.com/tyzbit/hosts/master/data/tyzbit/hosts
Updating source data/hpHosts-FSA from https://hosts-file.net/fsa.txt
Updating source data/StevenBlack from https://raw.githubusercontent.com/StevenBlack/hosts/master/data/StevenBlack/hosts
Updating source data/add.2o7Net from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts
Updating source data/UncheckyAds from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/UncheckyAds/hosts
Updating source data/mvps.org from http://winhelp2002.mvps.org/hosts.txt
Updating source data/hpHosts-ATS from https://hosts-file.net/ad_servers.txt
Updating source data/hpHosts-HFS from https://hosts-file.net/hfs.txt
Updating source data/hpHosts-PUP from https://hosts-file.net/pup.txt
Updating source data/add.Dead from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Dead/hosts
Updating source data/hpHosts-EMD from https://hosts-file.net/emd.txt
Updating source data/yoyo.org from https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext&useip=<IP_ADDRESS>
Updating source data/hpHosts-MMT from https://hosts-file.net/mmt.txt
Updating source data/hpHosts-PSH from https://hosts-file.net/psh.txt
Updating source data/KADhosts from https://raw.githubusercontent.com/azet12/KADhosts/master/KADhosts.txt
Updating source data/Badd-Boyz-Hosts from https://raw.githubusercontent.com/mitchellkrogza/Badd-Boyz-Hosts/master/hosts
Updating source data/hpHosts-GRM from https://hosts-file.net/grm.txt
Updating source data/hpHosts-EXP from https://hosts-file.net/exp.txt
Updating source data/malwaredomainlist.com from http://www.malwaredomainlist.com/hostslist/hosts.txt
Updating source data/Spotify-Ad-free from https://raw.githubusercontent.com/CHEF-KOCH/Spotify-Ad-free/master/Spotifynulled.txt
Updating source data/CoinBlockerList from https://raw.githubusercontent.com/ZeroDot1/CoinBlockerLists/master/hosts_browser
Updating source data/hpHosts-HJK from https://hosts-file.net/hjk.txt
Updating source data/add.Spam from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts
==><IP_ADDRESS> <IP_ADDRESS><==
==><IP_ADDRESS> <IP_ADDRESS><==
==><IP_ADDRESS> <IP_ADDRESS><==
==><IP_ADDRESS> <IP_ADDRESS><==
==><IP_ADDRESS> <IP_ADDRESS><==
==><IP_ADDRESS> <IP_ADDRESS><==
==><IP_ADDRESS> <IP_ADDRESS><==
Success! The hosts file has been saved in folder
It contains 751,067 unique entries.

Regards

Hey @StevenBlack as the tests are marked as errored - which means that it's a Travis CI issue - can you restart them?

@funilrys it's not clear how to restart tests.  Apparently closing and re-opening the issue restarts tests.

That's great Nissar @funilrys!

Thanks Steven @StevenBlack :tada:
P.S: In the future if you go to the tests page for example https://travis-ci.org/StevenBlack/hosts/builds/348994868?utm_source=github_status&utm_medium=notification you normally also have a restart test button :+1:

... if Flash is enabled.  That's never going to happen on any of my machines 😄


enhancement(node_exporter): use systemd to create node_exporter_textfile_dir if it doesn't exist

We're currently using a directory inside tmpfs for textfile collectors to reduce possible unnecessary IO usage, and the directory will be removed after a reboot. This PR is to ensure that node_exporter_textfile_dir exists when node-exporter is started.

I wonder if using systemd tmpfiles in this scenario would be a better solution? https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html

I wonder if using systemd tmpfiles in this scenario would be a better solution? https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html

ping @ym

I wonder if using systemd tmpfiles in this scenario would be a better solution? https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html

ping @ym

External scripts will also need to write to node_exporter_textfile_dir, so I think a predictable and static path might be a better idea. But if you have any good suggestions, I'm all ears.

The path is not dynamic like what you get with mktemp, you define the path you wish to be created in a config file under tmpfiles.d and then systemd will take care of creating it.


Cosmos DB bulk operation isn't working across partitions in some condition

Package Name:  Cosmosdb
Package Version: 3.11.0 & 3.12.0
Operating system:
[✅ ] nodejs

version: 12.18.3

Describe the bug
Cosmos DB bulk operation failed to bulk insert when DB partition is inside an object
eg:
{
  id:"sting"
  doc:{
  partitionKey:"string | any" // when ever this deep our poc bulk operation throw primary key error
 }
}

To Reproduce
Steps to reproduce the behavior:

design a cosmos DB doc with partition key deep one level.
eg:

{
  id:"sting"
  doc:{
  partitionKey:"string | any" // when ever this deep our poc bulk operation throw primary key error
 }
}

do the bulk operation with only create , upsert or create-upsert mix operation

Expected behavior
Successfully execute the bulk operation across various partition
Actual behavior
Throws Error:
  Error: Partition key error. Either the partitions have split or an operation has an unsupported partitionKey type
    at Items.<anonymous> (C:\Users\MSeyed\Desktop\CosmosdbPoc\node_modules\@azure\cosmos\dist\index.js:5546:31)
    at Generator.throw (<anonymous>)
    at rejected (C:\Users\MSeyed\Desktop\CosmosdbPoc\node_modules\tslib\tslib.js:115:69)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

is cross partition bulk operation is not available  in cosmos DB SDK v3.12.0 Pls fell free to close this ticket as of now

@MuhamedSalihSeyedIbrahim I'll take a look

Bulk should never make cross-partition requests since it handles putting the items into the correct partition key ranges for performing the request. I think this is a bug but should be supported

3.12.3 should resolve this

Is .3 patch out? To npm ?
Yes then will check and update
Hope fix end this issue

Great!, Issue is fixed in<EMAIL_ADDRESS>Thanks @zfoster !!


ionic webview v4 changes things again...

I'm submitting a...

[x] Bug report
[ ] Feature request
[ ] Documentation issue or request

Current behavior

ionic webview 4 changes quite a few things about the origin:

no port 8081 anymore - on android it's http://localhost
on ios, the origin's scheme is ionic:// by default, but due to integrating with some google services, it's a good idea to override it to httpsionic:// instead (you can see some issues in their queue for details)

Expected behavior

Necessary: update the index.html cordova monkeypatch accordingly - I'm now using this:
if(/^localhost/.test(location.host) & !/^localhost:/.test(location.host)) {
  // ...
}

Optional: iosScheme to httpsionic and update whitelist stuff accordingly
Minimal reproduction of the problem with instructions

Environment

Others:

Is it broken with the current version? Or do we need to upgrade + fix?

well right now the regex in index.html doesn't match the actual scheme/host:
https://github.com/ngx-rocket/generator-ngx-rocket/blob/master/generators/app/templates/src/_index.html#L59
because the configuration we have has it set to the defaults, which is ionic://localhost for ios and http://localhost for android.
Whether it's "broken" or not, I'm not sure, because I haven't actually reproduced the bug that necessitates this fix since a long while ago.  But I can't imagine it walked away on its own.
So the two options are:

Fix that line in index.html to match our current configuration
First change the configuration slightly to make ios httpsionic://localhost and change index.html to match THAT (using the pattern I posted above).

Although #2 is a little more heavy-handed, it's a little safer for integrations (see https://github.com/ionic-team/cordova-plugin-ionic-webview/pull/283 for example)

Okay looks like I was wrong :D ...  I didn't see the updates to config.xml.
It's currently NOT broken - index.html matches config.xml ... so with that in mind, changing the configuration for easier integration with other services is all that's left, which isn't something critical since not all users will need to do that.

:tada: This issue has been resolved in version 8.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


papirus-icon-theme: changed color argument handling

Description of changes
Handling of the color argument is improved. The theme is updated only when a color has been selected.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

I've added the --force arg too as I saw the cache was not updated when the color changed.

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

2 packages built:

papirus-icon-theme
papirus-maia-icon-theme


Fails to generate a detailed SBOM for a forked repo

Pointing the tool at a forked repo results in an basic SBOM with none of the dependent packages identified.

I think what's happening here is this tool uses the Dependency Graph API, and so if you don't have Dependency Graph enabled on your repository (regardless of if it's forked or not), it won't be able get any information. I added a (hopefully) helpful error message for that case: https://github.com/advanced-security/gh-sbom/commit/781d1cee2a81550502c09aca42bbcb31c94c13cc

@steiza It appears that it is  possible to enable DependencyGraph for a forked repo. Maybe add this reference somewhere in the documentation.