zulip/frontend_tests/node_tests
Rohitt Vashishtha 912e372c4e markdown: Remove !avatar() and !gravatar() syntax.
This particular commit has been a long time coming. For reference,
!avatar(email) was an undocumented syntax that simply rendered an
inline 50px avatar for a user in a message, essentially allowing
you to create a user pill like:

`!avatar(alice@example.com) Alice: hey!`

---

Reimplementation

If we decide to reimplement this or a similar feature in the future,
we could use something like `<avatar:userid>` syntax which is more
in line with creating links in markdown. Even then, it would not be
a good idea to add this instead of supporting inline images directly.

Since any usecases of such a syntax are in automation, we do not need
to make it userfriendly and something like the following is a better
implementation that doesn't need a custom syntax:

`![avatar for Alice](/avatar/1234?s=50) Alice: hey!`

---

History

We initially added this syntax back in 2012 and it was 'deprecated'
from the get go. Here's what the original commit had to say about
the new syntax:

> We'll use this internally for the commit bot.  We might eventually
> disable it for external users.

We eventually did start using this for our github integrations in 2013
but since then, those integrations have been neglected in favor of
our GitHub webhooks which do not use this syntax.

When we copied `!gravatar` to add the `!avatar` syntax, we also noted
that we want to deprecate the `!gravatar` syntax entirely - in 2013!

Since then, we haven't advertised either of these syntaxes anywhere
in our docs, and the only two places where this syntax remains is
our game bots that could easily do without these, and the git commit
integration that we have deprecated anyway.

We do not have any evidence of someone asking about this syntax on
chat.zulip.org when developing an integration and rightfully so- only
the people who work on Zulip (and specifically, markdown) are likely
to stumble upon it and try it out.

This is also the only peice of code due to which we had to look up
emails -> userid mapping in our backend markdown. By removing this,
we entirely remove the backend markdown's dependency on user emails
to render messages.

---

Relevant commits:

- Oct 2012, Initial commit        c31462c278
- Nov 2013, Update commit bot     968c393826
- Nov 2013, Add avatar syntax     761c0a0266
- Sep 2017, Avoid email use       c3032a7fe8
- Apr 2019, Remove from webhook   674fcfcce1
2020-07-07 10:39:44 -07:00
..
lib settings: Add automatic theme detection feature. 2020-06-21 01:09:01 -07:00
.eslintrc.json
activity.js eslint: Enable arrow-parens. 2020-07-03 16:53:39 -07:00
alert_words.js people.js: Rename add() to add_active_user(). 2020-05-26 21:41:54 -07:00
alert_words_ui.js alert settings: Relocate alert_word_settings_item.hbs 2020-04-18 15:50:04 -07:00
billing.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
billing_helpers.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
blueslip_stacktrace.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
bot_data.js eslint: Enable arrow-parens. 2020-07-03 16:53:39 -07:00
buddy_data.js buddy_data test: Move huddle_fraction_present test. 2020-05-27 11:02:18 -04:00
buddy_list.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
channel.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
color_data.js js: Automatically convert _.each to for…of. 2020-02-07 14:09:47 -08:00
colorspace.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
common.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
components.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
compose.js compose: Modify validate_stream_message to check invalid stream name early. 2020-07-06 15:30:01 -07:00
compose_actions.js dead code: Remove useless resize calls. 2020-05-27 17:57:50 -07:00
compose_fade.js compose_fade: Change would_receive_message to use user_id. 2020-06-05 16:08:26 -07:00
compose_pm_pill.js Rename get_realm_persons() to get_realm_users(). 2020-03-22 10:55:11 -07:00
compose_ui.js people.js: Rename add() to add_active_user(). 2020-05-26 21:41:54 -07:00
composebox_typeahead.js timestamp: Change syntax to `<time:timestammp>`. 2020-07-06 15:53:56 -07:00
copy_and_paste.js dependencies: Upgrade JavaScript dependencies. 2020-04-18 13:17:01 -07:00
dispatch.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
dispatch_subs.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
drafts.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
dropdown_list_widget.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
echo.js node tests: Auto-include zblueslip for node tests. 2020-04-03 12:56:49 -04:00
emoji.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
emoji_picker.js emoji_picker: Add test that all emoji are in categories. 2020-06-14 10:41:07 -07:00
fenced_code.js text: Fix some typos (most of them found and fixed by codespell). 2020-03-27 17:25:56 -07:00
fetch_status.js message list: Render new messages only after "newest" is found. 2020-06-16 10:47:52 -07:00
filter.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
fold_dict.js zblueslip: Run blueslip.reset after each test. 2020-04-20 08:17:20 -04:00
general.js recent_topics: Only rerender when recent_topics is visible. 2020-06-09 22:08:31 -07:00
hash_util.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
hashchange.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
hotkey.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
i18n.js node: Fix i18n node tests following string replacement. 2020-03-25 19:36:43 -07:00
input_pill.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
keydown_util.js keydown_util: Ignore alt-arrow and similar things. 2018-12-04 12:24:39 -08:00
lazy_set.js zblueslip: Run blueslip.reset after each test. 2020-04-20 08:17:20 -04:00
lightbox.js node tests: Remove most test_log length assertions. 2020-04-08 11:37:27 -04:00
list_cursor.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
list_render.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
markdown.js markdown: Remove !avatar() and !gravatar() syntax. 2020-07-07 10:39:44 -07:00
message_edit.js page_params: Add community_topic_editing_limit_seconds. 2020-06-09 14:40:12 -07:00
message_events.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
message_fetch.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
message_flags.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
message_list.js message list: Change locally echoed message ids synchronously. 2020-07-06 15:36:33 -07:00
message_list_data.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
message_list_view.js eslint: Enable arrow-parens. 2020-07-03 16:53:39 -07:00
message_store.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
muting.js node test: Remove unnecessary zrequires. 2020-04-22 18:54:27 -04:00
narrow.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
narrow_activate.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
narrow_local.js eslint: Enable arrow-parens. 2020-07-03 16:53:39 -07:00
narrow_state.js eslint: Enable arrow-parens. 2020-07-03 16:53:39 -07:00
narrow_unread.js people.js: Rename add() to add_active_user(). 2020-05-26 21:41:54 -07:00
notifications.js notifications: Use addEventListener to register handlers. 2020-04-26 23:02:05 -07:00
password.js minor: Clean up blank lines in tests. 2020-04-03 12:56:49 -04:00
people.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
people_errors.js people.js: Rename add() to add_active_user(). 2020-05-26 21:41:54 -07:00
pm_conversations.js ui_init: Pass params to pm_conversations.recent. 2020-02-27 11:10:13 -08:00
pm_list.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
poll_widget.js zblueslip: Run blueslip.reset after each test. 2020-04-20 08:17:20 -04:00
popovers.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
presence.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
reactions.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
recent_senders.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
recent_topics.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
rendered_markdown.js minor: Format comments to be sentences and fix typo. 2020-07-06 15:53:56 -07:00
rtl.js util.js: Remove util from window. 2020-02-15 12:20:20 -08:00
schema.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
scroll_util.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
search.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
search_legacy.js eslint: Enable arrow-parens. 2020-07-03 16:53:39 -07:00
search_pill.js util.js: Remove util from window. 2020-02-15 12:20:20 -08:00
search_suggestion.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
search_suggestion_legacy.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
server_events.js pointer: Remove frontend logic tracking furthest_read. 2020-06-18 12:55:59 -07:00
settings_bots.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
settings_data.js settings org: Use `image_upload_widget.hbs` for realm day/night logo. 2020-06-17 17:47:49 -07:00
settings_muting.js muting: Fix real time sync of muted topics. 2020-04-22 15:07:15 -07:00
settings_org.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
settings_profile_fields.js minor: Clean up blank lines in tests. 2020-04-03 12:56:49 -04:00
settings_user_groups.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
stream_data.js compose: Modify validate_stream_message to check invalid stream name early. 2020-07-06 15:30:01 -07:00
stream_events.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
stream_list.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
stream_search.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
stream_sort.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
stream_topic_history.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
submessage.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
subs.js eslint: Enable arrow-parens. 2020-07-03 16:53:39 -07:00
support.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
timerender.js timerender: Make moment() return static date. 2020-07-07 08:04:50 -04:00
top_left_corner.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
topic_generator.js zblueslip: Run blueslip.reset after each test. 2020-04-20 08:17:20 -04:00
topic_list_data.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
transmit.js people.js: Rename add() to add_active_user(). 2020-05-26 21:41:54 -07:00
typeahead.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
typeahead_helper.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
typing_data.js minor: Clean up blank lines in tests. 2020-04-03 12:56:49 -04:00
typing_status.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
ui.js node tests: Just set i18n every time. 2020-02-28 17:11:24 -08:00
ui_init.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
unread.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
upgrade.js eslint: Enable arrow-body-style. 2020-07-03 16:55:50 -07:00
upload.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
user_events.js realm owner: Add frontend implementation of owner role. 2020-06-14 21:20:30 -07:00
user_groups.js zblueslip: Run blueslip.reset after each test. 2020-04-20 08:17:20 -04:00
user_pill.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00
user_status.js zblueslip: Implement tracking extra/lesser blueslip calls. 2020-04-20 08:17:20 -04:00
util.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
vdom.js eslint: Enable comma-dangle for functions. 2020-07-03 16:55:51 -07:00
widgetize.js zblueslip: Run blueslip.reset after each test. 2020-04-20 08:17:20 -04:00
zblueslip.js zblueslip: Implement tracking extra/lesser blueslip calls. 2020-04-20 08:17:20 -04:00
zjquery.js eslint: Enable prefer-arrow-callback. 2020-07-03 16:55:50 -07:00