profile
viewpoint

alindeman/active_model_serializers 1

ActiveModel::Serializer implementation and Rails hooks

alindeman/alindeman.heroku.com 1

Simple sinatra app to redirect to alindeman.github.com

alindeman/camper_van 1

A Campfire to IRC bridge

alindeman/activerecord-jdbc-adapter 0

ActiveRecord adapter for JDBC and JRuby.

alindeman/activerecord-sqlserver-adapter 0

SQL Server Adapter For Rails

alindeman/akka 0

Akka Project

issue openedrubyforgood/casa

Importing a supervisor with no volunteers causes an exception

What is the problem, and what should happen instead? Attempting to import a supervisors CSV file such as:

email,display_name,supervisor_volunteers
supervisor1@example.net,Supervisor One
supervisor2@example.net,Supervisor Two

will cause an error:

NoMethodError: undefined method `split' for nil:NilClass
Location
app/models/concerns/file_importer.rb:37 - block in import_supervisors

created time in 3 days

issue openedrubyforgood/casa

An error causes 'Import Supervisors' or 'Import Cases' to revert to 'Import Volunteers'

What is the problem, and what should happen instead? If a CASA admin is importing a supervisors or cases file but there is an error (e.g., no file is selected), the page will always reload with 'Imports Volunteers' selected. If the user doesn't look closely, they may end up importing volunteers when they meant to import supervisors (e.g.).

If an error occurs while importing supervisors or cases, 'Import Supervisors' or 'Import Cases' should stay selected when the error is displayed.

created time in 3 days

startedtroymott/bulma-book-code

started time in 3 days

push eventrubyforgood/casa

Andy Lindeman

commit sha f5e79a23bf66449a3cc83a9afe2bdad85f62c11a

Unify access denied handling, hide New Case button if not authorized

view details

push time in 4 days

PR opened rubyforgood/casa

Unify access denied handling, hide New Case button if not authorized

What github issue is this PR for, if any?

Resolves #499

What changed, and why?

How will this affect user permissions?

  • Volunteer permissions: No policy changes. Will no longer see New CASA Case button
  • Supervisor permissions: No changes
  • Admin permissions: No changes

How is this tested? (please write tests!) 💖💪

Request spec added.

+33 -5

0 comment

5 changed files

pr created time in 4 days

create barnchrubyforgood/casa

branch : access-denied

created branch time in 4 days

issue commentrubyforgood/casa

Sign In after previous Sign in and Sign Out leads "You are already signed in" message

I tried to reproduce this one, but wasn't able to. With the correct password, I was logged in (without any message about 'You are already signed in'); with the incorrect password, I was not signed in and received a message about the password being incorrect.

shankypr

comment created time in 4 days

issue commentrubyforgood/casa

Volunteers should be rerouted when trying to make a new casa case

If we just hid the button from users who are not authorized to create new cases, would that sufficiently solve the issue as well?

cjilbert504

comment created time in 4 days

PR opened rubyforgood/casa

Import only expected columns

What github issue is this PR for, if any?

Resolves #486

What changed, and why?

As it stands now, it is possible to use the CSV import to set any field on a new Volunteer. This is probably not ideal for security, and it can also cause errors if a user imports the wrong kind of file (e.g., supervisors.csv when 'Import Volunteers' is selected).

I've made the logic similar for each import type: ignore any columns that aren't expected. Alternatively, we could instead fail to import any row with unexpected columns. This would better catch a case when an admin is attempting to import supervisors (e.g.) when 'Import Volunteers' is selected instead. Feedback welcomed.

How will this affect user permissions?

  • Volunteer permissions: N/A
  • Supervisor permissions: N/A
  • Admin permissions: N/A

How is this tested? (please write tests!) 💖💪

I could add a test that the importer ignores invalid columns, but it felt overly specific and low value to me. For now, I relied on the existing tests for FileImporter to continue passing. But if there's feedback that an automated test for this would be useful, let me know.

+3 -3

0 comment

1 changed file

pr created time in 4 days

create barnchrubyforgood/casa

branch : import-only-expected-columns

created branch time in 4 days

push eventrubyforgood/casa

Andy Lindeman

commit sha 4667b702390c3d8a40649d8f053a313f3e85636a

Upgrade to Ruby 2.7.1

view details

push time in 4 days

PR opened rubyforgood/casa

Upgrade to Ruby 2.7.1

What github issue is this PR for, if any?

N/A

What changed, and why?

Upgrade to Ruby 2.7.1, the latest version of Ruby. There are some security fixes between 2.7.0 and 2.7.1.

How will this affect user permissions?

  • Volunteer permissions: N/A
  • Supervisor permissions: N/A
  • Admin permissions: N/A

How is this tested? (please write tests!) 💖💪

N/A

+5 -5

0 comment

5 changed files

pr created time in 4 days

create barnchrubyforgood/casa

branch : ruby-2.7.1

created branch time in 4 days

issue commentrubyforgood/casa

[bug] in upload supervisors, throws exception when importing the example file

@compwron Is it possible that you had 'Import Volunteers' still selected when you attempted to import a supervisors file? That's the only way I could reproduce this.

If so, I still think this is probably worth fixing, as I don't think even invalid user input should cause the app to crash.

compwron

comment created time in 10 days

startednektos/act

started time in 10 days

issue commentrubyforgood/casa

[bug] Volunteer view in Supervisor/Admin dashboard should not default to search results from previous sessions.

I gave this a go in #483. Feedback welcomed: JavaScript is not my primary language.

Zrrrpy

comment created time in 11 days

PR opened rubyforgood/casa

Clear localStorage on login

What github issue is this PR for, if any?

Resolves #451

Proposes using the tactic suggested by @bklang of clearing all localStorage on login. (/cc @cliftonmcintosh)

What changed, and why?

Prevent DataTable saved state from bleeding between sessions.

How will this affect user permissions?

  • Volunteer permissions: N/A
  • Supervisor permissions: N/A
  • Admin permissions: N/A

How is this tested? (please write tests!) 💖💪

Manually. Also stepped through via a JavaScript debugger.

+6 -0

0 comment

2 changed files

pr created time in 11 days

create barnchrubyforgood/casa

branch : local-storage-clear-on-login

created branch time in 11 days

create barnchrubyforgood/casa

branch : case-contact-validation-errors

created branch time in 11 days

PR opened rubyforgood/casa

Render case contact form with validation errors

What github issue is this PR for, if any?

Resolves #464

What changed, and why?

We should use CaseContact model that has been validated so that the form is displayed with errors, if there are any.

How will this affect user permissions?

  • Volunteer permissions: N/A
  • Supervisor permissions: N/A
  • Admin permissions: N/A

How is this tested? (please write tests!) 💖💪

Added a feature spec.

+21 -0

0 comment

2 changed files

pr created time in 11 days

startedenvoyproxy/protoc-gen-validate

started time in 13 days

push eventrubyforgood/casa

Andy Lindeman

commit sha c8e5a2f8aa482e8128eac91debdba12f5f949f12

Enforce server-side that at least one case must be selected There's already client-side validation to make sure a user selects at least one case, but this should also be present server-side in case a browser doesn't enforce it properly. Additionally, if a user is not assigned any cases at all, there will be no checkboxes to select, so the client-side validation may be inadvertently bypassed.

view details

push time in 17 days

PR opened rubyforgood/casa

Enforce server-side that at least one case must be selected

What github issue is this PR for, if any?

Resolves #268

What changed, and why?

There's already client-side validation to make sure a user selects at least one case, but this should also be present server-side in case a browser doesn't enforce it properly.

Additionally, if a user is not assigned any cases at all, there will be no checkboxes to select, so the client-side validation may be inadvertently bypassed.

How will this affect user permissions?

  • Volunteer permissions: N/A
  • Supervisor permissions: N/A
  • Admin permissions: N/A

How is this tested? (please write tests!) 💖💪

Via local development environment and a new request spec.

I waffled on introducing a higher level feature spec, but decided against it because it seemed like an edge case. I'd be happy to take in feedback about this decision though.

Screenshots please :)

TODO

+26 -3

0 comment

2 changed files

pr created time in 17 days

create barnchrubyforgood/casa

branch : must-select-case

created branch time in 17 days

PR opened rubyforgood/casa

Allow admins and supervisors to create case contacts

What github issue is this PR for, if any?

Resolves #426 Resolves #393

What changed, and why?

  • Make sure all models in CaseContactsController run through Pundit for authorization.
  • Allow CaseContactsController#new to accept URL params to specify which cases to display as checkboxes. Otherwise, admins and supervisors would see an unweildy list as they can create contacts for any case.
  • Create 'New Case Contact' button on case details page as described in #393.
  • Inadvertently fix #426 along the way: no longer reset creator for updates.

How will this affect user permissions?

As far as I know, no permissions are changed (no policies were changed), but we do enforce them more consistently in CaseContactsController.

How is this tested? (please write tests!) 💖💪

There's a new feature spec, and I updated several request and view specs along the way.

Screenshots please :)

TODO

+106 -75

0 comment

11 changed files

pr created time in 18 days

push eventrubyforgood/casa

Andy Lindeman

commit sha 0097b85cce3f01479ed5664a8520b57d1866506f

Allow admins and supervisors to create case contacts

view details

push time in 18 days

create barnchrubyforgood/casa

branch : supervisor-create-new-case-contact

created branch time in 18 days

issue commentrubyforgood/casa

Do not allow a volunteer without an assigned case to submit a case contact

I think I'll probably end up solving this alongside (or closely after) #393. Assigning it to myself.

compwron

comment created time in 19 days

startedflant/shell-operator

started time in 19 days

PR opened crewjam/saml

SessionNotOnOrAfter is serialized to XML if set

It is currently possible to set SessionNotOnOrAfter directly on the Go structure, but it is not serialized to or deserialized from XML.

+42 -5

0 comment

2 changed files

pr created time in 22 days

create barnchalindeman/saml

branch : session-not-on-or-after

created branch time in 22 days

fork alindeman/saml

SAML library for go

fork in 22 days

PR opened rubyforgood/casa

Fix filtering on "Assigned to Transition Aged Youth" column

What github issue is this PR for, if any?

Resolves #374

What changed, and why?

The value now includes two emoji. Since we test for an exact match, the data-value needs to be updated as well.

How will this affect user permissions?

N/A

How is this tested? (please write tests!) 💖💪

By default, the only volunteers that should be filtered out on the initial page load are those that are inactive. I verified this is the case again.

+1 -1

0 comment

1 changed file

pr created time in 24 days

create barnchrubyforgood/casa

branch : filter-matching

created branch time in 24 days

issue commentrubyforgood/casa

[BUG] Volunteer assigned to supervisor does not appear in dashboard volunteers list

I'll try to reproduce this and see what I come up with.

compwron

comment created time in 25 days

issue commentrubyforgood/casa

any supervisor can assign any volunteer to any case

@colinsoleim @compwron Is it possible that https://github.com/rubyforgood/casa/pull/263 already took care of this one? As far as I can tell, supervisors can already assign volunteers to cases.

compwron

comment created time in 25 days

starteddenji/awesome-http-benchmark

started time in a month

startedrakyll/hey

started time in a month

PR opened rubyforgood/casa

Update text for deactivation email

What github issue is this PR for, if any?

Resolves #22

What changed, and why?

The copy in the volunteer deactivation email, per #22.

How will this affect user permissions?

N/A

How is this tested? (please write tests!) 💖💪

Nothing triggers this email yet, as far as I can tell. We should probably add some tests when that functionality is added.

Screenshots please :)

mailer preview

+9 -6

0 comment

2 changed files

pr created time in a month

create barnchalindeman/casa

branch : update-deactivated-text

created branch time in a month

issue commentrubyforgood/casa

Update text for deactivated volunteer email

Sorry about this. I will have limited access to a computer for the next week or so. If it's needed sooner, feel free to unassign me. Otherwise I think I can pick it up when I get back :)

On Sun, Jul 5, 2020, 16:20 naufragio de guardia de producción metafísica con linda desastre notifications@github.com wrote:

@alindeman https://github.com/alindeman Hey just checking in, this is marked as "in progress" how is it going? If you want to pair program we're on zoom today 1-230pm pacific time, and I'm happy to hang out other times too. You can join us in ruby4good slack at #casa https://rubyforgood.herokuapp.com/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rubyforgood/casa/issues/22#issuecomment-653934431, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADASZIVKYDXJ2TWPAL6Z2DR2DOCRANCNFSM4LZW43KA .

compwron

comment created time in a month

issue commentaws/containers-roadmap

[EKS] [request]: Allow cloud provider config. setting DisableSecurityGroupIngress

@dee-kryvenko Did you find any workaround or are you still blocked on this? I'd also prefer to disable security group modifications by the EKS/AWS cloud provider, and instead manage them in my own configuration.

kh34

comment created time in a month

startedchrisjshull/homebridge-nest

started time in 2 months

fork alindeman/pkgsite

[mirror] Home of the pkg.go.dev website

fork in 2 months

push eventalindeman/foo4

Andy Lindeman

commit sha 857cea7628ee731e1dad5a2c7c72cf3a0f62ccff

Create LICENSE

view details

push time in 2 months

push eventalindeman/foo4

Andy Lindeman

commit sha b2bf3e0530ce58064d45f73e8b3981db58a4b4e8

Create LICENSE

view details

push time in 2 months

push eventalindeman/foo4

Andy Lindeman

commit sha dcc829f474d38695a30998fb9b3f1363995def01

foo

view details

push time in 2 months

push eventalindeman/foo4

Andy Lindeman

commit sha 308b30e2a970d9b3ff8322cb5fd6c57f4b7afa47

foo

view details

push time in 2 months

push eventalindeman/foo4

Andy Lindeman

commit sha 73fa6f5cd46475ab219afa5f3fddf6e46bdeae9e

foo

view details

push time in 2 months

push eventalindeman/foo4

Andy Lindeman

commit sha c2fba962693b6217c902e6c8f15edea44948e5c2

Foo

view details

push time in 2 months

push eventalindeman/foo3

Andy Lindeman

commit sha bea1480485a8af617d2eaca4854658a729b937b4

Foo

view details

push time in 2 months

create barnchalindeman/foo3

branch : gh-pages

created branch time in 2 months

create barnchalindeman/foo3

branch : master

created branch time in 2 months

created repositoryalindeman/foo3

created time in 2 months

create barnchalindeman/foo2

branch : master

created branch time in 2 months

created repositoryalindeman/foo2

created time in 2 months

PR opened rubyforgood/casa

Add Procfile with release phase for migrations

What github issue is this PR for, if any?

Resolves #142

What changed, and why?

We'd like to automatically run database migrations on deploy.

How will this affect user permissions?

  • Volunteer permissions: N/A
  • Supervisor permissions: N/A
  • Admin permissions: N/A

How is this tested? (please write tests!) 💖💪

Not at all 😼 Someone with access to Heroku will have to try this out and make sure it actually works.

Screenshots please :)

N/A

+2 -0

0 comment

1 changed file

pr created time in 2 months

create barnchrubyforgood/casa

branch : procfile

created branch time in 2 months

PR opened rubyforgood/casa

Validate the user has an active role

If the user is inactive, display a localized error message in the flash message and do not allow them to login, nor see any pages that require authentication.

What github issue is this PR for, if any?

Resolves #179

What changed, and why?

Devise has a mechanism for determining if a user is active and refusing their login if not. This is checked at login and on every request. This PR hooks it up to our user model and inactive role model.

How will this affect user permissions?

If a user has their role changed to inactive, they will no longer be able to login or view any content that requires authentication.

How is this tested? (please write tests!) 💖💪

I wrote a couple of model specs. I'm open to writing a feature spec if folks think it would be valuable, as pretty much all of the underlying logic is provided by Devise.

Screenshots please :)

inactive user message

+29 -1

0 comment

3 changed files

pr created time in 2 months

create barnchrubyforgood/casa

branch : inactive-role

created branch time in 2 months

push eventalindeman/foo

Andy Lindeman

commit sha cccc0dc4e8120dc55067bddddce74b91c7813468

Foo

view details

push time in 2 months

push eventalindeman/foo

Andy Lindeman

commit sha 554e0396082b7581184b638e2164285b7117ba4d

Foo

view details

push time in 2 months

push eventalindeman/foo

Andy Lindeman

commit sha 76ec4cbfc570b43b7bc0d338b61144f9f62129e1

Foo

view details

push time in 2 months

push eventalindeman/foo

Andy Lindeman

commit sha 6eba4c5bfc3164962da5dfac2808b092c18f77ba

Foo

view details

push time in 2 months

create barnchalindeman/foo

branch : gh-pages

created branch time in 2 months

created repositoryalindeman/foo

created time in 2 months

create barnchalindeman/hmm

branch : 🤔

created branch time in 2 months

created repositoryalindeman/hmm

created time in 2 months

startedalecthomas/kong

started time in 2 months

startedfrankban/quicktest

started time in 2 months

delete branch pardot/deci

delete branch : public-redirect-uri

delete time in 2 months

push eventpardot/deci

Andy Lindeman

commit sha 6d6060a7d0b2ffdcfd425b73dd4713520aae101e

Reduce potential exposure to URL parser confusion (#50)

view details

push time in 2 months

PR merged pardot/deci

Reduce potential exposure to URL parser confusion

The Go URL parser is pretty robust, as far as I can tell, but it's not guaranteed to be aligned with every other URL parser. We can mitigate potential parser confusion by dramatically constraining the allowed format and characters in the redirect URI for a public client. In practice, these URLs are almost always http://localhost:12345/callback or similar, so there's no practical need to support more than required for common usage.

+32 -15

0 comment

2 changed files

alindeman

pr closed time in 2 months

push eventpardot/deci

Andy Lindeman

commit sha 566dabb18302a472a254661a9e5dd088325f39a3

Constrain length as well

view details

push time in 2 months

PR opened pardot/deci

Reduce potential exposure to URL parser confusion

The Go URL parser is pretty robust, as far as I can tell, but it's not guaranteed to be aligned with every other URL parser. We can mitigate potential parser confusion by dramatically constraining the allowed format and characters in the redirect URI for a public client. In practice, these URLs are almost always http://localhost:12345/callback or similar, so there's no practical need to support more than required for common usage.

+32 -15

0 comment

2 changed files

pr created time in 2 months

create barnchpardot/deci

branch : public-redirect-uri

created branch time in 2 months

PR opened Homebrew/homebrew-cask-fonts

iosevka 3.1.0

Important: Do not tick a checkbox if you haven’t performed its action. Honesty is indispensable for a smooth review process.

After making all changes to a cask, verify:

+4 -4

0 comment

2 changed files

pr created time in 2 months

create barnchalindeman/homebrew-cask-fonts

branch : iosevka-3.1.0

created branch time in 2 months

startedgoogle/kctf

started time in 2 months

startedvincentdoerig/latex-css

started time in 3 months

startedykhemani/vipaccess

started time in 3 months

issue commentbe5invis/Iosevka

update brew install file to v3

https://github.com/Homebrew/homebrew-cask-fonts/pull/2044

razagill

comment created time in 3 months

PR opened Homebrew/homebrew-cask-fonts

iosevka 3.0.1

A few minutes after #2043 was merged, iosevka 3.0.1 was released. There's also now an artifact that just contains TTC files, which is a smaller download.

+24 -24

0 comment

2 changed files

pr created time in 3 months

create barnchalindeman/homebrew-cask-fonts

branch : iosevka-3.0.1

created branch time in 3 months

PR opened Homebrew/homebrew-cask-fonts

iosevka 3.0.0

After making all changes to a cask, verify:

+24 -60

0 comment

2 changed files

pr created time in 3 months

create barnchalindeman/homebrew-cask-fonts

branch : iosevka-3.0.0

created branch time in 3 months

pull request comment99designs/aws-vault

Assume role with web identity provider

Thanks for pulling this in @mtibben. I'm fairly motived to see v6 ship soon, so if there are any other issues I can help with around that, definitely let me know :smile:

alindeman

comment created time in 3 months

push eventalindeman/aws-vault

Andy Lindeman

commit sha eef2d28af78c8a163e85101a6efe828d46cf2159

Remove unused constants

view details

push time in 3 months

Pull request review comment99designs/aws-vault

Assume role with web identity provider

+package vault++import (+	"bytes"+	"fmt"+	"io"+	"io/ioutil"+	"log"+	"os"+	"os/exec"+	"runtime"+	"time"++	"github.com/aws/aws-sdk-go/aws"+	"github.com/aws/aws-sdk-go/aws/credentials"+	"github.com/aws/aws-sdk-go/service/sts"+)++// AssumeRoleWithWebIdentityProvider retrieves temporary credentials from STS using AssumeRoleWithWebIdentity+type AssumeRoleWithWebIdentityProvider struct {+	StsClient               *sts.STS+	RoleARN                 string+	RoleSessionName         string+	WebIdentityTokenFile    string+	WebIdentityTokenProcess string+	ExternalID              string+	Duration                time.Duration+	ExpiryWindow            time.Duration+	credentials.Expiry+}++// Retrieve generates a new set of temporary credentials using STS AssumeRoleWithWebIdentity+func (p *AssumeRoleWithWebIdentityProvider) Retrieve() (credentials.Value, error) {+	role, err := p.assumeRole()+	if err != nil {+		return credentials.Value{}, err+	}++	p.SetExpiration(*role.Expiration, p.ExpiryWindow)+	return credentials.Value{+		AccessKeyID:     *role.AccessKeyId,+		SecretAccessKey: *role.SecretAccessKey,+		SessionToken:    *role.SessionToken,+	}, nil+}++func (p *AssumeRoleWithWebIdentityProvider) roleSessionName() string {+	if p.RoleSessionName == "" {+		// Try to work out a role name that will hopefully end up unique.+		return fmt.Sprintf("%d", time.Now().UTC().UnixNano())+	}++	return p.RoleSessionName+}++func (p *AssumeRoleWithWebIdentityProvider) assumeRole() (*sts.Credentials, error) {+	var err error++	webIdentityToken, err := p.webIdentityToken()+	if err != nil {+		return nil, err+	}++	req, resp := p.StsClient.AssumeRoleWithWebIdentityRequest(&sts.AssumeRoleWithWebIdentityInput{+		RoleArn:          aws.String(p.RoleARN),+		RoleSessionName:  aws.String(p.roleSessionName()),+		DurationSeconds:  aws.Int64(int64(p.Duration.Seconds())),+		WebIdentityToken: aws.String(webIdentityToken),+	})+	// Retry possibly temporary errors+	req.RetryErrorCodes = append(req.RetryErrorCodes, sts.ErrCodeInvalidIdentityTokenException)++	if err := req.Send(); err != nil {+		return nil, err+	}++	log.Printf("Generated credentials %s using AssumeRoleWithWebIdentity, expires in %s", FormatKeyForDisplay(*resp.Credentials.AccessKeyId), time.Until(*resp.Credentials.Expiration).String())++	return resp.Credentials, nil+}++func (p *AssumeRoleWithWebIdentityProvider) webIdentityToken() (string, error) {+	const (+		defaultMaxBufSize = 8192+		defaultTimeout    = 2 * time.Minute+	)++	// Read OpenID Connect token from WebIdentityTokenFile+	if p.WebIdentityTokenFile != "" {+		b, err := ioutil.ReadFile(p.WebIdentityTokenFile)+		if err != nil {+			return "", fmt.Errorf("unable to read file at %s: %v", p.WebIdentityTokenFile, err)+		}++		return string(b), nil+	}++	// Exec WebIdentityTokenProcess to retrieve OpenID Connect token+	var cmdArgs []string+	if runtime.GOOS == "windows" {+		cmdArgs = []string{"cmd.exe", "/C", p.WebIdentityTokenProcess}+	} else {+		cmdArgs = []string{"/bin/sh", "-c", p.WebIdentityTokenProcess}+	}++	r, w, err := os.Pipe()+	if err != nil {+		return "", err+	}+	defer r.Close()+	defer w.Close()++	cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...)+	cmd.Env = os.Environ()+	cmd.Stdin = os.Stdin+	cmd.Stdout = w+	cmd.Stderr = os.Stderr++	if err := cmd.Start(); err != nil {+		return "", fmt.Errorf("failed to start command %q: %v", p.WebIdentityTokenProcess, err)+	}+	defer func() { _ = cmd.Process.Kill() }()++	waitCh := make(chan error, 1)+	go func() { waitCh <- cmd.Wait() }()++	b := bytes.NewBuffer(make([]byte, 0, defaultMaxBufSize))+	readCh := make(chan error, 1)+	go func() {+		w.Close() // close our write end of the pipe+		defer r.Close()++		_, err := io.CopyN(b, r, int64(defaultMaxBufSize))+		readCh <- err+	}()++	timer := time.NewTimer(defaultTimeout)+	defer timer.Stop()++	// Wait for process to exit (or timeout)+	select {+	case err := <-waitCh: // process exited+		if err != nil {+			return "", fmt.Errorf("command %q failed: %v", p.WebIdentityTokenProcess, err)+		}+	case <-timer.C: // timeout+		return "", fmt.Errorf("command %q timed out after %s", p.WebIdentityTokenProcess, defaultTimeout)+	}++	// Wait for read to finish (or timeout)+	select {+	case err := <-readCh: // process exited+		if err != nil && err != io.EOF {+			return "", fmt.Errorf("read output from %q failed: %v", p.WebIdentityTokenProcess, err)+		}+	case <-timer.C: // timeout+		return "", fmt.Errorf("command %q timed out after %s", p.WebIdentityTokenProcess, defaultTimeout)+	}

Sounds good. I pushed that up as 78eb6646be3b96119337dce80955585c817c7e12.

alindeman

comment created time in 3 months

push eventalindeman/aws-vault

Andy Lindeman

commit sha 78eb6646be3b96119337dce80955585c817c7e12

Simplify exec code We do not need to be as defensive as the SDK in this case: https://github.com/99designs/aws-vault/pull/587#discussion_r426119472

view details

push time in 3 months

push eventalindeman/nvim-lsp

Andy Lindeman

commit sha 5e7401ab7735b1e955225ad270912f5bbecdfc23

Add .terraform/ as a root dir for terraformls `terraform init` creates .terraform/ and is a better indicator of the root than .git/ in many cases

view details

push time in 3 months

PR opened neovim/nvim-lsp

Add .terraform/ as a root dir for terraformls

terraform init creates .terraform/ and is a better indicator of the root than .git/ in many cases

+2 -2

0 comment

1 changed file

pr created time in 3 months

create barnchalindeman/nvim-lsp

branch : terraform-dir

created branch time in 3 months

fork alindeman/nvim-lsp

Nvim LSP client configurations

fork in 3 months

startedweihuoya/citra

started time in 3 months

PR opened neovim/neovim

Check for nil before checking for empty table

At least the gopls language server seems to return nil/null if no code actions are available. Currently this results in an error:

Error executing vim.schedule lua callback: shared.lua:199: Expected table, got nil

+1 -1

0 comment

1 changed file

pr created time in 3 months

create barnchalindeman/neovim

branch : nil-code-actions

created branch time in 3 months

fork alindeman/neovim

Vim-fork focused on extensibility and usability

https://neovim.io

fork in 3 months

push eventalindeman/aws-vault

Andy Lindeman

commit sha c1e355ef2129b66921aad8a6ea63aa117a5dbd3b

Use Region, not SSORegion

view details

push time in 3 months

push eventalindeman/aws-vault

Andy Lindeman

commit sha 331c84ed11d9574a3cf951e693a640d2405275f5

Use Region, not SSORegion

view details

push time in 3 months

more