Zammad: Arquivos de texto anexados quebram "RAW" -Link se o último anexo na lista

Criado em 20 mar. 2019  ·  4Comentários  ·  Fonte: zammad/zammad

Infos:

  • Versão Zammad usada: 2.9
  • Método de instalação (fonte, pacote, ..): qualquer
  • Sistema operacional: qualquer
  • Banco de dados + versão: qualquer
  • Versão do Elasticsearch: qualquer
  • Versão do navegador +: versões atuais do Microsoft Edge, Google Chrome e Mozilla Firefox.

    • Curiosamente, o Internet Explorer não se aplica e age de forma completamente diferente

  • ID do tíquete: # 1040542

Comportamento esperado:

  • Ao olhar os detalhes do artigo, você poderá baixar o arquivo eml original após clicar em "RAW".

Comportamento real:

  • Ao examinar os detalhes do artigo, você fará o download do último anexo anexado ao artigo, se sua extensão for "txt".

    • A ordem é importante! O último anexo dentro do artigo precisa ser um arquivo txt, não importa quais outros anexos você tenha naquele artigo.

Passos para reproduzir o comportamento:

  • Envie ou receba um e-mail com um arquivo de texto anexado
  • abra o tíquete no Zammad e tente baixar o RAW-EML

Captura de tela do problema:

image

Sim, tenho certeza que isso é um bug e nenhuma solicitação de recurso ou uma questão geral.

bug prioritised by payment ticket verified

Comentários muito úteis

Eu diria que nunca esteve lá em primeiro lugar: D

[email protected] ~ (develop) % git grep 'icon-file-text' $(git rev-list --all -- public/assets/images/icons.svg) -- public/assets/images/icons.svg   
[email protected] ~ (develop) % 

Uma comparação com outro ícone:

[email protected] ~ (develop) % git grep 'icon-file-archive' $(git rev-list --all -- public/assets/images/icons.svg) -- public/assets/images/icons.svg
e26db17d75866d4a04dea925d9ab840be5cbb5ed:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
80c7dec6246a3adb90eff7c0b3aef84ee463f7a0:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
0db8c28bd57b7cad7deb8d96e08c618dd34b8692:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
22b2f44ba02bfab05c6f9f4e4f56d089d9c339dd:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
b411cabe5b640208ac910bd523e4cce0d0274725:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
0445b4ee490376f1d3bd23883f2d08c0602d0b11:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
3186d5e4d763f8e367f8cf9d5c4eae918284bdbf:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
f4c50ae0fa23faa6ed4e461e2fc5202961b34598:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
690843fcf110bb56ff6ac07dd8ac9abdc27c08c8:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
7966bb3b16c2ce078e664636b3626ec47a831ce2:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
95e5eb57a8a067427d4aa1d51678036e28f497ba:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
b0597ad04d3e141dd2ba97addabdea2a73a875aa:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">

Ao lado do ícone ausente no próprio icons.svg , acredito que icon-file-text também esteja ausente em app/assets/stylesheets/svg-dimensions.css :

[email protected] ~ (develop) % git diff app/assets/stylesheets/svg-dimensions.css
diff --git a/app/assets/stylesheets/svg-dimensions.css b/app/assets/stylesheets/svg-dimensions.css
index 24e902dd3..f04d6dd70 100644
--- a/app/assets/stylesheets/svg-dimensions.css
+++ b/app/assets/stylesheets/svg-dimensions.css
@@ -31,6 +31,7 @@
 .icon-file-powerpoint { width: 24px; height: 31px; }
 .icon-file-unknown { width: 24px; height: 31px; }
 .icon-file-word { width: 24px; height: 31px; }
+.icon-file-text { width: 24px; height: 31px; }
 .icon-form { width: 17px; height: 17px; }
 .icon-forward { width: 16px; height: 17px; }
 .icon-full-logo { width: 175px; height: 50px; }

Achei que também seria útil fornecer, de alguma forma, um tamanho padrão para o, no caso de faltarem outras .icon-file-* definições que ainda não percebemos, mas não consigo descobrir como fazer isso em CSS para que os estilos .icon-file-* substituam o padrão Tamanho. Presumo que usar .icon para isso não seria aceitável porque isso se aplicaria a todos os ícones, não apenas ao ícone do arquivo.

.icon { width: 24px; height: 31px; }

Devemos adicionar uma nova classe CSS (por exemplo, .file-icon ) que define o tamanho padrão e, em seguida, definir a classe SVG para icon file-icon file-icon-* ?

Todos 4 comentários

Nós também tropeçamos nisso. A causa raiz parece ser um ícone quebrado - ele tenta exibir <svg class="icon icon-file-text "><use xlink:href="assets/images/icons.svg#icon-file-text"></use></svg> , mas icons.svg não contém realmente um icon-file-text . Isso faz com que o navegador exiba um SVG vazio, e o tamanho padrão de um SVG vazio é aparentemente 300x150 px:

https://svgwg.org/specs/integration/#svg -css-sizing

Se algum dos atributos de dimensionamento estiver ausente, resolva a largura do elemento 'svg' ausente para '300px' e a altura ausente para '150px' (usando o cálculo do tamanho dos elementos substituídos do CSS 2.1).

É fácil ver se você adicionar border: 1px solid; ao SVG nas ferramentas de desenvolvimento do navegador:

image

Muito obrigado por se aprofundar nisso @mrflix - você pode verificar para onde foi nosso ícone de texto? 🏖

Eu diria que nunca esteve lá em primeiro lugar: D

[email protected] ~ (develop) % git grep 'icon-file-text' $(git rev-list --all -- public/assets/images/icons.svg) -- public/assets/images/icons.svg   
[email protected] ~ (develop) % 

Uma comparação com outro ícone:

[email protected] ~ (develop) % git grep 'icon-file-archive' $(git rev-list --all -- public/assets/images/icons.svg) -- public/assets/images/icons.svg
e26db17d75866d4a04dea925d9ab840be5cbb5ed:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
80c7dec6246a3adb90eff7c0b3aef84ee463f7a0:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
0db8c28bd57b7cad7deb8d96e08c618dd34b8692:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
22b2f44ba02bfab05c6f9f4e4f56d089d9c339dd:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
b411cabe5b640208ac910bd523e4cce0d0274725:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
0445b4ee490376f1d3bd23883f2d08c0602d0b11:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
3186d5e4d763f8e367f8cf9d5c4eae918284bdbf:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
f4c50ae0fa23faa6ed4e461e2fc5202961b34598:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
690843fcf110bb56ff6ac07dd8ac9abdc27c08c8:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
7966bb3b16c2ce078e664636b3626ec47a831ce2:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
95e5eb57a8a067427d4aa1d51678036e28f497ba:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">
b0597ad04d3e141dd2ba97addabdea2a73a875aa:public/assets/images/icons.svg:</symbol><symbol id="icon-file-archive" viewBox="0 0 24 31">

Ao lado do ícone ausente no próprio icons.svg , acredito que icon-file-text também esteja ausente em app/assets/stylesheets/svg-dimensions.css :

[email protected] ~ (develop) % git diff app/assets/stylesheets/svg-dimensions.css
diff --git a/app/assets/stylesheets/svg-dimensions.css b/app/assets/stylesheets/svg-dimensions.css
index 24e902dd3..f04d6dd70 100644
--- a/app/assets/stylesheets/svg-dimensions.css
+++ b/app/assets/stylesheets/svg-dimensions.css
@@ -31,6 +31,7 @@
 .icon-file-powerpoint { width: 24px; height: 31px; }
 .icon-file-unknown { width: 24px; height: 31px; }
 .icon-file-word { width: 24px; height: 31px; }
+.icon-file-text { width: 24px; height: 31px; }
 .icon-form { width: 17px; height: 17px; }
 .icon-forward { width: 16px; height: 17px; }
 .icon-full-logo { width: 175px; height: 50px; }

Achei que também seria útil fornecer, de alguma forma, um tamanho padrão para o, no caso de faltarem outras .icon-file-* definições que ainda não percebemos, mas não consigo descobrir como fazer isso em CSS para que os estilos .icon-file-* substituam o padrão Tamanho. Presumo que usar .icon para isso não seria aceitável porque isso se aplicaria a todos os ícones, não apenas ao ícone do arquivo.

.icon { width: 24px; height: 31px; }

Devemos adicionar uma nova classe CSS (por exemplo, .file-icon ) que define o tamanho padrão e, em seguida, definir a classe SVG para icon file-icon file-icon-* ?

@martinvonwittich boas habilidades de comando git! Obrigado por investigar isso. O nome do ícone é mapeado em view_helpers.coffee, mas - como você avaliou corretamente - na verdade não existia.
Então, criei o ícone:
Image Pasted at 2019-5-31 17-25

Esta página foi útil?
0 / 5 - 0 avaliações