diff --git a/help/read-receipts.md b/help/read-receipts.md index bdb2cfce13..dfa826ec9d 100644 --- a/help/read-receipts.md +++ b/help/read-receipts.md @@ -4,9 +4,9 @@ Read receipts let you check who has read a message. You can see read receipts for any message, including both [channel messages](/help/introduction-to-channels) and [direct messages](/help/direct-messages). -With privacy in mind, Zulip lets you [control][configure-personal-read-recipts] +With privacy in mind, Zulip lets you [control][configure-personal-read-receipts] whether your read receipts are shared, and administrators can -[choose][configure-organization-read-recipts] whether to enable read receipts in +[choose][configure-organization-read-receipts] whether to enable read receipts in their organization. !!! tip "" @@ -58,7 +58,7 @@ You can configure: * Whether read receipts are enabled in your organization. * Whether new users will allow others to view read receipts by default. (Note - that users [can always change this setting][configure-personal-read-recipts] + that users [can always change this setting][configure-personal-read-receipts] once they join.) ### Configure whether read receipts are enabled in your organization @@ -90,6 +90,6 @@ You can configure: * [Marking messages as read](/help/marking-messages-as-read) * [Marking messages as unread](/help/marking-messages-as-unread) -[configure-personal-read-recipts]: /help/read-receipts#configure-whether-zulip-lets-others-see-when-youve-read-messages -[configure-organization-read-recipts]: +[configure-personal-read-receipts]: /help/read-receipts#configure-whether-zulip-lets-others-see-when-youve-read-messages +[configure-organization-read-receipts]: /help/read-receipts#configure-whether-read-receipts-are-enabled-in-your-organization diff --git a/help/restrict-account-creation.md b/help/restrict-account-creation.md index 7f598238d8..1d10891b7b 100644 --- a/help/restrict-account-creation.md +++ b/help/restrict-account-creation.md @@ -17,7 +17,7 @@ account and how users access their accounts: join](#set-whether-invitations-are-required-to-join) without an invitation. * You can [restrict the ability to invite new users](#change-who-can-send-invitations) to - join your Zulip organzation to specific [roles](/help/roles-and-permissions). + join your Zulip organization to specific [roles](/help/roles-and-permissions). Regardless of whether invitations are required, you can: diff --git a/zerver/actions/scheduled_messages.py b/zerver/actions/scheduled_messages.py index a6095c1602..d7438445e1 100644 --- a/zerver/actions/scheduled_messages.py +++ b/zerver/actions/scheduled_messages.py @@ -300,7 +300,7 @@ def send_scheduled_message(scheduled_message: ScheduledMessage) -> None: # have changed since the message was originally scheduled. This # means that Markdown syntax referencing mutable organization data # (for example, mentioning a user by name) will work (or not) as - # if the message was sent at the delviery time, not the sending + # if the message was sent at the delivery time, not the sending # time. send_request = check_message( scheduled_message.sender, diff --git a/zerver/lib/markdown/api_arguments_table_generator.py b/zerver/lib/markdown/api_arguments_table_generator.py index d528dcf2e8..d8155ee9c2 100644 --- a/zerver/lib/markdown/api_arguments_table_generator.py +++ b/zerver/lib/markdown/api_arguments_table_generator.py @@ -8,7 +8,7 @@ from markdown.extensions import Extension from markdown.preprocessors import Preprocessor from typing_extensions import override -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES from zerver.openapi.openapi import ( Parameter, check_deprecated_consistency, @@ -56,7 +56,7 @@ class MarkdownArgumentsTableGenerator(Extension): md.preprocessors.register( APIArgumentsTablePreprocessor(md, self.getConfigs()), "generate_api_arguments", - PREPROCESSOR_PRIORITES["generate_api_arguments"], + PREPROCESSOR_PRIORITIES["generate_api_arguments"], ) diff --git a/zerver/lib/markdown/api_return_values_table_generator.py b/zerver/lib/markdown/api_return_values_table_generator.py index 842f1bc776..91b982603b 100644 --- a/zerver/lib/markdown/api_return_values_table_generator.py +++ b/zerver/lib/markdown/api_return_values_table_generator.py @@ -8,7 +8,7 @@ from markdown.extensions import Extension from markdown.preprocessors import Preprocessor from typing_extensions import override -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES from zerver.openapi.openapi import check_deprecated_consistency, get_openapi_return_values from .api_arguments_table_generator import generate_data_type @@ -22,7 +22,7 @@ class MarkdownReturnValuesTableGenerator(Extension): md.preprocessors.register( APIReturnValuesTablePreprocessor(md, self.getConfigs()), "generate_return_values", - PREPROCESSOR_PRIORITES["generate_return_values"], + PREPROCESSOR_PRIORITIES["generate_return_values"], ) diff --git a/zerver/lib/markdown/fenced_code.py b/zerver/lib/markdown/fenced_code.py index 2af199c701..5859c62c55 100644 --- a/zerver/lib/markdown/fenced_code.py +++ b/zerver/lib/markdown/fenced_code.py @@ -90,7 +90,7 @@ from pygments.util import ClassNotFound from typing_extensions import override from zerver.lib.exceptions import MarkdownRenderingError -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES from zerver.lib.tex import render_tex # Global vars @@ -166,7 +166,7 @@ class FencedCodeExtension(Extension): md, run_content_validators=self.config["run_content_validators"][0] ) md.preprocessors.register( - processor, "fenced_code_block", PREPROCESSOR_PRIORITES["fenced_code_block"] + processor, "fenced_code_block", PREPROCESSOR_PRIORITIES["fenced_code_block"] ) diff --git a/zerver/lib/markdown/help_emoticon_translations_table.py b/zerver/lib/markdown/help_emoticon_translations_table.py index f054d6adb5..52327ea54c 100644 --- a/zerver/lib/markdown/help_emoticon_translations_table.py +++ b/zerver/lib/markdown/help_emoticon_translations_table.py @@ -7,7 +7,7 @@ from markdown.preprocessors import Preprocessor from typing_extensions import override from zerver.lib.emoji import EMOTICON_CONVERSIONS, name_to_codepoint -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES REGEXP = re.compile(r"\{emoticon_translations\}") @@ -46,7 +46,7 @@ class EmoticonTranslationsHelpExtension(Extension): md.preprocessors.register( EmoticonTranslation(), "emoticon_translations", - PREPROCESSOR_PRIORITES["emoticon_translations"], + PREPROCESSOR_PRIORITIES["emoticon_translations"], ) diff --git a/zerver/lib/markdown/help_relative_links.py b/zerver/lib/markdown/help_relative_links.py index 32d5ab5ccb..1df1171bd8 100644 --- a/zerver/lib/markdown/help_relative_links.py +++ b/zerver/lib/markdown/help_relative_links.py @@ -6,7 +6,7 @@ from markdown.extensions import Extension from markdown.preprocessors import Preprocessor from typing_extensions import override -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES # There is a lot of duplicated code between this file and # help_settings_links.py. So if you're making a change here consider making @@ -210,7 +210,7 @@ class RelativeLinksHelpExtension(Extension): """Add RelativeLinksHelpExtension to the Markdown instance.""" md.registerExtension(self) md.preprocessors.register( - RelativeLinks(), "help_relative_links", PREPROCESSOR_PRIORITES["help_relative_links"] + RelativeLinks(), "help_relative_links", PREPROCESSOR_PRIORITIES["help_relative_links"] ) diff --git a/zerver/lib/markdown/help_settings_links.py b/zerver/lib/markdown/help_settings_links.py index e384d47f2a..fc5faf7377 100644 --- a/zerver/lib/markdown/help_settings_links.py +++ b/zerver/lib/markdown/help_settings_links.py @@ -6,7 +6,7 @@ from markdown.extensions import Extension from markdown.preprocessors import Preprocessor from typing_extensions import override -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES # There is a lot of duplicated code between this file and # help_relative_links.py. So if you're making a change here consider making @@ -131,7 +131,7 @@ class SettingHelpExtension(Extension): def extendMarkdown(self, md: Markdown) -> None: """Add SettingHelpExtension to the Markdown instance.""" md.registerExtension(self) - md.preprocessors.register(Setting(), "setting", PREPROCESSOR_PRIORITES["setting"]) + md.preprocessors.register(Setting(), "setting", PREPROCESSOR_PRIORITIES["setting"]) relative_settings_links: bool = False diff --git a/zerver/lib/markdown/nested_code_blocks.py b/zerver/lib/markdown/nested_code_blocks.py index 5a177d46ab..5fa6356906 100644 --- a/zerver/lib/markdown/nested_code_blocks.py +++ b/zerver/lib/markdown/nested_code_blocks.py @@ -6,7 +6,7 @@ from markdown.extensions import Extension from typing_extensions import override from zerver.lib.markdown import ResultWithFamily, walk_tree_with_family -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES class NestedCodeBlocksRenderer(Extension): @@ -15,7 +15,7 @@ class NestedCodeBlocksRenderer(Extension): md.treeprocessors.register( NestedCodeBlocksRendererTreeProcessor(md, self.getConfigs()), "nested_code_blocks", - PREPROCESSOR_PRIORITES["nested_code_blocks"], + PREPROCESSOR_PRIORITIES["nested_code_blocks"], ) diff --git a/zerver/lib/markdown/priorities.py b/zerver/lib/markdown/priorities.py index f761f09601..1240f6317b 100644 --- a/zerver/lib/markdown/priorities.py +++ b/zerver/lib/markdown/priorities.py @@ -2,7 +2,7 @@ # numeric value is considered the highest priority, so the dict # below is ordered from highest-to-lowest priority. # Priorities for the built-in preprocessors are commented out. -PREPROCESSOR_PRIORITES = { +PREPROCESSOR_PRIORITIES = { "generate_parameter_description": 535, "generate_response_description": 531, "generate_api_header": 530, diff --git a/zerver/lib/markdown/static.py b/zerver/lib/markdown/static.py index 685090e1b4..804d16a557 100644 --- a/zerver/lib/markdown/static.py +++ b/zerver/lib/markdown/static.py @@ -6,7 +6,7 @@ from django.contrib.staticfiles.storage import staticfiles_storage from markdown.extensions import Extension from typing_extensions import override -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES class MarkdownStaticImagesGenerator(Extension): @@ -15,7 +15,7 @@ class MarkdownStaticImagesGenerator(Extension): md.treeprocessors.register( StaticImageProcessor(md), "static_images", - PREPROCESSOR_PRIORITES["static_images"], + PREPROCESSOR_PRIORITIES["static_images"], ) diff --git a/zerver/lib/markdown/tabbed_sections.py b/zerver/lib/markdown/tabbed_sections.py index b45f0f100d..d0c4767fd2 100644 --- a/zerver/lib/markdown/tabbed_sections.py +++ b/zerver/lib/markdown/tabbed_sections.py @@ -6,7 +6,7 @@ from markdown.extensions import Extension from markdown.preprocessors import Preprocessor from typing_extensions import override -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES START_TABBED_SECTION_REGEX = re.compile(r"^\{start_tabs\}$") END_TABBED_SECTION_REGEX = re.compile(r"^\{end_tabs\}$") @@ -127,7 +127,7 @@ class TabbedSectionsGenerator(Extension): md.preprocessors.register( TabbedSectionsPreprocessor(md, self.getConfigs()), "tabbed_sections", - PREPROCESSOR_PRIORITES["tabbed_sections"], + PREPROCESSOR_PRIORITIES["tabbed_sections"], ) diff --git a/zerver/openapi/markdown_extension.py b/zerver/openapi/markdown_extension.py index 606119f79f..d5310c8d06 100644 --- a/zerver/openapi/markdown_extension.py +++ b/zerver/openapi/markdown_extension.py @@ -19,7 +19,7 @@ from markdown.preprocessors import Preprocessor from typing_extensions import override import zerver.openapi.python_examples -from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITES +from zerver.lib.markdown.priorities import PREPROCESSOR_PRIORITIES from zerver.openapi.openapi import ( NO_EXAMPLE, Parameter, @@ -411,22 +411,22 @@ class APIMarkdownExtension(Extension): md.preprocessors.register( APICodeExamplesPreprocessor(md, self.getConfigs()), "generate_code_example", - PREPROCESSOR_PRIORITES["generate_code_example"], + PREPROCESSOR_PRIORITIES["generate_code_example"], ) md.preprocessors.register( APIHeaderPreprocessor(md, self.getConfigs()), "generate_api_header", - PREPROCESSOR_PRIORITES["generate_api_header"], + PREPROCESSOR_PRIORITIES["generate_api_header"], ) md.preprocessors.register( ResponseDescriptionPreprocessor(md, self.getConfigs()), "generate_response_description", - PREPROCESSOR_PRIORITES["generate_response_description"], + PREPROCESSOR_PRIORITIES["generate_response_description"], ) md.preprocessors.register( ParameterDescriptionPreprocessor(md, self.getConfigs()), "generate_parameter_description", - PREPROCESSOR_PRIORITES["generate_parameter_description"], + PREPROCESSOR_PRIORITIES["generate_parameter_description"], ) diff --git a/zerver/openapi/zulip.yaml b/zerver/openapi/zulip.yaml index 34c32a1fec..d5dc527b5a 100644 --- a/zerver/openapi/zulip.yaml +++ b/zerver/openapi/zulip.yaml @@ -8730,7 +8730,7 @@ paths: description: | Whether the current user is the only organization owner (meaning there are other active users in the organization) or the only active user in the - organzation. + organization. required: - entity - is_last_owner diff --git a/zerver/tests/test_message_fetch.py b/zerver/tests/test_message_fetch.py index bd17fcacd7..13fa5f5815 100644 --- a/zerver/tests/test_message_fetch.py +++ b/zerver/tests/test_message_fetch.py @@ -2202,20 +2202,20 @@ class GetOldMessagesTest(ZulipTestCase): for message in result["messages"]: self.assertEqual(dr_emails(message["display_recipient"]), emails) - def test_get_messages_with_nonexistant_group_dm(self) -> None: + def test_get_messages_with_nonexistent_group_dm(self) -> None: me = self.example_user("hamlet") # Huddle which doesn't match anything gets no results - non_existant_huddle = [ + non_existent_huddle = [ me.id, self.example_user("iago").id, self.example_user("othello").id, ] self.login_user(me) - narrow: List[Dict[str, Any]] = [dict(operator="dm", operand=non_existant_huddle)] + narrow: List[Dict[str, Any]] = [dict(operator="dm", operand=non_existent_huddle)] result = self.get_and_check_messages(dict(narrow=orjson.dumps(narrow).decode())) self.assertEqual(result["messages"], []) - narrow = [dict(operator="dm", operand=non_existant_huddle, negated=True)] + narrow = [dict(operator="dm", operand=non_existent_huddle, negated=True)] result = self.get_and_check_messages(dict(narrow=orjson.dumps(narrow).decode())) self.assertEqual([m["id"] for m in result["messages"]], [1, 3])