Desativar download de mídia em onebox

Olá, vi que há uma opção para desativar o download de áudio:

caudio controls #{@options[:disable_media_download_controls] ? 'controlslist="nodownload"' : ""}

em onebox/lib/onebox/engine/audio_onebox.rb at main · discourse/onebox · GitHub

e

disable_media_download_controls: SiteSetting.disable_onebox_media_download_controls,

em discourse/lib/oneboxer.rb at 03998e0a299b7ae89678e2854e3abf84bd6ef132 · discourse/discourse · GitHub

Então tentei escrever usando

./launcher enter app
rails c
SiteSetting.disable_onebox_media_download_controls=true

e também aqui

vi containers/app.yml
em params:
disable_media_download_controls: true
disable_onebox_media_download_controls: true
em env:
DISCOURSE_DISABLE_ONEBOX_MEDIA_DOWNLOAD_CONTROLS: true

mas o áudio ainda pode ser baixado através da opção “download” do onebox. Alguém pode ajudar? Muito obrigado.

1 curtida

Eu não sei, mas como se deve ouvir áudio se o download estiver desativado?

há uma opção de download se você clicar nos três pontos no final: veja a imagem desta postagem:

O que eu quero é que a opção de download explícita seja oculta/desativada, enquanto as pessoas ainda podem usá-la para ouvir o áudio.

Ainda não entendi. O Discourse não pode transmitir, então o arquivo de áudio deve ser baixado para ser ouvido. Ou estou totalmente enganado?

Ou você aceita o download quando um usuário não sabe que está baixando porque o dispositivo dele não pergunta onde deve salvar?

No entanto, esse áudio pode ser salvo de qualquer maneira gravando :wink:

Desculpe — não ajudo em nada, mas gostaria de entender o porquê, o quê, onde e tudo mais :rofl:

Meu ponto fraco é que esse tipo de tentativa de desativação raramente é bem-sucedida, ou necessária. Mas tudo bem se for possível.

1 curtida

se você permitir a opção de download explícito, o conteúdo de áudio/vídeo poderá ser armazenado/usado/comercializado em outro lugar, onde essa propriedade intelectual pode não ser devidamente autorizada. Portanto, provavelmente é sensato desativar a opção de download explícito por padrão.

Você pode me aconselhar como conseguir isso no nível de configuração/código. obrigado.

Não é algo que eu tenha usado, mas algo neste tópico pode ajudar?

1 curtida

No que diz respeito ao próprio site (usando discourse), é importante evitar qualquer problema futuro relacionado a IP. Mesmo que o autor use um TC ou algum tipo de tema, qualquer infração de IP pode tornar o site responsável por danos potenciais, etc. Mesmo que o site pareça não ter nada a ver com isso, apenas por atuar como um canal de troca, algum advogado pode ter outros pensamentos.

Portanto, desabilitar a opção de download explícito seria bastante útil, pois você não veria tal opção na maioria dos grandes sites como o YouTube. Alguém pode ajudar com o código/configuração para que isso aconteça, por favor.

1 curtida

Depois disso, você precisará refazer ou editar a postagem com o áudio local. Você já tentou isso?

1 curtida

como refazer ou editar a postagem?

Clique no botão \u003ckbd\u003e…\u003c/kbd\u003e, em seguida no botão :wrench: e por fim em "Rebuild HTML"

“Reconstruir HTML” concluído, mas ainda há a opção “Baixar”.

Vamos testar isto:

![614107_11861866-lq|audio](upload://jq0kR3R4YPrn1kM48EL33oVgjT8.mp3)

https://d11a6trkgmumsb.cloudfront.net/original/3X/8/8/8819dba2a51ca9f987e93d64dfe823161141d0f6.mp3

o segundo funciona (sem opção de download), mas o primeiro ainda tem.

Ah, entendi, a configuração do site afeta apenas o onebox, então apenas o segundo tipo de áudio, não o primeiro, porque tecnicamente não é um onebox.

O que mais precisa ser feito para que o primeiro caso funcione?

1 curtida

Se você quiser mergulhar no código, ele vem de

Você precisará receber a configuração do site nesse contexto de alguma forma e lidar com ela.

2 curtidas

Como uma correção rápida e difícil, tentei:

./launcher enter app
vi app/assets/javascripts/pretty-text/addon/discourse-markdown-it.js

e anexei

controlsList="nodownload"

a

<audio preload="metadata" controls>

e

./launcher restart app

mas ainda tenho a opção de Download. Devo reconstruir o aplicativo?

Isso não funcionaria, pois o JS é compilado pelo nosso pipeline de assets bastante complicado.

Se você quiser uma solução rápida e improvisada, um componente de tema que escute nosso callback decoratedCooked e altere o elemento audio é a sua melhor aposta. Você pode aprender sobre isso no Guia do desenvolvedor para temas do Discourse.

1 curtida