Solución:
El “Brave” en el agente de usuario se eliminó en la versión 0.9.
Desde el registro de cambios:
Se eliminó Brave del encabezado HTTP del agente de usuario para reducir las huellas digitales.
A partir de abril de 2020, puede usar este método de detección para obtener una respuesta booleana sobre si el usuario está usando Brave o no:
(navigator.brave && await navigator.brave.isBrave() || false)
Brave aparece tiene algunos objetos diferentes en el objeto de la ventana. No estoy seguro de cuán contiguos son estos en las versiones de Brave, pero noté dos en el objeto window.navigator que están en blanco: plugins y mimeTypes. Dado que Brave está destinado a ser un navegador de privacidad, creo que es muy probable que permanezcan en blanco. Entonces mi cheque es verificar la longitud de esos.
Tenga en cuenta que también debe verificar si el navegador es el escritorio primero; no parece que puedas detectar el navegador Brave Mobile; y el siguiente código recogerá muchos navegadores móviles
var agent = navigator.userAgent.toLowerCase();
var isChrome = /chrome|crios/.test(agent) && ! /edge|opr//.test(agent);
var isBrave = isChrome && window.navigator.plugins.length === 0 && window.navigator.mimeTypes.length === 0;
if(isBrave)
console.log( isBrave );
Si busca DuckDuckGo para [what’s my user agent] volverán Valiente. Si abre los archivos JS adjuntos, encontrará una elaborada detección del navegador que puede detectar a Brave.