From 544bbd5398a74f96c4b45d51f531e944a883e7a5 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Sun, 9 May 2021 22:02:14 -0700 Subject: [PATCH] docs: Fix capitalization mistakes. Signed-off-by: Anders Kaseorg --- .gitignore | 2 +- docs/contributing/gsoc-ideas.md | 2 +- docs/development/remote.md | 8 +- docs/development/request-remote.md | 4 +- docs/development/setup-vagrant.md | 6 +- docs/documentation/overview.md | 2 +- docs/git/fixing-commits.md | 2 +- docs/production/deployment.md | 2 +- docs/production/giphy-gif-integration.md | 2 +- docs/production/maintain-secure-upgrade.md | 2 +- docs/subsystems/events-system.md | 8 +- docs/subsystems/html-css.md | 2 +- docs/subsystems/notifications.md | 14 +- docs/testing/continuous-integration.md | 14 +- docs/translating/internationalization.md | 14 +- docs/tutorials/life-of-a-request.md | 2 +- frontend_tests/node_tests/copy_and_paste.js | 8 +- frontend_tests/node_tests/drafts.js | 28 ++-- frontend_tests/node_tests/filter.js | 10 +- frontend_tests/node_tests/fold_dict.js | 4 +- frontend_tests/node_tests/markdown.js | 2 +- .../node_tests/message_list_view.js | 8 +- frontend_tests/node_tests/narrow_unread.js | 2 +- frontend_tests/node_tests/reactions.js | 4 +- frontend_tests/node_tests/recent_topics.js | 38 +++--- .../node_tests/rendered_markdown.js | 2 +- .../node_tests/settings_profile_fields.js | 2 +- frontend_tests/node_tests/typeahead_helper.js | 30 ++--- frontend_tests/node_tests/unread.js | 2 +- frontend_tests/node_tests/upload.js | 2 +- frontend_tests/node_tests/zjquery.js | 4 +- frontend_tests/puppeteer_tests/drafts.ts | 8 +- frontend_tests/puppeteer_tests/settings.ts | 2 +- puppet/zulip_ops/manifests/profile/base.pp | 2 +- static/js/message_fetch.js | 4 +- static/js/narrow.js | 2 +- static/js/portico/integrations_dev_panel.js | 10 +- static/js/settings_profile_fields.js | 2 +- static/shared/js/fenced_code.js | 2 +- static/styles/portico/markdown.css | 2 +- .../settings/playground_settings_admin.hbs | 2 +- .../api/incoming-webhooks-walkthrough.md | 14 +- templates/zerver/api/rest-error-handling.md | 2 +- templates/zerver/api/sidebar_index.md | 2 +- templates/zerver/api/update-message-flags.md | 2 +- templates/zerver/api/writing-bots.md | 4 +- templates/zerver/app/navbar.html | 2 +- templates/zerver/compare.html | 2 +- .../development/integrations_dev_panel.html | 8 +- templates/zerver/digest_base.html | 2 +- templates/zerver/email.html | 2 +- templates/zerver/features.html | 2 +- templates/zerver/for/companies.md | 2 +- templates/zerver/for/open-source.md | 2 +- templates/zerver/for/research.md | 8 +- templates/zerver/gitlab-error.md | 2 +- templates/zerver/hello.html | 4 +- templates/zerver/help/change-default-view.md | 2 +- templates/zerver/help/change-your-language.md | 2 +- templates/zerver/help/code-blocks.md | 4 +- .../zerver/help/desktop-app-install-guide.md | 4 +- .../format-your-message-using-markdown.md | 4 +- .../zerver/help/roles-and-permissions.md | 14 +- templates/zerver/help/saml-authentication.md | 2 +- templates/zerver/integrations/jira-plugin.md | 26 ++-- templates/zerver/landing_nav.html | 2 +- templates/zerver/meta_tags.html | 4 +- templates/zerver/security.html | 4 +- tools/ci/production-verify | 2 +- .../documentation_crawler/settings.py | 2 +- .../spiders/common/spiders.py | 4 +- tools/droplets/create.py | 2 +- tools/lib/capitalization.py | 1 - tools/lib/pretty_print.py | 2 +- tools/lib/template_parser.py | 6 +- tools/lint | 2 +- tools/linter_lib/custom_check.py | 2 +- tools/setup/postgresql-init-dev-db | 4 +- tools/test-queue-worker-reload | 2 +- .../test_template_data/test_template1.html | 2 +- .../test_template_data/test_template2.html | 2 +- tools/tests/test_template_parser.py | 14 +- zerver/data_import/gitter.py | 2 +- zerver/data_import/slack.py | 2 +- .../data_import/slack_message_conversion.py | 4 +- zerver/decorator.py | 4 +- zerver/lib/actions.py | 6 +- zerver/lib/cache.py | 2 +- zerver/lib/export.py | 6 +- zerver/lib/external_accounts.py | 2 +- zerver/lib/import_realm.py | 2 +- zerver/lib/integrations.py | 8 +- zerver/lib/send_email.py | 2 +- zerver/lib/soft_deactivation.py | 4 +- zerver/lib/webhooks/common.py | 2 +- zerver/lib/webhooks/git.py | 2 +- .../commands/soft_deactivate_users.py | 2 +- zerver/middleware.py | 2 +- zerver/models.py | 4 +- zerver/openapi/python_examples.py | 2 +- zerver/openapi/zulip.yaml | 4 +- .../tests/fixtures/docs_url_preview_data.json | 2 +- .../email_base_headers_test.source.html | 2 +- zerver/tests/fixtures/email/simple.txt | 2 +- .../tests/fixtures/markdown_test_cases.json | 44 +++---- zerver/tests/test_archive.py | 42 +++--- zerver/tests/test_audit_log.py | 2 +- zerver/tests/test_bots.py | 2 +- zerver/tests/test_custom_profile_data.py | 2 +- zerver/tests/test_decorators.py | 4 +- zerver/tests/test_docs.py | 2 +- zerver/tests/test_email_mirror.py | 124 +++++++++--------- zerver/tests/test_email_notifications.py | 2 +- zerver/tests/test_events.py | 2 +- zerver/tests/test_home.py | 12 +- zerver/tests/test_import_export.py | 8 +- zerver/tests/test_integrations_dev_panel.py | 38 +++--- zerver/tests/test_markdown.py | 4 +- zerver/tests/test_message_flags.py | 6 +- zerver/tests/test_message_send.py | 4 +- zerver/tests/test_openapi.py | 2 +- zerver/tests/test_push_notifications.py | 12 +- zerver/tests/test_realm.py | 2 +- zerver/tests/test_report.py | 2 +- zerver/tests/test_soft_deactivation.py | 36 ++--- zerver/tests/test_subs.py | 4 +- zerver/tests/test_user_groups.py | 2 +- zerver/tests/test_users.py | 6 +- zerver/views/development/cache.py | 2 +- zerver/views/registration.py | 2 +- zerver/views/report.py | 10 +- zerver/webhooks/appfollow/view.py | 6 +- zerver/webhooks/bitbucket2/tests.py | 12 +- zerver/webhooks/bitbucket2/view.py | 2 +- zerver/webhooks/circleci/tests.py | 2 +- zerver/webhooks/circleci/view.py | 2 +- zerver/webhooks/delighted/tests.py | 4 +- zerver/webhooks/delighted/view.py | 2 +- zerver/webhooks/freshping/tests.py | 2 +- zerver/webhooks/freshping/view.py | 2 +- zerver/webhooks/gitea/tests.py | 32 ++--- zerver/webhooks/github/tests.py | 24 ++-- zerver/webhooks/github/view.py | 8 +- zerver/webhooks/gitlab/doc.md | 6 +- zerver/webhooks/gitlab/tests.py | 84 ++++++------ zerver/webhooks/gitlab/view.py | 12 +- zerver/webhooks/gogs/tests.py | 28 ++-- zerver/webhooks/gogs/view.py | 4 +- zerver/webhooks/gosquared/tests.py | 2 +- zerver/webhooks/gosquared/view.py | 2 +- zerver/webhooks/jira/doc.md | 8 +- zerver/webhooks/jira/view.py | 8 +- zerver/webhooks/semaphore/tests.py | 4 +- zerver/webhooks/semaphore/view.py | 8 +- zerver/webhooks/sentry/view.py | 2 +- zerver/webhooks/thinkst/tests.py | 30 ++--- zerver/webhooks/thinkst/view.py | 4 +- zerver/webhooks/wordpress/tests.py | 8 +- zerver/webhooks/wordpress/view.py | 14 +- zproject/dev_urls.py | 2 +- zproject/prod_settings_template.py | 8 +- 161 files changed, 610 insertions(+), 611 deletions(-) diff --git a/.gitignore b/.gitignore index 81008750bc..36363701f0 100644 --- a/.gitignore +++ b/.gitignore @@ -75,7 +75,7 @@ zulip.kdev4 *.sublime-workspace .vscode/ *.DS_Store -# .cache/ is generated by VSCode's test runner +# .cache/ is generated by Visual Studio Code's test runner .cache/ .eslintcache diff --git a/docs/contributing/gsoc-ideas.md b/docs/contributing/gsoc-ideas.md index 6ad5904b10..109807ef37 100644 --- a/docs/contributing/gsoc-ideas.md +++ b/docs/contributing/gsoc-ideas.md @@ -222,7 +222,7 @@ skills needed, and try to emphasize where strong skills with particular tools are likely to be important for a given project. For all of our projects, an important skill to develop is a good -command of Git; read [our Git Guide](../git/overview.md) in full to +command of Git; read [our Git guide](../git/overview.md) in full to learn how to use it well. Of particular importance is mastering using Git rebase so that you can construct commits that are clearly correct and explain why they are correct. We highly recommend investing in diff --git a/docs/development/remote.md b/docs/development/remote.md index a7ee9f4b71..c392e389d0 100644 --- a/docs/development/remote.md +++ b/docs/development/remote.md @@ -133,7 +133,7 @@ don't have a favorite, here are some suggestions: * [sublime](https://www.sublimetext.com/) * [PyCharm](https://www.jetbrains.com/pycharm/) -Next, follow our [Git and GitHub Guide](../git/index.md) to clone and configure +Next, follow our [Git and GitHub guide](../git/index.md) to clone and configure your fork of zulip on your local computer. Once you have cloned your code locally, you can get to work. @@ -145,7 +145,7 @@ is to **push them to GitHub** and then **fetch and merge** them from the remote server. For more detailed instructions about how to do this, see our [Git & GitHub -Guide][rtd-git-guide]. In brief, the steps are as follows. +guide][rtd-git-guide]. In brief, the steps are as follows. On your **local computer**: @@ -184,7 +184,7 @@ you prefer for development in general. If you use [TextMate](https://macromates.com), Atom, VS Code, or a similar GUI editor, tools like -[VSCode Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh) and +[Visual Studio Code Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh) and [rmate](https://github.com/textmate/rmate) that are designed to integrate that editor with remote development over SSH allow you to develop remotely from the comfort of your local machine. @@ -264,7 +264,7 @@ Now your workspace should look similar this: Next, read the following to learn more about developing for Zulip: -* [Git & GitHub Guide][rtd-git-guide] +* [Git & GitHub guide][rtd-git-guide] * [Using the development environment][rtd-using-dev-env] * [Testing][rtd-testing] diff --git a/docs/development/request-remote.md b/docs/development/request-remote.md index e81f0c0a6c..169c69e53b 100644 --- a/docs/development/request-remote.md +++ b/docs/development/request-remote.md @@ -11,7 +11,7 @@ development environment already set up. The machines (droplets) are being generously provided by [DigitalOcean](https://www.digitalocean.com/). Thank you DigitalOcean! -## Step 1: Join GitHub and create SSH Keys +## Step 1: Join GitHub and create SSH keys To contribute to Zulip and to use a remote Zulip developer instance, you'll need a GitHub account. If you don't already have one, sign up @@ -72,7 +72,7 @@ Once you've confirmed you can connect to your remote server, take a look at: * [developing remotely](../development/remote.md) for tips on using the remote dev instance, and -* our [Git & GitHub Guide](../git/index.md) to learn how to use Git with Zulip. +* our [Git & GitHub guide](../git/index.md) to learn how to use Git with Zulip. Next, read the following to learn more about developing for Zulip: diff --git a/docs/development/setup-vagrant.md b/docs/development/setup-vagrant.md index 850a6577bf..43f4087255 100644 --- a/docs/development/setup-vagrant.md +++ b/docs/development/setup-vagrant.md @@ -308,7 +308,7 @@ provisioning if your Internet connection is unreliable. To retry, you can use `vagrant provision` (`vagrant up` will just boot the guest without provisioning after the first time). Other common issues are documented in the -[Troubleshooting and Common Errors](#troubleshooting-and-common-errors) +[Troubleshooting and common errors](#troubleshooting-and-common-errors) section. If that doesn't help, please visit [#provision help](https://chat.zulip.org/#narrow/stream/21-provision-help) in the [Zulip development community server](../contributing/chat-zulip-org.md) for @@ -432,7 +432,7 @@ running Git commands in Terminal (macOS/Ubuntu) or Git BASH (Windows) in the directory where you cloned Zulip on your main machine. If you're new to working with Git/GitHub, check out our [Git & GitHub -Guide][rtd-git-guide]. +guide][rtd-git-guide]. #### Maintaining the development environment @@ -533,7 +533,7 @@ $ ./tools/run-dev.py Next, read the following to learn more about developing for Zulip: -* [Git & GitHub Guide][rtd-git-guide] +* [Git & GitHub guide][rtd-git-guide] * [Using the development environment][rtd-using-dev-env] * [Testing][rtd-testing] (and [Configuring CI][ci] to run the full test suite against any branches you push to your fork, diff --git a/docs/documentation/overview.md b/docs/documentation/overview.md index a33c864265..39bc3b7ed8 100644 --- a/docs/documentation/overview.md +++ b/docs/documentation/overview.md @@ -31,7 +31,7 @@ These three systems are documented in detail. What you are reading right now is part of the collection of documentation targeted at developers and people running their own Zulip servers. These docs are written in -[Commonmark Markdown](https://commonmark.org/) with a small bit of rST. +[CommonMark Markdown](https://commonmark.org/) with a small bit of rST. We've chosen Markdown because it is [easy to write](https://commonmark.org/help/). The source for Zulip's developer documentation is at `docs/` in the Zulip Git repository, and diff --git a/docs/git/fixing-commits.md b/docs/git/fixing-commits.md index 40a2880e84..a2c789ddbf 100644 --- a/docs/git/fixing-commits.md +++ b/docs/git/fixing-commits.md @@ -4,7 +4,7 @@ This is mostly from ## Fixing the last commit ### Changing the last commit message -1. `git commit --amend -m "New Message"` +1. `git commit --amend -m "New message"` ### Changing the last commit 1. Make your changes to the files diff --git a/docs/production/deployment.md b/docs/production/deployment.md index 5e490f5bed..915b2a4446 100644 --- a/docs/production/deployment.md +++ b/docs/production/deployment.md @@ -45,7 +45,7 @@ extremely reliable for years, whereas the Docker image is new and has rough edges, so we recommend the normal installer unless you have a specific reason to prefer Docker. -## Advanced Installer Options +## Advanced installer options The Zulip installer supports the following advanced installer options as well as those mentioned in the diff --git a/docs/production/giphy-gif-integration.md b/docs/production/giphy-gif-integration.md index eea293985c..c19736105f 100644 --- a/docs/production/giphy-gif-integration.md +++ b/docs/production/giphy-gif-integration.md @@ -11,7 +11,7 @@ To enable this integration, you need to get a production API key from 1. [Create a GIPHY account](https://giphy.com/join). -1. Create a GIPHY API Key by clicking “Create an App” on the +1. Create a GIPHY API key by clicking “Create an App” on the [Developer Dashboard][giphy-dashboard]. 1. Choose **SDK** as product type and click **Next Step**. diff --git a/docs/production/maintain-secure-upgrade.md b/docs/production/maintain-secure-upgrade.md index c10cb6ab9e..b0b3a65a4d 100644 --- a/docs/production/maintain-secure-upgrade.md +++ b/docs/production/maintain-secure-upgrade.md @@ -12,7 +12,7 @@ Moved to [Troubleshooting](../production/troubleshooting.html#monitoring). ### Securing your Zulip server -Moved to [Security Model](../production/security-model.md). +Moved to [Security model](../production/security-model.md). ### Upgrading diff --git a/docs/subsystems/events-system.md b/docs/subsystems/events-system.md index 4669232207..6f4c1b62f7 100644 --- a/docs/subsystems/events-system.md +++ b/docs/subsystems/events-system.md @@ -98,7 +98,7 @@ client. This approach is reasonably efficient and works everywhere (unlike websockets, which have a decreasing but nonzero level of client compatibility problems). -For each connected client, the **Event Queue Server** maintains an +For each connected client, the **event queue server** maintains an **event queue**, which contains any events that are to be delivered to that client which have not yet been acknowledged by that client. Ignoring the subtle details around error handling, the protocol is @@ -156,15 +156,15 @@ requesting events; its handler for this case should just restart the client / reload the browser so that it refetches initial data the same way it would on startup. Since clients have to implement their startup process anyway, this approach adds minimal technical -complexity to clients. A nice side effect is that if the Event Queue -Server (which stores queues in memory) were to crash and lose +complexity to clients. A nice side effect is that if the event queue +server (which stores queues in memory) were to crash and lose its data, clients would recover, just as if they had lost Internet access briefly (there is some DoS risk to manage, though). Note that the garbage-collection system has hooks that are important for the implementation of [notifications](../subsystems/notifications.md). -(The Event Queue Server is designed to save any event queues to disk +(The event queue server is designed to save any event queues to disk and reload them when the server is restarted, and catches exceptions carefully, so such incidents are very rare, but it's nice to have a design that handles them without leaving broken out-of-date clients diff --git a/docs/subsystems/html-css.md b/docs/subsystems/html-css.md index 8d16a03665..98f20e5f75 100644 --- a/docs/subsystems/html-css.md +++ b/docs/subsystems/html-css.md @@ -227,7 +227,7 @@ A few useful notes are: * Zulip installs static assets in production in `/home/zulip/prod-static`. When a new version is deployed, before the server is restarted, files are copied into that directory. -* We use the VFL (Versioned File Layout) strategy, where each file in +* We use the VFL (versioned file layout) strategy, where each file in the codebase (e.g. `favicon.ico`) gets a new name (e.g. `favicon.c55d45ae8c58.ico`) that contains a hash in it. Each deployment, has a manifest file diff --git a/docs/subsystems/notifications.md b/docs/subsystems/notifications.md index b37a00c699..480bce01c7 100644 --- a/docs/subsystems/notifications.md +++ b/docs/subsystems/notifications.md @@ -11,10 +11,10 @@ the details of the email/mobile push notifications code path. Here we name a few corner cases worth understanding in designing this sort of notifications system: -* The **Idle Desktop Problem**: We don't want the presence of a +* The **idle desktop problem**: We don't want the presence of a desktop computer at the office to eat all notifications because the user has an "online" client that they may not have used in 3 days. -* The **Hard Disconnect Problem**: A client can lose its connection to +* The **hard disconnect problem**: A client can lose its connection to the Internet (or be suspended, or whatever) at any time, and this happens routinely. We want to ensure that races where a user closes their laptop shortly after a notifiable message is sent does not @@ -57,10 +57,10 @@ as follows: checks are implemented. * Users in `presence_idle_user_ids` are always considered idle: the variable name means "users who are idle because of - presence". This is how we solve the Idle Desktop Problem; users + presence". This is how we solve the idle desktop problem; users with an idle desktop are treated the same as users who aren't logged in for this check. - * However, that check does not handle the Hard Disconnect Problem: + * However, that check does not handle the hard disconnect problem: if a user was present 1 minute before a message was sent, and then closed their laptop, the user will not be in `presence_idle_user_ids`, and so without an additional mechanism, @@ -75,7 +75,7 @@ as follows: * The `receiver_is_off_zulip` check is effectively repeated when event queues are garbage-collected (in `missedmessage_hook`) by looking for whether the queue being garbage-collectee was the only - one; this second check solves the Hard Disconnect Problem, resulting in + one; this second check solves the hard disconnect problem, resulting in notifications for these hard-disconnect cases usually coming 10 minutes late. * The message-edit code path has parallel logic in @@ -124,8 +124,8 @@ as follows: `push_notifications.py` code that actually sends the notification. This logic is somewhat complicated by having to track the number of unread push notifications to display on the mobile - apps' badges, as well as using the [Mobile Push Notifications - Service](../production/mobile-push-notifications.md) for self-hosted + apps' badges, as well as using the [mobile push notifications + service](../production/mobile-push-notifications.md) for self-hosted systems. The following important constraints are worth understanding about the diff --git a/docs/testing/continuous-integration.md b/docs/testing/continuous-integration.md index 0fd34d2c31..be11fa3a60 100644 --- a/docs/testing/continuous-integration.md +++ b/docs/testing/continuous-integration.md @@ -76,12 +76,12 @@ The remaining details in this section are primarily relevant for doing development on our CI system and/or provisioning process. The first key of the job section is `docker`. The docker key specifies -the image GitHub Action should get from [Docker Hub][docker-hub] for running -the job. Once GitHub Action fetches the image from Docker Hub, it will spin +the image GitHub Actions should get from [Docker Hub][docker-hub] for running +the job. Once GitHub Actions fetches the image from Docker Hub, it will spin up a docker container. See [images](#images) section to know more about -the images we use in GitHub Action for testing. +the images we use in GitHub Actions for testing. -After booting the container from the configured image, GitHub Action will +After booting the container from the configured image, GitHub Actions will create the directory mentioned in `working_directory` and all the steps are be run from here. @@ -92,7 +92,7 @@ are defined in the `aliases` section at the top of the file. ### Images -GitHub Action tests are run in containers that are spun off from the images +GitHub Actions tests are run in containers that are spun off from the images maintained by Zulip team. The Dockerfiles for the various images can be generated by running `./tools/ci/generate-dockerfiles`. This command will generate the Dockerfiles of the three Ubuntu releases in @@ -106,7 +106,7 @@ generated Dockerfiles. #### Caching -An important element of making GitHub Action perform effectively is caching +An important element of making GitHub Actions perform effectively is caching between jobs the various caches that live under `/srv/` in a Zulip development or production environment. In particular, we cache the following: @@ -114,7 +114,7 @@ following: * Python virtualenvs * node_modules directories -This has a huge impact on the performance of running tests in GitHub Action +This has a huge impact on the performance of running tests in GitHub Actions CI; without these caches, the average test time would be several times longer. diff --git a/docs/translating/internationalization.md b/docs/translating/internationalization.md index 3d95b45831..08c7990225 100644 --- a/docs/translating/internationalization.md +++ b/docs/translating/internationalization.md @@ -63,8 +63,8 @@ to understand when implementing an internationalized application: find your string. There's a lot of other interesting differences that are important for -i18n (e.g. Zulip has a "Full Name" field rather than "First Name" and -"Last Name" because different cultures order the surnames and given +i18n (e.g. Zulip has a "full name" field rather than "first name" and +"last name" because different cultures order the surnames and given names differently), but the above issues are likely to be relevant to most people working on Zulip. @@ -175,8 +175,8 @@ ensure this, the error message passed to `json_error` and function, e.g.: ``` -json_error(_('English Text')) -JsonableError(_('English Text')) +json_error(_('English text')) +JsonableError(_('English text')) ``` If you're declaring a user-facing string at top level or in a class, you need to @@ -215,7 +215,7 @@ To mark a string translatable in JavaScript files, pass it to the `intl.formatMessage` function, which we alias to `$t` in `intl.js`: ```js -$t({defaultMessage: "English Text"}) +$t({defaultMessage: "English text"}) ``` The string to be translated must be a constant literal string, but @@ -258,14 +258,14 @@ For translations in Handlebars templates we also use FormatJS, through two Handlebars [helpers][] that Zulip registers. The syntax for simple strings is: ``` -{{t 'English Text' }} +{{t 'English text' }} ``` If you are passing a translated string to a Handlebars partial, you can use: ``` {{> template_name - variable_name=(t 'English Text') + variable_name=(t 'English text') }} ``` diff --git a/docs/tutorials/life-of-a-request.md b/docs/tutorials/life-of-a-request.md index eb4d57efac..f09c88d7ca 100644 --- a/docs/tutorials/life-of-a-request.md +++ b/docs/tutorials/life-of-a-request.md @@ -198,7 +198,7 @@ return `json_error` in the case of an error, which gives a JSON string: `{'result': 'error', 'msg': }` in a -[HTTP Response](https://docs.djangoproject.com/en/1.8/ref/request-response/) +[HTTP response](https://docs.djangoproject.com/en/1.8/ref/request-response/) with a content type of 'application/json'. To pass back data from the server to the calling client, in the event of diff --git a/frontend_tests/node_tests/copy_and_paste.js b/frontend_tests/node_tests/copy_and_paste.js index dd911de556..bdd7b4e424 100644 --- a/frontend_tests/node_tests/copy_and_paste.js +++ b/frontend_tests/node_tests/copy_and_paste.js @@ -79,17 +79,17 @@ run_test("paste_handler", () => { assert.equal(copy_and_paste.paste_handler_converter(input), "*This text is italic*"); input = - '

Test List:

  • Item 1
  • Item 2
'; + '

Test list:

  • Item 1
  • Item 2
'; assert.equal( copy_and_paste.paste_handler_converter(input), - "Test List:\n* Item 1\n* Item 2", + "Test list:\n* Item 1\n* Item 2", ); input = - '
Test List:
  • Item 1
  • Item 2
'; + '
Test list:
  • Item 1
  • Item 2
'; assert.equal( copy_and_paste.paste_handler_converter(input), - "Test List:\n* Item 1\n* Item 2", + "Test list:\n* Item 1\n* Item 2", ); let data = "

text

"; diff --git a/frontend_tests/node_tests/drafts.js b/frontend_tests/node_tests/drafts.js index 7ba24fd78f..d93d15b156 100644 --- a/frontend_tests/node_tests/drafts.js +++ b/frontend_tests/node_tests/drafts.js @@ -59,13 +59,13 @@ const draft_1 = { stream: "stream", topic: "topic", type: "stream", - content: "Test Stream Message", + content: "Test stream message", }; const draft_2 = { private_message_recipient: "aaron@zulip.com", reply_to: "aaron@zulip.com", type: "private", - content: "Test Private Message", + content: "Test private message", }; const short_msg = { stream: "stream", @@ -185,14 +185,14 @@ test("remove_old_drafts", () => { stream: "stream", subject: "topic", type: "stream", - content: "Test Stream Message", + content: "Test stream message", updatedAt: Date.now(), }; const draft_4 = { private_message_recipient: "aaron@zulip.com", reply_to: "aaron@zulip.com", type: "private", - content: "Test Private Message", + content: "Test private message", updatedAt: new Date().setDate(-30), }; const draft_model = drafts.draft_model; @@ -220,35 +220,35 @@ test("format_drafts", (override) => { stream: "stream", topic: "topic", type: "stream", - content: "Test Stream Message", + content: "Test stream message", updatedAt: feb12().getTime(), }; const draft_2 = { private_message_recipient: "aaron@zulip.com", reply_to: "aaron@zulip.com", type: "private", - content: "Test Private Message", + content: "Test private message", updatedAt: date(-1), }; const draft_3 = { stream: "stream 2", subject: "topic", type: "stream", - content: "Test Stream Message 2", + content: "Test stream message 2", updatedAt: date(-10), }; const draft_4 = { private_message_recipient: "aaron@zulip.com", reply_to: "iago@zulip.com", type: "private", - content: "Test Private Message 2", + content: "Test private message 2", updatedAt: date(-5), }; const draft_5 = { private_message_recipient: "aaron@zulip.com", reply_to: "zoe@zulip.com", type: "private", - content: "Test Private Message 3", + content: "Test private message 3", updatedAt: date(-2), }; @@ -260,28 +260,28 @@ test("format_drafts", (override) => { stream_color: "#FFFFFF", dark_background: "", topic: "topic", - raw_content: "Test Stream Message", + raw_content: "Test stream message", time_stamp: "7:55 AM", }, { draft_id: "id2", is_stream: false, recipients: "aaron@zulip.com", - raw_content: "Test Private Message", + raw_content: "Test private message", time_stamp: "Jan 30", }, { draft_id: "id5", is_stream: false, recipients: "aaron@zulip.com", - raw_content: "Test Private Message 3", + raw_content: "Test private message 3", time_stamp: "Jan 29", }, { draft_id: "id4", is_stream: false, recipients: "aaron@zulip.com", - raw_content: "Test Private Message 2", + raw_content: "Test private message 2", time_stamp: "Jan 26", }, { @@ -291,7 +291,7 @@ test("format_drafts", (override) => { stream_color: "#FFFFFF", dark_background: "", topic: "topic", - raw_content: "Test Stream Message 2", + raw_content: "Test stream message 2", time_stamp: "Jan 21", }, ]; diff --git a/frontend_tests/node_tests/filter.js b/frontend_tests/node_tests/filter.js index a1f8f45231..522df928e6 100644 --- a/frontend_tests/node_tests/filter.js +++ b/frontend_tests/node_tests/filter.js @@ -1125,7 +1125,7 @@ test("describe", () => { }); test("can_bucket_by", () => { - let terms = [{operator: "stream", operand: "My Stream"}]; + let terms = [{operator: "stream", operand: "My stream"}]; let filter = new Filter(terms); assert.equal(filter.can_bucket_by("stream"), true); assert.equal(filter.can_bucket_by("stream", "topic"), false); @@ -1133,8 +1133,8 @@ test("can_bucket_by", () => { terms = [ // try a non-orthodox ordering - {operator: "topic", operand: "My Topic"}, - {operator: "stream", operand: "My Stream"}, + {operator: "topic", operand: "My topic"}, + {operator: "stream", operand: "My stream"}, ]; filter = new Filter(terms); assert.equal(filter.can_bucket_by("stream"), true); @@ -1142,8 +1142,8 @@ test("can_bucket_by", () => { assert.equal(filter.can_bucket_by("pm-with"), false); terms = [ - {operator: "stream", operand: "My Stream", negated: true}, - {operator: "topic", operand: "My Topic"}, + {operator: "stream", operand: "My stream", negated: true}, + {operator: "topic", operand: "My topic"}, ]; filter = new Filter(terms); assert.equal(filter.can_bucket_by("stream"), false); diff --git a/frontend_tests/node_tests/fold_dict.js b/frontend_tests/node_tests/fold_dict.js index f65baa4cd3..8e33319196 100644 --- a/frontend_tests/node_tests/fold_dict.js +++ b/frontend_tests/node_tests/fold_dict.js @@ -54,8 +54,8 @@ run_test("case insensitivity", () => { assert.deepEqual(Array.from(d.keys()), []); assert(!d.has("foo")); - d.set("fOO", "Hello World"); - assert.equal(d.get("foo"), "Hello World"); + d.set("fOO", "Hello world"); + assert.equal(d.get("foo"), "Hello world"); assert(d.has("foo")); assert(d.has("FOO")); assert(!d.has("not_a_key")); diff --git a/frontend_tests/node_tests/markdown.js b/frontend_tests/node_tests/markdown.js index 80434ba65e..3695fdaebb 100644 --- a/frontend_tests/node_tests/markdown.js +++ b/frontend_tests/node_tests/markdown.js @@ -128,7 +128,7 @@ const backend = { const edgecase_group = { name: "Bobby

Tables

", id: 3, - description: "HTML Syntax to check for Markdown edge cases.", + description: "HTML syntax to check for Markdown edge cases.", members: [], }; diff --git a/frontend_tests/node_tests/message_list_view.js b/frontend_tests/node_tests/message_list_view.js index ee0dc9e157..971bdf1b1a 100644 --- a/frontend_tests/node_tests/message_list_view.js +++ b/frontend_tests/node_tests/message_list_view.js @@ -226,8 +226,8 @@ run_test("merge_message_groups", () => { id: _.uniqueId("test_message_"), status_message: false, type: "stream", - stream: "Test Stream 1", - topic: "Test Subject 1", + stream: "Test stream 1", + topic: "Test subject 1", sender_email: "test@example.com", timestamp: (next_timestamp += 1), ...message, @@ -431,7 +431,7 @@ run_test("merge_message_groups", () => { const message1 = build_message_context(); const message_group1 = build_message_group([message1]); - const message2 = build_message_context({topic: "Test Subject 2"}); + const message2 = build_message_context({topic: "Test subject 2"}); const message_group2 = build_message_group([message2]); const list = build_list([message_group1]); @@ -449,7 +449,7 @@ run_test("merge_message_groups", () => { const message1 = build_message_context({timestamp: 900000}); const message_group1 = build_message_group([message1]); - const message2 = build_message_context({topic: "Test Subject 2", timestamp: 1000}); + const message2 = build_message_context({topic: "Test subject 2", timestamp: 1000}); const message_group2 = build_message_group([message2]); const list = build_list([message_group1]); diff --git a/frontend_tests/node_tests/narrow_unread.js b/frontend_tests/node_tests/narrow_unread.js index e347e079a5..9ac2e61396 100644 --- a/frontend_tests/node_tests/narrow_unread.js +++ b/frontend_tests/node_tests/narrow_unread.js @@ -49,7 +49,7 @@ run_test("get_unread_ids", () => { let terms; const sub = { - name: "My Stream", + name: "My stream", stream_id: 55, }; diff --git a/frontend_tests/node_tests/reactions.js b/frontend_tests/node_tests/reactions.js index 9b86d16f63..1f863a0603 100644 --- a/frontend_tests/node_tests/reactions.js +++ b/frontend_tests/node_tests/reactions.js @@ -284,8 +284,8 @@ test("sending", (override) => { // similarly, we only exercise the failure codepath // Since this path calls blueslip.warn, we need to handle it. - blueslip.expect("warn", "XHR Error Message."); - channel.xhr_error_message = () => "XHR Error Message."; + blueslip.expect("warn", "XHR error message."); + channel.xhr_error_message = () => "XHR error message."; args.error(); } emoji_name = "alien"; // not set yet diff --git a/frontend_tests/node_tests/recent_topics.js b/frontend_tests/node_tests/recent_topics.js index d19af18710..a315a9c4a3 100644 --- a/frontend_tests/node_tests/recent_topics.js +++ b/frontend_tests/node_tests/recent_topics.js @@ -25,7 +25,7 @@ const stream4 = 4; const stream5 = 5; // Deleted stream // Topics in the stream, all unread except topic1 & stream1. -const topic1 = "topic-1"; // No Other sender & read. +const topic1 = "topic-1"; // No other sender & read. const topic2 = "topic-2"; // Other sender const topic3 = "topic-3"; // User not present const topic4 = "topic-4"; // User not present @@ -786,31 +786,31 @@ test("test_topic_edit", (override) => { test("test_search", () => { rt.clear_for_tests(); - assert.equal(rt.topic_in_search_results("t", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("T", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("to", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("top", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("ToP", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("Topi", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("tOpi", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("toPic", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("Topic", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("topic", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("recent", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("RECENT", "general", "Recent Topic"), true); + assert.equal(rt.topic_in_search_results("t", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("T", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("to", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("top", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("ToP", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("Topi", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("tOpi", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("toPic", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("Topic", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("topic", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("recent", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("RECENT", "general", "Recent topic"), true); // match in any order of words - assert.equal(rt.topic_in_search_results("topic recent", "general", "Recent Topic"), true); + assert.equal(rt.topic_in_search_results("topic recent", "general", "Recent topic"), true); // Matches any sequence of words. - assert.equal(rt.topic_in_search_results("o", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("nt to", "general", "Recent Topic"), true); - assert.equal(rt.topic_in_search_results("z", "general", "Recent Topic"), false); + assert.equal(rt.topic_in_search_results("o", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("nt to", "general", "Recent topic"), true); + assert.equal(rt.topic_in_search_results("z", "general", "Recent topic"), false); - assert.equal(rt.topic_in_search_results("?", "general", "Recent Topic"), false); + assert.equal(rt.topic_in_search_results("?", "general", "Recent topic"), false); // Test special character match - assert.equal(rt.topic_in_search_results(".*+?^${}()[]\\", "general", "Recent Topic"), false); + assert.equal(rt.topic_in_search_results(".*+?^${}()[]\\", "general", "Recent topic"), false); assert.equal(rt.topic_in_search_results("?", "general", "not-at-start?"), true); assert.equal(rt.topic_in_search_results("?", "general", "?"), true); diff --git a/frontend_tests/node_tests/rendered_markdown.js b/frontend_tests/node_tests/rendered_markdown.js index 12576df8da..0d22d4c89b 100644 --- a/frontend_tests/node_tests/rendered_markdown.js +++ b/frontend_tests/node_tests/rendered_markdown.js @@ -254,7 +254,7 @@ run_test("spoiler-header", () => { $content.set_find_results("div.spoiler-header", $array([$header])); // Test that the show/hide button gets added to a spoiler header. - const label = "My Spoiler Header"; + const label = "My spoiler header"; const toggle_button_html = ''; $header.html(label); diff --git a/frontend_tests/node_tests/settings_profile_fields.js b/frontend_tests/node_tests/settings_profile_fields.js index 75899e10bc..e23fdca64b 100644 --- a/frontend_tests/node_tests/settings_profile_fields.js +++ b/frontend_tests/node_tests/settings_profile_fields.js @@ -16,7 +16,7 @@ const SHORT_TEXT_ID = 1; const SELECT_ID = 3; const EXTERNAL_ACCOUNT_ID = 7; -const SHORT_TEXT_NAME = "Short Text"; +const SHORT_TEXT_NAME = "Short text"; const SELECT_NAME = "Select"; const EXTERNAL_ACCOUNT_NAME = "External account"; diff --git a/frontend_tests/node_tests/typeahead_helper.js b/frontend_tests/node_tests/typeahead_helper.js index ae76d016f2..d1997daf79 100644 --- a/frontend_tests/node_tests/typeahead_helper.js +++ b/frontend_tests/node_tests/typeahead_helper.js @@ -224,7 +224,7 @@ test("sort_streams", (override) => { { stream_id: 304, name: "Derp", - description: "Always Derping", + description: "Always derping", subscribed: false, }, { @@ -344,24 +344,24 @@ test("sort_recipients", () => { recent_senders.process_message_for_senders({ sender_id: 7, stream_id: 1, - topic: "Dev Topic", + topic: "Dev topic", id: (next_id += 1), }); recent_senders.process_message_for_senders({ sender_id: 5, stream_id: 1, - topic: "Dev Topic", + topic: "Dev topic", id: (next_id += 1), }); recent_senders.process_message_for_senders({ sender_id: 6, stream_id: 1, - topic: "Dev Topic", + topic: "Dev topic", id: (next_id += 1), }); // Typeahead for stream message [query, stream-name, topic-name] - assert.deepEqual(get_typeahead_result("b", "Dev", "Dev Topic"), [ + assert.deepEqual(get_typeahead_result("b", "Dev", "Dev topic"), [ subscriber_email_3, subscriber_email_2, subscriber_email_1, @@ -374,18 +374,18 @@ test("sort_recipients", () => { recent_senders.process_message_for_senders({ sender_id: 5, stream_id: 2, - topic: "Linux Topic", + topic: "Linux topic", id: (next_id += 1), }); recent_senders.process_message_for_senders({ sender_id: 7, stream_id: 2, - topic: "Linux Topic", + topic: "Linux topic", id: (next_id += 1), }); // No match - assert.deepEqual(get_typeahead_result("h", "Linux", "Linux Topic"), [ + assert.deepEqual(get_typeahead_result("h", "Linux", "Linux topic"), [ "zman@test.net", "b_user_3@zulip.net", "a_user@zulip.org", @@ -405,7 +405,7 @@ test("sort_recipients all mention", () => { // Test person email is "all" or "everyone" const test_objs = matches.concat([all_obj]); - const results = th.sort_recipients(test_objs, "a", "Linux", "Linux Topic"); + const results = th.sort_recipients(test_objs, "a", "Linux", "Linux topic"); assertSameEmails(results, [all_obj, a_bot, a_user, b_user_1, b_user_2, b_user_3, b_bot, zman]); }); @@ -433,7 +433,7 @@ test("sort_recipients pm counts", () => { const linux_sub = stream_data.get_sub("Linux"); peer_data.add_subscriber(linux_sub.stream_id, b_user_3.user_id); - assert.deepEqual(get_typeahead_result("b", "Linux", "Linux Topic"), [ + assert.deepEqual(get_typeahead_result("b", "Linux", "Linux topic"), [ "b_user_3@zulip.net", "b_user_1@zulip.net", "b_user_2@zulip.net", @@ -482,7 +482,7 @@ test("sort_recipients dup alls", () => { // full_name starts with same character but emails are 'all' const test_objs = [all_obj, a_user, all_obj]; - const recipients = th.sort_recipients(test_objs, "a", "Linux", "Linux Topic"); + const recipients = th.sort_recipients(test_objs, "a", "Linux", "Linux topic"); const expected = [all_obj, all_obj, a_user]; assertSameEmails(recipients, expected); @@ -491,7 +491,7 @@ test("sort_recipients dup alls", () => { test("sort_recipients subscribers", () => { // b_user_2 is a subscriber and b_user_1 is not. const small_matches = [b_user_2, b_user_1]; - const recipients = th.sort_recipients(small_matches, "b", "Dev", "Dev Topic"); + const recipients = th.sort_recipients(small_matches, "b", "Dev", "Dev topic"); const recipients_email = recipients.map((person) => person.email); const expected = ["b_user_2@zulip.net", "b_user_1@zulip.net"]; assert.deepEqual(recipients_email, expected); @@ -501,7 +501,7 @@ test("sort_recipients pm partners", () => { // b_user_3 is a pm partner and b_user_2 is not and // both are not subscribered to the stream Linux. const small_matches = [b_user_3, b_user_2]; - const recipients = th.sort_recipients(small_matches, "b", "Linux", "Linux Topic"); + const recipients = th.sort_recipients(small_matches, "b", "Linux", "Linux topic"); const recipients_email = recipients.map((person) => person.email); const expected = ["b_user_3@zulip.net", "b_user_2@zulip.net"]; assert.deepEqual(recipients_email, expected); @@ -629,7 +629,7 @@ test("render_stream", () => { const stream = { description: "This is a short description.", stream_id: 42, - name: "Short Description", + name: "Short description", }; stub_templates((template_name, args) => { @@ -649,7 +649,7 @@ test("render_stream w/long description", () => { const stream = { description: "This is a very very very very very long description.", stream_id: 43, - name: "Long Description", + name: "Long description", }; stub_templates((template_name, args) => { diff --git a/frontend_tests/node_tests/unread.js b/frontend_tests/node_tests/unread.js index 09fa4a1d06..07fdc416be 100644 --- a/frontend_tests/node_tests/unread.js +++ b/frontend_tests/node_tests/unread.js @@ -249,7 +249,7 @@ test("num_unread_for_topic", (override) => { override(sub_store, "get", (arg) => { if (arg === stream_id) { - return {name: "Some Stream"}; + return {name: "Some stream"}; } throw new Error(`Unknown stream ${arg}`); }); diff --git a/frontend_tests/node_tests/upload.js b/frontend_tests/node_tests/upload.js index 58fc996938..a21a82bc48 100644 --- a/frontend_tests/node_tests/upload.js +++ b/frontend_tests/node_tests/upload.js @@ -614,7 +614,7 @@ test("uppy_events", (override) => { state = { type: "error", - details: "Some Error", + details: "Some error", message: "Some error message", }; const on_info_visible_callback = callbacks["info-visible"]; diff --git a/frontend_tests/node_tests/zjquery.js b/frontend_tests/node_tests/zjquery.js index f9d1e0c0f5..cef8a8db97 100644 --- a/frontend_tests/node_tests/zjquery.js +++ b/frontend_tests/node_tests/zjquery.js @@ -62,8 +62,8 @@ run_test("basics", () => { widget.html("hello"); assert.equal(widget.html(), "hello"); - widget.prop("title", "My Widget"); - assert.equal(widget.prop("title"), "My Widget"); + widget.prop("title", "My widget"); + assert.equal(widget.prop("title"), "My widget"); widget.val("42"); assert.equal(widget.val(), "42"); diff --git a/frontend_tests/puppeteer_tests/drafts.ts b/frontend_tests/puppeteer_tests/drafts.ts index e55e398b93..44882e2977 100644 --- a/frontend_tests/puppeteer_tests/drafts.ts +++ b/frontend_tests/puppeteer_tests/drafts.ts @@ -37,7 +37,7 @@ async function test_empty_drafts(page: Page): Promise { } async function create_stream_message_draft(page: Page): Promise { - console.log("Creating Stream Message Draft"); + console.log("Creating stream message draft"); await page.keyboard.press("KeyC"); await page.waitForSelector("#stream-message", {visible: true}); await common.fill_form(page, "form#send_message_form", { @@ -116,7 +116,7 @@ async function test_previously_created_drafts_rendered(page: Page): Promise { - console.log("Restoring Stream Message Draft"); + console.log("Restoring stream message draft"); await page.click("#drafts_table .message_row:not(.private-message) .restore-draft"); await wait_for_drafts_to_dissapear(page); await page.waitForSelector("#stream-message", {visible: true}); @@ -137,7 +137,7 @@ async function edit_stream_message_draft(page: Page): Promise { await common.fill_form(page, "form#send_message_form", { stream_message_recipient_stream: "all", stream_message_recipient_topic: "tests", - content: "Updated Stream Message", + content: "Updated stream message", }); await page.click("#compose_close"); } @@ -166,7 +166,7 @@ async function test_edited_draft_message(page: Page): Promise { page, ".draft-row:nth-last-child(2) .rendered_markdown.restore-draft", ), - "Updated Stream Message", + "Updated stream message", ); } diff --git a/frontend_tests/puppeteer_tests/settings.ts b/frontend_tests/puppeteer_tests/settings.ts index d399c9dd43..f2406f3584 100644 --- a/frontend_tests/puppeteer_tests/settings.ts +++ b/frontend_tests/puppeteer_tests/settings.ts @@ -82,7 +82,7 @@ async function test_get_api_key(page: Page): Promise { }); // When typing the password in Firefox, it shows "Not Secure" warning - // which was hiding the Get API Key button. + // which was hiding the Get API key button. // You can see the screenshot of it in https://github.com/zulip/zulip/pull/17136. // Focusing on it will remove the warning. await page.focus(get_api_key_button_selector); diff --git a/puppet/zulip_ops/manifests/profile/base.pp b/puppet/zulip_ops/manifests/profile/base.pp index 6338860071..f10fc0edd1 100644 --- a/puppet/zulip_ops/manifests/profile/base.pp +++ b/puppet/zulip_ops/manifests/profile/base.pp @@ -8,7 +8,7 @@ class zulip_ops::profile::base { 'mosh', # package management 'aptitude', - # SSL Certificates + # SSL certificates 'certbot', # Security 'iptables-persistent', diff --git a/static/js/message_fetch.js b/static/js/message_fetch.js index b7cd0f49f5..86bb7711cf 100644 --- a/static/js/message_fetch.js +++ b/static/js/message_fetch.js @@ -456,11 +456,11 @@ export function initialize(home_view_loaded) { // more performant (i.e. avoids this unnecessary extra fetch the // results of which are basically discarded) and better represents // more than a few hundred messages' history, but this strategy - // allows "Recent Topics" to always show current data (with gaps) + // allows "Recent topics" to always show current data (with gaps) // on page load; the data will be complete once the algorithm // above catches up to present. // - // (Users will see a weird artifact where Recent Topics has a gap + // (Users will see a weird artifact where Recent topics has a gap // between E.g. 6 days ago and 37 days ago while the catchup // process runs, so this strategy still results in problematic // visual artifacts shortly after page load; just more forgiveable diff --git a/static/js/narrow.js b/static/js/narrow.js index c0c18f03f0..45ba5b364d 100644 --- a/static/js/narrow.js +++ b/static/js/narrow.js @@ -828,7 +828,7 @@ export function deactivate(coming_from_recent_topics = false) { message_lists.home in it. */ search.clear_search_form(); - // Both All messages and Recent Topics have `undefined` filter. + // Both All messages and Recent topics have `undefined` filter. // Return if already in the All message narrow. if (narrow_state.filter() === undefined && !coming_from_recent_topics) { return; diff --git a/static/js/portico/integrations_dev_panel.js b/static/js/portico/integrations_dev_panel.js index 5c02c99a4d..d16dda2e02 100644 --- a/static/js/portico/integrations_dev_panel.js +++ b/static/js/portico/integrations_dev_panel.js @@ -4,7 +4,7 @@ import * as channel from "../channel"; // Main JavaScript file for the integrations development panel at // /devtools/integrations. -// Data Segment: We lazy load the requested fixtures from the backend +// Data segment: We lazy load the requested fixtures from the backend // as and when required and then cache them here. const loaded_fixtures = new Map(); @@ -106,9 +106,9 @@ function set_results(response) { for (const response of responses) { if (response.fixture_name !== undefined) { data += "Fixture: " + response.fixture_name; - data += "\nStatus Code: " + response.status_code; + data += "\nStatus code: " + response.status_code; } else { - data += "Status Code: " + response.status_code; + data += "Status code: " + response.status_code; } data += "\nResponse: " + response.message + "\n\n"; } @@ -184,7 +184,7 @@ function update_url() { return; } -// API Callers: These methods handle communicating with the Python backend API. +// API callers: These methods handle communicating with the Python backend API. function handle_unsuccessful_response(response) { try { const status_code = response.statusCode().status; @@ -337,7 +337,7 @@ $(() => { ]); $("#stream_name")[0].value = "Denmark"; - $("#topic_name")[0].value = "Integrations Testing"; + $("#topic_name")[0].value = "Integrations testing"; const potential_default_bot = $("#bot_name")[0][1]; if (potential_default_bot !== undefined) { diff --git a/static/js/settings_profile_fields.js b/static/js/settings_profile_fields.js index ee2480cfd6..4635c8491c 100644 --- a/static/js/settings_profile_fields.js +++ b/static/js/settings_profile_fields.js @@ -114,7 +114,7 @@ function create_choice_row(container) { function clear_form_data() { $("#profile_field_name").val("").closest(".control-group").show(); $("#profile_field_hint").val("").closest(".control-group").show(); - // Set default type "Short Text" in field type dropdown + // Set default type "Short text" in field type dropdown $("#profile_field_type").val(field_types.SHORT_TEXT.id); // Clear data from select field form $("#profile_field_choices").html(""); diff --git a/static/shared/js/fenced_code.js b/static/shared/js/fenced_code.js index 5c2fb5ab52..91a6fcc0dd 100644 --- a/static/shared/js/fenced_code.js +++ b/static/shared/js/fenced_code.js @@ -9,7 +9,7 @@ import _ from "lodash"; // See backend fenced_code.py:71 for associated regexp const fencestr = - "^(~{3,}|`{3,})" + // Opening Fence + "^(~{3,}|`{3,})" + // Opening fence "[ ]*" + // Spaces "(" + "\\{?\\.?" + diff --git a/static/styles/portico/markdown.css b/static/styles/portico/markdown.css index 45822b116f..62e33d24a3 100644 --- a/static/styles/portico/markdown.css +++ b/static/styles/portico/markdown.css @@ -256,7 +256,7 @@ .keyboard_tip::before { display: inline; - content: "\f11c Keyboard Shortcut: "; + content: "\f11c Keyboard shortcut: "; font-family: FontAwesome, "Source Sans 3", sans-serif; font-weight: 600; } diff --git a/static/templates/settings/playground_settings_admin.hbs b/static/templates/settings/playground_settings_admin.hbs index 48f4e6644b..58a240b677 100644 --- a/static/templates/settings/playground_settings_admin.hbs +++ b/static/templates/settings/playground_settings_admin.hbs @@ -13,7 +13,7 @@

{{#tr}} For example, to configure code playgrounds for languages like Python or JavaScript, you could specify the Language - and URL Prefix fields as: + and URL prefix fields as: {{/tr}}