text:
Homeassistant no puede ver estado alarma en servidor.

Desde que actualicé a la ultima versión tanto la integración personalizada de securitas direct como el HA os y el core la integración no es capaz de obtener la información del estado de la alarma en el servidor de securitas.
El error registrado en el registro es el siguiente:
Logger: homeassistant.helpers.entity
Source: helpers/entity.py:732
First occurred: 15:29:00 (9 occurrences)
Last logged: 15:36:00
Update for alarm_control_panel.XXXXXXXXXXXX fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 732, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in async_device_update
await self.async_update()
File "/config/custom_components/securitas/alarm_control_panel.py", line 313, in async_update
alarm_status: CheckAlarmStatus = await self.client.update_overview(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/securitas/init.py", line 397, in update_overview
status.status,
^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'status'

Mismo error. Aparece normalmente asociado a que ha perdido la "sesion" con securitas. Si haces un reload al componente, actualiza y va... al menos de inicio

Confirmado. Perdida de sesion con la ultima version.
Update for alarm_control_panel.calle________________ fails
20:10:40 – (ERROR) helpers/entity.py - message first occurred at October 30, 2023 at 23:38:13 and shows up 264 times
Invalid session. Please, try again later.
20:10:40 – (ERROR) Securitas Direct (custom integration) - message first occurred at October 30, 2023 at 23:38:13 and shows up 265 times
Despues de un reload de la integracion funciona un rato pero no refresca sesion por algun motivo

Mismo error con la 2.3

A mi el estado en el servidor nunca me lo ha refrescado, para poder tenerlo actualizado cree una automatización que fuerza a actualizar el alarm control panel y con eso me ha estado funcionando mucho tiempo bien, programaba el reinicio de HA cada noche por qué a veces se colgaba la integración de Securitas y con eso iba mas o menos bien.
Os dejo el código de la automatización que me permite tener el estado de la alarma sincronizado con el servidor:
alias: Estado alarma Securitas
description: ""
trigger:

platform: time_pattern
seconds: /5
condition: []
action:
service: homeassistant.update_entity
data: {}
target:
entity_id: alarm_control_panel.casa_perales
mode: single

Si lo necesitáis alguno, solo es cambiar el tiempo por el intervalo que queráis para actualizar y poner vuestro entity_id
A raíz de haber actualizado la integración y HA ( si, todo a la vez, por lo que no se de donde viene el problema, si de la actualización de la integración de Securitas o de la actualización de HA) me falla como a los 5 min de reiniciar HA.
Lo he solucionado creando una automatización que recarga la integración cada x tiempo.
Os dejo el código de la automatización que recarga la integración cada x tiempo para que vuelva a conectar con la sesión de Securitas:
alias: Reload Securitas
description: Recarga la integración de Securitas Direct cada 5 minutos
trigger:

platform: time_pattern
minutes: /5
condition: []
action:
service: homeassistant.reload_config_entry
data: {}
target:
entity_id: alarm_control_panel.casa_perales
mode: single

Lo mismo que la anterior automatización solo tenéis que cambiar el tiempo de refresco y poner vuestro entity_id.
De momento con las dos automatizaciones me funciona perfecto, pero son apaños, no sé si se podrá corregir para futuras versiones.

Ten cuidado con este tipo de actualizaciones porque puede que la gente de securitas te diga algo.
Con respecto al problema que mencionas arriba del todo. Puedes habilitar los logs de DEBUG para ver cual es el json del mensaje que devuelve el servidor cuando falla?

He deshabilitado la automatización que recarga la integración cada 5 min y he restablecido la automatización que fuerza a actualizar el alarm control panel al tiempo que tenía puesto cuando empezó a fallar que era 1 min. Espero a que falle y te cuento.
Gracias.

Ya ha fallado y tengo el debug log de la integración activado pero no tengo ni idea de ver el json que me dices. Si me puedes orientar te lo agradezco.

Esto es lo que genera en el archivo /config/home-assistant.log al fallar y teniendo el debug log de la integración habilitado, no se si es lo que necesitas, ya me diras.
2023-11-06 21:55:00.360 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id XXXXXXXXXXXXXXXX, uuid XXXXXXXXXXXXXXXX and idDeviceIndigitall
2023-11-06 21:55:00.415 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response--------------
2023-11-06 21:55:00.415 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"errors":[{"message":"Invalid session. Please, try again later.","name":"ExpiredSessionError","time_thrown":"2023-11-06T20:55:00.405Z","data":{"status":403,"err":"ExpiredSessionError"},"path":["xSStatus"]}],"data":null}
2023-11-06 21:55:00.416 ERROR (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Invalid session. Please, try again later.
2023-11-06 21:55:00.416 ERROR (MainThread) [homeassistant.helpers.entity] Update for alarm_control_panel.XXXXXXXXXXXX fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 696, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 957, in async_device_update
await self.async_update()
File "/config/custom_components/securitas/alarm_control_panel.py", line 313, in async_update
alarm_status: CheckAlarmStatus = await self.client.update_overview(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/securitas/init.py", line 397, in update_overview
status.status,
^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'status'

El error es de "Invalid session. Please, try again later." que es que la sesión se ha caducado, pero tengo código especifico para gestionar eso. ¿Cómo has instalado la integration? La tienes actualizada a la ultima version?

instalada a través de HACS y si, actualizada a la ultima versión V2.4.0.1

Acabo de ver que también escribe en el registro lo siguiente:
Este error se originó a partir de una integración personalizada.
Logger: custom_components.securitas.securitas_direct_new_api.apimanager
Source: custom_components/securitas/securitas_direct_new_api/apimanager.py:159
Integration: Securitas Direct (documentation, issues)
First occurred: 10:41:25 (103 occurrences)
Last logged: 22:40:00
Internal Server Error
Required request header 'x-installationNumber' for method parameter type String is not present
Invalid session. Please, try again later.
Por si te sirve de algo.

Ah, pues eso me sirve, tienes más de una instalación? Hay mas logs antes y después de eso que puedas compartir?

Solo tengo una instalación y simple sin los sensores esos de humedad ni historias.
Los logs que genera la integración de securitas son siempre los mismos.
En orden son:
Primero al rato de reiniciar HA da el siguiente error:
Logger: homeassistant.helpers.service
Source: helpers/service.py:547
First occurred: 22:49:49 (1 occurrences)
Last logged: 22:49:49
Unable to find services.yaml for the securitas integration
Después de este error funciona con normalidad y a los 5min aprox falla y empieza a generar los errores que puse arriba de invalid session y luego el de update control panel.
Después de eso si no recargo la integración sigue fallando y dando esos errores en bucle cada vez que actualiza alarm control panel.

He deshabilitado la automatización que recarga la integración cada 5 min y he restablecido la automatización que fuerza a actualizar el alarm control panel al tiempo que tenía puesto cuando empezó a fallar que era 1 min. Espero a que falle y te cuento. Gracias.

Hola @FranGG87 ! Podrías compartir como hiciste para establecer la automatización que fuerza a actualizar la alarma? Fue con en servicio securitas.refresh_alarm_status? Gracias!

Hola, lo hice con el servicio home assistant update entity.
Yo tengo configurada la integración para que no pida el estado al panel de alarma, sino que lo coja del último estado almacenado en el servidor, es más rápido y no le estas haciendo peticiones constantemente al propio panel.
Si has configurado la integración para que haga la petición al panel no te va a funcionar esta automatización o eso creo.
alias: Estado alarma Securitas
description: ""
trigger:
platform: time_pattern
seconds: /5
condition: []
action:
service: homeassistant.update_entity
data: {}
target:
entity_id: alarm_control_panel.casa_perales
mode: single

Ah, pues eso me sirve, tienes más de una instalación? Hay mas logs antes y después de eso que puedas compartir?

En mi caso ahora que lo pienso, ha aparecido desde que he añadido una segunda instalacion.
Y sucede con versiones anteriores a las 2.4.0.1 que tengo instalada (en la 2.3 con una instalacion no pasaba, y no me di cuenta de achacarlo al añadir una segunda instalacion al contrato)

El debug que me ha dejado.
2023-11-07 00:29:48.909 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id XXXXXXXXXXXXXXXX, uuid XXXXXXXXXXXXXXXX and idDeviceIndigitall
2023-11-07 00:29:48.911 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id XXXXXXXXXXXXXXXX, uuid XXXXXXXXXXXXXXXX and idDeviceIndigitall
2023-11-07 00:29:49.005 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response--------------
2023-11-07 00:29:49.006 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"errors":[{"message":"Invalid session. Please, try again later.","name":"ExpiredSessionError","time_thrown":"2023-11-06T23:29:48.991Z","data":{"status":403,"err":"ExpiredSessionError"},"path":["xSStatus"]}],"data":null}

2023-11-07 00:29:49.006 ERROR (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Invalid session. Please, try again later.
2023-11-07 00:29:49.006 ERROR (MainThread) [homeassistant.helpers.entity] Update for alarm_control_panel.calle_XXXXXXXXXXXXXXXXXXXXXXX fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 696, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 957, in async_device_update
    await self.async_update()
  File "/config/custom_components/securitas/alarm_control_panel.py", line 313, in async_update
    alarm_status: CheckAlarmStatus = await self.client.update_overview(
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/securitas/__init__.py", line 397, in update_overview
    status.status,
    ^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'status'
2023-11-07 00:29:49.034 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response--------------
2023-11-07 00:29:49.034 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"errors":[{"message":"Invalid session. Please, try again later.","name":"ExpiredSessionError","time_thrown":"2023-11-06T23:29:49.019Z","data":{"status":403,"err":"ExpiredSessionError"},"path":["xSStatus"]}],"data":null}

2023-11-07 00:29:49.035 ERROR (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Invalid session. Please, try again later.
2023-11-07 00:29:49.035 ERROR (MainThread) [homeassistant.helpers.entity] Update for alarm_control_panel.calle_YYYYYYYYYYYYYYYYYYYYYYYYY fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 696, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 957, in async_device_update
    await self.async_update()
  File "/config/custom_components/securitas/alarm_control_panel.py", line 313, in async_update
    alarm_status: CheckAlarmStatus = await self.client.update_overview(
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/securitas/__init__.py", line 397, in update_overview
    status.status,
    ^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'status'

XXXXXXXXXXXXX y YYYYYYYYYYYYYYYY son los nombres de las 2 instalaciones.
Y aparte marca el error que indicaban antes:
Logger: custom_components.securitas.securitas_direct_new_api.apimanager
Source: custom_components/securitas/securitas_direct_new_api/apimanager.py:159
Integration: Securitas Direct ([documentation](https://github.com/guerrerotook/securitas-direct-new-api), [issues](https://github.com/guerrerotook/securitas-direct-new-api/issues))
First occurred: November 6, 2023 at 01:35:24 (1094 occurrences)
Last logged: 00:39:09

Invalid session. Please, try again later.
Internal Server Error
Required request header 'x-installationNumber' for method parameter type String is not present

En mi caso device_id e uuid son el mismo número, solo tengo una instalación.

Creo que he encontrado el problema, lo estoy probando en mi casa y saco un fix esta tarde

Genial, muchas gracias!

Gracias @guerrerotook por la dedicación! Y gracias @FranGG87  por la respuesta!

He publicado una versión nueva. Dime si soluciona el problema.

Actualizado, ya te diré.
Gracias por la dedicación.

Hace dos horas que actualicé y reinicié y no ha vuelto a fallar lo de invalid sesión.
Muchas gracias por todo @guerrerotook

Hace dos horas que actualicé y reinicié y no ha vuelto a fallar lo de invalid sesión. Muchas gracias por todo @guerrerotook

Por mi parte lleva ya 3 horas y sin problema. No ha dado aviso.  Muchas gracias @guerrerotook
Por cierto el valor que se pude marca para comprobar el estado de alarma en el servidor, ¿es en minutos o segundos?
No lo veo en la documentacion

@guerrerotook increible! Ahora llamar el servicio homeassistant.update_entity funciona muy bien. Cambiar el status en el panel fisico y llamar el servicio sincroniza el status en el HA al instante! Perfecto! Muchas gracias!

Ha estado todo el día funcionando perfecto hasta estar tarde que ha empezado con un nuevo error:
Este error se originó a partir de una integración personalizada.
Logger: custom_components.securitas.securitas_direct_new_api.apimanager
Source: custom_components/securitas/securitas_direct_new_api/apimanager.py:159
Integration: Securitas Direct (documentation, issues)
First occurred: 19:35:00 (109 occurrences)
Last logged: 20:09:55
Invalid token: Expired
Y como consecuencia el mismo error de actualizar el alarm control panel:
Logger: homeassistant.helpers.entity
Source: helpers/entity.py:696
First occurred: 19:35:00 (109 occurrences)
Last logged: 20:09:55
Update for alarm_control_panel.XXXXXXXXX fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 696, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 957, in async_device_update
await self.async_update()
File "/config/custom_components/securitas/alarm_control_panel.py", line 313, in async_update
alarm_status: CheckAlarmStatus = await self.client.update_overview(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/securitas/init.py", line 397, in update_overview
status.status,
^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'status'

Acabo de verlo si. He hecho un cambio en el código y lo voy a probar en mi instalación hasta mañana a ver que pasa.

Efectivamente sucede, pero el error que me da no es el mismo.
La parte interesante. Parece como si no renovara el token inicial de autorizacion de la API.
He puesto "0000000" en el usuario.
Logger: custom_components.securitas.securitas_direct_new_api.apimanager
Source: custom_components/securitas/securitas_direct_new_api/apimanager.py:159
Integration: Securitas Direct (documentation, issues)
First occurred: November 8, 2023 at 17:30:31 (4216 occurrences)
Last logged: 11:34:04
Invalid token: Expired
Not able to connect: request to http://verisureservicesecuritylayer-svc.owa-ns.svc.cluster.local:8080/remoteservices/main?Country=ES&ID=OWA_______________0000000000000_______________202311XXXXXXXXXXX&callby=OWA_10&hash=xxxxxxxxxxxxxxxxxxxxxxxxx&lang=es&numinst=XXXXXXXX&request=ESTINV&user=00000000000000 failed, reason: read ECONNRESET

Acabo de publicar otra version a ver si con esta ya solucionamos el problema. Desde ayer yo en mi instalación no he tenido más mensajes de esos.

Actualizada la integración, a ver si suerte.
@guerrerotook Te quería hacer alguna consulta mas sobre la integración:
En primer lugar, la integración por si misma no me actualiza el estado de la alarma del servidor, es decir si yo armo la alarma desde HA cambia el alarm control panel a Armado Ausente, pero si armo la alarma desde el panel físico de Securitas la integración no actualiza el estado en el alarm control panel de HA, para que si actualice el estado utilizo una automatización que fuerza a actualizar el estado de la entidad, llamar al servicio: homeassistant.update_entity y target: entity_id: alarm_control_panel.XXXXXXXXXXXX.
En la configuración de la integración tengo puesto false en check_alarm_panel para que no haga petición al panel sino que lea el estado del servidor.
¿Es esta la manera correcta de funcionar de la integración, actualizando mediante una automatización? o por el contrario debería actualizar el estado por si sola y hay algo mal en mi integración.
En segundo lugar, cuando empezamos con los problemas de invalid session, borre la integración y la volví a instalar, al ir a configurarla como una nueva me daba error todo el rato, no podía iniciar sesión con mis credenciales de Securitas, el usuario y contraseña eran los correctos pero no podía iniciar sesión y por lo tanto no podía configurar la integración, por lo que tuve que restaurar la última copia de seguridad de HA.
Si algún día tengo algún problema con HA y tengo que cambiar la instalación, bien sea por hardware o software, ¿no voy a poder volver a configurar la integración si no es restaurando una copia? No se si tienes alguna idea de qué podía estar pasando ahí.
Muchas gracias por tu trabajo, tu ayuda y perdón si estas consultas no debieran estar en este hilo.

Ok, entonces seguiré usando el update entity que funciona bien para lo que quiero, simplemente era por saber si estaba haciendo algo mal.
Respecto a borrar e instalar otra vez a ver si mañana tengo tiempo y lo vuelvo a probar y si no me deja apunto el mensaje de error y te digo.
La actualización de la integración de momento va bien.
Muchas gracias por todo.

Hola! Estuve pendiente de toda la platica, los fix y versiones. También sufrí del mismo error "Invalid token: Expired", y estoy con la última versión actualizada. "So far, so good", todo va bien, pero fueron menos de 3 horas de actualización de la integración y no se que pasará en los próximos dias. Ojalá que el error no regrese!
A respecto de la integración primero que es un tremendo trabajo de "reverse engineering" lo que @guerrerotook y otras personas hicieron! Y todo todo es por puro "guessing" de lo que pasa con la comunicación con el servidor de Securitas. Pero entiendo algo de lo que pasa entre el panel fisico y la APP (y, por similitud, en la integración con el HA).
La APP se comunica con el servidor. El "refresh ligero", digamos asi, solo actualiza el status de la APP con el servidor, y no se comunica con el panel. Esto no aparece en el historial de acciones.
El panel físico se comunica con el servidor cuando 1. es solicitado un refresh del panel (opción check_alarm_panel en la integración HA o en "actualización de status" en la APP de Securitas) y 2. cuando hay un cambio de modo (arming o disarming) por medio de la APP o HA. Y estas dos acciones si ponen una entrada en el historial de acciones.
Pero, la novedad (buena) es que, a lo que parece en mi instalación, cambiar el modo por medio del panel físico también se comunica con el servidor, sin que el servidor solicite un "check_alarm_panel" o similar (claro, el panel es quien inicia la comunicación actualizando su status en el servidor). Esta acción también pone una entrada en el historial.
Eso no pasaba cuando empezé con esta nueva integración, dias después de la implementación del OTP, casi un año atrás. Y, gracias a @FranGG87 y su automación con el servicio "update_entity", pude desmarcar en "check_alarm_panel" de la integración. Y el check a cada 20 min del panel (y sus muchas y muchas entradas en el historial de solicitaciones) no dejaron de aparecer (por supuesto!).
Lo que viene a mi idea es que quitar el "check_alarm_panel" puede traer algún problema de falta de sincronismo si el panel cambia de modo (fisicamente) y, en este momento, la red de celular no esté funcionando y/o los servidores de Securitas están offline. Pero eso es raro, bien raro.
Para lo que quiero, que es un refresh con poca frecuencia (cada 30 minutos), y "por debajo del radar" (sin estressar a Securitas, panel y servidores), está tremendamente bien!
Saludos a todos!

Bueno pues con estos días de prueba no ha vuelto a fallar la integración, así que podemos cerrar la incidencia.
Muchas gracias por el trabajo @guerrerotook

Bueno pues con estos días de prueba no ha vuelto a fallar la integración, así que podemos cerrar la incidencia.
Muchas gracias por el trabajo @guerrerotook

repo: guerrerotook/securitas-direct-new-api


text:
Ha dejado de funcionar

Intento armar la alarma y no funciona:
`Este error se originó a partir de una integración personalizada.
Logger: custom_components.securitas.securitas_direct_new_api.apimanager
Source: custom_components/securitas/securitas_direct_new_api/apimanager.py:518
Integration: Securitas Direct (documentation, issues)
First occurred: 12:00:07 (3 occurrences)
Last logged: 12:02:14
Unknown argument "pin" on field "Mutation.xSArmPanel".`

La versión de Home Assistant es la 2022.10.3

@DJuanillo estoy con el mismo error que comentas en la configuración, lo cual no me permite ni reiniciar HA  a no ser que comente la parte de Securitas en configuration.yaml.
Invalid config for [securitas]: expected str for dictionary value @ data['securitas']['code']. Got 5552. (See /config/configuration.yaml, line 31).
Se ha conseguido algún workarround o similar?.
Gracias y un saludo,

@DJuanillo estoy con el mismo error que comentas en la configuración, lo cual no me permite ni reiniciar HA a no ser que comente la parte de Securitas en configuration.yaml.
Invalid config for [securitas]: expected str for dictionary value @ data['securitas']['code']. Got 5552. (See /config/configuration.yaml, line 31).
Se ha conseguido algún workarround o similar?.
Gracias y un saludo,

El problema es que al comentar esa línea ya no deja desarmar la alarma, he intentado desinstalar y volver a instalar la integración varias veces y el problema persiste

Nadie encuentra la solución?

De hecho el error lo dice, esta esperando un string en code,
Yo lo solucione poniendo single quotes antes y despues del code ex '1234' y luego funciona

De hecho el error lo dice, esta esperando un string en code, Yo lo solucione poniendo single quotes antes y despues del code ex '1234' y luego funciona

Gracias, voy a probarlo.

Hola! Se me ocurrió el mismo error ahora que intenté desarmar. El error es Unknown argument "pin" on field "Mutation.xSDisarmPanel". No sé la razón pero no tengo problemas en armar. Toda mi configuración es por el ConfigFlow, no tengo nada en los archivos YAML.
Después de algún debug llegué a la conclusión que el upgrade del Home Assistant Core parece ser el culpable, porque manteniendo la integración en la versión 2.1.0.0 (la última), con el Core en la 2022.10.1, funciona todo perfecto. Si hago el upgrade del core a la 2022.10.5 no funciona.
Con eso quedo un poco mas tranquilo que no es un problema con Securitas, Verisure o con mi cuenta, y si con el ecosistema del HA. Claro, la solución definitiva es corregir algo en la integración.
Para los que urge funcionar sugiero hacer el downgrade del Core.

eliminar las líneas alarm_control_plane.py:311-316 y ya funciona

eliminar las líneas alarm_control_plane.py:311-316 y ya funciona

Funciona perfecto, gracias.

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
Fixes #3072, #3148. Dialog and MessageBox key binding do not handle Enter correctly

Fixes

Fixes #3072
Fixes #3148

Todo:

[x] Fix Button's key bindings
[x] Move Enter key binding from Toplevel to Dialog
[x] Add better unit tests

Pull Request checklist:

[x] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[x] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

Dialog is a sub-class of Window, which is a sub-class of Toplevel and thus if the focused view doesn't handle the key binding the Toplevel must be responsible to send the key binding for a sub-view that need it. If none of the sub-views handle it then the Toplevel checks if need it and if it doesn't handled return false. I think this is duplicating the same code through sub-class of Toplevel. But I may be wrong.

Dialog is a sub-class of Window, which is a sub-class of Toplevel and thus if the focused view doesn't handle the key binding the Toplevel must be responsible to send the key binding for a sub-view that need it. If none of the sub-views handle it then the Toplevel checks if need it and if it doesn't handled return false. I think this is duplicating the same code through sub-class of Toplevel. But I may be wrong.

Please look at the new unit tests for MessageBox and Dialog in this PR and tell me why they're wrong.
I think you're just describing how OnInvokingKeyBindings now works.

@tig I achieved the same result by only done 2 changes:
On Dialog.cs remove the follow as you already done because it never run.
	// BUGBUG: Why is this not handled by a key binding???
	///<inheritdoc/>
	public override bool OnProcessKeyDown (Key a)
	{
		switch (a.KeyCode) {
		case KeyCode.Esc:
			Application.RequestStop (this);
			return true;
		}
		return false;
	}

In the Toplevel.cs add this in the line 229 before if (Subviews.FirstOrDefault (v => v is Button && ((Button)v).IsDefault && ((Button)v).Enabled) is Button defaultBtn) {
			// First invoke the focused view
			if (Focused?.InvokeCommand (Command.Accept) == true) {
				return true;
			}

This allow the key binding run first for the focused view.

@tig I achieved the same result by only done 2 changes on the v2_develop branch:
On Dialog.cs remove the follow as you already done because it never run and the Esc key is already handled on the Toplevel class.
	// BUGBUG: Why is this not handled by a key binding???
	///<inheritdoc/>
	public override bool OnProcessKeyDown (Key a)
	{
		switch (a.KeyCode) {
		case KeyCode.Esc:
			Application.RequestStop (this);
			return true;
		}
		return false;
	}

In the Toplevel.cs add this in the line 229 before if (Subviews.FirstOrDefault (v => v is Button && ((Button)v).IsDefault && ((Button)v).Enabled) is Button defaultBtn) {
			// First invoke the focused view
			if (Focused?.InvokeCommand (Command.Accept) == true) {
				return true;
			}

This allow the key binding run first for the focused view.

Nice!
Do you agree there's no real reason for Toplevel to have a keybinding for Enter is a bad idea?
Does your change pass the new unit tests I provided?

the Esc key is already handled on the Toplevel class.

This is not accurate. The Application.QuitKey key is handled on the Toplevel class.
I do NOT think the key to dismiss a DialogBox or MessageBox should be anything other than Esc. I DO think the quit key for an APPLICATION should be configurable. The default for Application.QuitKey in v2 right now is Ctrl.Q. I believe it should be changed to Esc, but that's a different topic.

This allow the key binding run first for the focused view.

Actually, THIS is what allows Key Bindings (in general) to run first for the focused view:

What you propose for Toplevel is a workaround for the fact that Toplevel is adding a key binding for Enter (incorrectly, in my opinion).

Nice!
Do you agree there's no real reason for Toplevel to have a keybinding for Enter is a bad idea?

I think the Toplevel should have a keybinding for Enter key because it and the Window can handle the default buttons in the same way as Dialog. Remember that WinForm behave the same way.
But I have another solution without the Toplevel change, which is doing the change on the ViewKeyboard.cs on the OnInvokingKeyBindings method:
	public virtual bool? OnInvokingKeyBindings (Key keyEvent)
	{
		// fire event
		// BUGBUG: KeyEventArgs doesn't include scope, so the event never sees it.
		bool? handled = null;
		if (HasFocus && keyEvent.Scope == KeyBindingScope.Focused) {
			if (KeyBindings.TryGet (keyEvent.KeyCode, KeyBindingScope.Focused, out var binding)) {
				foreach (var kb in binding.Commands) {
					if (InvokeCommand (kb) == true) {
						handled = true;
					}
				}
				if (handled == true) {
					return true;
				}
			}
		}
		if (keyEvent.Scope == KeyBindingScope.Application || keyEvent.Scope == KeyBindingScope.HotKey) {
			InvokingKeyBindings?.Invoke (this, keyEvent);
			if (keyEvent.Handled) {
				return true;
			}
		}

		// * If no key binding was found, `InvokeKeyBindings` returns `null`.
		//   Continue passing the event (return `false` from `OnInvokeKeyBindings`).
		// * If key bindings were found, but none handled the key (all `Command`s returned `false`),
		//   `InvokeKeyBindings` returns `false`. Continue passing the event (return `false` from `OnInvokeKeyBindings`)..
		// * If key bindings were found, and any handled the key (at least one `Command` returned `true`),
		//   `InvokeKeyBindings` returns `true`. Continue passing the event (return `false` from `OnInvokeKeyBindings`).
		handled = InvokeKeyBindings (keyEvent);
		if (handled != null && (bool)handled) {
			// Stop processing if any key binding handled the key.
			// DO NOT stop processing if there are no matching key bindings or none of the key bindings handled the key
			return true;
		}

		// Now, process any key bindings in the subviews that are tagged to KeyBindingScope.HotKey.
		foreach (var view in Subviews.Where (v => v.KeyBindings.TryGet (keyEvent.KeyCode, KeyBindingScope.HotKey, out var _))) {
			// TODO: I think this TryGet is not needed due to the one in the lambda above. Use `Get` instead?
			if (view.KeyBindings.TryGet (keyEvent.KeyCode, KeyBindingScope.HotKey, out var binding)) {
				keyEvent.Scope = KeyBindingScope.HotKey;
				handled = view.OnInvokingKeyBindings (keyEvent);
				if (handled != null && (bool)handled) {
					return true;
				}
			}
		}

		return handled;
	}

Does your change pass the new unit tests I provided?

We really need to add a key binding for the Enter key in the Button.cs as you did.
KeyBindings.Add (Key.Enter, Command.Default, Command.Accept);

the Esc key is already handled on the Toplevel class.

This is not accurate. The Application.QuitKey key is handled on the Toplevel class.
I do NOT think the key to dismiss a DialogBox or MessageBox should be anything other than Esc. I DO think the quit key for an APPLICATION should be configurable. The default for Application.QuitKey in v2 right now is Ctrl.Q (UI Catalog overrides this). I believe it should be changed to Esc, but that's a different topic.

I agree. In that case you can add a key binding for the Esc key in the Dialog.cs.

This allow the key binding run first for the focused view.

Actually, THIS is what allows Key Bindings (in general) to run first for the focused view:

What you propose for Toplevel is a workaround for the fact that Toplevel is adding a key binding for Enter (incorrectly, in my opinion).

But for that we need to override the method on Button.cs and there is need because the View class already handle that.

@tig to prove what I meaning run this test on this PR and you'll see that it fail for the Toplevel and Window. That why I think the button has to behave on the same way with all containers and not only for the Dialog.

I totally dig seeing this example of TheoryData!
You are correct about Window.
I've said before that I think Toplevel is a bad design and should be removed. https://github.com/gui-cs/Terminal.Gui/issues/2491
My thinking has changed some since I wrote that, but not the parts about Toplevel being overly complex and poorly engineered and needing to be nuked from orbit. We should be actively removing things from Toplevel and really, really, pause anytime we consider adding something to it.
Therefore, a compromise:
		public static TheoryData<Toplevel> ButtonContainers =>
			new () {
				{ new Window () },
				{ new Dialog () }
			};

Cool?

What you propose for Toplevel is a workaround for the fact that Toplevel is adding a key binding for Enter (incorrectly, in my opinion).

But for that we need to override the method on Button.cs and there is need because the View class already handle that.

Not sure what you mean by this. What method are you talking about? Is there a unit test missing from this PR that shows that something is broken?

I totally dig seeing this example of TheoryData!
You are correct about Window.
I've said before that I think Toplevel is a bad design and should be removed. #2491
My thinking has changed some since I wrote that, but not the parts about Toplevel being overly complex and poorly engineered and needing to be nuked from orbit. We should be actively removing things from Toplevel and really, really, pause anytime we consider adding something to it.

So, you want to get rid of the Toplevel and thus the Window will be the most top container?

Therefore, a compromise:
		public static TheoryData<Toplevel> ButtonContainers =>
			new () {
				{ new Window () },
				{ new Dialog () }
			};

Cool?

In this case it's cool.

So, you want to get rid of the Toplevel and thus the Window will be the most top container?

Let's discuss here: https://github.com/gui-cs/Terminal.Gui/issues/2491

source: gharchive/pull-request

authors: BDisp tig

license: MIT


text:
[Snyk] Upgrade axios from 1.6.5 to 1.6.7

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade axios from 1.6.5 to 1.6.7.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 2 versions ahead of your current version.
The recommended version was released 21 days ago, on 2024-01-25.

Release notes

Package name: axios

1.6.7 - 2024-01-25Release notes:
Bug Fixes

capture async stack only for rejections with native error objects; (#6203) (1a08f90)

Contributors to this release

 Dmitriy Mozgovoy
 zhoulixiang

1.6.6 - 2024-01-24Release notes:
Bug Fixes

fixed missed dispatchBeforeRedirect argument (#5778) (a1938ff)
wrap errors to improve async stack trace (#5987) (123f354)

Contributors to this release

 Ilya Priven
 Zao Soula

1.6.5 - 2024-01-05Release notes:
Bug Fixes

ci: refactor notify action as a job of publish action; (#6176) (0736f95)
dns: fixed lookup error handling; (#6175) (f4f2b03)

Contributors to this release

 Dmitriy Mozgovoy
 Jay

    from axios GitHub release notes

Commit messages

Package name: axios

a52e4d9 chore(release): v1.6.7 (#6204)
2b69888 chore: remove unnecessary check (#6186)
1a08f90 fix: capture async stack only for rejections with native error objects; (#6203)
104aa3f chore(release): v1.6.6 (#6199)
a1938ff fix: fixed missed dispatchBeforeRedirect argument (#5778)
123f354 fix: wrap errors to improve async stack trace (#5987)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

@gstraccini update snapshot

@gstraccini update snapshot

@gstraccini update snapshot

repo: guibranco/github-readme-stats


text:
🛑 Sefaz - Rio Grande do Sul is down

In ab63f4a, Sefaz - Rio Grande do Sul (https://onboardapi.guichepass.com.br/sefaz?code=2) was down:

HTTP code: 500
Response time: 132 ms

Resolved: Sefaz - Rio Grande do Sul is back up in 6bb0d0d after 39 minutes.

repo: guichevirtual/statuspage


text:
🛑 Sefaz - Rio Grande do Sul is down

In bf75932, Sefaz - Rio Grande do Sul (https://onboardapi.guichepass.com.br/sefaz?code=2) was down:

HTTP code: 500
Response time: 899 ms

Resolved: Sefaz - Rio Grande do Sul is back up in 3afccca.


text:
remote validation limited support on rest style URL

For rest style URLs, normally they are the combination of baseURL and resource ID.
E.g. http://xxx.com/books/1
And the resource ID normally populated with the input's value.
In this case, an interface to manipulate the URL is required. But currently this is not supported in remote validator. Can this be added?

This is now easy to do in master, with url: "http://api/checkvatid/{value}"

authors: marcandre xfcjscn

license: mit

license_source: bigquery


text:
Problems with gulp installing command not found

I am facing an issue installing and there seems to be no real clear installation of gulp.
The SO (Stack) posts all had ideas but none worked for me...
I was forced to use sudo to install globally but then cannot find where it installed to..
users/myname/npm/node_modules/[no gulp]
usr/local/lib/node_modules/[no-gulp]
usr/local/lib/node_modules/npm/node_modules/[no-gulp]
the latter seems very full and maybe the other two are orphaned ??? but no gulp...
So then I figure i need to install gulp local as well ok - but as non sudo..ok that seems to go ok but I get the dreaded gulp not found unless I develop as sudo which isn't a good idea.
It must have installed gulp as I can see it using sudo from anywhere.
Any pointers on a correct way to install for everyone would be handy I think.
Thank you.

Ok what I had to do was actually find the right node_modules folder and right in that directory install gulp -g using sudo - then I can use it non sudo (because my system path knows this location probably)

repo: gulpjs/gulp


text:
lodash reference obsoleted

Installing the current gulp version returns a warning that the referenced lodash package is deprecated.
Should the dependency get updated?

Dup of https://github.com/gulpjs/gulp/issues/1472

authors: SetTrend TrySound


text:
issues with gulp install

I ran the following command on my windows 8 command prompt:
npm install -g gulp
and I get the following:

That's not an error, nothing to worry about :)
https://github.com/gulpjs/gulp/issues/1485

It will be when node hits v7. I bet there's a good reason why gulp@3 is stuck with vinyl@0.3?

authors: callumacrae invernizzie rm2k


text:
Publish docs to all brances?

Hello,
I saw that you published some new docs! I almost missed them, because I wasn't on the master branch.
Is it a good idea to publish the new docs to every branch so you don't miss them. The initial paragraph that say's where to find the older 3.X docs, should be enough for people who are looking for them...
BTW: Thanks for some docs! I am starting to create some Gulp stuff and I like reading a good doc ;)

They aren't done yet and are being PRed to master when they are in a state to be PRed...

I understand. But because 4.0 is released, wouldn't it be good to have some 4.0 related docs (even if they aren't "perfect")?

The docs in master are for 4.0 but they are extremely bad/outdated.  We are in the process of updating everything - it's a long process.

@phated Ok. I thought the 4.0 docs are pretty complete... My bad :)


text:
Added gulp-casperjs to blacklist

Calling gulp from node is already a hack, this plugin just seems to be wrapping it in a gulp plugin.
https://github.com/NullRefExcep/gulp-casperjs/blob/master/index.js#L40-L47
I'm pretty sure this shouldn't be a gulp plugin.
Also, isn't it duplicating every file? here

Make sure to open an issue on the offending repo about this.

authors: callumacrae sindresorhus

repo: gulpjs/plugins


text:
relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC

/usr/bin/ld: crypto/libbitcoin_crypto.a(crypto_libbitcoin_crypto_a-neoscrypt.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC crypto/libbitcoin_crypto.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status make[2]: *** [guncoin-tx] Error 1 make[2]: *** Waiting for unfinished jobs.... /usr/bin/ld: crypto/libbitcoin_crypto.a(crypto_libbitcoin_crypto_a-neoscrypt.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
crypto/libbitcoin_crypto.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [guncoind] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Use the following with configure --enable-static --disable-shared
git clone https://github.com/guncoin/guncoin.git
cd guncoin/
cd depends/
./autogen.sh
./configure --enable-static --disable-shared --enable-asm
make clean
make

works like a charm, many thanks!

authors: Bushstar laakie

repo: guncoin/guncoin


text:
Experimental support for a better JSON adapter.

I know, it doesn't really work THAT well right now, but once one of us trace the origin we will fix it. The only bug? Most statements simply aren't saved. But then again I'm not the best code interpreter myself. :P

Hi @Gustavo6046, it looks like there are a few issues with this storage adapter. I've also been thinking about the best way to solve the issue with this adapter being non-thread safe. The requirements necessary to create a proper JSON formatted database are enormous and if I started working on it I would end up with something close to Mongo DB (which is essentially a powerful JSON database).
At this point I've decided to steer the ChatterBot project away from using my original home-rolled file database and add support for SQLite which can still be used locally without any additional non-python dependencies and its developers have already solved the issues of read and write locking, querying for data, etc.

That seems like a good idea, thanks.

repo: gunthercox/ChatterBot


text:
serializationVersion 问题

编译完dll之后，C#读取Nvinfer predictor = new Nvinfer(@"*/best.engine");提示异常TensorRtSharp.Internal.PInvoke.TRTException:“[stdArchiveReader.cpp::nvinfer1::rt::StdArchiveReader::StdArchiveReaderInitCommon::46] Error Code 1: Serialization (Serialization assertion stdVersionRead == serializationVersion failed.Version tag does not match. Note: Current Version: 236, Serialized Engine Version: 237)”，这个怎么解决哇~

模型是否是在本机使用本项目提供的接口转换的？如果不是，请重新转换

谢谢：），刚刚解决了，是tensorrt版本python和C#使用版本不一致的问题

authors: Neroaway guojin-yan

repo: guojin-yan/TensorRT-CSharp-API


text:
我终于完成数据预处理了，谢谢您的回答和帮助，我想问一下按照你的参数在4块16g的v100上要跑多久能跑完？

我终于完成数据预处理了，谢谢您的回答和帮助，我想问一下按照你的参数在4块16g的v100上要跑多久能跑完？
Originally posted by @wymxz in https://github.com/guolinke/TUPE/issues/2#issuecomment-671714686
前辈您好，请问finetuning的数据处理流程是怎样的呢？

refer to this script: https://github.com/guolinke/TUPE/blob/master/preprocess/glue/process.sh

Thank you very much for your reply. I tried to run process.sh, but encountered the following error.
error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
Is this related to the version of gcc? Further, can you tell me your version? Thank you again!

This line https://github.com/guolinke/TUPE/blob/master/preprocess/glue/process.sh#L27 ？
I used the default g++ in the ubuntu 20.04

Thank you very much for your patience!

repo: guolinke/TUPE


text:
Autoload functions_include.php files instead of functions.php

Q
A

Bug?
unsure

New Feature?
no

Version
current

Actual Behavior
The Guzzle autoload config loads functions.php and not functions_include.php, which means that if you have multiple vendored versions of Guzzle in your project (WordPress + different plugins) you get fatal errors, e.g.
Fatal error: Cannot redeclare GuzzleHttp\json_encode() (previously declared in X/public_html/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/functions.php:322) in X/public_html/wp-content/plugins/S3-Uploads/lib/aws-sdk/GuzzleHttp/functions.php on line 322

Expected Behavior
Ideally you wouldn't get the fatal errors when two plugins are loading similar versions of Guzzle.
Steps to Reproduce
You could reproduce it by cloning GuzzleHttp into two different locations and including both of their autoload.php files.  The only problem is the function duplication, not the class duplication.
Possible Solutions
In build/packager.php, autoload the functions_include.php versions of files instead of functions.php.  I'm happy to provide a pull request.

That indeed looks like a bug. functions_include was introduced later than the builder script. A PR would be appreciated.
On a side note: I'm not really sure why it makes sense to include different versions of Guzzle. The autoloader will only load one of them anyway, so using different versions of guzzle in the same process is actually impossible. Fixing this bug will only make the error go away, but I'd be very careful because this could cause a lot of issues.

It doesn't make any sense to include different versions of Guzzle at all.  The right fix is clearly to only have one version, but I can't see any way of making that happen in my situation (a WordPress plugin plus CiviCRM, which is a WordPress plugin which can have its own plugins...).
I'll try to file a PR soon.

authors: sagikazarmark takkaria

repo: guzzle/guzzle


text:
🛑 JMM.KR is down

In c569cd0, JMM.KR (https://jmm.kr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: JMM.KR is back up in b4e4293.

repo: gwanryo/upptime


text:
Feature Request - stroke thickness

It would be nice to have  also control over stroke thickness in  UI  so you can preview that more easily.
I am asking just for uniformed Thickness.
variable would be also cool (with LPE  Powerstroke) but probably very hard to to implment

I had that in the Processing version, but figured it would be easier for folks to change the stroke in Inkscape, but I hadn't considered during the preview. I'll try to work it in.

authors: adambelis gwygonik

repo: gwygonik/SquiggleDrawInkscape

license: Unlicense


text:
issue#6 add a screenshot on the popup to show how to unlock the wallet

add a screenshot on the popup to show how to unlock the wallet

good job

authors: lanhaoxiang xzshinan

repo: gxchain/GScatter


text:
自定义Notification的时候可能会因为数据过大超过Intent的传输数据大小限制而报错

Caused by: java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 43025520 bytes
at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1566)
at android.app.ContextImpl.startService(ContextImpl.java:1532)
at android.content.ContextWrapper.startService(ContextWrapper.java:613)
at com.gyf.cactus.ext.a.a(CactusExt.kt:308)
at com.gyf.cactus.ext.a.b(CactusExt.kt:193)
at com.gyf.cactus.service.CactusJobService.onStartJob(CactusJobService.kt:64)
at android.app.job.JobService$JobHandler.handleMessage(JobService.java:143)
Notification我用了自定义布局，布局不算太复杂，主要的原因可能是有一个网络获取的图片而且还会更新

从后台报错的数据统计来看，还有一个特点，全部是N系列的机型，7.0，7.1.1，7.1.2

repo: gyf-dev/Cactus


text:
弹出Dialog的时候设置背景色变暗，这时候状态栏的颜色变白了

最开始我设置状态栏颜色为深色，之后弹出Dialog的时候设置背景色变暗，这时候状态栏的颜色变白了，请问有没有办法让状态栏颜色不改变？

同问

+1

+1，各位大老解决没有？ @jackyHuangH

如果是全屏的dialogFragment是可以修改状态栏字体颜色，其他情况都不可以修改

+1

可以把写成全屏的dialogFragment，然后把背景设置成透明，再控制布局就可以了

repo: gyf-dev/ImmersionBar


text:
Hipstr flanking bp pos fix

Fixed problems with starting positions of HipSTR files, added type annotations to mergeutils functions and fixed bug from https://github.com/gymreklab/TRTools/issues/146.
Some additional changes were done in tr_harmonizer, but they are compatible with existing code and shouldn't break anything.
Currently working on new test cases.

It's cool to see all this work you're doing. Let me know when it's in a state you like me to review.

Thank you for the changes. Just those two open comments remaining.

authors: Kulivox LiterallyUniqueLogin

repo: gymreklab/TRTools


text:
h2ogpt with a proxy server and document translation

Hello, I have an openai model proxy server, how should I use h2ogpt with my proxy server?Thanks！
In addition, I would like to ask if h2ogpt supports document translation?

One can do translation for a given model.  See src_lang and tgt_lang options for models like mbart- types.


text:
Side Panel for Configuration

Is your feature request related to a problem? Please describe
It is common to use an app to configure based on information from the user. Today, this can be done by clicking a button and going to a new page, or by showing a dialog in the center of the page. Going to a new page can remove the end user mentally from the current flow they are working on, and the center dialog mostly blocks out the page the user is on.
Describe the solution you'd like
Having a side panel type dialog which would fade the background but allow it to still be seen.
Additional context

https://xd.adobe.com/view/a1f57a3b-dfdd-4d3c-ab5f-59d404c96593-f4a6/

Does the panel have to float 1" from the top, or can it be flush, like this?

@lo5 It would be great if we can bring this on the top of the screen. sometime we blur the background when this overlay comes. I'm fine with either way. Having an overlay is fine.

@lo5 As for API, I guess we go with (same as dialog is implemented):
{
// ...inside a meta card
/** Display a side panel on the page. */
side_panel?: SidePanel
}

/** Create a side panel. */
interface SidePanel {
  /** The components in this panel. */
  items: Packed<Component[]>
}

@mturoci Sounds good!
@sandruparo @mturoci I'm OK with implementing this only if it's a Fluent Panel. From the screenshot above, I don't see how it's different from the dialog that we already have.

authors: lo5 mtanco mturoci sandruparo


text:
fix: Reduce space between searchbar and table

Github Issue
Fixes #1492
Before

After

With pixel spacing dimension

How big is the gap? It would be great if it was exactly 15px. Also can you also include screenshots of:

Just searchbar - already included.
Just groupby
Searchbar + groupby together.

We need to make sure all these are consistent and have the same vertical spacing.

I have added screenshots for the pixel dimension between search/groupby bar and the table. The gap for searchbar is ~16px and for groupby is ~15px. I tried few different parameters, but this was the best I could get for them.

The gap for searchbar is ~16px and for groupby is ~15px

Unfortunately, that's not good enough since they can be also displayed side by side in which case, it will not look good.

@mturoci how can I try that scenario where both are used side by side ? Do you perhaps have an example maybe ?

table.py should have them both IIRC.

When put together, in table.py example both search and groupby had exact space of 15px

authors: JacksonIsaac mturoci


text:
sometimes modbus grid values are incorrect

Hallo ich stehe vor einem sehr seltsamen Problem. Zu 80% der Zeit stimmen alle Werte und das Skript funktioniert nur teilweise stimmen die Gridzählerdaten überhaupt nicht, dadurch stimmen dann natürlich auch die AC Lasten nicht.
Ich versuche den Bug schon eine Weile lang zu finden. Es kommen tatsächlich über die Modbusanfrage falsche Daten und dadurch wird die Rechnung falsch. Siehe die folgenden zwei Bilder. Bild 1 sind die falschen Werte (7:45), Bild2 mit den richtigen Werten beim Gridzähler, den AC-Lasten (7:48). Strom und Spannungswerte dürften passen, rechnet man Strom x Spannung sieht man ob die Leistung völlig falsch angezeigt wird oder richtig.
Bei den unteren Bildern konnte ich den Fehler durch Ein- und Ausschalten der Ladung des Multiplus rekonstruieren, aber diese geht auch nicht immer.
Ich habe mir die eingelesenen Werte vom Modbus direkt ausgeben lassen und es kommen tatsächlich manches mal in einer Schlange richtige Werte und dann plötzlich völlig falsche.
Siehe Grid L1: 232,6V, 4,5A, -282W
---> Der Multiplus lädt mit 2046W der PV Wechselrichter produziert 1075W, Last real war ca. 60W, Real war die Einspeisung bei etwas 1000W. Rechnet man 232,6V*4,5A=1046W. Also ist der Wert von -282W aus dem Modbus falsch. Schaltet man die Ladung des Multiplus aus, korrigiert sich der Netzwert. Die falschen Werte kommen und gehen aber eher sporadisch ohne dass sich etwas an den Einspeisemengen, Lasten, Multiplus ändert.
Habe versucht die Update Rate von 200 auf 2000 zu ändern ohne Erfolg. Ich kann das Problem nicht reproduzieren.

nach stundemlangen debugging glaube ich hat es etwas mit dem scale faktor zu tun. immer wenn der bei mir aufgrund von kleineren Gridwerten von 0,1 auf 0,01 wechselt dann stimmen alle gridmeterzahlen in in der Folge auch der AC-Load nicht mehr. Zusätzlich kommt solange ein skalefaktor von 0,1 ist ein positiver wert aus dem modbus registern, bei skalefaktor 0,01 kommt ein negativer wert heraus.

Ich glaube das Thema hatten wir auch im Photovoltaikforum oder? Da kam ja raus, dass eine neue Firmware im Solaredge Wechselrichter zu diesen Problemen führt und man nicht über eine bestimmte Version upgraden sollte. Du kannst ja nochmal deinen Kommentar dazu abgeben, am besten mit den problematischen Versionsständen.

Ich habe das besagte Problem auch mit einem SE17K Inverter und Version 4.22.39.
Ich habe mir die vom Inverter über Modbus ausgegebenen Werte mal genauer angeschaut und ich glaube, dass Solaredge da einen Fehler beim Konvertieren der Werte in die Register 40206-40209 mit Type int16 macht.
Folgendes Beispiel habe ich bei mir gesehen (duch eigene Logausgaben im python script):
2024-12-05 09:53:07,696 - DbusSolarEdge - INFO -     Register 40209   Wert 6806    SF 0.100
2024-12-05 09:53:08,723 - DbusSolarEdge - INFO -     Register 40209   Wert 2322    SF 0.010
Analyse:
Auf der Phase ist die Last 680,6 W (Im Register steht der Wert 6806 und der Scale Factor 0.1)
Bis hierhin ist noch alles gut. Im nächsten Update ist der SF aber 0.01
Die Last auf der Phase hat sich nicht wesentlich geändert.
Auf Grund des SF müsste nun der 10-fache Wert, also 68060 im Register stehen. Das ist aber außerhalb des int16 Wertebereichs.
68060 ist binär 1_0000_1001_1101_1100
Im Register steht 2322, binär 0000_1001_0001_0010, was einfach nur die 16 least significant Bits von ca. 68060 sind.
Meiner Meinung nach ist der Fehler also bei Solaredge beim Schreiben der Werte in die Modbus Register bzw. dürfte in so einer Situation der SF nicht so klein werden, dass die daraus resultierenden Load Werte nicht mehr in int16 passen.
Als Abhilfe habe ich versucht einen Konsistenz-Check ins python script einzubauen, in der Art
if abs(Power_P1 + Power_P2 + Power_P3 - Power_ALL) > 3)):
Modbus Message ignorieren
else:
Modbus Message auf dbus schreiben
So könnte man eine ganze Menge fehlerhafter Modbus Messages filtern, aber leider kommt Venus anscheinend nicht mit der reduzierten Update Rate zurecht.
Ich versuche mal dem Solaredge Support das Problem zu erklären...

Hi!
Sieht hier ähnlich aus mit Version 4.22.39 auf dem WR. Ich meine aber zu erkennen, dass es nur falsche Werte gibt, wenn PV-Produktion stattfindet und da auch nur bei größeren Werten (schätzungsweise >1kW).
Hat sich der SE-Support schon gemeldet? Eigentlich sind die ja recht fix...
vg
t.

Ja, der Support hat sich heute mit einer Nachfrage gemeldet. Falls was rauskommt, melde ich mich.
Außerdem hat der Support ohne sich zu melden anscheinend die Firmware downgegraded. Ich habe jetzt die Version 4.20.36 auf dem Inverter.
Das würde auch erklären, warum ich seit Tagen nur noch einen Scale Factor von 1.0 beobachte und das Problem nicht mehr habe.


text:
Analyze AAR size

Is there any potential to reduce it

We should add size reporting into the CI log as well.

repo: hCaptcha/hcaptcha-android-sdk


text:
Is this exact NLTK version (2.09b) strictly necessary?

Thank you for the great tool!
Can one use a fresher version of NLTK? Or it would just mean that the original behaviour is not guaranteed?
Best regards.

Oh, sorry for the disturbance, here's the answer
 April 20, 2013: It seems that newer version of NLTK has a different interface for its tree objects. Our  implementation was based on NLTK 2.0b9. So if you're experiencing with errors reported such as "'function' object has no attribute 'parent'", please either replace your NLTK version with 2.0b9, or go through the source codes under src/ folder, adding brackets to all *.parent, *.left_sibling, *.right_sibling, *.root, *.treepos, *.treepositions. (e.g., *.parent becomes *.parent()).
http://www.cs.toronto.edu/~weifeng/software.html

Glad you found the solution :)

authors: alexeyev habernal


text:
Account system

Modals haven't been fixed yet, but everything else is functional. Combines the latest commit in the main branch with my changes inside save-dev.
Consider taking a look at save-dev because I think the other changes I've made in that branch are for the better. The file structure is better organized and I think is generally more understandable, all pages with the exception of the landing page are completed and working on mobile (although IIRC, the editor might need more work), it doesn't make use of Tailwind (which I personally - maybe more of a shared opinion - don't think is needed), and can completely builds and works (as demonstrated by the demo link that I shared).

I get this error when I try to run it locally.

Mentioned issue should be fixed.

Modals should work now for the most part. (You can see the share modal, and the save to email/remix modal is responsive to user input.)

authors: jianmin-chen leomcelroy

repo: hackclub/blot


text:
Grow slack messages by 10%

From @hellyeah on November 2, 2015 20:30
@zachlatta we should discuss later today or tomorrow the exact query we want to do for stats. We should likely keep it simple to start. Maybe it doesn't even make sense to subtract out ourselves to start.
Copied from original issue: hackedu/hackedu#447

Zach is sending me daily PDFs ~midnight. I'm recording data in clubs.hackedu.us

Non-staff weekly messages (Mon-Mon):
3,020	3307	4362	4400	5402	0	6475	7510

:+1: LETS KEEP THIS GOING

authors: hellyeah paked zachlatta

repo: hackedu/meta


text:
Strip PT references from app_empty

Removes platformtree from app_empty.
Closes #143

:+1:

authors: farcaller mcoffin

repo: hackndev/zinc


text:
alpha reqs for basic demo to PBOT

[ ] generate Portland map
[ ] visualize 3 datasets as points/layers on map that can toggle on and off
[ ] tool tip that displays data source when hover over/or click on data point
[ ] ability to filter by date or data source
[ ] simulate user ability to add new data (future functionality - drawing line triggers POST command to API)

[ ] ex. user draws line on map

[ ] element pops up, propmts user to enter date range

Alpha reqs tasks come from spec located here: https://github.com/hackoregon/transportation/blob/master/alpha.md#frontend

repo: hackoregon/transportation-frontend


text:
Decaffeinate HackMyResume (CoffeeScript -> ES6)

For the v2.0 release I'd like to migrate HackMyResume from CoffeeScript to ES6-flavored JavaScript, or whatever subset we can get away with given compatibility requirements. The usual reasons apply:

Many of CoffeeScript's signature features now exist in JavaScript.
(Much) Larger base of maintainers and contributors.
Simplified deployment and debugging.
Steadily improving ES6 support in Node.

Currently, HMR officially runs on Node 4.0+. With this change, we'd drop older Node versions that don't provide decent feature parity with ES6. Based on the Node / ES6 support tables, this might mean dropping just the 4.x series, or it might eat into our 5.x coverage as well. Dropping support for two major versions just to get some ES6 sugar may be overkill but it's arguable these versions should fall off anyway, especially given the pace at which Node is putting out new ones.
Put another way: HackMyResume is going back to plain ol' JavaScript. What JavaScript version/idiom should we target? Vanilla JS for widest platform support or an ES6 mixture at the cost of some older platforms?

Support for Node 4 and 5 is dropped in HackMyResume 1.9.0. CoffeeScript-to-ES6 replacement will happen in 2.0 but we're already, with the CoffeeScript 2.0 upgrade, shipping ES6 in dist/. Additionally, the Node 4.x LTS release is about to fall off in April, so we'll end up covering both LTS versions.

repo: hacksalot/HackMyResume


text:
🛑 Write - https://write.hada.io is down

In e9f6560, Write - https://write.hada.io (https://write.hada.io) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Write - https://write.hada.io is back up in 33f0fd6 after 6 days, 4 hours, 55 minutes.

repo: hada-io/upptime


text:
Erroneous reporting of titles available on a provider

Describe the bug
When I run excludarr radarr exclude, the output shows titles available on Disney Plus that are not, in fact, available - such as Alien or Aliens.
To Reproduce
Steps to reproduce the behavior:

excludarr radarr exclude -a delete -d e
There are many - Alien, Aliens, Road to Perdition, the list goes on
Config here: https://gist.github.com/davidfells/c8edcd45dcf6d616e6b61290b080fcf1

Expected behavior
Expect a list where titles are in fact available on the indicated provider
Versions

OS Version: Debian 11
Excludarr version: 1.0.6
Python version: 3.9.2

Debug logging
To debug the problem further, we need to know exactly what went wrong. Therefor we ask you to run the command in debug mode. You can achieve this by appending the --debug flag after the base command excludarr. e.g. excludarr --debug sonarr exclude -a delete -d -e.
If the output is too long, please paste the output to pastebin or github gist and link it in this issue.
Output here: https://gist.github.com/davidfells/2ad6f71da2518459d733439dee9ac74a
Additional context
Add any other context about the problem here.

Hi David,
Thanks for reporting your issue! From what I can tell your Github profiles states that you live in the United States, correct? I see in your linked configuration file that you are using the en_NL locale. If you change this to en_US you should get the correct results for your country.
Disney Plus in the US differs from the database in NL, because of the licenses. So one movie can be streaming on Disney, Netflix etc. in one country, but not in another. Configuring the locale setting in the configfile properly should fix this.
Can you test this and report back the results?

authors: davidfells haijeploeg

repo: haijeploeg/excludarr


text:
Survey Template

Summary

どんなもの？（Abstract,Conclusion）
エージェントがキーボードやマウス操作によってインターネット上のタスクを実行する強化学習環境, World of Bits (WoB)を開発した。WoBの主な課題は2つある。(i) ウェブベースのタスクを要約、整理すること、(ii) 報酬構造があり、ウェブの移り変わりにもかかわらず再現可能であること。HTTPトラフィックをキャッシュすることでオフラインでタスクを近似できる。ウェブベースのタスクを作成するための3つの手法 MiniWoB, FormWoB, QAWoBを説明した。標準的な教師付き学習や強化学習の手法で十分な結果を得ることはできたが、人間とのギャップはまだ大きい。

先行研究と比べてどこがすごいの？（先行研究,どんな問題を解決した）
アルゴリズムだけじゃなくてシミュレーション環境も重要。シミュレーションには制限がある、ロボット工学だと物理的なハードウェアがあり、データ収集や反復が制限される。

技術や手法の"キモ"はどこにある？(新規点,どう解決した)

Open-domain 既存のインターネットの環境を利用できる
Open-source 変化に対応しやすい
Easy to collect data 人間と同じインテーフェースを使うからクラウドソーシングでデータを大量に収集できる

どうやって有効だと検証した？（実験手法）

議論はあるか？（未解決点,応用例）

次に読むべき論文？

（任意）より詳しい手法の理解

論文情報・リンク

著者，"タイトル，" ジャーナル名，voluem，no.，ページ，年
Google Scholar 被引用数:
国際会議:

Docker の中に Browser
Gym を通して操作
step t
観測: pixel, DOM, r

生のピクセル W,H,C
DOM (x, y, w, h) 4-tuple
報酬 r
動作
a list of actions, KeyEvent or PointerEvent

Minimalistic Web Tasks: MiniWoB

Atariみたいなやつ
100個のタスク
an HTML page that is 210 pixels high, 160 pixels wide
the top 50 pixels (in yellow background) contain the natural language task description (randomly generated)
and the 160 × 160 area below is for interactions
−1.0 (failure) to 1.0 (success)

Live Web Tasks: FormWoB
あるweb siteを使う
オフライン近似のため, プロキシを使って人間による実演(demonstration)の全てのHTTP request と responseを記録する
key, value のペアで報酬関数を定義する
demonstrationにない request (=cach miss)をしたとき、エピソードは終了する
実環境の場合は小さい報酬 を返す
FormWoB benchmark
United, Alaska, AA, and JetBlue の4つの飛行機予約サイトに適応した
フォーム記入,送信ボタン

Crowdsourcing Web Tasks at Scale: QAWoB
報酬関数を設計せずに、自然言語でタスクを生成する
Stage 1
query 質問文を作成
キーワードを複数パターン
Stage 2
queryに対してデモをする
一旦DOMをクリックしたら報酬を返す
制約

queryは理解しやすいもの
e mobile-friendly モバイルでデモするからレスポンシブ対応サイト

QAWoB benchmark.
521 query テンプレート, 2 スロット,  10-100集めた
13,550 total queries
GUI 操作 100 テンプレート
7種類のGUI操作

関連研究
Web系

first to tackle the problem of interacting with websites using both vision and raw mouse and keyboard actions on open-domain tasks at scale
言語操作系
a bridge between this semantic-oriented work and the more control-oriented tasks found in most reinforcement learning environments.


text:
Merged pull request not showing

Pull request #156 Erlang test1, #157 Erlang test2, #158 Erlang test3 were merged into hakaru-dev master but the corresponding changes do not appear. Test and expected files should be in tests/RoundTrip and there should be additions in RoundTrip.hs.

There were massive conflicts in these PRs as they seemed to all be independent but all changed the same files.  I tried to merge as best I could, and clearly did not succeed.
You know much better than I do what the final state should be -- please submit an additional PR that fixes my merge mistakes.


text:
Hanging when feeding a measure to a distribution

The following program hangs after generating a (seemingly) random number of values:
def gammaPoisson(shape prob, scale prob) measure(nat):
	mu <~ gamma(shape, scale)
	X <~ poisson(mu)
	return X

gammaPoisson(1.0,1.0)

I suspect it has to do with the fact that we are feeding a measure from one distribution into the parameter of another distribution.

That shouldn't be a problem. I mean Hakaru was meant to do stuff like that :)
The issue seems to be that this program is making the poisson random number generator go into an infinite loop. But I have definitely replicated this bug!

I just pushed a change. Can you confirm if the program works now?

Yep! After pulling the changes and reinstalling hakaru (i.e. running stack install) the program is working as expected. Thank you!

repo: hakaru-dev/hakaru


text:
Disable Hotkeys for interactive steps with disabled next button

I have created a really nice guided tour with your library, thanks a lot.
I have some steps in my tour, which I call interactive steps. To progress in these steps the user has to click on highlighted UI Elements in order to progress in the guided tour. The Next button is hidden for these steps. It would be great if there were properties in the
IStepOption interface to disable certain hotkeys for a step. Right now the user can press the next button to progress without clicking on the UI Element.

Right now you can manually call tourService.disableHotkeys() to disable hotkeys, but it might be a good idea to automatically disable hotkeys when goToNextOnAnchorClick is enabled and allow user to disable hotkeys for certain steps.

This has been implemented in v9 release.

authors: ChrTall hakimio

repo: hakimio/ngx-ui-tour


text:
Remove card holder name field

How can I remove the card holder name field. I suggest it should be made optional, to be displayed or not

I have created a PR for that. Please merge @halilb

repo: halilb/rn-credit-card


text:
get_bulk with non_repeaters greater than 18

SNMP version 1.2.0
If get_bulk is called with a non_repeaters parameter greater than 18 it fails with
pdu.rb:181:in `error_status=': 19 (SNMP::InvalidErrorStatus)
get_bulk calls GetBulkRequest.new with the non_repeaters count in the error_status parameter.  When PDU.initialize tries to assign it to self.error_status the error_status= routine tries to decode it and since it is our of range (max valid error_status is 18) it throws the exception.

Fixed. Too late for you, but thanks anyways for reporting.

authors: genelatham hallidave

repo: hallidave/ruby-snmp


text:
Allow library to load large icon bitmap

What do you think about having the library taken care of the bitmap decoding for the large icon ?
I was thinking that maybe you can overload the method, something like the following:
public class Load {

    // Current method
    public Load largeIcon(Bitmap bitmap ) {
      ...
    }

    // New method
    public Load largeIcon(int largeIcon) {
        if (largeIcon <= 0) {
            throw new IllegalArgumentException("Resource ID Should Not Be Less Than Or Equal To Zero!");
        }
        Bitmap bitmap = BitmapFactory.decodeResource(
               mNotification.mContext.getResources(), largeIcon )
        this.mBuilder.setLargeIcon(bitmap);
        return this;
    }

Would you take a PR for this ?

Hello,
I found it interesting your idea, had not thought of that. If you are interested, open a pull request to change or shall I do?
Anything I am available, hug!

I will send you a PR in an hour or so.
Thanks

Thanks you!

Please take a look at https://github.com/halysongoncalves/pugnotification/pull/9
Thanks

Hello,
I will raise the new artifact in the central maven and update the references to download!
Thanks for PR!

authors: halysongoncalves robertoestivill

repo: halysongoncalves/pugnotification


text:
⚠ ClamAV has degraded performance

In ce1a113, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 225 ms

Resolved: ClamAV performance has improved in 2e6ebaa after 7 minutes.

repo: hamboneZA/caffeine


text:
⚠ ClamAV has degraded performance

In a1607a1, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 464 ms

Resolved: ClamAV performance has improved in 41a9bc1.


text:
⚠ ClamAV has degraded performance

In 0d05b36, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 46 ms

Resolved: ClamAV performance has improved in 9dc156d.


text:
⚠ ClamAV has degraded performance

In 18f90d2, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 123 ms

Resolved: ClamAV performance has improved in 6f073e3.


text:
⚠ ClamAV has degraded performance

In 956c187, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in 22b0efa.


text:
⚠ ClamAV has degraded performance

In 8e86bb8, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 131 ms

Resolved: ClamAV performance has improved in 2cd4627.


text:
⚠ ClamAV has degraded performance

In 3724281, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: ClamAV performance has improved in 09d43a9.


text:
Link to more than just one document for "Learn Python" tip

Right at the beginning I like to Dive into Python ... and while I would still recommend that as a #1 choice, I should link to my document with more options.

here
but the doc, itself, has some TODOs I want to squash.

Map/Reduce and beyond (Functional Reactive Programming)
For really really great horizontal scalability, consider Functional Reactive Programming, such as with Apache Spark. [TODO: link to more resources.]
... Find a good spot to link http://stackoverflow.com/documentation/python/topics

Also maybe I should turn it into a github(-pages)-hosted document, like this guide - rather than a sloppy Google doc... Maybe :)

repo: hangtwenty/dive-into-machine-learning


text:
[WIP] add unit test cases for data types that need to be reinterpreted

This is to address https://github.com/hangxie/parquet-tools/issues/120

meta command seems good, cat command needs a bit more work, I will open another PR for cat.

repo: hangxie/parquet-tools


text:
MSVC: first.hpp: error C2664: cannot convert argument 2 from 'ctll::list' to 'ctll::list<>

One of the latest commits caused this regression with MSVC 16.1 Preview 2:
29>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(244,9): error C2664:  'auto ctre::first<>(ctll::list<>,ctll::list<>) noexcept': cannot convert argument 2 from 'ctll::list' to 'ctll::list<>'
29>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(244,9): error C2664:         with
29>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(244,9): error C2664:         [
29>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(244,9): error C2664:             A=ctre::negative_setctre::space_chars
29>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(244,9): error C2664:         ]

I need thee pattern you are using.

should be fixed in 42e26963a4b1e186923e1ad8408d3d0ba5d6b4d0, let me know

I get this error now:
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:  'void ctre::negative_helper<CB&>(ctre::negative_set<>,ctre::point_set<2>::populate::<lambda_1>&,int64_t)': cannot convert argument 1 from 'Head' to 'ctre::negative_set<>'
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:         with
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:         [
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:             CB=ctre::point_set<2>::populate::<lambda_1>
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:         ]
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:         and
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:         [
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:             Head=ctre::space_chars
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,10): error C2664:         ] (compiling source file Parser\GXSEnterpriseParser.cpp)
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(290,30): message :  No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called (compiling source file Parser\GXSEnterpriseParser.cpp)
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(422): message :  see reference to function template instantiation 'void ctre::negative_helper<ctre::space_chars,,ctre::point_set<2>::populate::<lambda_1>>(ctre::negative_setctre::space_chars,CB &&,int64_t)' being compiled
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(422): message :         with
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(422): message :         [
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(422): message :             CB=ctre::point_set<2>::populate::<lambda_1>
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(422): message :         ] (compiling source file Parser\GXSEnterpriseParser.cpp)
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(427): message :  see reference to function template instantiation 'void ctre::point_set<2>::populatectre::space_chars(ctre::negative_setctre::space_chars)' being compiled (compiling source file Parser\GXSEnterpriseParser.cpp)
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(428): message :  see reference to function template instantiation 'void ctre::point_set<2>::populatectre::space_chars(ctre::negative_setctre::space_chars)' being compiled (compiling source file Parser\GXSEnterpriseParser.cpp)
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(432): message :  see reference to function template instantiation 'void ctre::point_set<2>::populate(ctll::list)' being compiled
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(432): message :         with
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(432): message :         [
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(432): message :             A=ctre::negative_setctre::space_chars
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(432): message :         ] (compiling source file Parser\GXSEnterpriseParser.cpp)
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(436): message :  see reference to function template instantiation 'void ctre::point_set<2>::populate(ctll::list)' being compiled
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(436): message :         with
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(436): message :         [
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(436): message :             A=ctre::negative_setctre::space_chars
1>C:\Projects\Libraries\ctre\compile-time-regular-expressions\include\ctre\first.hpp(436): message :         ]
Pattern: LR"(^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s*$)"

try current master #14b74584f9aadc004cf1af58b243ea4ee0ca32c2

I do get the same error with another pattern:
LR"(^([-dlsDLS][-rwxstlRWXSTL]{9}[+]?)\s+(\d+)?\s+(\S+)?\s+(.*?)?\s+(\d+)\s+(\d{1,2}).\s([^\s,.]{3,4}).?,?\s((\d{4,4})|(\d{1,2}):(\d{2,2}))\s)"

try 6478da9b20f415d5883232ba5ff564263dad41ac

This fixed it. Thank you.

Thank you for reporting the issue.

authors: hanickadot matbech


text:
TextRank算法的优化

TextRank算法采用多轮迭代收敛来获取结果，目前的实现中score没有赋初值。
实际测试中依据已有信息赋初值能有效的降低迭代轮次，以作者
http://www.hankcs.com/nlp/textrank-algorithm-to-extract-the-keywords-java-implementation.html
的例子，采用了两种不同的初值方法
1、初值采用sigmoid函数来赋值，实测示例计算从37轮迭代降低为9轮。我是用scala测试的，Java实现参考
Map score = new HashMap();
for (Map.Entry<String, Set> entry : words.entrySet()){ score.put(entry.getKey(),sigmoid(entry.getValue().size());
}
2、把sigmoid函数更改为 1.0*entry.getValue().size()/words.size()，可以从37轮次降低为34轮次
建议采用sigmoid函数提升效率，sigmoid函数scala实现就是一行
def sigmoid(x:Double):Double ={1d/(1d+Math.exp(-x))}

对结果得分和排序都不产生影响，只是加快计算的收敛，减少迭代的轮次，从而提升计算速度。
暂未找到相关文献，简单描述一下，textrank的输入是一组单词系列(a,b,c,d,e)，输出是排好序的如
((c,2.5),(d,2.1),(a,1.8),(e,1.5),(c,1.2))单词得分情况。核心算法是pagerank的投票权体现，可以视为是一个神经网络，如果设置初值为0相当于我们对神经网络不干预，由算法迭代逐步得出结果。而最终结果和词频TF是有（正）相关性的，我们用sigmoid函数干预一下指导神经网络TF越大可能最终得分越大，开始就给每个单词不同的权重，这种正确的指导相当于减少了神经网络的尝试，实测会大幅减少迭代的次数。

刚想到textrank的算法核心原则其实是这样两条
1、TF越高的词越重要
2、和越重要的词在一起的词也越重要
第1条解释一下，TF越高的词，在文中出的次数越多，窗口关系拥有也越多，会有更多的词投票给它，会提升它的重要性
第2条解释一下，在一起其实是就是窗口关系计算，然后拿pagerank来类比，pr越高的网页引用的网页也越重要，其本质是textrank的公式中体现出越重要的词其投票权重更大。
因此，TF对textrank是正相关，但textrank的最终排序结果会和单纯TF排序结果不完全相同（也有可能会相同），主要是受规则2的影响
这也算是给依据TF的sigmoid来设置初值能提升性能的另一个解释吧。

欢迎提交代码

authors: hankcs hlstudio

repo: hankcs/HanLP


text:
Suggestion: macro encode-object-slots

I use the following macro in my projects to implement ENCODE-SLOTS. If you deem it useful in general, I would write a patch with documentation.
(defmacro encode-object-slots (object slots)
  `(with-slots ,slots ,object
     (yason:encode-object-elements
      ,@(loop :for slot :in slots
           :append `(',slot ,slot)))))

As written it has to be a macro, since with-slots is a macro, and needs to know the slot names at compile time. However it could be written as a function like this:
(defun encode-object-slots (object slots)
  (encode-object-elements
    (loop for slot in slots
        collect slot
        collect (slot-value object slot))))

The function does indeed look useful to me, do you want to submit a PR?
2015-05-17 6:45 GMT+02:00 Thayne McCombs notifications@github.com:

As written it has to be a macro, since with-slots is a macro, and needs to
know the slot names at compile time. However it could be written as a
function like this:
(defun encode-object-slots (object slots)
(encode-object-elements
(loop for slot in slots
collect slot
collect (slot-value object slot))))
--
Reply to this email directly or view it on GitHub
https://github.com/hanshuebner/yason/issues/28#issuecomment-102745789.

authors: fiveop hanshuebner tmccombs

repo: hanshuebner/yason


text:
Added Clojure, The Essential Reference

Hi,
Stjepan from Manning here. I thought this title might be a good reference to your list. Thank you for considering it.
Best,

Thanks Stjepan.

authors: hantuzun stjepanjurekovic

repo: hantuzun/awesome-clojurescript


text:
Resolution REGION is not supported?

I need some help about DXF code of REGION entity.
But REGION is not supported?
like it :
REGION
5
AAD8
330
1F
100
AcDbEntity
8
47474747
62
7
420
16777215
100
AcDbModelerGeometry
70
1
1
mnmoo lg m mi
1
ni ^ *+0;:,4 ^ *+0^ [ ng ^ LR nmqoqoqjgmm QK o
1
n fqfffffffffffffffj:rooh n:rono
1

,27:>;:- {rn rn _nm mnmqoqoqjgmm |
1
=0;& {m rn {rn {l {rn {rn |
1
-:9@)+r:&:r>++-6= {rn rn {rn {rn {n {k {j |
1
32/ {i rn {rn {rn {h {n |
1
:&:@-:961:2:1+ {rn rn _j 8-6;  n _l +-6 n _k ,-9 o _l >;5 o _k 8->; o _f /0,+<7:<4 o _k ,+03 oqfjohhlnhfjlnofhkn _k 1+03 lo _k ;,63 o _g 93>+1:,, o _h /6'>-:> o _k 72>' o _i 8-6;>- o _j 28-6; looo _j 8-6; o _j )8-6; o _no :1;@96:3;, |
1
):-+:'@+:2/3>+: {rn rn l o n g |
1
-:9@)+r:&:r>++-6= {rn rn {rn {rn {l {k {j |
1
,7:33 {g rn {rn {rn {rn {f {rn {l |
1
-:9@)+r:&:r>++-6= {rn rn {rn {rn {h {k {j |
1
9><: {no rn {rn {rn {nn {h {rn {nm 90-(>-; ;0=3: 0*+ |
1
92:,7r:&:r>++-6= {rn rn {nl {rn {f |
1
300/ {rn rn {rn {rn {nk {f |
1
/3>1:r,*-9><: {rn rn {rn gjlqnjhloklknoiljk mokqgjioioijomgnjn o o o n n o o 90-(>-;@) V V V V |
1
-:9@)+r:&:r>++-6= {rn rn {rn {no {f {k {j |
1
<0:;8: {rn rn {rn {nj {ni {rn {nh -:):-,:; {nn {rn |
1
<0:;8: {rn rn {rn {ng {nk {rn {nf -:):-,:; {nn {rn |
1
<0:;8: {rn rn {rn {nk {ng {rn {mo -:):-,:; {nn {rn |
1
:;8: {mn rn {rn {mm o {ml no {nk {mk 90-(>-; _h 1410(1 |
1
<0:;8: {rn rn {rn {ni {nj {rn {mj -:):-,:; {nn {rn |
1
:;8: {mi rn {rn {mh o {mm j {nj {mg 90-(>-; _h 1410(1 |
1
:;8: {mf rn {rn {ml o {lo j {ni {ln 90-(>-; _h 1410(1 |
1
/+36,+r:&:r>++-6= {rn rn {rn {rn {nh |
1
):-+:' {rn rn {rn {nh o {lm |
1
):-+:' {rn rn {rn {nh n {ll |
1
,+->687+r<-): {rn rn {rn gjoqijhloklknoiljk nffqgjioioijomgnim o o n o V V |
1
:;8: {lk rn {rn {lo o {mh no {ng {lj 90-(>-; _h 1410(1 |
1
/+36,+r:&:r>++-6= {rn rn {rn {rn {nf |
1
):-+:' {rn rn {rn {mj n {li |
1
,+->687+r<-): {rn rn {rn gjjqijhloklknoiljk nffqgjioioijomgnim o rn o o V V |
1
/+36,+r:&:r>++-6= {rn rn {rn {rn {mo |
1
):-+:' {rn rn {rn {mo n {lh |
1
,+->687+r<-): {rn rn {rn gjoqijhloklknoiljk mofqgjioioijomgnim o n o o V V |
1
/061+ {rn rn {rn gjoqijhloklknoiljk nffqgjioioijomgnim o |
1
/061+ {rn rn {rn gjoqijhloklknoiljk mofqgjioioijomgnim o |
1
/+36,+r:&:r>++-6= {rn rn {rn {rn {mj |
1
,+->687+r<-): {rn rn {rn gjjqijhloklknoiljk mofqgjioioijomgnim o o rn o V V |
1
/061+ {rn rn {rn gjjqijhloklknoiljk nffqgjioioijomgnim o |
1
/061+ {rn rn {rn gjjqijhloklknoiljk mofqgjioioijomgnim o |
0
LINE
5
AAD9
330
1F
100
AcDbEntity
8
47474747
62
7
420
16777215
100
AcDbLine
10
855.6573043410635
20
204.8560606502816
30
0.0
11
855.6573043410635
21
208.8560606502816
31
0.0
0
HATCH
5
AADA
330
1F
100
AcDbEntity
8
47474747
62
7
420
16777215
100
AcDbHatch
10
0.0
20
0.0
30
0.0
210
0.0
220
0.0
230
1.0
2

No, REGION as SURFACE and 3DSOLID entities are not supported, they never will be. They depend on proprietary data  that Autodesk never made public. See all that gibberish under multiple code 1 entries, well, that is the actual description of the entity.

authors: emako haplokuon

repo: haplokuon/netDxf


text:
Creating URL Session task logging seems to cause a crash

59dcc96a5fe376a845ffde078a7dd777.log

Root cause was traced to #4.

repo: happn-tech/URLRequestOperation


text:
Guides misplaced in some files

In some files, my guides are falling short of their position, as shown in the picture.

Sort of having the same problem...
However, instead of falling short they are overshooting...
Seems like it makes the indents 2 times larger that it should. Changing the used indent didn't fix that.

authors: ZottelvonUrvieh rgawenda

repo: harai/indent-guide-improved


text:
Feature/recursive member

This branch aims to switch to the AST from https://github.com/clarkmcc/cel-rust and finish the bulk of the parser.
I've tried more strictly following the grammar which has led me to an issue:

need to get recursive member parsing working without a memory issue. Currently a.b.c panics! Assuming I've allowed for an infinite loop in the member/primary definitions.

CEL Expression:
"a.b.c"

thread 'main' panicked at 'setting stack permissions failed with: Cannot allocate memory (os error 12)', /home/brian/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:197:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've been trying to put together a minimal reproducible example of the recursive member part. This approach seems to be working:

use chumsky::prelude::*;
use ast::Expression::Ident;

pub fn parser() -> impl Parser<char, Expression, Error=Simple<char>> {
    let ident = text::ident().padded()
        .map(|s: String| Expression::Ident(s));

    let int = text::int::<char, Simple<char>>(10)
        .map(|num| Expression::Atom(Atom::Int(num.parse::<i64>().unwrap())));

    // Define attribute access, function calls, and index operations
    let attribute_access = just('.')
        .ignore_then(ident.clone())
        .map(|rhs| match rhs {
            Ident(name) => Member::Attribute(name),
            _ => panic!("Expected ident!")
        });

    // let expr_list = expr
    //         .clone()
    //         .padded()
    //         .separated_by(just(','))
    //         .then_ignore(just(',').or_not())
    //         .collect::<Vec<_>>();
    //
    // let function_call = just('(')
    //     .ignore_then(separated_by(choice((ident.clone(), int.clone())), just(',')))
    //     .ignore_then(just(')'))
    //     .map(Member::FunctionCall);

    let member = recursive(|member| {
        let primary = choice((
            ident.clone(),
            int.clone(),
            member.clone().delimited_by(just('('), just(')')),
        ));

        primary
            .then(
                choice((
                            attribute_access,
                            //function_call,
                            //index_op
                )).repeated())
            .map(|(ident, members)| {
                members.into_iter().fold(ident, |acc, member| {
                    Expression::Member(Box::new(acc), member)
                })
            })

    });

    let expr = recursive(|expr| {
        let expr_in_paren = expr.clone()
            .delimited_by(just('('), just(')'));

        let primary = choice((
            member.clone(),
            expr_in_paren
            ));

        primary
    });

    expr
        .clone()
        .padded()
}

fn main() {
    let src = std::env::args().nth(1).unwrap();

    match parser().parse(src) {
        Ok(ast) => {
            println!("AST: {:?}", ast);
        }
        Err(parse_errs) => parse_errs
            .into_iter()
            .for_each(|e| println!("Parse error: {}", e)),
    };
}

repo: hardbyte/common-expression-language


text:
🧪 Testing operator

Gets the existing kopf test working locally, and adds another test that has a pytest fixture of installing the operator via helm.

Pull Request Test Coverage Report for Build 4760172906

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.627%

Totals

Change from base Build 4750641457:
0.0%

Covered Lines:
216

Relevant Lines:
241

💛  - Coveralls

authors: coveralls hardbyte

repo: hardbyte/netchecks


text:
Need PDF printing capability

We need to allow users to download a PDF file so they can print the manual if desired.

Note that the link to PDF displayed in the GH pages version of the runner's manual currently 404s

This is now fixed

authors: josephlhall moveson


text:
Let's encrypt certificate ssl folder not found

Classification

[X] Question

Reproducibility

[X] Always

Docker information
EPOSITORY            TAG                 DIGEST                                                                    IMAGE ID            CREATED             SIZE
hardware/mailserver   1.1-stable          sha256:7ca1260cdf1118945928acd58c502d6ae1c936b41a4f1a6d5ff99cfbff1acd90   805f0b1959ab        2 months ago        380MB
hardware/mailserver   <none>              sha256:b1ebc44176c548dc8386e1a14a5e676144cb4a4cc79f89849ce60bcbff3bdbdb   c43e799e6bf9        2 months ago        379MB
hardware/mailserver   <none>              sha256:e56eb759a61b483924708c1eb5fb81d5aa32191ef420c197e7313cc1b0137364   a4f7ef1fb6d3        2 months ago        379MB
hardware/mailserver   <none>              sha256:841d78c2f7206e2cd8d5ec87774f4efc9614784fc7822cc41b5e62a8dbafebb3   34f98b9c0aef        3 months ago        379MB
hardware/mailserver   <none>              sha256:293e2a37d49ed7c2ccba12ab38e88e63057d46598832f4eaa0b29b745bee47c5   66477618802b        5 months ago        364MB

Description
Your fantastics container don't see my poor let's encrypt ssl folder.
I use docker-compose v 2.1
i'm using nginx.
just suddenly stop work correctly.
Debugging information
[INFO] Traefik SSL certificates not used
[INFO] No Let's encrypt live directory found
[INFO] Using /var/mail/ssl/selfsigned/ folder
[INFO] No SSL certificates found, generating a new selfsigned certificate
Generating a 4096 bit RSA private key
........................................................................................................++
...............................................++
writing new private key to '/var/mail/ssl/selfsigned/privkey.pem'

Configuration (docker-compose.yml, traefik.toml...etc)
mailserver:
image: hardware/mailserver:1.1-stable
container_name: mailserver
domainname: mail.domain.tld                # Mail server A/MX/FQDN & reverse PTR = mail.domain.tld.
hostname: mail
# restart: always
# extra_hosts:                          - Required for external database (on other server or for local databases on host without docker)
#  - "mariadb:xx.xx.xx.xx"              - Replace with IP address of MariaDB server
#  - "redis:xx.xx.xx.xx"                - Replace with IP address of Redis server
.......
environment:
.......
volumes:
......
- /etc/letsencrypt/:/etc/letsencrypt/
......
depends_on:
- mariadb
- redis

Try to run on the host and inside the container
ls -l /etc/letsencrypt/

Check if you are mounting the right folder content.
https://github.com/hardware/mailserver#custom-certificates
There is a folder named "live" and another one with your domain name.
/etc/letsencrypt# ls -l
total 8
drwxr-xr-x 2 root root 4096 Dec 19 08:41 acme
drwxr-xr-x 3 root root 4096 Dec 19 08:41 live

/etc/letsencrypt/live# ls -l
total 4
drwxr-xr-x 2 root root 4096 Dec 19 08:41 yourdomain.com

/etc/letsencrypt/live/yourdomain.com# ls -l
total 16
-rw-r--r-- 1 root root 2339 Dec 19 08:41 cert.pem
-rw-r--r-- 1 root root 1647 Dec 19 08:41 chain.pem
-rw------- 1 root root 3986 Dec 19 08:41 fullchain.pem
-rw------- 1 root root 3243 Dec 19 08:41 privkey.pem

On host:

ls -l /etc/letsencrypt/
total 44
drwx------  5 991 991  4096 sept.  4 16:05 accounts
drwx------ 22 991 991  4096 oct.  24 06:38 archive
drwx------  2 991 991 12288 déc.  27 12:51 csr
drwx------  2 991 991 12288 déc.  27 12:51 keys
drwx------ 21 991 991  4096 oct.  24 06:38 live
drwx------  2 991 991  4096 déc.  27 12:51 renewal
drwx------  5 991 991  4096 nov.   2  2017 renewal-hooks
ls -l /etc/letsencrypt/live/
total 76
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.   4 18:34 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 juil.  5 09:54 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.   4 18:35 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.  27 12:51 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 lucy.xxxxxxxxxxxxx.fr
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.   4 18:35 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
ls -l /etc/letsencrypt/live/lucy.xxxxxxxxxxxxx.fr/
total 0
lrwxrwxrwx 1 991 991 39 nov.  10 18:04 cert.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/cert14.pem
lrwxrwxrwx 1 991 991 40 nov.  10 18:04 chain.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/chain14.pem
lrwxrwxrwx 1 991 991 44 nov.  10 18:04 fullchain.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/fullchain14.pem
lrwxrwxrwx 1 991 991 42 nov.  10 18:04 privkey.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/privkey14.pem

On Container:

ls -l /etc/letsencrypt/
total 44
drwx------  5 991 991  4096 Sep  4 16:05 accounts
drwx------ 22 991 991  4096 Oct 24 06:38 archive
drwx------  2 991 991 12288 Dec 27 12:51 csr
drwx------  2 991 991 12288 Dec 27 12:51 keys
drwx------ 21 991 991  4096 Oct 24 06:38 live
drwx------  2 991 991  4096 Dec 27 12:51 renewal
drwx------  5 991 991  4096 Nov  2  2017 renewal-hooks

ls -l /etc/letsencrypt/live/
total 76
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.   4 18:34 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 juil.  5 09:54 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.   4 18:35 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.  27 12:51 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 lucy.xxxxxxxxxxxxx.fr
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 déc.   4 18:35 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:04 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:03 xxxxxxxxxxxxx
drwx------ 2 991 991 4096 nov.  10 18:05 xxxxxxxxxxxxx
ls -l /etc/letsencrypt/live/lucy.xxxxxxxxxxxxx.fr/
total 0
lrwxrwxrwx 1 991 991 39 nov.  10 18:04 cert.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/cert14.pem
lrwxrwxrwx 1 991 991 40 nov.  10 18:04 chain.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/chain14.pem
lrwxrwxrwx 1 991 991 44 nov.  10 18:04 fullchain.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/fullchain14.pem
lrwxrwxrwx 1 991 991 42 nov.  10 18:04 privkey.pem -> ../../archive/lucy.xxxxxxxxxxxxx.fr/privkey14.pem

Maybe the problem is the symlink?
Have you tried to cat /etc/letsencrypt/live/yourdomain.com/cert.pem (host/container) to see if they are resolving correctly?
I'm not sure how docker handles symlinks on bind mounted folders. Specially if there is a "renew"(lets encrypt) and the symlinks get updated.
Have you tried to restart the container, just to rule out this possibility (symlinks not update because of the renew)?
[]'s

all is good ...
maybe i'am going delete my certs and i make new ...

i don't understand this problem

Hello,
i use this:

docker exec -ti mailserver bash
hostname --fqdn

I see the result is not correct

lucy.lucy.xxxxxx.fr

i delete the container and all is good now.
why hostname is not good i don't know

authors: Moimemeici navossoc

repo: hardware/mailserver


text:
🛑 Borg Collection is down

In 4a3b23b, Borg Collection (https://fanlistings.nickifaulk.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Borg Collection is back up in b885117.

repo: harleykin/dotnetuptime


text:
DOC-2723: adding doc for terraform cli options and skip refresh

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
Epic Link: https://harness.atlassian.net/browse/CDS-50829
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

reviewed and revised.

repo: harness/developer-hub