profile
viewpoint
Jimmy Cuadra jimmycuadra San Francisco, CA https://www.jimmycuadra.com/ Computer programmer. Creator of @litaio and @ruma.

emilioforrer/haml_coffee_assets 445

Haml Coffee templates in the Rails asset pipeline or as Sprockets engine.

jimmycuadra/ktmpl 82

Parameterized templates for Kubernetes manifests.

jimmycuadra/docker-rust 49

DEPRECATED. Use https://hub.docker.com/_/rust/ instead.

jimmycuadra/jquery-tmpl-rails 46

jQuery Templates for the Rails asset pipeline.

jimmycuadra/ghlabel 33

Automatically creates and deletes labels on GitHub Issues to match a template

jimmycuadra/bang 30

Text snippets on the command line.

jimmycuadra/guerilla_patch 27

Monkey patch objects using Ruby 2.0 refinements, if available.

jimmycuadra/lita-confirmation 21

A Lita extension to require confirmation for commands.

jimmycuadra/kube-up-artifacts 14

Artifacts generated by the official Kubernetes cluster creation script.

startedAloxaf/silicon

started time in 13 days

startedreactjs/react-rails

started time in 14 days

startedruma/ruma

started time in a month

push eventlitaio/lita.io

Jimmy Cuadra

commit sha 2fe0cd99b5e2d720119c3d3b19c20edda99e8fbe

Update config docs for default_locale.

view details

push time in a month

issue closedlitaio/lita

Incorrect I18n.locale inside route

Hi, I have some problems when the message is route to the specific method.

My handler:

class Deployment < Handler
  route(/^deploy (?<branch>.+)/, :deploy, command: true, help: {
    t("help.key") => t("help.value"), # Got `:'zh-TW`
  })

  def deploy(response)
    response.reply(I18n.locale) # => Got `:en`
  end
end

The correct one is :zh-TW because the environment variable LANG="zh-TW" but it reset to :en when it inside the response method.

I have no idea why it changed, I add some monkey patch to detect I18n.locale= but it didn't changed after Lita is booted.

closed time in a month

elct9620

issue commentlitaio/lita

Incorrect I18n.locale inside route

I just released v4.8.0, which fixes this: Setting the LANG environment variable will now set I18n.default_locale in addition to I18n.locale. Alternatively, you can set the default locale manually in your config file with the new config.robot.default_locale configuration attribute.

elct9620

comment created time in a month

release litaio/lita

v4.8.0

released time in a month

created taglitaio/lita

tagv4.8.0

ChatOps for Ruby.

created time in a month

push eventlitaio/lita

Jimmy Cuadra

commit sha 98090f97f08de633f1a0480d411c7e395a3c7a8c

Bump version to 4.8.0.

view details

push time in a month

push eventlitaio/lita

Jimmy Cuadra

commit sha 8f669f0fa99bcd5ddb0a626d0b7bbaa28e4e6f7a

Add Lita.default_locale=.

view details

Jimmy Cuadra

commit sha 8ef38e0e410ae18cf95fb509683114f5a77bca35

Add config.robot.default_locale.

view details

push time in a month

delete branch jimmycuadra/sops

delete branch : age

delete time in a month

issue commentlitaio/lita

Incorrect I18n.locale inside route

From reading https://guides.rubyonrails.org/i18n.html it seems that I18n.locale is local to the current thread, but I18n.default_locale is not. Can you try adding I18n.default_locale = "zh-TW" at the very end of your lita_config.rb file (after the Lita.configure call)? If that works, I think it will be necessary to add a new default_locale method to the configuration, as the regular "locale" doesn't work how I expected, and changing it would technically be a breaking change.

elct9620

comment created time in a month

issue commentlitaio/lita

Incorrect I18n.locale inside route

Can you share the code for your monkey patch? New threads are created to dispatch messages to handlers, so it's possible the i18n library uses some thread local data that isn't being accounted for.

elct9620

comment created time in a month

pull request commentmozilla/sops

Add support for age.

Updated to the latest age beta and made changes suggested by Filippo. Still looking for a sops maintainer with time for final review and hopefully merge!

jimmycuadra

comment created time in a month

push eventjimmycuadra/sops

AJ Bahnken

commit sha 5f7d32404639855ee4f35f187714d71fc43aa4fa

Merge pull request #693 from mozilla/develop v3.6.0 RC (develop -> master)

view details

Rene Hernandez

commit sha 8aca3cb79069569543227ce2a99f2f7f976ce6fe

Add support for --unencrypted-regex (#715) * Add support for --unencrypted-regex * Fix grammar mistake * Add gofmt'd files

view details

AJ Bahnken

commit sha 0ed7e370acff1e5d93476c3ff2c85cc67b6b1630

Fix vault tests

view details

AJ Bahnken

commit sha bdd23ef8551d67a2ea8e2117a9df23253a4a6c0f

Merge pull request #731 from mozilla/ajvb/fix-tests Fix vault tests

view details

AJ Bahnken

commit sha 8a09f056dedfc41b98cd03cab14abcc018ea8961

Switch gpg.mozilla.org out for keys.openpgp.org

view details

AJ Bahnken

commit sha 1927e18b52ac0327df05385cb61fbf6d2116fc8f

Merge pull request #732 from mozilla/ajvb/gpg-key-fetching Switch gpg.mozilla.org out for keys.openpgp.org

view details

AJ Bahnken

commit sha 225ac82d3fb67bf9319500b8c9edca3ae4618568

Bump version and add changelog for 3.6.1

view details

AJ Bahnken

commit sha dc66e9f99509be3d656e4a40e0eaab2eaaaa8525

Merge pull request #735 from mozilla/prep-for-3.6.1 Prep for 3.6.1 release

view details

AJ Bahnken

commit sha 334be568182b6299425514058c5e9b742275f4ef

Merge branch 'master' into develop

view details

Jimmy Cuadra

commit sha e8d00046e1630dede664ebf9ebcd88d4fba59167

Add support for age.

view details

Jimmy Cuadra

commit sha 9ca46d0d96b16378f72c0c5107837ea3b32456ee

Use idiomatic style for assignment and error handling. Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>

view details

Jimmy Cuadra

commit sha 9e4cbc93cf9fa8607c411e994aa65de9cf64aa67

Allow age key dir to be set with SOPS_AGE_KEY_DIR and add tests.

view details

Jimmy Cuadra

commit sha 2741ab530a7033c02eaa2b88f60c23d2bea92cde

Use user config dir instead of home dir as the root for age keys.

view details

Jimmy Cuadra

commit sha d9b196c87c4b72dab41aff197583a8787d995ed7

Determine age package path using current file rather than pwd.

view details

Jimmy Cuadra

commit sha 5c171c800c8fc2cadecf0573c2a5b556ac4d08da

Don't swallow potential errors from os.Stat.

view details

Jimmy Cuadra

commit sha 617db437def269a9b3a62b30f89d832a64741783

Use a single keys.txt file for age private keys.

view details

Jimmy Cuadra

commit sha 7f7ecbc18ec08c709f1f99ec7abb10943cc45de0

Try decrypting with all possible keys in the keyfile.

view details

Jimmy Cuadra

commit sha ade5692dcc1c55846a5dbaade5e4241d977bc92b

Document age usage.

view details

Jimmy Cuadra

commit sha a66a0a84297062392bb90a8a8e0018b373c83c54

Reorder README sections and fix RST link.

view details

Jimmy Cuadra

commit sha 6a6a9363da2807149692506bd3393102e49b80fc

Use more concise style for constructing map.

view details

push time in a month

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha cf170b6e62231f13047a367c91310fa630b460a3

Use "main" as the default branch name for new Git repositories.

view details

push time in a month

issue commentlaunchbadge/sqlx

#[sqlx::test]

We should put the connection into a never-committed transaction. The general idea is anything done to the test transaction is not visible outside that test.

See http://docs.diesel.rs/diesel/connection/trait.Connection.html#method.begin_test_transaction for a similar concept in Diesel.

Was this ever implemented? I'm looking for a way to do this with sqlx (I used to do it in Diesel with the linked method) but I don't see anything in sqlx-test's source code that would do this.

abonander

comment created time in a month

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha 5a69fcc513951d598bc393326b32ffd5da988157

Use return to clear popup windows in addition to turning off search highlighting.

view details

push time in 2 months

delete branch jimmycuadra/dotfiles

delete branch : master

delete time in 2 months

create barnchjimmycuadra/dotfiles

branch : main

created branch time in 2 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha 0d4b11694d80ad7ff9ac6950b8c07923f844ae1a

Use bat for colored man pages.

view details

Jimmy Cuadra

commit sha 57d40ec0c1e9c0da74c01adf89a4ff7dcc63dadc

Remove npm bin directory from PATH.

view details

Jimmy Cuadra

commit sha 5e6fac33548fab9280802a6cded5ea34679476e6

Make settings that require non-default binaries conditional.

view details

push time in 2 months

startedzauberware/rails-devise-graphql

started time in 2 months

issue commentchanzuckerberg/sorbet-rails

Incompatibility after sorbet-0.5.5351

This is still happening for me.

Traceback (most recent call last):
	6: from /Users/jimmy/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sorbet-0.5.5888/bin/srb-rbi:237:in `<main>'
	5: from /Users/jimmy/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sorbet-0.5.5888/bin/srb-rbi:196:in `main'
	4: from /Users/jimmy/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sorbet-0.5.5888/bin/srb-rbi:121:in `init'
	3: from /Users/jimmy/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sorbet-0.5.5888/bin/srb-rbi:232:in `block in make_step'
	2: from /Users/jimmy/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sorbet-0.5.5888/lib/hidden-definition-finder.rb:38:in `main'
	1: from /Users/jimmy/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sorbet-0.5.5888/lib/hidden-definition-finder.rb:47:in `main'
/Users/jimmy/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sorbet-0.5.5888/lib/hidden-definition-finder.rb:151:in `write_constants': /var/folders/72/v_6r7k0d2x120hr5s01c5tz40000gn/T/d20200902-66114-accfod/reflection.rbi had unexpected errors. Check this file for a clue: /var/folders/72/v_6r7k0d2x120hr5s01c5tz40000gn/T/d20200902-66114-accfod/reflection.json.err (RuntimeError)

Versions:

  • rails (6.0.3.2)
  • sorbet (0.5.5888)
  • sorbet-runtime (0.5.5888)
  • sorbet-static (0.5.5888)

Seems like there's been a regression in Sorbet, or a similar error was introduced.

ptrippett

comment created time in 2 months

issue openedHerringtonDarkholme/yats.vim

Odd behavior when first opening a tsx file

I'm using yats.vim at commit 4d76c5391b7975bd6dd09c0562c0fd4d78e14fa0 with Vim 8.2.

When I open a new tsx file that doesn't already exist (e.g. vim foo.tsx), this appears:

"foo.tsx" [New]
Error detected while processing BufNewFile Autocommands for "*.tsx"..FileType Autocommands for "*"..function <SNR>24_LoadFTPlugin:
line    2:
E749: empty buffer
Press ENTER or type command to continue

Once I press a key the message disappears and the file works as expected.

If I open an existing tsx file, instead the first line of the file is printed in a similar prompt:

(Assuming foo.tsx contains a single line with function foo() {} and I open it with vim foo.tsx):

"foo.tsx" 1L, 18B
  1 function foo() {}
Press ENTER or type command to continue

Again, once I press a key the message disappears and the file works as expected.

Neither of these things happen with regular TypesScript files (i.e. ts, not tsx).

Here is the exact contents of my vimrc: https://github.com/jimmycuadra/dotfiles/blob/50b323feff92156d03506b3b8065b24dd666e095/.vimrc.

created time in 2 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha 41742fff1815d65feca117e0b89b0a0b9e0e70e7

Switch from typescript-vim to yats.vim because it indents correctly for tsx files.

view details

Jimmy Cuadra

commit sha 50b323feff92156d03506b3b8065b24dd666e095

Use typescript-language-server for javascriptreact files.

view details

push time in 2 months

startedkartiknair/dhow

started time in 2 months

push eventjimmycuadra/thewarheads.com

Jimmy Cuadra

commit sha 3699a69b6f06392b56507a07eb3d6c153756d3d5

Use yarn instead of npm.

view details

Jimmy Cuadra

commit sha 055107b1eb213a15b248998a905405e7391b7dd7

Sort albums reverse chronologically.

view details

Jimmy Cuadra

commit sha 17af0fc3f91cf0286b375e6080e92a03c4ebcdf4

Move album artwork to the public directory.

view details

Jimmy Cuadra

commit sha 7d9bbd466cfda0f6cd08956a87e656959d0bb87d

List albums with artwork.

view details

Jimmy Cuadra

commit sha 19741e608279153001bc6d56968d934352369633

Add images to albums pages.

view details

Jimmy Cuadra

commit sha 2c6795ff68f6aa18267a6c72ae50cd1e550974d1

Don't wrap contents on album pages.

view details

Jimmy Cuadra

commit sha 45ec16ebaa320efbdd0b593eee5447dbbae29f6a

jpeg --> jpg

view details

Jimmy Cuadra

commit sha 0173d51e58d607d2e266067b6c58c7ccbda85d7f

Add favicons and fix up web manifest.

view details

Jimmy Cuadra

commit sha 00491561c210d6bb9bf6cf709db290c6d1732261

Add deployment script.

view details

push time in 2 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha ebdfc37f85f93e318b0304ac828f3686731d67e4

Add vim-ragtag plugin.

view details

Jimmy Cuadra

commit sha 2d231fe4982eb51f1f8ef7d9d77f9ccb8b897810

Start typescript-language-server for JavaScript files.

view details

push time in 2 months

pull request commentmozilla/sops

Add support for age.

Hmm... similar but not identical failure. Are any maintainers available to help resolve this?

--- FAIL: TestRetrievePGPKey (0.45s)

    keysource_test.go:49: 

        	Error Trace:	keysource_test.go:49

        	Error:      	Received unexpected error:

        	            	keyserver returned non-200 status code 500 Internal Server Error

        	Test:       	TestRetrievePGPKey
jimmycuadra

comment created time in 2 months

push eventjimmycuadra/sops

Cole Mickens

commit sha 76b3976e9735adcc72cec5e9b809f04bc3ac7ce1

age: MasterKeysFromRecipients: gracefully handle empty string

view details

push time in 2 months

pull request commentmozilla/sops

Add support for age.

Is the failing build a blocker here? If so can someone with write access trigger a rebuild to see if it was caused by transient issue? I'd like to move forward with getting this merged.

jimmycuadra

comment created time in 2 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha b547e1805edfecaaf2360bf6bc4c6a200c4229bc

Prefer plaintext to markdown in LSP popup windows.

view details

Jimmy Cuadra

commit sha ac2b3f50dc07bb7419884ea992608e6fcecabfb5

Clean up LSP mappings with <Plug>.

view details

push time in 2 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha 3e9945b4e3ff5dbefd0b55e6e944ca788ef07c95

Use LSP for formatexpr.

view details

Jimmy Cuadra

commit sha 01e657e4444433e0f6ae5d0958ce78b87e6f74fb

Switch from vim-multiple-cursors to vim-visual-multi.

view details

Jimmy Cuadra

commit sha a3a2df72468b22b1db8b78ec9b3a902fd6b3c266

Add quickfix navigation mappings from unimpaired.vim.

view details

push time in 2 months

push eventjimmycuadra/thewarheads.com

Jimmy Cuadra

commit sha c3020361426a4c33704fc4a6c519a1bd2e434019

Group source files in subdirectories.

view details

push time in 2 months

push eventjimmycuadra/thewarheads.com

Jimmy Cuadra

commit sha 0e166e479ac6ad8787ce00bff6c8ed9f4437373a

Set up initial React app.

view details

Jimmy Cuadra

commit sha f8e40fb15f3ac92157b4ab1c66b89b7503799da8

Add components for each part of the page.

view details

Jimmy Cuadra

commit sha 6c3a064b58921cc11267e77764d81df62e626426

Use the correct incantation to let TypeScript load YAML.

view details

Jimmy Cuadra

commit sha 1f1fffa35e929dfa72e250c17fe14251e2b19354

Finish implementing main page.

view details

Jimmy Cuadra

commit sha a8997cc0997a6c9475d546457aa8857f5e0009b1

Add routing.

view details

Jimmy Cuadra

commit sha 87879a343f8407a72546522d9f7c7a6a125b5554

Render individual albums.

view details

Jimmy Cuadra

commit sha 4ad63ed0906ef3497e0202d8d6d40a37a529a5a6

Remove Ruby and Rust versions of the site.

view details

push time in 2 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha c2cbb6f93cc2d7ade503847e04d6580c08a1852d

Manually load leafgarland/typescript-vim for typescriptreact files.

view details

Jimmy Cuadra

commit sha 04ce9c70568abe272fb1467d4f3d74a5addcd95a

Add "e" alias for exa.

view details

push time in 2 months

startednfl/react-helmet

started time in 2 months

startedstereobooster/react-snap

started time in 2 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha d4b2748ce2f12e2f64e1aacb386a18734f5dc54d

Load matchit plugin.

view details

push time in 2 months

startedusagi/rust-memory-container-cs

started time in 2 months

issue closedlitaio/lita

Overriding the default help command

Hi,

I'm working on an adapter for Discord (the existing one doesn't support oauth properly imo). For this I'm also trying to override the default help command to generate something specific to discord. ie: I'm putting everything in a code block and aligning the content to a sort of table.

I was able to get this to work by adding a new command to the adapter, but Lita still outputs the default help command output too.

Is it possible to disable this default help command?

closed time in 2 months

cascer1

issue closedlitaio/lita

Adding HTTP URL for adapters

Is it possible to add an HTTP URL for an adapter? I know this can be added for handlers, but when I tro to add it for an adapter, I receive the following error:

Gem Load Error is: undefined local variable or method `http' for Lita::Adapters::Glip:Class

closed time in 2 months

grokify

issue closedlitaio/lita

Handle the interactive message callback

Hi guys, I'm curently using the slack app bot to post the interactive message with button into slack, and return the command to call lita working the rest (ex: save data). I try to get this script working only on 1 bot (lita of course) but I cannot find anyway to get lita to handle the callback message from itself after pressing on Save button. Please advice me some guides for this, thanks

closed time in 2 months

ngocmanh1609

issue commentlitaio/lita

Handle the interactive message callback

This would be an issue for lita-slack, but neither Lita or the Slack adapter are being actively developed.

ngocmanh1609

comment created time in 2 months

issue closedlitaio/lita

http.get handler not routing

I am trying to create a very simple handler. I used the command lita handler health to generate the handler. the expected behavior is that of when the /healthcheck endpoint is hit is just returns "OK". the code is fairly simple and straight forward:

lita-health/lib/lita/handlers/health.rb

module Lita
  module Handlers
    class Health < Handler
      # insert handler code here
      http.get "/healtchcheck" do |request, response|
          response.body << "OK"
      end

      Lita.register_handler(self)
    end
  end
end

And the specs are also rather basic:

spec/lita/handlers/health_spec.rb

require "spec_helper"

describe Lita::Handlers::Health, lita_handler: true do
  it { is_expected.to route_http(:get, "/healthcheck") }

describe "#healthcheck" do
 it "writes 'OK' as a reply" do
  response = http.get("/healthcheck")
  expect(response.body).to eq("OK")
 end
end
end

But for some reason the endpoint is not being route even form the specs:

root@9a1456656265:/src/lita/lita-health# rspec
FF

Failures:

  1) Lita::Handlers::Health should route http :get and "/healthcheck"
     Failure/Error: it { is_expected.to route_http(:get, "/healthcheck") }
       expected #<Lita::Handlers::Health:0x005602a845c468 @robot=#<Lita::Robot:0x005602a84c7768 @registry=#<Lita::Reg...redis://127.0.0.1:6379/0>, @warning=true, @deprecations=false>, @warning=true, @deprecations=false>> to route http :get and "/healthcheck"
     # ./spec/lita/handlers/health_spec.rb:4:in `block (2 levels) in <top (required)>'

  2) Lita::Handlers::Health#healthcheck writes 'OK' as a reply
     Failure/Error: expect(response.body).to eq("OK")

       expected: "OK"
            got: "Your request couldn't be found"

       (compared using ==)
     # ./spec/lita/handlers/health_spec.rb:9:in `block (3 levels) in <top (required)>'

Finished in 0.07995 seconds (files took 0.49442 seconds to load)
2 examples, 2 failures

Failed examples:

rspec ./spec/lita/handlers/health_spec.rb:4 # Lita::Handlers::Health should route http :get and "/healthcheck"
rspec ./spec/lita/handlers/health_spec.rb:7 # Lita::Handlers::Health#healthcheck writes 'OK' as a reply

I've followed the documentation for created the HTTPRoutes and to test them https://docs.lita.io/plugin-authoring/testing/#testing-handlers https://docs.lita.io/plugin-authoring/testing/#testing-routes https://docs.lita.io/plugin-authoring/testing/#testing-behavior

I am using lite 4.7.0

root@9a1456656265:/src/lita# bundle list
Gems included by the bundle:
  * bundler (1.12.5)
  * faraday (0.9.2)
  * http_router (0.11.2)
  * i18n (0.7.0)
  * ice_nine (0.11.2)
  * lita (4.7.0)
  * multi_json (1.12.1)
  * multipart-post (2.0.0)
  * puma (3.6.0)
  * rack (2.0.1)
  * rb-readline (0.5.3)
  * redis (3.3.1)
  * redis-namespace (1.5.2)
  * thor (0.19.1)
  * url_mount (0.2.1)
root@9a1456656265:/src/

the ruby version is 2.3.1p112

root@9a1456656265:/src/lita# ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
root@9a1456656265:/src/lita#

Am I missing something? any help would be appreciated.

closed time in 2 months

Telmo

issue closedlitaio/lita

Custom Handler not loading

I am trying to create a new handler and Lita does not seem to be registering it. I am running Lita version 4.7.1 and ruby 2.3. I have used the lita handler command to generate the scaffolding of the handler and just added the basic echo example as the handler code. I have created a gem and deployed it to my internal gem repo. I see that bundle install is pulling in my gem along with other community handlers. but when asking lita echo hello nothing happens and no errors are thrown. also saying help there is not any refernce to "echo" .

here is my handler code(this is just the echo example)

module Lita
  module Handlers
    class EchoHandler < Handler
      route(/^echo\s+(.+)/, :echo, command: true, help: {
              "echo TEXT" => "Replies back with TEXT."
      })

      def echo(response)
        response.reply(response.matches)
      end

      
    end
    Lita.register_handler(EchoHandler)
  end
end

other than a few changes in the gemspec to remove TODO that is all I have modified from the autogenerated files. Is there something else I need to for the handler to be registered? Is there a way to check to see if it is loaded? I have put Lita in debug but there is no info related to my handler

closed time in 2 months

warroyo

issue closedlitaio/lita

passthrough has been deprecated log spam

Being log spammed with the following:

Passing 'info' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /usr/local/lita/builds/1.1.2/vendor/bundle/ruby/2.3.0/gems/lita-4.7.1/lib/lita/handlers/info.rb:43:in `redis_info')

Anything that can be done to stop the logspam as it looks to be causing the bot to crash after a couple days. These are being written every time a new message comes through.

closed time in 2 months

gonzoinc

issue commentlitaio/lita

passthrough has been deprecated log spam

Please try out the recently released v4.8.0.beta1 and let me know if you have any problems with it! https://github.com/litaio/lita/releases/tag/v4.8.0.beta1

gonzoinc

comment created time in 2 months

issue closedlitaio/lita

New release?

There hasn't been a new release in a while, but there are recent commits which unlock upgrades of rack (and rails - currently locked to 4.x through rack). Is there a plan for a new release of lita?

closed time in 2 months

alimac

issue commentlitaio/lita

New release?

Please try out the recently released v4.8.0.beta1 and let me know if you have any problems with it! https://github.com/litaio/lita/releases/tag/v4.8.0.beta1

alimac

comment created time in 2 months

pull request commentlitaio/lita

Upgrade Faraday and Thor Dependencies

I just released Lita v4.8.0.beta1: https://github.com/litaio/lita/releases/tag/v4.8.0.beta1. I'm unlikely to continue development of Lita 5 (the master branch) so this new release does the bare minimum on top of v4.7.1 to get it working on current versions of Ruby. Can you try this out and see if it works for you?

johnsyweb

comment created time in 2 months

release litaio/lita

v4.8.0.beta1

released time in 2 months

created taglitaio/lita

tagv4.8.0.beta1

ChatOps for Ruby.

created time in 2 months

push eventlitaio/lita

Jimmy Cuadra

commit sha 20be99f4d93d501e1648d791de04a7ce82acae0a

Bump version to 4.8.0.beta1.

view details

push time in 2 months

push eventlitaio/lita

Jimmy Cuadra

commit sha cc547f7172926d5cd414ff041c22c0da67a0f991

Use shell script instead of rake for CI.

view details

push time in 2 months

push eventlitaio/lita

Jimmy Cuadra

commit sha cdf86bef847f4ed524d9ee0a061add0242b2959b

Remove Coveralls for now.

view details

Jimmy Cuadra

commit sha 22bd0405f69c812517a734471a59b16e13fd1cf5

Revert RuboCop upgrade for now.

view details

push time in 2 months

push eventlitaio/lita

Jimmy Cuadra

commit sha 4434336101213502c90c260d67385fccbbc4708c

Update Travis testing matrix.

view details

push time in 2 months

push eventlitaio/lita

Jimmy Cuadra

commit sha 9bb5951dd9a71f81b4f2ce4f194869d13765ccc3

Update minimum Ruby version and dependency versions.

view details

Jimmy Cuadra

commit sha a242f251f893dd2b54640d5b04e2819227d49b5f

Fix test suite failures and warnings.

view details

push time in 2 months

pull request commentmozilla/sops

Add support for age.

I've been getting that config test failure since I started working on this, too. For some reason it fails locally but passes on CI, so I'd been ignoring it.

I merged Cole's branch into mine, but now CI is failing this, which I don't think is related to this branch:

--- FAIL: TestRetrievePGPKey (0.96s)

    keysource_test.go:49: 

        	Error Trace:	keysource_test.go:49

        	Error:      	Received unexpected error:

        	            	keyserver returned non-200 status code 502 Bad Gateway

        	Test:       	TestRetrievePGPKey

I recall reading something recently about key servers being down. Is this an integration test hitting a real key server and failing because the server is down?

In any case, I'd like a word from the sops maintainers on what else needs to be done to get this branch merged. Thanks!

jimmycuadra

comment created time in 2 months

pull request commentlitaio/lita

Upgrade Faraday and Thor Dependencies

Hiya! Thanks for doing this. I've let Lita sit for a long time without much maintenance, but I'm planning to do a pass through all the pending issues very soon, at which point I'll review this and likely merge it in. Sorry for the radio silence!

johnsyweb

comment created time in 2 months

push eventjimmycuadra/sops

Cole Mickens

commit sha 4797fec8d6198b026afa1e8355515d9a898d7b91

age: .sops.yaml support

view details

Cole Mickens

commit sha 64ae6312f7149be6b3d0362a596cc21033338099

age: MasterKeysFromRecipients: gracefully handle empty string

view details

push time in 2 months

pull request commentmozilla/sops

Add support for age.

Hmm, could've sworn I left a comment about Cole's work, but apparently I didn't?

@colemickens (good to see you again!) I tried merging in your commit but it introduced some test failures. If you're able to figure that out I can try cherry picking it into my branch again.

jimmycuadra

comment created time in 2 months

pull request commentjimmycuadra/retry

Add a configurable multiplication factor in `Exponential` delay

Thanks! Released in https://github.com/jimmycuadra/retry/releases/tag/1.1.0.

PatrickLerner

comment created time in 2 months

release jimmycuadra/retry

1.1.0

released time in 2 months

created tagjimmycuadra/retry

tag1.1.0

A Rust library to retry some code until its return value satisfies a condition.

created time in 2 months

push eventjimmycuadra/retry

Jimmy Cuadra

commit sha c0449dc150a9ae842e31188ab802c2446141b1be

Bump version to 1.1.0.

view details

push time in 2 months

push eventjimmycuadra/retry

Patrick Lerner

commit sha 2c156fd2819877e74cbbdde7a5f327681d05a7ca

Add a configurable multiplication factor in `Exponential` delay

view details

Jimmy Cuadra

commit sha 6c6da5d2f868b0ce368066f91ba45e80116e3e1a

Merge pull request #30 from InstaffoGmbH/add_first_in_millis_to_exponential Add a configurable multiplication factor in `Exponential` delay

view details

push time in 2 months

PR merged jimmycuadra/retry

Add a configurable multiplication factor in `Exponential` delay

This closes #23 and adds a new constructor to Exponential delays that allows specifying the factor of multiplication instead of using the base as the factor. In particular for retrying API responses it is desirable to use a lesser factor as otherwise the time to wait increases far too quickly to be useable.

I added two allows for deprecation because Rust recently deprecated some method (ref: https://github.com/rust-lang/rust/pull/66919). Please advise if you would like to see this handled differently. I suppose for early rust version support they might still be required, so I did not want to remove them completely.

+52 -6

0 comment

2 changed files

PatrickLerner

pr closed time in 2 months

issue closedjimmycuadra/retry

Configurable multiplication factor in `retry::delay::Exponential`

Based on reading the current code:

https://github.com/jimmycuadra/retry/blob/ab48d2b467b04300414bf8cb0063ac074df43632/src/delay.rs#L20-L44

It looks like if I want the first delay to be one second (1_000 ms) then the second one will be 16 minutes (1_000_000 ms), the third one 11 days (1_000_000_000 ms), etc. It is exponential so it fits the doc-comment’s description, but it grows way too quickly to be useful.

Doubling at every step (1s, 2s, 4s, 8s, …) would seem more reasonable, but perhaps different use cases call for different factors. Perhaps this struct could gain a constructor with first_in_millis: u64, factor: f64 parameters?

closed time in 2 months

SimonSapin

issue closedjimmycuadra/retry

Example with async function?

I'm new to rust, so I'm not particularly familiar with anything. Does the current version of this library work with asynchronous functions? Would it be possible to add an example?

closed time in 2 months

tobymurray

issue commentjimmycuadra/retry

Example with async function?

No, there's no async support currently. It might be added in the future, but for now I'd look for another crate for async applications.

tobymurray

comment created time in 2 months

push eventjimmycuadra/sops

AJ Bahnken

commit sha 260ca36ef1831e2da07ac973d0eb67b9796f65cc

Update CHANGLOG and version for 3.6.0

view details

Dr. Uwe Daub

commit sha 4f06780ab25b185abad02d63f11cb8b7bbe888a5

Fix endless loop in x/crypto/openpgp func ReadMessage (#690) * Fix tests * Fix endless loop in x/crypto/openpgp func ReadMessage This fixes https://github.com/mozilla/sops/issues/665 See also https://github.com/golang/go/issues/28786 In some strange situations it can happen, that openpgp.ReadMessage() runs into a endless loop. This seems to be triggered by a slightly inconsistency in key settings. It happened to me, but I wasn't able to reproduce it with a fresh key. A proposed solution from the x/crypto community was, to break this loop in the callback passphrasePrompt. * Revert "Fix tests" This reverts commit 285f4dc8a1bf5e2c774fe48ae0daee2ac1511e6d. * Improve error description https://github.com/mozilla/sops/pull/690#discussion_r451630193

view details

lbonanomi

commit sha 09d511f69f442893eacd8e6e594ee31502a58f59

Close tmpfile after writing (#685) * Close tmpfile after writing Windows will not allow for deletion of a file with an open handle, close tmpfile after writing to prevent unencrypted tmpfiles out-living the execution * Update cmd/sops/edit.go Co-authored-by: Adrian Utrilla <adrianutrilla@gmail.com> * defer edited file close Co-authored-by: Adrian Utrilla <adrianutrilla@gmail.com>

view details

AJ Bahnken

commit sha 6b9e168ec7050e3367f2233848e293c46d6cdc1e

Update CHANGELOG for additional code for 3.6

view details

Adrian Utrilla

commit sha 5d32d9a3ee95dd301f45fa8c98205ea765b4395f

Revert "Add standard newline/quoting behavior to dotenv store (#622)" (#706) This reverts commit 4507019a33518859c76cb54ec0eea6755c0b4b39.

view details

lbonanomi

commit sha f78682c6c0b4b8f083f7d398f221b18351be6509

Support --input-type for exec-file (#699) * Update main.go * Update main.go * Update cmd/sops/main.go Co-authored-by: Adrian Utrilla <adrianutrilla@gmail.com> Co-authored-by: Adrian Utrilla <adrianutrilla@gmail.com>

view details

Scott Crooks

commit sha 4bd640e5946945ba7a8d2c36a1e75c5c96f11674

chore(gomod): Bumping AWS SDK version (#714)

view details

Jimmy Cuadra

commit sha 9e65c02d890b5adb80644a3f840cab0b13b6dfc3

Add support for age.

view details

Jimmy Cuadra

commit sha ec3de26d1c793fcf97ac572c4219cea17ab4f83e

Use idiomatic style for assignment and error handling. Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>

view details

Jimmy Cuadra

commit sha 04ab5b240f70360add2a5c4559ce0abfac372b03

Allow age key dir to be set with SOPS_AGE_KEY_DIR and add tests.

view details

Jimmy Cuadra

commit sha 6cd9af0a230375ae664e16dbe93aa3361f56c697

Use user config dir instead of home dir as the root for age keys.

view details

Jimmy Cuadra

commit sha 48436fdb1909665c2a47ef8d7d27b6991773e4c3

Determine age package path using current file rather than pwd.

view details

Jimmy Cuadra

commit sha 79878989d1307441f9525e969d4ddcb07a2fdbd2

Don't swallow potential errors from os.Stat.

view details

Jimmy Cuadra

commit sha 15c843ec630fd96b1fff20f6d99826bd5ac03aa8

Use a single keys.txt file for age private keys.

view details

Jimmy Cuadra

commit sha f9f5156fb00499c453a2ea0c102ed8d70ddbdc50

Try decrypting with all possible keys in the keyfile.

view details

Jimmy Cuadra

commit sha c2140c7b35ea04474eaf6738aba77ac83df8d4a8

Document age usage.

view details

Jimmy Cuadra

commit sha cd9bbc61a08a746b05ca054630503f31a10882f5

Reorder README sections and fix RST link.

view details

Jimmy Cuadra

commit sha 89b9a0da009a4ab722ce13a7ed6b0257c536a7f8

Use more concise style for constructing map.

view details

Jimmy Cuadra

commit sha b4378f400cf1623fca2e97f2b6aece93886f4b39

Fix whitespace errors.

view details

Jimmy Cuadra

commit sha 475d59af82dbb00036727dc29e548bdccd464aa7

Update go.mod/go.sum.

view details

push time in 2 months

push eventrustinio/rustin

Jimmy Cuadra

commit sha 85f11b664b94d245f737e8ca27796af2a2219050

Add an alias field in Config.

view details

Jimmy Cuadra

commit sha 2b22b2cf72a47b8643ede9c5c7e5c0f7ec93cb08

Add eavesdrop mode to routes.

view details

Jimmy Cuadra

commit sha 326137cd4c4121d89911c5d491586b5351d5b3a5

Use a distinct ID, username, and display name for users.

view details

Jimmy Cuadra

commit sha 13f07a8c5e1e07797deee34cd96bbb538d92032e

Make ChatService::user return a future.

view details

Jimmy Cuadra

commit sha 2825783aa4bd17e9823c2a13d7705336cf28f105

Run rustfmt.

view details

Jimmy Cuadra

commit sha 9f0119e359133ff3ab058f05ef4c5c6ed4af0d4f

Add config to robot.

view details

Jimmy Cuadra

commit sha 6386d76aaabd49215329eb356633a613c19ea56a

Implement robot mention checking.

view details

Jimmy Cuadra

commit sha 043ca66213b244327bcfd617f1b793bda511d33a

Update dependencies.

view details

Jimmy Cuadra

commit sha 8ef34d09770c3824c5fb3526ec871d1c0ded0cc8

Use postfix await syntax.

view details

push time in 2 months

pull request commentmozilla/sops

Add support for age.

Some more changes:

  • Store all keys in one file called keys.txt in the user config directory, similar to what's shown in age's own examples.
  • Add documentation on age usage to the README.

These changes make the example from the PR description a bit simpler, because you don't have to name the file based on the public key:

$ mkdir -p ~/Library/Application\ Support/sops/age
$ age-keygen -o ~/Library/Application\ Support/sops/age/keys.txt
Public key: age1vjzf52aqdw9y9fdgltgkfvujprs2qjrlhajc3r0j67apxukaldvq36stqy
$ echo 'foo: bar' > secret.yaml
$ sops --age age1vjzf52aqdw9y9fdgltgkfvujprs2qjrlhajc3r0j67apxukaldvq36stqy -e secret.yaml > secret.enc.yaml
$ sops -d secret.enc.yaml
foo: bar

For now, I just ripped the key file parsing logic from age's source, but if Filippo ends up exposing this in a library, we can update sops to use that.

jimmycuadra

comment created time in 3 months

push eventjimmycuadra/sops

Jimmy Cuadra

commit sha 22a155a9984b76c68261790fe10a8237f5e8fbfa

Reorder README sections and fix RST link.

view details

push time in 3 months

push eventjimmycuadra/sops

Jimmy Cuadra

commit sha de4acbd0616ed83e63096967e076397ff19fe664

Use a single keys.txt file for age private keys.

view details

Jimmy Cuadra

commit sha 9ba14eed2d472d397d2e4bb3967050e22ed38ced

Try decrypting with all possible keys in the keyfile.

view details

Jimmy Cuadra

commit sha 87ea58acd113ba52543fba0bb425541e86b1b6ee

Document age usage.

view details

push time in 3 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha dca6c701efd5494ca80b4c66d30401749d2c9b37

Source bash_completion.

view details

Jimmy Cuadra

commit sha d1ecc58cd90ae271dd130c6fd7234efd26a77da3

Add file(1) support for age encrypted files.

view details

push time in 3 months

pull request commentmozilla/sops

Add support for age.

age doesn't have the concept of a "user key" that is used for all applications that use age, and I don't want that kind of overloading.

What we might want to expose is the key file format, not the location.

This sounds good to me. Not having a direct equivalent to a PGP key is a good thing about age, and we shouldn't be trying to shoehorn that back in for sops usage. It makes sense to me to have a sops-specific directory to store age keys that are used specifically and only for the purpose of sops. It'd definitely be nice to have a standard key file format, though!

jimmycuadra

comment created time in 3 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha efc24e7e91a75c8dd74d817aa7224017038b4313

Add Bash completions for brew, exa, fd, and sd.

view details

push time in 3 months

pull request commentmozilla/sops

Add support for age.

I could see it being a separate lib that sits in between the current lib and the CLI, so that it's possible to use the base library just for encryption and decryption without anything more. The intermediate "storage" library could be consumed by both the CLI and third-party software like sops that wants to use the same conventions for storing keys as the CLI.

jimmycuadra

comment created time in 3 months

push eventjimmycuadra/dotfiles

Jimmy Cuadra

commit sha 56a70533a0ebeb02b2538b62e2a163c86bbd75e6

Use rust-analyzer instead of rls.

view details

push time in 3 months

pull request commentmozilla/sops

Add support for age.

Thanks for the review, @Mic92! That was very helpful. I fixed some of the smaller points, but I think it would make sense to see what Filippo says about opening up more functionality through the library before proceeding with the other changes.

jimmycuadra

comment created time in 3 months

push eventjimmycuadra/sops

Jimmy Cuadra

commit sha 4e50c7c5b6f9a64c13d1322a0c21743c821a8aa7

Determine age package path using current file rather than pwd.

view details

Jimmy Cuadra

commit sha 3587e03f1c11af27dad8fadf0c80550250298f3c

Don't swallow potential errors from os.Stat.

view details

push time in 3 months

Pull request review commentmozilla/sops

Add support for age.

+package age++import (+	"bufio"+	"bytes"+	"fmt"+	"io"+	"os"+	"path/filepath"+	"strings"++	"filippo.io/age"+)++// MasterKey is an age key used to encrypt and decrypt sops' data key.+type MasterKey struct {+	Identity     string // a Bech32-encoded private key+	Recipient    string // a Bech32-encoded public key+	EncryptedKey string // a sops data key encrypted with age++	parsedIdentity  *age.X25519Identity  // a parsed age private key+	parsedRecipient *age.X25519Recipient // a parsed age public key+}++// Encrypt takes a sops data key, encrypts it with age and stores the result in the EncryptedKey field.+func (key *MasterKey) Encrypt(datakey []byte) error {+	buffer := &bytes.Buffer{}++	if key.parsedRecipient == nil {+		parsedRecipient, err := age.ParseX25519Recipient(key.Recipient)++		if err != nil {+			return fmt.Errorf("failed to parse input as Bech32-encoded age public key: %v", err)+		}++		key.parsedRecipient = parsedRecipient+	}++	w, err := age.Encrypt(buffer, key.parsedRecipient)++	if err != nil {+		return fmt.Errorf("failed to open file for encrypting sops data key with age: %v", err)+	}++	if _, err := w.Write(datakey); err != nil {+		return fmt.Errorf("failed to encrypt sops data key with age: %v", err)+	}++	if err := w.Close(); err != nil {+		return fmt.Errorf("failed to close file for encrypting sops data key with age: %v", err)+	}++	key.EncryptedKey = buffer.String()++	return nil+}++// EncryptIfNeeded encrypts the provided sops' data key and encrypts it if it hasn't been encrypted yet.+func (key *MasterKey) EncryptIfNeeded(datakey []byte) error {+	if key.EncryptedKey == "" {+		return key.Encrypt(datakey)+	}++	return nil+}++// EncryptedDataKey returns the encrypted data key this master key holds.+func (key *MasterKey) EncryptedDataKey() []byte {+	return []byte(key.EncryptedKey)+}++// SetEncryptedDataKey sets the encrypted data key for this master key.+func (key *MasterKey) SetEncryptedDataKey(enc []byte) {+	key.EncryptedKey = string(enc)+}++// Decrypt decrypts the EncryptedKey field with the age identity and returns the result.+func (key *MasterKey) Decrypt() ([]byte, error) {+	ageKeyDir, ok := os.LookupEnv("SOPS_AGE_KEY_DIR")++	if !ok {+		userConfigDir, err := os.UserConfigDir()++		if err != nil {+			return nil, fmt.Errorf("user config directory could not be determined: %v", err)+		}++		ageKeyDir = filepath.Join(userConfigDir, ".sops", "age")+	}++	path := filepath.Join(ageKeyDir, fmt.Sprintf("%s.key", key.Recipient))++	_, err := os.Stat(path)++	if os.IsNotExist(err) {+		return nil, fmt.Errorf("no private key found at %s", path)+	}++	file, err := os.Open(path)++	defer file.Close()++	scanner := bufio.NewScanner(file)++	var privateKey string++	for scanner.Scan() {+		line := scanner.Text()++		if strings.HasPrefix(line, "AGE-SECRET-KEY") {+			privateKey = line+			break+		}+	}

@FiloSottile How does making the linked code available via age's library sound? Ideally this logic wouldn't be duplicated in sops or it could get out of sync with what age does over time.

jimmycuadra

comment created time in 3 months

push eventjimmycuadra/sops

Jimmy Cuadra

commit sha c2a70e69432e552a9bc3cdd9fcbf553f035213ba

Use user config dir instead of home dir as the root for age keys.

view details

push time in 3 months

more