Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ jobs:
name: Run Lints
command: |
make lint_yarn_lockfile
make lint_yaml
yarn run lint
yarn run typecheck
bundle exec rubocop
Expand Down Expand Up @@ -265,13 +266,39 @@ jobs:
bin/smoke_test --remote --no-source-env
- notify-slack-smoke-test-status
- store-smoketest-results
check-pinpoint-config:
docker:
- image: circleci/ruby:2.6-node-browsers
steps:
- checkout
- bundle-yarn-install
- run:
name: Check current AWS Pinpoint country support
command: |-
diff <(bundle exec ./scripts/pinpoint-supported-countries) config/country_dialing_codes.yml
Comment thread
aduth marked this conversation as resolved.
Outdated
- slack/status:
fail_only: true
failure_message: ":aws-emoji: :red_circle: AWS Pinpoint country configuration is out of date"

workflows:
version: 2
release:
jobs:
- build
- lints

daily-external-pinpoint-checker:
jobs:
- check-pinpoint-config
triggers:
- schedule:
# Once a day at 12pm
cron: "0 12 * * *"
filters:
branches:
only: main
ignore: main # Temporarily disabled due to manual phone support overrides.

# Theses are staggered separately from the smoke tests in the identity-monitor repo
# because they share credentials and would mess each other up if run concurrently
# https://github.com/18F/identity-monitor/blob/master/.circleci/config.yml
Expand Down
1 change: 0 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ group :development, :test do
gem 'pry-byebug'
gem 'pry-doc'
gem 'pry-rails'
gem 'psych'
gem 'puma'
gem 'rspec-rails', '~> 4.0'
gem 'rubocop', '~> 1.11.0', require: false
Expand Down
2 changes: 0 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,6 @@ GEM
yard (~> 0.9.11)
pry-rails (0.3.9)
pry (>= 0.10.4)
psych (3.2.1)
public_suffix (4.0.6)
puma (5.2.2)
nio4r (~> 2.0)
Expand Down Expand Up @@ -771,7 +770,6 @@ DEPENDENCIES
pry-byebug
pry-doc
pry-rails
psych
puma
rack-attack (>= 6.2.1)
rack-cors (>= 1.0.5)
Expand Down
11 changes: 8 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
CONFIG = config/application.yml
HOST ?= localhost
PORT ?= 3000
NODE_BIN = node_modules/.bin

all: check

Expand Down Expand Up @@ -37,6 +38,9 @@ lint_erb:
lint_yarn_lockfile:
(! git diff --name-only | grep yarn.lock) || (echo "Error: Sync Yarn lockfile using 'yarn install'"; exit 1)

lint_yaml: normalize_yaml
(! git diff --name-only | grep "^config/.*\.yml$$") || (echo "Error: Run 'make normalize_yaml' to normalize YAML"; exit 1)

lintfix:
@echo "--- rubocop fix ---"
bundle exec rubocop -R -a
Expand Down Expand Up @@ -70,9 +74,10 @@ run-https: tmp/$(HOST)-$(PORT).key tmp/$(HOST)-$(PORT).crt

.PHONY: setup all lint run test check brakeman

normalize_yaml:
i18n-tasks normalize
find ./config/locales -type f | xargs ./scripts/normalize-yaml config/country_dialing_codes.yml
normalize_yaml: $(wildcard config/locales/*/*.yml config/country_dialing_codes.yml)
bundle exec i18n-tasks normalize
./scripts/normalize-yaml $?
$(NODE_BIN)/prettier --write $?

optimize_svg:
# Without disabling minifyStyles, keyframes are removed (e.g. `app/assets/images/id-card.svg`).
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ We recommend using [Homebrew](https://brew.sh/), [rbenv](https://github.com/rben

#### Translations

Login.gov translates the IdP into English, French and Spanish. To help us handle extra newlines and make sure we wrap lines consistently, we have a script called `./scripts/normalize-yaml` that helps format YAML consistently. After importing translations (or making changes to the *.yml files with strings, run this for the IdP app:
Login.gov translates the IdP into English, French and Spanish. To help us handle extra newlines and make sure we wrap lines consistently, we have a script that helps format YAML consistently. After importing translations (or making changes to the *.yml files with strings, run this for the IdP app:

```
$ make normalize_yaml
Expand Down Expand Up @@ -201,4 +201,4 @@ It's likely that you'll be prompted with a screen with warnings about an unsafe

There was an initial attempt to dockerize the IDP but it is currently deprecated, mostly non-functional, and not maintained. There is ongoing work to make the IDP more [12 Factor](https://12factor.net/) compliant which will eventually lead to better support for containerization.

If you'd like to work with the previous implementation see the [Docker documentation](./docs/Docker.md) to install the IdP as a container.
If you'd like to work with the previous implementation see the [Docker documentation](./docs/Docker.md) to install the IdP as a container.
2 changes: 2 additions & 0 deletions app/services/gpo_confirmation_exporter.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
require 'csv'

class GpoConfirmationExporter
DELIMITER = '|'.freeze
LINE_ENDING = "\r\n".freeze
Expand Down
3 changes: 0 additions & 3 deletions config/country_dialing_codes.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# NOTE: if updating this to match current AWS config, consider bringing back
# the daily CircleCI check added in 3d4194c1f76ca1554852bacfde4abdea2ebb6104
Comment thread
aduth marked this conversation as resolved.
Outdated
---
AD:
country_code: '376'
Expand Down Expand Up @@ -264,7 +262,6 @@ DO:
DZ:
country_code: '213'
name: Algeria
# Temporarily disabled due to SMS fraud attack 2021-04-16
supports_sms: false
supports_voice: false
EC:
Expand Down
8 changes: 4 additions & 4 deletions config/locales/account/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ en:
government accounts online. Below is a list of all the accounts you currently
have connected.
email_language:
default: "%{language} (default)"
default: '%{language} (default)'
edit_title: Edit email language preference
languages_list: "%{app_name} allows you to receive your email communication
in %{list}."
languages_list: '%{app_name} allows you to receive your email communication
in %{list}.'
name:
en: English
es: Spanish
Expand All @@ -33,7 +33,7 @@ en:
backup_codes_exist: Generated
backup_codes_no_exist: Not generated
default: default
device: "%{browser} on %{os}"
device: '%{browser} on %{os}'
dob: Date of birth
email: Email address
email_add: Add email
Expand Down
8 changes: 4 additions & 4 deletions config/locales/account/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ es:
cuentas gubernamentales en línea. A continuación se muestra una lista de todas
las cuentas que tiene actualmente conectadas.
email_language:
default: "%{language} (predeterminado)"
default: '%{language} (predeterminado)'
edit_title: Editar la preferencia de idioma del correo electrónico
languages_list: "%{app_name} le permite recibir su comunicación por correo electrónico
en %{list}"
languages_list: '%{app_name} le permite recibir su comunicación por correo electrónico
en %{list}'
name:
en: Inglés
es: Español
Expand All @@ -34,7 +34,7 @@ es:
backup_codes_exist: Generado
backup_codes_no_exist: No generado
default: defecto
device: "%{browser} en %{os}"
device: '%{browser} en %{os}'
dob: Fecha de nacimiento
email: Dirección de correo electrónico
email_add: Agregar email
Expand Down
10 changes: 5 additions & 5 deletions config/locales/account/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ fr:
sécurité à plusieurs comptes gouvernementaux en ligne. Vous trouverez ci-dessous
une liste de tous les comptes actuellement connectés.
email_language:
default: "%{language} (par défaut)"
default: '%{language} (par défaut)'
edit_title: Modifier la préférence de langue des e-mails
languages_list: "%{app_name} vous permet de recevoir votre communication par
e-mail dans %{list}."
languages_list: '%{app_name} vous permet de recevoir votre communication par
e-mail dans %{list}.'
name:
en: Anglais
es: l’Espagnol
Expand All @@ -34,7 +34,7 @@ fr:
backup_codes_exist: Généré
backup_codes_no_exist: Non généré
default: défaut
device: "%{browser} sur %{os}"
device: '%{browser} sur %{os}'
dob: Date de naissance
email: Adresse e-mail
email_add: Ajouter un email
Expand All @@ -53,7 +53,7 @@ fr:
de mot passe. Vous pouvez utiliser votre clé personnelle pour réactiver
votre profil.
link: Réactivez votre profil maintenant.
sign_in_location_and_ip: "%{ip} (adresse IP probablement située dans %{location})"
sign_in_location_and_ip: '%{ip} (adresse IP probablement située dans %{location})'
ssn: Numéro d’assurance sociale
totp_confirm_delete: Oui, supprimez l’application d’authentification
unknown_location: lieu inconnu
Expand Down
3 changes: 2 additions & 1 deletion config/locales/account_reset/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ en:
confirm: If you cancel now, you must create a new request and wait another 24
hours to delete your account.
header: You requested to delete your account
wait_html: There is a 24-hour waiting period to delete your account. In <strong>%{interval}</strong>,
wait_html:
There is a 24-hour waiting period to delete your account. In <strong>%{interval}</strong>,
you will receive an email with instructions to complete the deletion.
request:
access_your_account: access your account
Expand Down
10 changes: 5 additions & 5 deletions config/locales/account_reset/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
es:
account_reset:
cancel_request:
are_you_sure: "¿Seguro que quieres cancelar tu solicitud de eliminación de cuenta?"
are_you_sure: '¿Seguro que quieres cancelar tu solicitud de eliminación de cuenta?'
cancel: Salida
cancel_button: Cancelar la cuenta eliminada
title: Cancelar la cuenta eliminada
Expand All @@ -21,7 +21,7 @@ es:
security_note: Como medida de seguridad, también enviamos un mensaje de texto
a su registro número de teléfono.
delete_account:
are_you_sure: "¿Seguro que quieres eliminar tu cuenta?"
are_you_sure: '¿Seguro que quieres eliminar tu cuenta?'
info: Eliminar su cuenta debe ser su último recurso si su cuenta está bloqueada.
No podrá recuperar ninguna información vinculada a su cuenta. Notificaremos
a las agencias a las que acceda con %{app} que ya no tiene una cuenta. Cuando
Expand All @@ -39,8 +39,8 @@ es:
para completar la eliminación.
request:
access_your_account: acceder a tu cuenta
are_you_sure: "¿Estás seguro de que no tienes acceso a ninguno de tus métodos
de seguridad?"
are_you_sure: '¿Estás seguro de que no tienes acceso a ninguno de tus métodos
de seguridad?'
delete_account: Eliminar su cuenta
delete_account_info: Eliminar su cuenta existente y crear una nueva le permite
usar la misma dirección de correo electrónico y configurar nuevas opciones
Expand All @@ -55,7 +55,7 @@ es:
opción. <br><br> No podemos deshacer la eliminación de una cuenta, así que
por favor asegúrese de no tener otra opción de seguridad que puede usar.
no_cancel: No, cancelar
personal_key: "¿Tienes tu clave personal?"
personal_key: '¿Tienes tu clave personal?'
personal_key_info: Su clave personal es un código de 16 caracteres que se le
dio a en la creación de la cuenta como método de recuperación; consulte el
ejemplo a continuación.
Expand Down
11 changes: 6 additions & 5 deletions config/locales/doc_auth/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ en:
change_ssn: change
continue: Continue
start_over: Start over
take_or_upload_picture: "<lg-take-photo>Take photo</lg-take-photo> or <lg-upload>Upload
photo</lg-upload>"
take_or_upload_picture: '<lg-take-photo>Take photo</lg-take-photo> or <lg-upload>Upload
photo</lg-upload>'
take_picture: Take photo
take_picture_retry: Retake photo
upload_picture: Upload photo
Expand Down Expand Up @@ -145,7 +145,7 @@ en:
your identity.
document_capture_upload_image: We only use your ID to verify your identity,
and we will not save any images.
get_help_at_sp_html: "<strong>Having trouble?</strong> Get help at %{sp_name}"
get_help_at_sp_html: '<strong>Having trouble?</strong> Get help at %{sp_name}'
image_updated: Image updated
interstitial_eta: This might take up to a minute. We’ll load the next step automatically
when it’s done.
Expand Down Expand Up @@ -191,9 +191,10 @@ en:
bullet3: A phone number on a phone plan associated with your name
consent: By checking this box, you are letting login.gov ask for, use, keep,
and share your personal information. We will only use it to verify your identity.
document_capture_selfie_consent_action: "<lg-underline>Allow access to the camera</lg-underline>
document_capture_selfie_consent_action:
'<lg-underline>Allow access to the camera</lg-underline>
and look for a notification in your browser or check your system settings
to confirm camera access."
to confirm camera access.'
document_capture_selfie_consent_banner: login.gov needs permission to use your
device’s camera
document_capture_selfie_consent_blocked: login.gov needs permission to use your
Expand Down
38 changes: 19 additions & 19 deletions config/locales/doc_auth/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ es:
change_ssn: cambio
continue: Continuar
start_over: Comenzar de nuevo
take_or_upload_picture: "<lg-take-photo>Toma una foto</lg-take-photo> o <lg-upload>Sube
una foto</lg-upload>"
take_or_upload_picture: '<lg-take-photo>Toma una foto</lg-take-photo> o <lg-upload>Sube
una foto</lg-upload>'
take_picture: Tomar una foto
take_picture_retry: Retirar la foto
upload_picture: Subir foto
Expand Down Expand Up @@ -139,11 +139,11 @@ es:
ssn: Por favor ingrese su número de seguro social.
take_picture: Toma una foto con un teléfono
text_message: Enviamos un mensaje a su teléfono
upload: "¿Cómo le gustaría subir su documento de identidad expedido por el estado?"
upload: '¿Cómo le gustaría subir su documento de identidad expedido por el estado?'
upload_from_phone: Tome una foto con un teléfono móvil para cargar su identificación
upload_from_phone_liveness_enabled: Utilice un celular para agregar su documento
de identidad y tomarse
upload_liveness_enabled: "¿Cómo te gustaría verificar su identidad?"
upload_liveness_enabled: '¿Cómo te gustaría verificar su identidad?'
verify: Por favor verifica tu información
verify_identity: Verifique su identidad
welcome: Verifique su identidad para acceder de forma segura a los servicios
Expand All @@ -159,12 +159,12 @@ es:
que subes. Solo verificamos su identidad.
document_capture_upload_image: Solo utilizamos su ID para verificar su identidad
y no guardaremos ninguna imagen.
get_help_at_sp_html: "<strong>¿Tienes algún problema?</strong> Obtén ayuda en
%{sp_name}"
get_help_at_sp_html: '<strong>¿Tienes algún problema?</strong> Obtén ayuda en
%{sp_name}'
image_updated: Imagen actualizada
interstitial_eta: Esto puede tardar hasta un minuto. Cargaremos el siguiente
paso automáticamente cuando esté terminado.
interstitial_thanks: "¡Gracias por su paciencia!"
interstitial_thanks: '¡Gracias por su paciencia!'
keep_window_open: No cierres esta ventana.
lets_go: 'La verificación de la identidad se realiza en dos partes:'
link_sent: Verifique su teléfono y siga las instrucciones para tomar una fotografía
Expand All @@ -186,7 +186,7 @@ es:
upload: Recopilaremos información sobre usted leyendo su documento de identidad
expedido por el estado.
upload_computer_link: Sube desde tu computadora
upload_from_computer: "¿No tiene un teléfono?"
upload_from_computer: '¿No tiene un teléfono?'
upload_from_computer_not_allowed: Inicie sesión en su cuenta de login.gov en
cualquier dispositivo que tenga una cámara, como una tableta o una computadora
con una cámara web.
Expand All @@ -210,9 +210,9 @@ es:
consent: Al marcar esta casilla, usted permite que login.gov solicite, utilice,
conserve y comparta su información personal. Solo la utilizaremos para verificar
su identidad.
document_capture_selfie_consent_action: "<lg-underline>Permita el acceso a la
document_capture_selfie_consent_action: '<lg-underline>Permita el acceso a la
cámara</lg-underline> y busque una notificación en su navegador o revise la
configuración del sistema para confirmar el acceso a la cámara."
configuración del sistema para confirmar el acceso a la cámara.'
document_capture_selfie_consent_banner: login.gov necesita permiso para usar
la cámara de su dispositivo
document_capture_selfie_consent_blocked: login.gov necesita permiso para usar
Expand Down Expand Up @@ -250,13 +250,13 @@ es:
document_capture_selfie_text3: No use sombrero o anteojos
review_issues_id_header_text: 'Revise las imágenes de su documento de identidad
expedido por el estado:'
review_issues_id_text1: "¿Ha usado un fondo oscuro?"
review_issues_id_text2: "¿Tomó la foto en una superficie plana?"
review_issues_id_text3: "¿Tiene el flash de su cámara apagado?"
review_issues_id_text4: "¿Todos los detalles están nítidos y claramente visibles?"
review_issues_id_text1: '¿Ha usado un fondo oscuro?'
review_issues_id_text2: '¿Tomó la foto en una superficie plana?'
review_issues_id_text3: '¿Tiene el flash de su cámara apagado?'
review_issues_id_text4: '¿Todos los detalles están nítidos y claramente visibles?'
review_issues_selfie_header_text: 'Revise su propia foto:'
review_issues_selfie_text1: "¿Está de cara a la cámara?"
review_issues_selfie_text2: "¿Tiene en la foto toda la cabeza y la cara?"
review_issues_selfie_text3: "¿Está la foto contra un fondo liso?"
review_issues_selfie_text4: "¿Su cara está totalmente visible, no está cubierta
por un sombrero o por anteojos?"
review_issues_selfie_text1: '¿Está de cara a la cámara?'
review_issues_selfie_text2: '¿Tiene en la foto toda la cabeza y la cara?'
review_issues_selfie_text3: '¿Está la foto contra un fondo liso?'
review_issues_selfie_text4: '¿Su cara está totalmente visible, no está cubierta
por un sombrero o por anteojos?'
Loading