Estava criando um plugin e encontrei o seguinte erro:
Error: Can't hydrate plugin without an `id`
at Class._hydrate (discourse/models/store:330)
at eval (discourse/models/store:222)
at Array.map (<anonymous>)
at Class._resultSet (discourse/models/store:221)
at eval (discourse/models/store:80)
at tryCatcher (ember:61303)
at invokeCallback (ember:61476)
at publish (ember:61462)
at eval (ember:55822)
at invoke (ember:54023)
Gostaria de saber se alguém poderia me dizer a qual ID essa mensagem se refere?
O erro só aparece no console quando navego para /admin e depois para a página de plugins.
Quais outras informações são necessárias para depurar esse erro?
Descobrimos o problema. Se navegarmos até /admin/plugins.json, podemos ver que o ID do plugin, que normalmente é preenchido pelo nome do plugin, não estava definido.
Acontece que esses campos são preenchidos ao incluir uma seção de comentários no arquivo plugin.rb… então a correção foi adicionar isso:
# frozen_string_literal: true
# name: example
# about: exemplo de descrição
# version: 1.0
# authors: exemplo
# url: exemplo
Acho que, se você vai exigir comentários em um arquivo, isso deveria estar bem documentado em algum lugar… então vou deixar essa solução aqui.