Não é possível apagar a entrada de pesquisa de favorito

Quando preenchemos o campo de pesquisa de favoritos e enviamos a solicitação, não conseguimos excluir o conteúdo do campo.

Passos:

  1. Preencha o campo de pesquisa de favoritos
  2. Execute a pesquisa
  3. Tente excluir o conteúdo do campo pressionando backspace
  4. Ao chegar à primeira letra, o conteúdo do campo é redefinido para o valor da consulta atual

Vídeo:

3 curtidas

Eu também consigo reproduzir isso. Bom achado! :fishing_pole:

2 curtidas

Uau, isso é realmente estranho. Adicionei uma tag de prioridade a isso, alguém analisará nas próximas 4 semanas, mas se alguém se sentir à vontade para enviar um PR nesse ínterim, seja bem-vindo.

2 curtidas

Eu dei uma olhada; o problema está aqui:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/controllers/user-activity-bookmarks.js#L33

Veja o que acontece.

Quando você remove o último caractere, get é chamado. Neste ponto, _searchTerm está vazio.
No entanto, this._searchTerm || this.q tratará a string vazia como falsy, e o valor de q é exibido em vez disso.

Uma correção rápida poderia ser verificar desta forma:

return this._searchTerm !== undefined ? this._searchTerm : this.q;

Nota: o valor inicial de _searchTerm é undefined.
Nota: por causa de computed("q"), o problema não acontece quando você seleciona/exclui (provavelmente porque o tempo é muito apertado para invalidar o cache?)


Eu queria fazer um PR, mas..

os testes principais (sem modificação) falham por algum motivo.
Estou usando bin/rspec spec/system/user_activity_bookmarks_spec.rb.
O log diz que a busca não está presente ou os favoritos não são criados.
Estou perdendo alguma coisa?

Logs

(base) arkshine@HOME:~/discourse$ bin/rspec spec/system/user_activity_bookmarks_spec.rb

Randomized with seed 38172
unknown OID 931304: failed to recognize type of ‘embeddings’. It will be treated as String.
FFF

Failures:

  1. User activity bookmarks can clear the query
    Failure/Error: super

    Capybara::ElementNotFound:
    Unable to find field “bookmark-search” that is not disabled

    ~~~~~ END JS LOGS ~~~~
    
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:24:in `fill_in_search'
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:14:in `search_for'
    # ./spec/system/user_activity_bookmarks_spec.rb:51:in `block (2 levels) in <main>'
    
    
  2. User activity bookmarks can filter the list of bookmarks
    Failure/Error: super

    Capybara::ElementNotFound:
    Unable to find field “bookmark-search” that is not disabled

    ~~~~~ END JS LOGS ~~~~
    
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:24:in `fill_in_search'
    # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:14:in `search_for'
    # ./spec/system/user_activity_bookmarks_spec.rb:44:in `block (2 levels) in <main>'
    
    
  3. User activity bookmarks can filter the list of bookmarks from the URL
    Failure/Error: expect(user_activity_bookmarks).to have_topic(bookmark_1.bookmarkable.topic)
    expected #PageObjects::Pages::UserActivityBookmarks:0x00007f51dcb37b00.has_topic?(#<Topic id: 699, title: “This is a test topic 0”, last_posted_at: nil, created_at: "2025-03-19 04:35:…oad_id: nil, slow_mode_seconds: 0, bannered_until: nil, external_id: nil, visibility_reason_id: nil>) to be truthy, got false

    ~~~~~ END JS LOGS ~~~~
    
    # ./spec/system/user_activity_bookmarks_spec.rb:40:in `block (2 levels) in <main>'
    
    

Finished in 21.7 seconds (files took 3.8 seconds to load)
3 examples, 3 failures

Failed examples:

rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # User activity bookmarks can clear the query
rspec ./spec/system/user_activity_bookmarks_spec.rb:43 # User activity bookmarks can filter the list of bookmarks
rspec ./spec/system/user_activity_bookmarks_spec.rb:36 # User activity bookmarks can filter the list of bookmarks from the URL

4 curtidas

Você precisará executar bin/ember-cli em segundo plano ou executar bin/ember-cli --build antes que suas alterações em JS estejam disponíveis para o processo de teste do sistema.

2 curtidas

(isso provavelmente deveria ser movido para um tópico de desenvolvimento).

Alan, eu tenho bin/ember-cli rodando (também tentei bin/ember-cli --build).

Estou fazendo algo errado? :thinking:

1 curtida

Você pode, por favor, enviar suas alterações para um branch no GitHub? Posso ajudar a verificar o que pode estar errado.

2 curtidas

Fiz o PR:

Meu problema é que esses testes padrão falham, mesmo sem alterações locais.
Especificamente, para marcadores fabricados, eles parecem não estar disponíveis. Parece que algo não está sendo carregado/escrito corretamente.

No PR, adicionei um pequeno teste que não depende de um marcador fabricado, então ele funciona localmente.

3 curtidas

5 posts foram divididos em um novo tópico: Tendo problemas para executar testes no meu sistema WSL2

A correção foi mesclada e o bug foi corrigido, obrigado! :rocket:

1 curtida