0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-11 02:59:07 +08:00
discourse/app
Natalie Tay 2912d04681
FIX: Ensure /tag/bad-slug/:id/edit routes to edit page (#41115)
When doing `/tag/bad-slug/:id/edit`, we now do not route to the edit
page but instead 301 to `/tag/good-slug/:id`. This PR makes it so.

Also adds validation on the form + backend for slugs:
- <img width="300" alt="Screenshot 2026-06-23 at 6 10 53 PM"
src="https://github.com/user-attachments/assets/fba5a9e8-20c2-49bc-97c8-ff69ffab582c"
/>

```
curl 'http://localhost:3000/tag/172/settings.json' \
  -X 'PUT' \
  --data-raw '{"tag_settings":{ ... "slug":"a.a" ... }}'
{"errors":["Slug is invalid"]}%
```
2026-06-23 18:58:50 +08:00
..
assets UX: Edit category scope fix (#41116) 2026-06-23 12:53:01 +02:00
controllers FIX: Ensure /tag/bad-slug/:id/edit routes to edit page (#41115) 2026-06-23 18:58:50 +08:00
helpers DEV: Track beacon browser pageviews behind dashboard_improvements (#40934) 2026-06-23 10:21:39 +08:00
jobs FEATURE: Add Site Advice section to the redesigned admin dashboard (#40969) 2026-06-23 11:57:49 +02:00
mailers FEATURE: Log in with a one-time email code (#40804) 2026-06-17 12:34:48 -07:00
models FIX: Ensure /tag/bad-slug/:id/edit routes to edit page (#41115) 2026-06-23 18:58:50 +08:00
queries/reports FIX: Enforce can_see_ip checks across admin IP features (#40019) 2026-05-19 11:37:20 +08:00
serializers FEATURE: Show theme d-compat/* refs in admin UI (#40649) 2026-06-17 22:13:45 +01:00
services SECURITY: Don't leak hidden tag names in one-per-topic conflict reasons (#41035) 2026-06-19 11:26:15 -03:00
views FEATURE: Accept shared files via the Web Share Target (#41030) 2026-06-18 17:35:09 -03:00