catstodon/spec/models
David Yip 4a64181461 Allow keywords to match either substrings or whole words.
Word-boundary matching only works as intended in English and languages
that use similar word-breaking characters; it doesn't work so well in
(say) Japanese, Chinese, or Thai.  It's unacceptable to have a feature
that doesn't work as intended for some languages.  (Moreso especially
considering that it's likely that the largest contingent on the Mastodon
bit of the fediverse speaks Japanese.)

There are rules specified in Unicode TR29[1] for word-breaking across
all languages supported by Unicode, but the rules deliberately do not
cover all cases.  In fact, TR29 states

    For example, reliable detection of word boundaries in languages such
    as Thai, Lao, Chinese, or Japanese requires the use of dictionary
    lookup, analogous to English hyphenation.

So we aren't going to be able to make word detection work with regexes
within Mastodon (or glitchsoc).  However, for a first pass (even if it's
kind of punting) we can allow the user to choose whether they want word
or substring detection and warn about the limitations of this
implementation in, say, docs.

[1]: https://unicode.org/reports/tr29/
     https://web.archive.org/web/20171001005125/https://unicode.org/reports/tr29/
2017-10-21 14:54:36 -05:00
..
concerns minor code style fixes oops 2017-09-13 21:47:30 -05:00
form Improve admin page (#4121) 2017-07-18 16:38:22 +02:00
web Web Push Notifications (#3243) 2017-07-13 22:15:32 +02:00
account_domain_block_spec.rb Spec AccountDomainBlock (#3816) 2017-06-18 02:59:49 +02:00
account_filter_spec.rb Add coverage for ReportFilter and AccountFilter (#3236) 2017-05-22 15:50:58 -04:00
account_moderation_note_spec.rb Add moderation note (#5240) 2017-10-07 20:26:43 +02:00
account_spec.rb Merge branch 'origin/master' into sync/upstream 2017-09-09 14:27:47 -05:00
block_spec.rb Cover Block more (#3837) 2017-06-19 11:31:37 +02:00
conversation_mute_spec.rb Feature conversations muting (#3017) 2017-05-15 03:04:13 +02:00
conversation_spec.rb Add conversation model, <ostatus:conversation /> (#3016) 2017-05-12 19:09:21 +02:00
custom_emoji_spec.rb Custom emoji (#4988) 2017-09-19 02:42:40 +02:00
domain_block_spec.rb Cover DomainBlock more (#3838) 2017-06-19 11:31:27 +02:00
email_domain_block_spec.rb Implement EmailBlackList (#5109) 2017-10-04 15:16:10 +02:00
export_spec.rb Cover Export more (#3840) 2017-06-19 11:30:27 +02:00
favourite_spec.rb Cover Favourite more (#3841) 2017-06-19 01:38:50 +02:00
feed_spec.rb Improve spec of Feed and UserTrackingConcern (#5367) 2017-10-13 11:00:11 +02:00
follow_request_spec.rb add more tests to models 2017-04-05 00:29:56 +02:00
follow_spec.rb Introduce recent to Follow (#3247) 2017-05-23 13:12:19 +02:00
import_spec.rb Validate data of Imports (#4782) 2017-09-02 20:45:42 +02:00
keyword_mute_spec.rb Allow keywords to match either substrings or whole words. 2017-10-21 14:54:36 -05:00
media_attachment_spec.rb Increase attachment descriptions to 420 characters (#5139) 2017-09-29 02:30:00 +02:00
mention_spec.rb add more tests to models 2017-04-05 00:29:56 +02:00
mute_spec.rb Mute button progress so far. WIP, doesn't entirely work correctly. 2017-03-01 22:31:21 -06:00
notification_spec.rb Adding unified streamable notifications 2016-11-20 19:39:58 +01:00
preview_card_spec.rb Fix #463 - Fetch and display previews of URLs using OpenGraph tags 2017-01-20 01:00:14 +01:00
report_filter_spec.rb Add coverage for ReportFilter and AccountFilter (#3236) 2017-05-22 15:50:58 -04:00
report_spec.rb Feat add validation for report comment: characters under 1000 valid (#4833) 2017-09-07 09:55:42 +02:00
session_activation_spec.rb Revocable sessions (#3616) 2017-06-23 18:50:53 +02:00
site_upload_spec.rb Uploads for admin site settings (#4913) 2017-09-14 00:04:30 +02:00
status_pin_spec.rb Pinned statuses (#4675) 2017-08-25 01:41:18 +02:00
status_spec.rb Do not filter statuses with unknown languages (#5045) 2017-09-22 19:33:17 +02:00
stream_entry_spec.rb Stream entry specs and refactor to use delegate (#2827) 2017-05-06 04:00:21 +02:00
subscription_spec.rb Misc spec coverage improvements (#2821) 2017-05-05 14:56:00 -04:00
tag_spec.rb add validation to tag name (#4194) 2017-07-14 11:02:49 +02:00
user_spec.rb Application prefs section (#2758) 2017-08-22 18:33:57 +02:00