discourse/lib/service
Loïc Guitaut a4d34d60e3 DEV: Make Ruby services thread-safe
A previous refactor of the `Service::Base::Step` class introduced a
non thread-safe behavior. `#call` mutates instance variables at runtime,
and since a step instance is the same for any given service class, this
can sometimes lead to `context` being the wrong one for the running
service.

This patch makes use of `Concurrent::ThreadLocalVar` to fix the issue.
2025-02-11 11:18:42 +01:00
..
action_base.rb DEV: Introduce a Service::ActionBase class for service actions 2024-09-18 17:02:46 +02:00
base.rb DEV: Make Ruby services thread-safe 2025-02-11 11:18:42 +01:00
contract_base.rb DEV: Remove hash-like access from service contracts 2024-10-29 16:02:51 +01:00
options_base.rb DEV: Provide user input to services using params key 2024-10-25 09:57:59 +02:00
policy_base.rb DEV: Introduce a Service::ActionBase class for service actions 2024-09-18 17:02:46 +02:00
runner.rb DEV: Follow-up to the lock step for services 2025-02-06 11:38:15 +01:00
steps_inspector.rb DEV: Follow-up to the lock step for services 2025-02-06 11:38:15 +01:00