Discussion - Add id to prophecies?

The rest client interface requires a  lot of paramaters to query a prophecy, so means an annoying time making the request:
	r.HandleFunc(fmt.Sprintf("/%s/prophecies/{%s}/{%s}/{%s}/{%s}/{%s}/{%s}", storeName, restEthereumChainID, restBridgeContract, restNonce, restSymbol, restTokenContract, restEthereumSender), getProphecyHandler(cliCtx, storeName)).Methods("GET")

This could be improved by adding an id to the prophecy object and allow for querying just by id. This probably makes sense, though should be thought through more - there are a bunch of implications of adding ids, like:

more space used
doesn't improve UX for end users at all really, only devEX for developers building ontop of peggy, which is a minor efficiency difference anyway. End users will likely eventually interact with these systems through some frontend/UI/dapp, where the chainid/contract/nonce/etc will likely be either hardcoded, or selectable in a dropdown, or remembered from previous usage.
having an id and endpoint based on id means that prophecies can no longer be retrieved easily by deterministically working out the url based on what original request they got triggered by, and there are likely some consumers based that need this characteristic. we can of course still leave this compound-key endpoint in, in addition to adding a single-key id endpoint, so that those needs are still met
clients/fat web apps that are built in future consuming this UI now also may need to keep track of ids, and the id will be generated server(blockchain) side and so they need to get it from the server
most transactions/requests will likely come in asynchronously, where it is not possible to return the id in that request, so consumers will need to do a second query later on, or wait for transaction confirmation until they get the id back and know what it is.

anyway, as mentioned, we could also have both query endpoints in so may make sense to go ahead with adding ids

I think it makes sense to add a prophecy ID to simplify things, as devEX is crucial in getting Peggy integrated into user facing applications. This is also closer to what we're doing with the prophecy ID on the Ethereum side. In order to generate/store the ID on the server (blockchain), will there be an additional Msg similar to the LogNewProphecyClaim event?

Yep agree.  My above points signal that it could make devX worse for some use cases /integrations though, so should think about it in terms of how consumers will use it more and then make a decision

See the governance module. All proposals contain a proposal Id.
Another benefit of implementing this is that it reduces the size of the key to access the value on the KVStore


Unable to instantiate a Java callback using CLI

What version of Flyway are you using?
4.2.0
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin, SBT plugin, ANT tasks)
CLI and Maven 3.3.3
What database are you using (type & version)?
Oracle 12
What operating system are you using?
Docker container and Windows 7
What did you do?
(Please include the content causing the issue, any relevant configuration settings, and the command you ran)
I use flyway command-line in a docker container to apply my migration scripts. I now have to add a Java callback in my implementation. The callback can successfully be detected and launch through the flyway-maven-plugin, with a  definition in the pom.xml. I generate a JAR of this project.
I now want to run it with the command line. The following command works, my SQL migrations are applied
flyway repair migrate      -locations=path/to/sql/migration     -url=...
If I add my callback, in this way, it tells me the following error
flyway repair migrate      -locations=path/to/sql/migration      -callbacks=com.company.MyCallback     -url=...
Unable to instantiate class "com.company.MyCallback"
I also tried the jarDirs option, but same error
flyway repair migrate      -locations=path/to/sql/migration      -jarDirs=/folder/containing/the/jar/i/generated     -callbacks=com.company.MyCallback     -url=...
What did you expect to see?
My callback to be executed
What did you see instead?
Flyway 4.2.0 by Boxfuse
ERROR: Unable to instantiate class: com.company.MyCallback

Is this a confirmed bug? Is there no known workaround to execute callbacks with the flyway cli or gradle tasks?

I am unable to reproduce this. Please try again with Flyway 5.0.3 and add -X to also print debug output.
If the problem persists, please share the exact steps you took as well as the full debug output.


Training dataset (WeatherKITTI dataset)

Dear author,
Thank you for your contributions.
I attempted to download the wonderful WeatherKITTIdataset, but I wasn't successful. My goal is to perform some predictions using the WeatherKITTIdataset to showcase your contributions and to understand the learning process.
Could you please provide me with one image each of relative adverse weather and adverse weather?
I look forward to your reply.

Thank you for your attention!
https://pan.baidu.com/s/1pew0QV3Tza-_JdalC8F0jQ?pwd=v4dt#list/path=%2F
The above link is the test split of weather KITTI
If you can't download, maybe you can copy the image below:
relative adverse

adverse

Thank you for your wonderful work!


ci: add go 1.12 and 1.13, build with 1.13

Codecov Report

Merging #11 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #11   +/-   ##
=======================================
  Coverage   58.85%   58.85%
=======================================
  Files           7        7
  Lines        1344     1344
=======================================
  Hits          791      791
  Misses        382      382
  Partials      171      171

Flag
Coverage Δ

#
58.85% <ø> (ø)
:arrow_up:

#go111x
58.85% <ø> (ø)
:arrow_up:

#go112x
58.85% <ø> (?)

#go113x
58.85% <ø> (?)

#gotip
?

#linux
58.85% <ø> (ø)
:arrow_up:

#osx
58.85% <ø> (ø)
: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 2b81de2...3802d79. Read the comment docs.


Add live site e2e tests

[x] Add a protractor configuration that hits the live site with the e2e tests.
[x] Live e2e should run all tests, no partial runs.

Currently fails because of #24.


Cold/Flu: Contact info edit from UAT testing

User Story
“As an administrator of the Cold and Flu program. I want user to contact me ONLY through the group email box so I don't miss messages going to phone which only Heather has access to.”
Tasks
Please remove phone number from the contact info in the 1st section on the Cold and Flu form

Acceptance Criteria
No phone number for cold and flu program displayed

Phone number has been removed.

thanks looks great PO APPOROVED and closed (Deployto PROD)

Confirmed that the phone number has been removed ✅
Closing ticket.


grpc_xds_features.md: Add RBAC

We should probably order it in the existing release chronological order instead of ordering based on gRFC number. WDYT?

Unclear. That's what I brought up on Sanjay's PR. There is not a total ordering based on release version as different languages get features in different orders and different times. (Most of the initial features were core, so there was a clearly defined progression as they built on each other; that'll no longer be the case.)

I prefer continuing with the current ordering based on the release version as long as possible. So far it is fine within each language. Why break the ordering now?

"All orders were equivalent" until security/A29. And in #28001 it ended with "I am open to sorting on the gRFC number, but can be decided later and in a separate PR." So in my mind there's really no "breaking the ordering now" because it is just an arbitrary order. But I've gone ahead and reordered it here.


Platform: upgrade query string to URLSearchParams

https://nodejs.org/api/querystring.html

@jonathanong i can do that but just wanted to know why the #1574 & 1575 has not been accepted since ?

@jonathanong I've made a PR for this issue


Passing in username or username + password in url doesn't seem to work

I'm using current content from master.
Passing in username in url doesn't seem to work.  Also passing in password ie /ssh/?pass= does not work.
To Reproduce
Steps to reproduce the behavior:

Navigate to wetty url passing in /ssh/
ex: http://<IP_ADDRESS>:3000/wetty/ssh/dshaw
Username is not passed in

Expected behavior
I'm expecting my username to be passed in, it's not
-OS: Centos 7

Ive only been able to replicate the pass word issue locally.
any logs would be good

Actually issue with passing password though http param is not having sshpass installed locally.

Let me get logs and post, I have sshpass installed locally.
Thanks for the response!

@butlerx  Let me know if there is anything else I can do to try to help debug.
Thanks in advance!
Under each test case

Username is never passed
Password is never passed
Wetty always presents the same login screen (need to provider username and password)

I don't see anything in journalctl, posted logs output from running wetty in a screen as root.
Basic info:
Wetty started via: node index.js -p 3000 --host <IP_ADDRESS>
Wetty started from: /usr/local/share/.config/yarn/global/node_modules/wetty
SShpass version: 1.06

On branch master
[root@devdocker wetty]# git log
commit 758e9a486d9ec097da4a68b5407ee6d65d4a268c
Author: butlerx<EMAIL_ADDRESS>Date:   Thu Aug 27 09:54:55 2020 +0100
update lock file

Case 1: Pass in username only
http://<IP_ADDRESS>:3000/wetty/ssh/dshaw
[root@devdocker wetty]# node index.js -p 3000 --host <IP_ADDRESS> {"port":3000,"base":"/wetty/","title":"WeTTy - The Web Terminal Emulator","level":"info","message":"Starting server","label":"Wetty","timestamp":"2020-08-19T10:23:29.947Z"} {"port":3000,"connection":"http","level":"info","message":"Server started","label":"Wetty","timestamp":"2020-08-19T10:23:29.964Z"} {"meta":{"req":{"url":"/wetty/ssh/dshaw","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","upgrade-insecure-requests":"1"},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/ssh/dshaw","query":{}},"res":{"statusCode":200},"responseTime":8},"level":"info","message":"HTTP GET /wetty/ssh/dshaw","label":"Wetty","timestamp":"2020-08-19T10:24:12.407Z"} {"meta":{"req":{"url":"/wetty/public/index.css","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","referer":"http://<IP_ADDRESS>:3000/wetty/ssh/dshaw"},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/public/index.css","query":{}},"res":{"statusCode":200},"responseTime":17},"level":"info","message":"HTTP GET /wetty/public/index.css","label":"Wetty","timestamp":"2020-08-19T10:24:12.495Z"} {"meta":{"req":{"url":"/wetty/public/index.js","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","referer":"http://<IP_ADDRESS>:3000/wetty/ssh/dshaw"},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/public/index.js","query":{}},"res":{"statusCode":200},"responseTime":68},"level":"info","message":"HTTP GET /wetty/public/index.js","label":"Wetty","timestamp":"2020-08-19T10:24:12.656Z"} {"message":"Connection accepted.","level":"info","label":"Wetty","timestamp":"2020-08-19T10:24:12.766Z"} {"pid":22062,"address":"localhost","level":"info","message":"Process Started on behalf of user","label":"Wetty","timestamp":"2020-08-19T10:24:12.774Z"} {"meta":{"req":{"url":"/favicon.ico","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"image/webp,*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","cookie":"io=kFXZzM4yZrzMB8gzAAAA"},"method":"GET","httpVersion":"1.1","originalUrl":"/favicon.ico","query":{}},"res":{"statusCode":200},"responseTime":6},"level":"info","message":"HTTP GET /favicon.ico","label":"Wetty","timestamp":"2020-08-19T10:24:12.795Z"}
Case 2: Pass in username and password using get arg 'pass'
http://<IP_ADDRESS>:3000/wetty/ssh/dshaw?pass=dshaw
{"code":0,"pid":22067,"level":"info","message":"Process exited","label":"Wetty","timestamp":"2020-08-19T10:27:25.598Z"} {"meta":{"req":{"url":"/wetty/ssh/dshaw?pass=dshaw","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","cookie":"io=rLqMZwfDB3Uz4ACMAAAC","upgrade-insecure-requests":"1","if-none-match":"W/\"326-NEPQ7SnapzbJhgNZr41V6mm+uUU\""},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/ssh/dshaw?pass=dshaw","query":{"pass":"dshaw"}},"res":{"statusCode":304},"responseTime":1},"level":"info","message":"HTTP GET /wetty/ssh/dshaw?pass=dshaw","label":"Wetty","timestamp":"2020-08-19T10:27:25.601Z"} {"code":0,"pid":22067,"level":"info","message":"Process exited","label":"Wetty","timestamp":"2020-08-19T10:27:25.603Z"} {"meta":{"req":{"url":"/wetty/public/index.css","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","referer":"http://<IP_ADDRESS>:3000/wetty/ssh/dshaw?pass=dshaw","cookie":"io=rLqMZwfDB3Uz4ACMAAAC","if-modified-since":"Thu, 27 Aug 2020 15:35:58 GMT","if-none-match":"W/\"1088-174308fb677\""},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/public/index.css","query":{}},"res":{"statusCode":304},"responseTime":1},"level":"info","message":"HTTP GET /wetty/public/index.css","label":"Wetty","timestamp":"2020-08-19T10:27:25.659Z"} {"meta":{"req":{"url":"/wetty/public/index.js","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","referer":"http://<IP_ADDRESS>:3000/wetty/ssh/dshaw?pass=dshaw","cookie":"io=rLqMZwfDB3Uz4ACMAAAC","if-modified-since":"Thu, 27 Aug 2020 15:35:58 GMT","if-none-match":"W/\"72d3f-174308fb677\""},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/public/index.js","query":{}},"res":{"statusCode":304},"responseTime":1},"level":"info","message":"HTTP GET /wetty/public/index.js","label":"Wetty","timestamp":"2020-08-19T10:27:25.698Z"} {"message":"Connection accepted.","level":"info","label":"Wetty","timestamp":"2020-08-19T10:27:25.808Z"} {"pid":22069,"address":"localhost","level":"info","message":"Process Started on behalf of user","label":"Wetty","timestamp":"2020-08-19T10:27:25.812Z"}
Case 3: Pass in username and password using get arg 'sshpass'
http://<IP_ADDRESS>:3000/wetty/ssh/dshaw?sshpass=dshaw
{"meta":{"req":{"url":"/wetty/ssh/dshaw?sshpass=dshaw","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","cookie":"io=kFXZzM4yZrzMB8gzAAAA","upgrade-insecure-requests":"1"},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/ssh/dshaw?sshpass=dshaw","query":{"sshpass":"dshaw"}},"res":{"statusCode":200},"responseTime":1},"level":"info","message":"HTTP GET /wetty/ssh/dshaw?sshpass=dshaw","label":"Wetty","timestamp":"2020-08-19T10:25:52.424Z"} {"meta":{"req":{"url":"/wetty/public/index.css","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","referer":"http://<IP_ADDRESS>:3000/wetty/ssh/dshaw?sshpass=dshaw","cookie":"io=kFXZzM4yZrzMB8gzAAAA","if-modified-since":"Thu, 27 Aug 2020 15:35:58 GMT","if-none-match":"W/\"1088-174308fb677\""},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/public/index.css","query":{}},"res":{"statusCode":304},"responseTime":2},"level":"info","message":"HTTP GET /wetty/public/index.css","label":"Wetty","timestamp":"2020-08-19T10:25:52.491Z"} {"meta":{"req":{"url":"/wetty/public/index.js","headers":{"host":"<IP_ADDRESS>:3000","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","dnt":"1","connection":"keep-alive","referer":"http://<IP_ADDRESS>:3000/wetty/ssh/dshaw?sshpass=dshaw","cookie":"io=kFXZzM4yZrzMB8gzAAAA","if-modified-since":"Thu, 27 Aug 2020 15:35:58 GMT","if-none-match":"W/\"72d3f-174308fb677\""},"method":"GET","httpVersion":"1.1","originalUrl":"/wetty/public/index.js","query":{}},"res":{"statusCode":304},"responseTime":1},"level":"info","message":"HTTP GET /wetty/public/index.js","label":"Wetty","timestamp":"2020-08-19T10:25:52.532Z"} {"message":"Connection accepted.","level":"info","label":"Wetty","timestamp":"2020-08-19T10:25:52.640Z"} {"pid":22065,"address":"localhost","level":"info","message":"Process Started on behalf of user","label":"Wetty","timestamp":"2020-08-19T10:25:52.644Z"}

I do have the same issue.


Some types don't resolve anymore after updating to 1.2.1

After removing the Types construct as recommended in #84, some types don't resolve anymore.
So far I've been able to narrow it down to:

Union types
Connection types
Types in an array
Also types of fields on the type in an array no longer resolve and need to be included in the Types construct

If I keep the Types construct (which is deprecated) to include the types above and still remove all instances of TypeReference in the schema, it resolves.

Oh dang! Thanks for reporting @cshadek!
From a quick initial investigation, I'm seeing that the Graphiti tests for resolution are passing on union types, array types, and type fields within arrays. We don't seem to have any tests on ConnectionTypes though.
Do you have a schema I could use to recreate the issues you are seeing? It would help me diagnose the issue and I'd love to use it to write testing coverage if we're missing it!
Thanks again!

So I'm not entirely sure why this worked, but I was able to get the Union types and Array types to resolve by changing how the schema was declared.
I was using the old way:
static func schema() throws -> Schema<MainAPI, UserContext> {

and am now doing it as recommended:
let schema = try! Schema<RootResolver, UserContext>(coders: coders) {

For some reason this one change caused the Union and Array types to resolve.  I don't really understand why.
Still the connection types are not resolving and then also it seems that nested types inside array types are not resolving either.
Unfortunately, I can't share the exact schema as it's proprietary.
Here's an example:
Type(ParentObject.self, interfaces: [InterfaceA.self, InterfaceB.self]) {
                Field("objects", at: ParentObject.objects, as: [ObjectA].self)
 }

Type(ObjectA.self, interfaces: [InterfaceA.self]) {
                Field("objectB", at: ObjectA.objectB, as: ObjectB?.self)
                Field("objectC", at: ObjectA.objectC, as: ObjectC?.self)
 }

Type(ObjectB.self) {
...
}

Type(ObjectC.self) {
....
 }

ParentObject, ObjectA, ObjectB, and ObjectC are all Codable types.
I haven't confirmed yet if the schema I just created above resolves or not.  I'll check on that, but this is a rough recreation of the schema in question.
In my schema when I comment out the line with the array, all the types resolve.  So, I figure it must have to do with the array part.
The actual schema is much more extensive, but this is what seems to be causing a problem.  For some reason, ObjectB and ObjectC don't get resolved unless I include them in the Types construct.  The server returns an error on introspection.
The only other cause I could think of is if the depth of the schema graph matters.  Both ObjectB and ObjectC in my case are nested several layers down the graph.

Darn, I'm still having trouble recreating this. I built the test file below based on your example and everything still worked. What is the specific error that you are seeing? And is it on the Schema creation or the query resolution step?
import Graphiti
import NIO
import XCTest

private protocol InterfaceA: Codable {
    var interfaceAField: String? { get }
}
private protocol InterfaceB: Codable {
    var interfaceBField: String? { get }
}
private struct ParentObject: Codable, InterfaceA, InterfaceB {
    let interfaceAField: String?
    let interfaceBField: String?
    let objects: [ObjectA]
}
private struct ObjectA: Codable, InterfaceA {
    let interfaceAField: String?
    let objectB: ObjectB?
    let objectC: ObjectC?
}
private struct ObjectB: Codable {
    let scalar: String
}
private struct ObjectC: Codable {
    let scalar: String
}
private struct TestResolver {
    func parentObject(context _: NoContext, arguments _: NoArguments) -> ParentObject {
        return ParentObject(
            interfaceAField: "ParentObject is A",
            interfaceBField: "ParentObject is B",
            objects: [
                ObjectA(
                    interfaceAField: "ObjectA1 is A",
                    objectB: ObjectB(scalar: "I'm A1's B"),
                    objectC: ObjectC(scalar: "I'm A1's C")
                ),
                ObjectA(
                    interfaceAField: "ObjectA2 is A",
                    objectB: ObjectB(scalar: "I'm A2's B"),
                    objectC: ObjectC(scalar: "I'm A2's C")
                )
            ]
        )
    }
}
private class TestAPI<Resolver, ContextType>: API {
    public let resolver: Resolver
    public let schema: Schema<Resolver, ContextType>

    init(resolver: Resolver, schema: Schema<Resolver, ContextType>) {
        self.resolver = resolver
        self.schema = schema
    }
}

class ReportedTests: XCTestCase {
    func testReportedError() throws {
        let testSchema = try Schema<TestResolver, NoContext> {
            Interface(InterfaceA.self) {
                Field("interfaceAField", at: \.interfaceAField)
            }
            Interface(InterfaceB.self) {
                Field("interfaceBField", at: \.interfaceBField)
            }

            Type(ParentObject.self, interfaces: [InterfaceA.self, InterfaceB.self]) {
                Field("interfaceAField", at: \.interfaceAField)
                Field("interfaceBField", at: \.interfaceBField)
                Field("objects", at: \.objects, as: [ObjectA].self)
            }
            Type(ObjectA.self, interfaces: [InterfaceA.self]) {
                Field("interfaceAField", at: \.interfaceAField)
                Field("objectB", at: \.objectB, as: ObjectB?.self)
                Field("objectC", at: \.objectC, as: ObjectC?.self)
            }
            Type(ObjectB.self) {
                Field("scalar", at: \.scalar)
            }
            Type(ObjectC.self) {
                Field("scalar", at: \.scalar)
            }

            Query {
                Field("parentObject", at: TestResolver.parentObject)
            }
        }
        let api = TestAPI<TestResolver, NoContext>(
            resolver: TestResolver(),
            schema: testSchema
        )

        let group = MultiThreadedEventLoopGroup(numberOfThreads: System.coreCount)
        defer { try? group.syncShutdownGracefully() }

        print(
            try api.execute(
                request: """
                query {
                  parentObject {
                    interfaceAField
                    interfaceBField
                    objects {
                        interfaceAField
                        objectB {
                            scalar
                        }
                        objectC {
                            scalar
                        }
                    }
                  }
                }
                """,
                context: NoContext(),
                on: group
            ).wait()
        )
//        Prints:
//        {
//          "data": {
//            "parentObject": {
//              "interfaceAField": "ParentObject is A",
//              "interfaceBField": "ParentObject is B",
//              "objects": [
//                {
//                  "interfaceAField": "ObjectA1 is A",
//                  "objectB": {
//                    "scalar": "I'm A1's B"
//                  },
//                  "objectC": {
//                    "scalar": "I'm A1's C"
//                  }
//                },
//                {
//                  "interfaceAField": "ObjectA2 is A",
//                  "objectB": {
//                    "scalar": "I'm A2's B"
//                  },
//                  "objectC": {
//                    "scalar": "I'm A2's C"
//                  }
//                }
//              ]
//            }
//          }
//        }
    }
}

Sorry for just jumping to the conversation here.
I am also interested in which types wouldn't resolve and whether that's an issue during the schema building or the resolving process.
In my case, Both Union and Array types are working fine for me, even with using
func schema() throws -> Schema<Resolver, Context> {

Resolving union

Resolving other types within an Array

I have the working example here
https://github.com/d-exclaimation/pioneer-example/tree/v1
Not sure whether there are other requirements needed to recreate the issue or whether my example is even relevant to the issue to begin with.

Hey @cshadek, have you been able to get a reproducer of this issue? If not, I'm planning to close it with the can't reproduce status. Thanks!

I was able to fix the issue by reordering some of the declarations, and I'm still not sure why the issue was happening.
It's still a problem with ConnectionTypes right? I haven't checked in a while - I still have a Types block with all my ConnectionTypes.

@cshadek Yeah, there used to be some weird ordering requirements but they should have been resolved by https://github.com/GraphQLSwift/Graphiti/pull/84 and https://github.com/GraphQLSwift/Graphiti/pull/90
As for ConnectionTypes, I'm not sure. I wasn't able to recreate the issue. If you can get me a reproducer, I'd be happy to debug.

So I just checked and ConnectionTypes seem to work fine now without the Types block, so I'll close this issue.


Activity

Added index html and style.css

Congratulation @maryamsaye  you code has been approved and you can now merge it 🎉


Highlight the selected process better

Description of the feature, modification, idea or suggestion
Since there is lot of color going on, it is hard to quickly find selected process/row. Make it easy to identify selected process.
Proposed implementation details (optional)
No response

Change TreeListCustomColorsEnable to 1 and relaunch the app


can´t scroll logs

HI, awesome project.
Is there a way to see the latest logs?
When window is complete I don´t know what is happening

Press F1 to see the server log. I also added overflow: auto to #serverLog CSS in index.html to allow for scrolling of the server log when its contents are larger than the main window.

Closed via ee2264b8a43d1aeb9e091d8942e65a152d09bcf5

Thanks for reporting this issue!!!


pubsub API: allow registering a callback for batches of messages

The old API allowed you to operate on batches of messages. Sometimes, this is advantageous as you can aggregate other calls. With the current API, this is non trivial.
So, I think (if the underlying code supports it), adding, either a parameter to open(), or another function open_many() that'll always return a list (there could be a limit in the flow control), even if it's just with one item would be useful.

/cc @kir-titievsky @lukesneeringer
Curious to your thoughts on this. It would actually be relatively trivial to implement.

We could just have a batch=True in the open method on the subscription that fired the callback once per message or in the chunk.
I would be less enthusiastic about implementing our own batches (e.g. "call the callback once you get 50 messages but not before"), but sending whatever comes through the stream at a time is wholly reasonable.

With Luke on the they why do this and how to if we do. The “why not” here
is that we now need to explain to users how batching works (why certain
messages are delivered in batches but not others). And this is not
straightforward. Maybe that’s OK.
More interesting is that we may now need to think of other language APIs.
What about a separate utility batching class (the one Luke does not want to
implement :)? Sort of.
This class is kind of like a set (so you can use its add method as a
callback). But it knows how to call another callback that processes
batches. Maybe even configurable the same way we process publish batching.
This could be handy for other APIs.
On Tue, Mar 6, 2018 at 5:52 PM Luke Sneeringer<EMAIL_ADDRESS>wrote:

We could just have a batch=True in the open method on the subscription
that fired the callback once per message or in the chunk.
I would be less enthusiastic about implementing our own batches (e.g.
"call the callback once you get 50 messages but not before"), but sending
whatever comes through the stream at a time is wholly reasonable.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-python/issues/4994#issuecomment-370958201,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARrMFkx8-hZClEUfji72SXSUDEdBMFhjks5tbxMrgaJpZM4SfcIk
.

--
Kir Titievsky | Product Manager | Google Cloud Pub/Sub

While I'm not 100% sure of how batched messages will come from streaming API, vs the old pull (where messages accumulate as you're processing), a best effort batching should at least alleviate some of the issues, for high rate queues, and might even improve performance.
As far as documenting it, since I'm not familiar with the specifics, I cannot explain how it works, but just mentioning it's not guaranteed to batch messages would be enough for me to understand.

To @kir-titievsky's point, we need to consider two separate approaches to this:

Simple - just remove the "send messages on at a time to the executor" behavior. We get a list of messages on every response from the server. We can just send those to your callback. Kir makes a great point that this is non-deterministic- we have no control over how many items the server sends. Your callback may get anywhere from 1 to 100.
Provide a batch utility. This would look more like the publisher batch - we would have a max_messages_per_batch and max_latency_per_batch config. The subscriber would receive messages from the server as normal but instead of sending one message at a time, it would hold on to them until either threshold is reached. This behavior is clearer but there is one quirk: the subscriber will hold on to overflow messages and give them to the next batch.

WDYT?
btw, the "simple" method is easily possible for users to do today with the current interface.

Copying in this issue as I requested the same feature in that issue: https://github.com/GoogleCloudPlatform/google-cloud-python/issues/4141

What's the status on this? Batching of messages seems a very common requirement.

@psalaberria002 This is an old feature request, but nevertheless - I am working on this right now and will submit a PR shortly. The change will allow users to optionally provide batch=True argument to subscriber.open(), which will result in callbacks being invoked with batches of received messages, as opposed to a single message per callback invocation.

I'm going to remove the "triaged for GA" label. The goal of GA will be parity with other GA implementations.  Other GA implementations don't currently have this feature.

Since I was almost done with the implementation, I still opened a pull request that adds this feature, but put it on hold for now.

Just for the reference, this has been put on hold for the time being, because a consistency across PubSub clients for other languages is desired. Once this feature is officially accepted, the now-closed PR can be re-opened.


improve matching: match globs and paths

Sometimes fileMatch can be a glob pattern or a path, but at the moment I am only matching exact filenames

https://github.com/chris48s/v8r/commit/d5a3b9c979236f1e72627bd9884f2735bf5c50ad


Try to ensure badge appears up-to-date

Summary of changes

I added a query string to the image URL in an attempt to cause a cache miss. I think some web browsers will still cache the image, since the query string doesn't change; but I want to confirm over time.

@pkalita-lbl I would like to merge this. It doesn't effect the schema.

Sure, go for it


Area Widget Control UX overlap issue

When you add a 2 column content area, the controls overlap the "+" button used to add content:
https://www.dropbox.com/s/4x6qgkh922qbi82/Screenshot 2016-10-14 15.22.51.png?dl=0
Figure out a way to have the controls and add content! :)
This is not an issue with other content types since you are usually adding content when you first add it.

addressed in #1153


Ignore major version updates to typedoc-plugin-markdown and eslint

The major version upgrades to the eslint and typedoc-plugin-markdown dependencies require some more significant refactors of the existing code. For now, these updates will be turned off to produce less dependabot noise.

@edwardsph they are not listed in any of the package.json files in examples/ or in e2e/


Screen flashes/shows terminal whenever I run flake8

First of all, awesome plugin -- this is fantastic.
That said, having a bit of an issue. Whenever I run this plugin by hitting  the terminal window pops up and it's kind of annoying/distracting.
Here's a gif of the issue: http://recordit.co/59aP65CQxL
Has anyone else had a similar problem? What was the solution?

@peterdolan if the PR is accepted, that should fix your issue.
If the PR is not accepted, you can try my fork:
https://github.com/antoinemadec/vim-flake8
Cheers,
Antoine


Windows Installation Issues?

So when getting protobuf on windows, I dont understand what it means when it says to put files in $PROTOBUF$/lib and stuff, since those arent even folders?

http://prntscr.com/c1pvm6
variable name:PROTOBUF
path: folder path dir
what you did to get build? I'm trying something hours but nothing
only thing that has these files are nothing:
'Libprotobuf.lib'
http://prntscr.com/c1pvzb
help me :S

Wait but it says but the include files in $(LIBPROTOBUF)/include so??? Also which lib folder do i put the libprotobuf.lib file in.

any folder
$(LIBPROTOBUF) It is a variable system
which should contain the path of the folder
Ex:
LIBPROTOBUF = C:\test
and in folder:
C:\test\
It has 'include' folder and 'lib' folder.

@BrunoGysin So then you put the libprotobuf.lib in that lib foler, and all the include files in that folder?

create new folder Exemplo: 'Test', in 'Test' folder Create new folder with name 'lib', in 'lib' folder add 'libprotobuf.lib'. Back to 'Test' folder, copy 'include' folder and paste in 'Test' folder.

@BrunoGysin Ok thats what i did, but i still cant install node-protobuf

me too

try to import the precompiled version of protobuf linked in #1 - or get a VM/vServer with Ubuntu to avoid the Windows pain. Cheers!


Normalized location and fixed SLA for RAGZRS storage

Description
Normalized location and fixed SLA for RAGZRS storage
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[x] Unit tests passing

Codecov Report

Merging #80 (c25a38f) into main (f32a8ab) will increase coverage by 0.07%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main      #80      +/-   ##
==========================================
+ Coverage   40.18%   40.25%   +0.07%
==========================================
  Files          46       46
  Lines        2618     2618
==========================================
+ Hits         1052     1054       +2
+ Misses       1532     1530       -2
  Partials       34       34

Impacted Files
Coverage Δ

internal/scanners/st/rules.go
82.08% <66.66%> (+2.98%)
:arrow_up:


Add licensing information

Hi and thanks for your game, it's pretty cool. I'm working on packaging it for Mageia to make it easily installable.
Could you add a LICENSE.txt or LICENSE.md or similar file to specify the license of the code and assets in this repo? According to this thread it seems you chose zlib/libpng, but it's not "official" yet in the repo as far as I can see: https://love2d.org/forums/viewtopic.php?f=5&t=81390&sid=7a26e56000a85b6ea0016d24a6be5c35&start=10#p192149

That's nice to hear. I've added the zlib licence to the repo.


HiFIve1 failed to run tests/kernel/workq/work/

Describe the bug
Failed to run tests/kernel/workq/work/ in CI for HiFive1, triggered an assertion failure.
Seems to work fine on other platforms.
Expected behavior
CI should be running smoothly.
Impact
Showstopper
Logs and console output
12:55:05.4631 [INFO] uart0: [+0.37ms host +0s virt 0.6ms virt from start]   ===================================================================
--
  | 12:55:05.4633 [INFO] uart0: [+0.22ms host +0s virt 0.6ms virt from start]   START - test_1cpu_running_flush
  | 12:55:05.4838 [INFO] uart0: [+14.9ms host +0.1ms virt 0.7ms virt from start]
  | 12:55:05.4838 [INFO] uart0: [+1.57ms host +0s virt 0.7ms virt from start]       Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/workq/work/src/main.c:466: test_1cpu_running_flush: k_work_busy_get(&work) not equal to K_WORK_RUNNING
  | 12:55:05.4838 [INFO] uart0: [+0.17ms host +0s virt 0.7ms virt from start]
  | 12:55:05.4839 [INFO] uart0: [+0.7ms host +0s virt 0.7ms virt from start]    FAIL - test_1cpu_running_flush in 0.174 seconds
  | 12:55:05.4839 [INFO] uart0: [+0.67ms host +0s virt 0.7ms virt from start]   ===================================================================
  | 12:55:05.4839 [INFO] uart0: [+0.36ms host +0s virt 0.7ms virt from start]   START - test_1cpu_queued_cancel
  | 12:55:05.4839 [INFO] uart0: [+0.2ms host +0s virt 0.7ms virt from start]
  | 12:55:05.4839 [INFO] uart0: [+1.58ms host +0s virt 0.7ms virt from start]       Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/workq/work/src/main.c:125: reset_counters: k_sem_take(&sync_sem, K_NO_WAIT) not equal to -EBUSY
  | 12:55:05.4840 [INFO] uart0: [+51µs host +0s virt 0.7ms virt from start]
  | 12:55:05.4898 [INFO] uart0: [+6.27ms host +0.1ms virt 0.8ms virt from start]    FAIL - test_1cpu_queued_cancel in 0.0 seconds

Environment (please complete the following information):

OS: CI
Toolchain Zephyr SDK v0.13.1

Additional context
https://buildkite.com/zephyr/zephyr/builds/46541

I started debugging this. I can replicate using (after installing renode) ...
west build -p -b hifive1 tests/kernel/workq/work -t run

What I have observed thus far is ...

When the assertion at line 466 fails, k_work_busy_get() is returning 0. This is suggesting that the work has finished, and is not "running".
Further debugging is showing that delay_handler() is unexpectedly reaching the end of the routine by the time we invoke k_work_busy_get().
This is particularly odd since our "main" thread is sleeping for 1 tick, and the routine delay_handler() is supposed to be sleeping for 100 msec (13 ticks).

Continuing to dig ....

Additional observations:
"main" thread priority: -2, work queue processing is at -4.
The .config files between hifive1 (where erroneous behaviour detected) and qemu_riscv32 (test behaves correctly) do not show anything out of the ordinary.
More digging is required, but the behaviour is as if either the k_sleep() in the "main" thread did not wake up after 1 tick, or something occurred to prevent the scheduling/execution of the main thread once it woke after the k_sleep(1).

Debug statements indicate that 24 ticks are being announced at once. This would be waking both the workq thread and the main thread. Since the workq thread is at priority -4, it takes precedence and executes first.  Now why are 24 ticks being announced at once?

There seems to be something funny about the renode+hifive1 combination.
The main thread (priority -2) sleeps for 1 tick. However, when it sets the mtimecmp, it sets it for 2 ticks. This is expected from the code because there seems to be indications that the minimum delay should be 1000 cycles (which is more than 1 tick).
The workq thread (priority -4) sleeps for 13 ticks. The mtimecmp seems to be set to a reasonable value. Unfortunately, when the timer ISR executes, around 24 ticks have been calculated to have elapsed. This wakes both threads at the same time and the workq thread executes first as it is of a higher priority.
Thus far, I have not been able to find a reason that explains why the timer ISR is executing so late in the game, resulting in so many extra announced ticks.

@peter-mitsis It seems that this issue is not related to Renode. I've tried running this test on HiFive1 board and it also fails.

@fkokosinski. Thanks for testing on the actual hardware. That helps eliminate a possible failure scenario.

Below is the sequence of events that I am seeing.

Begin test_1cpu_running_flush(), cycle count = 0x303a
Delay current thread (z_test_thread) for 1 tick. mtime comparator set to 0x3202
coophi_queue.thread executes, cycle count is still 0x303a
The delay_handler() executes and calls k_sleep() for a duration of 13 ticks.
Switch to z_main_thread for some as yet unknown reason
Switch to preempt_queue.thread and call z_sched_wait(), cycle count is still 0x303a.
There should be no active threads in the system at this time while we wait for the timer to expire.
Timer ISR handler executes, cycle count is 0x4862, announces about 24 ticks.
Both z_test_thread and coophi_queue.thread wake, but coophi_queue.thread executes as it is higher priority.

The expectation was that the timer ISR would execute when the mtime cycle count was 0x3202, not 0x4862.
The current working hypothesis to explain these observations is that something is that something is preventing the timer ISR from being serviced. Presumably, this would be due to interrupts being locked somewhere, but damned if I can find it yet.

Very strange behaviour observed. An attempt to k_sleep for N ticks on the hifive1 board results in the following number of slept ticks ...
24 * (floor(N / 24) + 1)
This creates a step function where sleeping for 1..23 ticks results in sleeping for 24 ticks, 24..47 ticks results in sleeping for 48 ticks, 48..71 ticks results in sleeping for 72 ticks, ...

Below is a current summary of where things currently stand ....

The problem appears because too many ticks are being announced at once. This leads to two threads waking up at the same time instead of sequentially.
On my test setup that is using Renode for emulating the hifive1, ticks are announced in multiples of 24.
The timer's comparison register (mtimecmp) appears to be set correctly to issue an interrupt at the correct time.
The system behaves as expected up until the point it enters the idle state.
At the point in time it enters the idle state, the timer is set to trigger at the correct time, no other threads are running, the interrupts are unlocked and furthermore the correct set of interrupts are enabled.
Upon exiting the idle state (via an interrupt), only one interrupt has been detected and that is the timer interrupt.
At the moment that the timer interrupt's ISR executes, it calculates that 24 ticks have elapsed, when only 1 tick should have elapsed.
The calculation is made based off the values read from the timer's mtime register.
Were it not for the report of the test failing on hardware, I would be inclined to believe that it was a problem with Renode. As it stands, I am rather perplexed.
The good news is that an unrelated issue has been found in the code that calculates the timer's wakeup cycle time (mtimecmp). A PR has been submitted for that (https://github.com/zephyrproject-rtos/zephyr/pull/41002), but this original issue as yet remains unsolved.

It is a weird issue indeed, maybe we need to exclude this board temporary to ensure CI runs smoothly.  #41134

Near as I can tell, the hifive1 board has been discontinued (see https://www.sifive.com/boards/hifive1).
Does this issue exist on the hifive1_revb?

No, I am not sure, I do not have those hardwares on my side. For now, this test case is skipped due to ram overflow.

I cant reproduce this issue on main branch:
11:27:50.0505 [INFO] uart0: [+0.22s host +0s virt 0s virt from start] *** Booting Zephyr OS build v3.0.0-rc2-24-g8e70d041939e  ***
11:27:50.0535 [INFO] uart0: [+3.13ms host +0s virt 0s virt from start]   Running test suite work
11:27:50.0538 [INFO] uart0: [+0.25ms host +0s virt 0s virt from start]   ===================================================================
11:27:50.0626 [INFO] uart0: [+8.8ms host +0.1ms virt 0.1ms virt from start]   START - test_work_init
11:27:50.0678 [INFO] uart0: [+5.16ms host +0s virt 0.1ms virt from start]    PASS - test_work_init in 0.0 seconds
11:27:50.0681 [INFO] uart0: [+0.31ms host +0s virt 0.1ms virt from start]   ===================================================================
11:27:50.0683 [INFO] uart0: [+0.19ms host +0s virt 0.1ms virt from start]   START - test_delayable_init
11:27:50.0688 [INFO] uart0: [+0.57ms host +0s virt 0.1ms virt from start]    PASS - test_delayable_init in 0.0 seconds
11:27:50.0691 [INFO] uart0: [+0.23ms host +0s virt 0.1ms virt from start]   ===================================================================
11:27:50.0692 [INFO] uart0: [+0.13ms host +0s virt 0.1ms virt from start]   START - test_legacy_delayed_init
11:27:50.0696 [INFO] uart0: [+0.42ms host +0s virt 0.1ms virt from start]    PASS - test_legacy_delayed_init in 0.0 seconds
11:27:50.0699 [INFO] uart0: [+0.24ms host +0s virt 0.1ms virt from start]   ===================================================================
11:27:50.0709 [INFO] uart0: [+0.41ms host +0.1ms virt 0.2ms virt from start]   START - test_unstarted
11:27:50.0723 [INFO] uart0: [+2.07ms host +0s virt 0.2ms virt from start]    PASS - test_unstarted in 0.0 seconds
11:27:50.0726 [INFO] uart0: [+0.23ms host +0s virt 0.2ms virt from start]   ===================================================================
11:27:50.0727 [INFO] uart0: [+0.11ms host +0s virt 0.2ms virt from start]   START - test_queue_start
11:27:50.0743 [INFO] uart0: [+1.64ms host +0s virt 0.2ms virt from start]    PASS - test_queue_start in 0.0 seconds
11:27:50.0746 [INFO] uart0: [+0.24ms host +0s virt 0.2ms virt from start]   ===================================================================
11:27:50.0746 [INFO] uart0: [+0.1ms host +0s virt 0.2ms virt from start]   START - test_null_queue
11:27:50.0752 [INFO] uart0: [+0.54ms host +0s virt 0.2ms virt from start]    PASS - test_null_queue in 0.0 seconds
11:27:50.0754 [INFO] uart0: [+0.24ms host +0s virt 0.2ms virt from start]   ===================================================================
11:27:50.0765 [INFO] uart0: [+1.02ms host +0.1ms virt 0.3ms virt from start]   START - test_1cpu_simple_queue
11:27:50.0941 [INFO] uart0: [+17.59ms host +0s virt 0.3ms virt from start]    PASS - test_1cpu_simple_queue in 0.41 seconds
11:27:50.0943 [INFO] uart0: [+0.31ms host +0s virt 0.3ms virt from start]   ===================================================================
11:27:50.0945 [INFO] uart0: [+0.16ms host +0s virt 0.3ms virt from start]   START - test_smp_simple_queue
11:27:50.0951 [INFO] uart0: [+0.64ms host +0s virt 0.3ms virt from start]    SKIP - test_smp_simple_queue in 0.0 seconds
11:27:50.0954 [INFO] uart0: [+0.31ms host +0s virt 0.3ms virt from start]   ===================================================================
11:27:50.0956 [INFO] uart0: [+0.16ms host +0s virt 0.3ms virt from start]   START - test_1cpu_sync_queue
11:27:50.0980 [INFO] uart0: [+2.44ms host +0.1ms virt 0.4ms virt from start]    PASS - test_1cpu_sync_queue in 0.147 seconds
11:27:50.0983 [INFO] uart0: [+0.23ms host +0s virt 0.4ms virt from start]   ===================================================================
11:27:50.0990 [INFO] uart0: [+0.7ms host +0s virt 0.4ms virt from start]   START - test_1cpu_reentrant_queue
11:27:50.1008 [INFO] uart0: [+1.8ms host +0.1ms virt 0.5ms virt from start]    PASS - test_1cpu_reentrant_queue in 0.188 seconds
11:27:50.1010 [INFO] uart0: [+0.24ms host +0s virt 0.5ms virt from start]   ===================================================================
11:27:50.1011 [INFO] uart0: [+0.13ms host +0s virt 0.5ms virt from start]   START - test_1cpu_queued_flush
11:27:50.1053 [INFO] uart0: [+4.2ms host +0.1ms virt 0.6ms virt from start]    PASS - test_1cpu_queued_flush in 0.308 seconds
11:27:50.1056 [INFO] uart0: [+0.23ms host +0s virt 0.6ms virt from start]   ===================================================================
11:27:50.1057 [INFO] uart0: [+0.13ms host +0s virt 0.6ms virt from start]   START - test_1cpu_running_flush
11:27:50.1079 [INFO] uart0: [+2.22ms host +0.1ms virt 0.7ms virt from start]    PASS - test_1cpu_running_flush in 0.182 seconds
11:27:50.1081 [INFO] uart0: [+0.18ms host +0s virt 0.7ms virt from start]   ===================================================================
11:27:50.1082 [INFO] uart0: [+0.1ms host +0s virt 0.7ms virt from start]   START - test_1cpu_queued_cancel
11:27:50.1100 [INFO] uart0: [+1.79ms host +0.1ms virt 0.8ms virt from start]    PASS - test_1cpu_queued_cancel in 0.72 seconds
11:27:50.1102 [INFO] uart0: [+0.18ms host +0s virt 0.8ms virt from start]   ===================================================================
11:27:50.1103 [INFO] uart0: [+0.11ms host +0s virt 0.8ms virt from start]   START - test_1cpu_queued_cancel_sync
11:27:50.1114 [INFO] uart0: [+1.1ms host +0s virt 0.8ms virt from start]    PASS - test_1cpu_queued_cancel_sync in 0.0 seconds
11:27:50.1116 [INFO] uart0: [+0.18ms host +0s virt 0.8ms virt from start]   ===================================================================
11:27:50.1117 [INFO] uart0: [+0.1ms host +0s virt 0.8ms virt from start]   START - test_1cpu_running_cancel
11:27:50.1151 [INFO] uart0: [+2.8ms host +0.1ms virt 0.9ms virt from start]    PASS - test_1cpu_running_cancel in 0.206 seconds
11:27:50.1152 [INFO] uart0: [+0.76ms host +0s virt 0.9ms virt from start]   ===================================================================
11:27:50.1153 [INFO] uart0: [+0.11ms host +0s virt 0.9ms virt from start]   START - test_1cpu_running_cancel_sync
11:27:50.1187 [INFO] uart0: [+3.3ms host +0.1ms virt 1ms virt from start]    PASS - test_1cpu_running_cancel_sync in 0.187 seconds
11:27:50.1192 [INFO] uart0: [+0.5ms host +0s virt 1ms virt from start]   ===================================================================
11:27:50.1194 [INFO] uart0: [+0.27ms host +0s virt 1ms virt from start]   START - test_smp_running_cancel
11:27:50.1201 [INFO] uart0: [+0.69ms host +0s virt 1ms virt from start]    SKIP - test_smp_running_cancel in 0.0 seconds
11:27:50.1212 [INFO] uart0: [+1.06ms host +0s virt 1ms virt from start]   ===================================================================
11:27:50.1214 [INFO] uart0: [+0.22ms host +0s virt 1ms virt from start]   START - test_drain_empty
11:27:50.1232 [INFO] uart0: [+1.76ms host +0s virt 1ms virt from start]    PASS - test_drain_empty in 0.0 seconds
11:27:50.1241 [INFO] uart0: [+0.88ms host +0.1ms virt 1.1ms virt from start]   ===================================================================
11:27:50.1243 [INFO] uart0: [+0.26ms host +0s virt 1.1ms virt from start]   START - test_1cpu_drain_wait
11:27:50.1294 [INFO] uart0: [+5.04ms host +0.1ms virt 1.2ms virt from start]    PASS - test_1cpu_drain_wait in 0.308 seconds
11:27:50.1297 [INFO] uart0: [+0.4ms host +0s virt 1.2ms virt from start]   ===================================================================
11:27:50.1300 [INFO] uart0: [+0.21ms host +0s virt 1.2ms virt from start]   START - test_1cpu_plugged_drain
11:27:50.1344 [INFO] uart0: [+4.38ms host +0.1ms virt 1.3ms virt from start]    PASS - test_1cpu_plugged_drain in 0.171 seconds
11:27:50.1347 [INFO] uart0: [+0.4ms host +0s virt 1.3ms virt from start]   ===================================================================
11:27:50.1350 [INFO] uart0: [+0.22ms host +0s virt 1.3ms virt from start]   START - test_1cpu_basic_schedule
11:27:50.1401 [INFO] uart0: [+5.11ms host +0.1ms virt 1.4ms virt from start]    PASS - test_1cpu_basic_schedule in 0.229 seconds
11:27:50.1406 [INFO] uart0: [+0.59ms host +0.1ms virt 1.5ms virt from start]   ===================================================================
11:27:50.1408 [INFO] uart0: [+0.21ms host +0s virt 1.5ms virt from start]   START - test_1cpu_basic_schedule_running
11:27:50.1440 [INFO] uart0: [+3.17ms host +0.1ms virt 1.6ms virt from start]    PASS - test_1cpu_basic_schedule_running in 0.229 seconds
11:27:50.1443 [INFO] uart0: [+0.28ms host +0s virt 1.6ms virt from start]   ===================================================================
11:27:50.1445 [INFO] uart0: [+0.16ms host +0s virt 1.6ms virt from start]   START - test_1cpu_immed_schedule
11:27:50.1465 [INFO] uart0: [+1.98ms host +0.1ms virt 1.7ms virt from start]    PASS - test_1cpu_immed_schedule in 0.147 seconds
11:27:50.1467 [INFO] uart0: [+0.29ms host +0s virt 1.7ms virt from start]   ===================================================================
11:27:50.1469 [INFO] uart0: [+0.17ms host +0s virt 1.7ms virt from start]   START - test_1cpu_basic_reschedule
11:27:50.1504 [INFO] uart0: [+3.45ms host +0.1ms virt 1.8ms virt from start]    PASS - test_1cpu_basic_reschedule in 0.307 seconds
11:27:50.1506 [INFO] uart0: [+0.22ms host +0s virt 1.8ms virt from start]   ===================================================================
11:27:50.1507 [INFO] uart0: [+0.14ms host +0s virt 1.8ms virt from start]   START - test_1cpu_immed_reschedule
11:27:50.1562 [INFO] uart0: [+5.54ms host +0.3ms virt 2.1ms virt from start]    PASS - test_1cpu_immed_reschedule in 0.533 seconds
11:27:50.1565 [INFO] uart0: [+0.21ms host +0s virt 2.1ms virt from start]   ===================================================================
11:27:50.1566 [INFO] uart0: [+0.12ms host +0s virt 2.1ms virt from start]   START - test_1cpu_delayed_flush
11:27:50.1587 [INFO] uart0: [+2.09ms host +0.1ms virt 2.2ms virt from start]    PASS - test_1cpu_delayed_flush in 0.94 seconds
11:27:50.1588 [INFO] uart0: [+0.18ms host +0s virt 2.2ms virt from start]   ===================================================================
11:27:50.1589 [INFO] uart0: [+0.11ms host +0s virt 2.2ms virt from start]   START - test_1cpu_delayed_cancel_sync
11:27:50.1605 [INFO] uart0: [+1.56ms host +0s virt 2.2ms virt from start]    PASS - test_1cpu_delayed_cancel_sync in 0.0 seconds
11:27:50.1607 [INFO] uart0: [+0.17ms host +0s virt 2.2ms virt from start]   ===================================================================
11:27:50.1608 [INFO] uart0: [+0.12ms host +0s virt 2.2ms virt from start]   START - test_1cpu_delayed_cancel_sync_wait
11:27:50.1622 [INFO] uart0: [+1.4ms host +0.1ms virt 2.3ms virt from start]    PASS - test_1cpu_delayed_cancel_sync_wait in 0.206 seconds
11:27:50.1623 [INFO] uart0: [+0.17ms host +0s virt 2.3ms virt from start]   ===================================================================
11:27:50.1624 [INFO] uart0: [+97?s host +0s virt 2.3ms virt from start]   START - test_1cpu_delayed_cancel
11:27:50.1632 [INFO] uart0: [+0.76ms host +0s virt 2.3ms virt from start]    PASS - test_1cpu_delayed_cancel in 0.0 seconds
11:27:50.1634 [INFO] uart0: [+0.16ms host +0s virt 2.3ms virt from start]   ===================================================================
11:27:50.1635 [INFO] uart0: [+99?s host +0s virt 2.3ms virt from start]   START - test_1cpu_queue_no_yield
11:27:50.1638 [INFO] uart0: [+0.33ms host +0s virt 2.3ms virt from start]   Testing no-yield on high-priority queue
11:27:50.1655 [INFO] uart0: [+1.73ms host +0.1ms virt 2.4ms virt from start]   Testing no-yield on low-priority queue
11:27:50.1660 [INFO] uart0: [+0.44ms host +0s virt 2.4ms virt from start]    PASS - test_1cpu_queue_no_yield in 0.204 seconds
11:27:50.1661 [INFO] uart0: [+0.16ms host +0s virt 2.4ms virt from start]   ===================================================================
11:27:50.1662 [INFO] uart0: [+92?s host +0s virt 2.4ms virt from start]   START - test_1cpu_system_queue
11:27:50.1674 [INFO] uart0: [+1.22ms host +0.1ms virt 2.5ms virt from start]    PASS - test_1cpu_system_queue in 0.155 seconds
11:27:50.1676 [INFO] uart0: [+0.17ms host +0s virt 2.5ms virt from start]   ===================================================================
11:27:50.1677 [INFO] uart0: [+0.1ms host +0s virt 2.5ms virt from start]   START - test_1cpu_system_schedule
11:27:50.1690 [INFO] uart0: [+1.31ms host +0.1ms virt 2.6ms virt from start]    PASS - test_1cpu_system_schedule in 0.307 seconds
11:27:50.1692 [INFO] uart0: [+0.15ms host +0s virt 2.6ms virt from start]   ===================================================================
11:27:50.1693 [INFO] uart0: [+95?s host +0s virt 2.6ms virt from start]   START - test_1cpu_system_reschedule
11:27:50.1723 [INFO] uart0: [+3.05ms host +0.2ms virt 2.8ms virt from start]    PASS - test_1cpu_system_reschedule in 0.221 seconds
11:27:50.1725 [INFO] uart0: [+0.15ms host +0s virt 2.8ms virt from start]   ===================================================================
11:27:50.1726 [INFO] uart0: [+0.1ms host +0s virt 2.8ms virt from start]   START - test_1cpu_legacy_delayed_submit
11:27:50.1738 [INFO] uart0: [+1.23ms host +0.1ms virt 2.9ms virt from start]    PASS - test_1cpu_legacy_delayed_submit in 0.307 seconds
11:27:50.1739 [INFO] uart0: [+0.15ms host +0s virt 2.9ms virt from start]   ===================================================================
11:27:50.1742 [INFO] uart0: [+0.3ms host +0.1ms virt 3ms virt from start]   START - test_1cpu_legacy_delayed_resubmit
11:27:50.1758 [INFO] uart0: [+1.55ms host +0.1ms virt 3.1ms virt from start]    PASS - test_1cpu_legacy_delayed_resubmit in 0.153 seconds
11:27:50.1759 [INFO] uart0: [+0.15ms host +0s virt 3.1ms virt from start]   ===================================================================
11:27:50.1760 [INFO] uart0: [+0.1ms host +0s virt 3.1ms virt from start]   START - test_1cpu_legacy_delayed_cancel
11:27:50.1768 [INFO] uart0: [+0.71ms host +0s virt 3.1ms virt from start]    PASS - test_1cpu_legacy_delayed_cancel in 0.0 seconds
11:27:50.1769 [INFO] uart0: [+0.15ms host +0s virt 3.1ms virt from start]   ===================================================================
11:27:50.1770 [INFO] uart0: [+52?s host +0s virt 3.1ms virt from start]   START - test_nop
11:27:50.1771 [INFO] uart0: [+0.18ms host +0s virt 3.1ms virt from start]    SKIP - test_nop in 0.0 seconds
11:27:50.1773 [INFO] uart0: [+0.15ms host +0s virt 3.1ms virt from start]   ===================================================================
11:27:50.1774 [INFO] uart0: [+0.11ms host +0s virt 3.1ms virt from start]   Test suite work succeeded
11:27:50.1777 [INFO] uart0: [+0.27ms host +0s virt 3.1ms virt from start]   ===================================================================
11:27:50.1781 [INFO] uart0: [+0.42ms host +0.1ms virt 3.2ms virt from start]   PROJECT EXECUTION SUCCESSFUL
11:27:59.9489 [INFO] SiFive-FE310: Machine paused.

I can confirm the observation that this test is now passing on the hifive1 (requires tweaking stack sizes to get it to fit into memory as the test has grown since this issue was first filed.)


docstrings: Minor fix in documented define name.

The CODAL_SERIAL_IN_USE macro does not exist, the codal-core Serial::redirect() method returns DEVICE_SERIAL_IN_USE instead.
https://github.com/lancaster-university/codal-core/blob/a45ede432a646a0af86fbd89d9dd692689fb6fbd/source/driver-models/Serial.cpp#L842
Fixes https://github.com/lancaster-university/codal-microbit-v2/issues/238

@finneyj @JohnVidler this is trivial fix on the docstrings, so I'll merge myself by the end of the week if nobody has any objections.

Looks good to me - merging


APT whitelist request for dpkg-deb

Please add dpkg-deb.  This is required for generating JavaFX Self-Contained bundles.  See the following for more details: https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html
Thanks!

It seems that the source is in the dpkg package.  I have created the issue travis-ci/apt-source-whitelist#258 to request that this be whitelisted.

The build now works without this for the JavaFX bundle creation


[FEATURE]

Description
Log directory permission is 01777. It's a insecure permission so logrotate_role can't be used
Why is this needed?
logrotate_role can't be used.
Additional Information

Resolved


Check isDefAndNotNull in case of a falsey value

All tests passed

Just started reviewing :) :octocat: Sent from GH.

Thanks!

This is already available at rc.40


1.17.1

Looks good. Should also automate this one day...

Looks fine :) And yes, a little of automation might be welcome.

:shipit:?


Downloading :saved ended unexpectedly.

Your question here...
% instaloader --login=andy91129 --dirname-pattern=/Users/yao-antsai/Applications/Box\ Sync/Instaloader/{profile} --filename-pattern={profile}_{date_utc:%Y-%m-%d_%H-%M-%S} --no-captions --no-metadata-json --resume-prefix resume :saved
...
...
...
[27663/32115] /Users/yao-antsai/Applications/Box Sync/Instaloader/0907sonia/xxxxxxxxx_2016-09-29_00-55-29.jpg exists
Iteration complete, deleted resume information file /Users/yao-antsai/Applications/Box Sync/Instaloader/:saved/resume_uPLl6Txc.json.xz.
Saved session to /Users/yao-antsai/.config/instaloader/session-andy91129.

I used instaloader to download all of my saved posts.
However, it ended in the middle of downloading at 2XXXXX posts.
I already tried to update to the lastest version and tried to download the saved posts from the beginning twice.
Is there anyway to solve this problem?
Thx.

Did anyone encounter similar issues?

Did you count the posts that you can actually see in your saved posts? Instagram says that I have around 1300 saved posts, but I can only see around 1100, so only 1100 get downloaded. I guess around 200 posts have been deleted/archived/private accounts that you now don't have access to/blocked accounts, but Instagram still counts those in the total number of saved posts, but if you don't have permission to the posts, they won't get downloaded. That's just my guess tho

I have similar problem.
This is my output.
Loaded session from D:\*****.
Logged in as :\*****..
Retrieving saved posts...
Saved session to D:\*****.

When I open Saved from instagram app there is a lot of posts.


added soft deletable filter configuration and updated codes and paths to fit Symfony 4

Dope, thank you.


NoMethodError in tag parsing if passed non-string

In a change of behavior from 1.6.0, Datadog::Statsd will blow up if an object that does not respond to gsub is passed in the tags array.
For instance:
Given $statsd.timing("test", 0, tags: [MyClass])
in 1.9.0, this works fine with MyClass coming through as "MyClass" in the tags
in 2.0.0 and greater, this gives the following error:
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/dogstatsd-ruby-2.1.0/lib/datadog/statsd.rb:349:in `remove_pipes'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/dogstatsd-ruby-2.1.0/lib/datadog/statsd.rb:345:in `escape_tag_content'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/dogstatsd-ruby-2.1.0/lib/datadog/statsd.rb:366:in `block in send_stats'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/dogstatsd-ruby-2.1.0/lib/datadog/statsd.rb:366:in `map'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/dogstatsd-ruby-2.1.0/lib/datadog/statsd.rb:366:in `send_stats'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/dogstatsd-ruby-2.1.0/lib/datadog/statsd.rb:188:in `timing'
	from (irb):13
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/commands/console.rb:110:in `start'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/commands/console.rb:9:in `start'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/commands/commands_tasks.rb:68:in `console'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
	from /home/deploy/.bundler/orders/ruby/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/commands.rb:17:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'

I realize with the bump to 2.0.0, there are the possiblity of breaking changes, but if this is the new desired behavior, documentation in the change log warning of this would be appreciated.

Hello @aselder !
I'm sorry this happened to you, it was an unexpected feature of dogstatsd-ruby which was removed in 2.0.0 in order to validate the tags.
I think there is actually a warning in the changelog: https://github.com/DataDog/dogstatsd-ruby/blob/master/CHANGELOG.md#tags  - Datadog::Statsd also validates that it receives an array of tags, and strips , and | from them..
It may not be visible enough though, do you think we should reformulate this part/insist on it ?


Fix #5

With ES6 imports the path was seemingly missing /src in the root of the module.

Coverage remained the same at 99.796% when pulling 43aefae5273f50dd445fd1b7a80792e47d503806 on coderigo:master into 177cab6f14120d2b371dfdfd632780b4dbf27293 on nf404:master.

Thanks for your contribution. I will investigate more to find a better solution, but for now it looks like there is no way to specify root directory for library.
Maybe update path in documentation is the only way

No trouble. There might be something to try with directories in package.json but not sure it'll have the desired effect. One could move the modules to the root directory but that would likely not be aesthetically or stylistically desirable.


Deskband extension does not work for Windows 10 64-bit

it could be register successfully, after i restart the explorer, it appear in the list of available toolbars, but when i click on the "web search", nothing happens. Any clues? Thanks!

Hey junfkt2,
I never used deskbands with sharpshell so no idea but I googled a bit and it seams that deskbands aren't supported since windows 7.

Important  You should use thumbnail toolbars in new development in place of desk bands, which are not supported as of Windows 7.

from the Microsoft's Windows Dev Center
Does your application work for Windows7 / Windows8 / WindowsXP / etc.?
Other than that - can you be a little more specific, provide pictures, or share your code?
Maybe then someone could help you out :)

I am having exactly the same issue too on Windows 10 64-bit.
Toolbars like NetSpeedMonitor are working properly

I tried to register a Desk Band but I get the same results... nothing :(
I did something similar to this page http://www.codeproject.com/Articles/39189/Shell-Extensibility-Explorer-Desk-Band-Tray-Notifi, but for this kind of .Net projects we don't get any results, could you solve the problem? thanks

Maybe we need to create a window on the handle which is provided by IOleWindow.GetWindow method, and bind your custom control onto this window.
There is the page on where i have found that

Creating Custom Explorer Bars, Tool Bands, and Desk Bands

Any progress on this one ?
I'm having same problem. Win10 x64. DeskBand sample server is installed and registered and I can see "Web Search" among available tollbars in taskbar, but when I click it nothing happens.
I also tried this project, but results are the same, I see it among toolbars but when I click on it nothing happens.
https://github.com/navhaxs/media-control-deskband
A fix would be much appreciated.

https://github.com/dwmkerr/sharpshell/pull/163

This is fixed with #163, all updates just released in 2.6.0. Do re-open if needed but I think this issue is solved now.


listBranches for a repo

Is there a way to list all branches or refs in the repo?

This isn't supported at the moment but we very much welcome PRs! There is a contributing guide here: http://47deg.github.io/github4s/contributing.html


listen unix /var/run/rr-rpc.sock: bind: permission denied

If you have any questions feel free to ask

I've tried to use roadrunner-laravel and follow the example instruction to run the worker and create relay in /var/run/rr-rpc.sock but i got permission denied because /var/run are owned by root
after that i tried to run as super user but all the generated session file is owned by root and cause some of the function not worked properly like database connection, etc
is there any solution for this issue?

Hi @semprul57!
You can run rr process as a user, which can create a file inside /var/run directory and use an unprivileged user for a worker processes:
https://github.com/spiral/roadrunner-binary/blob/3eeefb48d27084bc63474da09735feb583344a3b/.rr.yaml#L27-L35
Another way - change path to the socket to /tmp/rr-rpc.sock.

Thank you very much for your help, i've tried to add my user & group but still got the permission issues but for the /tmp/rr-rpc.sock is running smoothly.
Thank you


[aggregator/ckey] use a hash which don't need to sort the tags

What does this PR do?
This PR is trying to remove the need for a sort of the tags while generating the context key of a metric.
It is behaving extremely well, except that it needs the tags slice to not contain any duplicate. In order to be 100% correct since we can't assume clients will respect that constraint, a deduplicate method had to be added and it is decreasing the performances to a point that it is even worse than a sort+uniq of the tags once a given amount of tags has been reached.
Here are some benchmarks conclusion:

Tags count
Branch
Drops count

10 client tags + high cardinality tags
no-sort-ckey
0 drop past15m avg

10 client tags + high cardinality tags
7.28.1
1500 drops past15m avg

15 client tags + high cardinality tags
no-sort-ckey
500 drops past15m avg

15 client tags + high cardinality tags
7.28.1
3600 drops past15m avg

20 client tags + high cardinality tags
no-sort-ckey
5600 drops past15m avg

20 client tags + high cardinality tags
7.28.1
5000 drops past15m avg

35 client tags + high cardinality tags
no-sort-ckey
6600 drops past15m avg

35 client tags + high cardinality tags
7.28.1
6000 drops past15m avg

RAM/CPU usage tends to be slightly the same, even if it seems slightly better CPU-wise with this branch.
You can see in the drops amount that it is behaving well with approximately less than 20 tags, but that it is getting worse and worse from this point. We could consider merging this for metrics with a low amount of tags (< 20), but we have other track to look for (that may make this one irrelevant) before pushing that idea further.
This PR also comes with some scripts to naively try to create collisions with the context key generator that could be re-used for other tests.

I have split this one in a cleaned-up version in #8529 and #8526.


Implemented CalculateEtalonBalance based on lua router (part of #32)

[x] Changelog (see documentation for changelog format)

Related issues: #32

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 67.92453% with 17 lines in your changes missing coverage. Please review.

Project coverage is 70.40%. Comparing base (ae612dd) to head (39859c8).

Files with missing lines
Patch %
Lines

replicaset.go
67.92%
13 Missing and 4 partials :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #102      +/-   ##
==========================================
- Coverage   71.86%   70.40%   -1.46%
==========================================
  Files          11       11
  Lines        1052     1105      +53
==========================================
+ Hits          756      778      +22
- Misses        254      277      +23
- Partials       42       50       +8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

review ok


Add ETH Saver app

Entry type

New addition

App info
URL: https://ethsaver.com/
Manifest.json URL: https://ethsaver.com/manifest.json
Name: ETH Saver by DeFi Saver
Description: Boost yield on your staked ETH through the use of different DeFi lending protocols
Icon (PNG, 180x180):

It's minified via https://tinypng.com: yes
Homepage: https://ethsaver.com
Twitter: https://x.com/defisaver
GitHub: https://github.com/defisaver/
Discord: https://discord.com/invite/XGDJHhZ
App supports batching multiple transactions via Safe: yes/no
Supported networks

- Mainnet

Revision checks

[x] Used smart contracts were audited.
[x] You have implemented the app using the Safe Apps SDK
[x] Your Safe App includes a manifest.json file at the root with the required data
[x] The app can be loaded as a custom Safe App in the Apps section of https://app.safe.global.
[x] The app auto-connects to the Safe as a wallet
[x] It doesn't try to connect to the browser wallet (e.g. MetaMask)
[x] You are able to trigger and execute one transaction with a Safe.
[x] RPC requests are optimized (not triggering many requests in a very short time period).

Audit document

https://github.com/defisaver/defisaver-v3-contracts/tree/main/audits
Code for review

https://github.com/defisaver/defisaver-v3-contracts/
(FE code not open)
Team information
Company: DeFi Saver
Official website: https://defisaver.com/
Point of contact: @sterlu
Email/Telegram: Safe <> DeFi Saver Telegram group exists

This submission is reviewed and approved by the Product team.

@sterlu Could you please grant me access to the app repository so I can continue reviewing it?

@sterlu Could you please grant me access to the app repository so I can continue reviewing it?

Hey, the repo isn't open source. This wasn't an issue when DeFi Saver was originally submitted so I was hoping it wouldn't be an issue for the spinoff project as well. Please don't hesitate to reach out via Telegram to discuss if needed.
Happy holidays!

Hey @PooyaRaki , the repo isn't open source. This wasn't an issue when DeFi Saver was originally submitted so I was hoping it wouldn't be an issue for the spinoff project as well. Please don't hesitate to reach out via Telegram to discuss if needed.
Happy holidays!


Ctrl+Space powershell keybinding on wsl support

I thought it was a bug, but the release notes describe keybindings now work cross platform, except for ctrl+space, which works on windows only. Would it be possible to make this keybinding work cross platform as well?

Yes, it is possible to define any keybinding for any command on any platform. You can use the keybinding editor to do so.


Improved PaginateConfig and Column autocompletion

Fixed a problem where enums would litter the autocompletion with the keys of the String prototype.
Added dev comments to Column's ternary of doom
Fixes #866 (I think, can't check in my IDE)

sorry for late response... still on summer break

LGTM 🌟

:tada: This PR is included in version 8.6.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Custom Element doesn't exist: frigate-card.

Checklist:

[ X] I updated to the latest version available
[X ] I cleared the cache of my browser

Release with the issue:
I don't have the cards appearing in my iOS app on iPad. iOS is version 12.5.5
Last working release (if known):
Was working fine before
Browser and Operating System:
iOS 12.5.5, home assistant app or through iOS safari browser.
Frigate NVR is V3.1
HomeAssistant is 2022.3.8
Description of problem:
On my iPad device, running iOS 12.5.5, the card is not displayed, I have the error message below. (Reset FrontEnd Cache has been done properly)
On my phone, iOS15.4.1 is fine, I have my 2 cards getting properly displayed
On my desktop, it is working fine also, no issue either on displaying the card

Hmm. Maybe this is the same as https://github.com/dermotduffy/frigate-hass-card/issues/485 ? A way to test would be to try v3.0.0-rc.1 (https://github.com/dermotduffy/frigate-hass-card/releases/tag/v3.0.0-rc.1), then reset your cache and see if the card shows up -- the move forward to the latest version, re-reset the cache and see if it vanishes again ...

You are right, it is working on iOS12 with the RC1 version. Getting back to the latest card version brings the issue back. So effectively, it seems the issue might be similar to #485 .

OK -- lets carry on the investigation over the #485 then, and I'll close this one out. Thanks for testing!

Also getting this on an old iPad mini running 12.5.6.  V 4 of the frigate card and Home Assistant 2022.10.5.  @yannpub did you ever get this working on your old iPad?

@Ramias1 Unfortunately not. I was hoping the release 4 would solve the issue, but that was not the case :-(

Can we get this resolved please???

@superdong69 This card is developed and maintained purely as a hobby. Sadly there's quite an issue list for me to prioritize, I have limited hobby time and as this likely only effects people using devices with older webview libraries, resolving it is not a priority for me at this time. If you'd like to investigate and submit a PR, I would love it!
In the meantime, to make this more actionable, if someone could get and paste the Javascript console logs (which likely would contain a clue as to which function is the issue), that would be hugely helpful. Since I do not have an impacted device, I cannot do anything even if I had the time to investigate further myself.

@superdong69 This card is developed and maintained purely as a hobby. Sadly there's quite an issue list for me to prioritize, I have limited hobby time and as this likely only effects people using devices with older webview libraries, resolving it is not a priority for me at this time. If you'd like to investigate and submit a PR, I would love it!
In the meantime, to make this more actionable, if someone could get and paste the Javascript console logs (which likely would contain a clue as to which function is the issue), that would be hugely helpful. Since I do not have an impacted device, I cannot do anything even if I had the time to investigate further myself.

I don't know much about programming, but I'd be glad to help if you told me where I could get that info for ya!

@dermotduffy I am not sure this is what you are looking for, is that the error message you were looking for from the console?

@yannpub Yes! Was there a file and line number to the right of those messages?

@yannpub Yes! Was there a file and line number to the right of those messages?

Unfortunately not in Safari Console :-(

Hey! I can confirm that the issue also happens on home assistant Android client.

@hardwareadictos What version of Android / how old is the hardware?

@dermotduffy I am not sure this is what you are looking for, is that the error message you were looking for from the console?

This sounds like Frigate Hass Card before v4. I would recommend you try to uninstall the card entirely, making sure nothing is left about the Frigate Hass Card in your Dashboard Resources (Settintgs, Dashboards, Three dots, Resources). Then, install it again from HACS.
A reboot of HA may be necessary, but I would also recommend you clean all your browser caches. Also, if you are running on Android, clear the companion app cache in the Android settings.

Ops, my bad. In fact the performance-related refactoring was not released in v4.
I would recommend you build the card by yourself from the release-4.1.0 branch. Here's how I do it from the VS Code Home Assistant add-on:

@hardwareadictos What version of Android / how old is the hardware?

Hey!
Pixel 7 with Android 13.


SignatureDoesNotMatch on all S3 operations, both PUT and GET

There's a chance this is PEBCAK but I've tried everything I can think of, totally hoping this isn't a bug.
Effectively, any S3 operation I've attempted to perform returns the error SignatureDoesNotMatch. I've attempted multiple S3 operations from PutObjectRequest to a ListObjectsRequest and list_buckets() and all of them fail with the same error, I've also attempted all of these operations with two different credentials providers - the ChainProvider and the StaticProvider.
I've validated that my secret key and key id don't have any non ascii characters, I've validated the permissions on the keys being used, I've validated permissions on the buckets and I have zero problem performing these operations with the same credentials via the awscli.
The instantiation is effectively this:
let region =
    match config.endpoint {
        Some(ref value) => {
            Region::Custom { name: "minio_s3".to_owned(), endpoint: value.to_string() }
        },
        None => Region::from_str(config.aws_region.as_str()).unwrap()
    };

let aws_id = config.aws_key_id;
let aws_secret = config.aws_secret_key;
let core = Core::new().unwrap();
let cred_provider = ChainProvider::new(&core.handle());
let client = S3Client::new(reactor::RequestDispacher::default(), cred_provider, region);
let bucket = config.s3bucket_name;

After this, calling list_buckets().sync() with the client returns this error as well as creating a PutObjectRequest. I can see in my debug logs that the requests are firing with all of the appropriate information (at least as far as I can tell).
Right now this blocks us from using rusoto but I'd prefer not having to go back to using aws-sdk-rust! Any help is greatly appreciated!

The code mentions "minio_s3", was Minio used here?
Assuming the keys are indeed correct, this sound like something goes wrong when generating the signature. Would it be possible that you could post some of the debug logs? In particular this section would be of interest:
DEBUG 2018-05-11T17:58:28Z: rusoto_core::request: Full request:
 method: GET
 final_uri: http://localhost:9000/rusoto-test-bucket-1526061507?continuation-token=streamingtest_file_1526061507&list-type=2&max-keys=1
 payload:
Headers:

DEBUG 2018-05-11T17:58:28Z: rusoto_core::request: authorization:AWS4-HMAC-SHA256 Credential=ANTN35UAENTS5UIAEATD/20180511/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0bd692330b29f93e113738ed97cd06eedf45efbcbef6d43ff985539a945b31d8
DEBUG 2018-05-11T17:58:28Z: rusoto_core::request: content-type:application/octet-stream
DEBUG 2018-05-11T17:58:28Z: rusoto_core::request: host:localhost:9000
DEBUG 2018-05-11T17:58:28Z: rusoto_core::request: x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
DEBUG 2018-05-11T17:58:28Z: rusoto_core::request: x-amz-date:20180511T175828Z
DEBUG 2018-05-11T17:58:28Z: rusoto_core::request: user-agent:rusoto/0.32.0 rust/1.27.0-nightly linux

Of note, the keys being used definitely correct, the chain provider is pulling the same envvar values that i'm using with aws-cli without any issue. But yeah the signature processing is the only thing that I could imagine. I wasn't sure if the request dispatcher I'm calling is not correct or something.

I can't see anything unusual. Can you test if this sample code works for you? So we can exclude it is something in your application that causes the issue.

Well that was super helpful, that worked, then taking to my application and testing with hardcoded values as opposed what's getting read in also worked. Thank you for the help. I'm going to close this, I'd almost guarantee its a whitespace issue of some kind.

I'm going to close this, I'd almost guarantee its a whitespace issue of some kind.

@eeyun I've had this where a trailing \n ruins my morning. In fact, when printing strings I try to use \"{}\" so I can see if there are whitespace issues.

Absolutely. So for anyone else that might be running into this - I had a single character that was lowercased instead of uppercased in my environment configs.


GestureRecognizer.ProcessMoveEvents throws COMException with multi-touch screen

Describe the bug
Attempting to use the GestureRecognizer throws a COMException with a blank error message.
Swallowing the exception results in the tap not being recognized/raised.
Steps to reproduce the bug

Write a WinAppSDK sample app similar to the UWP documentation at https://learn.microsoft.com/en-us/uwp/api/windows.ui.input.gesturerecognizer?view=winrt-22621
Tap two fingers on the screen simulataneously
COMException is thrown from ProcessMoveEvents

Expected behavior
Tap gesture recognized/raised
Screenshots
No response
NuGet package version
Windows App SDK 1.4.3: 1.4.231115000
Packaging type
Unpackaged
Windows version
Windows 11 version 22H2 (22621, 2022 Update)
IDE
Visual Studio 2022
Additional context
The same behavior occurs with the UWP sample app:
https://github.com/microsoft/windows-universal-samples/tree/main/Samples/BasicInput
However, there the exception message is
Input data cannot be processed in the non-chronological order.

Input data cannot be processed in the non-chronological order.

Note the duplication is actually part of the message, not a typo

The problem seems to be that the gesture recognizer should just be ignoring the duplicate PointerMoved events for the additional contact points. Probably silently ignoring them would seem more appropriate that throwing an exception.  Or perhaps the documentation and/or example should be updated to reflect the expectation that the user do the filtering if that's intended. but given the API, it really seems like that should be the GestureRecognizer's responsibility.
20:19:25:366	OnPointerMoved ID: 132
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:614	Timestamp:<PHONE_NUMBER>
20:19:25:870	Timestamp:<PHONE_NUMBER>
20:19:25:870	Timestamp:<PHONE_NUMBER>
20:19:25:870	Timestamp:<PHONE_NUMBER>
20:19:25:870	OnPointerMoved ID: 133
20:19:25:870	Timestamp:<PHONE_NUMBER>
20:19:25:870	Timestamp:<PHONE_NUMBER>
20:19:25:870	Timestamp:<PHONE_NUMBER>
20:19:25:870	Timestamp:<PHONE_NUMBER>
20:19:26:118	Timestamp:<PHONE_NUMBER>
20:19:26:118	Timestamp:<PHONE_NUMBER>
20:19:26:118	Timestamp:<PHONE_NUMBER>
20:19:26:118	Timestamp:<PHONE_NUMBER>
20:19:26:118	Timestamp:<PHONE_NUMBER>
20:19:26:118	Timestamp:<PHONE_NUMBER>
20:19:26:118	Timestamp:<PHONE_NUMBER>


Error when retrieving chart data for distinct column

Package
filament/filament
Package Version
v2.16.7
Laravel Version
v9.21.4
Livewire Version
v2.10.7
PHP Version
PHP 8.1.0
Problem description
When trying to retrieve unique attendees of an event. I'm using this query:
Attendee::query()->distinct('user_id')

It works on its own but when using it in this chart widget;
Trend::query(Attendee::query()->distinct('user_id'))
            ->between(
                start: now()->setDate(2021, 1, 1),
                end: now(),
            )
            ->perMonth()
            ->count();

I get this error:
SQLSTATE[42P10]: Invalid column reference: 7 ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions LINE 1: select distinct on ("user_id") ^ (SQL: select distinct on ("user_id") to_char(created_at, 'YYYY-MM') as date, count(*) as aggregate from "attendees" where "created_at" between 2021-01-01 16:43:04 and 2022-10-14 16:43:04 group by "date" order by "date" asc)

Expected behavior
Retrieve the data successfully and display it in form of a line chart
Steps to reproduce

Create a chart widget.
Create an Attendee model with a migration that has user_id column the default User model
Add this code to the getData() column

$data = Trend::query(Attendee::query()->distinct('user_id'))
            ->between(
                start: now()->setDate(2021, 1, 1),
                end: now(),
            )
            ->perMonth()
            ->count();

            return [
                'datasets' => [
                    [
                        'label' => 'Unique Attendees',
                        'data' => $data->map(fn (TrendValue $value) => $value->aggregate),
                    ],
                ],
                'labels' => $data->map(fn (TrendValue $value) => $value->date),
            ];

Reproduction repository
https://github.com/humaneguy/attendee-error
Relevant log output
No response

@humaneguy, this doesn't seem like an issue with Filament? You might want to report the error on the trends package repo.

Thanks @zepfietje


Screen shots on this page are way out of date and steps need to be provided

The screen shots on this page are way out of date and only have a screen shot with no steps isn't helpful. Please update this.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9978285a-74ba-7444-2e27-f645428f30b5
Version Independent ID: 52d921ee-cdd8-de21-2324-c7e9f98bfc28
Content: Boot diagnostics for Windows virtual machines in Azure
Content Source: articles/virtual-machines/windows/boot-diagnostics.md
Service: virtual-machines-windows
GitHub Login: @Deland-Han
Microsoft Alias: delhan

@Meladie Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

#please-close @Meladie thank you for the feedback. I have created a work item for @Deland-Han to update the screenshot and explain the steps. Item 1236021


Preview e-mails before sent

Before admin actions that will cause a message to be sent, display that message for the admin first.  I just sent out a bunch of e-mails that were not correct because I couldn't first preview what they were going to say.
Namely the season had "begun"  so it told everyone they would be an alternate.  When really. we just forgot to change the start date of the season.  I didn't realize that was going to happen before I hit the "approve" button.
For instance on the admin/tournament/registration/{id}/review/ page. have a preview of the e-mails that will be sent displayed on that page at the bottom.

i think this one should be "wontfix":
first, the email currently only is saying that they will "probably" be an alternate.
second, if you're accepting registrations while still intending to change the start date, you already gave the players wrong information that is way more important than whether they'll be an alt or on a team. namely the date when they should be ready to play.
third, there's no way you keep reading those email previews anyway. you'd do it for the first couple of accounts you approve maybe, but once you have approved a hundreds, there's no way in hell you'd even look at it.
so to me this feels like something where the solution should be to have mods pay more attention how they set up the season.


Cleaner API

Right now extracting the relevant data object from a query response is kind of ugly:
remote.queryWithData('SELECT * FROM images.dpla LIMIT 1').then(r => r[0].simple.stmt.body.simple.object.data)

or
א > remote.query('SELECT * FROM images.dpla LIMIT 1').then(r => remote.data(r.map(_ => _.value.simple.stmt.body.simple.object)))
[ { key: 'QmeFJSTPKSEiNqebxZvYcduWH8UBmxqNq724gHEQnxV5D1',
    data: <Buffer a2 66 73 63 68 65 6d 61 a1 61 2f 78 2e 51 6d 59 47 52 51 59 6d 57 43 33 42 41 74 54 41 69 38 38 6d 46 62 37 47 56 65 46 73 55 4b 47 4d 34 6e 6d 32 35 ... > } ]
// decode...

This would only get more problematic with other statement types.
From a user perspective, the contract is more like "I'm asking for ID(s) in [a] namespace(s), give me a merged set of of what that namespace knows about it, respecting my trust settings". Given that #17 isn't merged yet (and lots of thinking about merges hasn't happened yet), we can just make the merge function be naive set add.
So this API looks more like
א > remote.magicQuery('SELECT * FROM images.dpla LIMIT 1')

[ { schema: { '/': 'QmYGRQYmWC3BAtTAi88mFb7GVeFsUKGM4nm25SBUB9vfc9' }, // ??
    data:
     { artist_names: [Object], // FIXME: expand this also?
       aspect_ratio: 0.7166666666666667,
       attribution: [Object],
       camera_exif: {},
       date_captured: null,
       date_created_at_source: null,
       date_created_original: null,
       date_source_version: null,
       dedupe_hsh: '3fdfefe0f8381403',
       derived_qualities: [Object],
       description: 'Clausen/Donnelly House',
       keywords: [],
       licenses: [Object],
       location: [Object],
       native_id: 'dpla_http://dp.la/api/items/1ff6b36174426026847c8f8ca216ffa9',
       orientation: null,
       providers_list: [Object],
       sizes: [Object],
       source: [Object],
       source_dataset: 'dpla',
       source_tags: [Object],
       title: [Object],
       transient_info: [Object],
       url_direct: [Object],
       url_shown_at: [Object] } } ]

Questions:

Should we include schema or just object itself? What if all schemas in a result set are the same/different?
What about packing this into a "results" object that has "data_rows" but also some metadata fields?
What about refs? Are we sufficiently "application level" to find and (recursively?) reattach all ref leaves?

@yusefnapora @vyzo thoughts welcome here

So the idea is that you issue the query for a given WKI in a namespace, and concat returns everything it knows.  Then we filter by publishers that you trust, and give you the set of objects attached to those statements?
Is it important to preserve who published which objects and when for this API?
I'm not sure about the refs... unless you mean fetching the objects in the deps field by hash and "inflating" them in the result?  Like the schema reference in the example, which should be in deps.

So the idea is that you issue the query for a given WKI in a namespace, and concat returns everything it knows. Then we filter by publishers that you trust, and give you the set of objects attached to those statements?

yeah

Is it important to preserve who published which objects and when for this API?

good question! I don't really know

I'm not sure about the refs... unless you mean fetching the objects in the deps field by hash and "inflating" them in the result? Like the schema reference in the example, which should be in deps.

yeah, like assembling the full graph if it has artist refs or w/e -- this is probably not a v1 feature, but may inform the underlying query a bit

Ok, are we kicking this out of this sprint? The oracle we're shipping will be relatively simple (permissionless write only) so won't need this change

I'd be into that... it would be nice to think it through a bit more.  I haven't come up with something I love yet.

Related to https://github.com/mediachain/aleph/pull/177


Add configuration files for Zephyr sitl

@hsu Nice! We're lagging on this a bit but will come back.

Please rebase on master to fix CI.

git rebase with my bad submodule changes along the way is beyond my git skills... so I reset the source branch with brand new commits.

Awesome, thanks! We're still lagging in the integration, but getting there.

Thanks @hsu, I cherry-picked this into https://github.com/PX4/Firmware/pull/5389


[BUG]: DOCS - Performance > Benchmarks link is not working

What version of drizzle-orm are you using?
0.28.6
What version of drizzle-kit are you using?
No response
Describe the Bug

go to: https://orm.drizzle.team/docs/overview
locate Performance section in navigation menu
click Benchmarks link

Expected behavior
Navigation to Benchmarks site
Environment & setup
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

This is working now. And is super cool!


[Feature Request]

🚀 Feature Request
Is your feature request related to a problem? Please describe.
I'm frustrated when I need to efficiently sort a dataset with a limited range of integer values using general-purpose sorting algorithms.
Describe the solution you'd like
The Pigeonhole Sort algorithm efficiently sorts data when the range of input values is known and small. It distributes elements into pigeonholes (buckets) based on their values and then collects them in sorted order.
Describe alternatives you've considered
Counting Sort: Also efficient for a small range, but lacks the intuitive bucket-based sorting of pigeonholes.
Bucket Sort: Effective for uniform distributions but differs in approach.
Additional context
Pigeonhole Sort works well when input elements fall within a predefined range.

Would you like to work on this feature?

[x] Yes
[ ] No

@ajay-dhangar please assign me this issue under hacktoberfest & gssoc-ext.

@ajay-dhangar can you review the changes and are you aware of this that your repo is excluded from hacktoberfest?