Skip to content

Commit

Permalink
Merge branch 'dev' into itin-style-regression-repair
Browse files Browse the repository at this point in the history
  • Loading branch information
miles-grant-ibigroup authored Sep 25, 2023
2 parents 86dfc9a + cfec6bb commit 23b7062
Show file tree
Hide file tree
Showing 52 changed files with 2,809 additions and 783 deletions.
32 changes: 22 additions & 10 deletions .github/workflows/percy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ on:
jobs:
run-pixel-tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
Expand All @@ -25,31 +24,44 @@ jobs:
- name: Download OTP2 config file
run: curl $PERCY_OTP2_CONFIG_URL --output /tmp/otp2config.yml
env:
PERCY_OTP2_CONFIG_URL: ${{ secrets.PERCY_MOCKOTP2_CONFIG_URL_METRO_MODE_SELECTOR }}
PERCY_OTP2_CONFIG_URL: ${{ secrets.PERCY_MOCK_OTP2_GEOCODER_CONFIG }}
- name: Build OTP-RR
# Artifacts are shared between desktop and mobile tests (but not call-taker).
run: yarn build
env:
YAML_CONFIG: /tmp/otp2config.yml
JS_CONFIG: ./percy/har-mock-config.js
- name: Take Percy Snapshots (Desktop)
- name: Take Percy Snapshots (Desktop + Mobile)
run: npx percy exec -- npx jest percy/percy.test.js --force-exit
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_OTP2 }}
OTP_RR_UI_MODE: desktop
- name: Take Percy Snapshots (Mobile)
run: npx percy exec -- npx jest percy/percy.test.js --force-exit
OTP_RR_UI_MODE: normal
run-pixel-tests-calltaker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
# This allows us to work with the repository during the lint step
fetch-depth: 2
- name: Use Node.js 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Install npm packages using cache
uses: bahmutov/npm-install@v1
- name: Download OTP2 config file
run: curl $PERCY_OTP2_CONFIG_URL --output /tmp/otp2config.yml
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_OTP2 }}
OTP_RR_UI_MODE: mobile
# Calltaker has a separate config file, so another build should be produced.
PERCY_OTP2_CONFIG_URL: ${{ secrets.PERCY_MOCK_OTP2_GEOCODER_CONFIG }}
- name: Build OTP-RR Calltaker
# Calltaker has a separate config file, so another build should be produced.
run: yarn build
env:
YAML_CONFIG: /tmp/otp2config.yml
JS_CONFIG: ./percy/har-mock-config-call-taker.js
- name: Take Percy Snapshots (Calltaker)
run: npx percy exec -- npx jest percy/percy.test.js --force-exit
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_OTP2 }}
# Calltaker has a separate key because the calltaker-specific snapshots are different.
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_CALL_TAKER_OTP2 }}
OTP_RR_UI_MODE: calltaker
1 change: 1 addition & 0 deletions example-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ persistence:
# otp_middleware:
# apiBaseUrl: https://otp-middleware.example.com
# apiKey: your-middleware-api-key
# supportsPushNotifications: true # If not set, push notification settings will not be shown.

### Adding additional menu items to the main menu items. Use the separator flag
### to include a separator line if you have groups of menu items
Expand Down
16 changes: 8 additions & 8 deletions i18n/en-US.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ actions:
emailVerificationResent: The email verification message has been resent.
genericError: "An error was encountered: {err}"
itineraryExistenceCheckFailed: Error checking whether your selected trip is possible.
mustBeLoggedInToSavePlace: Please log in to save locations.
placeRemembered: The settings for this place have been saved.
preferencesSaved: Your preferences have been saved.
smsInvalidCode: The code you entered is invalid. Please try again.
smsResendThrottled: >-
Expand Down Expand Up @@ -136,6 +138,7 @@ common:
walk: Walk
notifications:
email: email
push: push notifications
sms: SMS
places:
custom: custom
Expand Down Expand Up @@ -233,6 +236,9 @@ components:
modeSelectorLabel: Select a transit mode
BatchSettings:
destination: destination
invalidModeSelection: >-
Cannot plan a trip using the selected modes. Try including transit in your
mode selection.
origin: origin
planTripTooltip: Plan trip
validationMessage: "Please define the following fields to plan a trip: {issues}"
Expand Down Expand Up @@ -263,9 +269,6 @@ components:
nonTransit: Alternative options
DeleteUser:
deleteMyAccount: Delete my account
EnhancedStopMarker:
stopID: "Stop ID:"
stopViewer: Stop Viewer
ErrorMessage:
header: Could Not Plan Trip
warning: Warning
Expand Down Expand Up @@ -359,10 +362,8 @@ components:
description: The content you requested is not available.
header: Content not found
NotificationPrefsPane:
description: You can receive notifications about trips you frequently take.
noneSelect: Don't notify me
notificationChannelPrompt: How would you like to receive notifications?
notificationEmailDetail: "Notification emails will be sent to:"
noDeviceForPush: Register your device using the mobile app to access push notifications.
notificationChannelPrompt: "Receive notifications about your saved trips via:"
OTP2ErrorRenderer:
LOCATION_NOT_FOUND:
body: >-
Expand Down Expand Up @@ -414,7 +415,6 @@ components:
prompt: "Enter your phone number for SMS notifications:"
requestNewCode: Request a new code
sendVerificationText: Send verification text
smsDetail: "SMS notifications will be sent to:"
verificationCode: "Verification code:"
verificationInstructions: >
Please check the SMS messaging app on your mobile phone for a text message
Expand Down
95 changes: 77 additions & 18 deletions i18n/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,25 +30,34 @@ actions:
No se puede guardar el plan: este plan no se pudo guardar debido a la
falta de capacidad en uno o más vehículos. Por favor, vuelva a planificar
su viaje.
maxTripRequestsExceeded: Número de solicitudes de viaje superadas sin resultados válidos
maxTripRequestsExceeded: Número de solicitudes de viaje superadas sin resultados
válidos
saveItinerariesError: "No se pudieron guardar los itinerarios: {err}"
setDateError: "Error al establecer la fecha:"
setGroupSizeError: "No se pudo establecer el tamaño del grupo:"
setPaymentError: "Error al configurar la información de pago:"
setRequestStatusError: "Error al establecer el estado de la solicitud:"
location:
deniedAccessAlert: >
El acceso a tu ubicación está bloqueado.
Para utilizar tu ubicación actual, activa los permisos de ubicación desde
tu navegador y vuelve a cargar la página.
geolocationNotSupportedError: Su navegador no admite la geolocalización
unknownPositionError: Error desconocido al obtener la posición
userDeniedPermission: Usuario sin permiso
map:
currentLocation: (Ubicación actual)
user:
accountDeleted: El ({email}) de su cuenta de usuario ha sido eliminado.
authTokenError: Error al obtener un token de autorización.
confirmDeleteMonitoredTrip: ¿Desea eliminar este viaje?
confirmDeletePlace: ¿Quiere eliminar este lugar?
emailVerificationResent: El mensaje de verificación de correo electrónico ha sido reenviado.
emailVerificationResent: El mensaje de verificación de correo electrónico ha sido
reenviado.
genericError: "Se ha encontrado un error: {err}"
itineraryExistenceCheckFailed: Comprobación de errores para ver si el viaje seleccionado es posible.
itineraryExistenceCheckFailed: Comprobación de errores para ver si el viaje seleccionado
es posible.
preferencesSaved: Sus preferencias se han guardado.
smsInvalidCode: El código introducido no es válido. Por favor, inténtelo de nuevo.
smsResendThrottled: >-
Expand Down Expand Up @@ -100,11 +109,12 @@ common:
"no": "No"
print: Imprimir
save: Guardar
startOver: Comenzar de nuevo
startOver: Reiniciar
submitting: Enviando…
"yes":
itineraryDescriptions:
calories: "{calories, number} kcal"
fareUnknown: No hay información de las tarifas
noItineraryToDisplay: No hay itinerario que mostrar.
relativeCo2: >
{co2} de CO₂ en {isMore, select, true {más} other {menos} } que conducir
Expand Down Expand Up @@ -133,6 +143,7 @@ common:
walk: Caminar
notifications:
email: correo electrónico
push: notificaciones push
sms: Mensaje de texto
places:
custom: personalizado
Expand Down Expand Up @@ -169,7 +180,9 @@ components:
tooManyPlaces: Se alcanzó el máximo de lugares intermedios
AdvancedOptions:
bannedRoutes: Seleccionar rutas prohibidas…
bikeTolerance: Tolerancia de las bicicletas
preferredRoutes: Seleccionar rutas preferidas…
walkTolerance: Tolerancia al andar
AfterSignInScreen:
mainTitle: Redirigiendo…
message: >-
Expand Down Expand Up @@ -225,11 +238,15 @@ components:
shortTitle: Planificar viaje
BatchSearchScreen:
header: Planifique su viaje
modeSelectorLabel: Seleccione un modo de transporte
BatchSettings:
destination: destino
origin: origen
planTripTooltip: Planificar viaje
validationMessage: "Por favor, defina los siguientes campos para planificar un viaje: {issues}"
validationMessage: "Por favor, defina los siguientes campos para planificar un
viaje: {issues}"
invalidModeSelection: No se puede planificar un viaje utilizando los modos seleccionados.
Prueba a incluir el transporte publico en la selección de modos.
BeforeSignInScreen:
mainTitle: Iniciando sesión
message: >
Expand Down Expand Up @@ -257,9 +274,6 @@ components:
nonTransit: Alternativas
DeleteUser:
deleteMyAccount: Eliminar mi cuenta
EnhancedStopMarker:
stopID: "Parada:"
stopViewer: Visor de paradas
ErrorMessage:
header: No se pudo planificar el viaje
warning: Advertencia
Expand Down Expand Up @@ -358,10 +372,50 @@ components:
description: El contenido que ha solicitado no está disponible.
header: No se encontró el contenido
NotificationPrefsPane:
description: Puede recibir notificaciones sobre los viajes que realiza con frecuencia.
noneSelect: No enviar notificaciones
notificationChannelPrompt: ¿Cómo desea recibir las notificaciones?
notificationEmailDetail: "Los correos electrónicos de notificación se enviarán a:"
noDeviceForPush: Regístrese con la aplicación móvil para acceder a esta configuración.
notificationChannelPrompt: "Recibir notificaciones para sus viajes guardados por:"
OTP2ErrorRenderer:
LOCATION_NOT_FOUND:
body: >-
{inputFieldsCount, plural, =0 {} one {localización es} other
{localizaciones son}} no están cerca de ninguna calle.
header: No se puede acceder a la ubicación
NO_STOPS_IN_RANGE:
body: >-
{inputFieldsCount, plural, =0 {} one {ubicación es} other {ubicaciones
son}} no están cerca de ninguna parada del transporte.
header: Sin paradas cerca
NO_TRANSIT_CONNECTION:
body: >-
No se encontró ninguna conexión entre tu origen y destino en el día
seleccionado, utilizando los tipos de vehículos que seleccionaste.
header: Sin conexiones
NO_TRANSIT_CONNECTION_IN_SEARCH_WINDOW:
body: >-
Se encontró una conexión, pero estaba fuera de las opciones de la
búsqueda, intenta ajustar las opciones de la búsqueda, usando los tipos
de vehículos que seleccionaste.
header: Sin conexiones por el criterio de la búsqueda
OUTSIDE_BOUNDS:
body: >-
{inputFieldsCount, plural, =0 {} one {localización es} other
{localizaciones son}} no están en los límites del planificador de
viajes.
header: Ubicación fuera de los límites
OUTSIDE_SERVICE_PERIOD:
body: >-
La fecha específicada está fuera del rango de los datos disponibles para
la búsqueda de los viajes.
header: Fuera de plazo
SYSTEM_ERROR:
body: Se ha producido un error desconocido en la búsqueda.
header: Error en el planificador de los viajes
WALKING_BETTER_THAN_TRANSIT:
body: Puede completar esta ruta más rápido caminando.
header: El transporte público no es la forma más rápida de hacer este viaje
inputFields:
FROM: Procedencia
TO: Destino
PhoneNumberEditor:
changeNumber: Cambiar número de teléfono
invalidCode: Introduzca 6 dígitos para el código de validación.
Expand All @@ -375,7 +429,6 @@ components:
texto:
requestNewCode: Solicitar un nuevo código
sendVerificationText: Enviar texto de verificación
smsDetail: "Las notificaciones por mensaje de texto se enviarán a:"
verificationCode: "Código de verificación:"
verificationInstructions: >
Por favor, compruebe en la aplicación de mensajería de texto de su
Expand Down Expand Up @@ -492,7 +545,8 @@ components:
header: ¡La sesión está a punto de terminar!
keepSession: Continuar sesión
SimpleRealtimeAnnotation:
usingRealtimeInfo: Este viaje utiliza información de tráfico y retrasos en tiempo real
usingRealtimeInfo: Este viaje utiliza información de tráfico y retrasos en tiempo
real
StackedPaneDisplay:
savePreferences: Guardar preferencias
StopScheduleTable:
Expand Down Expand Up @@ -555,16 +609,19 @@ components:
travelingAt: Viajando a {milesPerHour}
vehicleName: Vehículo {vehicleNumber}
TripBasicsPane:
checkingItineraryExistence: Comprobación de la existencia de itinerarios para cada día de la semana…
checkingItineraryExistence: Comprobación de la existencia de itinerarios para
cada día de la semana…
selectAtLeastOneDay: Por favor, seleccione al menos un día para el seguimiento.
tripDaysPrompt: ¿Qué días hace este viaje?
tripIsAvailableOnDaysIndicated: Su viaje está disponible en los días de la semana indicados anteriormente.
tripIsAvailableOnDaysIndicated: Su viaje está disponible en los días de la semana
indicados anteriormente.
tripNamePrompt: "Por favor, indique un nombre para este viaje:"
tripNotAvailableOnDay: El viaje no está disponible el {repeatedDay}
unsavedChangesExistingTrip: >-
Todavía no ha guardado su viaje. Si abandona la página, los cambios se
perderán.
unsavedChangesNewTrip: Todavía no ha guardado su nuevo viaje. Si abandona la página, se perderá.
unsavedChangesNewTrip: Todavía no ha guardado su nuevo viaje. Si abandona la página,
se perderá.
TripNotificationsPane:
advancedSettings: Configuración avanzada
altRouteRecommended: Se recomienda una ruta alternativa o un punto de transferencia
Expand Down Expand Up @@ -671,7 +728,7 @@ components:
*** DETALLES TÉCNICOS ***
reportIssue: Reportar un problema
reportIssue: ¿Un problema?
TripViewer:
accessible: Accesible
bicyclesAllowed: Permitido
Expand Down Expand Up @@ -724,6 +781,8 @@ components:
switcher: Botón de cambio
WelcomeScreen:
prompt: ¿A donde quiere ir?
SequentialPaneDisplay:
stepNumber: Paso {step} de {total}
config:
accessModes:
bicycle: Tránsito + Bicicleta Personal
Expand Down
Loading

0 comments on commit 23b7062

Please sign in to comment.