]> cat aescling's git repositories - mastodon.git/commit
Add Keybase integration (#10297)
authorEugen Rochko <eugen@zeonfederated.com>
Mon, 18 Mar 2019 20:00:55 +0000 (21:00 +0100)
committerGitHub <noreply@github.com>
Mon, 18 Mar 2019 20:00:55 +0000 (21:00 +0100)
commit9c4cbdbafb0324ae259e10865b90ed1ed0255bdd
tree9d1d884fb1753f110683d7ff78912cdf868ec635
parent42c581c45853cf08f2c9c521d59a2194ef2d9c61
Add Keybase integration (#10297)

* create account_identity_proofs table

* add endpoint for keybase to check local proofs

* add async task to update validity and liveness of proofs from keybase

* first pass keybase proof CRUD

* second pass keybase proof creation

* clean up proof list and add badges

* add avatar url to keybase api

* Always highlight the “Identity Proofs” navigation item when interacting with proofs.

* Update translations.

* Add profile URL.

* Reorder proofs.

* Add proofs to bio.

* Update settings/identity_proofs front-end.

* Use `link_to`.

* Only encode query params if they exist.

URLs without params had a trailing `?`.

* Only show live proofs.

* change valid to active in proof list and update liveness before displaying

* minor fixes

* add keybase config at well-known path

* extremely naive feature flagging off the identity proof UI

* fixes for rubocop

* make identity proofs page resilient to potential keybase issues

* normalize i18n

* tweaks for brakeman

* remove two unused translations

* cleanup and add more localizations

* make keybase_contacts an admin setting

* fix ExternalProofService my_domain

* use Addressable::URI in identity proofs

* use active model serializer for keybase proof config

* more cleanup of keybase proof config

* rename proof is_valid and is_live to proof_valid and proof_live

* cleanup

* assorted tweaks for more robust communication with keybase

* Clean up

* Small fixes

* Display verified identity identically to verified links

* Clean up unused CSS

* Add caching for Keybase avatar URLs

* Remove keybase_contacts setting
29 files changed:
app/controllers/api/proofs_controller.rb [new file with mode: 0644]
app/controllers/settings/identity_proofs_controller.rb [new file with mode: 0644]
app/controllers/well_known/keybase_proof_config_controller.rb [new file with mode: 0644]
app/javascript/images/logo_transparent_black.svg [new file with mode: 0644]
app/javascript/images/proof_providers/keybase.png [new file with mode: 0644]
app/javascript/styles/mastodon/forms.scss
app/lib/proof_provider.rb [new file with mode: 0644]
app/lib/proof_provider/keybase.rb [new file with mode: 0644]
app/lib/proof_provider/keybase/badge.rb [new file with mode: 0644]
app/lib/proof_provider/keybase/config_serializer.rb [new file with mode: 0644]
app/lib/proof_provider/keybase/serializer.rb [new file with mode: 0644]
app/lib/proof_provider/keybase/verifier.rb [new file with mode: 0644]
app/lib/proof_provider/keybase/worker.rb [new file with mode: 0644]
app/models/account_identity_proof.rb [new file with mode: 0644]
app/models/concerns/account_associations.rb
app/views/accounts/_bio.html.haml
app/views/settings/identity_proofs/_proof.html.haml [new file with mode: 0644]
app/views/settings/identity_proofs/index.html.haml [new file with mode: 0644]
app/views/settings/identity_proofs/new.html.haml [new file with mode: 0644]
config/locales/en.yml
config/navigation.rb
config/routes.rb
db/migrate/20190316190352_create_account_identity_proofs.rb [new file with mode: 0644]
db/schema.rb
spec/controllers/api/proofs_controller_spec.rb [new file with mode: 0644]
spec/controllers/settings/identity_proofs_controller_spec.rb [new file with mode: 0644]
spec/controllers/well_known/keybase_proof_config_controller_spec.rb [new file with mode: 0644]
spec/fabricators/account_identity_proof_fabricator.rb [new file with mode: 0644]
spec/lib/proof_provider/keybase/verifier_spec.rb [new file with mode: 0644]