The previous version of the migration is not idempotent and can result
in indexes created but marked as "invalid" by Postgres.
Per postgres documentation:
If a problem arises while scanning the table, such as a deadlock or a
uniqueness violation in a unique index,
the CREATE INDEX command will fail but leave behind an "invalid" index.
This index will be ignored for querying
purposes because it might be incomplete; however it will still consume
update overhead. The recommended recovery
method in such cases is to drop the index and try again to perform
CREATE INDEX CONCURRENTLY.
Followup https://github.com/discourse/discourse/pull/31505/
When sending notification emails for system user responses for PMs,
we removed the part of the CTA where it says "to respond to xyz" in a
previous commit.
This commit takes it slightly further -- we now only show a "Visit
Topic"
or "Visit Message" button if the PM notification is from a system user,
it's a bit cleaner.
This commit also adds more in-depth tests, and refactors the message
builder a little.
Continues the work done on
https://github.com/discourse/discourse/pull/30815.
Adds `details` and `summary` nodes, parsers, and serializers, and a
click handler to toggle the `open` attribute.
---------
Co-authored-by: Martin Brennan <martin@discourse.org>
Continues the work done on
https://github.com/discourse/discourse/pull/30815.
Adds `spoiler` and `inline_spoiler` nodes, parsers, and serializers, and
a click handler to toggle its blurriness in the editor.
Continues the work done on
https://github.com/discourse/discourse/pull/30815.
Adds a `onebox` and an `onebox_inline` node spec, their serializers, and
a plugin that automatically converts links to oneboxes.
This might not reduce the failures to zero but some screenshots of the
failures clearly show we were still on the success message page.
Same fix than: https://github.com/discourse/discourse/pull/31750
I suspect that sometimes the button was still not disabled yet when we
where checking for it. Checking for saved confirmation should be more
resilient.
- Remove `wait: 0` and base flow on site setting instead
- Ensure full-page-login has actually opened before running `go_back` -
otherwise we'll end up going back to `about:blank`
Buttons used in the dMenu mobile (touch device) variant should not:
* show states like hover, or focus
* should never have round borders because the component is full-width
When deleting a group, we show a confirmation dialog that includes the
group members count that will lose access to the group alongside other
information. However, there's currently an issue where the members count
shown in the dialog is the count of members that have been loaded in the
Members tab of the group. If you filter the members list and then click
delete, the count you currently see is the number of members that match
the filter, not the total members count.
This happens because the dialog uses the length of the members list
(`members.length`) instead of the `user_count` attribute of the group.
Internal topic: t/148832.
This list of all reports is needed in the admin search
controller as well, so this commit refactors it into
a service, adds specs, and also updates the admin
search code to use this new service & avoid a second
AJAX call to the server.
Currently, when converting raw hotlinked image urls to image upload
markdown, the `alt` attribute is left blank.
This change sets the `alt` to the original filename (which means it will
also appear in the lightbox).
This adds more context and accessibility to the image and is consistent
with how regular uploaded images default to use the filename.
For example:
`http://foo.bar/screenshot.jpg` becomes
``
**Note:** Do not merge before the backfill (#31606) is merged.
### What is this change?
We're now storing the selected API key scope mode in the back-end, and
can display it in the API key list.
**Screenshot:**
<img width="551" alt="Screenshot 2025-03-04 at 7 27 42 PM"
src="https://github.com/user-attachments/assets/9f234242-cfaa-4a2c-93e9-740770bd9944"
/>
Due to an ember optimisation navigating from one topic to another was
not correctly playing the lifecycle of `PostTextSelection` which is
relying on the `willDestroy` event to occur.
This fix will avoid the following bug:
- select some text in a post
- click on a suggested topic at the bottom of the topic
- the post toolbar is still visible
Smoke test worked only when `full_page_login` site setting was disabled
as it expected specific elements from the login modal to exist. This
commit replaces those selectors with more specific ones (prefer IDs over
classes), but which are present in both the modal or the full page.
This eliminates the mobile topic.scss file by moving its styles into the
relevant common files with breakpoints, and also removes some unused
legacy styles. There should be no major visual changes as a result.