* FEATURE: Add group, category, and display restrictions for signatures
Adds five new site settings to control signature behavior:
- signatures_allowed_groups: restrict signatures to specific groups
(server-side enforced in both serializers and user update hook)
- signatures_show_in_categories: limit signature display to specific categories
- signatures_first_post_only: only show signatures on the OP
- signatures_max_length: cap advanced mode signature length
- signatures_max_image_height: constrain signature image height
Also hardens URL validation (HTTP/HTTPS only) and reduces
signature_url max_length from 32KB to 2048.
All defaults are backward-compatible (empty/false = no change).
register_editable_user_custom_field is "singular" and only access one
"custom field" as a parameter.
the fix was to call register_editable_user_custom_field for each custom
fields this plugin uses.
also added a bunch of system specs to ensure the basics of the plugin
actually works.
Internal ref - t/161823
Files in the `assets/javascripts` directory are automatically compiled, so this was introducing a duplicate. In the latest version of Discourse this also triggers a build error
- Cook on advanced mode is server side and properly cached now
- Remove deprecated dependencies on client-side code
Attention: Users on advanced mode from previous versions should re-enter
their signatures.