discourse/plugins/chat
Andrei Prigorshnev e83d8fb3e2
FIX: Allow several chat channels to have an empty slug (#25680)
In certain cases, chat channels may have empty slugs, it happens when:

1. The `slug_generation_method` setting is set to `None`
2. `slug_generation_method` is set to `ASCII` and a channel with 
a Unicode name and an empty slug is created (in this case, the code 
that creates channels tries to generate a slug and fallbacks to an empty slug)

At the moment, we have a unique index on the `chat_channels.slug` column 
which leads to errors when creating several channels with empty slugs 
(Discourse is able to create one such channel, but when trying to create 
the second one fails because of the unique constraint). This PR fixes that 
by adding a `where` condition to the index. Slugs still have to be unique, 
but now many channels may have empty slugs.

This fix is similar to the one we made to the category slugs – 7ba914f1e1.
2024-02-15 00:39:39 +04:00
..
app DEV: allows a context when creating a message (#25647) 2024-02-13 11:37:15 +01:00
assets DEV: Convert User model to native class syntax (#25628) 2024-02-13 10:49:18 +00:00
config Update translations (#25659) 2024-02-13 16:11:30 +01:00
db FIX: Allow several chat channels to have an empty slug (#25680) 2024-02-15 00:39:39 +04:00
lib DEV: allows a context when creating a message (#25647) 2024-02-13 11:37:15 +01:00
public
spec FIX: Allow several chat channels to have an empty slug (#25680) 2024-02-15 00:39:39 +04:00
test/javascripts FEATURE: Async load of category and chat hashtags (#25526) 2024-02-12 12:07:14 +02:00
README.md DEV: Chat service object initial implementation (#19814) 2023-02-13 13:09:57 +01:00
plugin.rb DEV: Redesign chat mentions (#24752) 2024-01-17 15:24:01 +04:00

README.md

This plugin is still in active development and may change frequently

Documentation

The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

For user documentation, see Discourse Chat.

For developer documentation, see Discourse Documentation.