Locations Plugin ๐ŸŒ

:+1:t2:

4๊ฐœ์˜ ์ข‹์•„์š”

์ด๊ฒƒ์„ ํŒŒ์•…ํ•˜์…จ๋‚˜์š”?

1๊ฐœ์˜ ์ข‹์•„์š”

User Card ๊ธฐ๋ฐ˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ User Card์˜ Ember ํ”Œ๋Ÿฌ๊ทธ์ธ ์•„์›ƒ๋ ›์„ ๊นจ๋œจ๋ฆฝ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ ์†Œ์œ ์ž์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”

์‚ฌ์šฉ์ž ๊ฒŒ์‹œ๊ธ€ ์•„๋ž˜์— ์‚ฌ์šฉ์ž ์œ„์น˜๋ฅผ ํ‘œ์‹œํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋‚˜์š”?

์‚ฌ์šฉ์ž ๊ฒŒ์‹œ๊ธ€? ์•„๋‹ˆ๋ฉด ์‚ฌ์šฉ์ž ์นด๋“œ?

๊ฒŒ์‹œ๋ฌผ์€ ๊ดœ์ฐฎ๊ณ , ์นด๋“œ๋Š” ๊ดœ์ฐฎ์ง€ ์•Š์•„๋„ ๋˜๋Š”๋ฐ, ๊ฐ€๋Šฅํ• ๊นŒ์š”?

2๊ฐœ์˜ ์ข‹์•„์š”

์•„๋‹ˆ์š”, ํ˜„์žฌ๋Š” ์ฃผ์ œ(Topic) ์ˆ˜์ค€๊ณผ ์‚ฌ์šฉ์ž(User) ์œ„์น˜๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์•„๋‹ˆ, ๊ทธ๊ฑด ์ข€ ์œ ๊ฐ์ด์—์š”! ์ €ํฌ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์–ด๋””์„œ ๊ฒŒ์‹œ๋ฌผ์„ ์˜ฌ๋ฆฌ๋Š”์ง€ ์•„๋Š” ๋ฐ ํฐ ๊ด€์‹ฌ์ด ์žˆ์–ด์š”.

์‚ฌ์šฉ์ž ์นด๋“œ์—๋„ ์ ์šฉ์ด ์•ˆ ๋˜๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ, ์‚ฌ์šฉ์ž ์นด๋“œ ์ชฝ์€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋‚˜์š”?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

1๊ฐœ์˜ ์ข‹์•„์š”

์ด ๊ธฐ๋Šฅ์€ ์ž๋™ํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์ผ๋ถ€๋Ÿฌ ํ”„๋ผ์ด๋ฒ„์‹œ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค). ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœํ•„์—์„œ ์ž์‹ ์˜ ์œ„์น˜๋ฅผ ์ง์ ‘ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์œ„์น˜๋ฅผ ์„ ํƒํ• ์ง€, ๋”ฐ๋ผ์„œ ์–ด๋””์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ์ง€๋Š” ์ „์ ์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ํŒ๋‹จ์— ๋งก๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ์ •๊ตํ•œ ๊ธฐ๋Šฅ์„ ์›ํ•˜์‹ ๋‹ค๋ฉด, ํ•ด๋‹น #marketplace๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ž๊ธˆ ์ง€์› ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”

๋„ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋ถ€๋ถ„์„ ํ•œ๋ฒˆ ๊ฒ€ํ† ํ•ด ๋ณด๊ณ  ๋‹ค์‹œ ์—ฐ๋ฝ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž๊ธˆ์ด ์ง€์›๋œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์•„๋ž˜์— ์‚ฌ์šฉ์ž ์œ„์น˜๋ฅผ ํ‘œ์‹œํ•ด ์ฃผ์‹ค ์ˆ˜ ์žˆ์„๊นŒ์š”?

2๊ฐœ์˜ ์ข‹์•„์š”

๊ทธ๋Ÿผ ์ด Locations ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด Follow ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‚˜ User Card Directory TC๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋œป์ด๋„ค์š”? ์ข€ ์•„์‰ฌ์šด๋ฐ์š”, ์„ธ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์•˜์„ ํ…๋ฐ ๋ง์ด์ฃ . ๋ฌธ์ œ๊ฐ€ ๋ญ”๊ฐ€์š”? ์™œ Locations ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๊ทธ๋“ค๊ณผ ์ถฉ๋Œํ•˜๋Š” ๊ฑด๊ฐ€์š”?

2๊ฐœ์˜ ์ข‹์•„์š”

์ œ๊ฐ€ ์•„๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ๋Š” User Card ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ํ•ด๋‹น๋˜์ง€๋งŒ, ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ  ์‹ค์ œ๋กœ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ชจ๋†€๋ฆฌ์‹ ํ…œํ”Œ๋ฆฟ์„ ์˜ค๋ฒ„๋ผ์ด๋“œํ•œ ํ›„ ํ”Œ๋Ÿฌ๊ทธ์ธ ์•„์›ƒ๋ ›์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋Œ€ํ˜• ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋ฐœ์‚ฌ(์ €ํฌ์™€ Discourse)๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š๋„๋ก ๋งค์šฐ ์ฃผ์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

3๊ฐœ์˜ ์ข‹์•„์š”

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊ณต์‹ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ์ด ์žˆ๋‚˜์š”?

1๊ฐœ์˜ ์ข‹์•„์š”

์•ˆ๋…•ํ•˜์„ธ์š”,
์ตœ๊ทผ ์—…๋ฐ์ดํŠธ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Comparing 83a6ad32...fc0da499 ยท discourse/discourse ยท GitHub
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! :slight_smile:

3๊ฐœ์˜ ์ข‹์•„์š”

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ณด๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋„ค, ์ด๊ฑด ์ข€ ํŠน์ดํ•œ ์ผ€์ด์Šค์ธ๋ฐ, ์‚ฌ์‹ค Locations์˜ ๋ฌธ์ œ๋ผ๊ณ  ํ™•์‹ ํ•˜์ง€ ๋ชปํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค(๋ฌผ๋ก  ์šฐ๋ฆฌ๊ฐ€ ์ž˜๋ชป๋œ ๊ด€ํ–‰์„ ๋”ฐ๋ฅด๊ณ  ์žˆ๋Š” ๊ฑด ์•„๋‹Œ์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š”?!) .

ํ”Œ๋Ÿฌ๊ทธ์ธ ์ดˆ๊ธฐํ™” ๊ณผ์ •์—์„œ Discourse ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋ชจ๋ธ(์‹ค์ œ๋กœ๋Š” Serializer)๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ผ๊ด€์„ฑ ์—†๋Š” ์ƒํƒœ๊ฐ€ ๋˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์ •๋ง ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค:

  1. app.yml์—์„œ Locations๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  2. ๋‹ค์‹œ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค(ํ•ต์‹ฌ ๋‹จ๊ณ„๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ž…๋‹ˆ๋‹ค. ๊ทธ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด โ€ฆ) < โ€“ ์—ฌ๊ธฐ์„œ ๋ง‰ํ˜€ ๊ณ„์‹  ๊ฑด ์•„๋‹Œ๊ฐ€์š”?
  3. app.yml์— Locations๋ฅผ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋‹ค์‹œ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

:tada:

3๊ฐœ์˜ ์ข‹์•„์š”

๋กœ๋ฒ„ํŠธ๋‹˜, ์•ˆ๋…•ํ•˜์„ธ์š”.

์ •๋ง ํ›Œ๋ฅญํ•ด์š” :heart_eyes: Locations ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ฃผ์„ ํ•ด์ œํ–ˆ๊ณ , ๋ฆฌ๋นŒ๋“œ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์•„์ฃผ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ๋„์›€ ์ฃผ์…”์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :slight_smile:

2๊ฐœ์˜ ์ข‹์•„์š”

๋กœ๋ฒ„ํŠธ๋‹˜,

์ตœ๊ทผ ์—…๋ฐ์ดํŠธ๊ฐ€ Locations ํŽ˜์ด์ง€์˜ /u/user-map?period=location ๋ผ์šฐํŠธ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ˜น์‹œ ์ด ์ปค๋ฐ‹ ๋•Œ๋ฌธ์ผ๊นŒ์š”? FIX: Always serialize the correct attributes for DirectoryItems (#13510) ยท discourse/discourse@60a7673 ยท GitHub

๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†”๊ณผ ๋กœ๊ทธ์—๋„ ์ผ๋ถ€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ •๋ณด

NoMethodError (undefined method `each' for 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'

๋ฐฑํŠธ๋ ˆ์ด์Šค

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>'

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! :slight_smile:

3๊ฐœ์˜ ์ข‹์•„์š”

๋ฆฌํฌํŠธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Pavilion ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉ ์ค‘์ธ ๊ฒฝ์šฐ, ๊นจ์ง„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(Breaking Changes)์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•ญ์ƒ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ด ์•„๋‹ˆ๋ฏ€๋กœ, ์ง€์› ๊ธฐ๊ฐ„ ๋ฐ–์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ”ผํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•  ๋•Œ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

3๊ฐœ์˜ ์ข‹์•„์š”

@Don ๋„ค, ์˜ค๋Š˜ ์‹œ๊ฐ„์„ ๋‚ด์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ ๋ฃŒ ์ž‘์—… ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ์ข€ ๊ธ‰ํ•ด์„œ ์ด ๋ฌธ์ œ๋ฅผ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒŒ ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ฑฐ๋“ ์š” :sweat_smile:

์†”์งํžˆ ๋ง์”€๋“œ๋ฆฌ๋ฉด, ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์ด ๊ฝค ๋‚œํ•ดํ–ˆ๊ฑฐ๋“ ์š”! :sweat_smile:

๊ฒฐ๊ณผ๋Š” ์ด๋ ‡์Šต๋‹ˆ๋‹ค: COMPATIBILITY: fix for recent major changes to user directory code ยท merefield/discourse-locations@8a16b16 ยท GitHub

๋ถ€์ˆ˜์ ์œผ๋กœ, ์ง๋ ฌํ™”ํ•  ๋ฐ์ดํ„ฐ ์–‘์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ๋””์ž์ธ์„ ํ™œ์šฉํ•˜๋Š” ์ถ”๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋„ฃ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „๋ณด๋‹ค ์•ฝ๊ฐ„ ๋” ๋น ๋ฅผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค: cut down unnecessary data ยท merefield/discourse-locations@66d0120 ยท GitHub

@markvanlan ์ฐธ๊ณ ํ•˜์„ธ์š”.

5๊ฐœ์˜ ์ข‹์•„์š”

๋กœ๋ฒ„ํŠธ๋‹˜,
์ •๋ง ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ๋‚ด์–ด ์ž‘์—…ํ•ด ์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :heart:
๋ฐฉ๊ธˆ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•ด ๋ดค๋Š”๋ฐโ€ฆ ๋ชจ๋“  ๊ฒƒ์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! :slight_smile:

5๊ฐœ์˜ ์ข‹์•„์š”