zulip/tools
Alex Vandiver c13e3dee24 katex: Replace subprocess call with minimal external service.
Replace a separate call to subprocess, starting `node` from scratch,
with an optional standalone node Express service which performs the
rendering.  In benchmarking, this reduces the overhead of a KaTeX call
from 120ms to 2.8ms.  This is notable because enough calls to KaTeX in
a single message would previously time out the whole message
rendering.

The service is optional because he majority of deployments do not use
enough LaTeX to merit the additional memory usage (60Mb).

Fixes: #17425.
2024-03-15 15:34:12 -07:00
..
ci katex: Replace subprocess call with minimal external service. 2024-03-15 15:34:12 -07:00
documentation_crawler check_help_documentation: Exclude temporarily unavailable endpoint. 2023-12-18 15:44:00 -08:00
droplets ruff: Fix RUF027 Possible f-string without an f prefix. 2024-03-01 09:30:04 -08:00
i18n sync-translations: Normalize translations to NFC. 2023-09-08 17:51:47 -07:00
lib install: Support Ubuntu 24.04. 2024-03-01 17:38:08 -08:00
linter_lib linter: Add _html as a variable name for safe html. 2024-03-11 09:56:18 -07:00
node_lib node_tests: Move to web/tests. 2023-02-23 16:04:17 -08:00
oneclickapps docs: Add missing spaces around code spans. 2023-12-14 00:05:44 -08:00
setup dev-vagrant-docker: Upgrade docker-systemctl-replacement to 1.5.8066. 2024-03-04 15:34:10 -05:00
test-install install: Support Ubuntu 22.04. 2022-02-25 14:49:07 -08:00
tests mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
zulip-export python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
__init__.py
backport-pull-request tools: Add a tool for backporting PRs. 2024-01-15 17:27:37 -08:00
build-docs tools: Use root-based absolute import for tools.lib, etc. 2021-07-05 12:21:52 -07:00
build-release-tarball emails: Inline CSS in emails in build_email. 2023-04-05 12:22:29 -07:00
cache-zulip-git-version build-release-tarball: Override merge-base for full official releases. 2022-11-15 12:50:41 -08:00
check-capitalization tools: Use subprocess.check_call where appropriate. 2023-08-17 17:05:34 -07:00
check-frontend-i18n tools: Use subprocess.check_call where appropriate. 2023-08-17 17:05:34 -07:00
check-issue-labels ruff: Fix PERF401 Use a list comprehension to create a transformed list. 2023-08-07 17:23:55 -07:00
check-openapi dependencies: Upgrade JavaScript dependencies. 2023-12-07 14:29:32 -08:00
check-provision tools: Rename force argument to skip-provision-check 2021-03-03 09:17:49 -08:00
check-schemas openapi: Add missing user property to deprecated user settings events. 2023-10-23 09:07:07 -07:00
check-templates check-templates: Check Django/Handlebars templates differently. 2023-10-11 17:53:07 -07:00
check-thirdparty check-thirdparty: License under GPLv2+. 2022-06-26 17:33:11 -07:00
clean-branches Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
commit-message-lint commit-message-lint: Take release branches into account. 2022-07-22 10:39:05 -07:00
commit-msg commit-msg: Don’t change the current directory for non-Vagrant. 2023-05-23 12:24:44 -07:00
conf.ini-template
coveragerc coverage: Clean up coverage configuration. 2023-05-31 13:53:04 -07:00
deploy-branch Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
diagnose provision: Avoid distutils; keep PROVISION_VERSION as a tuple. 2022-07-20 22:03:30 -07:00
documentation.vnufilter dependencies: Upgrade JavaScript dependencies. 2023-04-25 22:18:48 -07:00
duplicate_commits.json
fetch-contributor-data team: Add more repositories and rename tabs. 2024-03-01 14:57:46 -08:00
fetch-pull-request tools: Avoid readlink -f in *-pull-request scripts. 2021-04-30 14:57:13 -07:00
fetch-rebase-pull-request Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
find-unused-css web: Move web app to ‘web’ directory. 2023-02-23 16:04:17 -08:00
generate-integration-docs-screenshot models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
lint python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
message-screenshot.js narrow: Use message list id to track message lists in DOM. 2024-01-18 08:31:48 -08:00
pre-commit tools: Rename force argument to skip-provision-check 2021-03-03 09:17:49 -08:00
provision docs: Rename setup-vagrant.md -> setup-recommended.md. 2022-09-15 15:54:14 -07:00
push-to-pull-request push-to-pull-request: Accept intermixed options and arguments again. 2024-02-01 17:08:44 -08:00
README.md
rebuild-dev-database
rebuild-test-database
release release: Release 8.0-prereleases from main. 2023-07-06 16:16:11 -07:00
release-tarball-exclude.txt puppet: Rename puppet/zulip_ops to puppet/kandra. 2024-02-06 17:56:27 -08:00
renumber-migrations ruff: Fix PIE808 Unnecessary start argument in range. 2023-09-01 14:57:01 -07:00
reset-to-pull-request tools: Avoid readlink -f in *-pull-request scripts. 2021-04-30 14:57:13 -07:00
review python: Use Python 3.8 shlex.join function. 2022-04-27 12:57:49 -07:00
run-codespell dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
run-dev runtornado: Swap deferred reload events to the default. 2024-02-26 22:29:19 -08:00
run-mypy tools: Support running mypy daemon for better performance. 2022-07-06 17:33:13 -07:00
run-tsc
semgrep-py.yml models: Extract zerver.models.streams. 2023-12-16 22:08:44 -08:00
setup-git-repo
show-profile-results python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
stop-run-dev python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
tail-ses ruff: Fix RSE102 Unnecessary parentheses on raised exception. 2023-02-04 16:34:55 -08:00
test-all install-shellcheck: Upgrade ShellCheck to 0.9.0. 2023-01-04 14:01:34 -08:00
test-api models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test-backend ruff: Fix PLW0108 Lambda may be unnecessary. 2024-03-01 09:30:04 -08:00
test-documentation
test-help-documentation tools: Use root-based absolute import for tools.lib, etc. 2021-07-05 12:21:52 -07:00
test-js-with-node types: Migrated add_stream_options_popover to TypeScript. 2024-03-15 13:02:20 -07:00
test-js-with-puppeteer puppeteer: Allow reruns in interactive mode when tests succeed. 2023-09-13 12:46:22 -07:00
test-locked-requirements test-locked-requirements: Rename may_be_setup_cache to maybe_set_up_cache. 2022-01-12 13:21:35 -08:00
test-migrations requirements: Upgrade Python requirements. 2021-04-15 21:47:33 -07:00
test-queue-worker-reload models: Rename zerver/models.py to zerver/models/__init__.py. 2023-12-16 22:08:44 -08:00
test-run-dev run-dev: Drop .py from script name. 2023-03-03 18:02:37 -08:00
test-tools tools: Use root-based absolute import for tools.lib, etc. 2021-07-05 12:21:52 -07:00
total-contributions docs: Fix grammar errors found by mwic. 2023-10-09 13:24:09 -07:00
update-locked-requirements requirements: Remove unused mypy.txt lock file. 2022-09-08 11:08:06 -07:00
update-prod-static update-prod-static: Only run generate_landing_page_images if necessary. 2023-10-05 09:04:33 -07:00
update-zuliprc-api-field python: Replace universal_newlines with text. 2022-01-23 22:16:01 -08:00
upload-release upload-release: Update SHA256SUM for existing files if changed. 2023-01-23 17:41:29 -08:00
webpack katex: Replace subprocess call with minimal external service. 2024-03-15 15:34:12 -07:00
zanitizer zanitizer: Reformat with perltidy. 2021-03-24 12:12:04 -07:00
zanitizer_config.pm.sample zanitizer: Reformat with perltidy. 2021-03-24 12:12:04 -07:00

This directory contains scripts that are used in building, managing, testing, and other forms of work in a Zulip development environment. Note that tools that are also useful in production belong in scripts/ or should be Django management commands.

For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.