Problema ao adicionar anexos dentro de células de tabela

Olá,

parece que não é mais possível adicionar anexos dentro de tabelas. Alguma ideia de como corrigir isso?

Exemplo

Nome Arquivo
bla bla
[bla.docx
| Nome | Arquivo | 
| --- | --- | 
| bla | bla |
| | [bla.docx|attachment](upload://hu8jvVTNiCjzn5XmxXRnhUaRINy.docx) (22,4 KB) | 

Isso ocorre por causa do separador “|” entre o nome do arquivo e o nome da função attachment.

Eu realmente preciso disso para manter as coisas limpas e organizadas.

Não tenho certeza se há uma correção a ser feita para evitar isso, mas se você escapar do pipe com \, funcionará.

Nome Arquivo
bla bla
bla.docx (22,4 KB)
| Nome | Arquivo | 
| --- | --- | 
| bla | bla |
| | [bla.docx\|attachment](upload://hu8jvVTNiCjzn5XmxXRnhUaRINy.docx) (22,4 KB) | 
6 curtidas

Prefiro a maneira antiga de adicionar anexos. Seria ótimo se alguma configuração do Discourse me permitisse escolher o esquema.

Não estou entendendo nada do que você está propondo aqui?

O esquema de sintaxe foi alterado recentemente. No entanto, o antigo ainda é válido. E estou sugerindo dar ao administrador a capacidade de escolher qual sintaxe (antiga ou nova) será fornecida aos usuários por padrão.

Não gosto da solução alternativa com pipe. Ela não é autoexplicativa e ainda entra em conflito com as tabelas Markdown de modo geral.

Se vocês acham que não há necessidade de tal compatibilidade com versões anteriores, então, pelo menos, devem pensar em algum mecanismo de autocompletar para capturar esse tipo de comportamento dentro das tabelas.

Abraços

Não está em pauta oferecer alguma configuração ou plugin que altere a especificação de anexos usando HTML em vez de Markdown. Você precisaria ir até o canal Marketplace. O formato antigo causa diversos problemas de portabilidade com uploads.

Não sou contra corrigir esse caso específico de alguma forma, mas é bastante difícil determinar se você está em uma tabela ou não com base na posição do cursor, então corrigir isso magicamente não é fácil.

4 curtidas

Por exemplo?

Qual foi a intenção de mudar o formato sem fornecer nenhuma tarefa rake ou algo semelhante? (Para atualizar o código antigo…)

Várias vezes, o formato de sintaxe mudou marginalmente, mas com um grande efeito sobre todo o conteúdo… por exemplo, com espaços faltando entre os hashtags de seção e seus nomes, ou entre citações > e o texto. Especialmente em vários níveis. É um caos tentar corrigir essas mudanças manualmente para centenas de posts de um único administrador. Acredite em mim. Gostaria de ser consultado, como administrador, se devo seguir com você ou manter o formato de sintaxe atual.

Na minha opinião, deveria ser a prioridade número 1 garantir que cada mudança de formato não afete a usabilidade da funcionalidade principal.

Não tenho um conhecimento mais profundo sobre o problema da posição do cursor. Acredito em você. Mas deveria ser possível, pois o editor parece saber onde uma tabela começa e termina. Enquanto você for capaz de determinar o cursor em qualquer lugar entre esses pontos, você poderia adicionar um pipe automaticamente para uploads. Não é mesmo?

Existe uma tarefa rake, chamada:

rake posts:inline_uploads

Você só deve executar essa tarefa se tiver enfrentado problemas com uploads no passado ou estiver migrando o armazenamento de local para S3.

100% dos nossos sites hospedados usam inline, pois isso torna os uploads menos frágeis.

Sinto que há um pouco de tempestade em torno de algo que é essencialmente um caso de borda.

A grande maioria das postagens por aí contém 0 tabelas. Das raras postagens que realmente contêm tabelas, a grande maioria não inclui uploads.

Acho que poderíamos suportar algo como isso em vez da barra, que é resistente a tabelas:

[bla.docx¦attachment](upload://hu8jvVTNiCjzn5XmxXRnhUaRINy.docx)

Preciso de um pouco de tempo para pensar sobre isso… não vou apressar nenhuma mudança aqui.

8 curtidas

A barra de escape está ok. Se você está fazendo algo tão avançado, escapar uma barra não é grande coisa.

6 curtidas

Organizar arquivos em ordem é algo avançado? :thinking:

Estou apenas me perguntando por que não consigo mudar o formato para o estilo antigo. A maioria dos anexos adicionados anteriormente ainda está incluída dessa forma e tudo parece estar funcionando perfeitamente.

Atualizações do Discourse estão quebrando repetidamente funcionalidades essenciais. E não há nenhum aviso adicional sobre conflitos.

Eu realmente gosto do desenvolvimento ágil e do gerenciador de atualizações do Docker. Mas esse tipo de gerenciamento de versões me deixa louco repetidamente.

Até as pequenas coisas importam.

Há alguma chance de conseguirmos que a ferramenta de upload adicione automaticamente o caractere de escape ao fazer upload de um arquivo que será usado em uma tabela? Levei cerca de 20 minutos para descobrir o que estava causando a bagunça na minha tabela e/ou upload em um artigo de tabela que tínhamos.

Acho que um usuário não técnico teria desistido.

2 curtidas

Muito complicado fazer isso com precisão, nosso motor de markdown só faz mapeamento reverso por linha, então precisaríamos de um monte de lógica especial.

Se o PR para isso for pequeno o suficiente, eu estaria aberto a uma melhoria aqui.

3 curtidas