profile
viewpoint
Chris Lee clee Panasonic North America Denver https://c133.org/ Open-source hacker & custom keyboard enthusiast

cbiffle/pushr-for-android 5

[obsolete] Simple, easy way to push photos to Flickr from your Android-powered phone. Based loosely on the iPhone program of the same name.

clee/channon 3

A really simple continuous integration system

clee/crankshaft 3

REST API on top of node-maildir (using express)

clee/arborealize 2

Creates an HTML5+CSS3 page with recursive directory contents.

clee/dna 2

My genome

clee/boilerplate 1

Simple flask app to test deployment scripts

clee/clee.github.io 1

My github pages repo

airencracken/gobbs 0

A Go BBS, gobbs

clee/50mm 0

Create minimal HTML5 image galleries from S3 buckets.

clee/agealyzer-rust 0

Rust implementation of my agealyzer tool

starteddrawrowfly/tiktok-scraper

started time in 8 days

startedartichoke/artichoke

started time in 10 days

startedjoeycastillo/The-Open-Book

started time in 16 days

delete branch pasa-v2x/asn1rs

delete branch : master

delete time in 16 days

create barnchpasa-v2x/asn1rs

branch : main

created branch time in 16 days

MemberEvent

delete branch pasa-v2x/asn1rs

delete branch : feature/add-ia5string-type

delete time in 16 days

push eventpasa-v2x/asn1rs

Chris Lee

commit sha e8ab92d96c57e17f7cd82cdf825c0063c95a8430

Add IA5String type

view details

Chris Lee

commit sha 982cc88e72762b38633801e05d3fb82620dfb997

Merge pull request #1 from pasa-v2x/feature/add-ia5string-type Add IA5String type

view details

push time in 16 days

PR merged pasa-v2x/asn1rs

Add IA5String type
+20 -3

0 comment

4 changed files

clee

pr closed time in 16 days

PR opened pasa-v2x/asn1rs

Add IA5String type
+20 -3

0 comment

4 changed files

pr created time in 16 days

push eventpasa-v2x/asn1rs

push time in 16 days

create barnchpasa-v2x/asn1rs

branch : main

created branch time in 16 days

create barnchpasa-v2x/asn1rs

branch : feature/add-ia5string-type

created branch time in 16 days

create barnchpasa-v2x/asn1rs

branch : master

created branch time in 16 days

created repositorypasa-v2x/asn1rs

created time in 16 days

issue commentagile-leaf/50mm

WebP support

I am wary of adding a Chrome only feature to 50mm

I would like to point out that Firefox has supported WebP for over a year now: https://hacks.mozilla.org/2019/01/firefox-65-webp-flexbox-inspector-new-tooling/

clee

comment created time in 2 months

issue commentrusoto/rusoto

Rusoto automatic providers do not apply source_profile or role_arn

Maybe splitting rusoto_credentials into, say, rusoto_credentials_base (which crates like rusoto_sts could depend on), and a new higher-level rusoto_credentials?

clee

comment created time in 2 months

startedacoustid/chromaprint

started time in 2 months

issue openedrusoto/rusoto

Rusoto automatic providers do not apply source_profile or role_arn

Other AWS CLI tools (including the official python awscli) automatically switch to the role defined by the role_arn in the ~/.aws/credentials file. Rusoto should automatically do this when using either rusoto_credential::ChainProvider or rusoto_credential::ProfileProvider.

For example, my ~/.aws/credentials file contains:

[default]
aws_access_key_id = AKIAEXAMPLEACCESSKEY
aws_secret_access_key = Secret/Access/Key

[sandbox]
role_arn = arn:aws:iam::123456789012:role/some-role
source_profile = default

When I export AWS_PROFILE=sandbox, commands like aws s3 ls and all the rest work as expected, showing me the contents from the sandbox role's view of things.

This does not work with any Rusoto providers. I had to copy the aws_access_key_id and aws_secret_access_key definitions into the sandbox profile definition for anything to work, and even then, the role_arn wasn't applied so I had to figure out how to use an StsAssumeRoleSessionCredentialsProvider.

It would be really nice if the default ChainProvider sorted this out for me, or even the ProfileProvider because what's the point of loading the profile if we don't load it correctly?

created time in 2 months

starteduniversalappfactory/QmlGraphQl

started time in 2 months

startedshurcooL/githubv4

started time in 2 months

PR opened graph-gophers/graphql-transport-ws

WIP: Execute Subscribe in connection.addSubscription with timeout
  • create new connection.addSubscription method from the code formerly in connection.readLoop
  • call addSubscription in a separate goroutine
  • apply the connection.writeTimeout duration to the initial subscription to the backend
  • add new tests for timeout and delayed connections
  • run tests in parallel goroutines

Apologies to @rawagner, I took your changes and built on top of them.

I'll rebase this after #19 lands.

Fixes #14.

+176 -54

0 comment

2 changed files

pr created time in 2 months

create barnchclee/graphql-transport-ws

branch : bugfix/14-subscription-goroutine

created branch time in 2 months

issue closedgraph-gophers/graphql-transport-ws

panic occurred: reflect: Method index out of range

I'm trying to set up a subscription that looks like this in the server's schema:

type Subscription {
	seriesAdded(): SeriesAddedEvent!
	...
}

type SeriesAddedEvent {
	series: Series!
}

type Series {
	name: String!
	...
}

But when I try to use this from a client with the following:

subscription {
  seriesAdded {
    series {
      name
    }
  }
}

Instead of getting a working subscription, I get this panic in the logs:

graphql: panic occurred: reflect: Method index out of range

I added the following line to graphql-go/internal/exec/exec.go right before the line causing this panic (line 203 for me, creating the callOut variable inside execFieldSelection()):

fmt.Fprintf(os.Stderr, "f.field[%s] index: %d\n", f.field.Name, f.field.MethodIndex)

The new debug output includes this right before the crash:

f.field[seriesAdded] index: 41
f.field[series] index: 0

Why would the field index for series be zero? This makes no sense to me.

The Go backend code looks like it's based on the sample repo, but it's too much to include inline here. The full schema definition is here, along with the subscription handling code and the setup code.

closed time in 2 months

clee

issue commentgraph-gophers/graphql-transport-ws

panic occurred: reflect: Method index out of range

It turned out that the reason I was getting this was because my connection was not actually a websocket somehow.

clee

comment created time in 2 months

push eventclee/graphql-transport-ws

Chris Lee

commit sha d6660f478a8824481379943a085c2f5dbd4f8b88

Guard opDone with sync.RWMutex Fixes #18.

view details

push time in 2 months

create barnchclee/graphql-transport-ws

branch : bugfix/18-data-races

created branch time in 2 months

issue openedgraph-gophers/graphql-transport-ws

Potential data races with opDone

There's no sync.Mutex or sync.RWMutex protecting opDone in Connection.readLoop.

The tests don't appear to trigger or catch this, even with go test -race, but all modifications/accesses to opDone should be guarded by a mutex lock or channel guard.

created time in 2 months

issue commentgraph-gophers/graphql-transport-ws

Queries are not executed in parallel

@rawagner Yes, this is because of how Go resolves the variable lookups. If you want it to actually get the values at the time of each iteration of the for loop, you have to do something like this:

for i := 0; i < 10; i++ {
    y := i
    go func(a, b int) {
        fmt.Println(a)
        fmt.Println(b)
    }(y, i)
}

See http://golang.org/doc/faq#closures_and_goroutines for more detail.

rawagner

comment created time in 2 months

pull request commentgraph-gophers/graphql-transport-ws

Add X-WebSocket-Upgrade-Failure header for errors

Example of Wireshark showing one of the new error headers: Screenshot from 2020-05-24 00-56-58

clee

comment created time in 2 months

PR opened graph-gophers/graphql-transport-ws

Add X-WebSocket-Upgrade-Failure header for errors

To help GraphQL client developers debug why their WebSocket connections don't work.

Fixes #16.

+19 -12

0 comment

1 changed file

pr created time in 2 months

push eventclee/graphql-transport-ws

Chris Lee

commit sha bf7473e46000a8fff3ab1e7cde9bfe4e8bc41774

Add X-WebSocket-Upgrade-Failure header for errors To help GraphQL client developers debug why their WebSocket connections don't work. Fixes #16.

view details

push time in 2 months

create barnchclee/graphql-transport-ws

branch : bugfix/16-add-websocket-error-header

created branch time in 2 months

issue openedgraph-gophers/graphql-transport-ws

No error message when websocket HTTP connection upgrade fails

I started writing a program using Qt last night, a client that needs to speak to a GraphQL API. I figured I would use QWebSocket, but it turns out it doesn't support Subprotocols so it doesn't work.

It took me a lot longer than I'd like to admit to figure out why my QWebSocket was failing to connect to the service, which uses graphql-transport-ws. I ended up breaking out Wireshark to sniff the HTTP traffic so that I could the HTTP response code, and there was no message with the HTTP 400 error.

Would have been really nice to see some kind of error message with the HTTP 400.

created time in 2 months

fork clee/graphql-transport-ws

WebSocket transport for GraphQL subscriptions

fork in 2 months

startedrust-av/rust-av

started time in 2 months

issue commentgogs/gogs

组织权限不起作用

Thank you for your prompt reply. But I know you know Chinese.

I certainly don't. I have no idea why I was tagged :)

JaneYork

comment created time in 2 months

startedso-rose/fast-hdr

started time in 2 months

more