zulip/tools
Alex Vandiver 8f8a9f6f04 sentry: Add frontend event monitoring.
Zulip already has integrations for server-side Sentry integration;
however, it has historically used the Zulip-specific `blueslip`
library for monitoring browser-side errors.  However, the latter sends
errors to email, as well optionally to an internal `#errors` stream.
While this is sufficient for low volumes of users, and useful in that
it does not rely on outside services, at higher volumes it is very
difficult to do any analysis or filtering of the errors.  Client-side
errors are exceptionally noisy, with many false positives due to
browser extensions or similar, so determining real real errors from a
stream of un-grouped emails or messages in a stream is quite
difficult.

Add a client-side Javascript sentry integration.  To provide useful
backtraces, this requires extending the pre-deploy hooks to upload the
source-maps to Sentry.  Additional keys are added to the non-public
API of `page_params` to control the DSN, realm identifier, and sample
rates.
2023-03-07 10:51:45 -08:00
..
ci install-node: Upgrade Node.js to 18.14.0; manage Yarn with Corepack. 2023-02-09 15:50:47 -08:00
documentation_crawler ruff: Fix PIE810 Call `startswith` once with a `tuple`. 2023-02-08 16:40:35 -08:00
droplets run-dev: Drop .py from script name. 2023-03-03 18:02:37 -08:00
i18n i18n: Unescape Unicode sequences in JSON. 2023-01-17 13:19:45 -08:00
lib i18n: Add new markup for lazy translation of giphy ratings. 2023-03-06 10:52:52 -08:00
linter_lib node_tests: Move to web/tests. 2023-02-23 16:04:17 -08:00
node_lib node_tests: Move to web/tests. 2023-02-23 16:04:17 -08:00
oneclickapps oneclick: Wait in a loop until the image build droplet gets an IP. 2022-11-18 12:45:08 -08:00
setup run-dev: Drop .py from script name. 2023-03-03 18:02:37 -08:00
test-install install: Support Ubuntu 22.04. 2022-02-25 14:49:07 -08:00
tests black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
wsl
zulip-export
README.md
__init__.py
build-docs tools: Use root-based absolute import for tools.lib, etc. 2021-07-05 12:21:52 -07:00
build-release-tarball release: Support -rc1 style suffixes for releases. 2022-11-15 12:50:41 -08: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 root-based absolute import for tools.lib, etc. 2021-07-05 12:21:52 -07:00
check-frontend-i18n docs: Capitalize Handlebars consistently. 2022-06-27 13:35:10 -07:00
check-issue-labels docs: Fix many spelling mistakes. 2022-02-07 18:51:06 -08:00
check-openapi dependencies: Upgrade Prettier to 3.0.0-alpha.4. 2022-11-02 16:50:37 -07:00
check-provision
check-schemas node_tests: Move to web/tests. 2023-02-23 16:04:17 -08:00
check-templates docs: Move homepage link to TOC tree. 2023-03-03 23:06:17 -08: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 requirements: Install gitlint from its Debian package. 2021-09-17 17:05:18 -07:00
conf.ini-template
coveragerc ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
create-test-api-docs ruff: Fix SIM105 Use `contextlib.suppress` instead of try-except-pass. 2023-01-23 11:18:36 -08: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. 2022-10-11 10:50:57 -07:00
duplicate_commits.json
fetch-contributor-data ruff: Fix DTZ011 `datetime.date.today()`. 2023-01-04 16:25:07 -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 run-dev: Drop .py from script name. 2023-03-03 18:02:37 -08:00
lint ruff: Enable import sorting, replacing isort. 2022-11-16 09:29:11 -08:00
message-screenshot.js puppeteer_tests: Move to web/e2e-tests. 2023-02-23 16:04:17 -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 scripts: Pass --retry 3 to curl. 2022-11-08 08:07:36 -08:00
rebuild-dev-database
rebuild-test-database
release api-docs: Move markdown files to top level directory. 2023-02-02 17:25:40 -08:00
release-tarball-exclude.txt puppeteer_tests: Move to web/e2e-tests. 2023-02-23 16:04:17 -08:00
renumber-migrations black: Reformat with Black 23. 2023-02-02 10:40:13 -08: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 run-codespell: Update codespell exclude list. 2022-08-30 17:36:21 -07:00
run-dev run-dev: Drop .py from script name. 2023-03-03 18:02:37 -08:00
run-mypy tools: Support running mypy daemon for better performance. 2022-07-06 17:33:13 -07:00
run-tsc
run-yarn-deduplicate
semgrep.yml ruff: Enable logging format rules. 2023-02-04 16:36:20 -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 test_helpers: Rename reset_emails_in_zulip_realm. 2023-03-01 12:17:11 -08:00
test-backend ruff: Fix SIM115 Use context handler for opening files. 2023-01-23 11:18:36 -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 sentry: Add frontend event monitoring. 2023-03-07 10:51:45 -08:00
test-js-with-puppeteer puppeteer_tests: Move to web/e2e-tests. 2023-02-23 16:04:17 -08: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 run-dev: Drop .py from script name. 2023-03-03 18:02:37 -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 black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
update-locked-requirements requirements: Remove unused mypy.txt lock file. 2022-09-08 11:08:06 -07:00
update-prod-static web: Move web app to ‘web’ directory. 2023-02-23 16:04:17 -08: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 webpack: Build a ZULIP_VERSION global constant into the built product. 2023-03-07 10:51:45 -08: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

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.