Plugin Locations 🌍

:+1:t2:

4 curtidas

Você conseguiu resolver isso?

1 curtida

O diretório baseado em User Card quebra a saída do plugin Ember no User Card. Você precisa abrir um chamado com o proprietário desse componente.

1 curtida

Estou apenas tentando exibir a localização do usuário abaixo das postagens dele. Isso está funcionando?

Postagens de usuário? Ou Cartões de usuário?

Posts, não me importo com cards, é possível?

2 curtidas

Não, atualmente suportamos apenas níveis de tópico e localizações de usuário.

Ok, que pena! Minha comunidade tem muito interesse em saber de onde as pessoas estão postando.

Não consigo fazer funcionar nos cartões de usuário também, está funcionando corretamente?

Obrigado

1 curtida

Não é automatizado (parcialmente por questões de privacidade). O usuário deve definir explicitamente sua localização no perfil. Ele tem discricionariedade sobre qual localização será escolhida e, portanto, onde aparecerá.

Se você deseja algo mais elaborado, provavelmente estaremos falando de um projeto financiado para implementar isso Marketplace

1 curtida

Ok, obrigado. Vou pensar sobre isso e te retorno. Você seria capaz de exibir a localização (do usuário) abaixo do nome de usuário nas postagens de um projeto financiado?

2 curtidas

Então, se eu usar esse plugin de Localização, não terei o plugin Follow nem o TC User Card Directory, certo? Que pena, seria ótimo poder usar os três. Qual é o problema? Por que o plugin de Localização entra em conflito com eles?

2 curtidas

Este é o único diretório de cartões de usuário do qual tenho conhecimento, mas incompatibilidades podem e ocorrem.

Por exemplo: alguém pode substituir um modelo monolítico e esquecer de manter uma saída de plugin. Não podemos nos proteger contra alguém fazendo isso. Embora os grandes criadores de plugins (nós, o Discourse) geralmente sejam muito cuidadosos para não fazer isso.

3 curtidas

Existem esforços para tornar este plugin oficial?

1 curtida

Olá,
Há um problema com a última atualização. Comparing 83a6ad32...fc0da499 · discourse/discourse · GitHub
Obrigado! :slight_smile:

3 curtidas

Ei, obrigado pelo relatório.

Sim, esse é um caso estranho, e na verdade não estou totalmente convencido de que é culpa do Locations (embora talvez estejamos seguindo uma prática ruim?!).

Parece que, durante a inicialização do plugin, uma migração do Discourse estava deixando o modelo (na verdade, o Serializer) e o banco de dados em um estado inconsistente.

A solução é bem simples:

  1. Remova o Locations do app.yml
  2. Reconstrua (o passo crucial é a migração do banco de dados. Uma vez que isso for feito…) < – suspeito que você esteja aqui?
  3. Adicione o Locations de volta ao app.yml
  4. Reconstrua.

:tada:

3 curtidas

Olá Robert,

Excelente :heart_eyes: Obrigado! Descomentei o plugin de Localizações e a reconstrução foi bem-sucedida. Parece que tudo está funcionando perfeitamente. Obrigado novamente pela ajuda rápida :slight_smile:

2 curtidas

Oi Robert,

Infelizmente, a última atualização parece estar bloqueando a rota da Página de Localizações /u/user-map?period=location. Será que é este commit? FIX: Always serialize the correct attributes for DirectoryItems (#13510) · discourse/discourse@60a7673 · GitHub

Há alguns erros no console do navegador e nos logs também.

informações

NoMethodError (método `each` não definido para nil:NilClass)
app/serializers/directory_item_serializer.rb:41:in `attributes'
app/controllers/application_controller.rb:494:in `serialize_data'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'

rastreamento

app/serializers/directory_item_serializer.rb:41:in `attributes'

active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'

active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:89:in `block in _serializable_array'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `map'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `_serializable_array'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:73:in `serializable_array'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:53:in `as_json'

app/controllers/application_controller.rb:494:in `serialize_data'

plugins/discourse-locations/lib/users_map.rb:15:in `index'

actionpack (6.1.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack (6.1.3.2) lib/abstract_controller/base.rb:228:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'

actionpack (6.1.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:117:in `block in run_callbacks'

app/controllers/application_controller.rb:397:in `block in with_resolved_locale'

i18n (1.8.10) lib/i18n.rb:314:in `with_locale'

app/controllers/application_controller.rb:397:in `with_resolved_locale'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:126:in `block in run_callbacks'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:137:in `run_callbacks'

actionpack (6.1.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'

activesupport (6.1.3.2) lib/active_support/notifications.rb:203:in `block in instrument'

activesupport (6.1.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport (6.1.3.2) lib/active_support/notifications.rb:203:in `instrument'

actionpack (6.1.3.2) lib/action_controller/metal/instrumentation.rb:33:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'

activerecord (6.1.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack (6.1.3.2) lib/abstract_controller/base.rb:165:in `process'

actionview (6.1.3.2) lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler (2.3.2) lib/mini_profiler/profiling_methods.rb:111:in `block in profile_method'

actionpack (6.1.3.2) lib/action_controller/metal.rb:190:in `dispatch'

actionpack (6.1.3.2) lib/action_controller/metal.rb:254:in `dispatch'

actionpack (6.1.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'

actionpack (6.1.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'

actionpack (6.1.3.2) lib/action_dispatch/journey/router.rb:50:in `block in serve'

actionpack (6.1.3.2) lib/action_dispatch/journey/router.rb:32:in `each'

actionpack (6.1.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack (6.1.3.2) lib/action_dispatch/routing/route_set.rb:842:in `call'

lib/middleware/omniauth_bypass_middleware.rb:71:in `call'

rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'

rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'

rack (2.2.3) lib/rack/head.rb:12:in `call'

actionpack (6.1.3.2) lib/action_dispatch/http/permissions_policy.rb:22:in `call'

lib/content_security_policy/middleware.rb:12:in `call'

lib/middleware/anonymous_cache.rb:355:in `call'

config/initializers/008-rack-cors.rb:25:in `call'

rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'

rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/cookies.rb:689:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:98:in `run_callbacks'

actionpack (6.1.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'

logster (2.9.6) lib/logster/middleware/reporter.rb:43:in `call'

railties (6.1.3.2) lib/rails/rack/logger.rb:37:in `call_app'

railties (6.1.3.2) lib/rails/rack/logger.rb:28:in `call'

config/initializers/100-quiet_logger.rb:23:in `call'

config/initializers/100-silence_logger.rb:31:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/request_id.rb:26:in `call'

lib/middleware/enforce_hostname.rb:23:in `call'

rack (2.2.3) lib/rack/method_override.rb:24:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'

rack (2.2.3) lib/rack/sendfile.rb:110:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/host_authorization.rb:92:in `call'

rack-mini-profiler (2.3.2) lib/mini_profiler/profiler.rb:384:in `call'

message_bus (3.3.6) lib/message_bus/rack/middleware.rb:61:in `call'

lib/middleware/request_tracker.rb:177:in `call'

railties (6.1.3.2) lib/rails/engine.rb:539:in `call'

railties (6.1.3.2) lib/rails/railtie.rb:207:in `public_send'

railties (6.1.3.2) lib/rails/railtie.rb:207:in `method_missing'

rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'

rack (2.2.3) lib/rack/urlmap.rb:58:in `each'

rack (2.2.3) lib/rack/urlmap.rb:58:in `call'

unicorn (6.0.0) lib/unicorn/http_server.rb:634:in `process_client'

unicorn (6.0.0) lib/unicorn/http_server.rb:732:in `worker_loop'

unicorn (6.0.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'

unicorn (6.0.0) lib/unicorn/http_server.rb:143:in `start'

unicorn (6.0.0) bin/unicorn:128:in `<top (required)>'

vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `load'

vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `<main>'

Obrigado! :slight_smile:

3 curtidas

Obrigado pelo relatório. Se estiver usando plugins do Pavilion, evite atualizar fora do nosso período de suporte, pois nem sempre podemos estar disponíveis para resolver alterações disruptivas. Vou dar uma olhada assim que puder.

3 curtidas

@Don OK, tirei um tempo hoje para corrigir isso, pois estou realmente sob pressão com alguns trabalhos remunerados, então achei melhor deixar isso resolvido :sweat_smile:

Levei um tempo, não tenho vergonha de admitir, essas mudanças foram bastante cripticas! :sweat_smile:

O resultado é este: COMPATIBILITY: fix for recent major changes to user directory code · merefield/discourse-locations@8a16b16 · GitHub

É possível que isso possa ser ligeiramente mais rápido do que antes como benefício adicional, pois adicionei essa outra mudança para aproveitar o novo design e reduzir a quantidade de dados serializados: cut down unnecessary data · merefield/discourse-locations@66d0120 · GitHub

@markvanlan FYI

5 curtidas

Oi, Robert,
Agradeço muito. Muito obrigado pelo seu trabalho e tempo. :heart:
Acabei de atualizar e testar… tudo funciona perfeitamente! :slight_smile:

5 curtidas