Script fails when docker image is started with SPLUNK_START_ARGS=--accept-license

Starting the docker image in bash with the command
"docker run -d -p 8000:8000 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=" --name
splunk splunk/splunk:latest"
and the download script says I need to set splunk start args. Docker Inspect confirms the setting

I know what the problem is--you're not running Splunk Lab, you're running what looks like an official Splunk image. :-)
What I see you're using is splunk/splunk:latest, and my image is dmuth1/splunk-lab.
-- Doug

I have this issue, also:
$ bash <(curl -Ls https://bit.ly/splunklab)
!
! You need to accept the Splunk License in order to continue.
! Please restart this container with SPLUNK_START_ARGS set to "--accept-license"
! as follows:
!
! SPLUNK_START_ARGS=--accept-license
!

Hey @np-trivial, that's the script doing what it's supposed to--asking you to agree to the Splunk license. :-)
If you're unfamiliar with environment variables, there's some documentation here: https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-linux
-- Doug

I'm familiar with environment variables, and I run Splunk using Docker frequently. I interpreted that your script took care of it. I find the instructions misleading. They indicate that I can just run that one command line and be up and running, but it appears that I cannot. Your explanation "Splunk has its own license. Please abide by it." doesn't actually help me run this script.
Could you please add more verbose instructions to the README indicating that users will need to accept the license? I understand why your script does not do this already (because that would be like you accepting the license on my behalf, which is improper), but as is, it makes it seem like this is a bug, not a necessary user intervention.


Cannot run cli behind proxy

I've been trying to follow the getting started tutorial for prisma and have been stuck on the very beginning.
When I try to run the init command:
npx prisma init

I get the following error:
Downloading Prisma engines for windows [                    ] 0%
Error: request to https://binaries.prisma.sh/master/76857c35ba1e1764dd5473656ecbbb2f739e1822/windows/query-engine.exe.gz.sha256 failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443

I am currently working under a company proxy which is what I think might be the problem, however I have the environment variables as well as npm configs set correctly and have no idea why this is happening or how to fix it.
I am using a windows machine, as you can tell from the error message.
I have tried installing globally but get the same result.

@joaomanke
We use a mirror to store our binaries at https://binaries.prisma.sh which is an AWS Cloudfront on top of an AWS S3 bucket.
We do that because if we do that via npm we can't detect the OS and we have to ship each and every binary to you.
We do support a proxy for corporate firewalls: https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-cli/installation#using-a-http-proxy-for-the-cli. Please try using that.
Let me know if you are still getting trouble

@pantharshit00 Thank you for the quick response.
I had already tried setting the environment variables before, to no avail. Tried again to make sure, but same result.
I can manually download the binaries, so I don't think my proxy is blocking access to the url.
I managed to workaround the cli downloads by manually downloading the binaries and extracting them to a binaries folder within my project and pointing to them with the environment variables raise to my attention in #1333.
This, however, is not really maintainable, but works for now. When the current alpha version gets released the PRISMA_BINARIES_MIRROR environment variable probably will be the way to go for me.

I had already tried setting the environment variables before, to no avail. Tried again to make sure, but same result.
I can manually download the binaries, so I don't think my proxy is blocking access to the url.

That is really strange and unexpected.
Can you please set the env var DEBUG=* (set DEBUG=* on Windows) and post the full output here? Maybe that gives us some insight.

Sorry for the late reply,

Can you please set the env var DEBUG=* (set DEBUG=* on Windows) and post the full output here? Maybe that gives us some insight.

Will do, later today when I get to work I'll post it here.

Here it is:
  prisma {
  prisma   argv: [
  prisma     'C:\\Program Files\\nodejs\\node.exe',
  prisma<EMAIL_ADDRESS>  prisma     'init'
  prisma   ]
  prisma } +0ms
  prisma Environment variables not loaded +6ms
  getos { platform: 'win32', libssl: undefined } +0ms
  download { fileExists: false, cachedFile: null } +0ms
  download { needsToBeDownloaded: true } +0ms
  download { fileExists: false, cachedFile: null } +2ms
  download { needsToBeDownloaded: true } +0ms
  download { fileExists: false, cachedFile: null } +1ms
  download { needsToBeDownloaded: true } +1ms
  download Downloading https://binaries.prisma.sh/master/2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6/windows/migration-engine.exe.gz to<EMAIL_ADDRESS>+2ms
> Downloading Prisma engines for windows [                    ] 0%  download Downloading zip +3ms
  download Downloading https://binaries.prisma.sh/master/2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6/windows/query-engine.exe.gz to<EMAIL_ADDRESS>+18ms
  download Downloading zip +2ms
  download Downloading https://binaries.prisma.sh/master/2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6/windows/introspection-engine.exe.gz to<EMAIL_ADDRESS>+2ms
  download Downloading zip +1ms
Error: FetchError: request to https://binaries.prisma.sh/master/2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6/windows/introspection-engine.exe.gz.sha256 failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443
    at ClientRequest.<anonymous> (C:\Users\joaomanke\Desktop\prisma\node_modules\@prisma\cli\build\index.js:2:505664)
    at ClientRequest.emit (events.js:315:20)
    at TLSSocket.socketErrorListener (_http_client.js:432:9)
    at TLSSocket.emit (events.js:315:20)
    at emitErrorNT (internal/streams/destroy.js:84:8)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

I realize that on the 8th line it says prisma Environment variables not loaded +6ms
Just in case this is relevant, here are my npm configs:
; cli configs
metrics-registry = // Company mirror repo
scope = ""
user-agent = "npm/6.14.4 node/v13.12.0 win32 x64"

; userconfig C:\Users\joaomanke\.npmrc
registry = // Company mirror repo

; builtin config undefined
prefix = "C:\\Users\\joaomanke\\AppData\\Roaming\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\Users\joaomanke\Desktop\prisma
; HOME = C:\Users\joaomanke
; "npm config ls -l" to show all defaults.

And my Environment Variables (the relevant ones at least) :
HTTP_PROXY= // Proxy with user and pwd -> http://user:password@proxy:port
HTTPS_PROXY= // Proxy with user and pwd -> http://user:password@proxy:port
DEBUG=*

The problem is not the CDN links but that, as in my case, your proxy requires authentication. I have not dug into the code yet but WHAT is downloading the binaries? It's not npm (i have it configured for proxy), if it's a fetch from a JS/binary file then this would explain things.
One solution (possible?) would be to make an npm packages from binaries and load them as dependencies or just invoke npm/yarn to install them - that way we could have it all working as expected.
The other way around would be need to implement proxy with authentication support for whatever piece of software is downloading the binaries. What do you think @janpio @pantharshit00 ?

I've spent this whole day trying to get this problem fixed, I tired setting up a node proxy server to forward requests to https://binaries.prisma.sh, but am still stuck with this error..
Error: request to https://binaries.prisma.sh/master/2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6/debian-openssl-1.1.x/query-engine.gz.sha256 failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443
Would really not like to rewrite all my code without prisma since that would be way too time consuming, any chance a fix like the one described by @ethernal might be coming soon. That way people under corporate proxies won't run into issues downloading binaries.

Update I got it working... had to use
ENV PRISMA_BINARIES_MIRROR http://prisma-builds.s3-eu-west-1.amazonaws.com
For the mirror to work under a company proxy. https does not work under a company proxy even though I can wget to the the direct https:// site. Hope theres a real fix for this soon.

ENV https_proxy http://{company_url}:8080

You usually have to add a https proxy there for https requests to work, right?

@janpio My bad it was suppose to be https:// for the https_proxy env variable, typed it over into the comment incorrectly. This wasn't the solution however

Hi again,
Can you please all try the latest alpha version? We had this fix merged https://github.com/prisma/prisma/pull/2540 which might fix the issue for you all

Hi again,
Can you please all try the latest alpha version? We had this fix merged #2540 which might fix the issue for you all

It worked for me! Thank you!

I am going to close this now as this is resolved for the original poster.
If you still experiencing this issue, please create a new github issue

in case someone still gets this issue, here what I tried :

appending ?sslmode=disable to db url
DEBUG='*' proxy -p 8180 && HTTP_PROXY=http://localhost:8180/ HTTPS_PROXY=https://localhost:8180/ prisma generate
NODE_TLS_REJECT_UNAUTHORIZED=0

nothing worked until finding this thread with
ENV PRISMA_BINARIES_MIRROR http://prisma-builds.s3-eu-west-1.amazonaws.com/

nothing worked until finding this thread with ENV PRISMA_BINARIES_MIRROR http://prisma-builds.s3-eu-west-1.amazonaws.com

In my case(windows + cmd ) only worked with set PRISMA_BINARIES_MIRROR http://prisma-builds.s3-eu-west-1.amazonaws.com

Why does using the amazonaws.com hostname work, but using binaries.prisma.sh does not? It is really the same server behind it.

Why does using the prisma-builds.s3-eu-west-1.amazonaws.com hostname work, but using binaries.prisma.sh does not? It is really the same server behind it.

I don't know what the difference is between them. Both of them are without  SSL certificates.
Is binaries.prisma.sh  a new domain ?

Ahh, you are all switching from our https endpoints to http without SSL. That might indeed explain why your local networks do not block requests (although blocking requests to hostnames behind SSL is pretty questionable).

Is binaries.prisma.sh a new domain ?
It is an actually load balanced and globally distributed hostname that serves the same files as prisma-builds.s3-eu-west-1.amazonaws.com.

en utilisant prisma généré dans une image docker
au cas où quelqu'un aurait toujours ce problème, voici ce que j'ai essayé :

ajout ?sslmode=disableà l'URL de la base de données
DEBUG='*' proxy -p 8180 && HTTP_PROXY=http://localhost:8180/ HTTPS_PROXY=https://localhost:8180/ prisma generate
NODE_TLS_REJECT_UNAUTHORIZED=0

rien n'a fonctionné jusqu'à trouver ce fil avec ENV PRISMA_BINARIES_MIRROR http://prisma-builds.s3-eu-west-1.amazonaws.com

Salut mec, je suis bloqué dessus depuis une semaine déjà, tu peux stp me montrer ton Dockerfile ? je suis sous proxy entreprise aussi. meric à toi

en utilisant prisma généré dans une image docker
au cas où quelqu'un aurait toujours ce problème, voici ce que j'ai essayé :

ajout ?sslmode=disableà l'URL de la base de données
DEBUG='*' proxy -p 8180 && HTTP_PROXY=http://localhost:8180/ HTTPS_PROXY=https://localhost:8180/ prisma generate
NODE_TLS_REJECT_UNAUTHORIZED=0

rien n'a fonctionné jusqu'à trouver ce fil avec ENV PRISMA_BINARIES_MIRROR http://prisma-builds.s3-eu-west-1.amazonaws.com

Salut mec, je suis bloqué dessus depuis une semaine déjà, tu peux stp me montrer ton Dockerfile ? je suis sous proxy entreprise aussi. meric à toi

.Dockerfile
# syntax=docker/dockerfile:1
# install pnpm
FROM node:16-slim AS with-pnpm

RUN npm i -g pnpm
RUN apt-get update
RUN apt-get install -y openssl
# https://github.com/prisma/prisma/issues/8783

# install deps
FROM with-pnpm AS deps

WORKDIR /app

COPY ./pnpm-lock.yaml /app
COPY ./package.json /app
RUN pnpm install --frozen-lockfile

# build
FROM with-pnpm AS build

WORKDIR /app

COPY --from=deps /app/node_modules /app/node_modules
COPY ./src /app/src
COPY ./prisma /app/prisma
COPY ./package.json /app
COPY ./tsconfig.json /app
COPY ./rollup.config.js /app
COPY ./vitest.config.ts /app

ENV PRISMA_BINARIES_MIRROR http://prisma-builds.s3-eu-west-1.amazonaws.com
ENV PRISMA_CLI_QUERY_ENGINE_TYPE binary
ENV PRISMA_CLIENT_ENGINE_TYPE binary
# https://github.com/prisma/prisma/issues/8783

RUN pnpm build

# start production environment
FROM with-pnpm

WORKDIR /app
COPY --from=build /app ./

EXPOSE 8080

CMD NODE_ENV=production pnpm start:prod

// package.json scripts
"migration:up:prod": "DATABASE_URL=${DATABASE_MIGRATE_URL} yarn prisma migrate deploy",
"start:prod": "PRISMA_BINARIES_MIRROR=http://prisma-builds.s3-eu-west-1.amazonaws.com PRISMA_CLI_QUERY_ENGINE_TYPE=binary PRISMA_CLIENT_ENGINE_TYPE=binary yarn migration:up:prod && NODE_ENV=production node dist/main.js",


Fix validation webhook error message

Pull Request Motivation
Fixes an error message when an invalid key algorithm is provided. Also adds a unit test to Ed25519.
Fix https://github.com/cert-manager/cert-manager/issues/6474
Kind
bug
Release Note

Fixed a webhook validation error message when the key algorithm was invalid.

Awesome contribution! Thanks for the work.
/approve
/lgtm

/kind bug


Navigate presets with ↓↑

When typing a preset name, you can press Enter to accept the top one. It would be convenient to be able to select a different one with the arrow keys.

Pressing ↓ in this case should highlight Huishoudelijkeapparatuurwinkel, pressing again should go to the one below...

Yeah this and also #3047 kind of go together - would be great to fix this 👍

Happy to take this one [and related] on. Not sure I completely understand the related referenced issue though.

Also, should the arrow key navigation replace the tab and shift+tab navigation through the results, or complement it?

Happy to take this one [and related] on. Not sure I completely understand the related referenced issue though.
Also, should the arrow key navigation replace the tab and shift+tab navigation through the results, or complement it?

I think when the preset list is visible, ideally it should work like:

↓ and ↑ should navigate through the presets
enter and return should select that preset
esc should return to the previous screen without changing the preset

Hey @leegenes just checking in - are you working on this issue?

I will work on this if no one else does.

Sure @shadeofgreene, go for it!

Sorry about that. Been away from the computer for a few weeks unexpectedly. Thanks, for taking it, @shadeofgreene

No problem, let me take a look at it.

What's the progress for this issue? Is there something to do?

What's the progress for this issue? Is there something to do?

Looks like nobody is working on it currently, you can give it a shot @MaciejWWojcik

ok, so I can start coding from master branch?

ok, so I can start coding from master branch?

A good way to stay organized is to do this (you might have done some of these steps already?):
Setup:
Fork your own iD, and make it easy to keep it in sync with ours..

Fork the repo into your personal GitHub account.  Now you have your own iD  🎊
Clone your iD to your local machine:
git clone git@github.com:MaciejWWojcik/iD.git
You'll have a "remote" called origin.  You can also add our repo as an "upstream" remote:
git remote add upstream git@github.com:openstreetmap/iD.git
Never do anything in master.  This will be a branch that you just keep in sync with the main iD repo.

Keeping updated
Do these steps sometimes, before you want to work on stuff..

Push your changes to your own iD:
git push origin
Go to GitHub for your iD:  https://github.com/MaciejWWojcik/iD
GitHub will already know about your recently pushed branch, and ask if you want to create a Pull Request for it.  You can have the Pull Request point back to the main upstream iD.

I think that's it!  Ping me on Slack if you want to chat about any of this....

Also happy to help with questions, too, if bhousel is busy. Just didn't have the time to work on it a while back.

Thanks so much for the answer :) It's very clear for me what to do now. So I'm getting to work

@bhousel You wrote a great introduction to use git to create a pull request for iD. I would like to see this in CONTRIBUTING.md in the last section "Submitting Changes" (I have to find a better name).
Instructions to delete your branch after the merge should also be available:
$ git push --delete origin <branch_name>
$ git branch -d <branch_name>
Do you want me to create a PR?

Do you want me to create a PR?

Yes please!  I'm always happy to merge in improvements to the documentation 😄

@bhousel PR #5241 added.

@MaciejWWojcik Do you still plan to work on that issue?


Document supported platforms

We should add to the readme the platforms that are supported. My sense is they are:

ubuntu >= 12.04 (with c++11 capable compiler and standard library)
centos7
>= OS X 10.10

@ericfischer - can you confirm this listing and build some mention into the docs?

Good point. I'm not even really sure what the minimum Ubuntu and MacOS versions that will work are, since my own testing is all on Ubuntu 14.04 and MacOS 10.11.

Good point @ericfischer . How about we call "supported platforms" == "ones we test on continuously", so if we don't test it on travis we don't list it? If we want to support OS X 10.10 we can use osx_image: xcode6.4 per https://docs.travis-ci.com/user/languages/objective-c/#Supported-Xcode-versions.

That seems appropriate.
Reading the travis documentation I still don't see where you specify which Ubuntu version you want to run under. Do you know where that part is?

Reading the travis documentation I still don't see where you specify which Ubuntu version you want to run under. Do you know where that part is?

You supply either dist:trusty or dist:precise. The former is the default since https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming


iOS 11 Bugs

Swift Radio Player have many bugs on iOS 11

No cover on lock screen
Radio stops by screen locking

Can you fix it or give advice how to fix it?

I can confirm this issue, anyone... Any ideas how to fix? Thanks!

Have you tried the new Apple Music API?

I'll check that out thx Matt, in what particular file do you up date the API...?

MusicKit API is if you need to stream from Apple Music or the audio on a device. If you're using the public master branch, I believe that is still using the MoviePlayer? I suspect the metaDataDidUpdate might have been depreciated. Without looking, the code that did update the lock screen would be in the NowPlayingController and would probably be labeled something like MetaData Notification

I suspect experimenting with this might lead to the right path? https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfocenter

Interestingly enough, I'm not having those issues. I just made sure and pulled the latest code. And, the album art and song appears in the cover sheet in iOS 11. :/

The cover does not appear if automatic playback is enabled when the application starts
But everything appears (including in the control center), if you stop playback and start it again

Mmmm - ok this must just be just a minor bug - when you hit play on the app it pays fine. when you close it (power button) and open it again nothing shows up on the home screen, however, if you go to control center it doesn't show as if the radio is playing, BUT when u hit the play button twice and go back to the home screen it shows up! that is so weird...

Might be a concurrency issue. If I had the luxury of time, I would rewrite much of this app. It is starting to show its age...

swiftcodex - are you testing with the AV version? Planning to migrate to AV. Is anyone having issues with the AV version on iOS 11?

Hey @gazmac , @joemcmahon has updated the AVPlayer branch to Xcode 9/Swift 4, the master will be switching to AV very soon :)

@joemcmahaon, @fethica - how do you guys feel about adding an AVPlayer wrapper like this to the code? https://github.com/delannoyk/AudioPlayer  OR, would you like to keep this repo using just the basic Apple stuff?

Hugely for this. I was about to start working on the connection stuff
myself but this would take care of it.
On Fri, Oct 20, 2017 at 7:40 PM Matthew Fecher<EMAIL_ADDRESS>wrote:

@joemcmahaon, @fethica https://github.com/fethica - how do you guys
feel about adding an AVPlayer wrapper like this to the code?
https://github.com/delannoyk/AudioPlayer OR, would you like to keep this
repo using just the basic Apple stuff?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/swiftcodex/Swift-Radio-Pro/issues/64#issuecomment-338358502,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADvG6mJrZ2cVLw54ZJDMf7GXBSU41zbks5suVmLgaJpZM4Ph6YI
.

@joemcmahon - def not trying to steal your thunder. if you want to add that library to the repo, feel free (as long as @fethica is cool with it?)

@swiftcodex , @joemcmahon Yes! I was going to create our own wrapper, but this one looks very complete :) We can add it now and optimized later to fit our needs 👍

In ios11, when the track name in Cyrillic appears, the application drops. In this case, ios10 worked. Can you help?

Hey @vfmradio , did the commit you mention works on iOS 11 ? If not I will check this and let you know if I find a working solution.

Closing this issue because there is another issue open regarding Cyrillic text.


Clarify development status

[x] Closes most of #178:

Which is made up of

[x] have clearer language around the status and (lack of) API stability of C-Star
[ ] have a table of which machines we have tried running C-Star on
[ ] have a clearer disclaimer about the docs assuming you have an account on Perlmutter
[x] make sure the development status is clearly pointed to from the github readme and the docs homepage

Adding a disclaimer on every single page was actually a little annoying as whilst I can change the RST conf to automatically add a banner to .rst pages, we actually have pages built from .rst, .md, and .ipynb files, plus the readme.

As the four example notebooks are written now, notebooks 2, 3, 4 assume the user is on Perlmutter (see also comments above).

As the four example notebooks are written now, notebooks 2, 3, 4 assume the user is on Perlmutter (see also comments above).

I'm about 2 minutes ahead of you :)

Hahaha, nice one.

At least Dafydd and I identified the same 3 notebooks!


Tigera Operator pod keeps restarting.

Expected Behavior
Tigera pod not working.
Current Behavior
Pod keep restarting with following error msg.
{"level":"error","ts":"2023-12-20T11:23:07Z","logger":"setup","msg":"problem running manager","error":"failed to wait for tigera-installation-controller caches to sync: timed out waiting for cache to be synced","stacktrace":"main.main\n\t/go/src/github.com/tigera/operator/main.go:451\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:267"}

Steps to Reproduce (for bugs)
Installed tigera operator helm chart.
Your Environment

EKS cluster

Please provide more logs. Have you made any modifications to the configuration?
It appears that there is a problem reading or watching or listing resources since the operator is having a problem with the cache syncing but I can't determine anything else from the limited information provided.


Client error is not received in server when grpc:Caller is used to send values inside the client stream

Description:
The following case does not work as expected. The execution does not go out from the clientstream in the service. This works fine when check caller->sendRouteNote(item); is removed.

proto

syntax = "proto3";

package routeguide;

service RouteGuide {

  rpc GetFeature(Point) returns (Feature) {}

  rpc ListFeatures(Rectangle) returns (stream Feature) {}

  rpc RecordRoute(stream Point) returns (RouteSummary) {}

  rpc RouteChat(stream RouteNote) returns (stream RouteNote) {}
}

message Point {
  int32 latitude = 1;
  int32 longitude = 2;
}

message Rectangle {
  Point lo = 1;
  Point hi = 2;
}

message Feature {
  string name = 1;
  Point location = 2;
}

message RouteNote {
  Point location = 1;
  string message = 2;
}

message RouteSummary {
  int32 point_count = 1;
  int32 feature_count = 2;
  int32 distance = 3;
  int32 elapsed_time = 4;
}

service

remote function RouteChat(RouteGuideRouteNoteCaller caller, stream<RouteNote, grpc:Error?> clientStream) returns error? {
        error? e = from var note in clientStream
            do {
                string key = string `${note.location.latitude} ${note.location.longitude}`;
                lock {
                    RouteNote[]? routeNotes = self.routeNoteMap[key];
                    if routeNotes is RouteNote[] {
                        check from var item in routeNotes
                            do {
                                check caller->sendRouteNote(item);
                            };
                        routeNotes.push(note.cloneReadOnly());
                    } else {
                        self.routeNoteMap[key] = [note.cloneReadOnly()];
                    }
                }
            };
        if e is () {
            io:println("no error");
        } else {
            io:println("Error ", e);
        }
    }

client

RouteGuideClient ep = check new ("http://localhost:9090");

public function main() returns error? {
    RouteNote[] routeNotes = [
        {location: {latitude: 406109563, longitude: -742186778}, message: "m1"},
        {location: {latitude: 411733222, longitude: -744228360}, message: "m2"},
        {location: {latitude: 406109563, longitude: -742186778}, message: "m3"},
        {location: {latitude: 411733222, longitude: -744228360}, message: "m4"},
        {location: {latitude: 411733222, longitude: -744228360}, message: "m5"}
    ];

    RouteChatStreamingClient routeChatClient = check ep->RouteChat();
    future<error?> f1 = start readResponse(routeChatClient);

    foreach var item in routeNotes {
        check routeChatClient->sendRouteNote(item);
    }

    check routeChatClient->sendError(error grpc:AbortedError("Aborted this"));
    io:println("after sending error");

    check routeChatClient->complete();
    check wait f1;
}

function readResponse(RouteChatStreamingClient routeChatClient) returns error? {
    RouteNote? receiveRouteNote = check routeChatClient->receiveRouteNote();
    while receiveRouteNote is RouteNote {
        io:println(`Got message '${receiveRouteNote.message}' at lat=${receiveRouteNote.location.latitude},
                lon=${receiveRouteNote.location.longitude}`);
        receiveRouteNote = check routeChatClient->receiveRouteNote();
    }
}

Apparently, when we have check caller->sendRouteNote(item);, service gets the error "call already cancelled" because the client has closed the connection already. But this does not get logged because check returns the error and gRPC service does not logs the errors which are returned.
If we catch the error without returning as follows,
error? ee = caller->sendRouteNote(item);
We can see ee contains the error "call already cancelled" and also the result e from the query expression containing the error "Remote client closed the connection while reading inbound request entity body".

However, in the client,
if we add a sleep after sending the messages and before sending the client error, service does not receive the client error.
foreach var item in routeNotes {
    check routeChatClient->sendRouteNote(item);
}
runtime:sleep(1);
check routeChatClient->sendError(error grpc:AbortedError("Aborted this"));

Analysed the scenario with gRPC aspects and http transport aspect. RST frame is received in the http listener even with the sleep on. But the grpc listener does not receive the LastHttpContent to the executor [1].
FYA @daneshk
[1] https://github.com/ballerina-platform/module-ballerina-grpc/blob/0c0e14bcf1c973c667842a1f8c7c019ca2f26731/native/src/main/java/io/ballerina/stdlib/grpc/ServerConnectorListener.java#L111


Read only mode for certains source

Hi,
I have this problem.
I work in local, but for my colleagues when I deploy my program  I make a copy into QRPGLESRC, from seu I have a check, so I didn't permit to open it in edit mode.
But a collegue open the source in qrpglesrc  from Code for I, and edit it, so my local copy is different between the copy in qrpglesrc.
Here's the question:
Is there a possibility to flag some source of my qrpglesrc in read only mode from Code for I?
Many thanks

We don't support member locking at the moment. It's not something on our radar.

Hi there,
it will be soon possible to "protect" filters (or a whole connection) and prevent members opened from those filters/connections to be saved.
Look here for more details: https://github.com/halcyon-tech/vscode-ibmi/pull/1075

Hi, but the filter protections depends on how filter is created?  From another pc this
protection make effect?
Many thanks
Il giorno mer 1 mar 2023 alle 19:00 Sébastien Julliand <
@.***> ha scritto:

Hi there,
it will be soon possible to "protect" filters (or a whole connection) and
prevent members opened from those filters/connections to be saved.
Look here for more details: #1075
https://github.com/halcyon-tech/vscode-ibmi/pull/1075
—
Reply to this email directly, view it on GitHub
https://github.com/halcyon-tech/vscode-ibmi/issues/1099#issuecomment-1450612347,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKE4ELGF7PUCPLPEQDEYJTWZ6FFLANCNFSM6AAAAAAVMLTNRI
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Paolo Salvatore

Sorry Paolo, I removed my answer as I thought it was about QSYS members; I figured out it was about locking files in the workspace.
But in case I misunderstood and it still applies to your case, then the answer to your question is no, the protection is not spread remotely, it only prevent saving the opened source member from being saved from your code for i instance.
Let's say this will prevent you from modifying members, but not others 😉


No such file or directory error  for C:\Program after starting training when building custom classifier

No such file or directory error  for C:\Program in Session log after starting training on Windows box with GPU when building custom classifier as shown below, but processing continues anyway.
Also message about out-of-date YOLOv5

Starting training process...

train: weights=C:\Program Files\EcoAssist_files\pretrained_models\md_v5a.0.0.pt, cfg=, data=D:\Goanna Cam pics 2022_23 Ains_Maj 1.8M files 6.30Tb\Fox Magpie Chough 2\dataset.yaml, hyp=............\Program Files\EcoAssist_files\yolov5\data\hyps\hyp.scratch-low.yaml, epochs=300, batch_size=-1, imgsz=1280, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, noplots=False, evolve=None, bucket=, cache=None, image_weights=False, device=0, multi_scale=False, single_cls=False, optimizer=SGD, sync_bn=False, workers=4, project=Training 1000, name=exp, exist_ok=False, quad=False, cos_lr=False, label_smoothing=0.0, patience=100, freeze=[12], save_period=-1, seed=0, local_rank=-1, entity=None, upload_dataset=False, bbox_interval=-1, artifact_alias=latest
github:  YOLOv5 is out of date by 107 commits. Use 'git pull' or 'git clone https://github.com/ultralytics/yolov5' to update.
fatal: cannot change to 'C:\Program': No such file or directory
YOLOv5  2023-10-18 Python-3.8.15 torch-1.10.1 CUDA:0 (NVIDIA GeForce RTX 3060, 8192MiB)

This seems to be a problem regarding a space in the file path, more specifically C:\Program Files\EcoAssist_files\. I can't recreate the error on my M1 mac or Windows 11. Can you copy the model file C:\Program Files\EcoAssist_files\pretrained_models\md_v5a.0.0.pt and the YAML file C:\Program Files\EcoAssist_files\yolov5\data\hyps\hyp.scratch-low.yaml to a directory without spaces and try to run training again? You can select the model via custom model under "Retrain from" and the YAML file via Other under "Hyperparameter configuration file".


Test parser against real-world examples of warriors

There are some existing benchmarks and suites of warriors on koth.org – these can be used as a baseline for testing the parsing capabilities of the library.

Got pMARS building and found an additional warrior, reopening to test with canonical load files output by pMARS


Fix automated release CI job

Description of proposed changes

Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Codecov Report

Merging #1205 (c7d5911) into dev (ffb077b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #1205   +/-   ##
=======================================
  Coverage   69.59%   69.59%
=======================================
  Files         100      100
  Lines       11786    11786
  Branches       89       89
=======================================
  Hits         8203     8203
  Misses       3583     3583

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Ci job: https://github.com/gluwa/creditcoin/actions/runs/5601552547/jobs/10245599662
resulted in:

rebasing to remove a temporary commit which skips publishing the docker images.


handle network errors properly

If a network error occurs there is no "config" object in the response object which the leads to getting a property from undefined which bubbles up to the reject handler of the returned promise.
Because of this network errors cannot be properly handled.
In my case a retry of an login should only be attempted if the underlying error is a network error.

Thanks


Echo UI app doesn't start on cloud if the dependencies are not installed locally.

In lightning 1.8 release, it introduced functionality to start an app on the cloud without installing the dependencies locally. But it doesn't work with the Eco app.
It might be a bug in the framework, more investigation is required.
How to reproduce ?
pip install ligntning
git clone git@github.com:Lightning-AI/LAI-Echo-App.git
cd LAI-Echo-App
lightning run app app.py --cloud

Expected behavior:
The app starts on the cloud with a functional UI. (the UI return 502)

@manskx I don't believe this is related to dependencies. In the steps to reproduce, you didn't do the necessary steps to build the frontend (see the README.md). That could be why the UI is responding with HTTP 502.


The question

Is this library?

Sorry, what (or how) do you mean? This is a fork from original react-native-bi.-flatlist and just a conversion to use flashlist (which is faster version of flatlist)


Update 06_EvaluatingClassifiers_code.ipynb

I made a change on lines 499 and 500 so that the plot information matches the correct number of neighbors.
I hope I'm doing this correctly.  I've never really done much on github other than get copies of code.  Thanks!

You're welcome, and thank you so much!  It feels good to get this first PR under my belt.  It helped that my friend @antoknee-wx figured out that my first attempt was actually a pull request made to myself.  :)


tmp.waw and temp.wav

what are these tmp.wav and temp.wav in inference.py
i am getting no such file or directory when i try to denoise using pretrained models given by you
i had given
python inference.py --lipsync_student_model_path=<"C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech
-denoising-main\lipsync\checkpoints\lipsync_student.pth"> --checkpoint_path=<"C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\checkpoints\denoising.pt"> --input=
<"C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\timit_3spk.wav">
but i am getting this as an error(Please help me)
The system cannot find the file specified.
C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\librosa\util\decorators.py:88: UserWarning: PySoundFile failed. Trying audioread instead.
return f(*args, **kwargs)
Traceback (most recent call last):
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\librosa\core\audio.py", line 155, in load
context = sf.SoundFile(path)
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\soundfile.py", line 629, in init
self._file = self._open(file, mode_int, closefd)
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\soundfile.py", line 1183, in _open
_error_check(_snd.sf_error(file_ptr),
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\soundfile.py", line 1357, in _error_check
raise RuntimeError(prefix + _ffi.string(err_str).decode('utf-8', 'replace'))
RuntimeError: Error opening 'C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\timit_3spk.wav': System error.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\inference.py", line 292, in
predict(args)
File "C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\inference.py", line 175, in predict
inp_wav = load_wav(args)
File "C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\inference.py", line 22, in load_wav
wav = audio.load_wav(wav_file, sampling_rate)
File "C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\audio\audio_utils.py", line 8, in load_wav
return librosa.core.load(path, sr=sr)[0]
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\librosa\util\decorators.py", line 88, in inner_f
return f(*args, **kwargs)
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\librosa\core\audio.py", line 174, in load
y, sr_native = __audioread_load(path, offset, duration, dtype)
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\librosa\core\audio.py", line 198, in _audioread_load
with audioread.audio_open(path) as input_file:
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\audioread_init.py", line 111, in audio_open
return BackendClass(path)
File "C:\Users\savdo\AppData\Local\Programs\Python\Python39\lib\site-packages\audioread\rawread.py", line 62, in init
self._fh = open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\timit_3spk.wav'

Hi, the error says that there is an issue in opening your input file; your input file is not present in the path you have provided: FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\savdo\OneDrive\Desktop\major\pseudo-visual-speech-denoising-main\timit_3spk.wav
Make sure that your input file exists, the path that you provide is appropriate and it is not corrupted.


golangci-lint: 1.45.2 -> 1.46.2

Description of changes
Updating golangci-lint.
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.05 Release Notes (or backporting 21.11 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

[x] Fits CONTRIBUTING.md.

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

2 packages built:

golangci-lint
vimPlugins.vim-go


Add Cypress component testing to each component

Summary
Add Cypress component testing to each component
Create a separate pull request for each component

[ ] Accordion
[ ] Back to top
[ ] Badge
[ ] Breadcrumb
[ ] Card
[ ] Checkbox
[ ] Chip
[ ] Classification banner
[ ] Data entity
[ ] Data table
[ ] Date picker
[ ] Dialog
[ ] Empty state
[ ] Footer
[ ] Hero
[ ] Link
[ ] Loading Indicator
[ ] Page header
[ ] Pagination
[ ] Popover menu
[ ] Radio button
[ ] Search Bar
[ ] Section container
[ ] Side Navigation
[ ] Skeleton
[ ] Status tag
[ ] Stepper
[ ] Switch
[ ] Tabs
[ ] Text field
[ ] Toast
[ ] Tooltip
[ ] Top navigation
[ ] Typography

Issue closed as this task is covered by individual tickets such as https://github.com/mi6/ic-ui-kit/issues/1393


Error loading in sample data

When trying to load in the sample data using the command python load_data.py docker rebuild sample, a Traceback occurs:
Traceback (most recent call last):
  File "load_data.py", line 175, in <module>
    main(database_choice, meta_path, manifest_path, keep_temp_files = True)
  File "load_data.py", line 111, in main
    name= cleaner_class_name)
  File "/code/python/housinginsights/ingestion/functions.py", line 106, in get_cleaner_from_name
    Class_ = getattr(Cleaners, name)
AttributeError: module 'housinginsights.ingestion.Cleaners' has no attribute 'ACSRentCleaner'

This is due to a few fields in the meta.json and sample_meta.json that have not been updated since a recent re-factoring.
UPDATE:  I have a fix for this, it is coming in a PR shortly.

This can be closed


Feature/improve itf

Description of the Change
This PR represents the first bunch of Integration Test Framework improvements.

Benefits

Docstrings are added to public methods of ITF.
Destruction of ITF now will cause call of done (dropStorage) if no custom deleter was provided.
Added regression test that uses the rest previously unused ITF methods.
Added test for sequential initialization of two Iroha instances (test simulates the crash of the first instance - ITF destructed without a call of done).
Added test for double call of done.

Also update your branch?


Spanish translation shows German text for some untranslated strings

OK, this is perplexing. The German translation had trouble with some strings being in Spanish, and they fixed it. So now some strings show up in German on the Spanish translation?
Do we have a specific string? I haven't looked yet.

I'm pretty sure I know what the problem is and I should have a fix shortly.


Add a Swagger-UI plugin

https://docs.rs/utoipa/latest/utoipa/
https://docs.rs/utoipa-swagger-ui/3.0.1/utoipa_swagger_ui/index.html
these two crates allow developers to create a playground for their RestAPI's, making api's easy to test and play around with.
the documentation itself would look like this: (this example documents the actixweb Auth endpoints)
use actix_http::StatusCode;
use actix_web::cookie::{Cookie, SameSite};
use actix_web::{delete, get, post, web, Error as AWError, Result};
use actix_web::{
    web::{Data, Json, Path, Query},
    HttpRequest, HttpResponse,
};
use serde_json::json;
use utoipa::OpenApi;

use crate::pagination::PaginationParams;
use crate::services::auth::{
    controller,
    controller::{
        ActivationInput, ChangeInput, ForgotInput, LoginInput, RegisterInput, ResetInput,
        COOKIE_NAME,
    },
    Auth, AuthMessageResponse, AuthTokenResponse, UserSessionJson, UserSessionResponse,
};
use crate::services::JwtSecurityAddon;
use create_rust_app::Database;
use create_rust_app::Mailer;

/// handler for GET requests at the .../sessions endpoint,
///
/// requires auth
///
/// queries [`db`](`Database`) for all sessions owned by the User
/// associated with [`auth`](`Auth`)
///
/// breaks up the results of that query as defined by [`info`](`PaginationParams`)
#[utoipa::path(
    context_path = "/api/auth",
    params(PaginationParams),
    responses(
        (status = 200, description = "success, returns a json payload with all the sessions belonging to the authenticated user", body = UserSessionResponse),
        (status = 401, description = "Error: Unauthorized"),
        (status = 500, description = "Could not fetch sessions."),
    ),
    tag = "Sessions",
    security ( ("JWT" = []))
)]
#[get("/sessions")]
async fn sessions(
    db: Data<Database>,
    auth: Auth,
    Query(info): Query<PaginationParams>,
) -> Result<HttpResponse> {
    let result =
        web::block(move || controller::get_sessions(db.into_inner().as_ref(), &auth, &info))
            .await?;

    match result {
        Ok(sessions) => Ok(HttpResponse::Ok().json(sessions)),
        Err((status_code, error_message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": error_message }).to_string())),
    }
}

/// handler for DELETE requests at the .../sessions/{id} endpoint.
///
/// requires auth
///
/// deletes the entry in the `user_session` with the specified [`item_id`](`ID`) from
/// [`db`](`Database`) if it's owned by the User associated with [`auth`](`Auth`)
#[utoipa::path(
    context_path = "/api/auth",
    responses(
        (status = 200, description = "Deleted", body = AuthMessageResponse),
        (status = 401, description = "User not authenticated"),
        (status = 404, description = "User session could not be found, or does not belong to authenticated user.", body = AuthMessageResponse),
        (status = 500, description = "Internal Error.", body = AuthMessageResponse),
        (status = 500, description = "Could not delete session.", body = AuthMessageResponse),
    ),
    tag = "Sessions",
    security ( ("JWT" = []))
)]
#[delete("/sessions/{id}")]
async fn destroy_session(
    db: Data<Database>,
    item_id: Path<i32>,
    auth: Auth,
) -> Result<HttpResponse> {
    let result =
        web::block(move || controller::destroy_session(&db, &auth, item_id.into_inner())).await?;

    match result {
        Ok(_) => Ok(
            HttpResponse::build(StatusCode::OK).body(json!({"message": "Deleted."}).to_string())
        ),
        Err((status_code, error_message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": error_message }).to_string())),
    }
}

/// handler for DELETE requests at the .../sessions enpoint
///
/// requires auth
///
/// destroys all entries in the `user_session` table in [`db`](`Database`) owned
/// by the User associated with [`auth`](`Auth`)
#[utoipa::path(
    context_path = "/api/auth",
    responses(
        (status = 200, description = "Deleted", body = AuthMessageResponse),
        (status = 401, description = "User not authenticated"),
        (status = 500, description = "Could not delete sessions.", body = AuthMessageResponse),
    ),
    tag = "Sessions",
    security ( ("JWT" = []))
)]
#[delete("/sessions")]
async fn destroy_sessions(db: Data<Database>, auth: Auth) -> Result<HttpResponse, AWError> {
    let result = web::block(move || controller::destroy_sessions(&db, &auth)).await?;

    match result {
        Ok(_) => Ok(
            HttpResponse::build(StatusCode::OK).body(json!({"message": "Deleted."}).to_string())
        ),
        Err((status_code, error_message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": error_message }).to_string())),
    }
}

/// handler for POST requests at the .../login endpoint
///
/// creates a user session for the user associated with [`item`](`LoginInput`)
/// in the request body (have the `content-type` header set to `application/json` and content that can be deserialized into [`LoginInput`])
#[utoipa::path(
    context_path = "/api/auth",
    request_body(content = LoginInput, content_type = "application/json"),
    responses(
        (status = 200, description = "Deleted", body = AuthTokenResponse),
        (status = 400, description = "'device' cannot be longer than 256 characters.", body = AuthMessageResponse),
        (status = 400, description = "Account has not been activated.", body = AuthMessageResponse),
        (status = 401, description = "Invalid credentials.", body = AuthMessageResponse),
        (status = 500, description = "An internal server error occurred.", body = AuthMessageResponse),
        (status = 500, description = "Could not create a session.", body = AuthMessageResponse),
    ),
    tag = "Sessions",
)]
#[post("/login")]
async fn login(db: Data<Database>, Json(item): Json<LoginInput>) -> Result<HttpResponse, AWError> {
    let result = web::block(move || controller::login(&db, &item)).await?;

    match result {
        Ok((access_token, refresh_token)) => Ok(HttpResponse::build(StatusCode::OK)
            .cookie(
                Cookie::build(COOKIE_NAME, refresh_token)
                    .secure(true)
                    .http_only(true)
                    .same_site(SameSite::Strict)
                    .finish(),
            )
            .body(json!({ "access_token": access_token }).to_string())),
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// handler for POST requests to the .../logout endpount
///
/// If this is successful, delete the cookie storing the refresh token
///
/// TODO: document that it creates a refresh_token
#[utoipa::path(
    context_path = "/api/auth",
    responses(
        (status = 200, description = "deletes the \"refresh_token\" cookie"),
        (status = 401, description = "Invalid session.", body = AuthMessageResponse),
        (status = 401, description = "Could not delete session.", body = AuthMessageResponse),
    ),
    tag = "Sessions",
)]
#[post("/logout")]
async fn logout(db: Data<Database>, req: HttpRequest) -> Result<HttpResponse, AWError> {
    let refresh_token = req
        .cookie(COOKIE_NAME)
        .map(|cookie| String::from(cookie.value()));

    let result =
        web::block(move || controller::logout(&db, refresh_token.as_ref().map(|t| t.as_ref())))
            .await?;

    match result {
        Ok(_) => {
            let mut cookie = Cookie::named(COOKIE_NAME);
            cookie.make_removal();

            Ok(HttpResponse::Ok().cookie(cookie).finish())
        }
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// handler for POST requests to the .../refresh endpoint
///
/// refreshes the user session associated with the clients refresh_token cookie
///
/// TODO: document that it needs a refresh_token cookie
#[utoipa::path(
    context_path = "/api/auth",
    responses(
        (status = 200, description = "uses the \"refresh_token\" cookie to give the user a new session", body=AuthTokenResponse),
        (status = 401, description = "Invalid session.", body = AuthMessageResponse),
        (status = 401, description = "Invalid token.", body = AuthMessageResponse),
    ),
    tag = "Sessions",
)]
#[post("/refresh")]
async fn refresh(db: Data<Database>, req: HttpRequest) -> Result<HttpResponse, AWError> {
    let refresh_token = req
        .cookie(COOKIE_NAME)
        .map(|cookie| String::from(cookie.value()));

    let result =
        web::block(move || controller::refresh(&db, refresh_token.as_ref().map(|t| t.as_ref())))
            .await?;

    match result {
        Ok((access_token, refresh_token)) => Ok(HttpResponse::build(StatusCode::OK)
            .cookie(
                Cookie::build(COOKIE_NAME, refresh_token)
                    .secure(true)
                    .http_only(true)
                    .same_site(SameSite::Strict)
                    .finish(),
            )
            .body(json!({ "access_token": access_token }).to_string())),
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// handler for POST requests to the .../register endpoint
///
/// creates a new User with the information in [`item`](`RegisterInput`)
///
/// sends an email, using [`mailer`](`Mailer`), to the email address in [`item`](`RegisterInput`)
/// that contains a unique link that allows the recipient to activate the account associated with
/// that email address
#[utoipa::path(
    context_path = "/api/auth",
    request_body(content = RegisterInput, content_type = "application/json"),
    responses(
        (status = 200, description = "Success, sends an email to the user with a link that will let them activate their account", body=AuthMessageResponse),
        (status = 400, description = "Already registered.", body = AuthMessageResponse),
    ),
    tag = "Users",
)]
#[post("/register")]
async fn register(
    db: Data<Database>,
    Json(item): Json<RegisterInput>,
    mailer: Data<Mailer>,
) -> Result<HttpResponse, AWError> {
    let result = controller::register(&db, &item, &mailer);

    match result {
        Ok(()) => Ok(HttpResponse::build(StatusCode::OK)
            .body("{ \"message\": \"Registered! Check your email to activate your account.\" }")),
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// handler for GET requests to the .../activate endpoint
///
/// activates the account associated with the token in [`item`](`ActivationInput`)
#[utoipa::path(
    context_path = "/api/auth",
    params(ActivationInput),
    responses(
        (status = 200, description = "Success, account associated with activation_token is activated", body=AuthMessageResponse),
        (status = 200, description = "Already activated.", body = AuthMessageResponse),
        (status = 400, description =  "Invalid token.", body = AuthMessageResponse),
        (status = 401, description =  "Invalid token", body = AuthMessageResponse),
        (status = 500, description =  "Could not activate user. ", body = AuthMessageResponse),
    ),
    tag = "Users",
)]
#[get("/activate")]
async fn activate(
    db: Data<Database>,
    Query(item): Query<ActivationInput>,
    mailer: Data<Mailer>,
) -> Result<HttpResponse, AWError> {
    let result = controller::activate(&db, &item, &mailer);

    match result {
        Ok(()) => Ok(HttpResponse::build(StatusCode::OK).body("{ \"message\": \"Activated!\" }")),
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// handler for POST requests to the .../forgot endpoint
///
/// sends an email to the email in the ['ForgotInput'] Json in the request body
/// that will allow the user associated with that email to change their password
///
/// sends an email, using [`mailer`](`Mailer`), to the email address in [`item`](`RegisterInput`)
/// that contains a unique link that allows the recipient to reset the password
/// of the account associated with that email address (or create a new account if there is
/// no accound accosiated with the email address)
#[utoipa::path(
    context_path = "/api/auth",
    request_body(content = ForgotInput, content_type = "application/json"),
    responses(
        (status = 200, description = "Success, password reset email is sent to users email", body=AuthMessageResponse),
    ),
    tag = "Users",
)]
#[post("/forgot")]
async fn forgot_password(
    db: Data<Database>,
    Json(item): Json<ForgotInput>,
    mailer: Data<Mailer>,
) -> Result<HttpResponse, AWError> {
    let result = controller::forgot_password(&db, &item, &mailer);

    match result {
        Ok(()) => Ok(HttpResponse::build(StatusCode::OK)
            .body("{ \"message\": \"Please check your email.\" }")),
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// handler for POST requests to the .../change endpoint
///
/// requires auth
///
/// change the password of the User associated with [`auth`](`Auth`)
/// from [`item.old_password`](`ChangeInput`) to [`item.new_password`](`ChangeInput`)
#[utoipa::path(
    context_path = "/api/auth",
    request_body(content = ChangeInput, content_type = "application/json"),
    responses(
        (status = 200, description = "Success, password changed", body=AuthMessageResponse),
        (status = 400, description = "Missing password.", body=AuthMessageResponse),
        (status = 400, description = "The new password must be different.", body=AuthMessageResponse),
        (status = 400, description = "Account has not been activated.", body=AuthMessageResponse),
        (status = 400, description = "Invalid credentials.", body=AuthMessageResponse),
        (status = 500, description = "Could not find user.", body=AuthMessageResponse),
        (status = 500, description = "Could not update password.", body=AuthMessageResponse),
    ),
    tag = "Users",
    security ( ("JWT" = []))
)]
#[post("/change")]
async fn change_password(
    db: Data<Database>,
    Json(item): Json<ChangeInput>,
    auth: Auth,
    mailer: Data<Mailer>,
) -> Result<HttpResponse, AWError> {
    let result = controller::change_password(&db, &item, &auth, &mailer);

    match result {
        Ok(()) => Ok(HttpResponse::build(StatusCode::OK)
            .body(json!({"message": "Password changed."}).to_string())),
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// handler for POST requests to the .../check endpoint
///
/// requires auth, but doesn't match it to a user
///
/// see [`controller::check`]
///
/// # Responses
/// | StatusCode | content |
/// |:------------|---------|
/// | 200 | ()
#[utoipa::path(
    context_path = "/api/auth",
    responses(
        (status = 200, description = "Success"),
    ),
    tag = "Users",
    security ( ("JWT" = []))
)]
#[post("/check")]
async fn check(auth: Auth) -> HttpResponse {
    controller::check(&auth);
    HttpResponse::Ok().finish()
}

/// handler for POST requests to the .../reset endpoint
///
/// changes the password of the user associated with [`item.reset_token`](`ResetInput`)
/// to [`item.new_password`](`ResetInput`)
#[utoipa::path(
    context_path = "/api/auth",
    request_body(content = ResetInput, content_type = "application/json"),
    responses(
        (status = 200, description = "Password changed.", body=AuthMessageResponse),
        (status = 400, description = "Invalid token.", body=AuthMessageResponse),
        (status = 400, description = "Account has not been activated.", body=AuthMessageResponse),
        (status = 400, description = "The new password must be different.", body=AuthMessageResponse),
        (status = 401, description = "Invalid token.", body=AuthMessageResponse),
        (status = 500, description = "Could not update password.", body=AuthMessageResponse),
    ),
    tag = "Users",
)]
#[post("/reset")]
async fn reset_password(
    db: Data<Database>,
    Json(item): Json<ResetInput>,
    mailer: Data<Mailer>,
) -> Result<HttpResponse, AWError> {
    let result = controller::reset_password(&db, &item, &mailer);

    match result {
        Ok(()) => Ok(HttpResponse::build(StatusCode::OK)
            .body(json!({"message": "Password reset"}).to_string())),
        Err((status_code, message)) => Ok(HttpResponse::build(
            StatusCode::from_u16(status_code as u16).unwrap(),
        )
        .body(json!({ "message": message }).to_string())),
    }
}

/// returns the endpoints for the Auth service
pub fn endpoints(scope: actix_web::Scope) -> actix_web::Scope {
    scope
        .service(sessions)
        .service(destroy_session)
        .service(destroy_sessions)
        .service(login)
        .service(logout)
        .service(check)
        .service(refresh)
        .service(register)
        .service(activate)
        .service(forgot_password)
        .service(change_password)
        .service(reset_password)
}

// swagger
#[derive(OpenApi)]
#[openapi(
    paths(sessions, destroy_session, destroy_sessions, login, logout, refresh, register, activate, forgot_password, change_password, check, reset_password),
    components(
        schemas(UserSessionResponse, UserSessionJson, AuthMessageResponse, AuthTokenResponse, LoginInput, RegisterInput, ForgotInput, ChangeInput, ResetInput)
    ),
    tags(
        (name = "Auth", description = "users and user_sessions management endpoints"),
        (name = "Sessions", description = "Endpoints for user_sessions management"),
        (name = "Users", description = "Endpoints for useres management"),
    ),
    modifiers(&JwtSecurityAddon)
)]
pub struct ApiDoc;

and serving the ui involves adding
            use utoipa::OpenApi;
            use utoipa_swagger_ui::{SwaggerUi, Url};
            app = app.service(SwaggerUi::new("/swagger-ui/{_:.*}").urls(vec![
                (
                    Url::new("auth", "/api-doc/openapi_auth.json"),
                    services::auth::ApiDoc::openapi(),
                ),
                ...
            ]));

to the main #[cfg(debug_assertions)] block in a projects main.rs file
the resulting UI looks something like this

the UI also shows all the documented responses and requests, the format of said requests, and even allows you to directly interact with the API with the "Try it out" button:

Really cool, I think this would make a great plugin :)
Regarding the crate you mentioned:

Even if there is no example for your favorite framework utoipa can be used with any web framework which supports decorating functions with macros similarly to warp and tide examples.

I guess that makes this a better choice over something like poem-openapi :)

I implemented it for the Auth endpoints with the actix backend, I don't know how to use poem so I didn't implement it for poem. PR coming in the next few minutes
I'll need to make a PR to add it to dsync if we want better integration with utoipa


Document missing?

📚 Documentation
It seems that some documents are missing from the Web: https://fairseq.readthedocs.io/en/latest/command_line_tools.html

Is this change intentional?

Thanks for reporting, it's fixed now :)

Thank you for quick fix 👍


Conversations

the topics will naturally grow into conversations. It should be possible to

view the topics by conversation
join a conversation
subscribe to alerts in a conversation

:+1:

Does this refer to commenting on someone else's post?  Or is this something else?


Integrate Chromium Edge (by listing ahead like Chrome?)

As Chromium Edge is now available (as preview)

https://blogs.windows.com/msedgedev/2019/04/08/microsoft-edge-preview-channel-details/
https://www.theverge.com/2019/4/8/18300077/microsoft-edge-chromium-canary-development-release-download
https://www.microsoftedgeinsider.com/en-us/

it would probably be nice to have entries for those versions, e.g. by listing ahead like Chrome.
Currently Dev reports as 74

and Canary as 75

The corresponding version of Chrome is probably most accurate as base for the support data?

Has now been added (currently based on Chromium 75)

Very noice, thanks!


Feature: AISO support

This is relevant for all Audio- Video Content Creators. Currently the Peak Volume is 0 when I play audio over the ASIO Protocol.
Steps to reproduce:

install ASIO driver https://www.asio4all.org/
install a free DAW https://www.reaper.fm/download.php
start reaper and select audio device driver, set Audio system to "ASIO", ASIO driver to "ASIO4ALL v2"
drag and drop audio file into reaper and play
check sensor value

Got it, will do :)
I've created a ticket: hassagent-133.
Closing this one to keep the github list tidy, but I'll report back here once it's done!

Awesome, thank you very much!


1.4-8 update

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Delay when searching

Great extension - thanks!!!
Minor quibble, when I start typing in the 'search in title' box there's always a small freeze up while the browser iterates through all my tabs.
Is it possible to filter asynchronously? By that I mean, do the filtering in a thread such that the UI isn't blocked.

I updated background.js, options.js, and options.html so that the tabs are tracked by the background script instead of being newly loaded when opening options.html. It has definitely made the delay a lot shorter.
How should I submit these changes?

@dkline03 thanks! If we're lucky @sylouuu will respond to a PR...

Hi @ajostergaard & @dkline03
Sorry for the delay, it seems I didn't watch my own repository so I didn't receive the notifications until I got mentioned by @ajostergaard.
About the topic, @ajostergaard, when you start typing in search box, there is no live iterations. Listed tabs are live refreshed, the search computing is made by Angular itself on this standard Javascript object. You may experience a freeze if you so many tabs?
@dkline03 I'm not sure if your changes are related to this topic but you can find on the Web how to contribute on GitHub, check this guide or browse the GitHub Help Center.
Best


Fix pilot race errors

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test release-notes_istio

unit-tests_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

blocked by https://github.com/istio/istio/pull/26078
/retest

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test unit-tests_istio

integ-security-k8s-tests_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test integ-security-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-k8s-tests_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test integ-security-k8s-tests_istio

unit-tests_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-distroless-k8s-tests_istio
f00b22159a7ad8cafb146d2c1676b3d50d8901ac
link
/test integ-distroless-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

/cherrypick release-1.7

@ramaraochavali: #26077 failed to apply on top of branch "release-1.7":

In response to this:

/cherrypick release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@ramaraochavali: new issue created for failed cherrypick: #26102

In response to this:

/cherrypick release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn Could you please create a manual cherry pick for 1.7?


reset the PTO count when dropping a packet number space

See https://github.com/quicwg/base-drafts/pull/3415.

Codecov Report

Merging #2402 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master   #2402      +/-   ##
=========================================
+ Coverage    85.9%   85.9%   +<.01%
=========================================
  Files         119     119
  Lines        8935    8936       +1
=========================================
+ Hits         7675    7676       +1
  Misses        932     932
  Partials      328     328

Impacted Files
Coverage Δ

internal/ackhandler/sent_packet_handler.go
76.82% <100%> (+0.06%)
:arrow_up:

Continue to review full report at Codecov.

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


[Discussion] Use of embeddings with Codex.

Hi Dave,
I follow you since the raven project and read one of your online book about AGI. Great and inspiring writing.
I'm testing codex for a while and wonder if this wiki-approach would work with embeddings and a code base too?
Codex is cut-off in 2021, so I would like to "update" the model with a current code base and asks questions or generating methods, classes, functions etc and codex considers the provided code base.
Could this be achieved with embeddings?
Would I need to generate the embeddings word-wise, line-wise or class-wise or maybe file-wise?
If you have an idea, I'm eager to hear from you.

This Issue name is not good, and the description does not clarify what you're asking. Can you please update the issue name and clarify the description?

Sorry, if my description confuses. English is not my native language.
I want to know, if it is possible to use embeddings with the Codex model and what have to be considered.
For example, I want to write code or refactoring code with the help of the codex model, but codex knowledge is cutted-off at the year 2021. So for this issue my idea would be to transform the library in use into embeddings.
My question now is, wether it is possible and if yes, how this can be done? Is the use of embeddings a got idea or is there a better technical way?

The purpose would be to add more coding capabilities?


Common deployment elements between environments

It would be good if there would be the idea of extending deploymentEnvironments, for example having a base deploymentEnvironment with some deploymentNodes, and then two deploymentEnvironment with some extended nodes. I understans some basic extension could be done with includes, but a first class language feature would be very useful.
Single node vs multi node for example have a lot of things in common.
I think that inheritance here is the right concept.
So you define the nested hierarchy (environment-nodes-containers) and then you inherit and extend (environment-node-more_containers) by name, optionally more_nodes.

If I understand correctly, I think this is what deployment groups are meant for...
Think something along the lines of the following:
workspace {

    model {
        softwareSystem = softwareSystem "Software System" {
            database = container "Database"
            api = container "Service API" {
                -> database "Uses"
            }
        }

        commonSoftwareSystem = softwareSystem "Common Service"

        api -> commonSoftwareSystem "Uses shared service"

        deploymentEnvironment "Example 1" {
            deploymentNode "Server 1" {
                containerInstance api
                containerInstance database
            }
            deploymentNode "Server 2" {
                containerInstance api
                containerInstance database
            }
        }

        deploymentEnvironment "Example 2" {
            serviceInstance1 = deploymentGroup "Service Instance 1"
            serviceInstance2 = deploymentGroup "Service Instance 2"
            deploymentNode "Server 1" {
                containerInstance api serviceInstance1
                containerInstance database serviceInstance1
            }
            deploymentNode "Server 2" {
                containerInstance api serviceInstance2
                containerInstance database serviceInstance2
            }

            deploymentNode "Server 3" {
                softwareSystemInstance commonSoftwareSystem serviceInstance1,serviceInstance2
            }

        }
    }

    views {
        deployment * "Example 1" {
            include *
            autolayout
        }

        deployment * "Example 2" {
            include *
            autolayout
        }
    }

}

Thanks @pkunze , this is not exactly what I mean.
What I want is a mean of reuse, that's why I bring inheritance (as in object oriented design), and avoid copy/paste. I don't want to create artificial deploymentNodes because of this.

@simonbrowndotje I'd like either !ref or extends for cases like this:
workspace {

    model {
        ss1 = softwareSystem "Software System" {
            database = container "Database"
            api = container "Service API" {
                -> database "Uses"
            }
        }

        ss2 = !ref ss1 {    # or extends ss1
            db2 = container "db2"
        }
    }

    views {
        container ss2 {
            include *
            autolayout
        }
    }
}

Note: I specially would like to extend deployment environments within the same model, despite I think the feature should be useful for any type of entity.

Closing as not planned ... I'd recommend building yourself a DSL plugin to clone deployment environments, as that's probably much more straightforward than modifying the DSL and parser.

But an entity is a closed object, once cloned I won't be able to extend it (eg append more containerinstances), will I? The only solution I can think is, given two entities, implement a union operator and obtain a new resulting one.
What do you think?

We will try to implement the originally requested feature as a plugin:
workspace {

    model {
        ss1 = softwareSystem "Software System" {
            database = container "Database"
            api = container "Service API" {
                -> database "Uses"
            }
        }

        ss2 = softwareSystem "s2" {
            db2 = container "db2"
        }
    }

     !plugin "extend" {
         base "ss1"
         der "ss2"
     }

    views {
        container ss2 {
            include *
            autolayout
        }
    }
}

(Don't remember if the syntax is correct). I will report back.


[v1.34.0] Fix alias bug on fetch command

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
Fixes
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce to agents-aea?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the develop branch (left side). Also you should start your branch off our develop.
[ ] Lint and unit tests pass locally with my changes and CI passes too
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that code coverage does not decrease.
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Codecov Report
Patch coverage: 85.71% and no project coverage change.

Comparison is base (2076d12) 92.51% compared to head (11d9543) 92.51%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #630   +/-   ##
=======================================
  Coverage   92.51%   92.51%
=======================================
  Files         370      370
  Lines       29536    29535    -1
=======================================
  Hits        27325    27325
+ Misses       2211     2210    -1

Flag
Coverage Δ

unittests
92.51% <85.71%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

aea/cli/fetch.py
96.61% <85.71%> (-0.03%)
:arrow_down:

... and 1 file with indirect coverage changes

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


snap: Fix broken link in README

The Integration with docker link in
README is broken. Fix it.
Fixes: #133
Signed-off-by: Nitesh Konkar<EMAIL_ADDRESS>

@jodh-intel @grahamwhaley

lgtm


Only one error displayed?

Hello there form validation seems to stop at the first element with an error.
I've a form with multiple required fields but if i don't "compile" two or more of the required fields I get only the error text for the firstone.

You want the validatePastFirstError option - see https://github.com/caolan/forms#supported-options


Update Settings “general”

Automatically generated by Netlify CMS

👷 Deploy Preview for ahmadrahman processing.

Name
Link

🔨 Latest commit
392c72c1a2d842e9acf683e89c3d2d379db29f86

🔍 Latest deploy log
https://app.netlify.com/sites/ahmadrahman/deploys/65ff61999c9b400008304252


fix(statusbar): fix statusbar message

The status bar should hide when the active editor language is different from git-commit whichever the document changed.
ref: #78

@joshbolduc I investigated which extension keeps triggering and outputting the language ID of code-runner-output, and finally found that it is formulahendry.code-runner. 😅
But after I close this extension, some others still trigger and outputs Log, This time I closed all the extensions and still couldn't solve it. 😢
So I checked the check logic here and felt that since there is a more precise judgment (judging whether the language ID of the currently active editor is git-commit), I can use it directly. Finally, if not, Then hide the statusbar directly, if it is, it should do grammatical judgment. 😀

Do you have a set of repro steps for this bug? For me the status bar already seems to be hidden when I switch editors away from a git-commit type doc.

@joshbolduc Not a bug for the docs which is not the git-commit type. 😅
When the docs' language ID is git-commit, it still has triggered with a language ID of Log every second whether you change words or not(I have no other extension). This will lead the extension to use updateStatusBar(), But the language ID of the current active editor is git-commit, so it will not hide the statusbar but change the description with 0 rules loaded.
My simple reproduction steps:

add a new txt as test.txt.
set the language ID of the test.txt to git-commit.
change the word to activate the extension.
It will show 0 rules loaded.

Oh, it looks like it's related to having the Output view open. Interesting....

@joshbolduc You are right. Only when I open the output channel view, will have a mistake with the statusbar message.
It works well without the output channel opened. 😀

Thanks for helping bring this issue to my attention! I ended up digging in a bit more and came up with a more minimal fix in #149. The status bar handling could use a rethink anyway, but for now I think it'll do.


Divine Smite incorrect

6.0.54
Divine smite rolls 3d6 for damage instead of 2d8, also doesnt deal radiant damage

Is this the spell or the feature for 2014? Useful to provide a bit more context here

Fixed in next update.


Example 1:
PF2e Workbench module Treat Wounds
When using the Treat Wounds macro a d20 roll is expected followed by d8 rolls of healing/damage depending on degree of success of d20 roll (1, 2, or 4).
Using Unfulfilled Rolls, the first d20 roll is prompting input as expected, but then immediately opens and closes the d8 prompt and exits without rolling any d8s.
Without Unfulfilled Rolls:
https://github.com/foundryvtt/unfulfilled-rolls/assets/113755707/7f91f27b-cd6d-49de-b5fc-a95d0b8a3097
With Unfulfilled Rolls:
https://github.com/foundryvtt/unfulfilled-rolls/assets/113755707/65c3c790-f6e3-4106-b402-afadb210ebaa

Example 2:
PF2E Action Support module Double Slice
When using the Double Slice macro two attack rolls are intended to be rolled and damage combined based on the outcome of the rolls.
Using Unfulfilled Rolls, the first attack is rolled as expected with a popup requesting the input. However, no more rolls are asked for and the macro appears to simply get stuck. No further damage rolls nor normal attacks can be made until a reload is completed and macro is dropped out of.
Without Unfulfilled Rolls:
https://github.com/foundryvtt/unfulfilled-rolls/assets/113755707/a33e8eac-c929-4bd1-8115-4b4353286d55
With Unfulfilled Rolls:
https://github.com/foundryvtt/unfulfilled-rolls/assets/113755707/d53c9f93-e037-49bb-91a3-579d34744d04

this macro can reproduce the issue:
let roll = await new Roll("1d20").evaluate({async:true})
roll = await new Roll("1d20").evaluate({async:true})

the second dialog won't be shown

It looks like this issue happens in many instances in which a macro would roll consecutive rolls. Such as rolling a D20 for a flat DC 5 check due to concealment before rolling a D20 against AC to hit right after. Any modules that have this functionality or any macros made cause Unfulfilled Rolls to simply fail and not prompt after the first roll.


Run Tests against Postgres database

Is your feature request related to a problem? Please describe.
It would be better to use the same type of database to run tests. If any breaking changes on database connection layer (either code or package update) would not be hidden on tests.
Describe the solution you'd like
Switch from SQLite to Postgres.
Extra info
I can work on it.

This is planned.
I have this functionality already written (but commented out) in the conftest.py, and the settings.py is set up to read test database variables from the environment :
# Setup the TEST Postgresql database.
test_db_user = "my_db_username"
test_db_password = "Sup3rS3cr3tP455w0rd"
test_db_address = "localhost"
test_db_port = "5432"
test_db_name = "api-template-test"

SQLite is a much easier system to set up as most users don't have a local Postgres database (yes, Docker makes that easier but again not everyone uses, can use, even or wants to use that).
I have been (and still am) concentrating on writing the tests. Once that is done, I will open the option to use Postgres for testing. myself :+1:

All the above was easily done, Postgres is working fine on GitHub actions and the tests will use it if in CI or the variable TEST_WITH_POSTGRES is True.
The issue is that many tests fail (or async hang) under Postgres either locally or remotely. :sob:
It is not an issue with the test cases or database incompatibility, but the way I am using async tests with the patched database. Hope to fix this today depending on time.

GitHub has the ability to run a Postgresql service during a GitHub action, so I can update the Tests Action to create and use this. A simple check in the conftest.py can detect if running under CI and switch to using that Postgres service.
I prefer to keep the local tests running SQLite by default - all access goes through the same ORM commands regardless of whether we are using Postgres or SQLite. The ORM maintainer updates the relevant driver as needed so there should not be breaking changes (and if so the online CI would catch it). The simple fact is not everyone can run a local Postgresql server or Docker.
However, I also will add an env variable like FORCE_TEST_POSTGRESQL or whatever that will switch to using Postgresql locally as well and can be picked up by the Docker container.
I also plan to remove all TEST_DB_xxx variables except the TEST_DB_NAME, since they should be the same anyway.

Hey @seapagan, yeah, I remember that, while playing around with tests.
Let me know if you need some help/ideas.

Hey @seapagan, yeah, I remember that, while playing around with tests.
Let me know if you need some help/ideas.

I got sidetracked over the weekend on other projects and also completing #126 and implementing #127 (discussion at #128),
It's prob a simple fix to the get_db fixture and database provisioning, I hope to get back to this PR soonest.

Just an update on this ticket.
I'm working on PR #140, converting the database system to SQLAlchemy ORM (from encode/databases), which seems a better and more maintained way of getting Async database usage. I've also upgraded to SQLAlchemy 2.0, necessitating some fair code changes.
I'm currently working on getting the tests running. When that is merged, I'll back-port the Postgres testing from #125 as well which should finally close this ticket.

Another update :grin:
GitHub actions are working fine on the 'develop' branch under Postgres. However, the Integration tests are turned off until I fix a few issues (Unit tests ok). I am overhauling the pytest setup/teardown config. I should get that sorted when I have time to work on it.

This has been completed with the 0.5.0 release. closing.


Update README.md

making sure I got the CI/CD pipe laid to aid the rabbitholed

seems to be working out okay.  wait till lunch, check with peers, dear!

ok

oopsies

do it

Hey @GHAJW,
Please do not submit irrelevant PR and updating it for no reason.


App for ios

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
H

Can you explain what your problem is and how we can help you?

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like A clear and concise description of what you want to happen.
Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.
Additional context Add any other context or screenshots about the feature request here.
H

Can you explain what your problem is and how we can help you?

unable to figure out what your real problem is.

unable to figure out what your real problem is.


orchestrastrator 3.1.0 fails to run on centos7

Hello, just downloaded new release, but unable to run with following issue:
# wget https://github.com/github/orchestrator/releases/download/v3.1.0/orchestrator-3.1.0-1.x86_64.rpm
# yum install orchestrator-3.1.0-1.x86_64.rpm
# /usr/local/orchestrator/orchestrator
bash: /usr/local/orchestrator/orchestrator: /lib/ld-musl-x86_64.so.1: bad ELF interpreter: No such file or directory
# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

whats wrong?
thank you!

Bummer. Seems similar to https://github.com/apex/up/issues/734. Also:

https://github.com/blang/golang-alpine-docker

looking into

Fixed in https://github.com/github/orchestrator/releases/tag/v3.1.1


Buttons don't work on Chrome or Safari on iOS

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to https://friendlychat-1234.firebaseapp.com/ from Chrome or Safari on iOS 14.5
Click on sign in, or try to send a message
Nothing happens. After you try 4 or more times it sometimes works.
Works fine on desktop

@sherifomar yikes! This does seem to be true, thank you for reporting this.

I believe it has to do with how mobile Safari handles click/submit events, because the buttons fire reliably if you double tap them. I found this Stack Overflow answer where people were having a similar problem. Will look into this more

I believe it's caused by this issue in the UI library we're using: https://github.com/google/material-design-lite/issues/5281

any updates on this?


Apply root-path for multi-body expectactions

From<EMAIL_ADDRESS>on November 22, 2011 17:03:33
expect().
root("store.book").
body(
"price.min()", is(8.95)).
"price.max()", is(22.99)).
"max { it.price }.title", is("The Lord of the Rings")).
"findAll { it.price < 10 }.title", hasItems("Sayings of the Century", "Moby Dick")).
"author*.length().sum()", allOf(greaterThan(10), lessThan(1100))).
"author.any { name -> name == 'Nigel Rees' }", is(true)).
when().
get("/jsonStore");
Root path is not applied for these kinds of body expecations.
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=135

From<EMAIL_ADDRESS>on November 23, 2011 07:59:15
Status: Fixed


ClockFace: add settings support

The idea is you can specify a settingsFile in options, and it will be loaded directly into the clock object. (i.e. not inside a separate settings property, as I figured that only makes accessing settings more verbose.)
loadWidgets is special: it defaults to true, when false it prevents the call to Bangle.loadWidgets() (and we check if WIDGETS is loaded before calling drawWidgets()
showDate doesn't do anything special, but it does default to true
Also adds ClockFace_menu, although at the moment it only has two boolean menu options... Still cuts down on the boilerplate though.

Thanks! Merging, but...
I notice when using the settings, you do:
  const menu = {
    "": {"title": /*LANG*/"Bar Clock"},
    /*LANG*/"Show date": require("ClockFace_menu").showDate(s.showDate, saver('showDate')),
    /*LANG*/"Load widgets": require("ClockFace_menu").loadWidgets(s.loadWidgets, saver('loadWidgets')),
   // ...
  };

  E.showMenu(menu);

Do you think it would make sense to just have:
const menu = {
    "": {"title": /*LANG*/"Bar Clock"},
   // ...
  };
  require("ClockFace_menu").addMenu(menu, saver, { date:true, loadWidgets:true });
  E.showMenu(menu);

Then we keep all the names for menu items the same?

Do you think it would make sense to just have require("ClockFace_menu").addMenu(

Thanks, that's much cleaner. I will rewrite it to do that. (Good thing I didn't get round to converting a ton of clocks yet ;-)


Neustift

will be peer-reviewed by zora and lilian

Thanks! I will merge this now to see how it looks and ask to do the review in a second PR.


ENYO-6151: High contrast disabled opacity fix

Checklist

[x] I have read and understand the contribution guide

[x] A CHANGELOG entry is included

[ ] At least one test case is included for this feature or bug fix

[x] Documentation was added or is not needed

[ ] This is an API breaking change

Issue Resolved / Feature Added
Fix moonstone/DatePicker, moonstone/DayPicker, moonstone/ExpandableList, and moonstone/TimePicker disabled opacity to be consistent across high contrast skins.
Root cause:
When there are two layers in a component that receive disabled prop, both of these layers will also receive disabled rules from .moonstone/.moonstone-light; as a result it can be visibly seen that opacity disabled rule is applied twice.
To counter this, one layer has to explicitly unset the default disabled rules as seen on L49. This allows ExpandableItem to have full opacity while its child LabeledItem will be visibly disabled as normal.
The issue is reintroduced when .highContrast is applied, and the default disabled opacity rule has a higher specificity as a result, overriding L49.
.moon-disabled() is created to make sure that L49 is applied in .highContrast mode by also specifying the rules in .moonstone.highContrast and moonstone-light.highContrast.
Links
ENYO-6151

@teckliew Can you add some explanation to the description on the root cause of the problem and why the proposed fix resolves it? :awthanks:

:yougotitdude:

@teckliew Thanks for the analysis on this. I think you're on the right track with a specificity fix. I searched through the code base for other instances of .disabled() with opacity and found that the other cases were wrapped with .applySkins() as well which fixes the specificity issue.
What do you think of changing ExpandableItem to wrap .disabled() with .applySkins() as well?

Yep that sounds good 👍


ash_time < xact_start

Sometimes the values of the ash_time is less than xact_start or query_start. In my opinion this is incorrect. For example, in oracle-db in a similar v$active_session_history, sample_time is always greater than or equal to the query start time (sql_exec_start).
It is possible to get it from the database simultaneously with the pg_stat_activity data?

I think i know where it comes from. Can you please confirm or not that when it happens the difference between the ash_time and query_start is <= 1 second (sampling interval).

ash_time difference:
select min(query_start-ash_time) min_qry_ash_dif
,max(query_start-ash_time) max_qry_ash_dif
,min(xact_start-ash_time) min_xact_ash_dif
,max(xact_start-ash_time) max_xact_ash_dif
from public.pg_active_session_history ash
where ash_time<xact_start;

min_qry_ash_dif
max_qry_ash_dif
min_xact_ash_dif
max_xact_ash_dif

00:00:00.029176
00:00:01.003396
00:00:00.029176
00:00:01.003347

snapshot accuracy:
with ash as (
select ash_time, lag(ash_time) over(order by ash_time) ash_prev
from (select distinct ash_time from public.pg_active_session_history) gg
)
select min(ash_time-ash_prev) min_time_dif, max(ash_time-ash_prev) max_time_dif
from ash;

min_time_dif
max_time_dif

00:00:01.001783
00:00:01.013304

Thanks for the report. Last commit should fix this behavior.


donejs init on an already init-ed project

When you run npm init on a project that was already init-ed, the prompt goes through it's files. It will only change a value that it prompted for, it won't affect the rest of the existing package.json.
When you do donejs init, we have to be careful because there are prompts from Yeoman that could potentially overwrite index files.  I get that it's more of a Yeoman issue but we could get around it by adding a prompt that does something like:
Regenerate base files? (y/N) _

N being the default when a project already exists. Y kicks off Yeoman and we can handle the overwriting prompts then.

Closing for #59


Removed trailing spaces from breadcrumb items

The extra space after the <a> tag was actually showing up before the last breadcrumb item due to the way Angular inserts comments for ng-switch, pushing the final step one em to the right.

Coverage remained the same at 96.55% when pulling bc276ed5351a586d4a6dc83ada0687e6ca485344 on philBrown:patch-1 into 884d9acb2059993e721e44e790969d783a1b6ce9 on ncuillery:master.

Good catch, thanks !


Work toward retiring the Wiki in favor of ottrproject.org

ottrproject.org is more approachable than the wiki of this repository. Eventually we want to retire the wiki here and have everything that we need on ottrproject.org (its github repo is here: https://github.com/jhudsl/ottr-website)
But for now we will keep the wiki alive because it does contain information that is not yet recorded on the website.

I'm going to close the issue though.


[Feature Request] Every Input share the same autocomplete.

Existing Component
Yes
Component Name
Input
Description
Now element UI creates an autocomplete div for every edited Input. So if I have hundreds of edited Input in one page, It becomes very very lag.
So please provide an option to share autocomplete div, thanks.

We have no plan to support this.


fix rasa test when one token has multiple entity annotations

Rasa Open Source version
2.8
Rasa SDK version
No response
Rasa X version
No response
Python version
3.8
What operating system are you using?
OSX
What happened?
more context and initial solutions in #10394 (2.8.x) and #10404 (#3.0.x)
Command / Request
No response
Relevant log output
No response
Definition of Done:

[x] The proposed solution investigated in terms of data format, generalizability across customers.
[x] Get other teams (CSE, Enable) aligned on the proposed solution
[ ] Based on the decisions above, create an issue for:

[ ] Review the PR
[ ] New version with enhancement released
[ ] Decide if the fix should be backported to 2.8.x
[ ] Docs are updated

We decided together with CSE that the proposed format is fine.

PR merged into 2.8.x