zulip/tools
Anders Kaseorg e96ede0ef6 page_params: Split out state data for current user.
For spectators, the chunk of page_params that originates from
do_events_register isn’t assigned until ui_init.js.  That means the
TypeScript type of page_params is mostly a lie during module load
time: reading a parameter too early silently results in undefined
rather than the declared type, with unpredictable results later on.

We want to make such an early read into an immediate runtime error,
for both users and spectators consistently, and pave the way for
runtime validation of the page_params type.  As a first step, split
out the subset of fields that pertain to the current user.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-02-15 10:22:52 -08:00
..
ci dependencies: Upgrade JavaScript dependencies. 2024-01-29 16:14:26 -08:00
documentation_crawler check_help_documentation: Exclude temporarily unavailable endpoint. 2023-12-18 15:44:00 -08:00
droplets python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
i18n sync-translations: Normalize translations to NFC. 2023-09-08 17:51:47 -07:00
lib register_remote_server: Add more validation of contact_email. 2024-01-26 09:09:31 -08:00
linter_lib puppet: Rename puppet/zulip_ops to puppet/kandra. 2024-02-06 17:56:27 -08: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 kandra: Puppet github.com keys to both root and zulip users. 2024-02-07 10:42:12 -08:00
test-install
tests mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
zulip-export
README.md
__init__.py
backport-pull-request tools: Add a tool for backporting PRs. 2024-01-15 17:27:37 -08:00
build-docs
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
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
clean-branches
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
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 fetch-contributor-data: Add zulip-flutter repo. 2024-01-05 12:15:39 -08:00
fetch-pull-request
fetch-rebase-pull-request
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 requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -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
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
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
review
run-codespell dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
run-dev run-dev: Rewrite development proxy with aiohttp. 2023-12-12 08:07:41 -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
stop-run-dev
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 corporate: Move support and activity views to /corporate. 2024-01-30 10:06:48 -08:00
test-documentation
test-help-documentation
test-js-with-node page_params: Split out state data for current user. 2024-02-15 10:22:52 -08: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-migrations
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
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
upload-release upload-release: Update SHA256SUM for existing files if changed. 2023-01-23 17:41:29 -08:00
webpack ruff: Fix FLY002 Consider f"…" instead of string join. 2023-08-07 17:12:41 -07:00
zanitizer
zanitizer_config.pm.sample

README.md

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.