mastodon/app
Christian Oelschlegel 59f1353bb0 fix(tag): prevent dupl. tags on concurrent inserts
Currently, creating tags concurrently with different case
letters can raise a PostgreSQL unique constraint error
(index_tags_on_name_lower_btree).

This commit normalizes tag names to lowercase and uses
first_or_create! with a rescue for RecordNotUnique to
ensure that only one tag is created even under race conditions.

A test is added to simulate concurrent tag creation
and verify that only a single tag exists and no errors occur.
2025-08-22 18:04:37 +02:00
..
chewy Change account search to be more forgiving of spaces (#34455) 2025-04-25 10:35:21 +00:00
controllers Fix updates to quote policy not being federated (#35804) 2025-08-18 08:34:45 +00:00
helpers Refactor to reuse the one status partial across moderation tools (#35644) 2025-08-21 14:51:11 +00:00
inputs Add age verification on sign-up (#34150) 2025-03-14 14:07:29 +00:00
javascript New Crowdin Translations (automated) (#35859) 2025-08-22 14:53:27 +00:00
lib First pass coverage addition for antispam class (#35771) 2025-08-14 07:57:18 +00:00
mailers Add missing mailer for quote notifications (#35652) 2025-08-04 10:44:59 +00:00
models fix(tag): prevent dupl. tags on concurrent inserts 2025-08-22 18:04:37 +02:00
policies Ensure blocked users cannot quote (#35624) 2025-08-01 09:34:12 +00:00
presenters Update OAuth inflection to match spec (#35160) 2025-06-25 07:52:30 +00:00
serializers Disable Metrics/* cops (#35000) 2025-08-20 17:04:36 +00:00
services Fix interaction policy changes in implicit updates not being saved (#35751) 2025-08-12 12:19:29 +00:00
validators Add ability to block words in usernames (#35407) 2025-07-29 10:19:15 +00:00
views Refactor to reuse the one status partial across moderation tools (#35644) 2025-08-21 14:51:11 +00:00
workers Fix self-destruct scheduler behavior on some Redis setups (#35823) 2025-08-19 14:16:30 +00:00