0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-11 02:59:07 +08:00
discourse/spec/lib/validators
Régis Hanol 6212b0b736
FEATURE: Support non-image file uploads in site settings (#37005)
This change extends the upload type site setting to support non-image
files by adding two new optional attributes:

- `authorized_extensions`: pipe-separated list of allowed extensions
(e.g., "txt|json"). When not specified, only images are allowed.
- `max_file_size_kb`: maximum file size in KB. When not specified, uses
max_image_size_kb or max_attachment_size_kb based on file type.

The upload component has been rewritten as a Glimmer component with:
- Separate UI for image files (preview with lightbox) and non-image
files (file info with download link)
- Display of upload restrictions when configured
- Drag and drop support
- Progress bar during upload

Example usage in site_settings.yml:

```yaml
llms_txt:
  default: ""
  type: upload
  authorized_extensions: "txt|md"
  max_file_size_kb: 512
```

Ref - t/162690
Related #36939

**Empty site setting**
<img width="1762" height="1229" alt="2026-01-08 @ 09 32 13"
src="https://github.com/user-attachments/assets/8f1bad3a-7070-4313-b82f-66335e9dbaff"
/>

**Site setting with a file uploaded**
<img width="1762" height="1229" alt="2026-01-08 @ 09 32 26"
src="https://github.com/user-attachments/assets/f20cc78b-8e81-451b-b334-8f3dada213b1"
/>

---------

Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com>
2026-01-19 22:37:38 +01:00
..
allowed_ip_address_validator_spec.rb
at_least_one_group_validator_spec.rb
category_search_priority_weights_validator_spec.rb
censored_words_validator_spec.rb
csp_script_src_validator_spec.rb
css_color_validator_spec.rb
css_color_with_blank_validator_spec.rb UX: add welcome banner text color setting (#34657) 2025-09-24 15:19:40 +08:00
datetime_setting_validator_spec.rb DEV: Add datetime type for site settings / object settings (#36849) 2025-12-30 10:52:30 -06:00
delete_rejected_email_after_days_spec.rb
email_address_validator_spec.rb FIX: Validate email length (#34786) 2025-09-11 18:58:07 +03:00
email_setting_validator_spec.rb
email_validator_spec.rb
enable_discourse_id_validator_spec.rb FEATURE: log errors when enabling discourse id (#36110) 2025-11-25 11:20:32 +01:00
enable_local_logins_via_email_validator_spec.rb
enable_sso_validator_spec.rb
external_system_avatars_validator_spec.rb
form_template_yaml_validator_spec.rb FIX: Check tag group names in form template validator (#33850) 2025-07-30 09:26:08 +08:00
group_setting_validator_spec.rb
host_list_setting_validator_spec.rb
integer_setting_validator_spec.rb
ip_address_format_validator_spec.rb
linkedin_oidc_credentials_validator_spec.rb
max_emojis_validator_spec.rb
max_username_length_validator_spec.rb FIX: Minimum username length should be validated (#31332) 2025-02-13 21:05:31 +02:00
mediaconvert_output_subdirectory_validator_spec.rb DEV: Update mediaconvert to use a subdirectory for output (#36049) 2025-11-20 14:03:14 -07:00
min_username_length_validator_spec.rb FIX: Minimum username length should be validated (#31332) 2025-02-13 21:05:31 +02:00
password_validator_spec.rb
post_validator_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
quality_title_validator_spec.rb
regex_presence_validator_spec.rb
regex_setting_validator_spec.rb
regexp_list_validator_spec.rb
reply_by_email_address_validator_spec.rb
reply_by_email_enabled_validator_spec.rb
search_ranking_weights_validator_spec.rb
search_tokenize_chinese_validator_spec.rb
search_tokenize_japanese_validator_spec.rb
selectable_avatars_mode_validator_spec.rb
sso_overrides_email_validator_spec.rb
string_setting_validator_spec.rb
timezone_validator_spec.rb
topic_setting_validator_spec.rb FEATURE: Add new configurable moderation guide (#36287) 2025-12-01 10:30:32 +08:00
topic_title_length_validator_spec.rb
unicode_username_allowlist_validator_spec.rb
unicode_username_validator_spec.rb DEV: Deprecate external_system_avatars_enabled (#33436) 2025-07-04 16:02:04 +08:00
upload_validator_spec.rb FEATURE: Support non-image file uploads in site settings (#37005) 2026-01-19 22:37:38 +01:00
url_validator_spec.rb
user_full_name_validator_spec.rb
user_password_validator_spec.rb
username_setting_validator_spec.rb