Mastodon Glitch Edition (standalone frontend)
Find a file
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
app Allow keywords to match either substrings or whole words. 2017-10-21 14:54:36 -05:00
bin Upgrade Webpacker to version 3.0.1 (#5122) 2017-09-27 14:41:54 +02:00
config Spike out index and new views for keyword mutes controller. 2017-10-21 14:54:36 -05:00
db Allow keywords to match either substrings or whole words. 2017-10-21 14:54:36 -05:00
docs
lib Merge tag 'v2.0.0' into gs-master 2017-10-18 11:52:04 -05:00
log
nanobox
public Merge tag 'v2.0.0rc2' into gs-master 2017-10-12 04:22:59 -05:00
spec Allow keywords to match either substrings or whole words. 2017-10-21 14:54:36 -05:00
streaming use-DB_NAME-in-development (#5430) 2017-10-17 11:45:37 +02:00
vendor/assets
.babelrc 🎄🔨 Force tree shake emojione (#4202) 2017-07-14 20:30:12 +02:00
.buildpacks
.codeclimate.yml
.dockerignore Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
.editorconfig
.env.nanobox
.env.production.sample Document REDIS_NAMESPACE (#5038) 2017-09-22 06:44:39 +02:00
.env.test
.env.vagrant
.eslintignore
.eslintrc.yml Enable ESLint rules import/* (#5414) 2017-10-16 11:12:09 +02:00
.foreman
.gitattributes
.gitignore Fix #5274 - Create symlink from public/500.html to public/assets/500.html (#5288) 2017-10-09 20:51:24 +02:00
.haml-lint.yml
.nanoignore Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
.nvmrc
.postcssrc.yml
.profile
.rspec
.rubocop.yml Add handling of Linked Data Signatures in payloads (#4687) 2017-08-26 13:47:38 +02:00
.ruby-version Bump ruby version to 2.4.2 (#4958) 2017-09-18 04:55:57 +02:00
.scss-lint.yml
.slugignore Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
.travis.yml Run i18n-tasks checked-normalized in Travis CI (#5443) 2017-10-18 11:57:02 +02:00
.yarnclean Reduce container size with clean yarn (#3506) 2017-09-30 22:05:24 +02:00
app.json Change logo URL for Heroku and Scalingo (#4476) 2017-08-01 05:59:11 +02:00
Aptfile Specify libicu explicitly in Aptfile (#4920) 2017-09-13 09:30:13 +02:00
boxfile.yml [nanobox] Minor tweaks for 1.5 (#4395) 2017-07-27 15:13:32 +02:00
Capfile
CODEOWNERS + me for Dutch (#5349) 2017-10-12 19:07:35 +09:00
config.ru
CONTRIBUTING.md Added link to docs website 2017-07-14 09:42:50 -07:00
docker-compose.yml Specify middleware versions in docker-compose.yml (#5247) 2017-10-06 20:37:17 +02:00
docker_entrypoint.sh
Dockerfile Reduce container size with clean yarn (#3506) 2017-09-30 22:05:24 +02:00
Gemfile Add strong_migrations to production dependency (#5234) 2017-10-06 03:24:54 +02:00
Gemfile.lock Close connection when succeeded posting (#5390) 2017-10-14 14:38:57 +02:00
ISSUE_TEMPLATE.md
jest.config.js Enable coverage for Jest (#5442) 2017-10-18 11:39:36 +02:00
LICENSE
package.json Merge tag 'v2.0.0' into gs-master 2017-10-18 11:52:04 -05:00
Procfile
Procfile.dev Upgrade Webpacker to version 3.0.1 (#5122) 2017-09-27 14:41:54 +02:00
Rakefile
README.md Update outdated README (#5262) 2017-10-07 21:20:59 +02:00
scalingo.json Change logo URL for Heroku and Scalingo (#4476) 2017-08-01 05:59:11 +02:00
Vagrantfile Install libidn11-dev in Vagrant (#4238) 2017-07-18 00:31:43 +02:00
yarn.lock Merge remote-tracking branch 'upstream/master' into gs-master 2017-10-16 09:23:59 -05:00

Mastodon Glitch Edition

Now with automated deploys!

Build Status

So here's the deal: we all work on this code, and then it runs on dev.glitch.social and anyone who uses that does so absolutely at their own risk. can you dig it?