Previously we used custom fields to denote a user was anonymous, this was risky in that custom fields are prone to race conditions and are not properly dedicated, missing constraints and so on. The new table `anonymous_users` is properly protected. There is only one possible shadow account per user, which is enforced using a constraint. Every anonymous user will have a unique row in the new table. |
||
|---|---|---|
| .. | ||
| spam_rule | ||
| anonymous_shadow_creator.rb | ||
| badge_granter.rb | ||
| color_scheme_revisor.rb | ||
| destroy_task.rb | ||
| group_action_logger.rb | ||
| group_mentions_updater.rb | ||
| group_message.rb | ||
| handle_chunk_upload.rb | ||
| notification_emailer.rb | ||
| post_action_notifier.rb | ||
| post_alerter.rb | ||
| post_owner_changer.rb | ||
| push_notification_pusher.rb | ||
| random_topic_selector.rb | ||
| search_indexer.rb | ||
| site_settings_task.rb | ||
| staff_action_logger.rb | ||
| topic_status_updater.rb | ||
| topic_timestamp_changer.rb | ||
| tracked_topics_updater.rb | ||
| trust_level_granter.rb | ||
| user_action_manager.rb | ||
| user_activator.rb | ||
| user_anonymizer.rb | ||
| user_authenticator.rb | ||
| user_destroyer.rb | ||
| user_merger.rb | ||
| user_silencer.rb | ||
| user_updater.rb | ||
| username_changer.rb | ||
| username_checker_service.rb | ||
| wildcard_domain_checker.rb | ||
| wildcard_url_checker.rb | ||
| word_watcher.rb | ||